The call deflection service can be invoked by the served user on an incoming call if the call state is WAIT_INCOMING.
If the stack is configured to automatically send the ALERT on incoming calls, the deflection will fail due to invalid states at the network side.
Note: The ALERT is sent by default on the user side when no structure is passed to isdnStartProtocol. To change this behavior, change the settings of the CC_VOICE_ALERT_RQ and CC_DATA_ALERT_RQ bits in the in_calls_behavior substructure (described in the Dialogic® NaturalAccess™ ISDN Messaging API Developer's Manual). You can cause the stack to send a PROC RQ instead by setting the CC_SEND_CALL_PROC_RQ bit.
To invoke call deflection for a call, the application sends an ACU request message to the stack containing an acu_ss_deflect_invoke extended data structure.
If call deflection is successfully invoked for the call, the stack returns an ACU indication message to the stack containing an acu_ss_deflect_ret_result extended data structure.
If call deflection is not successfully invoked for the call, the stack returns an ACU indication message to the application containing an acu_ss_deflect_ret_error extended data structure.
The following illustration shows the exchange of messages that takes place when call deflection is invoked for a call. In this scenario, user A is calling user B, and user B (for example, PBX) deflects the call to user C.
Note: The following illustration is representative of exchanges, and is not intended to be complete. Many factors impact the message flow, including the subscription option configurations at the network side of the interface.
