[Freeswitch-users] blind transfer back to caller on failure

Tiago Sampaio tnsampaio at bsd.com.br
Tue Apr 23 01:21:09 MSD 2013


Hi all.

    I'm wondering if is possible to return the call if no answer or user
busy?

    i tryed this:

        <context name="INTERNAL">
                <extension name="INTER_RAMAL">
                        <condition field="destination_number"
expression="^(\d{4})$">
                                <action application="set"
data="continue_on_fail=true" />
                                <action application="bridge"
data="[originate_timeout=10]user/$1" />
                        </condition>
                </extension>

                   <extension name="BLIND_TRANSFER">
                        <condition field="destination_number"
expression="^blind_transfer$">
                                <action application="answer"/>
                                <action application="read" data="3 4
'tone_stream://%(10000,0,350,440)' digits 5000 #"/>
                                <action application="set"
data="continue_on_fail=true" />
                                <action application="execute_extension"
data="is_transfer XML INTERNAL" />
                                   <!-- here i try to call user who
originate the transfer, but no success -->
                                <action application="bridge"
data="user/${caller_id_number}" />
                                <action application="hangup" />
                        </condition>
                </extension>
 
                <extension name="is_transfer">
                        <condition field="destination_number"
expression="^is_transfer$"/>
                        <condition field="${digits}" expression="^(\d+)$">
                                 <action application="set"
data="continue_on_fail=true" />
                                <action application="transfer"
data="-bleg ${digits} XML INTERNAL"/>
                                <anti-action application="eval"
data="cancel transfer"/>
                        </condition>
                </extension>
</context>

Example:

    User A call user B, user B answer and do blind transfer to user C.
User B hangup when call blind transfer and C rings 30 seconds and then
transfer again to B before hangup A...
    Now if i do blind transfer and no answer or user busy, freeswitch
hangup all sides...




Join us at ClueCon 2011 Aug 9-11, 2011
More information about the FreeSWITCH-users mailing list