AMI Vs. Dialplan Originate
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
The Originate dialplan application itself has no inherent built in ability to set variables.
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