SL_CALL_SETUP_IND primitive

Purpose

Indicate to Blueworx Voice Response the arrival of an incoming call.

Requirement

Mandatory for common channel signaling processes. The primitive is optional for exchange data link signaling processes. An exchange data link signaling process that provides call information uses the SL_CALL_SETUP_IND primitive to pass the information to Blueworx Voice Response.

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_setup_indication_st {
                    size_t sizetLength;
                    SL_CALL_REFslCallReference;
                    int iChannelNo;
                    int iVpackNo;
                    SL_APPL_INFO_ST slApplInfo;
                    SL_CALL_DATA_ST slCallData;
                } call_setup_indication_st;
...
} SL_INDICATION_PARM_ST;

Description

The SL_CALL_SETUP_IND primitive is sent by the signaling process to Blueworx Voice Response to indicate the arrival of an incoming call. When the signaling process receives notification from the network of an incoming call, it sends an SL_CALL_SETUP_IND primitive to Blueworx Voice Response. The SL_CALL_SETUP_IND primitive specifies the channel the call is offered on, and the call information. A channel process is allocated to handle the call. Common channel signaling processes are responsible for specifying the exact channel and trunk for incoming calls. Blueworx Voice Response does not support inbound channel negotiation between the state table and the signaling process. Of course, there is nothing to stop the signaling process from supporting inbound channel negotiation with the network, so long as the channel has been decided by the time the SL_CALL_SETUP_IND primitive is sent to Blueworx Voice Response.

If the call is notified by an exchange data link signaling process, the channel process answers the call using CAS signaling. If the call is notified by a common channel signaling process, the channel process then sends the SL_CALL_ANSWER_REQ primitive to the signaling process to answer the call, or the SL_CALL_TERMINATE_REQ primitive to clear the call.

The issuing process (the signaling process) should set the slCallReference to SL_NULL_CALL_REF. The signaling interface allocates a call reference, which is completed on return from sl_send_indication().

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
Must be set to –1.
Command.id
The primitive that the structure contains. Must be set to SL_CALL_SETUP_IND.
Parms.call_setup_indication_st.sizetLength
Must be set to sizeof(struct _call_setup_indication_st).
Parms.call_setup_indication_st.slCallReference
The call reference is used to uniquely identify the call. This field must be set to SL_CALL_REF_NULL, when the SL_CALL_SETUP_IND primitive is sent to Blueworx Voice Response using the sl_send_indication() subroutine.

For common channel signaling processes, Blueworx Voice Response allocates a call reference. This field is updated with the new call reference on return from the sl_send_indication() subroutine. The signaling process should store the allocated call reference, because this value is used in the SL_CALL_ANSWER_REQ, SL_CALL_TERMINATE_REQ and SL_CALL_TERMINATE_IND primitives to identify the call.

The call reference is not used by exchange data link signaling processes.

Parms.call_setup_indication_st.iChannelNo
Identifies the channel associated with the call. Must not be set to SL_UNDEFINED_CHAN.
Parms.call_setup_indication_st.iVpackNo
Identifies the trunk associated with the call. Must not be set to SL_UNDEFINED_VPACK.
Parms.call_setup_indication_st.slCallData
The call information. See SL_CALL_DATA_ST data structure.
Parms.call_setup_indication_st.slApplInfo
Contains both the length of the call information tag string (including the null terminator '\0') and the call information tag string array itself. The string is used to pass information between state tables and the signaling process. For more information see SL_APPL_INFO_ST data structure

Related information