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 Set (SLS) Interface

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

Overview

- A brief overview of the Signalling Link Set driver.

Model

- The model of a Signalling Link Set.

Services

- Services provided by the Signalling Link Set provider.

Primitives

- Primitives described at the Signalling Link Set Interface.

Sequences

- Allowed sequences of primitives and interface state transitions

Implementation

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

Header File

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

Overview

The Signalling Link Set module is a multiplexor which is used to group streams associated with signalling links into a signalling link set. Signalling link sets can consist of one or upwards of 16 signalling links. Signalling Link Set modules fan-out downstream and fan-in upstream. Each signalling link set multiplexor is associated with a single Message Transfer Part multiplexor.

The Signalling Link Set module completes the OSI Layer 2 capabilities and, as such, presents a DLPI interface upwards. The DLPI interface has been extended to permit configuration and SS7 protocol specific information to be exchanged between the Network Layer (MTP) and the link set. The details of the DLPI mapping and the extensions for the SS7 protocol are provided in the section on Signalling Link Sets.

Model

Services

Primitives

Local Management Primitives

Data Transfer Primitives

LS_SIGNAL_UNIT_REQ
LS_SIGNAL_UNIT_IND

Protocol Specific Primitives

LS_STOP_REQ
LS_START_REQ
LS_RESTART_REQ
LS_INHIBIT_REQ
LS_UNINHIBIT_REQ
LS_EMERGENCY_REQ
LS_NORMAL_REQ
LS_FAILURE_IND
LS_RESTORED_IND
LS_INHIBITED_IND
LS_CONGESTED_IND
LS_OUTAGE_IND
LS_RECOVERED_IND

Sequences

Implementation

Header File

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

 @(#) $Id: streams04.html,v 0.7.2.7 2001/01/09 10:37:14 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/01/09 10:37:14 $ by $Author: brian $

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

#ident "@(#) $Id: streams04.html,v 0.7.2.7 2001/01/09 10:37:14 brian Exp $"

#ifndef __SS7_SLSI_H__
#define __SS7_SLSI_H__

typedef lmi_long    ls_long;
typedef lmi_ulong   ls_ulong;
typedef lmi_ushort  ls_ushort;
typedef lmi_uchar   ls_uchar;

typedef lmi_long    lk_long;
typedef lmi_ulong   lk_ulong;
typedef lmi_ushort  lk_ushort;
typedef lmi_uchar   lk_uchar;

#define LS_PROTO_BASE              80L

#define LS_DSTR_FIRST              ( 1L + LS_PROTO_BASE)
#define LS_SIGNAL_UNIT_REQ         ( 2L + LS_PROTO_BASE)
#define LS_STOP_REQ                ( 3L + LS_PROTO_BASE)
#define LS_START_REQ               ( 4L + LS_PROTO_BASE)
#define LS_RESTART_REQ             ( 5L + LS_PROTO_BASE)
#define LS_INHIBIT_REQ             ( 6L + LS_PROTO_BASE)
#define LS_UNINHIBIT_REQ           ( 7L + LS_PROTO_BASE)
#define LS_EMERGENCY_REQ           ( 8L + LS_PROTO_BASE)
#define LS_NORMAL_REQ              ( 9L + LS_PROTO_BASE)
#define LS_DSTR_LAST               ( 9L + LS_PROTO_BASE)

#define LS_USTR_FIRST              (-1L - LS_PROTO_BASE)
#define LS_SIGNAL_UNIT_IND         (-2L - LS_PROTO_BASE)
#define LS_FAILURE_IND             (-3L - LS_PROTO_BASE)
#define LS_RESTORED_IND            (-4L - LS_PROTO_BASE)
#define LS_INHIBITED_IND           (-5L - LS_PROTO_BASE)
#define LS_CONGESTED_IND           (-6L - LS_PROTO_BASE)
#define LS_OUTAGE_IND              (-7L - LS_PROTO_BASE)
#define LS_RECOVERED_IND           (-8L - LS_PROTO_BASE)
#define LS_USTR_LAST               (-9L - LS_PROTO_BASE)

/*
 *  LS_SIGNAL_UNIT_REQ, M_PROTO or M_PCPROTO (M_DATA)
 */
typedef struct {
    ls_ulong   ls_primitive;
    ls_ulong   ls_slc;
} ls_signal_unit_req_t;
/*
 *  LS_STOP_REQ, M_PROTO or M_PCPROTO
 */
typedef struct {
    ls_ulong   ls_primitive;
} ls_stop_req_t;
/*
 *  LS_START_REQ, M_PROTO or M_PCPROTO
 */
typedef struct {
    ls_ulong   ls_primitive;
} ls_start_req_t;
/*
 *  LS_RESTART_REQ, M_PROTO or M_PCPROTO
 */
typedef struct {
    ls_ulong   ls_primitive;
} ls_restart_req_t;
/*
 *  LS_INHIBIT_REQ, M_PROTO or M_PCPROTO
 */
typedef struct {
    ls_ulong   ls_primitive;
} ls_inhibit_req_t;
/*
 *  LS_UNINHIBIT_REQ, M_PROTO or M_PCPROTO
 */
typedef struct {
    ls_ulong   ls_primitive;
} ls_unihibit_req_t;
/*
 *  LS_EMERGENCY_REQ, M_PROTO or M_PCPROTO
 */
typedef struct {
    ls_ulong   ls_primitive;
} ls_emergency_req_t;
/*
 *  LS_NORMAL_REQ, M_PROTO or M_PCPROTO
 */
typedef struct {
    ls_ulong   ls_primitive;
} ls_normal_req_t;
/*
 *  LS_SIGNAL_UNIT_IND, M_PROTO or M_PCPROTO (M_DATA)
 */
typedef struct {
    ls_ulong   ls_primitive;
    ls_ulong   ls_slc;
} ls_signal_unit_ind_t;
/*
 *  LS_FAILURE_IND, M_PROTO or M_PCPROTO
 */
typedef struct {
    ls_ulong   ls_primitive;
    ls_ulong   ls_reason;
} ls_failure_ind_t;
/*
 *  LS_RESTORED_IND, M_PROTO or M_PCPROTO
 */
typedef struct {
    ls_ulong   ls_primitive;
} ls_restored_ind_t;
/*
 *  LS_INHIBITED_IND, M_PROTO or M_PCPROTO
 */
typedef struct {
    ls_ulong   ls_primitive;
} ls_inhibited_ind_t;
/*
 *  LS_CONGESTED_IND, M_PROTO or M_PCPROTO
 */
typedef struct {
    ls_ulong   ls_primitive;
    ls_ulong   ls_cong_level;
    ls_ulong   ls_disc_level;
} ls_congested_ind_t;
/*
 *  LS_OUTAGE_IND, M_PROTO or M_PCPROTO
 */
typedef struct {
    ls_ulong   ls_primitive;
} ls_outage_ind_t;
/*
 *  LS_RECOVERED_IND, M_PROTO or M_PCPROTO
 */
typedef struct {
    ls_ulong   ls_primitive;
} ls_recovered_ind_t;

union LS_primitives {
    ls_long                ls_primitive;
    ls_signal_unit_req_t   signal_unit_req;
    ls_stop_req_t          stop_req;
    ls_start_req_t         start_req;
    ls_restart_req_t       restart_req;
    ls_inhibit_req_t       inhibit_req;
    ls_unihibit_req_t      unihibit_req;
    ls_emergency_req_t     emergency_req;
    ls_normal_req_t        normal_req;
    ls_signal_unit_ind_t   signal_unit_ind;
    ls_failure_ind_t       failure_ind;
    ls_restored_ind_t      restored_ind;
    ls_inhibited_ind_t     inhibited_ind;
    ls_congested_ind_t     congested_ind;
    ls_outage_ind_t        outage_ind;
    ls_recovered_ind_t     recovered_ind;
};

#define LS_PRIMITIVE_MAX_SIZE      sizeof(union LS_primitives);

#define LS_SIGNAL_UNIT_REQ_SIZE    sizeof(ls_signal_unit_req_t)
#define LS_STOP_REQ_SIZE           sizeof(ls_stop_req_t)
#define LS_START_REQ_SIZE          sizeof(ls_start_req_t)
#define LS_RESTART_REQ_SIZE        sizeof(ls_restart_req_t)
#define LS_INHIBIT_REQ_SIZE        sizeof(ls_inhibit_req_t)
#define LS_UNIHIBIT_REQ_SIZE       sizeof(ls_unihibit_req_t)
#define LS_EMERGENCY_REQ_SIZE      sizeof(ls_emergency_req_t)
#define LS_NORMAL_REQ_SIZE         sizeof(ls_normal_req_t)
#define LS_SIGNAL_UNIT_IND_SIZE    sizeof(ls_signal_unit_ind_t)
#define LS_FAILURE_IND_SIZE        sizeof(ls_failure_ind_t)
#define LS_RESTORED_IND_SIZE       sizeof(ls_restored_ind_t)
#define LS_INHIBITED_IND_SIZE      sizeof(ls_inhibited_ind_t)
#define LS_CONGESTED_IND_SIZE      sizeof(ls_congested_ind_t)
#define LS_OUTAGE_IND_SIZE         sizeof(ls_outage_ind_t)
#define LS_RECOVERED_IND_SIZE      sizeof(ls_recovered_ind_t)

#endif  __SS7_SLSI_H__

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:02 $