For a test, I have used the following
show sample dialstring:
<extension
name="Local_Extension">
<condition
field="destination_number" expression="(10[01][0-9])$">
<action
application="set" data="custid=100001210"/>
<action
application="set" data="dialed_ext=$1"/>
<action
application="set" data="caller_domain=10.3.1.11"/>
<action
application="export" data="execute_on_answer=execute_extension
ONANSWER XML default"/>
<action
application="export" data="execute_on_ring=execute_extension
ONRING XML default"/>
<action
application="bridge"
data="[NEWVARIABLE=AAABBBCCC]user/${custid}${dialed_ext}@${caller_domain}"/>
</condition>
</extension>
<extension name="Call_Answered">
<condition
field="destination_number" expression="^ONANSWER$">
<action
application="set"
data="On_Answer_Is_It_Then_Passed=${NEWVARIABLE}"/>
<action
application="info"/>
</condition>
</extension>
<extension
name="Ringing">
<condition
field="destination_number" expression="^ONRING$">
<action
application="set" data="Ringing_Is_It_Then_Passed=${NEWVARIABLE}"/>
</condition>
</extension>
The two extensions Call_Answered and
Ringing are just test extensions to check if the variable NEWVARIABLE has been
passed. If I just make normal call, it is not passed on. Using export for the
execute_on_answer, the code runs twice. I have tried other “execute_on_XXX”
but I can’t see the new variable. Again this may be related to my lack of
understanding the fundamentals of FS. /Jon