|Summary:||ASTERISK-07913: rtpholdtimeout and rtcp packets|
|Reporter:||Pavel Siderov (psiderov)||Labels:|
|Date Opened:||2006-10-11 09:15:29||Date Closed:||2006-11-30 00:33:28.000-0600|
|Description:||rtpholdtimeout setting in sip.conf should hang the call after defined time if it's onhold, but if * get an rtcp packet in that interval it doesn't hang the call. It's not related to Asterisk 1.4.x only but to 1.2.x too. Haven't tested it on other versions.|
|Comments:||By: Olle Johansson (oej) 2006-10-29 03:03:53.000-0600|
If we get an rtcp packet - then the other end is still alive, isn't it. We should not hangup then - only if we get no RTP *or* RTCP, which indicates that the device on the other side has gone off line.
By: Olle Johansson (oej) 2006-11-07 11:34:05.000-0600
No answer from reporter.
By: Olle Johansson (oej) 2006-11-07 11:34:06.000-0600
No answer from reporter.
By: Pavel Siderov (psiderov) 2006-11-07 18:43:04.000-0600
Ok, then maybe the variable in the sip.conf should not be called rtpholdtimeout or there should be two variables - rtpholdtimeout and rtcpholdtimeout. I thought that rtpholdtimeout is used to hangup call that has been "forgotten" but in this scenario we never close it due to the reason there are rtcp packets.
By: Olle Johansson (oej) 2006-11-08 03:38:55.000-0600
rtcp is really part of rtp. There must be a configuration issue here if your device stops sending rtp and keeps sending rtcp. Do you have VAD or silence suppression on in the device?
By: Olle Johansson (oej) 2006-11-12 15:07:50.000-0600
No answer from reporter. Case closed.
By: Pavel Siderov (psiderov) 2006-11-28 02:56:18.000-0600
Sorry for the late answer.
I don't think that there is a configuration issue. We use Linksys SPA devices (SPA1001,SPA2002,SPA2102,SPA3000...) and when the call is put on hold devices keep transmitting rtcp packets. I think it's normal. VAD and silence suppression are switched off.
P.S. Thanks for the great lecture on the VON Europe Conference :).
By: Pavel Siderov (psiderov) 2006-11-28 10:04:59.000-0600
In cisco IOS there is a setting / command "timer receive-rtcp" ( http://www.cisco.com/en/US/products/sw/iosswrel/ps1839/products_feature_guide09186a0080087ea6.html#1024166 ) which disconnects the call if there is no rtcp for a defined period.
By: Olle Johansson (oej) 2006-11-29 01:23:28.000-0600
Absolutely and that's correct behaviour. If we get no RTP *and* no RTCP we should disconnect. The issue here is that we do not disconnect if we're getting RTCP, which I think is correct behaviour. If RTCP dies, we should kill. I think we should change documentation so people understand this.
By: Pavel Siderov (psiderov) 2006-11-29 02:37:08.000-0600
Ok, we have set rtpholdtimeout=120. A call is put on hold and we want to disconnect it after 2 minutes of rtp inactivity and in the same time if the device loose connectivity after 30 secs (after the call is put on hold) it will stop transmitting rtcp packets so we need to wait this 2 minutes to expire and than hang the call? Wouldn't it be better if we have a rtcp timer that is set for example at 30 seconds and disconnect the call in that time? I think this is more accurate and Cisco has this option for fine tunning too.
By: Olle Johansson (oej) 2006-11-30 00:32:12.000-0600
Well, that may be something for the future. This is no longer a bug report, more of a feature request.
We always welcome patches for svn trunk!
By: Olle Johansson (oej) 2006-11-30 00:33:11.000-0600
We can re-open this issue when we do have a patch or another solution.