[Freeswitch-users] Want to play music on hold while executing a time consuming operation in Lua
anthony.minessale at gmail.com
Fri Jun 17 21:30:42 MSD 2011
In this case, it turns out you are asking the girl to defy physics for you.
The session is executing the script code in the same thread that needs
to play the audio.
You cannot magically do 2 things at once in the same thread so....
using ASYNC (esl) is your only choice apart from using C and threads
or launching the lua script in another thread with luarun with the
channel uuid as an arg so it can feed it to the constructor and send
commands to it remotely which is a pretty big mess.....
On Thu, Jun 16, 2011 at 4:56 PM, Sidharth Kshatriya
<sid.kshatriya at gmail.com> wrote:
> Thanks Michael. This is quite a mainstream requirement :-) ! Not everyone
> uses ESL. Is there no way we can "hack" this in Lua?
> Will await your research,
> On Thu, Jun 16, 2011 at 11:51 PM, Michael Collins <msc at freeswitch.org>
>> Actually, I am looking into ways to accomplish these. They are somewhat
>> related to some recipes I am doing for the FS Cookbook. Please stand by.
>> FYI, I am looking at an ESL-based solution, not a dialplan script. Thus far
>> I have not found a viable way to do async stuff like this from a dp script
>> and I'm thinking ESL is the way to go. I will report back in a bit.
>> On Wed, Jun 15, 2011 at 9:53 PM, Sidharth Kshatriya
>> <sid.kshatriya at gmail.com> wrote:
>>> I am implementing an IVR using Lua in Freeswitch. In my Lua script I use
>>> curl to a web service. Sometimes the response takes a long time to come
>>> back. During that time period I would like to play music on hold.
>>> I have searched the freeswitch discussion archives a lot. There seem to
>>> be many suggested ways to implement music on hold from a Lua script but the
>>> answers are not very clear / not really applicable to my use case. I don't
>>> know what method I should use and which one is recommended.
>>> Method 1: Transfer the call to 9664 (music on hold extension). However
>>> the implementation for this solution for this does not seem to be available
>>> in Lua. For example: How would I transfer the call back?
>>> Method 2: Using bgapi uuid_park park the call and using uuid_broadcast
>>> play an audio file. Again what do I do to unpark the call..?
>>> [P.S. This is a repost, I apologize but I never got any responses on my
>>> previous email. Need help! :-) ]
>>> Sidharth Kshatriya
>>> FreeSWITCH-users mailing list
>>> FreeSWITCH-users at lists.freeswitch.org
>> FreeSWITCH-users mailing list
>> FreeSWITCH-users at lists.freeswitch.org
> Sidharth Kshatriya
> Join us at ClueCon 2011, Aug 9-11, Chicago
> http://www.cluecon.com 877-7-4ACLUE
> FreeSWITCH-users mailing list
> FreeSWITCH-users at lists.freeswitch.org
Anthony Minessale II
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
More information about the FreeSWITCH-users