SL_CALL_TERMINATE_IND primitive

Purpose

Indicate that an active call has been cleared by the network or the remote end.

Requirement

Mandatory for common channel signaling processes. The primitive is optional by exchange data link signaling processes.

Library

The signaling interface library (libsl.a).

C syntax

typedef struct {
                SL_ID id;
                int iseq_no;
                pid_t pidCHP;
                SL_PRIMITIVE_TYPE Command;	
                SL_INDICATION_PARM_ST Parms;
} SL_INDICATION_ST;
...
typedef union {
...
                struct _call_terminate_indication_st {
                    size_t sizetLength;
                    SL_CALL_REF slCallReference;
                    SL_BOOL fFarEnd;
                    int iCause;
                    int iChannelNo;
                    int iVpackNo;
                } call_terminate_indication_st;
...
} SL_INDICATION_PARM_ST;

Description

The SL_CALL_TERMINATE_IND primitive is sent by the signaling process to Blueworx Voice Response to indicate that an active call has been cleared by the network or the far end. When the signaling process is informed by the network that a call is being cleared, it completes any clearing actions required by the network, and sends the SL_CALL_TERMINATE_IND primitive to Blueworx Voice Response. In the case of an exchange data link protocol, SL_CALL_TERMINATE_IND is usually used in conjunction with a CAS protocols that does not provide reliable hangup detection. In the case of an exchange data link protocol used with a CAS signaling protocol that does provide positive hangup detection, the SL_CALL_TERMINATE_IND is ignored by default (see Far-End hangup in exchange data link signaling processes). For common channel signaling protocols, the SL_CALL_TERMINATE_IND primitive is the means by which calls cleared by the network are notified to Blueworx Voice Response.

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 that has been received from the line before the SL_CALL_TERMINATE_IND primitive was sent, but that has not yet been read by the channel process is still available for processing.

Corresponding state table action

This primitive does not correspond to a state table action, but does cause the current state table action to terminate with the Caller Hung Up result.

Parameters

id
Eye-catcher that identifies the structure as containing an indication primitive. Must be set to SLID_INDICATION_ST.
iseq_no
The sequence number of the primitive. Must be set to 0.
pidCHP
The process id of the channel process for the call.

For calls originated by, Blueworx Voice Response this should be set to the pidCHP field supplied as part of the SL_CALL_SETUP_REQ primitive.

For a call originated by the network, which the signaling process has notified to Blueworx Voice Response using the SL_CALL_SETUP_IND primitive, and which Blueworx Voice Response has answered by sending the SL_CALL_ANSWER_REQ primitive, this field should be set to the pidCHP field that was supplied as part of the SL_CALL_ANSWER_REQ primitive.

For a call that was originated by the network, which the signaling process has notified to Blueworx Voice Response using the SL_CALL_SETUP_IND primitive, but for which the signaling process has not yet received an SL_CALL_ANSWER_REQ primitive, the field should be set to -1.

Command.id
The primitive that the structure contains. Must be set to SL_CALL_TERMINATE_IND.
Parms.call_terminate_indication_st.sizetLength
Must be set to sizeof(struct _call_terminate_indication_st).
Parms.call_terminate_indication_st.slCallReference
The call reference is used to uniquely identify the call. For common channel signaling processes, this must be the call reference allocated by Blueworx Voice Response when the SL_CALL_SETUP_IND was sent, or when the SL_CALL_SETUP_REQ was received. After sending this primitive, the call reference is no longer valid. Blueworx Voice Response considers the call to be cleared.

For an exchange data link signaling process the call reference is not used and should be set to SL_CALL_REF_NULL.

Parms.call_terminate_indication_st.fFarEnd
Indicates who cleared the call:
TRUE
The far end hung up the call.
FALSE
The near end hung up the call.
Parms.call_disconnect_indication_st.iCause
Reserved for use by Blueworx Voice Response. The signaling process should set this field to 0.
Parms.call_terminate_indication_st.iChannelNo
Identifies the channel associated with the call.
Parms.call_terminate_indication_st.iVpackNo
Identifies the trunk associated with the call.

Related information