SL_TRUNK_DISABLE_CNF primitive

Purpose

Confirm that a trunk has been disabled.

Requirement

Mandatory for signaling processes that registered with the capability SL_SIGPROC_CAPABILITY_TRUNK_MGMT. Otherwise this primitive is not used.

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 _trunk_disable_confirm_st {
                    size_t sizetLength;
                    SL_REPLY_CODE ReplyCode;
                    int iVpackNo;
                } trunk_disable_confirm_st;
...
} SL_CONFIRM_PARM_ST;

Description

On receipt of the SL_TRUNK_DISABLE_REQ primitive, the signaling process disables the specified trunk from making and receiving calls. Once the signaling process replies successfully, by sending SL_TRUNK_DISABLE_CNF with ReplyCode set to SL_REPLY_SUCCESS, then the trunk is in state SL_TRUNK_STATE_DISABLED. All channels on the trunk are also disabled, and any calls in progress on the channels are cleared. The channels are 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 an non-zero return code. It is the responsibility of the signaling process to log the reason for the failure and diagnostic information.

Note: NFAS: If no other signaling trunk is active, active non-signaling trunks will have their calls cleared and will be put into ALARM state after sending an SL_TRUNK_DISABLE_IND to the signaling process.

If the SL_TRUNK_DISABLE_CNF primitive refers to the last non-signaling trunk in the system being disabled, any signaling trunk waiting in QUIESCING mode will complete its quiesce and send an SL_TRUNK_QUIESCE_CNF to the signaling process before finishing in a DISABLED state.

In an ISDN NFAS configuration, if the last signaling trunk is disabled, while non-signaling trunks are still enabled, the signaling process must:

Corresponding state table action

None.

Corresponding user interface action

The System Monitor window shows the trunk as disabled.

Parameters

id
Eye-catcher that identifies the structure as containing a confirm primitive. This 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_TRUNK_DISABLE_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_TRUNK_DISABLE_REQ primitive.
Command.id
The primitive that the structure contains. Must be set to SL_TRUNK_DISABLE_CNF.
Parms.trunk_disable_confirm_st.sizetLength
Must be set to sizeof(struct _trunk_disable_confirm_st).
Parms.trunk_disable_confirm_st.ReplyCode
SL_REPLY_ABORTED
The signaling process has received an SL_ABORT_REQ primitive specifying the sequence number of an SL_TRUNK_DISABLE_REQ for a trunk which is being disabled. If the trunk is not yet disabled, even if calls have been cleared, the signaling process may return SL_REPLY_ABORTED. The trunk remains in the state SL_TRUNK_STATE_ENABLED and the channels remain in state SL_CHANNEL_STATE_ENABLED. Otherwise the signaling process should return SL_REPLY_SUCCESS.
SL_REPLY_INTERNAL_ERROR
The signaling process experienced an internal failure while processing the SL_TRUNK_DISABLE_REQ primitive. The trunk is in an indeterminate state.
SL_REPLY_SUCCESS
The trunk has been disabled successfully. The trunk is now in state SL_TRUNK_STATE_DISABLED. Any calls on the trunk have been cleared. All channels on the trunk are now in state SL_CHANNEL_STATE_DISABLED.
other values
Not supported.
Parms.trunk_disable_confirm_st.iVpackNo
Identifies the trunk which was disabled.

Related information