Summary:ASTERISK-12788: WaitForSilence() sometimes doesn't always wait when using SIP and a callfile
Reporter:Dennis DeDonatis (dennisd)Labels:
Date Opened:2008-09-27 15:38:11Date Closed:2008-12-10 09:52:57.000-0600
Versions:Frequency of
Description:WaitForSilence() seems to always work when using a provider over IAX2 and a call file, but doesn't always work with SIP providers.

For some reason, if I use Future-Nine to send the call out over SIP, it works, but it fails to wait if I send the call over Callcentric (SIP) or voip.ms (SIP).

If I send it over rapidvox (IAX2) or voip.ms (IAX2), WaitForSilence() waits.

If I call the extension directly from a SIP phone (not using a call file), it waits.

I've gone through my sip.conf many times, trying to see what the differences could be, but I can't find anything that could cause this.

****** STEPS TO REPRODUCE ******

Send the call(s) out using SIP over Callcentric or voip.ms.


[2008-09-27 16:03:06.859] VERBOSE[11357] logger.c:     -- Executing [s@outboundmsg:5] WaitForSilence("Local/xxx@outboundmsg-dialout-7188;1", "1000,2,1
0") in new stack
[2008-09-27 16:03:06.859] VERBOSE[11357] logger.c:     -- Waiting 2 time(s) for 1000 ms silence with 10 timeout
[2008-09-27 16:03:07.360] VERBOSE[11357] logger.c:     -- Got 0ms silence< 1000ms required
[2008-09-27 16:03:07.360] VERBOSE[11357] logger.c:     -- Got 0ms silence< 1000ms required
[2008-09-27 16:03:08.361] VERBOSE[11357] logger.c:     -- Executing [s@outboundmsg:6] Playback("Local/xxx@outboundmsg-dialout-7188;1", "outgoingmsgs/msg1") in new stack
Comments:By: Leif Madsen (lmadsen) 2008-10-01 11:12:03

Can you provide us some additional debugging information?

Since the issues seem to always be with SIP, can you provide a SIP trace and the SIP history of the call?

In addition, it might be useful to have a wireshark trace with the RTP audio as well in order to determine if it has something to do with the audio those providers are sending.

Can you provide traces for calls that work, and calls that do not work in order to allow us to compare?


By: Dennis DeDonatis (dennisd) 2008-10-04 12:28:45

The fail.debug is the asterisk debugging output with sip set debug peer set and the fail.cap is the wireshark capture of the traffic and the WaitForSilence() not waiting going to voip.ms.

The works.debug/cap files are a set from when it works with future-nine.

Please let me know if I can supply anything else.

By: Joshua C. Colp (jcolp) 2008-12-10 09:40:49.000-0600

This issue has already been fixed in later versions. It was creeping up because app_waitforsilence waited for a small amount of time to receive audio and if it did not it treated it as a hangup. In your case audio was not coming in soon enough and this crept up. The code now requires an actual hangup to happen and treats no incoming audio as silence instead of hangup.

By: Dennis DeDonatis (dennisd) 2008-12-10 09:46:16.000-0600

What version is this fixed in?

By: Dennis DeDonatis (dennisd) 2008-12-10 09:48:22.000-0600

Also, please remove the attachments if they are no longer needed.

By: Joshua C. Colp (jcolp) 2008-12-10 09:52:56.000-0600

It was fixed on 2008-10-14 across 1.4, trunk, and 1.6.1 but was only recently merged into the 1.6.0 branch. You can either use the 1.6.0 branch from SVN or wait for the next release.