Sip call drop after 30seconds [closed] - sip

Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 8 years ago.
Improve this question
The Sip call drops after 30 seconds, but it doesn't always happen. I think it's because of NAT timeout. Am I correct? Or is it something else?

It's because 30 seconds is the timeout value for SIP transactions and it's probable that the ACK request, which completes a call INVITE transaction, is not getting through.
As to why the ACK request is not getting through there are a number of possibilities but it's unlikely to be NAT. If it was a NAT issue then the initial INVITE request is unlikely to have reached the callee SIP device.
A common issue can be SIP Application Layer Gateways (ALG) built into home routers. They will often apply very crude text replacements on private IP addresses in SIP packets and this can be enough to break SIP transaction matching logic. Check the specifications on your router model and if it has a SIP ALG turn it off.

Related

why email uses different protocols? [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 7 years ago.
Improve this question
Why can not we send an email using HTTP protocols? An email contains text, so why cant it be send using HTTP?. I searched in every where. But can not understand those documents.So please help me to understand this
The protocols to transfer mails (SMTP, POP, IMAP) are all built on top of TCP and HTTP it built on top of TCP too. At least SMTP and POP are older protocols than HTTP.
Of course you could in theory built some mail transfer protocol on top of HTTP. But this effectively means to rebuilt the functionality we already have on top of TCP so that it now is built on top of HTTP which is on top of TCP again. So this is mostly another layer of complexity without actually gaining a lot.
But I'm pretty sure that they were already several attempts to built SOAP, REST,... API's which care about mail transport. But probably none of this showed to be significantly better than the old protocols we already have, which means that we don't switch the existing infrastructure we have to a new protocol in the foreseeable future. It's not that the existing protocols are that good but to take the effort to replace all of this a new protocol must be significantly better.

Transmission time of a TCP socket [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question appears to be off-topic because it lacks sufficient information to diagnose the problem. Describe your problem in more detail or include a minimal example in the question itself.
Closed 8 years ago.
Improve this question
I am wondering whether the transmission time of a TCP socket configurable. I am sending a TCP packet with payload of size 19 bytes and the transmission time seems to be 1 sec approx. Can this be brought down or does one have to just accept whatever it is?
How exactly do you calculate this time? I hope you're not comparing the time of two different computers, since their clocks are probably not identical.
However, having said this, you're probably suffering from the Nagle algorithm where the connection waits to transmit data to see if there's more to batch together. You can turn this off by setting the Tcp options.
http://msdn.microsoft.com/en-us/library/system.net.sockets.socket.nodelay.aspx

Automated handling of Un-Deliverable email [closed]

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 10 years ago.
Improve this question
We are using a 3rd party email relay service to send mass emails to our client's subscribers. Problem is that when there is a "soft bounce" i.e domain accepts email and then subsequently bounces for whatever reason (as opposed to a hard bounce), the client's replyto/from email address is the one the undeliveable message goes to.
Atleast with one client, we have the ability to host their email. So for example, support#thisclientofours.net is hosted by us and we can query the IMAP server to see the return codes.
Questions:
Is there a way for us have the Non-Delivery Report/Receipt (NDR) be
sent to a different email (one that we own) vs a genuine reply from
the subscriber to the client ? Does the answer reside in the
"Return-Path" header ?
If 1) is not possible, then whats the most efficient way of
gathering the NDR status flags and then forwarding non NDR (replys) to
the client ?
You can set the 'Return-Path' header and 'Reply-To' header to be different. All bounces are to be sent to the 'Return-Path' address, not the 'Reply-To' address.

Preventing Email Spam? [closed]

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 10 years ago.
Improve this question
I am working on an email program and I want to add a basic way to detect spam based on the domain/sender of the mail. One service that I was looking at was gossip (http://gossip-project.sourceforge.net/) but I don't want to go to the hassle of setting up a dedicated Gossip server. I know that there are a lot of email blacklists (DNSBL's) and stuff out there that can give you an estimate of whether or not an email is spam based on the domain it was sent from. I'm wondering if anyone knows of one that I can just query from within a program by passing it the sender's domain and having it return the likelihood that the email is spam. I don't want a service that requires me to set up a server for it.
Anti-Spam Blacklists do list only IPs not domains. They can't list domains (of the sender) as the sender address can be (and usually is) forged.
So you can either lookup an IP in a DNSBL from where the mail was originating. Or you have to determine the probability of spam by analyzing the mail content. The latter is "expensive" in CPU cycles and other resources. In both cases you do not need a special server for that.
The better solution to prevent spam is at the server level. Block the mail before it enters your mail system. Then you don't have to mess with mail filters.

What are the options for network programming in Go? [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 5 years ago.
Improve this question
I am looking to write a simple client/server utilizing TCP sockets. Any ideas how to do network programming in Go?
Go has fine support for networking.
For a server, the easiest thing to do is have your main() start a tcp accept loop and spawn a goroutine to handle each request.
The first go software I wrote was a memcached server. You may want to check out gomemcached for an idea of how to get started on servers.
Clients shouldn't be particularly harder. In many cases, it may make the most sense to have a shared client with goroutines for inbound communication much like I use in gomemcached for communicating with the actual storage layer.
Of course, this isn't the only way. Perhaps you'll find something better as you experiment.