ACB56(8)

NAME
acb56 - Signalling System No. 7 SDTI Driver for ACB56

SYNOPSIS
#include <ss7/sli.h>
#include <ss7/sli_ioctl.h>

fd = open("/dev/acb56-minor", flags);
ret = putmsg(fd, ctrl, data);
ret = getmsg(fd, ctrl, data);
ret = ioctl(fd, cmd, ... /* arg */ );

DESCRIPTION

The ACB56 driver provides a SS7 STREAMS driver which provides a Style 1 SDTI interface (sdti(7)) for the SeaLevel ACB56 card using V.35 at 56kbps. The driver can be opened using the open(2) command on the character special device corresponding to an equipped ACB56 card, or can be opened using a clone device to obtain a filedescriptor for the next available ACB56 device in the system. The device driver is not normally opened by user-level programs, but is opened by the SS7 Configuration Daemon ss7d(8). Nevertheless, it is possible to open the device directly and interact with the device with sdti(7) primitives using putmsg(2) and getmsg(2) and ioctls using ioctl(2).

  Configuration
For all configuration IOCTLs and PRIMITIVEs, ACB56 supports the low-speed link members of the SDTI configuration sdt_conf structure as follows:

pvar
    (Default: SS7_PVAR_ITUT_96) ACB56 supports all of the protocol variants described in ss7(7). When pvar is altered alone, other members are adjusted to default values for the specified protocol variant.

popt
    (Default: 0) ACB56 does not support any of the protocol options described in sdti(7). Because it is a low-speed link, SDT_POPT_EIM is not supported. ACB56 does not implement IAC in the SDT and, as such, SDT_POPT_IAC is not supported.

M   (Default: 0) This is an IAC (Intial Alignment Control) parameter. The ACB56 does not implement intial alignment control, so ignores any values placed in this configuration member.

Tin Default: 4) ACB56 defaults this AERM normal proving threshold to the default values of ITU-T Recommendation Q.703 1996.

Tie (Default: 1) ACB56 defaults this AERM emergency proving threshold to the default values of ITU-T Recommendation Q.703 1996.

T   (Default: 256) ACB56 defaults this SUERM threshold to the default values of ITU-T Recommendation Q.703 1996.

D   (Default: 256) ACB56 defaults this SUERM downcount to the default values of ITU-T Recommendation Q.703 1996.

N   (Default: 16) ACB56 defaults this DAEDR octet count to the default values of ITU-T Recommendation Q.703 1996.

t8, Te, De, Ue
    (Default: 0) These EIM (Errorred Interval Monitor) configuration members are only used by high-speed links. As a low-speed link only implementation, ACB56 ignores any values placed in these configuration members.

  Local Management Primitives
The ACB56 driver will accept the following local management primitives exchanged with the putmsg(2) and getmsg(2) system calls:

SDT_INFO_REQ, SDT_INFO_ACK
    ACB67 implements the SDT_INFO_REQ and SDT_INFO_ACK local management primitives as described in sdti(7). ACB56 will normally return the following values in the members of the sdt_info_ack structure:

    sdt_version
        ACB56 will always return 0x01000000 indicating that the driver has been written to the SDTI Version 1.0.0.0 specification.

    sdt_state
        ACB56 will return the state of the SDT interface. Because ACB56 is a Style 1 device driver, it will never return SDT_UNATTACHED and opens in the SDT_DISABLED state.

    sdt_max_sdu
        ACB56 is a low-speed SS7 link not supporting extended sequence numbers (Q.703 Annex A) and will always return 277 (bytes) as the maximum sdu size. size.

    sdt_min_sdu
        ACB56 is a low-speed SS7 link not supporting extended sequence numbers (Q.703 Annex A) and will always return 3 (bytes) as the minimum sdu size.

    sdt_ppa_style
        ACB56 is a Style 1 SDTI device driver and will always return SDT_STYLE1 as the PPA style.

    sdt_ppa_addr
        ACB56 is a Style 1 SDTI device driver and will always return all zeros in the PPA address.

    sdt_bitrate
        ACB56 only supports 56kbps V.35 operation and will always return 56000 (bps)as the bitrate.

    sdt_config
        See section on "CONFIGURATION".

SDT_CONFIG_REQ, SDT_CONFIG_ACK, SDT_ERROR_ACK
    ACB56 will always return SDT_ERROR_ACK when a configuration request is made which contains a configuration parameter or option which is not supported by the driver. Otherwise, a SDT_CONFIG_ACK is returned which contains that actual configuration of options and parameters. For more information on configuration options and parameters, see section "CONFIGURATION".

SDT_ATTACH_REQ, SDT_OK_ACK, SDT_ERROR_ACK
    ACB56 is a Style 1 SDTI device driver and will always return SDT_ERROR_ACK with sdt_errno set to SDT_OUTSTATE in response to an attach request.

SDT_DETACH_REQ, SDT_OK_ACK, SDT_ERROR_ACK
    ACB56 is a Style 1 SDTI device driver and will always return SDT_ERROR_ACK with sdt_errno set to SDT_NOTSUPP in response to a detach request.

SDT_ENABLE_REQ, SDT_ENABLE_CON, SDT_ERROR_ACK
    ACB56 supports immediate enabling and will always return an SDT_ENABLE_CON immediately to a successful SDT_ENABLE_REQ. The driver also supports all receiver and transmitter initialization options described in sdti(7).

SDT_DISABLE_REQ, SDT_DISABLE_CON, SDT_ERROR_ACK
    ACB56 suports immediate disabling and will always return an SDT_DISABLE_CON immediately to a successful SDT_DISABLE_REQ. The driver also supports all receive and transmitter disposition options described in sdti(7).

  Primitive Interface
ACB56 will accept the following protocol primitives (as described in sdti(7)) exchanged with putmsg(2), getmsg(2), and in some cases write(2) and read(2). ACB56 treats the M_PROTO and M_PCPROTO forms of each request in a similar manner. All request primitives are acted upon immediately when possible, regardless of whether they are an M_PROTO or M_PCPROTO. If the device becomes overdriven and it becomes impossible to act on the primitive immediately, ACB56 will queue M_PROTO primitives for later execution, but will discard M_PCPROTO primitives which cannot be acted upon immediately.

SDT_SIGNAL_UNIT_REQ, SDT_SIGNAL_UNIT_IND, M_DATA
    Although ACB56 will accept the M_PROTO or M_PCPROTO forms of the request, it will only return the M_DATA form of the indication. This means that signal units must be taken from the driver using read(2), and it is more efficient to write them to the driver using write(2).

SDT_DAEDT_START_REQ
    Starts the ACB56 DAEDT (transmitters).

SDT_DAEDR_START_REQ
    Starts the ACB56 DAEDR (receivers).

SDT_DAEDR_CORRECT_SU_IND
    ACB56 only delivers this indication on the first correct SU following a SDT_AERM_ABORT_PROVING indication to limit the number of such indications which are provided to the IAC in the upper level. This primitive triggers another proving period if further proving is required from the SDT user.

SDT_AERM_START_REQ, SDT_AERM_STOP_REQ
    Starts and stops the ACB56 AERM (Alignment Error Rate Monitor).

SDT_AERM_ABORT_PROVING_IND
    ACB56 gives this indication when the internal AERM state machine detects that the number of SU errors during the interval that the AERM has been running has exceeded the configured threshold.

SDT_SUERM_START_REQ, SDT_SUERM_STOP_REQ
    Starts and stop the ACB56 SUERM (Signal Unit Error Rate Monitor).

SDT_SUERM_LINK_FAILURE_IND

SDT_EIM_START_REQ, SDT_EIM_STOP_REQ
    ACB56 does not support high-speed links and will return SDT_ERROR_IND with sdt_errno set to SDT_NOTSUPP if these requests are made.

SDT_EIM_LINK_FAILURE_IND
    ACB56 does not support high-speed links and will never make this indication.

SDT_LINK_CONG_IND, SDT_NO_LINK_CONG_IND
    ACB56 does not detect congestion in the SDTI driver and will not make these indications.