IAX2 passing back and forth variables

Home » Asterisk Users » IAX2 passing back and forth variables
Asterisk Users 4 Comments

Hi all,

I have two asterisk servers A and B.

And I would like from A, dial to B passing some IAX variables.

Then B handles the calls, setup some other variables that become available
to A which can continue.

So far, I have used IAXVAR function.

It works when sending call from A to B

But variables setup on B are not available on A.

Any idea how I can do it ?

Here are my dialplans.

+++++++++++

SERVER A

+++++++++++

[contextA]

exten => s,1,Set(IAXVAR(TESTVAR1)=abcd)

exten => s,n,Dial(IAX2/serverb/s,30,g)

exten => s,n,Noop( The out variable is : ${IAXVAR(TESTVAR2)} ) ; < ----
Does not work

+++++++++++

SERVER B

+++++++++++

[contextB]

exten => s,1,Noop( ${IAXVAR(TESTVAR1)} ) < ----- Does work exten => s,n,Set(IAXVAR(TESTVAR2))

exten => s,n,Hangup

4 thoughts on - IAX2 passing back and forth variables

  • Uhm, if the dialplan is exactly as you pasted, you’re not setting TESTVAR2 to anything. You would need some sort of Set(IAXVAR(TESTVAR2)=…)

    Noah

    Sent: Saturday, May 19, 2012 2:17 PM

    Hi all,
    I have two asterisk servers A and B.
    And I would like from A, dial to B passing some IAX variables.
    Then B handles the calls, setup some other variables that become available to A which can continue.
    So far, I have used IAXVAR function.
    It works when sending call from A to B
    But variables setup on B are not available on A.

    Any idea how I can do it ?

    Here are my dialplans.
    +++++++++++
    SERVER A
    +++++++++++
    [contextA]
    exten => s,1,Set(IAXVAR(TESTVAR1)=abcd)
    exten => s,n,Dial(IAX2/serverb/s,30,g)
    exten => s,n,Noop( The out variable is : ${IAXVAR(TESTVAR2)} ) ; < ---- Does not work
    +++++++++++
    SERVER B
    +++++++++++
    [contextB]
    exten => s,1,Noop( ${IAXVAR(TESTVAR1)} ) < ----- Does work
    exten => s,n,Set(IAXVAR(TESTVAR2))
    exten => s,n,Hangup

  • Sorry, the dialplan is really on server B

    exten => s,n,Set(IAXVAR(TESTVAR2)=efgh)

    [mailto:asterisk-users-bounces@lists.digium.com] On Behalf Of Noah
    Engelberth
    Sent: 2012-05-19 14:45

    Uhm, if the dialplan is exactly as you pasted, you’re not setting TESTVAR2
    to anything. You would need some sort of Set(IAXVAR(TESTVAR2)=.)

    Noah

    [mailto:asterisk-users-bounces@lists.digium.com] On Behalf Of Ruddy Gbaguidi
    Sent: Saturday, May 19, 2012 2:17 PM

    Hi all,

    I have two asterisk servers A and B.

    And I would like from A, dial to B passing some IAX variables.

    Then B handles the calls, setup some other variables that become available
    to A which can continue.

    So far, I have used IAXVAR function.

    It works when sending call from A to B

    But variables setup on B are not available on A.

    Any idea how I can do it ?

    Here are my dialplans.

    +++++++++++

    SERVER A

    +++++++++++

    [contextA]

    exten => s,1,Set(IAXVAR(TESTVAR1)=abcd)

    exten => s,n,Dial(IAX2/serverb/s,30,g)

    exten => s,n,Noop( The out variable is : ${IAXVAR(TESTVAR2)} ) ; < ----
    Does not work

    +++++++++++

    SERVER B

    +++++++++++

    [contextB]

    exten => s,1,Noop( ${IAXVAR(TESTVAR1)} ) < ----- Does work exten => s,n,Set(IAXVAR(TESTVAR2))

    exten => s,n,Hangup

  • I cannot find it

    [mailto:asterisk-users-bounces@lists.digium.com] On Behalf Of Danny Nicholas
    Sent: 2012-05-21 10:25

    There was a nice thread on this back in April.

    [mailto:asterisk-users-bounces@lists.digium.com] On Behalf Of Ruddy Gbaguidi
    Sent: Monday, May 21, 2012 9:23 AM

    No one have an idea ?

    [mailto:asterisk-users-bounces@lists.digium.com] On Behalf Of Ruddy Gbaguidi
    Sent: 2012-05-19 15:27

    Sorry, the dialplan is really on server B

    exten => s,n,Set(IAXVAR(TESTVAR2)=efgh)

    [mailto:asterisk-users-bounces@lists.digium.com] On Behalf Of Noah
    Engelberth
    Sent: 2012-05-19 14:45

    Uhm, if the dialplan is exactly as you pasted, you’re not setting TESTVAR2
    to anything. You would need some sort of Set(IAXVAR(TESTVAR2)=.)

    Noah

    [mailto:asterisk-users-bounces@lists.digium.com] On Behalf Of Ruddy Gbaguidi
    Sent: Saturday, May 19, 2012 2:17 PM

    Hi all,

    I have two asterisk servers A and B.

    And I would like from A, dial to B passing some IAX variables.

    Then B handles the calls, setup some other variables that become available
    to A which can continue.

    So far, I have used IAXVAR function.

    It works when sending call from A to B

    But variables setup on B are not available on A.

    Any idea how I can do it ?

    Here are my dialplans.

    +++++++++++

    SERVER A

    +++++++++++

    [contextA]

    exten => s,1,Set(IAXVAR(TESTVAR1)=abcd)

    exten => s,n,Dial(IAX2/serverb/s,30,g)

    exten => s,n,Noop( The out variable is : ${IAXVAR(TESTVAR2)} ) ; < ----
    Does not work

    +++++++++++

    SERVER B

    +++++++++++

    [contextB]

    exten => s,1,Noop( ${IAXVAR(TESTVAR1)} ) < ----- Does work exten => s,n,Set(IAXVAR(TESTVAR2))

    exten => s,n,Hangup

  • Perhaps it is the thread which started on the 15th of April with the
    subject line

    Set variables from one asterisk ta a second.