Hi Anthony, Thanks for the quick and detailed reply. Could i pick your brain on the last remark, what i'd like to do is: - play a configurable time of hold music (30 seconds in the example) but this will be a variable later - play a message (and optionally detect dtmf if needed) - if no dtmf then continue music and loop the above. So basically creating an inbound holding point for people to wait before their call is answered, but give them the option to leave the 'queue' to direct them else where. Would in the async ESL i be able to stop the stream of music or would i need to do a bridge to local/9999 and unbridge to continue when i want to? Would ESL be the best way to do this ? Thanks for the help so far. Regards, Tj On 18 Mar 2010, at 21:19, Anthony Minessale wrote:
The script is executing in the foreground and is being executed on your channel.
You cannot tell the channel to do something else because it's already running your script so it can only run something else on top of it.
you have 2 choices:
1) use the socket app in async mode and external scripts with an ESL plugin. 2) instead of executing the script on the session launch a script in a sep thread with the current uuid ad an argument then execute park and let the script control the channel remotely
Even better reconsider what you want to do and avoid working against the grain of how the existing architecture is flowing and you will have the best results.
On Thu, Mar 18, 2010 at 3:02 PM, Tjardick van der Kraan <tjardick@vanderkraan.net
wrote: Hi.
I'm trying to create a lua script but would like a certain task (music on hold) to be 'backgrounded':
-- Loop while the call is active while (session:ready() == true) do -- do something here session:execute("playback", moh) freeswitch.consoleLog("INFO","Started music on hold.\n"); -- do some stuff while playing music session:sleep(30000); -- Maybe we need a way to stop music or playback will stop automatically? session:execute("playback", "/sounds/we_will_answer_asap.wav") freeswitch.consoleLog("INFO","Play'ed announcement.\n"); end
"ofcourse" currently the only thin that happens is the music and my loop does not continue. Is there a way to start/stop music in the background?
I guess in Asterisk language i will need the command StartMusicOnHold...
Thanks for any suggestions.
Regards,
Tj
_______________________________________________ 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 iax:guest@conference.freeswitch.org/888 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