On Tue, Aug 16, 2011 at 4:42 AM, john Millican <j...@millican.us
<mailto:j...@millican.us>> wrote:
On 8/15/2011 5:48 PM, john Millican wrote:
Hello,
Asterisk 1.4.38
Linux version 2.6.9-89.31.1.EL CentOS
Trying to get variables into a dial plan from AMI. I have
tried all sorts of combinations,entering them after making a
connection to ami through telnet, of the many available
examples on voip-info.org <http://voip-info.org> such as:
Action: Originate
Channel: sip/xxxxxxxxxx@xxxxxxx
MaxRetries: 2
RetryTime: 60
WaitTime: 30
Context: test1
Exten: acs1
Priority: 1
CallerID: xxxxxxxxxx
Account: MyTest
Command: Set(var1=123456)
Command: Set(var2=54321)
also tried:
Var:
Variable:
SetVar:
Each individually for the two variables I need and both on the
same line separated by a | or a ,
Always when I hit return twice to give the \r\n\r\n The call
is successful but where I have
exten => acs1,n,NoOp(Vars = ${var1}, ${var2});
in my dialplan what I get is:
[2011-08-15 17:20:28] -- Executing [acs1@test1:2]
NoOp("SIP/xxxxxxx-00000451", "Vars = | ") in new stack
Obviously not what I was hoping for.
Any help would be greatly appreciated.
TIA,
JohnM
Ok so I figured it out, It was me being dumb!
Proper format is indeed:
Variable: var1=23456|var2=246810
which I would have sworn I tried and it failed but, I started at
the beginning again and voila!
JohnM
Un top posting for readability
On 8/16/2011 8:33 AM, Amol Vedak wrote:
Hi John,
I kind of facing the same problem that you were facing.
I am using similar configuration as you are for asterisk.
I am using java-asterisk library to communicate with asterisk.
In my code I am setting two variables (PIN, MREQID) and trying to
access them in dialplan (dialplan shown below).
When I send command to Asterisk to orginate, I get following result
(result shown below). I am wondering how should get access to
individual variable data. I was wondering if I should use Set(var,x,y)
method to pull out the part which is necessary for me. But wasnt sure
if thats the right way.
RESULT
-- Executing [login@authcheckrohan:5]
Set("SIP/softphonerohan-00000060", "PIN=3408|MREQID=1") in new stack
[Aug 16 17:53:06] WARNING[15739]: pbx.c:1344 pbx_exec: The application
delimiter is now the comma, not the pipe. Did you forget to convert
your dialplan? (Set(PIN=3408|MREQID=1))
-- Executing [login@authcheckrohan:6]
Set("SIP/softphonerohan-00000060", "MREQID=") in new stack
DIALPLAN
exten => login,1,NoOp();
;exten => login,n,SayNumber(${PIN})
exten => login,n,Set(E=${PIN})
exten => login,n,Verbose(${${E}_PIN})
exten => login,n,Verbose(${E})
exten => login,n,Set(PIN=${PIN})
exten => login,n,Set(MREQID=${MREQID})
exten => login,n,SayNumber(${MREQID})
Have you done it differently?
Thanks & Regards,
Amol
I am connecting to the AMI from a C# app that was built by others but I
am using the same information and format as is used for a standard
telnet connection. What eneded up working is sending Variable:
var1=xxxx|var2=xxxxx|var3=xxxx as the last element(I do not think it is
important that it be last though). This is how it ended up in C# after
having established the connection:
//Tell asterisk who to call and to connect them to the IVR
clientSocket.Send(Encoding.ASCII.GetBytes("Action:
Originate\r\nChannel: sip/" + phoneNum1 + "@<provider>\r\nMaxRetries:
2\r\nRetryTime: 60\r\nWaitTime: 30\r\nContext: <the context>l\r\nExten:
<the exten>\r\nPriority: 1\r\nCallerid: XXXXXXXXXX\r\nAccount: <CDR
Accountcode>\r\nVariable: var1=" + memberNum +"|var2=" + phoneNum1 +
"|var3=" + phoneNum2 + "\r\n\r\n"));
Then in my Dialplan I just use ${var1} ,${var2} , and ${var3} where I
need them.
Hope this helps.
JohnM
--
_____________________________________________________________________
-- Bandwidth and Colocation Provided by http://www.api-digital.com --
New to Asterisk? Join us for a live introductory webinar every Thurs:
http://www.asterisk.org/hello
asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
http://lists.digium.com/mailman/listinfo/asterisk-users