[Home]

Summary:ASTERISK-15814: When using originate Local/.../n, dest extension does not run on Local channel pickup
Reporter:Mark Murawski (kobaz)Labels:
Date Opened:2010-03-15 13:05:56Date Closed:2015-03-27 15:15:27
Priority:MinorRegression?No
Status:Closed/CompleteComponents:Channels/chan_local
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:
Description:Similar to issue 16628, but this time with 'no optimization'

{noformat}
context services {
 267 => {
   Dial(SIP/201);
 }

 268 => {
   NoOp(Pickup by ${CHANNEL});
 }
}
{noformat}

This doesn't work
{{asterisk -rx "originate Local/267@services/n extension 268@services"}}

{noformat}
   -- Executing [267@services:1] Dial("Local/267@services-4164;2", "SIP/201") in new stack
 == Using SIP RTP CoS mark 5
   -- Called 201*CLI>
   -- SIP/201-0000000f is ringing
   -- SIP/201-0000000f answered Local/267@services-4164;2
{noformat}

This does work
{{asterisk -rx "originate Local/267@services extension 268@services"}}

{noformat}
   -- Executing [267@services:1] Dial("Local/267@services-a0c5;2", "SIP/201") in new stack
 == Using SIP RTP CoS mark 5
   -- Called 201*CLI>
   -- SIP/201-00000010 is ringing
   -- SIP/201-00000010 answered Local/267@services-a0c5;2
   -- Executing [268@services:1] NoOp("SIP/201-00000010", "Pickup by SIP/201-00000010") in new stack
   -- Auto fallthrough, channel 'SIP/201-00000010' status is 'UNKNOWN'
 == Spawn extension (services, 267, 1) exited non-zero on 'Local/267@services-a0c5;2'
{noformat}
Comments:By: Matt Jordan (mjordan) 2015-03-27 15:15:22.960-0500

Tested with latest from Asterisk 11, this does not appear to be an issue still.

Dialplan:
{noformat}

exten => _XXXX,1,NoOp()
same => n,GoSub(dial_subroutines,get_dial_string,1(${EXTEN}))
same => n,ExecIf($[${GOSUB_RETVAL}!=0])?Hangup())
same => n,GoSub(dial_subroutines,set_dial_args,1)
same => n,ExecIf($[${GOSUB_RETVAL}!=0])?Hangup())
;same => n,Dial(${dialstring},15,${dial_args})
same => n,Dial(SIP/bob,15)
same => n,Hangup()

exten => 268,1,NoOp(${CHANNEL} is here!)
same => n,Hangup()
{noformat}

Executed:
{noformat}
sudo asterisk -rx "channel originate Local/2000@default extension 268@default"
{noformat}

CLI:
{noformat}
   -- Executing [2000@default:1] NoOp("Local/2000@default-00000002;2", "") in new stack
   -- Executing [2000@default:2] Gosub("Local/2000@default-00000002;2", "dial_subroutines,get_dial_string,1(2000)") in new stack
   -- Executing [get_dial_string@dial_subroutines:1] NoOp("Local/2000@default-00000002;2", "") in new stack
   -- Executing [get_dial_string@dial_subroutines:2] Set("Local/2000@default-00000002;2", "extension=2000") in new stack
   -- Executing [get_dial_string@dial_subroutines:3] GotoIf("Local/2000@default-00000002;2", "0?bad_exten") in new stack
[Mar 27 15:12:57] ERROR[13148][C-00000002]: pbx.c:4303 ast_func_read: Function PJSIP_DIAL_CONTACTS not registered
   -- Executing [get_dial_string@dial_subroutines:4] Set("Local/2000@default-00000002;2", "dialstring=") in new stack
   -- Executing [get_dial_string@dial_subroutines:5] GotoIf("Local/2000@default-00000002;2", "0?success") in new stack
   -- Executing [get_dial_string@dial_subroutines:6] Set("Local/2000@default-00000002;2", "dialstring=PJSIP/bob") in new stack
   -- Executing [get_dial_string@dial_subroutines:7] Return("Local/2000@default-00000002;2", "0") in new stack
   -- Executing [2000@default:3] ExecIf("Local/2000@default-00000002;2", "0)?Hangup()") in new stack
   -- Executing [2000@default:4] Gosub("Local/2000@default-00000002;2", "dial_subroutines,set_dial_args,1") in new stack
   -- Executing [set_dial_args@dial_subroutines:1] NoOp("Local/2000@default-00000002;2", "") in new stack
   -- Executing [set_dial_args@dial_subroutines:2] Set("Local/2000@default-00000002;2", "dial_args=tT") in new stack
   -- Executing [set_dial_args@dial_subroutines:3] Return("Local/2000@default-00000002;2", "0") in new stack
   -- Executing [2000@default:5] ExecIf("Local/2000@default-00000002;2", "0)?Hangup()") in new stack
   -- Executing [2000@default:6] Dial("Local/2000@default-00000002;2", "SIP/bob,15") in new stack
 == Using SIP RTP CoS mark 5
   -- Called SIP/bob
   -- SIP/bob-00000000 is ringing
   -- SIP/bob-00000000 answered Local/2000@default-00000002;2
   -- Remote UNIX connection disconnected
   -- Executing [268@default:1] NoOp("Local/2000@default-00000002;1", "Local/2000@default-00000002;1 is here!") in new stack
   -- Executing [268@default:2] Hangup("Local/2000@default-00000002;1", "") in new stack
 == Spawn extension (default, 268, 2) exited non-zero on 'Local/2000@default-00000002;1'
 == Spawn extension (default, 2000, 6) exited non-zero on 'Local/2000@default-00000002;2'
{noformat}