Asterisk over Satellite Connection with High latency

Hi,

We have requirements to support some of our customers who are currently connected over VSAT based connections. The latency is really high (and nothing can be done to change that at the moment) ideally the requirements is to support latencies up to 2000ms. We are currently testing at the moment and we are running Asterisk 1.4.22.1 on the test server. The calls however get dropped by Asterisk with the error message
missing no reply to our critical packet
I have read the documentation
voip-info.org/wiki/view/Aste … ansmit.txt
and i definitely know its not NAT Issues etc (nat=yes is set for the clients). However I know there are some packet losses but still the satellite customers at the moment can connect over our current old voip platforms (we are currently using Sysmaster) and it works without dropping the calls. We are looking to replace this with an Asterisk based solution for our satellite customers but cannot do this until we can reliably connect them without calls dropping.
At the moment it seems the whole 3way handshake that is being done by Asterisk in the sip channels causes the calls to drop.
I would like a recommendation from Asterisk people (or this gracious forum members) to the best way to get the current versions of Asterisk working over such high latencies.
Also I have read the forums and I notice someone mentioning something about older versions of Asterisk working over satellite connections (Asterisk 1.0) and the newer 1.4 not working well.
Would appreciate any feedback as soon as possible really

Cheers,
Kayode

Hi,

I would also be interested on how you go with this.

What is your jitter like? I am running VOIP back to our Brisbane office with latency around 140-270ms (I know it’s not as bad as sat.) over a wireless link back through a Telco private VPN (Telsta NextG and ConnectIP) and a Cisco 7940 handsets.

I find the biggest problem is jitter especially when it’s changes quickly (doesn’t happen too often).

I have looked at; MTU size, packet size, jitter buffer and codec.

I guess I would be asking the provider about network performance like;

  1. Jitter
  2. QOS
  3. Latency
  4. Allocated bandwidth

What are you getting now with you current setup and what is the new provider offierng?

Here a couple of links you may find interesting.

searchvoip.techtarget.com.au/art … s-Asterisk

Understanding Jitter in Packet Voice Networks
cisco.com/en/US/tech/tk652/t … 45df.shtml

Quality of Service for Voice over IP
cisco.com/en/US/docs/ios/sol … SVoIP.html

Understanding Delay in Packet Voice Networks
cisco.com/en/US/tech/tk652/t … 8993.shtml

Voice Over IP - Per Call Bandwidth Consumption
cisco.com/en/US/tech/tk652/t … 4ae2.shtml

Brett

Hi, Thanks for your reply, My issue right from start has been latency. As we both know, latency on satellite networks is really high (esp. when the uplink is not much…say bout 64kbps or 128kbps). One thing i have found for certain is that Asterisk 1.4 definitely drops the calls if it doesnt get an ACK back after a certain while. I have found that though with IAX, there is a parameter called autokill which you can set to no…(thereby not making Asterisk drop calls if it doesnt receive an ACK due to high latency…) I searched and tried to find something like this in SIP…but i don’t think its possible. At the moment, I am testing with Asterisk 1.2.7 and i can seem to get calls going on (very bad audio quality with gsm codec still) but at least i am not getting calls dropped. Still doing more tests with some of our satellite customers…(hope to try with other codecs like g729 etc).
If you have more info in regards setups like this or setups with really low latency…please let me know.

cheers

Hi,

I have been thinking about your problem.

I was having a look through chan_sip.c you could change the source code
to increase the timeout. Some of these may be helpful?

#define DEFAULT_MAXMS 2000 /*!< Qualification: Must be faster than 2 seconds by default /
#define DEFAULT_FREQ_OK 60 * 1000 /
!< Qualification: How often to check for the host to be up /
#define DEFAULT_FREQ_NOTOK 10 * 1000 /
!< Qualification: How often to check, if the host is down… */

#define DEFAULT_RETRANS 1000 /!< How frequently to retransmit Default: 2 * 500 ms in RFC 3261 /
#define MAX_RETRANS 6 /
!< Try only 6 times for retransmissions, a total of 7 transmissions /
#define SIP_TRANS_TIMEOUT 32000 /
!< SIP request timeout (rfc 3261) 64
T1
\todo Use known T1 for timeout (peerpoke)
/
#define DEFAULT_TRANS_TIMEOUT -1 /
Use default SIP transaction timeout /
#define MAX_AUTHTRIES 3 /
!< Try authentication three times, then fail */

Brett

We currently run Asterisk over our VSAT networks largely without a problem but when we use our service over someone Else’s network we tend to have the same problems that you are having. My first suggestion would be to use a low bandwidth codec. Depending on the type of service we prefer g729. On high contention networks we will drop to g723 with the expectation that the calls will not sound great - or even good.

The biggest issue that we have is CIR because of the shared bandwidth.

The other issue that you may face if this isn’t your network is probably behind a nat router, so to have it work consistently you should have your customer’s request static IPs.