[asterisk-users] Passing an argument to a macro within an Originatecommand

Danny Nicholas danny at debsinc.com
Tue Mar 15 16:37:46 CDT 2011


 

 

  _____  

From: asterisk-users-bounces at lists.digium.com
[mailto:asterisk-users-bounces at lists.digium.com] On Behalf Of Bruce Hopkins
Sent: Tuesday, March 15, 2011 4:36 PM
To: asterisk-users at lists.digium.com
Subject: [asterisk-users] Passing an argument to a macro within an
Originatecommand

 

Hi,

 

With Asterisk 1.8.3, I can't figure out how to pass an argument to a macro
which is used within an originate command.

Here is my sample dialplan to illustrate:

 

exten => 123,1,Answer()

exten => 123,n,Originate(SIP/20,app,Macro,foo,bar)

exten => 123,n,NoOp(This is the NoOp after the originate command)

exten => 123,n,Wait(30)

exten => 123,n,Hangup()

 

[macro-foo]

exten => s,1,Answer()

exten => s,2,NoOp(arg1 is ${ARG1} and arg2 is ${ARG2})

exten => s,3,Playback(tt-monkeys)

 

I was hoping the ${ARG1} within the macro would be 'bar', but the argument
does not seem to be passed on to the macro so far as I can tell.

Here is the CLI output:

 

pbx*CLI> 

  == Using SIP RTP TOS bits 184

  == Using SIP RTP CoS mark 5

    -- Executing [123 at from-internal:1] Answer("SIP/21-0000000c", "") in new
stack

    -- Executing [123 at from-internal:2] Originate("SIP/21-0000000c",
"SIP/20,app,Macro,foo,bar") in new stack

  == Using SIP RTP TOS bits 184

  == Using SIP RTP CoS mark 5

    -- Launching Macro(foo) on SIP/20-0000000d

    -- Executing [s at macro-foo:1] Answer("SIP/20-0000000d", "") in new stack

    -- Executing [s at macro-foo:2] NoOp("SIP/20-0000000d", "arg1 is  and arg2
is ") in new stack

    -- Executing [s at macro-foo:3] Playback("SIP/20-0000000d", "tt-monkeys")
in new stack

    -- <SIP/20-0000000d> Playing 'tt-monkeys.gsm' (language 'en')

    -- Executing [123 at from-internal:3] NoOp("SIP/21-0000000c", "This is the
NoOp after the originate command") in new stack

    -- Executing [123 at from-internal:4] Wait("SIP/21-0000000c", "30") in new
stack

    -- Executing [123 at from-internal:5] Hangup("SIP/21-0000000c", "") in new
stack

  == Spawn extension (from-internal, 123, 5) exited non-zero on
'SIP/21-0000000c'

    -- Executing [h at from-internal:1] Macro("SIP/21-0000000c", "hangupcall")
in new stack

    -- Executing [s at macro-hangupcall:1] GotoIf("SIP/21-0000000c",
"1?skiprg") in new stack

    -- Goto (macro-hangupcall,s,4)

    -- Executing [s at macro-hangupcall:4] GotoIf("SIP/21-0000000c",
"1?skipblkvm") in new stack

    -- Goto (macro-hangupcall,s,7)

    -- Executing [s at macro-hangupcall:7] GotoIf("SIP/21-0000000c",
"1?theend") in new stack

    -- Goto (macro-hangupcall,s,9)

    -- Executing [s at macro-hangupcall:9] Hangup("SIP/21-0000000c", "") in new
stack

  == Spawn extension (macro-hangupcall, s, 9) exited non-zero on
'SIP/21-0000000c' in macro 'hangupcall'

  == Spawn extension (from-internal, h, 1) exited non-zero on
'SIP/21-0000000c'

 

Could anyone tell me what I am doing wrong please?

Many thanks in advance for any assistance anyone is able to offer.

 

Best regards

Bruce Hopkins

This might do it

exten => 123,n,Originate(SIP/20,app,Macro(foo,bar))

 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-users/attachments/20110315/19070b6c/attachment.htm>


More information about the asterisk-users mailing list