Summary:ASTERISK-15884: No progress playing a sound after hangup
Reporter:Matthias Urlichs (smurfix)Labels:
Date Opened:2010-03-28 10:14:33Date Closed:2011-07-26 15:22:37
Versions:Frequency of
Description:The setup:
* an IAX call gets connected to SIP
 (this does not happen when a SIP call arrives for the same extension)
* the called party hangs up
* the caller is supposed to hear two beeps and a goodbye message.
 extensions.ael says:
h => {
               if("${CNR}" = "*18") {

However, nothing happens after the first beep, until the caller hangs up.

I have verified that this only happens for incoming IAX2 calls. Incoming SIP or whatever (I did try a couple) channels are not affected.


[Mar 28 17:04:43] DEBUG[21088] chan_sip.c: **** Received BYE (8) - Command in SIP BYE
[Mar 28 17:04:43] DEBUG[21088] chan_sip.c: Setting SIP_ALREADYGONE on dialog 4a5c0864592ee414547363382cdb87f8@
[Mar 28 17:04:43] DEBUG[21088] chan_sip.c: Received bye, issuing owner hangup
[Mar 28 17:04:43] DEBUG[21088] chan_sip.c: Trying to put 'SIP/2.0 200' onto UDP socket destined for
[Mar 28 17:04:43] DEBUG[22494] channel.c: Didn't get a frame from channel: SIP/smurffon-b79d9be0
[Mar 28 17:04:43] DEBUG[22494] channel.c: Bridge stops bridging channels IAX2/netz-623 and SIP/smurffon-b79d9be0
[Mar 28 17:04:43] DEBUG[22494] pbx.c: Launching 'NoOp'
[Mar 28 17:04:43] VERBOSE[22494] pbx.c:     -- Executing [h@r_intern:1] NoOp("IAX2/netz-623", "*18") in new stack
[Mar 28 17:04:43] DEBUG[22494] pbx.c: Expression result is '1'
[Mar 28 17:04:43] DEBUG[22494] pbx.c: Launching 'GotoIf'
[Mar 28 17:04:43] VERBOSE[22494] pbx.c:     -- Executing [h@r_intern:2] GotoIf("IAX2/netz-623", "1?3:7") in new stack
[Mar 28 17:04:43] VERBOSE[22494] pbx.c:     -- Goto (r_intern,h,3)
[Mar 28 17:04:43] DEBUG[22494] pbx.c: Launching 'Playback'
[Mar 28 17:04:43] VERBOSE[22494] pbx.c:     -- Executing [h@r_intern:3] Playback("IAX2/netz-623", "beep") in new stack
[Mar 28 17:04:43] DEBUG[22494] channel.c: Scheduling timer at (50 requested / 50 actual) timer ticks per second
[Mar 28 17:04:43] VERBOSE[22494] file.c:     -- <IAX2/netz-623> Playing 'beep.gsm' (language 'de')
Comments:By: Matthias Urlichs (smurfix) 2010-03-28 10:44:44

Looking at the thread with gdb says that waitstream_core() does not return.

#.4  0xb77a99cb in waitstream_core (c=0xb7e84ff8, breakon=<value optimized out>, forward=0x0, reverse=0x0, skip_ms=0, audiofd=-1, cmdfd=-1, context=0x0)
   at file.c:1187
#.5  0xb77a9eed in ast_waitstream (c=0xb7e84ff8, breakon=0xb4f69bb8 "") at file.c:1297

By: Matthias Urlichs (smurfix) 2010-03-28 11:13:38

The problem goes away when NOT loading the res_timing_timerfd module, so I guess the importance of this bug can be reduced somewhat.

By: Leif Madsen (lmadsen) 2010-03-31 09:12:39

It seems strange to me that this works at all :)  You've hung up the call, so I'd not have expected the ability to play back sound files, but since it seems to work with everything but res_timing_timerfd, I'll acknowledge this issue until someone with better knowledge of this part of the system speaks up :)

By: Russell Bryant (russell) 2011-07-26 15:22:31.621-0500

Per the Asterisk maintenance timeline page at http://www.asterisk.org/asterisk-versions maintenance (bug) support for the 1.4 and 1.6.x branches has ended. For continued maintenance support please move to the 1.8 branch which is a long term support (LTS) branch. For more information about branch support, please see https://wiki.asterisk.org/wiki/display/AST/Asterisk+Versions

If this is still an issue, please open a new issue so it can be re-triaged appropriately. Thanks!