AMI Vs. Dialplan Originate

Home » Asterisk Users » AMI Vs. Dialplan Originate
Asterisk Users 3 Comments

Hi.

(Asterisk 16.2.1)

I’m using AMI Originate to initiate calls, and I’m passing some additional data in to the dialplan context using the Variable: parameter. Works fine.

https://wiki.asterisk.org/wiki/display/AST/Asterisk+16+ManagerAction_Originate

Now I need to do the same thing but from another context in my dialplan, so I
was expecting to use the Originate() dialplan command, but how do I pass the additional data? I don’t see any Variable: equivalent parameter.

https://wiki.asterisk.org/wiki/display/AST/Asterisk+16+Application_Originate

Thanks for any pointers.

Antony.


BASIC is to computer languages what Roman numerals are to arithmetic.

Please reply to the list;
please *don’t* CC me.

3 thoughts on - AMI Vs. Dialplan Originate

  • Oh 🙁 Not as direct an equivalent as I’d expected, then.

    Any suggestions for how to get round this – my first idea is to get something into the Asterisk internal DB in the context which does the Originate(), and then read the data out in the called context.

    Maybe I need to set some inherited variables and then use Dial() instead of Originate…

    Ideas welcome 🙂

    Antony.


    It is also possible that putting the birds in a laboratory setting inadvertently renders them relatively incompetent.

    – Daniel C Dennett

    Please reply to the list;
    please *don’t* CC me.

  • You could do the old school method and create and move a .call file from your dialplan.

    exten => writefile,1,NoOP()
    same => n,Set(CALLFILE=/var/spool/asterisk/tmp/${FileName}-${ARG1}.call)
    same => n,Set(FILE(${CALLFILE},,,al,u)=Channel: SIP/bob)
    same => n,Set(FILE(${CALLFILE},,,al,u)=WaitTime: 20)
    same => n,Set(FILE(${CALLFILE},,,al,u)=Context: alice)
    same => n,Set(FILE(${CALLFILE},,,al,u)=Extension: s)
    same => n,Set(FILE(${CALLFILE},,,al,u)=Priority: 1)
    same => n,Set(FILE(${CALLFILE},,,al,u)=SetVar: John=AWESOME
    same => n,Set(FILE(${CALLFILE},,,al,u)=Archive: Yes); we want to keep the call file for debugging same => n,system(mv ${CALLFILE} /var/spool/asterisk/outgoing/); Move the file into the spool