Purpose
Confirm that a channel has been enabled.
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_CONFIRM_PARM_ST Parms;
} SL_CONFIRM_ST;
...
typedef union {
...
struct _channel_enable_confirm_st {
size_t sizetLength;
SL_REPLY_CODE ReplyCode;
int iChannelNo;
int iVpackNo;
} channel_enable_confirm_st;
...
} SL_CONFIRM_PARM_ST;
Description
The SL_CHANNEL_ENABLE_CNF primitive is sent by the signaling
process to the system manager to confirm the successful enabling of a channel,
or notify the system manager that a channel has failed to enable. On receipt
of the SL_CHANNEL_ENABLE_REQ primitive, the signaling process
should enable to channel for making and receiving calls. When the channel
is enabled, the signaling process sends back the SL_CHANNEL_ENABLE_CNF primitive, with the ReplyCode set to indicate the success.
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
The Channel Out of Service window shows the channel as idle.
Parameters
- id
- Eye-catcher that identifies the structure as containing a confirm primitive.
Must be set to SLID_CONFIRM_ST.
- iseq_no
- The sequence number of the primitive. Must be set to the field iseq_no from the SL_CHANNEL_ENABLE_REQ primitive,
to which this is the reply.
- pidCHP
- The process id of the requesting process. This should be set to the pidCHP field from the corresponding SL_CHANNEL_ENABLE_REQ primitive.
- Command.id
- The primitive that the structure contains. Must be set to SL_CHANNEL_ENABLE_CNF.
- Parms.channel_enable_confirm_st.sizetLength
- Must be set to sizeof(struct _channel_enable_confirm_st).
- Parms.channel_enable_confirm_st.ReplyCode
- Specifies whether the channel was enabled successfully or not.
- SL_REPLY_ABORTED
- The signaling process has received an SL_ABORT_REQ primitive
specifying the sequence number of an SL_CHANNEL_ENABLE_REQ primitive
for a channel which is being enabled. The signaling process should reply with SL_REPLY_ABORTED, and disable the channel if necessary. The channel
is in state SL_CHANNEL_STATE_DISABLED.
- SL_REPLY_INTERNAL_ERROR
- The signaling process experienced an internal failure while processing
the SL_CHANNEL_ENABLE_REQ primitive. The channel is in an
indeterminate state.
- SL_REPLY_OUTBOUND_LINE_PROBLEM
- The channel failed to enable. The channel is in state SL_CHANNEL_STATE_DISABLED. The signaling process should log an error using CA_Log_Error().
- SL_REPLY_SUCCESS
- The channel has been enabled successfully, and may be used to make or
receive calls. The channel is now in state SL_CHANNEL_STATE_ENABLED.
- other values
- Not supported. The channel is in state SL_CHANNEL_STATE_DISABLED.
- Parms.channel_enable_confirm_st.iChannelNo
- Identifies the channel that was enabled.
- Parms.channel_enable_confirm_st.iVpackNo
- Identifies the trunk on which the channel is located.
- Parms.channel_enable_confirm_st.ReplyCode
- SL_REPLY_INTERNAL_ERROR The trunk failed to enable
due to an error in the signaling process. The trunk is now in state SL_TRUNK_STATE_DISABLED. All channels on the trunk are now in state SL_CHANNEL_STATE_DISABLED. The signaling process should log an error explaining the failure, using CA_Log_Error().