[Freeswitch-users] B-leg transfer

David Villasmil david.villasmil.work at gmail.com
Tue Sep 5 12:36:23 UTC 2017


I have this dialplan i'd like to do, let's see if i can explain it :)

I have a call coming in on 5080, which i forward to another box.
When B-leg is answered, I want to disconnect the A-leg and bridge B-leg to
a conference.

I'm trying with the following:


    <extension name="Move_b_leg_to_conference" continue="false">
        <condition field="destination_number" expression="^9999$">
            <action application="callcenter" data="support at default"/>
        </condition>
    </extension>

    <extension name="Forward_to_proxy" continue="true">
        <condition field="destination_number" expression="^(.*)$">
            <action application="export"
data="nolocal:execute_on_answer=transfer -bleg 9999 at public"/>
            <action application="bridge" data="sofia/gateway/proxy/$1"/>
            <action application="hangup" data="NORMAL_CLEARING"/>
        </condition>
    </extension>

The idea is to answer the call with the second extension and
execute_on_answer to transfer the b-leg to extension 9999 on public, which
sends it over to the conference...

But this doesn't seem to be working, the call seems to be sent to
9999 at public:

2017-09-04 23:09:21.243247 [NOTICE] sofia.c:8159 Channel
[sofia/external/4345412121] has been answered
EXECUTE sofia/external/4345412121 transfer(-bleg 9999 at public)
2017-09-04 23:09:21.243247 [DEBUG] switch_ivr.c:2165 (sofia/external/
12345 at 1.2.3.4) State Change CS_EXECUTE -> CS_ROUTING
2017-09-04 23:09:21.243247 [NOTICE] switch_ivr.c:2172 Transfer
sofia/external/12345 at 1.2.3.4 to XML[9999 at public@public]

I've also tried doing uuid_transfer on the bleg like so:

    <extension name="Forward_to_proxy" continue="true">
        <condition field="destination_number" expression="^(.*)$">
            <action application="set" data="new_uuid=${create_uuid foo}"
inline="true"/>
            <!-- <action application="export"
data="nolocal:api_on_answer=uuid_transfer ${new_uuid} -bleg 9999 XML
public"/> -->
            <action application="bridge"
data="{hangup_after_bridge=true,origination_uuid=${new_uuid}}sofia/gateway/proxy/$1"/>
            <action application="uuid_kill" data="${uuid}"/>
        </condition>
    </extension>

and also instead of uuid_transfer, i tried putting the bleg on hold like:

            <action application="export"
data="nolocal:api_on_answer=uuid_hold ${new_uuid}"/>

But is seems as soon as the aleg dies, the whole thing dies


Help is much appreciated!



Regards,

David Villasmil
email: david.villasmil.work at gmail.com
phone: +34669448337
ᐧ
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20170905/241b339a/attachment.html>


More information about the FreeSWITCH-users mailing list