Adding fax-tone detection to a state table

If you want to detect fax tones for inbound calls in a state table, for example the WELCOME state table, do the following:

  1. Before the AnswerCall action use the AssignData action to set the System : Fax detection system variable (SV227) to 3, to set up both-way fax detection.
  2. After the AnswerCall action, use the PlayPrompt action to play a prompt that lasts for at least 7 seconds to ensure that the application can receive at least one fax tone. This prompt should be interruptible, that is, it should not be force played.
  3. When the PlayPrompt action returns “succeeded” or “nothing played” check the System : Action additional information system variable (SV180). If SV180 is set to 3 (stopped by fax) then a fax tone has been detected and you can transfer the call to a fax machine, invoke the BFAX_RECV_FAX state table or hang up.

For outbound calls:

  1. Use the AssignData action to set the System : Fax detection system variable (SV227) to 3, for both-way fax detection.
  2. Use the MakeCall action to set up the call.
  3. Use the PlayPrompt action to play a prompt for at least 7 seconds.
  4. When the PlayPrompt action returns “succeeded” or “nothing played” check the System : Action additional information system variable (SV180). If SV180 is set to 3 (stopped by fax) then a fax tone has been detected and you can send a fax.

Use only the PlayPrompt action to detect fax tones at the beginning of a call, because most other play and record actions flush any input as part of their normal operation. If you want to turn off fax-tone detection for the remainder of a call, set SV227 to 0.

Using the state table debugger with fax-tone detection

When you use the State Table Debugger an AnswerCall action is converted to a MakeCall action by the debugger so an AnswerCall in your state table will be seen by your telephone or fax machine as an outbound call from Blueworx Voice Response, and the tone it generates will be the detect outbound tone, not the detect inbound tone. So, when you are using the State Table Debugger, set SV227 to the inverse of what it will be in normal operation, or set it to 3 for both-way detection.