SL_TRUNK_QUIESCE_CNF primitive

Purpose

Confirm that a trunk has been quiesced.

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

Description

On receipt of the SL_TRUNK_QUIESCE_REQ primitive, the signaling process prevents the specified trunk from making or receiving any new calls. Existing calls are unaffected.

Once all existing calls are cleared, the trunk is then disabled. Once the signaling process replies successfully, by sending SL_TRUNK_QUIESCE_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. 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 a non-zero return code. It is the responsibility of the signaling process to log the reason for the failure and diagnostic information.

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_QUIESCE_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_QUIESCE_REQ primitive.
Command.id
The primitive that the structure contains. Must be set to SL_TRUNK_QUIESCE_CNF.
Parms.trunk_quiesce_confirm_st.sizetLength
Must be set to sizeof(struct _trunk_quiesce_confirm_st).
Parms.trunk_quiesce_confirm_st.ReplyCode
SL_REPLY_ABORTED
The signaling process has received an SL_ABORT_REQ primitive specifying the sequence number of an SL_TRUNK_QUIESCE_REQ for a trunk which is being quiesced. 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_QUIESCE_REQ primitive. The trunk is in an indeterminate state.
SL_REPLY_INVALID_STATE
The signaling process has received an SL_TRUNK_QUIESCE_REQ primitive specifying the id of a trunk that is not in the SL_TRUNK_ENABLED state. The signaling process should log an error explaining the failure, using CA_Log_Error(). The trunk remains in its current state.
SL_REPLY_SUCCESS
The trunk has been quiesced 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.
Parm.trunk_quiesce_confirm_st.iVpackNo
Identifies the trunk which was quiesced.

Related information