[Home]

Summary:ASTERISK-09931: Bridging channel hangs up during Bridge() application.
Reporter:Matt King, M.A. Oxon. (kebl0155)Labels:
Date Opened:2007-07-23 04:15:35Date Closed:2007-07-23 09:21:29
Priority:MinorRegression?No
Status:Closed/CompleteComponents:Resources/res_features
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:
Description:We have an intermittent fault with the channel calling the Bridge() application hanging up during the bridge.

This bug posted at author of Bridge()'s request.

****** ADDITIONAL INFORMATION ******

Here's some example output:

[Jul 19 10:17:32] VERBOSE[18560] logger.c:     -- Executing [9278@orderlyq:5] Bridge("Zap/81-1", "Zap/6-1") in new stack
[Jul 19 10:17:32] DEBUG[18560] chan_zap.c: New owner for channel 6 is Zap/6-1
[Jul 19 10:17:32] DEBUG[18560] chan_zap.c: Updated conferencing on 6, with 0 conference users
[Jul 19 10:17:32] DEBUG[18560] chan_zap.c: Updated conferencing on 6, with 0 conference users
[Jul 19 10:17:32] DEBUG[18528] res_agi.c: Bridge/Zap/6-1<ZOMBIE> hungup
[Jul 19 10:17:32] VERBOSE[18528] logger.c:   == Spawn extension (orderlyq, orderlyq-agi, 1) exited non-zero on 'Bridge/Zap/6-1<ZOMBIE>'
[Jul 19 10:17:32] DEBUG[18560] chan_zap.c: master: 81, slave: 6, nothingok: 0
[Jul 19 10:17:32] DEBUG[18560] chan_zap.c: Stopping tones on 81/0 talking to 6/0
[Jul 19 10:17:32] DEBUG[18560] chan_zap.c: Stopping tones on 6/0 talking to 81/0
[Jul 19 10:17:32] DEBUG[18560] chan_zap.c: Making 6 slave to master 81 at 0
[Jul 19 10:17:32] DEBUG[18560] chan_zap.c: Added 35 to conference 9/81
[Jul 19 10:17:32] DEBUG[18560] chan_zap.c: Added 107 to conference 9/6
[Jul 19 10:17:32] DEBUG[18560] chan_zap.c: Updated conferencing on 81, with 0 conference users
[Jul 19 10:17:32] DEBUG[18560] chan_zap.c: Updated conferencing on 6, with 0 conference users
[Jul 19 10:17:32] VERBOSE[18560] logger.c:     -- Native bridging Zap/81-1 and Zap/6-1
[Jul 19 10:17:32] DEBUG[17219] manager.c: Manager received command 'Setvar'
[Jul 19 10:17:32] VERBOSE[24400] logger.c:     -- Channel 0/19, span 3 got hangup request
[Jul 19 10:17:32] DEBUG[18560] chan_zap.c: No echo cancellation requested
[Jul 19 10:17:32] DEBUG[18560] chan_zap.c: No echo cancellation requested
[Jul 19 10:17:32] DEBUG[18560] chan_zap.c: Unlinking slave 6 from 81
[Jul 19 10:17:32] DEBUG[18560] chan_zap.c: Removed 35 from conference 9/81
[Jul 19 10:17:32] DEBUG[18560] chan_zap.c: Removed 107 from conference 9/6
[Jul 19 10:17:32] DEBUG[18560] chan_zap.c: Updated conferencing on 81, with 0 conference users
[Jul 19 10:17:32] DEBUG[18560] res_features.c: starting new PBX in orderlyq,orderlyq-agi,2 for chan Zap/6-1
[Jul 19 10:17:32] DEBUG[18560] res_features.c: SUCCESS continuing PBX on chan Zap/6-1
[Jul 19 10:17:32] VERBOSE[18560] logger.c:   == Spawn extension (orderlyq, 9278, 5) exited non-zero on 'Zap/81-1'
[Jul 19 10:17:32] VERBOSE[18565] logger.c:     -- Executing [orderlyq-agi@orderlyq:2] GotoIf("Zap/6-1", "1?orderlyq-hangup|1:orderlyq-agi|3") in new stack
[Jul 19 10:17:32] VERBOSE[18565] logger.c:     -- Goto (orderlyq,orderlyq-hangup,1)
[Jul 19 10:17:32] VERBOSE[18565] logger.c:     -- Executing [orderlyq-hangup@orderlyq:1] Hangup("Zap/6-1", "") in new stack
[Jul 19 10:17:32] VERBOSE[18565] logger.c:   == Spawn extension (orderlyq, orderlyq-hangup, 1) exited non-zero on 'Zap/6-1'
[Jul 19 10:17:32] DEBUG[18560] chan_zap.c: Set option AUDIO MODE, value: ON(1) on Zap/81-1
[Jul 19 10:17:32] DEBUG[18560] chan_zap.c: Hangup: channel: 81 index = 0, normal = 107, callwait = -1, thirdcall = -1
[Jul 19 10:17:32] DEBUG[18560] chan_zap.c: Not yet hungup...  Calling hangup once with icause, and clearing call
[Jul 19 10:17:32] DEBUG[18560] chan_zap.c: Set option TDD MODE, value: OFF(0) on Zap/81-1
[Jul 19 10:17:32] DEBUG[18560] chan_zap.c: Updated conferencing on 81, with 0 conference users
[Jul 19 10:17:32] DEBUG[18560] chan_zap.c: Set option AUDIO MODE, value: OFF(0) on Zap/81-1
[Jul 19 10:17:32] VERBOSE[18560] logger.c:     -- Hungup 'Zap/81-1'
[Jul 19 10:17:32] DEBUG[18565] chan_zap.c: Set option AUDIO MODE, value: ON(1) on Zap/6-1
[Jul 19 10:17:32] DEBUG[18565] chan_zap.c: Hangup: channel: 6 index = 0, normal = 35, callwait = -1, thirdcall = -1
[Jul 19 10:17:32] DEBUG[18565] chan_zap.c: Not yet hungup...  Calling hangup once with icause, and clearing call
[Jul 19 10:17:32] DEBUG[18565] chan_zap.c: Set option TDD MODE, value: OFF(0) on Zap/6-1
[Jul 19 10:17:32] DEBUG[18565] chan_zap.c: Updated conferencing on 6, with 0 conference users
[Jul 19 10:17:32] DEBUG[18565] chan_zap.c: Set option AUDIO MODE, value: OFF(0) on Zap/6-1

In this example, Zap/81-1 is trying to call Bridge(Zap/6-1).

Midway through the bridge, we see:
[Jul 19 10:17:32] VERBOSE[24400] logger.c:     -- Channel 0/19, span 3 got hangup request

This is channel 81-1 hanging up, but we know that the person concerned didn't hang up the phone.

We're using Asterisk 1.4.1 with the Bridge patch applied.  I thought I'd send this to you rather than post a bug at bugs.digium.com - though I can do that as well if you like.  This is happening with perhaps as many as 1 in 30 calls.
Comments:By: Joshua C. Colp (jcolp) 2007-07-23 07:57:24

Please upgrade to Asterisk 1.4.8, you are more then 7 versions behind... as well we need to know what is happening on each channel, what the logic flow is like, before we can even try to recreate/look at this if it is still an issue.

By: Moises Silva (moy) 2007-07-23 08:59:24

Matt (kebl0155),

In the emails we interchanged, I missed that you were using a backport patch. It would be hard to upgrade? newer Asterisk versions already include the patch in the base code, so no patching required and is highly probable that other issues have been fixed in the Bridge() implementation.

By: Russell Bryant (russell) 2007-07-23 09:21:29

We do not support patched versions of Asterisk.  If you'd like to verify the issue using svn trunk, then someone would be happy to look into it.