Re: [Freeswitch-users] Possible problem in adding channel variables to the bridge
Anthony, this is a simplified version dialplan, just for an illustration of the previous posts: file default.xml: <?xml version="1.0" encoding="utf-8"?> <include> <context name="default"> <extension name="Local_Extension"> <condition field="destination_number" expression="^(10[01][0-9])$"> <action application="set" data="leg=a"/> <action application="set" data="destination=user/$1@10.3.1.11"/> <action application="export" data="execute_on_answer=execute_extension ONANSWER XML default"/> <action application="bridge" data=" ="[NEWVARIABLE=AAABBBCCC]${destination}"/> </condition> </extension> <extension name="Call_Answered"> <condition field="destination_number" expression="^ONANSWER$"> <action application="execute_extension" data="INFO XML info"/> </condition> </extension> </context> </include> file info.xml: <xml version="1.0" encoding="utf-8"?> <include> <context name="info"> <extension name="Call_Info"> <condition field="destination_number" expression="^INFO$" /> </condition> <condition field="${leg}" expression="^a$"> <!-- We are in the b-leg--> <anti-action application="set" data="On_Answer_Is_It_Then_Passed=${NEWVARIABLE}"/> <anti-action application="info"/> </condition> </extension> </context> </include> Sorry about my inconsistent use of the terms, the XML about should explain. /Jon
which leg do you want to see the variable and which leg do you need to execute the extension normally execute_on_answer is not used to do any prolonged activities since it will indeed block the progress of the call until the application you specified is done so it's normally just used to set a variable or schedule a call hangup etc. if you only want the execute_on_answer to happen on the b-leg you can do the following in your existing code. <action application="export" data="nolocal:execute_on_answer=execute_extension ONANSWER XML default"/> the nolocal: tells the system to only set the variables on the b-legs spawned from the current channel and never the A leg itself otherwise export will set the variable on both legs. This is the same as using {execute_on_answer='execute_extension ONANSWER XML default'} at the beginning of your dial string. The variables you put in the [foo=bar] will only be set on the B-legs spawned off from that originate. if you do it like i mentioned here you can eliminate all of the checks for a or b leg because you will be certain that the event is only triggered on the B legs On Thu, Sep 25, 2008 at 1:57 PM, Jon Bruel <jbr@consiglia.dk> wrote:
Anthony, this is a simplified version dialplan, just for an illustration of the previous posts:
file default.xml: <?xml version="1.0" encoding="utf-8"?> <include> <context name="default"> <extension name="Local_Extension"> <condition field="destination_number" expression="^(10[01][0-9])$"> <action application="set" data="leg=a"/> <action application="set" data="destination=user/$1@10.3.1.11"/> <action application="export" data="execute_on_answer=execute_extension ONANSWER XML default"/> <action application="bridge" data=" ="[NEWVARIABLE=AAABBBCCC]${destination}"/> </condition> </extension>
<extension name="Call_Answered"> <condition field="destination_number" expression="^ONANSWER$"> <action application="execute_extension" data="INFO XML info"/> </condition> </extension> </context> </include>
file info.xml: <xml version="1.0" encoding="utf-8"?> <include> <context name="info"> <extension name="Call_Info"> <condition field="destination_number" expression="^INFO$" /> </condition> <condition field="${leg}" expression="^a$"> <!-- We are in the b-leg--> <anti-action application="set" data="On_Answer_Is_It_Then_Passed=${NEWVARIABLE}"/> <anti-action application="info"/> </condition> </extension> </context> </include>
Sorry about my inconsistent use of the terms, the XML about should explain. /Jon
_______________________________________________ Freeswitch-users mailing list Freeswitch-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
-- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ AIM: anthm MSN:anthony_minessale@hotmail.com <MSN%3Aanthony_minessale@hotmail.com> GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com<PAYPAL%3Aanthony.minessale@gmail.com> IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888@conference.freeswitch.org <sip%3A888@conference.freeswitch.org> iax:guest@conference.freeswitch.org/888 googletalk:conf+888@conference.freeswitch.org<googletalk%3Aconf%2B888@conference.freeswitch.org> pstn:213-799-1400
participants (2)
-
Anthony Minessale
-
Jon Bruel