Confirm a request to clear an active call.
Mandatory for common channel signaling processes. The primitive is not used by exchange data link signaling processes.
The signaling interface library (libsl.a).
typedef struct { SL_ID id; int iseq_no; pid_t pidCHP; SL_PRIMITIVE_TYPE Command; SL_CONFIRM_PARM_ST Parms; } SL_CONFIRM_ST; ... typedef union { ... struct _call_terminate_confirm_st { size_t sizetLength; SL_REPLY_CODE ReplyCode; SL_CALL_REF slCallReference; SL_APPL_INFO_ST slApplInfo; } call_terminate_confirm_st; ... } SL_CONFIRM_PARM_ST;
The SL_CALL_TERMINATE_CNF primitive is sent by the signaling process to the channel process to confirms that a call has been cleared. After this primitive is sent the call reference value specified in slCallReference is no longer valid, and the call is in the null state.
If the signaling process receives an SL_CALL_TERMINATE_REQ for a call reference that it does not recognize, it should send SL_CALL_TERMINATE_CNF with ReplyCode set to SL_REPLY_GLARE.
The digital trunk device driver prevents any further voice traffic from being sent from Blueworx Voice Response to the line. Any voice data or DTMF data received from the line before the SL_CALL_TERMINATE_CNF primitive was sent, but not yet read by the channel process or custom server, is still available for processing by the state table.
An exchange data link that has registered for transfer capability uses this primitive to reply to an SL_CALL_TERMINATE_REQ.
The SL_CALL_TERMINATE_REQ primitive and the matching SL_CALL_TERMINATE_CNF correspond to the TerminateCall or CloseEverything state table actions. See the Blueworx Voice Response for AIX: Application Development using State Tables information.
Consider the following example. The channel process sends an SL_CALL_TERMINATE_REQ to the signaling process. The signaling process receives a clearing indication from the network, before it receives the SL_CALL_TERMINATE_REQ. In response to the clear from the network, the signaling process sends SL_CALL_TERMINATE_IND to Blueworx Voice Response. When the signaling process finally receives the SL_CALL_TERMINATE_REQ, it contains a call reference for a call that is now cleared. This is not an error.
A similar situation can arise when the signaling process clears to the network, at the same time that the network sends a clearing message to the signaling process.