[Freeswitch-users] Re - FreeSWITCH Lua CUSTOM events interrupting session:streamFile playback - is this possible?

Seven Du dujinfang at gmail.com
Tue Dec 9 02:15:45 MSK 2014


I believe the playback_terminitors chan var works, or you could try set an input callback and return “break” when dtmf detected.  

--  
Seven Du
http://about.me/dujinfang
http://www.dujinfang.com

http://www.freeswitch.org.cn


Sent with Sparrow (http://www.sparrowmailapp.com/?sig)


On Tuesday, December 9, 2014 at 7:00 AM, Andrew Keil wrote:

> To FreeSWITCH users,
>   
> After progressing with Lua inside FreeSWITCH I have a question that I cannot source an answer for within the current FreeSWITCH documentation.
>   
> I have a requirement for an external application to process an event (via the event socket layer) then return the results back to the application while an audio file is played back in a loop to the caller.
>   
> From the current documentation this method allows for the event to be sent then the return event is “consumed” using a polling approach.  However the caller is listening to silence.
>   
> function poll()
>     -- create event and listener
>     local event = freeswitch.Event("CUSTOM", "ping::running?")
>     local con = freeswitch.EventConsumer("CUSTOM", "ping::running!")
>   
>     -- add text ad libitum
>     event:addHeader("hi", "there")
>     -- fire event
>     event:fire()
>     -- and wait for reply but not very long
>                 local retevent = con:pop(1, 5000)
>     if retevent then
>         print("reply received")
>                                 freeswitch.consoleLog("DEBUG",  string.format("reply received: %s\n",retevent:getHeader("Result")))
>         return true
>     end
>     print("no reply")
>                 freeswitch.consoleLog("DEBUG", "no reply\n")  
>     return false
> end
>   
> Some questions:
> 1)      Is there a way to playback audio (eg. session:streamFile(…)) while this takes place, since currently session:streamFile(…) seems to be a blocking function (ie. Finishes when the audio file is played back completely)?
> 2)      Is there a way to use session:setInputCallback(…) to handle an external CUSTOM event being returned (since this would then be able to interrupt the session:streamFile(…) just like it does for DTMF or speech recognition)?
>   
> If you have a preferred approach to solving this then I am open to your suggestions.
>   
> I appreciate any assistance that you can give.
>   
> Kind Regards,
>   
> Andrew Keil
>   
>  
>  
> _________________________________________________________________________
> Professional FreeSWITCH Consulting Services:  
> consulting at freeswitch.org (mailto:consulting at freeswitch.org)
> http://www.freeswitchsolutions.com
>  
> Official FreeSWITCH Sites
> http://www.freeswitch.org
> http://confluence.freeswitch.org
> http://www.cluecon.com
>  
> FreeSWITCH-users mailing list
> FreeSWITCH-users at lists.freeswitch.org (mailto: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/20141209/ff09e0ae/attachment-0001.html 


Join us at ClueCon 2016 Aug 8-12, 2016
More information about the FreeSWITCH-users mailing list