[asterisk-bugs] [Asterisk 0015655]: [patch] Dialplan starts execution before call is accepted

Asterisk Bug Tracker noreply at bugs.digium.com
Wed Aug 5 14:19:15 CDT 2009


The following issue has been RESOLVED. 
====================================================================== 
https://issues.asterisk.org/view.php?id=15655 
====================================================================== 
Reported By:                alecdavis
Assigned To:                rmudgett
====================================================================== 
Project:                    Asterisk
Issue ID:                   15655
Category:                   Channels/chan_dahdi
Reproducibility:            always
Severity:                   crash
Priority:                   normal
Status:                     resolved
Asterisk Version:           SVN 
Regression:                 No 
SVN Branch (only for SVN checkouts, not tarball releases): N/A 
SVN Revision (number only!): 210436 
Request Review:              
Resolution:                 fixed
Fixed in Version:           
====================================================================== 
Date Submitted:             2009-08-04 18:40 CDT
Last Modified:              2009-08-05 14:19 CDT
====================================================================== 
Summary:                    [patch] Dialplan starts execution before call is
accepted
Description: 
example dialplan code that is repeatable.

exten => 8696,1,Congestion(0)

<b>Correct</b> console output:
 Unknown IE 50 (cs5, Unknown Information Element)
    -- Accepting call from 'XXXX205' to '8696' on channel 0/31, span 1
    -- Executing [8696 at incoming:1] Congestion("DAHDI/31-1", "0") in new
stack
  == Spawn extension (incoming, 8696, 1) exited non-zero on 'DAHDI/31-1'
    -- Hungup 'DAHDI/31-1'

<b>Incorrect</b> console output:

!! Unknown IE 50 (cs5, Unknown Information Element)
    -- Executing [8696 at incoming:1] Congestion("DAHDI/31-1", "0") in new
stack
  == Spawn extension (incoming, 8696, 1) exited non-zero on 'DAHDI/31-1'
    -- Hungup 'DAHDI/31-1'
    -- Accepting call from 'XXXXX205' to '' on channel 0/31, span 1

No further calls can be made into asterisk.
Shortly after. Asterisk will segfault.

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

---------------------------------------------------------------------- 
 (0108681) svnbot (reporter) - 2009-08-05 14:19
 https://issues.asterisk.org/view.php?id=15655#c108681 
---------------------------------------------------------------------- 
Repository: asterisk
Revision: 210575

U   branches/1.4/channels/chan_dahdi.c

------------------------------------------------------------------------
r210575 | rmudgett | 2009-08-05 14:19:14 -0500 (Wed, 05 Aug 2009) | 14
lines

Dialplan starts execution before the channel setup is complete.

*  Issue 15655: For the case where dialing is complete for an incoming
call, dahdi_new() was asked to start the PBX and then the code set more
channel variables.  If the dialplan hungup before these channel variables
got set, asterisk would likely crash.
*  Fixed potential for overlap incoming call to erroneously set channel
variables as global dialplan variables if the ast_channel structure failed
to get allocated.
*  Added missing set of CALLINGSUBADDR in the dialing is complete case.

(closes issue https://issues.asterisk.org/view.php?id=15655)
Reported by: alecdavis

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=210575 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2009-08-05 14:19 svnbot         Note Added: 0108681                          
2009-08-05 14:19 svnbot         Status                   assigned => resolved
2009-08-05 14:19 svnbot         Resolution               open => fixed       
======================================================================




More information about the asterisk-bugs mailing list