SL_CHANNEL_ENABLE_REQ primitive

Purpose

Request the signaling process to enable the specified channel for calls.

Requirement

Mandatory for common channel signaling processes. The primitive is not used 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_REQUEST_PARM_ST Parms;
} Sl_REQUEST_ST;
...
typedef union {
...
                struct _channel_enable_request_st {
                    size_t sizetLength;
                    int iChannelNo;
                    int iVpackNo;
                } channel_enable_request_st;
...
} SL_REQUEST_PARM_ST;

Description

The SL_CHANNEL_ENABLE_REQ primitive is sent by the system manager to the signaling process to enable the specified channel for calls. This can only be issued if the channel is in state SL_CHANNEL_STATE_DISABLED. On receipt of the SL_CHANNEL_ENABLE_REQ primitive, the signaling process should enable the specified channel to make and receive calls. When the signaling process has replied successfully, by sending SL_CHANNEL_ENABLE_CNF with a ReplyCode of SL_REPLY_SUCCESS, the channel is in state SL_CHANNEL_STATE_ENABLED and can be used to make or receive calls.

If the signaling process has reason to believe this channel will not become available, for example, because of a link failure with the network, or an internal error, it should issue SL_CHANNEL_ENABLE_CNF with a ReplyCode to indicate the failure, and log an error using the CA_Log_Error() subroutine. The channel remains in state SL_CHANNEL_STATE_DISABLED. See the Blueworx Voice Response for AIX: Application Development using State Tables information for a description of the CA_Log_Error() subroutine.

If the signaling process receives an SL_ABORT_REQ for the SL_CHANNEL_ENABLE_REQ primitive, it may abort the processing and send SL_CHANNEL_ENABLE_CNF with a ReplyCode set to SL_REPLY_ABORTED. The channel remains in state SL_CHANNEL_STATE_DISABLED.

If the signaling process replies unsuccessfully to this primitive, the system manager logs an error, reporting that the signaling process has failed, or that it received a non-zero return code. It is the responsibility of the signaling process to log the reason for the failure, and diagnostic information, if it is available.

Corresponding state table action

None.

Corresponding user interface action

This primitive is issued by the system manager in response to the Enable button on the Channel Out of Service window.

Parameters

id
Eye-catcher that identifies the structure as containing a request primitive. Must be set to SLID_REQUEST_ST.
iseq_no
The sequence number of the primitive. This field must be set to 0 when the primitive is sent to Blueworx Voice Response; the actual sequence number is allocated by Blueworx Voice Response, and is available to the sender on return from sl_send_request(). The field is set when the primitive is received from Blueworx Voice Response by the signaling process.
pidCHP
The process id of the sending process. The signaling process should use this value to set the pidCHP field of the corresponding SL_CHANNEL_ENABLE_CNF primitive.
Command.id
The primitive that the structure contains. Must be set to SL_CHANNEL_ENABLE_REQ.
Parms.channel_enable_request_st.sizetLength
Must be set to sizeof(struct _channel_enable_request_st).
Parms.channel_enable_request_st.iChannelNo
Identifies the channel to enable.
Parms.channel_enable_request_st.iVpackNo
Identifies the trunk on which the channel is located.

Related information