OpenSS7 STREAMS Interface

2.5. Management 

This section presents some optional primitives to perform essential management functions. The management functions supported fall into several categories: 

2.5.1. Device Configuration and Control 

Input output controls are provided which permit for device configuration and control. These are not part of the service primitive interface for SDLI, but provide a mechanism whereby upper-layer entities can determine characteristics of the device for use in determining protocol configuration values. For example, many of the SS7 signalling data terminal and signalling link (Level 2 state machine timer values) depend on the bit-rate of the signalling data link. Also, to perform a Level 1 connection function (L1-CONNECT) it is also necessary for an SDL provider to know the nature of the interface to determin whether lead control on the interface is appropriate. This is accomplished with the following input output controls. 

2.5.1.1. Command DEV_IOCCIFRESET (NULL) 

Resets the interface to the power-on state. 

2.5.1.2. Command DEV_IOCGIFFLAGS and DEV_IOCSIFFLAGS (ulong) 

Sets or gets interface flags. Not all SDL provider necessarily support setting of the interface flags. The argument of this ioctl command is a bit-or'ed combination of one or more of the following flags: 

DEV_IF_UP 

The interface is up and running and prepared to process data. 

DEV_IF_RX_RUNNING 

The receive side of the interface is running: data received on the interface will be delivered to the SDL user.. 

DEV_IF_TX_RUNNING 

The transmit side of the interface is running: data from the SDL user will be transmitted over the interface. 

DEV_IF_SU_COMPRESS 

The interface will compress received FISUs or LSSUs. 

 

2.5.1.3. Command DEV_IOCGIFTYPE and DEV_IOCSIFTYPE (ulong) 

Gets or sets the interface type. Not all SDL providers necessarily support setting of the interface type. The argument of this command is one and only one of the following values: 

DEV_TYPE_NONE 

The interface is a pseudo interface which is supported by some other protocol (e.g. SIGTRAN). 

DEV_TYPE_V35 

The interface is a V.35 interface. V.35 interfaces must provide for lead controls. 

DEV_TYPE_DS0 

The interface is a DS0 interface (at 64kbps). 

DEV_TYPE_DS0A 

The interface is a DS0A interface (at 56kbps). 

DEV_TYPE_E1 

The interface is an unchannelized E1 interface (at 2.048Mbps). 

DEV_TYPE_T1 

The interface is an unchannelized T1 interface (at 1.544Mbps). 

DEV_TYPE_J1 

The interface is an unchannelized J1 interface (at 1.544Mbps). 

DEV_TYPE_ATM 

The interface is an ATM cell interface. 

DEV_TYPE_PACKET 

The interface is a packet interface (e.g., IP or Ethernet) 

2.5.1.4. Command DEV_IOCGGRPTYPE and DEV_IOCSGRPTYPE (ulong) 

Gets or sets the interface group type. SDL providers do not normally permit the setting of interface group type. The argument of the command is one and only one of the following values: 

DEV_GTYPE_NONE 

There is no group type: the physical medium does not support the multiplexing of communications channels. 

DEV_GTYPE_T1 

The interface is a timeslot within a T1 group. 

DEV_GTYPE_E1 

The interface is a timeslot within an E1 group. 

DEV_GTYPE_J1 

The interface is a timeslot within a J1 group. 

DEV_GTYPE_ATM 

The interface is a vritual circuit witin an ATM group. 

DEV_GTYPE_ETH 

The interface is a connection over an Ethernet LAN group. 

DEV_GTYPE_IP 

The interface is a connection using an IP network group. 

DEV_GTYPE_UDP 

The interface is a port to port connection using a UDP transport group. 

DEV_GTYPE_TCP 

The interface is a port to port connection using a TCP transport group. 

DEV_GTYPE_RTP 

The interface is a port to port connection using an RTP transport group. 

DEV_GTYPE_SCTP 

The interface is a stream within an SCTP transport group. 

2.5.1.5. Command DEV_IOCGIFMODE and DEV_IOCSIFMODE (ulong) 

Gets or sets the interface mode corresponding to the interface type. Not all SDL provider necessarily support the setting of the interface mode, even when the setting is applicable to the interface type. The argument of the command is one and only one of the following values: 

DEV_MODE_NONE 

There is no selection of interface mode for this interface type. 

DEV_MODE_DSU 

The interface mode is Data Set. 

DEV_MODE_CSU 

The interface mode is Control Set. 

DEV_MODE_DTE 

The interface is a Data Terminal Equipment interface. 

DEV_MODE_DCE 

The interface is a Data Control Equipment interface. 

DEV_MODE_CLIENT 

The interface is in client mode (actively initiating connections). 

DEV_MODE_SERVER 

The interface is in server mode (listening for connections). 

DEV_MODE_PEER 

The interface is in peer mode (initiating and listening for connections). 

DEV_MODE_ECHO 

The interface is in echo mode. All bits transmitted on the channel will be copied to the receive channel. 

DEV_MODE_REM_LB 

The interface is in remote loopback mode. All bits transmitted will be sent down the transmit channel and remotely looped back at the other end to be received on the receive channel. 

DEV_MODE_LOC_LB 

The interface is in local loopback mode. All bits received on the receive channel will be copied to the transmit channel. 

DEV_MODE_LB_ECHO 

The interface is in loopback and echo mode. All bits received on the receive channel will be looped to the transmit channel and all bits transmitted on the transmit channel will be looped back to the receive channel. 

DEV_MODE_TEST 

The interface is in a special test mode. 

2.5.1.6. Command DEV_IOCGIFRATE and DEV_IOCSIFRATE (ulong) 

Gets or sets the interface bit rate (in bits per second). Not all SDL providers support the setting of interface rates. Those SDL provider which support the setting of bit rates may restrict the settings which are available depending on the interface type. Setting the interface type may result in a change to the setting of the interface rate. The argument to this command is the value to be got or set. 

2.5.1.7. Commnd DEV_IOCGIFCLOCK and DEV_IOCSIFCLOCK (ulong) 

Gets or sets the interface clock mode. Not all SDL providers wil support the setting of interface clock modes. Those SDL providers which support the setting of interface clock modes may restrict the alllowable settings to those modes which are application to the interface type. The argument to these commands will take on one of the following values: 

DEV_CLOCK_NONE 

There is no clock or the mode is implied by the interface type. 

DEV_CLOCK_INT 

A clock source internal to the interface is used for timing on the interface. 

DEV_CLOCK_EXT 

A clock source external to the interface is used for timing on the interface. 

DEV_CLOCK_LOOP 

The transmit clock is regenerated from the receive clock. 

DEV_CLOCK_MASTER 

The interface provides timing to the interface. 

DEV_CLOCK_SLAVE 

The interface derives its timing off of the interface. 

DEV_CLOCK_DPLL 

The interface uses a digital phase locked loop to generate timing information from the interface. 

DEV_CLOCK_ABR 

The interface uses an average bit rate mechanism toemulate a bit rate. 

DEV_CLOCK_SHAPER 

The interface uses a traffic shaping mechanism to emulate a bit rate. 

2.5.1.8. Command DEV_IOCGIFCODING and DEV_IOCSIFCODING (ulong) 

Gets or sets the interface bit coding. SDL providers do not typically support changing the bit (or frame) coding of interfaces. The argument to this command is one of the following values. 

DEV_CODING_NONE 

Bits are sent on the communications channel without coding. 

DEV_CODING_NRZ 

Bits are coded using Non-Return-to-Zero coding. 

DEV_CODING_NRZI 

Bits are coded using and Inverted Non-Return-to-Zero (Manchester) coding. 

DEV_CODING_AMI 

Bits are coded using AMI frame coding on a G.703/704 facility. 

DEV_CODING_B6ZS 

Bits are coded using B6ZS frame coding on a G.703/704 facility. 

DEV_CODING_B8ZS 

Bits are coded using B8ZS frame coding on a G.703/704 facility. 

DEV_CODING_ESF 

Bits are coded using Extended Super Frame coding on a G.703/G.704 facility. 

DEV_CODING_AAL1 

Bits are coded into ATM AAL1 cells. 

DEV_CODING_AAL2 

Bits are coded into ATM AAL2 cells (w/o silence suppression). 

DEV_CODING_AAL5 

Bits are coded into ATM AAL5 cells (without further coding). 

2.5.1.9. Command DEV_IOCGIFLEADS, DEV_IOCSIFLEADS and DEV_IOCCIFLEADS (ulong) 

Get, sets (asserts) or clears (de-asserts) interface leads. Not all SDL providers support the setting or clearing of leads. Those SDL provider which support lead setting or clearing do not necessarily suppor the setting or clearing of all leads. Not all interface type or mode settings permit the setting or clearing of leads. The argument to this command is a bit-wise or of zero or more of the following flags: 

DEV_LEAD_DTR 

Data Terminal Ready 

Get, Set or Clear 

DEV_LEAD_RTS 

Request To Send 

Get, Set or Clear 

DEV_LEAD_DCD 

Data Carrier Detect 

Get 

DEV_LEAD_CTS 

Clear To Send 

Get 

DEV_LEAD_DSR 

Data Set Ready 

Get 

2.5.1.10. Command DEV_IOCCDISCTX and DEV_IOCCCONNTX (NULL) 

Disconnects or connects the transmitter to the transmit channel for the purpose of Q.781 conformance testing. Not all SDL providers necessarily support this function. These commands do not take an argument. 

2.5.2. Protocol Variant and Options 

Each protocol level or module in the OpenSS7 stack must know the protocol variant and protocol options which are being used for the protocol level so that the provider can alter the state machine behavior to match that variant and options. These input output control commands are provided to examine and configure the protocol variant and options. 

2.5.2.1. Command SDL_IOCGOPTIONS and SDL_IOCSOPTIONS (lmi_options_t) 

Gets or sets the protocol variant and options. Not all SDL providers support the setting of all protocol variants and all options. Even when the SDL provider supports the setting of variants and options, not all variants or options are necessarily supported. The argument to these commands is a structure of the following format: 

typedef struct lmi_option {
    lmi_ulong   pvar;
    lmi_ulong   popt;
} lmi_options_t;
pvar 
the protocol variant to set or returned from a get. This variant can be one of the following values: 

SS7_PVAR_ITUT_88 

ITU-T Q.700 Recommendations (1988) 

SS7_PVAR_ITUT_93 

ITU-T Q.700 Recommendations (1993) 

SS7_PVAR_ITUT_96 

ITU-T Q.700 Recommendations (1996) 

SS7_PVAR_ITUT_00 

ITU-T Q.700 Recommendations (2000) 

SS7_PVAR_ANSI_88 

ANSI T1.111/1988 

SS7_PVAR_ANSI_92 

ANSI T1.111/1992 

SS7_PVAR_ANSI_96 

ANSI T1.111/1996 

SS7_PVAR_ANSI_00 

ANSI T1.111/2000 

SS7_PVAR_ETSI_88 

ETSI ETS 300 008-1 (1988) 

SS7_PVAR_ETSI_93 

ETSI ETS 300 008-1 (1993) 

SS7_PVAR_ETSI_96 

ETSI ETS 300 008-1 (1996) 

SS7_PVAR_ETSI_00 

ETSI ETS 300 008-1 (2000) 

SS7_PVAR_JTTC_94 

TTC J.Q700 Specifications (1994) 

popt 
the protocol options which have been applied (bit set to 1) or not applied (bit set to 0) for the current variant. The options are a bit-wise or of zero or more of the following flags: 

SS7_POPT_MPLEV 

Multiple priority/congestion levels. 

SS7_POPT_PCR 

Preventative Cyclic Retransmission. 

SS7_POPT_HSL 

High speed link. 

SS7_POPT_XSN 

Extended sequence numbers (for high speed links). 

SS7_POPT_ALL 

All of the above options. 

2.5.3. Configuration Values 

Provisioning correct protocol configuration values which are used by state machines and timers are necessary for correct operation of the protocol layer. Configuration values may be established or queried with the following input output control commands: 

2.5.3.1. Command SDL_IOCGCONFIG, SDL_IOCSCONFIG, SDL_IOCTCONFIG and SDL_IOCCCONFIG (sdl_config_t) 

Gets, sets, tests or commits the protocol configuration values. Not all SDL providers support the setting of some or any protocol configuration values. The argument to these commands is as structure of the following format: 

typedef struct sdl_config {
    sdl_ulong   N;
    sdl_ulong   m;
} sdl_config_t;

N 

the number of octets which represents an errored signal unit when in octet-counting-mode. 

m 

the maximum number of octets which are permitted in the Service Information Field (SIF) of a signal unit. This number should not be greater than the maximum SDL SDU size in bytes, nor should it be less that the minimum SDL SDU size in bytes: both as returned in an LMI_INFO_ACK. 

2.5.4. State Variables 

For diagnostic purposes it may necessary to control or examine the state variables associated with the state machines which are operating inside of the protocol layer. A set of intput output control commands are provided for establishing and examining the state variables associated with the SDL provider. These intput output control commands are as follows: 

2.5.4.1. Command SDL_IOCGSTATEM and SDL_IOCCMRESET (sdl_statem_t) 

Gets or sets the state variables associated wtih the SDL provider's protocol state machines. Not all SDL providers will support the getting or setting of these values. The arguments to these commands is a structure of the following format: 

typedef struct sdl_statem {
    sdl_ulong   daedt_state;
    sdl_ulong   daedr_state;
    sdl_ulong   octet_couting_mode;
} sdl_statem_t;
daedt_state 
state variable the state of the Delmitation Alignment and Error Detection for the Transmit (DAEDT) state machine. This state variable will take on the value SDL_STATE_IDLE or SDL_STATE_ACTIVE. 
daedr_state 
state variable indicating the state of the Delimitation Alignment and Error Detection for the Receive (DAEDR) state machine. This state variable will take on the value SDL_STATE_IDLE or SDL_STATE_ACTIVE. 
octet_counting_mode 
flag indicating whether the receiver is currently in octet counting mode. 

2.5.5. Statistics and Measurements 

Collection and control of statistics and measurements are necessary for proper administration and provisioning of SS7. Statistic can be collected, collection intervals altered and statistis cleared and interrogated using the following input output control commands: 

2.5.5.1. Command SDL_IOCGSTATSP, SDL_IOCSSTATSP, SDL_IOCGSTATS and SDL_IOCCSTATS  

Get collection periods, set collection periods, get collection interval counts and clear collection interval counts. The argument of these commands use as structure formatted as shown below. 

The SDL_IOCGSTATSP and SDL_IOCSSTATSP are responsible for getting and setting the statistics and measurements collection period. This is performed by setting the header of the statistics structure to the timestamp of the boundary of the collection interval and setting the appropriate counts to the during of the collection interval for that count. 

The SDL_IOCGSTATS and SDL_IOCCSTATS may be used to gather or clear the statistical counts and measures as defined in the structure, each for the current collection interval. 

typedef struct sdl_stats {
    lmi_ulong   header;
    sdl_ulong   rx_bytes;
    sdl_ulong   tx_bytes;
    sdl_ulong   rx_sus;
    sdl_ulong   tx_sus;
    sdl_ulong   rx_overruns;
    sdl_ulong   tx_underruns;
    sdl_ulong   rx_aborts;
    sdl_ulong   tx_aborts;
    sdl_ulong   rx_buffer_overflows;
    sdl_ulong   tx_buffer_overflows;
    sdl_ulong   rx_sus_in_error;
    sdl_ulong   tx_sus_in_error;
    sdl_ulong   rx_sync_transitions;
    sdl_ulong   rx_bits_octet_counted;
    sdl_ulong   rx_crc_errors;
    sdl_ulong   rx_frame_errors;
    sdl_ulong   rx_overflows;
    sdl_ulong   rx_frame_too_long;
    sdl_ulong   rx_frame_too_short;
    sdl_ulong   rx_residue_errors;
    sdl_ulong   rx_length_errors;
    sdl_ulong   lead_cts_lost;
    sdl_ulong   lead_dcd_lost;
    sdl_ulong   carrier_lost;
} sdl_stats_t;
header 
 
rx_bytes, tx_bytes 
the number of bytes received and transmitted in the current collection period. 
rx_sus, tx_sus 
the number of signal unites received and transmitted in the current collection period (including repeating and compressed FISUs and LSSUs). 
rx_overruns, tx_underruns 
the number of times that the receiver overran or the transmitter underran in the currenct collection period. 
rx_aborts, tx_aborts 
the number of aborts which were received or transmitted in the current collection period. 
rx_buffer_overflows, tx_buffer_overflows 
the number of time in the current collection period that a frame was available to be received by no buffer was available to receive the first received byte, or a frame was provided for transmission but a buffer was not available to hold the frame for transmission. 
rx_sus_in_error, tx_sus_in_error 
the number of signal units in the current collection period which were received or transmitted in error. 
rx_sync_transitions 
the number of times in the current collection period that the receivers lost or regained frame synchronization (usually flags). 
rx_bits_octet_counted 
the number of bits which were counted during octet counting mode within the currect collection period. 
rx_crc_errors, rx_frame_errors, rx_overflows, rx_frame_-too_long, rx_frame_too_short, rx_residue_errors, rx_length_errors 
the number of times during the current collection interval that one of these receive errors occured. 
lead_cts_lost, lead_dcd_lost 
the number of times that the Clear to Send or Data Carrier Detect leads were de-asserted during the current collection period. 
carrier_lost 
the number of times that carrier was lost during the current collection period. 

2.5.6. Events 

Reporting of events are important for the monitoring and maintenance of SS7. Specific events can be marked for notification using the following input output control commands: 

2.5.6.1. Command SDL_IOCGNOTIFY, SDL_IOCSNOTIFY and SDL_IOCCNOTIFY (sdl_notify_t) 

Gets, sets or clears event notifications for specific events. These commands use an argument structure formatted as follows: 

typedef sdl_notify {
    sdl_ulong   sdl_notifications;
} sdl_notify_t;
sdl_notifications 
a bit-wise or indicating the events notifications to set or clear (or those that are set in a get). This is a bit-wise or of zero or more of the following flags: 

SDL_EVT_LOST_SYNC 

Notify whenever frame synchronization is lost. 

SDL_EVT_SU_ERROR 

Notify whenever a signal unit is received in error. 

SDL_EVT_TX_FAIL 

Notify whenever the tranmit channel fails. 

SDL_EVT_RX_FAIL 

Notify whenever the receive channel fails. 


Home Index Prev Next More Download Info FAQ Mail

OpenSS7

OpenSS7,

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

Last modified: $Date:$