Thursday, 21 May 2015

asterisk and the RTP timeout

This was an interesting one after a new install of Asterisk (using freepbx) and one I wanted to document and log for future.
We had users on a new phonesystem (Part of an existing one, but using a new call server, running latest Freepbx 6.12.65-26 and asterisk 11.16.0) and finding that putting people on hold, the calls would get cutoff at times.

Doing some investigations, I could see:
[2015-05-21 10:18:44] NOTICE[3336] chan_sip.c: Disconnecting call 'SIP/5011-00000e0e' for lack of RTP activity in 301 seconds
[2015-05-21 10:57:34] NOTICE[3336] chan_sip.c: Disconnecting call 'SIP/5049-00000e33' for lack of RTP activity in 301 seconds
Appearing in the logs. Doing some reading, what was happening was the user placed a call on hold and dealt with the issue, during this time no rtp data passed to the handset (the onhold was passed back to the voip server to play nice music to caller), and after a while asterisk thought the phone handset had given up (i.e. rtp stream timeout) and so disconnected the call.

The apparent fix here is to  add in an RTP keep alive, which is in "Settings > Asterisk SIP settings > Chan SIP" and in the "rtpkeepalive" value I've added in 10 initially to test.
This bit of gui-ification adds in:
rtptimeout=190
rtpholdtimeout=600
rtpkeepalive=10
To the sip_general_additional.conf file (and so forms part of the global [sip] configuration for asterisk)

Will keep monitoring this, but suspect this was the issue.

No comments:

Post a Comment