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

Reply via email to