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:
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.[2015-05-21 10:18:44] NOTICE chan_sip.c: Disconnecting call 'SIP/5011-00000e0e' for lack of RTP activity in 301 seconds[2015-05-21 10:57:34] NOTICE chan_sip.c: Disconnecting call 'SIP/5049-00000e33' for lack of RTP activity in 301 seconds
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:
To the sip_general_additional.conf file (and so forms part of the global [sip] configuration for asterisk)rtptimeout=190rtpholdtimeout=600rtpkeepalive=10
Will keep monitoring this, but suspect this was the issue.