Disable the specified channel for calls, and clear any existing calls.
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_REQUEST_PARM_ST Parms; } SL_REQUEST_ST; ... typedef union { ... struct _channel_disable_request_st{ size_t sizetLength; int iChannelNo; int iVpackNo; } channel_disable_request_st; ... } SL_REQUEST_PARM_ST;
The SL_CHANNEL_DISABLE_REQ primitive is sent by the system manager to the signaling process to disable the specified channel for calls, and clear any existing calls. After the signaling process has sent SL_CHANNEL_DISABLE_CNF with a ReplyCode of SL_REPLY_SUCCESS, the channel is in state SL_CHANNEL_STATE_DISABLED and can no longer be used to make or receive calls. Further, any calls in progress on the channel are cleared. If the channel is already in state SL_CHANNEL_STATE_DISABLED, the signaling process should reply successfully to the primitive, and the channel remains in state SL_CHANNEL_STATE_DISABLED.
The signaling process must implement this primitive. Ignoring the SL_CHANNEL_DISABLE_REQ primitive to keep the channel enabled is not valid. Disabling a channel should always bring it to a known state, and should always succeed.
If the signaling process receives an SL_ABORT_REQ for the SL_CHANNEL_DISABLE primitive, it may abort the processing, and send SL_CHANNEL_DISABLE_CNF with a ReplyCode set to SL_REPLY_ABORTED. The channel remains in its previous state.
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.
None.
This primitive is issued by the system manager in response to the Disable button on the Channel Out of Service window.