You need to be aware of the operation of the signaling protocol your system uses and design your state table accordingly. In general, trunk protocols provide call information (called and calling numbers) but not call transfer, while line-side (station) protocols provide call transfer but not call information. To get both call information and call transfer, you may need to use an exchange data link. For example, the exchange data link using CallPath Server provides call information.
Far-end hangup detection is another function that is not supported by some protocols. Again, if you use an exchange data link that uses CallPath Server, far-end hangup detection is supported. (See Coordinated call and data transfer.)
The best way of choosing a state table to handle an incoming call is to use the called number (appearing to callers that they have “gone straight through to” the voice response service). However, if the called number is unavailable there are two other options: see Handling incoming calls in your production system.
Ayava switches with the converse feature cannot send DNIS information using the incoming address signaling options, and therefore cannot be retrieved by the Blueworx Voice Response system variable SV185. Such switches send DNIS information as DTMF keys after Blueworx Voice Response answers the call. To handle this, you need to modify the state table identified by the system parameter: State Table Name for Incoming Calls (the default is Incoming_Call). See Can you write your own state table to answer calls? for details of how to do this.
When using line-side (station) protocols such as FXS and RE, you are recommended to use dial tone detection when making outbound calls and call transfers (see the information about MakeCall in the Blueworx Voice Response for AIX: Application Development using State Tables information).
You need to be aware that some protocols, generally loop start protocols such as FXS, do not include positive hangup detection.
In the absence of any indication from the switch, when a caller hangs up, the state table continues to run until a CloseEverything action. To avoid executing a state table unnecessarily:
Here’s an example that highlights the potential for various problems you may encounter based on your specific configuration. Suppose your system is connected to a ROLM 9751 switch that is configured to use the FXS Loop Start protocol. When a caller hangs up before a voice application has completed execution, the following events occur:
The problem in this example could have been eliminated by reducing the timeout and repeat count values so that the voice application timed out before the switch issued the second error tone.