[Freeswitch-users] ESL Bridge

Antonio Teixeira eagle.antonio at gmail.com
Tue May 17 20:37:03 MSD 2011


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 XXXXXX4998
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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20110517/a6f2fce4/attachment-0001.html 


More information about the FreeSWITCH-users mailing list