Hi Michael, I finally figure out how to connect both calls using the command 'intercept'. From the inbound call (handled by the OB socket) I just do an execute intercept legB uuid, and both calls are bridged perfectly. Thanks very much. So the only thing that stills concerns me is why the event CHANNEL_ANSWER is always generated on the outbound call (legb), even if the user doesn't pick up the call. Also I can't find any differences on the CHANNEL_CALLSTATE or CALL_UPDATE events that allows me to determine when an outbound call generated from FS is actually answered or not. BTW, I bought the FS 1.0.6 book on Amazon last week and I want to congratulate you and Anthony/Darren for the excellent work you've done, it has been really helpful. My only complaint is that it doesn't have an eBook format so I can read it on my Kindle. Besides that, great work. From: freeswitch-users-bounces@lists.freeswitch.org [mailto:freeswitch-users-bounces@lists.freeswitch.org] On Behalf Of Michael Collins Sent: Friday, June 10, 2011 6:27 PM To: FreeSWITCH Users Help Subject: Re: [Freeswitch-users] originating a call from an outbound socket app On Fri, Jun 10, 2011 at 7:00 AM, Hector Geraldino <Hector.Geraldino@ip-soft.net<mailto:Hector.Geraldino@ip-soft.net>> wrote: Thanks for your response Michael. Finally I found the way of dialing to an external extension. What I did was just open a shell, listen in a port using nc and tried to originate a call. It worked using the syntax: originate sofia/internal/5562@192.168.23.104<mailto:5562@192.168.23.104> &park As this is an outbound call (not managed by the socket application) I had to use a new inbound socket connection to connect to FS, make the call, query for the uuid and receive some events (like DTMF among others). Everything was going great, until I found two issues: - The CHANNEL_ANSWER event is always triggered, no matter if the call is actually picked up or not on my phone. I thought that maybe I can use some other event to determine if the call have been answered or not (like CHANNEL_CALLSTATE or CALL_UPDATE), but the additional information on the event headers is the same no matter if it's answered or not. - When the call is answered, and the user presses a key to accept the call, the function returns the UUID of this session to the main method. Then I tried to make the bridge between the two calls (the legA call handled by the socket application, and the legB outbound call generated in the application using an inbound connection). I using the command api uuid_bridge <incoming_uuid> <outbound_uuid> but this didn't work. Am I missing something here? You're missing the debug log on the pastebin. ;) Yeah, let's take a look at the debug log of this happening. Capture from the beginning of the a leg all the way through to trying the uuid_bridge. -MC