[asterisk-bugs] [Asterisk 0016548]: [patch][regression] Macro executes "h" extension instead of exiting

Asterisk Bug Tracker noreply at bugs.digium.com
Thu Jan 28 17:24:01 CST 2010


A NOTE has been added to this issue. 
====================================================================== 
https://issues.asterisk.org/view.php?id=16548 
====================================================================== 
Reported By:                hajekd
Assigned To:                tilghman
====================================================================== 
Project:                    Asterisk
Issue ID:                   16548
Category:                   Applications/app_dial
Reproducibility:            always
Severity:                   major
Priority:                   normal
Status:                     confirmed
Target Version:             1.6.0.22
Asterisk Version:           1.6.0.20 
JIRA:                       SWP-642 
Regression:                 Yes 
Reviewboard Link:            
SVN Branch (only for SVN checkouts, not tarball releases): N/A 
SVN Revision (number only!):  
Request Review:              
====================================================================== 
Date Submitted:             2010-01-05 15:51 CST
Last Modified:              2010-01-28 17:24 CST
====================================================================== 
Summary:                    [patch][regression] Macro executes "h" extension
instead of exiting
Description: 
Latest version 1.6.0.20 does not correctly hangup calls. We have some
dialplan under extension h which ends with cmd Hangup. Asterisk continue in
dialplan even after calling cmd Hangup. This is not the case with 1.6.0.19
and earlier. This is causing some issues with CDR, etc.

In this example, macro hangupcall is called twice!

- Executing [h at macro-dial:1] Macro("SIP/501-00000003", "hangupcall") in
new stack
    -- Executing [s at macro-hangupcall:1] ResetCDR("SIP/501-00000003", "w")
in new stack
    -- Executing [s at macro-hangupcall:2] NoCDR("SIP/501-00000003", "") in
new stack
    -- Executing [s at macro-hangupcall:3] GotoIf("SIP/501-00000003",
"1?skiprg") in new stack
    -- Goto (macro-hangupcall,s,6)
    -- Executing [s at macro-hangupcall:6] GotoIf("SIP/501-00000003",
"1?skipblkvm") in new stack
    -- Goto (macro-hangupcall,s,9)
    -- Executing [s at macro-hangupcall:9] GotoIf("SIP/501-00000003",
"1?theend") in new stack
    -- Goto (macro-hangupcall,s,11)
    -- Executing [s at macro-hangupcall:11] Hangup("SIP/501-00000003", "") in
new stack
  == Spawn extension (macro-hangupcall, s, 11) exited non-zero on
'SIP/501-00000003' in macro 'hangupcall'
  == Spawn extension (macro-dial, h, 1) exited non-zero on
'SIP/501-00000003'
  == Spawn extension (macro-dial, s, 8) exited non-zero on
'SIP/501-00000003' in macro 'dial'
  == Spawn extension (macro-exten-vm, s, 9) exited non-zero on
'SIP/501-00000003' in macro 'exten-vm'
  == Spawn extension (from-internal, 502, 1) exited non-zero on
'SIP/501-00000003'
    -- Executing [h at from-internal:1] Macro("SIP/501-00000003",
"hangupcall") in new stack
    -- Executing [s at macro-hangupcall:1] ResetCDR("SIP/501-00000003", "w")
in new stack
    -- Executing [s at macro-hangupcall:2] NoCDR("SIP/501-00000003", "") in
new stack
    -- Executing [s at macro-hangupcall:3] GotoIf("SIP/501-00000003",
"1?skiprg") in new stack
    -- Goto (macro-hangupcall,s,6)
    -- Executing [s at macro-hangupcall:6] GotoIf("SIP/501-00000003",
"1?skipblkvm") in new stack
    -- Goto (macro-hangupcall,s,9)
    -- Executing [s at macro-hangupcall:9] GotoIf("SIP/501-00000003",
"1?theend") in new stack
    -- Goto (macro-hangupcall,s,11)
    -- Executing [s at macro-hangupcall:11] Hangup("SIP/501-00000003", "") in
new stack
  == Spawn extension (macro-hangupcall, s, 11) exited non-zero on
'SIP/501-00000003' in macro 'hangupcall'
  == Spawn extension (from-internal, h, 1) exited non-zero on
'SIP/501-00000003'
======================================================================
Relationships       ID      Summary
----------------------------------------------------------------------
related to          0016106 [patch] Hangup extension executed twice...
====================================================================== 

---------------------------------------------------------------------- 
 (0117345) hajekd (reporter) - 2010-01-28 17:24
 https://issues.asterisk.org/view.php?id=16548#c117345 
---------------------------------------------------------------------- 
Patch applied against 1.6.0.21. Still no luck.

Ext 102 is calling Ext 104:

-- Called 104
    -- SIP/104-00000001 is ringing
    -- SIP/104-00000001 answered SIP/102-00000000
    -- Remote UNIX connection
    -- Executing [h at from-internal:1] Macro("SIP/102-00000000",
"hangupcall") in new stack
    -- Executing [s at macro-hangupcall:1] ResetCDR("SIP/102-00000000", "w")
in new stack
    -- Executing [s at macro-hangupcall:2] NoCDR("SIP/102-00000000", "") in
new stack
    -- Executing [s at macro-hangupcall:3] GotoIf("SIP/102-00000000",
"1?skiprg") in new stack
    -- Goto (macro-hangupcall,s,6)
    -- Executing [s at macro-hangupcall:6] GotoIf("SIP/102-00000000",
"1?skipblkvm") in new stack
    -- Goto (macro-hangupcall,s,9)
    -- Executing [s at macro-hangupcall:9] GotoIf("SIP/102-00000000",
"1?theend") in new stack
    -- Goto (macro-hangupcall,s,11)
    -- Executing [s at macro-hangupcall:11] Hangup("SIP/102-00000000", "") in
new stack
  == Spawn extension (macro-hangupcall, s, 11) exited non-zero on
'SIP/102-00000000' in macro 'hangupcall'
  == Spawn extension (macro-dial, s, 8) exited non-zero on
'SIP/102-00000000' in macro 'dial'
  == Spawn extension (macro-exten-vm, s, 9) exited non-zero on
'SIP/102-00000000' in macro 'exten-vm'
  == Spawn extension (from-internal, 104, 1) exited non-zero on
'SIP/102-00000000'
    -- Executing [h at from-internal:1] Macro("SIP/102-00000000",
"hangupcall") in new stack
    -- Executing [s at macro-hangupcall:1] ResetCDR("SIP/102-00000000", "w")
in new stack
    -- Executing [s at macro-hangupcall:2] NoCDR("SIP/102-00000000", "") in
new stack
    -- Executing [s at macro-hangupcall:3] GotoIf("SIP/102-00000000",
"1?skiprg") in new stack
    -- Goto (macro-hangupcall,s,6)
    -- Executing [s at macro-hangupcall:6] GotoIf("SIP/102-00000000",
"1?skipblkvm") in new stack
    -- Goto (macro-hangupcall,s,9)
    -- Executing [s at macro-hangupcall:9] GotoIf("SIP/102-00000000",
"1?theend") in new stack
    -- Goto (macro-hangupcall,s,11)
    -- Executing [s at macro-hangupcall:11] Hangup("SIP/102-00000000", "") in
new stack
  == Spawn extension (macro-hangupcall, s, 11) exited non-zero on
'SIP/102-00000000' in macro 'hangupcall'
  == Spawn extension (from-internal, h, 1) exited non-zero on
'SIP/102-00000000' 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2010-01-28 17:24 hajekd         Note Added: 0117345                          
======================================================================




More information about the asterisk-bugs mailing list