[Freeswitch-users] ESL Bridge

Anton VG anton.vazir at gmail.com
Wed May 18 10:07:41 MSD 2011


I've been unsuccessful in trying to get use of SetAsyncExecute and
SetEventLock to temporary switch to sync, while in outbound async full
mode. System behaves as is. and finally I've decided to stick with
async paradigm, and store events in spool, and than analyse regardless
of the order. Maybe I was doing something wrong, but more
test/analysis definitely required there...

2011/5/17 Antonio Teixeira <eagle.antonio at gmail.com>:
> 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 at 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 at 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 at 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 at 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 at 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 at gmail.com>
>> >> >>
>> >> >> I do it with originate &park - all works, i bridge them by
>> >> >> uuid_bridge
>> >> >> successfully
>> >> >>
>> >> >> 2011/5/16 Antonio Teixeira <eagle.antonio at 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 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
>> >> >> >
>> >> >> >
>> >> >>
>> >> >> _______________________________________________
>> >> >> 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
>> >> >
>> >> >
>> >> > _______________________________________________
>> >> > 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
>> >> >
>> >> >
>> >>
>> >>
>> >>
>> >> --
>> >> Anthony Minessale II
>> >>
>> >> FreeSWITCH http://www.freeswitch.org/
>> >> ClueCon http://www.cluecon.com/
>> >> Twitter: http://twitter.com/FreeSWITCH_wire
>> >>
>> >> AIM: anthm
>> >> MSN:anthony_minessale at hotmail.com
>> >> GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com
>> >> IRC: irc.freenode.net #freeswitch
>> >>
>> >> FreeSWITCH Developer Conference
>> >> sip:888 at conference.freeswitch.org
>> >> googletalk:conf+888 at conference.freeswitch.org
>> >> pstn:+19193869900
>> >>
>> >> _______________________________________________
>> >> 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
>> >
>> >
>> > _______________________________________________
>> > 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
>> >
>> >
>>
>>
>>
>> --
>> Anthony Minessale II
>>
>> FreeSWITCH http://www.freeswitch.org/
>> ClueCon http://www.cluecon.com/
>> Twitter: http://twitter.com/FreeSWITCH_wire
>>
>> AIM: anthm
>> MSN:anthony_minessale at hotmail.com
>> GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com
>> IRC: irc.freenode.net #freeswitch
>>
>> FreeSWITCH Developer Conference
>> sip:888 at conference.freeswitch.org
>> googletalk:conf+888 at conference.freeswitch.org
>> pstn:+19193869900
>>
>> _______________________________________________
>> 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
>
>
> _______________________________________________
> 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
>
>



More information about the FreeSWITCH-users mailing list