OpenSS7

OpenSS7,

© Copyright 1997-2001, OpenSS7, All Rights Reserved.


Home Index Prev Next More Download Info FAQ Mail

STREAMS Design

ZZZZZZZZ UNDER CONSTRUCTION ZZZZZZZZ

Signalling Link (SL) Interface

The Signalling Link (SL) Interface design is explained in the following sections:

Overview

- A brief overview of the Signalling Link driver.

Model

- The model of a Signalling Link.

Services

- Services provided by the Signalling Link provider.

Primitives

- Primitives described at the Signalling Link Interface.

Sequences

- Allowed sequences of primitives and interface state transitions

Implementation

- Considerations for implementation of drivers using the Signalling Link Interface.

Header File

- A header file which provides definitions for the Signalling Link Interface.

Library Functions

- Libarary functions which are provided in user space for exercising the Signalling Link Interface.

Overview

The SS7 Signalling Link Module provides the SS7 Level 2 (Signalling Link) state machine behavior such as specified in Q.703, T1.111 and ETSI ETS 300 008-1. This state machine behavior is common to all SS7 signalling links and depends only upon the capabilities of the CDI interface to the Signalling Data Terminal Driver. The SS7 configuration daemon pushes a cloned instance of this module onto each Signalling Data Terminal driver which it opens (drivers are listed in the daemon's config file or provided to the daemon at run-time). The module is either pushed explicitly by the daemon or is configured on the driver's autopush list.

The resulting streams module arrangement is illustrated in the diagram.

The Signalling Link Module is not a full Layer 2 OSI implementation: it only implements the lower half of OSI Layer 2. As such, it implements parts of the CDI, yet provides additional protocol-specific primitives for interacting with the Signalling Link Set module (the upper half of OSI Layer 2). The mapping of CDI primitives to Signalling Link primitives and the SS7 protocol-specific primitives which the Signalling Link module provides are detailed in the section on Signalling Links.

Because there is a one-to-one relationship between an instance of the Signalling Link module and an instance of a Signalling Data Terminal, the Signalling Link module relays SL_ATTACH_REQ and SL_ATTACH_ACK primitives to and from the Signalling Data Terminal. This permits the module to be configured as an autopush module for the Signalling Data Terminal, yet still permits the SS7 configuration daemon the ability to attach Signalling Data Terminal Drivers to specific PPAs (Style 2) or discover the PPA of the driver (Style 1).

Model

The Signalling Link level (Level 2 in the ITU-T Q.700-Series Recommendations) is reponsible for the transmission and error-free delivery of bits of information over a physical communications medium.

The model of the Signalling Link Level (MTP Level 2) is presented here to describe concepts that are used throughout the specification of the SLI. It is described in terms of an interface architecture, as well as addressing concepts needed to identify different components of the architecutre. The description of the model assumes familiarity with the Signalling System No. 7 (SS7) protocol stack.

Service Interface

Each Level in the SS7 Protocol Stack has two standards:

SLI is an implementation of the first type of standard. It specifies an interface to the services of the Signalling Link Level (MTP Level 2). The following figure depicts the abstract view of SLI.


Figure 1.  Abstract View of SLI

The Signaling Link interface is the boundary between the MTP Level 2 (link) and MTP Level 3 (network) levels of the SS7 Reference Model. The MTP Level 3 (network) level entity is the user of the services of the Signalling Link interface (SLS user), and the signalling link layer entity is the provider of those services (SLS provider). This interface consists of a set of primitives that provide access to the signalling link level services, plus the rules for using those primitives (state transition rules). A signalling link interface service pimtiive might request a particular service or indicate a pending event.

The service primitives that make up this interface are defined as STREAMS messages that are transfered between the user and provider of the service. SLI is a kernel-level interface, and is targeted for STREAMS protocol modules that either use or provide signalling link services. In addition, user programs that wish to access a STREAMS-based signalling link provider directly may do so using the putmsg(2) and getmsg(2) system calls.

Referring to the abstract view of SLI (Figure 1), the SLS provider is configured as a STREAMS driver, and the SLS user accesses the provider using open(2) to establish a stream to the SLS provider. The stream acts as a communications endpoint between a SLS user and the SLS provider. After the stream is created, the SLS user and SLS provider communicate via the messages presented later in this specification.

SLI is intended to free signalling link users from specific knowledge of the characteristics of the signalling link provider. Specifically, the definition of SLI hopes to acheive the goal of allowing a SLS user to be implemented independent of a specific communciations medium. Any signalling link provider (supporting any communications medium) that conforms to the SLI specification may be subsituted beneath the SLS user to provide the signalling link services. Support of a new SLS provider should not require any changes to the implementation of the SLS user.

Phases of Communication

Local Management
Intial Alignment
Data Transfer
Link Failure

SLI Addressing

Each user of SLI must establish an identity to communicate with other signalling link users. This identity consists of two pieces. First, the SLS user must somehow identify the physical medium (signalling data link) over which it will communicate. This is particularly evident on ssytems that are attached to mutliple physical media (signalling data links), such as T1/E1 cards. Second, the SLS user must register itself with the SLS provider so that the provider can deliver protocol data units destined for that user. The following figure illustrates the components of this identification approach, which are explained below.


Figure 2.  Signalling Link Addressing Components

Physical Attachment Identification

The physical point of attachment (PPA in Figure 2) is the point at which a system attaches itself to a physical communications medium (signalling data link). All communication on that physical medium funnels thorugh the PPA. On systems where a SLS provider supports more than one physical medium, the SLS user must identify which medium it will communicate through. A PPA is identified by a unique PPA Identifier. For media that support physical layer multiplexing of multiple channels over a single physical medium (such as the T1/E1 cards), the PPA identifier must identify the specific channel over which communication will occur.

Two styles of SLS provider are defined by SLI, distinguished by the way they enable a SLS user to choose a particular PPA. The style 1 provider assigns a PPA based on the major/minor device the SLS user opened. One possible implementation of style 1 driver would reserve a major device for each PPA the signalling link driver would support. This would allow the STREAMS clone open feature to be used for each PPA configured. This style of provider is appropriate when few PPAs will be supported.

If the number of PPAs a SLS provider will support is large, a style 2 provider implementation is more suitable. The style 2 provider requires a SLS user to explicitly identify the desired PPA using a special attach primitive. For a style 2 driver, the open(2) creates a stream between the SLS user and SLS provider, and the attach primitive then associates a particular PPA with that stream. The format of the PPA identifier is specific to the SLS provider, and should be described in the provider-specific addendum documentation.

SLI provides a mechanism to get and/or modify the physical address. The primitives to handle these functions is described in Appendix A. The physical address value can be modified in a post-attached state. This would modify the value for all streams for that provider for a particular PPA. The physical address cannot be modified if even a single stream for that PPA is in the bound state.

Services

The various features of the SLI interface are defined in terms of the services provided by the SLS provider, and the individual primitives that may flow between the SLS user and SLS provider.

The signalling link provider interface supports three modes of service: connection, connectionless and acknowledged connectionless. The connection mode is circuit-oriented and enables signalling to be transferred over an established connection in a sequenced manner. The connectionless mode is message-oriented andsupports signalling transfer in self-contained units with no logical relationship required between units. The acknowledged connectionless mode is message-oriented and guarantees that signalling units will be delivered to the destination user in the order in which they were sent. This specification also defines a set of local management functions that apply to all modes of service.

The XID and TEST services that are supported by SLI are listed below. The SLS User can issue an XID or TEST request to the SLS Provider. The Provider will transmit an XID or TEST frame to the peer SLS Provider. On receiving a response, the SLS Provider sends a confirmation primitive to the SLS User. Onreceiving an XID or TEST frame from the peer SLS Provider, the local SLS Provider sends up an XID or TEST indication primitive to the SLS User. The User must respond with an XID or TEST response frame to the Provider.

The services are tabulated below and described more fully in the remainder of this section.

Table 1.  Cross-Reference of SLS Services and Primitives
Phase Service Primitives
Local Management Information Reporting DL_INFO_REQ, DL_INFO_ACK, DL_ERROR_ACK
Attach DL_ATTACH_REQ, DL_DETACH_REQ, DL_OK_ACK, DL_ERROR_ACK
Bind DL_BIND_REQ, DL_BIND_ACK, DL_SUBS_BIND_REQ, DL_SUBS_BIND_ACK, DL_UNBIND_REQ, DL_SUBS_UNBIND_REQ,DL_OK_ACK, DL_ERROR_ACK
Other DL_ENABMULTI_REQ, DL_DISABMULTI_REQ, DL_PROMISCON_REQ, DL_PROMISCOFF_REQ, DL_OK_ACK, DL_ERROR_ACK
Connection Establishment Connection Establishment DL_CONNECT_REQ, DL_CONNECT_IND,DL_CONNECT_RES, DL_CONNECT_CON, DL_DISCONNECT_REQ, DL_DISCONNECT_IND, DL_TOKEN_REQ, DL_TOKEN_ACK, DL_OK_ACK, DL_ERROR_ACK
Connection-mode Data Transfer Data Transfer DL_DATA_REQ, DL_DATA_IND
Reset DL_RESET_REQ, DL_RESET_IND,DL_RESET_RES, DL_RESET_CON, DL_OK_ACK, DL_ERROR_ACK
Connection Release Connection Release DL_DISCONNECT_REQ, DL_DISCONNECT_IND, DL_OK_ACK, DL_ERROR_ACK
Connectionless-mode Data Transfer Data Transfer DL_UNITDATA_REQ, DL_UNITDATA_IND
QOS Management DL_UDQOS_REQ, DL_OK_ACK, DL_ERROR_ACK
Error Reporting DL_UDERROR_IND
XID and TEST services XID DL_XID_REQ, DL_XID_IND, DL_XID_RES, DL_XID_CON
TEST DL_TEST_REQ, DL_TEST_IND, DL_TEST_RES, DL_TEST_CON
Acknowledged Connectionless-mode Data Transfer Data Transfer DL_DATA_ACK_REQ, DL_DATA_ACK_IND, DL_DATA_ACK_STATUS_IND, DL_REPLY_REQ, DL_REPLY_IND, DL_REPLY_STATUS_IND, DL_REPLY_UPDATE_REQ, DL_REPLY_UPDATE_STATUS_IND
QOS Management DL_UDQOS_REQ, DL_OK_ACK, DL_ERROR_ACK
Error Reporting DL_UDERROR_IND

Primitives

Local Management Primitives

LMI_INFO_REQ
LMI_ATTACH_REQ
LMI_DETACH_REQ
LMI_ENABLE_REQ
LMI_DISABLE_REQ
LMI_INFO_ACK
LMI_OK_ACK
LMI_ERROR_ACK
LMI_ENABLE_CON
LMI_DISABLE_CON
LMI_ERROR_IND
LMI_STATS_IND
LMI_EVENT_IND

Data Transfer Primitives

SL_PDU_REQ
SL_PDU_IND

Protocol Specific Primitives

SL_EMERGENCY_REQ
SL_EMERGENCY_CEASES_REQ
SL_START_REQ
SL_STOP_REQ
SL_RETRIEVE_BSNT_REQ
SL_RETREIVAL_REQUEST_AND_FSNC_REQ
SL_RESUME_REQ
SL_CLEAR_BUFFERS_REQ
SL_LOCAL_PROCESSOR_OUTAGE_REQ
SL_CONGESTION_DISCARD_REQ
SL_CONGESTION_ACCEPT_REQ
SL_NO_CONGESTION_REQ
SL_POWER_ON_REQ
SL_LINK_CONGESTED_IND
SL_LINK_CONGESTION_CEASED_IND
SL_RETREIVED_MESSAGE_IND
SL_RETREIVAL_COMPLETE_IND
SL_RB_CLEARED_IND
SL_BSNT_IND
SL_IN_SERVICE_IND
SL_OUT_OF_SERVICE_IND
SL_REMOTE_PROCESSOR_OUTAGE_IND
SL_REMOTE_PROCESSOR_RECOVERED_IND
SL_RTB_CLEARED_IND

Sequences

Implementation

Header File

Following is a copy of the header file for the Signalling Link Interface:

/*****************************************************************************

 @(#) $Id: streams03.html,v 0.7.2.8 2001/11/29 10:40:21 brian Exp $

 -----------------------------------------------------------------------------

   Copyright (C) 1997-2001  Brian Bidulock.  All Rights Reserved.


                                PUBLIC LICENSE

   This license is provided without fee, provided that the above copy-
   right notice and this public license must be retained on all copies,
   extracts, compilations and derivative works.  Use or distribution of
   this work in a manner that restricts its use except as provided here
   will render this license void.

   The author(s) hereby waive any and all other restrictions in respect
   of their copyright in this software and its associated documentation.
   The authors(s) of this software place in the public domain any novel
   methods or processes which are embodied in this software.

   The author(s) undertook to write it for the sake of the advancement
   of the Arts and Sciences, but it is provided as is, and the author(s)
   will not take any responsibility in it.

 -----------------------------------------------------------------------------

 Last modified $Date: 2001/11/29 10:40:21 $ by $Author: brian $

 *****************************************************************************/

#ident "@(#) $Id: streams03.html,v 0.7.2.8 2001/11/29 10:40:21 brian Exp $"

#ifndef __SS7_SLI_H__
#define __SS7_SLI_H__

typedef lmi_long    sl_long;
typedef lmi_ulong   sl_ulong;
typedef lmi_ushort  sl_ushort;
typedef lmi_uchar   sl_uchar;

#define SL_PROTO_BASE                       48L

#define SL_DSTR_FIRST                      (  1L + SL_PROTO_BASE)
#define SL_PDU_REQ                         (  1L + SL_PROTO_BASE)
#define SL_EMERGENCY_REQ                   (  2L + SL_PROTO_BASE)
#define SL_EMERGENCY_CEASES_REQ            (  3L + SL_PROTO_BASE)
#define SL_START_REQ                       (  4L + SL_PROTO_BASE)
#define SL_STOP_REQ                        (  5L + SL_PROTO_BASE)
#define SL_RETRIEVE_BSNT_REQ               (  6L + SL_PROTO_BASE)
#define SL_RETREIVAL_REQUEST_AND_FSNC_REQ  (  7L + SL_PROTO_BASE)
#define SL_RESUME_REQ                      (  8L + SL_PROTO_BASE)
#define SL_CLEAR_BUFFERS_REQ               (  9L + SL_PROTO_BASE)
#define SL_LOCAL_PROCESSOR_OUTAGE_REQ      ( 10L + SL_PROTO_BASE)
#define SL_CONGESTION_DISCARD_REQ          ( 11L + SL_PROTO_BASE)
#define SL_CONGESTION_ACCEPT_REQ           ( 12L + SL_PROTO_BASE)
#define SL_NO_CONGESTION_REQ               ( 13L + SL_PROTO_BASE)
#define SL_POWER_ON_REQ                    ( 14L + SL_PROTO_BASE)
#define SL_DSTR_LAST                       ( 14L + SL_PROTO_BASE)

#define SL_USTR_LAST                       ( -1L - SL_PROTO_BASE)
#define SL_PDU_IND                         ( -1L - SL_PROTO_BASE)
#define SL_LINK_CONGESTED_IND              ( -2L - SL_PROTO_BASE)
#define SL_LINK_CONGESTION_CEASED_IND      ( -3L - SL_PROTO_BASE)
#define SL_RETREIVED_MESSAGE_IND           ( -4L - SL_PROTO_BASE)
#define SL_RETREIVAL_COMPLETE_IND          ( -5L - SL_PROTO_BASE)
#define SL_RB_CLEARED_IND                  ( -6L - SL_PROTO_BASE)
#define SL_BSNT_IND                        ( -7L - SL_PROTO_BASE)
#define SL_IN_SERVICE_IND                  ( -8L - SL_PROTO_BASE)
#define SL_OUT_OF_SERVICE_IND              ( -9L - SL_PROTO_BASE)
#define SL_REMOTE_PROCESSOR_OUTAGE_IND     (-10L - SL_PROTO_BASE)
#define SL_REMOTE_PROCESSOR_RECOVERED_IND  (-11L - SL_PROTO_BASE)
#define SL_RTB_CLEARED_IND                 (-12L - SL_PROTO_BASE)
#define SL_USTR_FIRST                      (-12L - SL_PROTO_BASE)

/*
 *  SLI PROTOCOL PRIMITIVES
 */

/*
 *  SL_PDU_REQ, optional M_PROTO type, with M_DATA block(s)
 */
typedef struct {
    sl_ulong    sl_primitive;
} sl_pdu_req_t;

/*
 *  SL_PDU_IND, optional M_PROTO type, with M_DATA block(s)
 */
typedef struct {
    sl_ulong    sl_primitive;
} sl_pdu_ind_t;

/*
 *  PROTOCOL CONTROL PRIMITIVES
 */

/*
 *  SL_EMERGENCY_REQ, M_PROTO or M_PCPROTO type
 */
typedef struct {
    sl_ulong    sl_primitive;
} sl_emergency_req_t;

/*
 *  SL_EMERGENCY_CEASES_REQ, M_PROTO or M_PCPROTO type
 */
typedef struct {
    sl_ulong    sl_primitive;
} sl_emergency_ceases_req_t;

/*
 *  SL_START_REQ, M_PROTO or M_PCPROTO type
 */
typedef struct {
    sl_ulong    sl_primitive;
} sl_start_req_t;

/*
 *  SL_STOP_REQ, M_PROTO or M_PCPROTO type
 */
typedef struct {
    sl_ulong    sl_primitive;
} sl_stop_req_t;

/*
 *  SL_RETRIEVE_BSNT_REQ, M_PROTO or M_PCPROTO type
 */
typedef struct {
    sl_ulong    sl_primitive;
} sl_retreive_bsnt_req_t;

/*
 *  SL_RETREIVAL_REQUEST_AND_FSNC_REQ, M_PROTO or M_PCPROTO type
 */
typedef struct {
    sl_ulong    sl_primitive;
    sl_ulong    sl_fsnc;
} sl_retreival_req_and_fsnc_t;

/*
 *  SL_RESUME_REQ, M_PROTO or M_PCPROTO type
 */
typedef struct {
    sl_ulong    sl_primitive;
} sl_resume_req_t;

/*
 *  SL_CLEAR_BUFFERS_REQ, M_PROTO or M_PCPROTO type
 */
typedef struct {
    sl_ulong    sl_primitive;
} sl_clear_buffers_req_t;

/*
 *  SL_LOCAL_PROCESSOR_OUTAGE_REQ, M_PROTO or M_PCPROTO type
 */
typedef struct {
    sl_ulong    sl_primitive;
} sl_local_proc_outage_req_t;

/*
 *  SL_CONGESTION_DISCARD_REQ, M_PROTO or M_PCPROTO type
 */
typedef struct {
    sl_ulong    sl_primitive;
} sl_cong_discard_req_t;

/*
 *  SL_CONGESTION_ACCEPT_REQ, M_PROTO or M_PCPROTO type
 */
typedef struct {
    sl_ulong    sl_primitive;
} sl_cong_accept_req_t;

/*
 *  SL_NO_CONGESTION_REQ, M_PROTO or M_PCPROTO type
 */
typedef struct {
    sl_ulong    sl_primitive;
} sl_no_cong_req_t;

/*
 * SL_POWER_ON_REQ, M_PROTO or M_PCPROTO type
 */
typedef struct {
    sl_ulong    sl_primitive;
} sl_power_on_req_t;

/*
 *  SL_LINK_CONGESTED_IND, M_PROTO or M_PCPROTO type
 */
typedef struct {
    sl_ulong    sl_primitive;
    sl_ulong    sl_timestamp;
    sl_ulong    sl_cong_level;  /* status  level */
    sl_ulong    sl_disc_level;  /* discard level */
} sl_link_cong_ind_t;

/*
 *  SL_LINK_CONGESTION_CEASED_IND, M_PROTO or M_PCPROTO type
 */
typedef struct {
    sl_ulong    sl_primitive;
    sl_ulong    sl_timestamp;
    sl_ulong    sl_cong_level;  /* status  level */
    sl_ulong    sl_disc_level;  /* discard level */
} sl_link_cong_ceased_ind_t;

/*
 *  SL_RETREIVED_MESSAGE_IND, M_PROTO or M_PCPROTO type with M_DATA block(s)
 */
typedef struct {
    sl_ulong    sl_primitive;
} sl_retreived_msg_ind_t;

/*
 *  SL_RETREIVAL_COMPLETE_IND, M_PROTO or M_PCPROTO type
 */
typedef struct {
    sl_ulong    sl_primitive;
} sl_retreival_comp_ind_t;

/*
 *  SL_RB_CLEARED_IND, M_PROTO or M_PCPROTO type
 */
typedef struct {
    sl_ulong    sl_primitive;
} sl_rb_cleared_ind_t;

/*
 *  SL_BSNT_IND, M_PROTO or M_PCPROTO type
 */
typedef struct {
    sl_ulong    sl_primitive;
    sl_ulong    sl_bsnt;
} sl_bsnt_ind_t;

/*
 *  SL_IN_SERVICE_IND, M_PROTO or M_PCPROTO type
 */
typedef struct {
    sl_ulong    sl_primitive;
} sl_in_service_ind_t;

/*
 *  SL_OUT_OF_SERVICE_IND, M_PROTO or M_PCPROTO type
 */
typedef struct {
    sl_ulong    sl_primitive;
    sl_ulong    sl_timestamp;
    sl_ulong    sl_reason;
} sl_out_of_service_t;

/*
 *  These reasons for failure as so that upstream module can
 *  collect statistics per link per ITU-T Q.752 Table 1
 *  requirements.
 */
#define SL_FAIL_UNSPECIFIED             0x0001
#define SL_FAIL_CONG_TIMEOUT            0x0002
#define SL_FAIL_ACK_TIMEOUT             0x0004
#define SL_FAIL_ABNORMAL_BSNR           0x0008
#define SL_FAIL_ABNORMAL_FIBR           0x0010
#define SL_FAIL_SUERM_EIM               0x0020
#define SL_FAIL_ALIGNMENT_NOT_POSSIBLE  0x0040
#define SL_FAIL_RECEIVED_SIO            0x0080
#define SL_FAIL_RECEIVED_SIN            0x0100
#define SL_FAIL_RECEIVED_SIE            0x0200
#define SL_FAIL_RECEIVED_SIOS           0x0400
#define SL_FAIL_T1_TIMEOUT              0x0800

/*
 *  SL_REMOTE_PROCESSOR_OUTAGE_IND, M_PROTO or M_PCPROTO type
 */
typedef struct {
    sl_ulong    sl_primitive;
    sl_ulong    sl_timestamp;
} sl_rem_proc_out_ind_t;

/*
 *  SL_REMOTE_PROCESSOR_RECOVERED_IND, M_PROTO or M_PCPROTO type
 */
typedef struct {
    sl_ulong    sl_primitive;
    sl_ulong    sl_timestamp;
} sl_rem_proc_recovered_ind_t;

/*
 *  SL_RTB_CLEARED_IND, M_PROTO or M_PCPROTO type
 */
typedef struct {
    sl_ulong    sl_primitive;
} sl_rtb_cleared_ind_t;

/*
 *  Generic single argument type
 */
typedef struct {
    sl_ulong    sl_cmd;
    sl_ulong    sl_arg;
} sl_cmd_arg_t;

/*
 *  Generic double argument type
 */
typedef struct {
    sl_ulong    sl_cmd;
    sl_ulong    sl_arg1;
    sl_ulong    sl_arg2;
} sl_cmd_2arg_t;

/*
 *  Generic triple argument type
 */
typedef struct {
    sl_ulong    sl_cmd;
    sl_ulong    sl_arg1;
    sl_ulong    sl_arg2;
    sl_ulong    sl_arg3;
} sl_cmd_3arg_t;


union SL_primitives {
    sl_long                     sl_primitive;
    sl_cmd_arg_t                cmd_arg;
    sl_cmd_2arg_t               cmd_2arg;
    sl_cmd_3arg_t               cmd_3arg;
    sl_pdu_req_t                pdu_req;
    sl_pdu_ind_t                pdu_ind;
    sl_emergency_req_t          emergency_req;
    sl_emergency_ceases_req_t   emergency_ceases_req;
    sl_start_req_t              start_req;
    sl_stop_req_t               stop_req;
    sl_retreive_bsnt_req_t      retreive_bsnt_req;
    sl_retreival_req_and_fsnc_t retreival_req_and_fsnc;
    sl_resume_req_t             resume_req;
    sl_clear_buffers_req_t      clear_buffers_req;
    sl_local_proc_outage_req_t  local_proc_outage_req;
    sl_cong_discard_req_t       cong_discard_req;
    sl_cong_accept_req_t        cong_accept_req;
    sl_no_cong_req_t            no_cong_req;
    sl_power_on_req_t           power_on_req;
    sl_link_cong_ind_t          link_cong_ind;
    sl_link_cong_ceased_ind_t   link_cong_ceased_ind;
    sl_retreived_msg_ind_t      retreived_msg_ind;
    sl_retreival_comp_ind_t     retreival_comp_ind;
    sl_rb_cleared_ind_t         rb_cleared_ind;
    sl_bsnt_ind_t               bsnt_ind;
    sl_in_service_ind_t         in_service_ind;
    sl_out_of_service_t         out_of_service_ind;
    sl_rem_proc_out_ind_t       rem_proc_out_ind;
    sl_rem_proc_recovered_ind_t rem_proc_recovered_ind;
    sl_rtb_cleared_ind_t        rtb_cleared_ind;
};

#define SL_CMD_ARG_SIZE                 sizeof(sl_cmd_arg_t)
#define SL_CMD_2ARG_SIZE                sizeof(sl_cmd_2arg_t)
#define SL_CMD_3ARG_SIZE                sizeof(sl_cmd_3arg_t)
#define SL_PDU_REQ_SIZE                 sizeof(sl_pdu_req_t)
#define SL_PDU_IND_SIZE                 sizeof(sl_pdu_ind_t)
#define SL_EMERGENCY_REQ_SIZE           sizeof(sl_emergency_req_t)
#define SL_EMERGENCY_CEASES_REQ_SIZE    sizeof(sl_emergency_ceases_req_t)
#define SL_START_REQ_SIZE               sizeof(sl_start_req_t)
#define SL_STOP_REQ_SIZE                sizeof(sl_stop_req_t)
#define SL_RETREIVE_BSNT_REQ_SIZE       sizeof(sl_retreive_bsnt_req_t)
#define SL_RETREIVAL_REQ_AND_FSNC_SIZE  sizeof(sl_retreival_req_and_fsnc_t)
#define SL_RESUME_REQ_SIZE              sizeof(sl_resume_req_t)
#define SL_CLEAR_BUFFERS_REQ_SIZE       sizeof(sl_clear_buffers_req_t)
#define SL_LOCAL_PROC_OUTAGE_REQ_SIZE   sizeof(sl_local_proc_outage_req_t)
#define SL_CONG_DISCARD_REQ_SIZE        sizeof(sl_cong_discard_req_t)
#define SL_CONG_ACCEPT_REQ_SIZE         sizeof(sl_cong_accept_req_t)
#define SL_NO_CONG_REQ_SIZE             sizeof(sl_no_cong_req_t)
#define SL_POWER_ON_REQ_SIZE            sizeof(sl_power_on_req_t)
#define SL_LINK_CONG_IND_SIZE           sizeof(sl_link_cong_ind_t)
#define SL_LINK_CONG_CEASED_IND_SIZE    sizeof(sl_link_cong_ceased_ind_t)
#define SL_RETREIVED_MSG_IND_SIZE       sizeof(sl_retreived_msg_ind_t)
#define SL_RETREIVAL_COMP_IND_SIZE      sizeof(sl_retreival_comp_ind_t)
#define SL_RB_CLEARED_IND_SIZE          sizeof(sl_rb_cleared_ind_t)
#define SL_BSNT_IND_SIZE                sizeof(sl_bsnt_ind_t)
#define SL_IN_SERVICE_IND_SIZE          sizeof(sl_in_service_ind_t)
#define SL_OUT_OF_SERVICE_SIZE          sizeof(sl_out_of_service_t)
#define SL_REM_PROC_OUT_IND_SIZE        sizeof(sl_rem_proc_out_ind_t)
#define SL_REM_PROC_RECOVERED_IND_SIZE  sizeof(sl_rem_proc_recovered_ind_t)
#define SL_RTB_CLEARED_IND_SIZE         sizeof(sl_rtb_cleared_ind_t)

#endif  __SS7_SLI_H__

Library Functions


ZZZZZZZZZZ Under Construction ZZZZZZZZZZZ

 


Home Index Prev Next More Download Info FAQ Mail

OpenSS7

OpenSS7,

© Copyright 1997-2001, OpenSS7, All Rights Reserved.

Last modified: $Date: 2014/10/10 10:45:01 $