[asterisk-bugs] [Asterisk 0012499]: [patch] Channelredirect hangs until hangup

noreply at bugs.digium.com noreply at bugs.digium.com
Mon Jun 2 08:01:03 CDT 2008


A NOTE has been added to this issue. 
====================================================================== 
http://bugs.digium.com/view.php?id=12499 
====================================================================== 
Reported By:                alanmcmillan
Assigned To:                
====================================================================== 
Project:                    Asterisk
Issue ID:                   12499
Category:                   Applications/app_channelredirect
Reproducibility:            always
Severity:                   major
Priority:                   normal
Status:                     new
Asterisk Version:           SVN 
SVN Branch (only for SVN checkouts, not tarball releases):  trunk 
SVN Revision (number only!):  
Disclaimer on File?:        N/A 
Request Review:              
====================================================================== 
Date Submitted:             04-22-2008 20:45 CDT
Last Modified:              06-02-2008 08:01 CDT
====================================================================== 
Summary:                    [patch] Channelredirect hangs until hangup
Description: 
Channelredirect is not executing the context on the redirected channel when
callee activates a feature via features.conf --

The caller only continues through to the Meetme only after the CALLEE
hangsup . The callee is activating the feature by dialing the *6 once legs
are talking. 

features.conf --

conference => *6,self/callee,Macro,nway-start 

extension.conf ----

exten => _X.,1,Set(_DYNAMIC_FEATURES=conference) 
exten => _X.,n,Dial(ZAP/r1/2064792279)

[dynamic-nway] 
exten => _XXX,1,Answer 
exten => _XXX,n,Set(CONFNO=${EXTEN}) 
exten => _XXX,n,Set(MEETME_EXIT_CONTEXT=dynamic-nway-invite) 
exten => _XXX,n,Set(DYNAMIC_FEATURES=) 
exten => _XXX,n,MeetMe(${CONFNO},pdMX) 
exten => _XXX,n,Hangup 

[dynamic-invite] 
exten => 0,1,Read(DEST,dial,,i) 
exten => 0,n,Set(DYNAMIC_FEATURES=nway-inv#nway-noinv) 
exten => 0,n,Dial(ZAP/r1/${DEST}@dynamic-nway-dest,,g) 
exten => 0,n,Set(DYNAMIC_FEATURES=) 
exten => 0,n,Goto(dynamic-nway,${CONFNO},1) 
exten => i,1,Goto(dynamic-nway,${CONFNO},1) 


[dynamic-nway-dest] 
exten => _XXX,1,Dial(ZAP/r1/${EXTEN}) 

[macro-nway-start] 
exten => s,1,Set(CONFNO=300)
exten => s,n,ChannelRedirect(${BRIDGEPEER},dynamic-nway,${CONFNO},1) 
exten => s,n,Read(DEST,dial,,i) 
exten => s,n,Set(DYNAMIC_FEATURES=nway-inv#nway-noinv) 
exten => s,n,Dial(ZAP/r1/${DEST},,g) 
exten => s,n,Set(DYNAMIC_FEATURES=) 
exten => s,n,Goto(dynamic-nway,${CONFNO},1) 

The caller only continues through to the Meetme only after the CALLEE
hangus up.


====================================================================== 

---------------------------------------------------------------------- 
 file - 06-02-08 08:01  
---------------------------------------------------------------------- 
Here is the reason why:

Aleg is executing dialplan logic already
Bleg is not

When Aleg activates the feature and does the ChannelRedirect on Bleg a new
PBX instance is created and starts executing. A "zombie" channel then takes
the place of Bleg in relation to Aleg.

When Bleg activates the feature and does the ChannelRedirect it simply
modifies the extension/context/priority on Aleg as it is already running a
PBX instance. Since a new one was not created it can not move on to the new
extension/context/priority until what is executing now (Dial) is finished. 

Issue History 
Date Modified   Username       Field                    Change               
====================================================================== 
06-02-08 08:01  file           Note Added: 0087633                          
======================================================================




More information about the asterisk-bugs mailing list