SL_TRUNK_QUIESCE_REQ primitive

Purpose

Quiesce the specified trunk.

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_REQUEST_PARM_ST Parms;
} SL_REQUEST_ST;
...
typedef union {
...
                struct _trunk_quiesce_request_st {
                      size_t sizetLength;
                      int iVpackNo;
                } trunk_quiesce_request_st;
...
} SL_REQUEST_PARM_ST ;

Description

The SL_TRUNK_QUIESCE_REQ primitive is sent by Blueworx Voice Response system management to the signaling process to quiesce the specified trunk. This primitive can be issued in any trunk state.

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_REQ with ReplyCode set to SL_TRUNK_QUIESCE_REQ, then the trunk is in state SL_TRUNK_QUIESCE_REQ. All channels on the trunk are also disabled. The channels are in state SL_TRUNK_QUIESCE_REQ.

The general rule for quiesce is that it should not cause the loss of any calls that are in progress. The signaling process should not send the SL_TRUNK_QUIESCE_REQ primitive, if there are any active calls on this trunk, or if there are any active calls that depend on this trunk.

This has several implications for ISDN configurations with non-facility associated signaling (NFAS):

Corresponding state table action

None.

Corresponding user interface action

This primitive is issued by the system manager in response to the Quiesce button of the System Monitor window.

A series of these primitives is issued by the system monitor in response to the Quiesce Shutdown button on the Administration menu of the main Blueworx Voice Response window.

Note: For ISDN NFAS configurations only, the last trunk to be quiesced must be a signaling trunk.

If the user requests that the last signaling trunk (primary or backup) is quiesced while any non-signaling trunk is still enabled, the System Monitor will display the following dialog:

This trunk may be carrying signaling for other trunks.

Quiesce will not complete until these trunks are also quiesced or disabled.

Do you wish to continue: Yes. No. Cancel.

This is to avoid confusion, because the quiesce cannot complete until all the non-signaling trunks have been disabled, otherwise calls would be lost.

Parameters

id
Eye-catcher that identifies the structure as containing a request primitive. This 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 will be allocated by Blueworx Voice Response, and is available to the sender on return from sl_send_request(). This field will be 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_TRUNK_QUIESCE_CNF primitive.
Command.id
The primitive that the structure contains. Must be set to SL_TRUNK_QUIESCE_REQ.
Parms.trunk_quiesce_request_st.sizetLength
Must be set to sizeof(struct _trunk_quiesce_request_st).
Parms.trunk_quiesce_request_st.iVpackNo
Identifies the trunk being quiesced.
Note: In an ISDN NFAS configuration, the last signaling trunk will not be quiesced by the Blueworx Voice Response system manager, while any non-signaling trunks are still enabled. In an non-NFAS configuration, the ordering of quiescing is undefined.

Specifically:
If the trunk being disabled is a common channel signaling trunk
(Parms.trunk_enable_request_st.slTrunkSysparmSt.signalingProcessClass = SL_SIGPROC_CLASS_CCS),

and the type of common channel signaling is ISDN
(Parms.trunk_enable_request_st.slTrunkSysparmSt.TrunkConfig.CCSType = SL_CCS_TYPE_ISDN),

and the trunk is part of a non-facility associated signaling configuration
(Parms.trunk_enable_request_st.slTrunkSysparmSt.TrunkConfig.CCSTrunkInfo. ISDNTrunkInfoSt
.fNFAS
=TRUE)

then the last signaling trunk
(Parms.trunk_enable_request_st.slTrunkSysparmSt.TrunkConfig.CCSTrunkInfo.signalingLinkMode
= SL_signaling_LINK_MODE_PRIMARY or SL_signaling_LINK_MODE_BACKUP)
will not be quiesced

while any non-signaling trunks
(Parms.trunk_enable_request_st.slTrunkSysparmSt.TrunkConfig.CCSTrunkInfo.signalingLinkMode
   = SL_signaling_LINK_MODE_NA) are still enabled.

Related information