<div>
                    I believe the playback_terminitors chan var works, or you could try set an input callback and return “break” when dtmf detected.
                </div>
                <div><div><br></div><div>--&nbsp;</div><div>Seven Du</div><div><span style="font-size: 10pt;">http://about.me/dujinfang</span></div><div><div>http://www.dujinfang.com</div></div><div><div><span style="font-size: 10pt;">http://www.freeswitch.org.cn</span></div></div><div><span style="font-size: 10pt;"><br></span></div><div>Sent with <a href="http://www.sparrowmailapp.com/?sig">Sparrow</a></div><div><br></div></div>
                 
                <p style="color: #A0A0A8;">On Tuesday, December 9, 2014 at 7:00 AM, Andrew Keil wrote:</p>
                <blockquote type="cite" style="border-left-style:solid;border-width:1px;margin-left:0px;padding-left:10px;">
                    <span><div><div>

<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->


<div>
<p style="margin: 0px;">To FreeSWITCH users,<o:p></o:p></p>
<p style="margin: 0px;"><o:p>&nbsp;</o:p></p>
<p style="margin: 0px;">After progressing with Lua inside FreeSWITCH I have a question that I cannot source an answer for within the current FreeSWITCH documentation.<o:p></o:p></p>
<p style="margin: 0px;"><o:p>&nbsp;</o:p></p>
<p style="margin: 0px;">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.<o:p></o:p></p>
<p style="margin: 0px;"><o:p>&nbsp;</o:p></p>
<p style="margin: 0px;">From the current documentation this method allows for the event to be sent then the return event is “consumed” using a polling approach.&nbsp; However the caller is listening to silence.<o:p></o:p></p>
<p style="margin: 0px;"><o:p>&nbsp;</o:p></p>
<p style="margin: 0px;">function poll()<o:p></o:p></p>
<p style="margin: 0px;">&nbsp;&nbsp;&nbsp; -- create event and listener<o:p></o:p></p>
<p style="margin: 0px;">&nbsp;&nbsp;&nbsp; local event = freeswitch.Event("CUSTOM", "ping::running?")<o:p></o:p></p>
<p style="margin: 0px;">&nbsp;&nbsp;&nbsp; local con = freeswitch.EventConsumer("CUSTOM", "ping::running!")<o:p></o:p></p>
<p style="margin: 0px;"><o:p>&nbsp;</o:p></p>
<p style="margin: 0px;">&nbsp;&nbsp;&nbsp; -- add text ad libitum<o:p></o:p></p>
<p style="margin: 0px;">&nbsp;&nbsp;&nbsp; event:addHeader("hi", "there")<o:p></o:p></p>
<p style="margin: 0px;">&nbsp;&nbsp;&nbsp; -- fire event<o:p></o:p></p>
<p style="margin: 0px;">&nbsp;&nbsp;&nbsp; event:fire()<o:p></o:p></p>
<p style="margin: 0px;">&nbsp;&nbsp;&nbsp; -- and wait for reply but not very long<o:p></o:p></p>
<p style="margin: 0px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; local retevent = con:pop(1, 5000)<o:p></o:p></p>
<p style="margin: 0px;">&nbsp;&nbsp;&nbsp; if retevent then<o:p></o:p></p>
<p style="margin: 0px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; print("reply received")<o:p></o:p></p>
<p style="margin: 0px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; freeswitch.consoleLog("DEBUG",&nbsp; string.format("reply received: %s\n",retevent:getHeader("Result")))<o:p></o:p></p>
<p style="margin: 0px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return true<o:p></o:p></p>
<p style="margin: 0px;">&nbsp;&nbsp;&nbsp; end<o:p></o:p></p>
<p style="margin: 0px;">&nbsp;&nbsp;&nbsp; print("no reply")<o:p></o:p></p>
<p style="margin: 0px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; freeswitch.consoleLog("DEBUG", "no reply\n")
<o:p></o:p></p>
<p style="margin: 0px;">&nbsp;&nbsp;&nbsp; return false<o:p></o:p></p>
<p style="margin: 0px;">end<o:p></o:p></p>
<p style="margin: 0px;"><o:p>&nbsp;</o:p></p>
<p style="margin: 0px;"><u>Some questions:<o:p></o:p></u></p>
<p style="margin: 0px;"><!--[if !supportLists]--><span style="mso-list:Ignore">1)<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><!--[endif]-->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)?<o:p></o:p></p>
<p style="margin: 0px;"><!--[if !supportLists]--><span style="mso-list:Ignore">2)<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><!--[endif]-->Is there a way to use <span lang="EN">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)?</span><o:p></o:p></p>
<p style="margin: 0px;"><span lang="EN"><o:p>&nbsp;</o:p></span></p>
<p style="margin: 0px;"><span lang="EN">If you have a preferred approach to solving this then I am open to your suggestions.</span><o:p></o:p></p>
<p style="margin: 0px;"><o:p>&nbsp;</o:p></p>
<p style="margin: 0px;">I appreciate any assistance that you can give.<o:p></o:p></p>
<p style="margin: 0px;"><o:p>&nbsp;</o:p></p>
<p style="margin: 0px;"><span style="mso-fareast-language:EN-AU">Kind Regards,<o:p></o:p></span></p>
<p style="margin: 0px;"><span style="mso-fareast-language:EN-AU"><o:p>&nbsp;</o:p></span></p>
<p style="margin: 0px;"><span style="mso-fareast-language:EN-AU">Andrew Keil<o:p></o:p></span></p>
<p style="margin: 0px;"><o:p>&nbsp;</o:p></p>
</div>


</div><div><div>_________________________________________________________________________</div><div>Professional FreeSWITCH Consulting Services: </div><div><a href="mailto:consulting@freeswitch.org">consulting@freeswitch.org</a></div><div><a href="http://www.freeswitchsolutions.com">http://www.freeswitchsolutions.com</a></div><div><br></div><div>Official FreeSWITCH Sites</div><div><a href="http://www.freeswitch.org">http://www.freeswitch.org</a></div><div><a href="http://confluence.freeswitch.org">http://confluence.freeswitch.org</a></div><div><a href="http://www.cluecon.com">http://www.cluecon.com</a></div><div><br></div><div>FreeSWITCH-users mailing list</div><div><a href="mailto:FreeSWITCH-users@lists.freeswitch.org">FreeSWITCH-users@lists.freeswitch.org</a></div><div><a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a></div><div>UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users">http://lists.freeswitch.org/mailman/options/freeswitch-users</a></div><div><a href="http://www.freeswitch.org">http://www.freeswitch.org</a></div></div></div></span>
                 
                 
                 
                 
                </blockquote>
                 
                <div>
                    <br>
                </div>