Trunk states

Blueworx Voice Response defines that the state of the trunks in the system is the responsibility of the system manager. After Blueworx Voice Response start-up, the system manager sends the SL_TRUNK_RECONFIG_REQ primitive to all registered signaling processes for them to query the system configuration. The signaling process must have opened the signaling interface and registered itself, to receive this primitive. If the signaling process does not reply with a successful SL_TRUNK_RECONFIG_CNF primitive then Blueworx Voice Response cannot use this signaling process for outgoing calls, and any trunks controlled by this signaling process are not enabled to receive incoming calls. See SL_TRUNK_RECONFIG_REQ primitive, and SL_TRUNK_RECONFIG_CNF primitive.

After the trunk is configured, Blueworx Voice Response will enable the individual channels on the trunk, by sending an SL_CHANNEL_ENABLE_REQ primitive for each channel. The signaling process replies by sending an SL_CHANNEL_ENABLE_CNF primitive to Blueworx Voice Response.

If the system configuration changes at any time during normal operation, the system manager sends an SL_TRUNK_RECONFIG_REQ primitive to all registered signaling processes. Each signaling process should re-read its own configuration information, and should also use the sl_query_sigproc() and sl_query_channel_group() subroutines to determine which channels it now controls, and which channels are in which channel groups. The signaling process should reply with SL_TRUNK_RECONFIG_CNF once it has its new configuration.

Blueworx Voice Response defines the states of a trunk as:

SL_TRUNK_STATE_ENABLED
The trunk is enabled. If the individual channels are enabled, then they can be used to make and receive calls.
SL_TRUNK_STATE_QUIESCING
The trunk is quiescing.
SL_TRUNK_STATE_DISABLED
The trunk is disabled. All signaling processes that register with the Trunk Management capability are required to implement the trunk state model.
SL_TRUNK_STATE_SIGPROC_ALARM
The signaling process has placed the trunk in the internal alarm state. The trunk cannot be used to make or receive calls. This state is used when the signaling process experiences a temporary inability to process calls, for example, lack of resources.

.

Figure 1. Trunk state model
The trunk states and transitions between them are shown schematically, as described in the text surrounding this Figure. The allowed transitions from Enabled are: from Enabled to Internal Alarm by SL_TRUNK_ALARM_IND (alarm); from Enabled to Disabled by SL_TRUNK_DISABLE_IND or by SL_TRUNK_DISABLE_REQ and SL_TRUNK_DISABLE_CNF; from Enabled to Quiescing by SL_TRUNK_QUIESCE_REQ. The allowed transitions from Disabled are: from Disabled to Enabled by SL_TRUNK_ENABLE_REQ and SL_TRUNK_ENABLE_CNF; from Disabled and remaining at Disabled by SL_TRUNK_ENABLE_REQ and SL_TRUNK_ENABLE_CNF (fail). The allowed transitions from Internal Alarm are: from Internal Alarm to Enabled by SL_TRUNK_ALARM_IND (clear); from Internal Alarm to Quiescing by SL_TRUNK_QUIESCE_REQ; from Internal Alarm to Disabled by SL_TRUNK_DISABLE_IND or by SL_TRUNK_DISABLE_REQ and SL_TRUNK_DISABLE_CNF. The allowed transition from Quiescing to Disabled is by SL_TRUNK_QUIESCE_CNF.