I have setup a feature where users who have dialed outbound have the option to transfer the b-leg to a separate outbound number, like so:
<extension name="outbound_9">
<condition field="destination_number" expression="^9(\d{10})$">
<action application="set" data="ringback=${us-ring}"/>
<action application="set" data="transfer_ringback=$${hold_music}"/>
<action application="set" data="continue_on_fail=true"/>
<action application="set" data="bind_meta_key=*"/>
<action application="bind_meta_app" data="1 a s execute_extension::dx XML mycontext"/>
<action application="transfer" data="to_outbound XML mycontext"/>
</condition>
</extension>
<extension name="dx">
<condition field="destination_number" expression="^dx$">
<action application="log" data="INFO transferring the b-leg..."/>
<action application="answer"/>
<action application="sleep" data="1000"/>
<action application="playback" data="/usr/local/freeswitch/sounds/en/us/callie/misc/8000/transfer2.wav"/>
<action application="read" data="11 11 'tone_stream://%(10000,0,350,440)' digits 5000 #"/>
<action application="execute_extension" data="is_transfer XML mycontext"/>
</condition>
</extension>
A delay sometimes occurs after users have pressed *1 and before the message "transferring the b-leg..." appears in the console. This delay happens ~1/3 of the time and lasts for ~5s. Do you know how I should execute this functionality in a way that will not cause such a delay?
thanks,
elijah