john Millican
2011-Aug-15 21:48 UTC
[asterisk-users] AMI Commands - not working as Expected, Maybe???
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 such as:
Action: Originate
Channel: sip/xxxxxxxxxx at 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 at 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
john Millican
2011-Aug-15 23:12 UTC
[asterisk-users] AMI Commands - not working as Expected, Maybe???
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 such as: > Action: Originate > Channel: sip/xxxxxxxxxx at 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 at 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
Amol Vedak
2011-Aug-16 12:33 UTC
[asterisk-users] AMI Commands - not working as Expected, Maybe???
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 at 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 at 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
On Tue, Aug 16, 2011 at 4:42 AM, john Millican <john at 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 such as:
>> Action: Originate
>> Channel: sip/xxxxxxxxxx at 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 at 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
>
>
> --
> ______________________________**______________________________**_________
> -- 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<http://lists.digium.com/mailman/listinfo/asterisk-users>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://lists.digium.com/pipermail/asterisk-users/attachments/20110816/47e5d6cb/attachment.htm>
john Millican
2011-Aug-16 14:09 UTC
[asterisk-users] AMI Commands - not working as Expected, Maybe???
> > On Tue, Aug 16, 2011 at 4:42 AM, john Millican <john at millican.us > <mailto:john at 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 at 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 at 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 at 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 at 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, > AmolI 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 -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.digium.com/pipermail/asterisk-users/attachments/20110816/0ac9c2e8/attachment.htm>