Whenever I put anyone on hold I get the above error logged on the console and the log file. Everything seems to be working, but I would like to know what it means and what is causing it?
I’ve attached a verbose console log below, if that helps anybody help me…
-- Executing [023023023023@incoming_calls:1] Verbose("SIP/123.456.123.456-b7244b50", "!! Incoming call from 079197919797 calling on Gradwell SIP trunk") in new stack
!! Incoming call from 079197919797 calling on Gradwell SIP trunk
-- Executing [023023023023@incoming_calls:2] Set("SIP/123.456.123.456-b7244b50", "CALLERID(num)=9079197919797") in new stack
-- Executing [023023023023@incoming_calls:3] Goto("SIP/123.456.123.456-b7244b50", "incoming,1") in new stack
-- Goto (incoming_calls,incoming,1)
-- Executing [incoming@incoming_calls:1] NoOp("SIP/123.456.123.456-b7244b50", "") in new stack
-- Executing [incoming@incoming_calls:2] GotoIf("SIP/123.456.123.456-b7244b50", "0?receptionbusy") in new stack
-- Executing [incoming@incoming_calls:3] Set("SIP/123.456.123.456-b7244b50", "__PICKUPMARK=1002") in new stack
-- Executing [incoming@incoming_calls:4] Dial("SIP/123.456.123.456-b7244b50", "SIP/1002,10") in new stack
== Using SIP RTP CoS mark 5
-- Called 1002
-- SIP/1002-b7250530 is ringing
-- SIP/1002-b7250530 is ringing
-- SIP/1002-b7250530 is ringing
-- SIP/1002-b7250530 is ringing
-- SIP/1002-b7250530 is ringing
-- Nobody picked up in 10000 ms
-- Executing [incoming@incoming_calls:5] Dial("SIP/123.456.123.456-b7244b50", "SIP/1000&SIP/1001&SIP/1002&SIP/1003") in new stack
== Using SIP RTP CoS mark 5
-- Called 1000
== Using SIP RTP CoS mark 5
-- Called 1001
== Using SIP RTP CoS mark 5
-- Called 1002
== Using SIP RTP CoS mark 5
-- Called 1003
-- Got SIP response 480 "Do Not Disturb" back from 172.25.0.199
-- SIP/1003-b7262720 is circuit-busy
-- SIP/1000-b72561c8 is ringing
-- SIP/1001-b725acd0 is ringing
-- SIP/1002-b72464e8 is ringing
-- SIP/1002-b72464e8 is ringing
-- SIP/1000-b72561c8 is ringing
-- SIP/1001-b725acd0 is ringing
-- SIP/1002-b72464e8 is ringing
-- SIP/1000-b72561c8 is ringing
-- SIP/1001-b725acd0 is ringing
-- SIP/1002-b72464e8 is ringing
-- SIP/1001-b725acd0 answered SIP/123.456.123.456-b7244b50
-- Packet2Packet bridging SIP/123.456.123.456-b7244b50 and SIP/1001-b725acd0
-- Started music on hold, class 'default', on SIP/123.456.123.456-b7244b50
RTCP SR transmission error, rtcp halted
RTCP SR transmission error, rtcp halted
RTCP SR transmission error, rtcp halted
RTCP SR transmission error, rtcp halted
-- Stopped music on hold on SIP/123.456.123.456-b7244b50
== Spawn extension (incoming_calls, incoming, 5) exited non-zero on 'SIP/123.456.123.456-b7244b50'
The error is logged 5 seconds after I put the call on hold, then it is logged again every ~5 seconds until I retrieve the call.
RTCP is the protocol used to transmit quality of service statistics about the speech path.
The message, which is actually a verbose, not an error, message, in spite of the text, is generated when Asterisk is about to send RTCP for the connection but finds that there is no speech path address information.
SIP HOLD typically works by telling the other end to connect the speech path to a null address.
The code for 1.6.0 appears to try to turn off RTCP when this happens, so either you are using an older version that doesn’t do this, or there is a bug in the turning off of the RTCP.
if (!rtp->rtcp->them.sin_addr.s_addr) { /* This'll stop rtcp for this rtp session */
ast_verbose("RTCP SR transmission error, rtcp halted\n");
AST_SCHED_DEL(rtp->sched, rtp->rtcp->schedid);
return 0;
}