[Freeswitch-users] Executing Multiple Applications in parallel
Usama Zaidi
itsusama at gmail.com
Sat Jan 26 07:26:31 MSK 2013
http://pastebin.freeswitch.org/20508 I just checked the link and it works...
On Sat, Jan 26, 2013 at 5:44 AM, Usama Zaidi <itsusama at gmail.com> wrote:
> Hey,
>
> I posted this earlier as a question, but I think this might be relevant.
> ttp://pastebin.freeswitch.org/20508 <http://pastebin.freeswitch.org/20508>.
> The workaround (hack) for my issue is to check the connection state
> ($con->connected()) every time you loop and reconnect and subscribe for
> events again when that returns false.
>
> On Sat, Jan 26, 2013 at 5:33 AM, <
> freeswitch-users-request at lists.freeswitch.org> wrote:
>
>> Send FreeSWITCH-users mailing list submissions to
>> freeswitch-users at lists.freeswitch.org
>>
>> To subscribe or unsubscribe via the World Wide Web, visit
>> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
>> or, via email, send a message with subject or body 'help' to
>> freeswitch-users-request at lists.freeswitch.org
>>
>> You can reach the person managing the list at
>> freeswitch-users-owner at lists.freeswitch.org
>>
>> When replying, please edit your Subject line so it is more specific
>> than "Re: Contents of FreeSWITCH-users digest..."
>>
>> Today's Topics:
>>
>> 1. Re: Executing multiple applications in parallel (Michael Collins)
>> 2. Re: Executing multiple applications in parallel (JP)
>>
>>
>> ---------- Forwarded message ----------
>> From: Michael Collins <msc at freeswitch.org>
>> To: FreeSWITCH Users Help <freeswitch-users at lists.freeswitch.org>
>> Cc:
>> Date: Fri, 25 Jan 2013 16:10:37 -0800
>> Subject: Re: [Freeswitch-users] Executing multiple applications in
>> parallel
>> The problem you're running into is that you are trying to do two
>> different things inside of the thread that is controlling the call flow.
>> Playing sound files and running Lua scripts are synchronous in this
>> context. This seems more suited for an outbound event socket application.
>> Using the event socket you can control the call while doing other things.
>>
>> Just curious - does anyone have an ESL example of this kind of thing? The
>> wiki could definitely use this kind of example as it is quite useful. I'll
>> look around and see if I can find anything.
>>
>> -MC
>>
>> On Fri, Jan 25, 2013 at 3:00 PM, JP <jaykris at gmail.com> wrote:
>>
>>> Avi,
>>> Thanks for the response. Unfortunately that did not work. This is what I
>>> did
>>>
>>>
>>> <extension name="MyExtension">
>>> <condition field="destination_number" expression="9005">
>>> <action application="answer"/>
>>> <action application="play_and_get_digits" data="4 16 3 7000
>>> # phrase:MyPrompt phrase:My_invalid_entry case_number \d+" />
>>> <action application="playback" data="phrase:wait_msg" />
>>> <action application="sched_broadcast" data="+0
>>> playback::/tmp/WPJ_MUSIC_QUEUE_4.wav"/>
>>> <action application="lua" data="get_customer_info.lua
>>> ${case_number}" />
>>> </condition>
>>> </extension>
>>>
>>> The music only plays after the Lua script exits. I played around with
>>> the timer value, but that did not help either. Any other ideas?
>>>
>>> Thanks
>>> JP
>>>
>>>
>>> On Fri, Jan 25, 2013 at 1:22 AM, Avi Marcus <avi at avimarcus.net> wrote:
>>>
>>>> ESL gives you more control, especially to execute things in parallel.
>>>> If you want to do it within FS, that's a little more complicated, since
>>>> most things are sequential.
>>>>
>>>> However, if you use the async APIs, then I think it could work:
>>>> 1) sched_broadcast<http://wiki.freeswitch.org/wiki/Misc._Dialplan_Tools_sched_broadcast> --
>>>> schedule the playback of your file on the UUID of the channel, for +0,
>>>> meaning now.
>>>> 2) run your lua script
>>>> 3) Then stop (break) the playback on that uuid: break<http://wiki.freeswitch.org/wiki/Misc._Dialplan_Tools_break>
>>>> 4) Continue with your execution.
>>>>
>>>> Please wikify your results and let us know how that works out!
>>>> -Avi
>>>>
>>>> On Fri, Jan 25, 2013 at 3:34 AM, JP <jaykris at gmail.com> wrote:
>>>>
>>>>> I want to do the following...
>>>>>
>>>>> 1. Play a long music file from a dialplan.
>>>>> 2. While the music is playing, I want to launch a Lua script to do
>>>>> some data dip.
>>>>> 3. Once the data is fetched and Lua exits, I want to interrupt the
>>>>> music and continue in the dialplan
>>>>>
>>>>> How do I do this. Any sample code or pointers would be greatly
>>>>> appreciated.
>>>>>
>>>>> Thanks
>>>>>
>>>>>
>>>>> _________________________________________________________________________
>>>>> Professional FreeSWITCH Consulting Services:
>>>>> consulting at freeswitch.org
>>>>> http://www.freeswitchsolutions.com
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> Official FreeSWITCH Sites
>>>>> http://www.freeswitch.org
>>>>> http://wiki.freeswitch.org
>>>>> http://www.cluecon.com
>>>>>
>>>>> 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
>>>>>
>>>>>
>>>>
>>>>
>>>> _________________________________________________________________________
>>>> Professional FreeSWITCH Consulting Services:
>>>> consulting at freeswitch.org
>>>> http://www.freeswitchsolutions.com
>>>>
>>>>
>>>>
>>>>
>>>> Official FreeSWITCH Sites
>>>> http://www.freeswitch.org
>>>> http://wiki.freeswitch.org
>>>> http://www.cluecon.com
>>>>
>>>> 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
>>>>
>>>>
>>>
>>> _________________________________________________________________________
>>> Professional FreeSWITCH Consulting Services:
>>> consulting at freeswitch.org
>>> http://www.freeswitchsolutions.com
>>>
>>>
>>>
>>>
>>> Official FreeSWITCH Sites
>>> http://www.freeswitch.org
>>> http://wiki.freeswitch.org
>>> http://www.cluecon.com
>>>
>>> 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
>>>
>>>
>>
>>
>> --
>> Michael S Collins
>> Twitter: @mercutioviz
>> http://www.FreeSWITCH.org
>> http://www.ClueCon.com
>> http://www.OSTAG.org
>>
>>
>>
>> ---------- Forwarded message ----------
>> From: JP <jaykris at gmail.com>
>> To: FreeSWITCH Users Help <freeswitch-users at lists.freeswitch.org>
>> Cc:
>> Date: Fri, 25 Jan 2013 16:32:50 -0800
>> Subject: Re: [Freeswitch-users] Executing multiple applications in
>> parallel
>> MC,
>> Thanks for the info. Unfortunately outbound event socket application is
>> not an option for me right now. I was wondering if the following "ideas"
>> can be of any use to me( I know I am trying clutch at straws, but hope is
>> eternal :))
>> 1. Use "bgapi". Although on the wiki I only see this used with
>> "originate".
>> 2. Can I use a conference to park the caller there while playing music on
>> another call leg of the conference. Meanwhile can I execute the Lua script
>> :))
>> 3. Can I launch another Lua script from my original one asynchronously?
>> 4. Can I have a start up Lua script running in the background listening
>> for some custom events and I can have the main caller thread generate the
>> custom event and then start playing long music file. Once the background
>> Lua script is done with the data dip, it can just break the music on the
>> other channel.
>>
>> That's it from me. Someone help me from sinking... please.
>>
>> Thanks,
>> -JP
>>
>>
>> On Fri, Jan 25, 2013 at 4:10 PM, Michael Collins <msc at freeswitch.org>wrote:
>>
>>> The problem you're running into is that you are trying to do two
>>> different things inside of the thread that is controlling the call flow.
>>> Playing sound files and running Lua scripts are synchronous in this
>>> context. This seems more suited for an outbound event socket application.
>>> Using the event socket you can control the call while doing other things.
>>>
>>> Just curious - does anyone have an ESL example of this kind of thing?
>>> The wiki could definitely use this kind of example as it is quite useful.
>>> I'll look around and see if I can find anything.
>>>
>>> -MC
>>>
>>>
>>> On Fri, Jan 25, 2013 at 3:00 PM, JP <jaykris at gmail.com> wrote:
>>>
>>>> Avi,
>>>> Thanks for the response. Unfortunately that did not work. This is what
>>>> I did
>>>>
>>>>
>>>> <extension name="MyExtension">
>>>> <condition field="destination_number" expression="9005">
>>>> <action application="answer"/>
>>>> <action application="play_and_get_digits" data="4 16 3 7000
>>>> # phrase:MyPrompt phrase:My_invalid_entry case_number \d+" />
>>>> <action application="playback" data="phrase:wait_msg" />
>>>> <action application="sched_broadcast" data="+0
>>>> playback::/tmp/WPJ_MUSIC_QUEUE_4.wav"/>
>>>> <action application="lua" data="get_customer_info.lua
>>>> ${case_number}" />
>>>> </condition>
>>>> </extension>
>>>>
>>>> The music only plays after the Lua script exits. I played around with
>>>> the timer value, but that did not help either. Any other ideas?
>>>>
>>>> Thanks
>>>> JP
>>>>
>>>>
>>>> On Fri, Jan 25, 2013 at 1:22 AM, Avi Marcus <avi at avimarcus.net> wrote:
>>>>
>>>>> ESL gives you more control, especially to execute things in parallel.
>>>>> If you want to do it within FS, that's a little more complicated,
>>>>> since most things are sequential.
>>>>>
>>>>> However, if you use the async APIs, then I think it could work:
>>>>> 1) sched_broadcast<http://wiki.freeswitch.org/wiki/Misc._Dialplan_Tools_sched_broadcast> --
>>>>> schedule the playback of your file on the UUID of the channel, for +0,
>>>>> meaning now.
>>>>> 2) run your lua script
>>>>> 3) Then stop (break) the playback on that uuid: break<http://wiki.freeswitch.org/wiki/Misc._Dialplan_Tools_break>
>>>>> 4) Continue with your execution.
>>>>>
>>>>> Please wikify your results and let us know how that works out!
>>>>> -Avi
>>>>>
>>>>> On Fri, Jan 25, 2013 at 3:34 AM, JP <jaykris at gmail.com> wrote:
>>>>>
>>>>>> I want to do the following...
>>>>>>
>>>>>> 1. Play a long music file from a dialplan.
>>>>>> 2. While the music is playing, I want to launch a Lua script to do
>>>>>> some data dip.
>>>>>> 3. Once the data is fetched and Lua exits, I want to interrupt the
>>>>>> music and continue in the dialplan
>>>>>>
>>>>>> How do I do this. Any sample code or pointers would be greatly
>>>>>> appreciated.
>>>>>>
>>>>>> Thanks
>>>>>>
>>>>>>
>>>>>> _________________________________________________________________________
>>>>>> Professional FreeSWITCH Consulting Services:
>>>>>> consulting at freeswitch.org
>>>>>> http://www.freeswitchsolutions.com
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> Official FreeSWITCH Sites
>>>>>> http://www.freeswitch.org
>>>>>> http://wiki.freeswitch.org
>>>>>> http://www.cluecon.com
>>>>>>
>>>>>> 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
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> _________________________________________________________________________
>>>>> Professional FreeSWITCH Consulting Services:
>>>>> consulting at freeswitch.org
>>>>> http://www.freeswitchsolutions.com
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> Official FreeSWITCH Sites
>>>>> http://www.freeswitch.org
>>>>> http://wiki.freeswitch.org
>>>>> http://www.cluecon.com
>>>>>
>>>>> 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
>>>>>
>>>>>
>>>>
>>>>
>>>> _________________________________________________________________________
>>>> Professional FreeSWITCH Consulting Services:
>>>> consulting at freeswitch.org
>>>> http://www.freeswitchsolutions.com
>>>>
>>>>
>>>>
>>>>
>>>> Official FreeSWITCH Sites
>>>> http://www.freeswitch.org
>>>> http://wiki.freeswitch.org
>>>> http://www.cluecon.com
>>>>
>>>> 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
>>>>
>>>>
>>>
>>>
>>> --
>>> Michael S Collins
>>> Twitter: @mercutioviz
>>> http://www.FreeSWITCH.org
>>> http://www.ClueCon.com
>>> http://www.OSTAG.org
>>>
>>>
>>> _________________________________________________________________________
>>> Professional FreeSWITCH Consulting Services:
>>> consulting at freeswitch.org
>>> http://www.freeswitchsolutions.com
>>>
>>>
>>>
>>>
>>> Official FreeSWITCH Sites
>>> http://www.freeswitch.org
>>> http://wiki.freeswitch.org
>>> http://www.cluecon.com
>>>
>>> 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
>>
>>
>
>
> --
> I'd love to change the world, but they wont gimme the source code to it
>
--
I'd love to change the world, but they wont gimme the source code to it
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20130126/2b82d2b6/attachment-0001.html
Join us at ClueCon 2011 Aug 9-11, 2011
More information about the FreeSWITCH-users
mailing list