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

Reply via email to