[Asterisk-Users] Variable substitution - How can I do Dial(${DIALSTRING}) where ${DIALSTRING} is 'SIP/201, 15, tT'?

Nick Barnes nick at bcn-it.co.uk
Mon Nov 29 12:38:19 MST 2004


I've been banging my head against a brick wall for the last hour and I'm
sure this is one of those easy to solve things - just that I can't see the
wood for the trees.

I'm trying to do:

-----------

[some-context]
Exten => s,1,Macro(dodial,'SIP/201,15,tT',123456,MOHClass)

[macro-dodial]
Exten => s,1,SetCallerID(${ARG2})
Exten => s,2,SetMusicOnHold(${ARG3})
Exten => s,3,Dial(${ARG1})

-----------

(there's a lot more to it than that, but the above should give you an idea
of what I'm trying to achieve)

A command starting at some-context,s,1 returns the following error:

    -- Executing Macro("SIP/200-b9d9",
"dodial|SIP/201,15,tT|123456|MOHClass") in new stack
    -- Executing SetCallerID("SIP/200-b9d9", "123456") in new stack
    -- Executing SetMusicOnHold("SIP/200-b9d9", "MOHClass") in new stack
Nov 29 19:43:09 WARNING[802835]: pbx.c:1280 pbx_extension_helper: No
application 'Dial{${ARG1})' for extension (macro-dodial, s, 5)
  == Spawn extension (macro-dodial, s, 5) exited non-zero on 'SIP/200-b9d9'
in macro 'dodial'
  == Spawn extension (from-sip, 201, 2) exited non-zero on 'SIP/200-b9d9'

Is there any way I can achieve this without having to pass each of the dial
parameters to the macro individually?

Cheers,

Nick.






More information about the asterisk-users mailing list