Hello Anthony.

Forking A Call :

bgapi('originate',"{strategy=108,step=1,origination_caller_id_number=XXX,fail_on_single_reject=true,ignore_early_media=true,originate_timeout=90,parked_call_uuid=%s,position=%s}sofia/external/%s@XXXXXX 4998 XML default" % (self.channel_uuid,position,'XXXXXX'))

Means running this command Against The Outbound Socket and that goes well.

The Problem with async is that i have a multi-level IVR system not a generally simple ( press 1 for sales , press 2 for support ) type of IVR.
This means lots of monitoring on the events to get it right , and some APPs fail to send events, lack of documentation ,etc.

Anyway i was able to solve this problem :

1- Process ESL and transfer the call to a extension&ValetPark and call disconnect() on the ESL connection , now open a new connection and issue uuid_bridge , all goes well connection with ESL is no longer in the middle :D

I have Tried to do Park from inside the ESL even declaring setAsyncExecute('1') does not execute ValetPark in async it will just fail.
If i don't use setAsyncExecute  the call parks and ESL processing stops , so i just bypassed that using the XML dialplan.

I know this is not the recommended way , but will have to do for now , anyway i will try to review this situation and will see what i can do with the async mode.

If you want me to do any special testing feel free to drop me an e-mail off list.

Regards
A/T

2011/5/17 Anthony Minessale <anthony.minessale@gmail.com>
You should explain what "forking a call" means. This does not exist in
our terminology.
My advice is to start thinking about what you need to do to make it
work vs how you want it to work.

You MUST use async mode for what you are trying to do.  The reason the
call won't bridge in sync mode is because you are asking the channel
to do 2 things at once and it can only do 1 because sync mode means to
block on every command.

If you are still stuck:

Please pastebin a console log on debug level at http://pastebin.freeswitch.org



On Tue, May 17, 2011 at 4:43 AM, Antonio Teixeira
<eagle.antonio@gmail.com> wrote:
> Hello Anthony.
>
> Thanks for your input i have added the channel variable and still the same :
>
> I bridge the call using uuid_bridge and after this LEG B is disconnected.
> LEG A is still alive with due to a time.sleep python (not freeswitch sleep)
> If i do bridge with a time.sleep() on LEG B the two calls are alive but no
> transit of audio.
>
>
> I also tried intercept but still no luck :\
>
> Regards
> A/T
>
>
>
>
> 2011/5/16 Anthony Minessale <anthony.minessale@gmail.com>
>>
>> set the channel variable park_after_bridge=true on all the channels so
>> they go back to park again when the call ends.
>>
>>
>> On Mon, May 16, 2011 at 9:16 AM, Antonio Teixeira
>> <eagle.antonio@gmail.com> wrote:
>> > Hello Anton.
>> >
>> > The problem is the following  :
>> >
>> > I receive an Inbound Call Leg A.
>> > I say something using TTS and place it on Park , grab the channel uuid.
>> >
>> > Fork another call pass the uuid as argument.
>> >
>> > As soon as Leg B picks up , TTS fires UP asks the user a digit and after
>> > we
>> > have got the digit .
>> >
>> > I send uuid_bridge mycurrentchanel + argument uuid from channel A
>> >
>> > And i got +OK great :D
>> >
>> > The problem , Park is now broken and the call is terminated with last
>> > dialplan extension executed or simply the call is terminated HANGUP.
>> >
>> > If i do some time.sleep(40) the calls don't end but they aren't merge i
>> > can't see no RTP flowing trough.
>> >
>> > Hope you guys can help me out.
>> >
>> > Regards
>> > A/T
>> >
>> >
>> >
>> > 2011/5/16 Anton VG <anton.vazir@gmail.com>
>> >>
>> >> I do it with originate &park - all works, i bridge them by uuid_bridge
>> >> successfully
>> >>
>> >> 2011/5/16 Antonio Teixeira <eagle.antonio@gmail.com>:
>> >> > Good Morning.
>> >> >
>> >> > Here i continue my fight against ESL :)
>> >> > On Leg A I'm forking a call that will become Leg B after a short IVR.
>> >> >
>> >> > Anyway
>> >> > Leg A is valet_parked with MOH while i Dial Leg B , Leg B Answers ,
>> >> > Presses
>> >> > 1 and is merged by uuid_bridge
>> >> > Then...
>> >> > Both calls are disconnected with Executed Last Dialplan Command .
>> >> >
>> >> > I have tried everything from freezing the IVR with sleep(in python
>> >> > and
>> >> > using
>> >> > the freeswitch sleep).
>> >> >
>> >> > But i'm unable to merge both calls.
>> >> >
>> >> > As anyone tried something similar.
>> >> >
>> >> > Regards
>> >> > A/T
>> >> >
>> >> >
>> >> >
>> >> > _______________________________________________
>> >> > FreeSWITCH-users mailing list
>> >> > FreeSWITCH-users@lists.freeswitch.org
>> >> > http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
>> >> >
>> >> > UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
>> >> > http://www.freeswitch.org
>> >> >
>> >> >
>> >>
>> >> _______________________________________________
>> >> FreeSWITCH-users mailing list
>> >> FreeSWITCH-users@lists.freeswitch.org
>> >> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
>> >>
>> >> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
>> >> http://www.freeswitch.org
>> >
>> >
>> > _______________________________________________
>> > FreeSWITCH-users mailing list
>> > FreeSWITCH-users@lists.freeswitch.org
>> > http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
>> > UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
>> > http://www.freeswitch.org
>> >
>> >
>>
>>
>>
>> --
>> Anthony Minessale II
>>
>> FreeSWITCH http://www.freeswitch.org/
>> ClueCon http://www.cluecon.com/
>> Twitter: http://twitter.com/FreeSWITCH_wire
>>
>> AIM: anthm
>> MSN:anthony_minessale@hotmail.com
>> GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com
>> IRC: irc.freenode.net #freeswitch
>>
>> FreeSWITCH Developer Conference
>> sip:888@conference.freeswitch.org
>> googletalk:conf+888@conference.freeswitch.org
>> pstn:+19193869900
>>
>> _______________________________________________
>> FreeSWITCH-users mailing list
>> FreeSWITCH-users@lists.freeswitch.org
>> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
>> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
>> http://www.freeswitch.org
>
>
> _______________________________________________
> FreeSWITCH-users mailing list
> FreeSWITCH-users@lists.freeswitch.org
> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
> http://www.freeswitch.org
>
>



--
Anthony Minessale II

FreeSWITCH http://www.freeswitch.org/
ClueCon http://www.cluecon.com/
Twitter: http://twitter.com/FreeSWITCH_wire

AIM: anthm
MSN:anthony_minessale@hotmail.com
GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com
IRC: irc.freenode.net #freeswitch

FreeSWITCH Developer Conference
sip:888@conference.freeswitch.org
googletalk:conf+888@conference.freeswitch.org
pstn:+19193869900

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