[Freeswitch-users] How do you split bridged calls ?

Gilbert Amar gamar at center.com
Tue Jun 5 03:18:03 MSD 2012


Hello 

 

After several mistakes I find out that if you want to break a bridge, from a
socket application, and keep managing the two legs in your application the
solution is:

 

uuid_transfer <uuid> -both park inline //the inline does the magic here.

 

then you can play phrases,get dtmf... and even re-bridge the two legs.

 

Thanks to those who point me to the right direction.

 

Gilbert

 

 

From: freeswitch-users-bounces at lists.freeswitch.org
[mailto:freeswitch-users-bounces at lists.freeswitch.org] On Behalf Of Michael
Collins
Sent: Thursday, May 31, 2012 11:11 PM
To: FreeSWITCH Users Help
Subject: Re: [Freeswitch-users] How do you split bridged calls ?

 

I dropped your log file into our pastebin here:
http://pastebin.freeswitch.org/19209

The log shows that the issue is not that FS is only trying to process the
first leg, which can be seen by looking at lines 507 and 714. The problem
here is that your inline dialplan is not being parsed properly. What's
happening is that uuid_dual_transfer is literally trying to send the A leg
to destination number "m:^:phrase:queue_position,5^ inline" and the B leg to
destination number "m:^:phrase:queue_position,3^ inline". 

What are you trying to do with each leg of the call? I see that you are
trying to announce the queue position, but what do you want to have happen
after that? As it stands your call legs would probably just end after the
announcement because there's nothing more to do.

-MC

On Thu, May 31, 2012 at 3:15 PM, Gilbert Amar <gamar at center.com> wrote:

Hello,

 

I keep trying to split a bridged call.

Using playback wav I have audio on both leg, but in my IVR I will need
different message to be played to each leg.

I do not know if this is a bug or not:

I have audio only on one leg using uuid_transfer or uuid_dual_transfer for
phrase.

 

Test 1

         api uuid_transfer <uuid> -both 'm:^:phrase:queue_position,5^
inline'

 

Test 2:

         api uuid_dual_transfer <uuid> 'm:^:phrase:queue_position,5^ inline'
'm:^:phrase:queue_position,3^ inline'

 

notice queue_position 5 for the first and 3 for the second.

 

 

Please find attach a FS log showing for the second test that FS is only
looking to process the first leg.

 

Gilbert

 

 

Details regarding the application and log.

 

my dialplan

    <extension name="unpark">

      <condition field="destination_number" expression="^5100$">

         <action application="set" data="park_after_bridge=true"/>

         <action application="socket" data="192.168.1.100:8022 async full"/>

      </condition>

    </extension>

 

Why use phrase instead of files, mainly experience with IVR building, easier
to change, manage, can use parameters and language customization.

 

Application

Let's be optimistic and forget about any errors.

 

Leg 1 call fs ext 5100

         goes thru socket app

         api create_uuid for outgoing call

         execute playback phrase

         some other event initiate originate (in my case http request
result)

         bgapi originate
{origination_uuid=created_UUID}sofia/internal/1001%192.168.1.11 5100  //
this way leg 2 ends also on my socket app

 

Leg 2 outgoing call (ext 5100) 

         execute playback phrase

 

the 2 legs are there so now using DTMF handling on leg 1

 

         DTMF 1 bridge the two legs

         DTMF 2 broadcast msg on the 2 leg , this work but wasn't used in
the log provided

         DTMF 3 uuid_transfer or in our case uuid_dual_transfert

 

 

leg 1 = sofia/internal/1000 at 192.168.1.11

leg 2 = sofia/internal/1001 at 192.168.1.11

 

 

 

From: freeswitch-users-bounces at lists.freeswitch.org
[mailto:freeswitch-users-bounces at lists.freeswitch.org] On Behalf Of Michael
Collins
Sent: Tuesday, May 29, 2012 1:04 PM
To: FreeSWITCH Users Help
Subject: Re: [Freeswitch-users] How do you split bridged calls ?

 

Sorry for the late reply, but I just wanted to mention for the sake of
posterity/SEO that you could also use 'uuid_dual_transfer' if you want to
send each leg to a different destination. 
http://wiki.freeswitch.org/wiki/Mod_commands#uuid_dual_transfer

-MC

On Wed, May 23, 2012 at 9:39 AM, Dave R. Kompel <drk at drkngs.net> wrote:

Or you  could use uuid_transfer, such as "uuid_transfer <uuid> -both park
inline". If you want to use dialplan apps in the transfer just use the
"inline" dialplan, and not XML.

 

--Dave

 

 


_________________________________________________________________________
Professional FreeSWITCH Consulting Services:
consulting at freeswitch.org
http://www.freeswitchsolutions.com




Official FreeSWITCH Sites
http://www.freeswitch.org
http://wiki.freeswitch.org
http://www.cluecon.com

Join Us At ClueCon - Aug 7-9, 2012

FreeSWITCH-users mailing list
FreeSWITCH-users at lists.freeswitch.org
http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
http://www.freeswitch.org

 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20120604/76b372d1/attachment-0001.html 


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