Well, the problem with the dialplan is that you could have a single
entry per application.
However, if your mailbox is capable of receiving both the voice and fax
messages, then the decision which one to take should be taken inside
your application.
In other words, I do have the following in my dialplan:
<extension name="main_entry">
<condition field="destination_number"
_expression_="^(7[0-9][0-9][0-9][0-9])$">
<action application="lua"
data=""/>
</condition>
</extension>
All calls to the #s 70000-7999 are directed to main.lua scrtipt. The
call is answered prompt then, is being played, "Please leave a voice
message or fax".
Now, I need a way to catch a fax tone, if exists, and route my code
flow to the appropriate function.
Note, that the sender may hit 'Send' upon listening the prompt, in
other words, the fax negotiation will not start immediately.
Does it all make sense?
Cheers,
Peter
Michael Collins wrote:
On Wed, Oct 14, 2009 at 11:11 AM, Peter
Volchek <[email protected]>
wrote:
Hi,
Could anyone help me how to setup the event handler within lua script?
My dialplan is simply configured to execute an application for the DID
range.
All code processing is being happened within lua code.
Now, consider the following scenario.
- The call comes in
- My script starts
- The prompt(greeting) is being played "No one is available at a moment,
please leave a message or start sending your fax now"
Are there any ways, to find out at this point, whether fax negotiation
has started?
The following pseudo code would explain my concern:
if ( getEvent("Detected-Tone") == "fax" )
doReceiveFax()
else
doReceiveVoice()
Thanks,
Peter
You can use the tone_detect app per the wiki ( http://wiki.freeswitch.org/wiki/Misc._Dialplan_Tools_tone_detect)
to detect the tone and act accordingly. You just need to decide what to
do while waiting to detect the tone. Personally, I don't like doing too
much call control inside a script, but YMMV.
Not having tried it myself I would suggest trying something simple,
like using the tone_detect app to set a chan var and then have your
script keep checking that chan var until your timeout has expired or it
sees the fax tone.
-MC
|
_______________________________________________
FreeSWITCH-dev mailing list
[email protected]
http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev
http://www.freeswitch.org