[asterisk-bugs] [Asterisk 0017787]: [regression] chan_local is hanging up the call upon first channel answer when calling from asterisk manager (inconsistent)

Asterisk Bug Tracker noreply at bugs.digium.com
Thu Aug 5 16:16:52 CDT 2010


The following issue has been UPDATED. 
====================================================================== 
https://issues.asterisk.org/view.php?id=17787 
====================================================================== 
Reported By:                Rami
Assigned To:                
====================================================================== 
Project:                    Asterisk
Issue ID:                   17787
Category:                   Channels/chan_local
Reproducibility:            sometimes
Severity:                   major
Priority:                   normal
Status:                     acknowledged
Asterisk Version:           1.4.34 
JIRA:                        
Regression:                 Yes 
Reviewboard Link:            
SVN Branch (only for SVN checkouts, not tarball releases): N/A 
SVN Revision (number only!):  
Request Review:              
====================================================================== 
Date Submitted:             2010-08-03 09:50 CDT
Last Modified:              2010-08-05 16:16 CDT
====================================================================== 
Summary:                    [regression] chan_local is hanging up the call upon
first channel answer when calling from asterisk manager (inconsistent)
Description: 
When originating a call from asterisk manager and using channel as local,
when the first channel answers, the call should proceed to the exten, but
about 50% of the times the call hangs up.
Example for command:
//-----------------------
Action: originate
Channel: Local/330 at from-internal
Exten: 501
Context: from-internal
Priority: 1
//------------------------
330 can be either SIP or TRUNK or anything else, once it will answer the
call has 50% chance to get hanged up.

The last asterisk version I check that did not have this problem is:
1.4.23.1,
from there on up to 1.4.33 the problem occurs. 

I managed to fix the problem by disabled masquerade on chan_local
channels, I did that by removing the line: ast_channel_masquerade(p->owner,
p->chan->_bridge); on chan_local.c
but this solution is obviously very wrong.
by looking at the CLI it appears that that masquerade timing is cause the
problem, there is 3 situations: 
1. it happens on the first row of the dial plane when the first channel is
answered - call get hanged up.
2. it happens on the middle of the dial plane when the first channel is
answered - it removes the call callerid and some other variables, but the
call is working
3. it happens in the end and everything is working fine (like in version
1.4.23.1 and below)
please find a solution for this bug, this is very frustrating as most
asterisk dialers are using chan_local and they can't work any more.
====================================================================== 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2010-08-05 16:16 lmadsen        Description Updated                          
======================================================================




More information about the asterisk-bugs mailing list