sl_escape subroutine

Purpose

Issue an implementation-dependent subroutine call.

Library

The signaling interface library (libsl.a).

C syntax

#include <slescape.h>
...
SL_RET_CODE 	              sl_escape
  ( SL_HANDLE *	           sl_handle
  , SL_ESCAPE_ST *         psl_escape_st
);

Description

This subroutine issues an implementation dependent subroutine call. The sl_escape() subroutine provides specific Blueworx Voice Response functions to the signaling process. These functions are not intended for general use by signaling processes.

Parameters

SL_ESCAPE_SET_ABCD
This is used to set the ABCD bits.

This escape code is intended for use in hybrid signaling systems which use common channel signaling over a separate facility and use the channel associated signaling ABCD bits on a trunk to signal channel block and channel unblock.

For an E1 trunk, this escape sets the values of the ABCD bits for channel iChannelNo on trunk iVpackNo. The ABCD bits are transmitted in timeslot 16 on the trunk.

Note: If the trunk is being used for a common channel signaling protocol which uses timeslot 16 to carry a signaling link (for example, ISDN) use of this escape code will disrupt the signaling link.

If common channel signaling is being carried over a separate facility (for example, TCP/IP) this escape code allows control of the ABCD bits.

sl_handle
The signaling handle returned by the sl_open() subroutine.
psl_escape_st
Pointer to the escape structure.
id
Must be set to SLID_ESCAPE.
Command
Must be set to SL_ESCAPE_SET_ABCD.
Parms.set_abcd_bits_st.iVpackNo
The trunk.
Parms.set_abcd_bits_st.iChannelNo
The channel.
Parms.set_abcd_bits_st.abcd
The low order four bits (X’0000000F’) hold the new value for the abcd bits on the specified channel, in order B’abcd’. The remaining bits are ignored.
SL_ESCAPE_QUERY_ABCD
This is used to query the abcd bits.

This escape code is intended for use in hybrid signaling systems which use common channel signaling over a separate facility and use the channel associated signaling ABCD bits on a trunk to signal channel block and channel unblock.

Note: This escape code cannot be used to implement a channel associated signaling (CAS) signaling process, because it only allows the signaling process to query the state of the bits at a point in time. There is no way for the signaling process to be notified of every change in the state of the ABCD bits, within the timing tolerances required by CAS protocols.
sl_handle
The signaling handle returned by the sl_open() subroutine.
psl_escape_st
Pointer to the escape structure.
id
Must be set to SLID_ESCAPE.
Command
Must be set to SL_ESCAPE_QUERY_ABCD.
Parms.set_abcd_bits_st.iVpackNo
The trunk.
Parms.set_abcd_bits_st.iChannelNo
The channel.
Parms.set_abcd_bits_st.abcd
The low order four bits (X’0000000F’) will be updated on return from sl_escape() with the current value of the abcd bits on the specified channel, and will be set to B’abcd’. The remaining bits (X’FFFFFFF0’) are cleared.

Return values

SLRC_OK
Successful.
SLRC_ERRNO
An AIX error has occurred. Check the value of errno for more information.
SLRC_INVALID_ARGS
The value of psl_escape_st is NULL.
SLRC_INVALID_CHAN
The value of iVpackNo or iChannelNo is invalid.
SLRC_INVALID_HANDLE
The parameter sl_handle is invalid.
other
The subroutine call failed.

Related information

See SL_ESCAPE_ST structure.