SL_TRUNK_ENABLE_REQ primitive

Purpose

Enable the specified trunk for calls.

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_SL;
...
typedef union {
...
                struct _trunk_enable_request_st {
                      size_t sizetLength;
                      int iVpackNo;
                      SL_TRUNK_SYSPARM_ST slTrunkSysparmSt;
                } trunk_enable_request_st;
...
} SL_REQUEST_PARM_ST ;

Description

The SL_TRUNK_ENABLE_REQ primitive is sent by Blueworx Voice Response system management to the signaling process to enable the specified trunk for calls. This primitive can only be issued if the trunk is in state SL_TRUNK_STATE_DISABLED.

On receipt of the SL_TRUNK_ENABLE_REQ primitive, the signaling process enables the specified trunk to make and receive calls. Once the signaling process replies successfully, by sending SL_TRUNK_ENABLE_CNF with ReplyCode set to SL_REPLY_SUCCESS, then the trunk is in state SL_TRUNK_STATE_ENABLED. All channels on the trunk are initialized into state SL_CHANNEL_STATE_DISABLED.

Corresponding state table action

None.

Corresponding user interface action

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

For ISDN NFAS configurations only, the primary (or backup) trunk must be enabled before any other trunks.

If the user requests that a non signaling trunk is enabled before a signaling trunk (either primary or backup) is enabled, the request is rejected by the System Monitor with an error message.

This trunk does not carry signaling. Before you can enable this trunk you must enable a trunk that carries signaling to the network.

In an ISDN NFAS configuration, when the system is automatically started, the primary (or backup) trunk will be enabled by the Blueworx Voice Response System Manager, before any non signaling trunks are enabled. In a non-NFAS configuration, the order in which trunks are enabled is undefined.

If signaling trunk is enabled and there are no other signaling trunks enabled but one or more non-signaling trunks are in ALARM state, they will be automatically re-enabled. If there is a signaling trunk waiting in QUIESCING mode it will complete its quiesce and finish in DISABLED state.

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_CHANNEL_DISABLE_CNF primitive.
Command.id
The primitive that the structure contains. Must be set to SL_TRUNK_ENABLE_REQ.
Parms.trunk_enable_request_st.sizetLength (of type size_t)
Must be set to sizeof(struct _trunk_enable_request_st).
Parms.trunk_enable_request_st.iVpackNo (of type int)
Identifies the trunk being enabled.
Parms.trunk_enable_request_st.slTrunkSysparmSt (of type SL_TRUNK_SYSPARM_ST)
The Blueworx Voice Response system parameters for the trunk.
Note: In an ISDN NFAS configuration, the primary (or backup) trunk will be enabled by the Blueworx Voice Response system manager, before any non-signaling trunks are enabled. In configurations where each trunk carries its own signaling, the ordering of enabling is undefined.

Specifically:

If the trunk being enabled 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 no non-signaling trunk (Parms.trunk_enable_request_st.slTrunkSysparmSt.TrunkConfig. CCSTrunkInfo.signalingLinkMode = SL_signaling_LINK_MODE_NA) will be enabled,

until at least one signaling trunk (Parms.trunk_enable_request_st.slTrunkSysparmSt.TrunkConfig. CCSTrunkInfo.signalingLinkMode = SL_signaling_LINK_MODE_PRIMARY or SL_signaling_LINK_MODE_BACKUP) is enabled.

Related information