SLSI(7)

NAME
slsi - Signalling System No. 7 Signalling Link Set (SLS) Interface

SYNOPSIS
#include <ss7/slsi.h>
#include <ss7/slsi_ioctl.h>

fd = open ("/dev/sls", flags);
ret = ioctl(fd, cmd, ... /* arg */ );

DESCRIPTION
This man page describes the STREAMS interface which is used to configure and exchange data with an SS7 Signalling Link Set Interface (SLSI) for all SS7 devices conforming to the OpenSS7 Signalling Link Set Interface (SLSI) specification.

  LOCAL MANAGEMENT INTERFACE

SLSI drivers are normally linked using streamio(2) I_LINK ioctl commands under a Message Transfer Part (MTP) STREAMS multiplexor conforming to the Message Transfer Part Interface (MTPI) specification mtpi(7) such as mtp(8), by the SS7 Configuration Daemon ss7d(8). Yet, this interface is available for the purpose of ferry-clip conformance and diagnostic testing of the SS7 Signalling Link Set.

SLSI multiplexors may be configured to automatically link under the mtp(8) multiplexor and appear as mpti(7) modules. Not all SS7 drivers need be written to the SLS or lower interfaces: drivers may be written even to the mtpi(7) interface.

SLSI provides a local management interface which utilizes M_PROTO and M_PCPROTO messages which can be exchanged with the interface using putmsg(2) and getmsg(2) system calls on the stream head once the interface is opened. The local management interfae controls local management (STREAMS configuration functions) which are normally used by the SS7 Configuration Daemon ss7d(8) on the driver interface before linking under an mtp(8) multiplexor.

The Local Management Interface (LMI) is common to all OpenSS7 drivers and modules and is described in detail in lmi(7).

  DEVICE CONTROL INTERFACE

SLSI provides a device control interface which utilizes ioctl(2) transparent calls or an I_STR ioctl under streamio(2) from a stream head or multiplexor control channel to the driver. The device control interface controls aspects of the SLS driver device which are outside the scope of the SS7 protocol. These controls are normally issued by the SS7 Configuration Daemon ss7d(8) on the driver interface or multiplexor control channel before or after the protocol stack has been assembled.

The device control interface (DEVI) is common to all OpenSS7 drivers and modules and is described in detail in devi(7).

  PROTOCOL SERVICE INTERFACE

SLSI provides a protocol service interface which uses M_DATA, M_PROTO and M_PCPROTO STREAMS messages which can be exchanged with write(2), read(2), putmsg(2) or getmsg(2) system calls on the stream head, or which can be exchanged with the driver by upstream pushed or linked modules. The protocol service interface exchanges SS7 protocol service primitives between the Signalling Link Set (SLS) and the Signalling Link Set (SLS), but may also be used for ferry-clip conformance testing or diagnostics.

The protocol service interface for SLSI is described in detail in section PROTOCOL SERVICE INTERFACE, below.

  PROTOCOL MANAGEMENT INTERFACE

SLSI provides a protocol mangement interface which uses M_CTL messages between modules or M_IOCTL messages from a stream head or multiplexor control channel. This interface uses the controls defined in the Local Management Interface (LMI) as detailed under INPUT OUTPUT CONTROL INTERFACE in lmi(7). The protocol management interface provides protocol configuration, state inquiry, statistics and event management (SNMP functions). This interface is normally used by the SS7 Configuration Daemon ss7d(8) on the stream after opening or during operation.

The protocol service interface for SLSI is described in detail in section PROTOCOL MANAGEMENT INTERFACE below.

PROTOCOL SERVICE INTERFACE

Protocol service interface commands are from the stream head to the SLS driver using putmsg(2) and getmsg(2) commands as follows:
    fd = open("/dev/sls");
    ret = putmsg(fd, ctlptr, dataptr, flags);
    ret = getmsg(fd, ctlptr, dataptr, flags);

Downstream messages are sent from the stream head using putmsg(2); upstream messages are received at the stream head using getmsg(2).

flags is either RS_HIPRI or not indicating a M_PCPROTO or an M_PROTO message respectively. ctlptr and dataptr are pointers to a strbuf structure which contains the following members:
    struct strbuf {
        int     maxlen;
        int     len;
        void    *buf;
    };

buf contains a pointer to a SLS_primitive union which contains one of the following primitives and structures:

  Downstream Primitives

Downstream primitives are sent from the stream head to the protocol state machines using putmsg(2) system calls as described above. Except where otherwise noted, buf contains only the sls_primitive field which is set to the value of the primitive.

SLS_PDU_REQ
    Transmit a Protocol Data Unit (PDU). This primitive must be sent with an accompanying M_DATA block which is pointed to by the dataptr in a putmsg(2) or is the buffer which is the argument of a write(2) on the stream file descriptor.

SLS_EMERGENCY_REQ
    Set emergency alignment procedures on the signalling link.

SLS_EMERGENCY_CEASES_REQ
    Set normal alignment procedures on the signalling link.

SLS_START_REQ
    Start the signalling link.

SLS_STOP_REQ
    Stop the signalling link.

SLS_RETRIEVE_BSNT_REQ
    Retreive the BSNT value for buffer updating.

SLS_RETREIVAL_REQUEST_AND_FSNC_REQ
    Retreive the buffers from the TB/RTB up to and including FSNC. This primitive uses a sls_retrieval_request_and_fsnc_t structure which includes the sls_fsnc value in addition to the sls_primitive as follows:

    typedef struct {
        sls_ulong    sls_primitive;
        sls_ulong    sls_fsnc;
    } sls_retreival_req_and_fsnc_t;

    sls_primitive
        Contains the primitive SLS_RETRIEVAL_REQ_AND_FSNC_REQ.

    sls_fsnc
        Contains the last Forward Sequence Number (FSNC) which was successfully received by the far end. Buffers in the RTB with FSN up to and including this value should be cleared as part of the retrieval.

SLS_RESUME_REQ
    Recover from local processor outage.

SLS_CLEAR_BUFFERS_REQ
    Clear signalling link buffers.

SLS_LOCAL_PROCESSOR_OUTAGE_REQ
    Institute local processor outage procedures.

SLS_CONGESTION_DISCARD_REQ
    Set congestion discard on the signalling link.

SLS_CONGESTION_ACCEPT_REQ
    Set congestion accept on the signalling link.

SLS_NO_CONGESTION_REQ
    Indicate cessation of congestion to the signalling link.

SLS_POWER_ON_REQ
    Power on the signalling link.

  Upstream Primitives
Upstream primitives are collected at the stream head from the protocol state machines using getmsg(2) system calls as described above. Except where otherwise noted, buf contains only the sls_primitive field which is set to the value of the primitive.

SLS_PDU_IND
    Receive a Protocol Data Unit (PDU). This primitive is received with an accompanying M_DATA block which is pointed to by the dataptr in a getmsg(2) or is the buffer which is returned from a read(2) on the stream file descriptor.

SLS_LINK_CONGESTED_IND
    Indicates that the signalling link is congested. This primitive indicates addtional information in the sls_link_cong_ind_t structure as follows:

    typedef struct {
        sls_ulong    sls_primitive;
        sls_ulong    sls_timestamp;
        sls_ulong    sls_cong_level;
        sls_ulong    sls_disc_level;
    } sls_link_cong_ind_t;

    sls_primitive
        Contains the primitive SLS_LINK_CONGESTED_IND.

    sls_timestamp
        Contains the timestamp (system time) that this event occured for the purpose of event reporting.

    sls_cong_level
        Contains the current congestion status for this link.

    sls_disc_level
        Contains the current discard status for this link.

SLS_LINK_CONGESTION_CEASED_IND
    Indicates that signalling link congestion has ceased. This primitive indicates additional information in the sls_cong_ceased_ind_t structure as follows:

    typedef struct {
        sls_ulong    sls_primitive;
        sls_ulong    sls_timestamp;
        sls_ulong    sls_cong_level;
        sls_ulong    sls_disc_level;
    } sls_link_cong_ceased_ind_t;

    sls_primitive
        Contains the primitive SLS_LINK_CONGESTION_CEASED_IND.

    sls_timestamp
        Contains the timestamp (system time) that this event occured for the purpose of event reporting.

    sls_cong_level
        Contains the current congestion status for this link.

    sls_disc_level
        Contains the current discard status for this link.

SLS_RETREIVED_MESSAGE_IND
    Indicates one retreived message during buffer retreival.

SLS_RETREIVAL_COMPLETE_IND
    Indicates that buffer retrieval is complete and not to expect further retrieved messages.

SLS_RB_CLEARED_IND
    Indicates that the Receive Buffer (RB) has been cleared.

SLS_BSNT_IND
    Indicates the value of BSNT which was requested by a SLS_RETRIEV_BSNT_REQ. This primitive indicates additional information in the sls_bsnt_ind_t structure as follows:

    typedef struct {
        sls_ulong    sls_primitive;
        sls_ulong    sls_bsnt;
    } sls_bsnt_ind_t;

    sls_primitive
        Contains the primitive SLS_BSNT_IND.

    sls_bsnt
        Contains the Backward Sequence Number (BSN) for transmission (BSNT) which is the Backwards Sequence Number which will be next sent acknowledging a received MSU. This is the SN of the last successfully received MSU for use in changeover procedures and buffer updating.

SLS_IN_SERVICE_IND
    Indicates that the signalling link is in service and ready to accept traffic.

SLS_OUT_OF_SERVICE_IND
    Indicates that the signalling link is out of service and can no longer accept traffic. This primitive indicates additional information in the sls_out_of_service_t structure as follows:

    typedef struct {
        sls_ulong    sls_primitive;
        sls_ulong    sls_timestamp;
        sls_ulong    sls_reason;
    } sls_out_of_service_t;

    sls_primitive
        Contains the primitive SLS_IN_SERVICE_IND.

    sls_timestamp
        Contains the timestamp (system time) that this event occured for the purpose of event reporting.

    sls_reason
        Contains the failure reason for management reporting. The reason may be one of the following:

    SLS_FAIL_UNSPECIFIED | Unknown.
    SLS_FAIL_CONG_TIMEOUT | Timeout (T6).
    SLS_FAIL_ACK_TIMEOUT | Timeout (T7).
    SLS_FAIL_ABNORMAL_BSNR | Abnormal BSN.
    SLS_FAIL_ABNORMAL_FIBR | Abnormal FIB.
    SLS_FAIL_SUERM_EIM | SUERM/EIM failure.
    SLS_FAIL_ALIGNMENT_NOT_POSSIBLE | Alignment failure.
    SLS_FAIL_RECEIVED_SIO | Received SIO.
    SLS_FAIL_RECEIVED_SIN | Received SIN.
    SLS_FAIL_RECEIVED_SIE | Received SIE.
    SLS_FAIL_RECEIVED_SIOS | Received SIOS.
    SLS_FAIL_T1_TIMEOUT | Timeout (T1).

SLS_REMOTE_PROCESSOR_OUTAGE_IND
    Indicates that the remote side of the link has lost communication with its L3 processor. This primitive indicates additional information for event reporting in the sls_rem_proc_out_ind_t structure as follows:

    typedef struct {
        sls_ulong    sls_primitive;
        sls_ulong    sls_timestamp;
    } sls_rem_proc_out_ind_t;

    sls_primitive
        Contains the primitive SLS_REMOTE_PROCESSOR_OUTAGE_IND.

    sls_timestamp
        Contains the timestamp (system time) that this event occured for the purpose of event reporting.

SLS_REMOTE_PROCESSOR_RECOVERED_IND
    Indicates that the remote side of the link has re-established communications with its L3 processor. This primitive indicates additional information for event reporting in the sls_rem_proc_recovered_ind_t structure as follows:

    typedef struct {
        sls_ulong    sls_primitive;
        sls_ulong    sls_timestamp;
    } sls_rem_proc_recovered_ind_t;

    sls_primitive
        Contains the primitive SLS_REMOTE_PROCESSOR_RECOVERED_IND.

    sls_timestamp
        Contains the timestamp (system time) that this event occured for the purpose of event reporting.

SLS_RTB_CLEARED_IND
    Indicates that the Re-Transmission Buffer (RTB) has been cleared.

PROTOCOL MANAGEMENT INTERFACE

Protocol management interface comands are from the stream head to the SLS driver using streamio(8) I_STR commands as follows:
    fd = open("/dev/sls");
    ret = ioctl(fd, I_STR, arg);

Where arg is a pointer to a strioctl structure which contains the following members:

    struct strioctl {
        int     ic_cmd;
        int     ic_timout;
        int     ic_len;
        char    *ic_dp;
    };

ic_cmd can be one of the protocol management interface commands described in the following subsections:

  Protocol Options

Protocol management controls which affect protocol options are used by local management to set protocol variants and protocol options inherent to the SLS provider.

The ic_cmd contains one of the following options commands:

SLS_IOCGOPTIONS
    Gets the protocol variant pvar and protocol options popt assigned to the Signalling Link Set into the provided lmi_option structure.

SLS_IOCSOPTIONS
    Sets the protocol variant pvar and protocol options popt to the Signalling Link Set as provided in the lmi_option structure.

ic_dp points to a lmi_option structure which represents the protocol variant and options parameters as follows:

    typedef struct lmi_option {
        lmi_ulong   pvar;
        lmi_ulong   popt;
    } lmi_option_t;

    pvar
        Specifies the protocol variant to be used for the Signalling Link Set and may be one of the following values:

        SS7_PVAR_ITUT_88 | ITU-T Q.703 1988 (Blue Book)
        SS7_PVAR_ITUT_93 | ITU-T Q.703 1993 (Grey Book)
        SS7_PVAR_ITUT_96 | ITU-T Q.703 1996 (White Book)
        SS7_PVAR_ITUT_00 | ITU-T Q.703 2000 (? Book)
        SS7_PVAR_ANSI_88 | ANSI T1.113-1988
        SS7_PVAR_ANSI_92 | ANSI T1.113-1992
        SS7_PVAR_ANSI_96 | ANSI T1.113-1996
        SS7_PVAR_ANSI_00 | ANSI T1.113-2000
        SS7_PVAR_ETSI_88 | ETSI 300 008-1 1988
        SS7_PVAR_ETSI_93 | ETSI 300 008-1 1993
        SS7_PVAR_ETSI_96 | ETSI 300 008-1 1996
        SS7_PVAR_ETSI_00 | ETSI 300 008-1 2000
        SS7_PVAR_JTTC_94 | JTTC JQ.703 1994

    popt
        Specifies the protocol options to be used for the Signalling Link Set and may be a bitwise OR of any of the following values:

        SS7_POPT_MPLEV | Multi Priority/Cong Levels
        SS7_POPT_PCR | Preventative Cyclic Retrans
        SS7_POPT_HSL | High Speed Links
        SS7_POPT_XSN | Extended Sequence Numbers
        SS7_POPT_ALL | All options

  Protocol Configuration

Protocol management controls which affect protocol configuration are invoked by local management to configure or request configuration information from the SLS provider.

The ic_cmd contains one of the following configuration commands:

SLS_IOCGCONFIG
    Gets the protocol configuration of the Signalling Link Set into the provided sls_config structure.

SLS_IOCSCONFIG
    Sets the protocol configuration of the Signalling Link Set from the provided sls_config structure.

SLS_IOCTCONFIG
    Tests the protocol configuration as provided in the sls_config structure against the Signalling Link Set for consistency and validity. Also locks the configuration of the SLS provider awaiting a commit.

SLS_IOCCCONFIG
    Commits the protocol configuration as provided in the sls_config structure to the Signalling Link Set. Also unlocks the configuration of the SLS provider.

ic_dp points to a sls_config structure which represents the Signalling Link Set protocol configuration as follows:

    typedef struct sls_config {
        sls_ulong    t1;
        sls_ulong    t2;
        sls_ulong    t2l;
        sls_ulong    t2h;
        sls_ulong    t3;
        sls_ulong    t4n;
        sls_ulong    t4e;
        sls_ulong    t5;
        sls_ulong    t6;
        sls_ulong    t7;
        sls_ulong    rb_abate;
        sls_ulong    rb_accept;
        sls_ulong    rb_discard;
        sls_ulong    tb_abate_1;
        sls_ulong    tb_onset_1;
        sls_ulong    tb_discd_1;
        sls_ulong    tb_abate_2;
        sls_ulong    tb_onset_2;
        sls_ulong    tb_discd_2;
        sls_ulong    tb_abate_3;
        sls_ulong    tb_onset_3;
        sls_ulong    tb_discd_3;
        sls_ulong    N1;
        sls_ulong    N2;
        sls_ulong    M;
    } sls_config_t;

    t1, t2, t2l, t2h, t3, t4n, t4e, t5, t6, t7
        Contains the timeout values for Level 2 timers (in jiffies or ticks).

    rb_abate, rb_accept, rb_discard
        Contains the accept, discard and abate levels of the Receive Buffer (RB) in integer numbers of messages.

    tb_abate_1, tb_onset_1, tb_discd_1
        Contains the onset, discard and abate levels for congestion level 1 of the Transmission/Re-Transmission Buffers (TB/RTB) in number of message bytes.

    tb_abate_2, tb_onset_2, tb_discd_2
        Contains the onset, discard and abate levels for congestion level 2 of the Transmission/Re-Transmission Buffers (TB/RTB) in number of message bytes.

    tb_abate_3, tb_onset_3, tb_discd_3
        Contains the onset, discard and abate levels for congestion level 3 of the Transmission/Re-Transmission Buffers (TB/RTB) in number of message bytes.

    N1, N2
        Contains the Re-Transmission Buffer (RTB) occupancy which triggers forced retransmission in numbers of messages (N1) and number of message bytes (N2).

    M   Contains the number of normal proving periods which must be successfully passed during normal alignment procedures (usually 5).

  Protocol State

Protocol management controls which affect protocol state are invoked by local management to request information about the state of the protocol state machines in the SLS provider.

The ic_cmd contains one of the following state commands:

SLS_IOCGSTATEM
    Gets the protocol state machine variables of the Signalling Link Set into the provided sls_statem structure.

SLS_IOCCMRESET
    Performs a master reset on the protocol state machines and returns the power-on settings of the state machine variables of the Signalling Link Set into the provided sls_statem structure.

ic_dp points to a sls_statem structure which represents the Signalling Link Set protocol state as follows:

    typedef struct sls_statem {
        sls_ulong    lsc_state;
        sls_ulong      local_processor_outage;
        sls_ulong      remote_processor_outage;
        sls_ulong      processor_outage;
        sls_ulong      emergency;
        sls_ulong      l3_indication_received;
        sls_ulong      failure_reason;
        sls_ulong    iac_state;
        sls_ulong      further_proving;
        sls_ulong      t4v;
        sls_ulong      Cp;
        sls_ushort   ib_mask;
        sls_ushort   sn_mask;
        sls_ulong    txc_state;
        tx_sni_t      tx;
        sls_ulong      msu_inhibited;
        sls_ulong      lssu_available;
        sls_ulong      rtb_full;
        sls_ulong      clear_rtb;
        sls_ulong      sib_received;
        sls_ulong      retrans_cycle;
        sls_ulong      forced_retransmission;
        sls_ulong      Cm;
        sls_ulong      Ct;
        sls_ulong      cong_level;
        sls_ulong      disc_level;
        sls_ulong      Z;
        void          *z_ptr;
        sls_ulong    rc_state;
        rx_sni_t      rx;
        sls_ulong      rtr;
        sls_ulong      unb;
        sls_ulong      unf;
        sls_ulong      msu_fisu_accepted;
        sls_ulong      abnormal_bsnr;
        sls_ulong      abnormal_fibr;
        sls_ulong      congestion_discard;
        sls_ulong      congestion_accept;
        sls_ulong      l2_congestion_detect;
        sls_ulong      l3_congestion_detect;
        sls_ulong      Cr;
        sls_ulong    cc_state;
        sls_ulong    poc_state;
    } sls_statem_t;

    lsc_state,
        local_processor_outage, remote_processor_outage, processor_outage, emergency, l3_indication_received, failure_reason
        State variable, flags and counters for the Link State Control (LSC) state machine.

    iac_state,
        further_proving, t4v, Cp
        State variable, flags and counters for the Initial Alignment Control (IAC) state machine.

    ib_mask, sn_mask
        Indicator bit and sequence number masks.

    txc_state,
        tx, msu_inhibited, lssu_available, rtb_full, clear_rtb, sib_received, retrans_cycle, forced_retransmission, Cm, Ct, cong_level, disc_level, Z, z_ptr
        State variable, flags and counters for the Transmission Control (TXC) state machine.

    rc_state,
        rx, rtr, unb, unf, msu_fisu_accepted, abnormal_bsnr, abnormal_fibr, congestion_discard, congestion_accept, l2_congestion_detect, l3_congestion_detect, Cr
        State variable, flags and counters for the Reception Control (RC) state machine.

    cc_state
        State variable for the Congestion Control (CC) state machine.

    poc_state
        State variable for the Processor Outage Control (POC) state machine.

    State variables can assume one of the following values (not all values are valid for all state variables):

        SLS_STATE_IDLE
        SLS_STATE_NORMAL
        SLS_STATE_POWER_OFF
        SLS_STATE_BUSY
        SLS_STATE_IN_SERVICE
        SLS_STATE_LOCAL_PROCESSOR_OUTAGE
        SLS_STATE_PROVING
        SLS_STATE_INITIAL_ALIGNMENT
        SLS_STATE_NOT_ALIGNED
        SLS_STATE_REMOTE_PROCESSOR_OUTAGE
        SLS_STATE_SLEEPING
        SLS_STATE_ALIGNED
        SLS_STATE_ALIGNED_NOT_READY
        SLS_STATE_BOTH_PROCESSORS_OUT
        SLS_STATE_ALIGNED_READY
        SLS_STATE_OUT_OF_SERVICE
        SLS_STATE_PROCESSOR_OUTAGE

  Protocol Data Collection

Protocol management controls which affect protocol measurement data collection are invoked by local management to request and alter collection periods for data collection within the SLS provider.

ic_cmd contains one of the following collection commands:

SLS_IOCGSTATSP
    Get the protocol measurement collection period information of the identified object_id into the provided lmi_sta structure.

SLS_IOCSSTATSP
    Set the protocol measurement collection period information of the identified object_id using the provided lmi_sta structure.

ic_dp points to a lmi_sta structure which represnts the Signalling Link Set collection periods as follows:

    typedef struct lmi_sta {
        lmi_ulong   object_id;
        lmi_ulong   colperiod;
        lmi_ulong   timestamp;
    } lmi_sta_t;

    object_id
        Contains the object idenitfier for the managed object to which the collection information applies.

    colperiod
        Contains the collection period (in jiffies). The managed object measurement data must be collected and notified once for each collection period interval.

    timestamp
        Contains a timestamp (in seconds since epoch) which identifies the system time at which a collection period ends. This value is used in conjunction with the collection period to calculate the time of the next collection interval.

  Protocol Statistics

Protocol management controls which affect protocol statistics are invoked by local management to request information about statistics pertaining to the SLS provider.

ic_cmd contains one of the following statistics commands:

SLS_IOCGSTATS
    Get the protocol statistics of the Signalling Link Set for the current collection period into the provided sls_stats structure.

SLS_IOCCSTATS
    Clear the protocol statisics of the Signalling Link Set for the current collection period and return the statistics which were accumulated to the point of clearing during the current interval sls_stats structure.

ic_dp points to a sls_stats structure which represents the Signalling Link Set protocol statistics as follows:

    typedef struct sls_stats {
        lmi_sta_t   header;
        sls_ulong    sls_dur_in_service;
        sls_ulong    sls_fail_align_or_proving;
        sls_ulong    sls_nacks_received;
        sls_ulong    sls_dur_unavail;
        sls_ulong    sls_dur_unavail_failed;
        sls_ulong    sls_dur_unavail_rpo;
        sls_ulong    sls_sibs_sent;
        sls_ulong    sls_tran_sio_sif_octets;
        sls_ulong    sls_retrans_octets;
        sls_ulong    sls_tran_msus;
        sls_ulong    sls_recv_sio_sif_octets;
        sls_ulong    sls_recv_msus;
        sls_ulong    sls_cong_onset_ind[4];
        sls_ulong    sls_dur_cong_level[4];
        sls_ulong    sls_msus_cong_discard;
        sls_ulong    sls_cong_discd_ind[4];
    } sls_stats_t;

    header
        Contains the timestamp for the current collection interval for which statistics are being reported.

    sls_dur_in_service
        (Q.752 Table 1.1) Contains the duration of time that the signalling link has been in service.

    sls_fail_align_or_proving
        (Q.752 Table 1.7) Contains the number of times that the signalling link has failed during alignement or proving.

    sls_nacks_received
        (Q.752 Table 1.9) Contains the number of negative acknowledgements of MSUs received.

    sls_dur_unavail
        (Q.752 Table 2.1) Contains the duration of time that the signalling link has been uavailable for all reasons.

    sls_dur_unavail_failed
        (Q.752 Table 2.7) Contains the duration of time that the signalling link has been unavailable due to failure.

    sls_dur_unavail_rpo
        (Q.752 Table 2.9) Contains the duration of time that the signalling link has been unavailable due to remote processor outage.

    sls_sibs_sent
        (Q.752 Table 2.15) Contains the number of SIBs sent.

    sls_tran_sio_sif_octets
        (Q.752 Table 3.1) Contains the number of SIO/SIF octets transmitted.

    sls_retrans_octets
        (Q.752 Table 3.2) Contains the number of octets retransmitted.

    sls_tran_msus
        (Q.752 Table 3.3) Contains the number of MSUs transmitted.

    sls_recv_sio_sif_octets
        (Q.752 Table 3.4) Contains the number of SIO/SIF octets received.

    sls_recv_msus
        (Q.752 Table 3.5) Contains the number of MSUs received.

    sls_cong_onset_ind[4]
        (Q.752 Table 3.6) Contains the number of times that a congestion onset threshold was passed.

    sls_dur_cong_level[4]
        (Q.752 Table 3.7) Contains the duration of time spent in each congestion level.

    sls_msus_cong_discard
        (Q.752 Table 3.10) Contains the number of MSUs discarded due to congestion.

    sls_cong_discd_ind[4]
        (Q.752 Table 3.11) Contains the number of times that a congestion discard threshold was passed.

  Protocol Events

Protocol management controls which affect notification of events to local management are invoked by local management to request information about notifications which have been requested as well as to set notification by event.

The ic_cmd contians one of the following notify commands:

SLS_IOCGNOTIFY
    Gets the protocol notification bitmask of the Signalling Link Set into the provided sls_notify structure.

SLS_IOCSNOTIFY
    Sets protocol notification for the Signalling Link Set events identified by set bits in the provided sls_notify structure.

SLS_IOCCNOTIFY
    Clears protocol notification for the Signalling Link Set events identified by set bits in the provided sls_notify structure.

ic_dp points to a sls_notify structure which represents the Signalling Link Set protocol event notifications as follows:

    typedef struct sls_notify {
        sls_ulong   events;
    } sls_notify_t;

    events
        Contains a bit mask with bits set for each Signalling Link Set event for which notification has been requested. May also contain set bits for events for which notification should be set (SLS_IOCSNOTIFY) or cleared (SLS_IOCCNOTIFY). The mask is the bitwise OR of any of the following values:

        SLS_EVT_FAIL_UNSPECIFIED |
        SLS_EVT_FAIL_CONG_TIMEOUT | Q.752 Table 1.6
        SLS_EVT_FAIL_ACK_TIMEOUT | Q.752 Table 1.4
        SLS_EVT_FAIL_ABNORMAL_BSNR |
        SLS_EVT_FAIL_ABNORMAL_FIBR |
        SLS_EVT_FAIL_ABORMAL | Q.752 Table 1.3
        SLS_EVT_FAIL_SUERM_EIM | Q.752 Table 1.5
        SLS_EVT_FAIL_ALIGNMENT |
        SLS_EVT_FAIL_RECEIVED_SIO |
        SLS_EVT_FAIL_RECEIVED_SIN |
        SLS_EVT_FAIL_RECEIVED_SIE |
        SLS_EVT_FAIL_RECEIVED_SIOS |
        SLS_EVT_FAIL_T1_TIMEOUT |
        SLS_EVT_RPO_BEGIN | Q.752 Table 2.10
        SLS_EVT_RPO_END | Q.752 Table 2.11
        SLS_EVT_CONGEST_ONSET_IND | Q.752 Table 3.6 1st&D
        SLS_EVT_CONGEST_DISCD_IND | Q.752 Table 3.11 1st&D

SEE ALSO

devi(7), getmsg(2), ioctl(2), lmi(7), mtpi(7), putmsg(2), read(2), sls(8), slsi(7), ss7d(8), streamio(2), write(2)

BUGS

Too many to mention.

AUTHOR

Brian F. G. Bidulock, <bidulock@openss7.org>

HISTORY

This STREAMS interface for SS7 is an original part of the OpenSS7 package.

REFERENCES

[Q702] | ITU-T Rec. Q.702 Signalling Data Link
[Q703] | ITU-T Rec. Q.703 Signalling Link
[Q704] | ITU-T Rec. Q.704 Message Transfer Part

COPYRIGHT NOTICE

Copyright © 1997-2001 Brian Bidulock. All Rights Reserved.

PERMISSION NOTICE

Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.

Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copyring, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.

Since the Linux kernel and libraries are constantly changing, this manual page may be incorrect or out-of-date. The author(s) assume no responsibility for errors or omissions, or for damage resulting from the use of the information contained herein. The author(s) may not have taken the same level of care in the production of this manual, which is licensed free of charge, as they might when working professionally.

Formatted or processed versions of this manual, if unaccompanied by the source, must acknowledge the copyright and authors of this work.