Can’t you just bridge the call instead of originate and uuid_bridge?

 

From the WIKI:

Q: Can I bridge a call with an Outbound socket?

Yes you can, simple execute a 'Bridge'

sendmsg

call-command: execute

execute-app-name: bridge

execute-app-arg: {ignore_early_media=true}sofia/gateway/myGW/177808

event-lock: true

The event-lock is key here, if you don't have it set, other events you might have sent can terminate the call, even if you've sent them before the bridge command. Remember that if you want to hangup the call when the bridge completes, either look for the event [CHANNEL_UNBRIDGE], or send a hangup event after the bridge.

 

 

From: freeswitch-users-bounces@lists.freeswitch.org [mailto:freeswitch-users-bounces@lists.freeswitch.org] On Behalf Of Grant Bagdasarian
Sent: Tuesday, April 08, 2014 6:29 AM
To: FreeSWITCH Users Help
Subject: Re: [Freeswitch-users] Oubound ESL: unbridge

 

Hello,

 

Could anyone with Outbound ESL experience help me out with this matter?

 

Thanks,

 

Grant

 

From: freeswitch-users-bounces@lists.freeswitch.org [mailto:freeswitch-users-bounces@lists.freeswitch.org] On Behalf Of Grant Bagdasarian
Sent: Monday, March 31, 2014 1:11 PM
To: FreeSWITCH Users Help (freeswitch-users@lists.freeswitch.org)
Subject: [Freeswitch-users] Oubound ESL: unbridge

 

Hello,

 

I’m working on a C# application which takes control over an inbound call in Freeswitch using ESL outbound and it works like a charm! I can answer the call, play something, get digits, etc.

Now I’m at the point of implementing bridge functionality in the application.

 

Which one is the best approach and why?

1)      >From the Outbound ESL Application use the originate command to create a new outbound call and then use uuid_bridge to connect both incoming and outgoing?

2)      Use the bridge command from the esl application?

 

I would assume the first option would give me control over the b leg created as well, and the second option would not? This also brings me to my next question:

-          Is there a way to “unbridge” both call legs, do some stuff on the incoming (a) leg, and then bridge them back without disconnecting any of the legs?

 

Regards,

 

Grant