OpenSS7 STREAMS Interface

2.6. Sequences 

This subsection resents the allowable sequence of SDLI primitives. The sequence is described using a state transition table that defines possible states as viewed by the SDL user. The state transition table describes transitions based on the current state of the interfacen and a given SDLI event. Each transition consists of a state change and possibly an interface action. The states, events, and related transition actions are described below, followed by the state transition table itself. 

2.6.1. SDLI States 

The following table describes the states associated with SDLI. It presents the state name used in the state transition table, the corresponding SDLI state name used throughout this specification, and a brief description of the state. 

Table 3. SDLI States 

LMI_UNATTACHED 

1 

No PPA attached, awaiting LMI_ATTACH_REQ. 

CD_UNATTACHED 

LMI_ATTACH_PENDING 

2 

Waiting for attach. 

(none) 

LMI_UNUSABLE 

3 

Device cannot be used, stream in hung state. 

CD_UNUSABLE 

LMI_DISABLED 

4 

PPA attached, awaiting LMI_ENABLE_REQ 

CD_DISABLED 

LMI_ENABLE_PENDING 

5 

Waiting to send LMI_ENABLE_CON 

CD_ENABLE_PENDING 

LMI_ENABLED 

6 

Ready for use, awaiting primitive exchange. 

CD_ENABLED 

LMI_DISABLE_PENDING 

7 

Waiting to send LMI_DISABLE_CON 

CD_DISABLE_PENDING 

(none) 

- 

Input section enabled; disabled after data arrives 

CD_INPUT_ALLOWED 

(none) 

- 

Output section active only 

CD_OUTPUT_ACTIVE 

(none) 

- 

Xray-ing another ppa 

CD_XRAY 

2.6.2. Variables and Actions for State Transition Table 

The following tables describe the variables and actions used to describe SDLI state transtions. 

The variables are used to distinguish various uses of the same SDLI primitive. To distinguish between events which are dependent upon the state of some value other that the current state, a variable is used to track the value. 

Table 4. SDLI State Transition Variables 

VARIABLE 

DESCRIPTION 

(none) 

(none) 

The actions represent steps the SDL provider must take during certain state transitions to maintain the interface state. When an action is indicated in the state transition table, the SDL provider should change the state as indicated and perform the specified action. 

Table 5. SDLI State Transition Actions 

ACTION 

DESCRIPTION 

(none) 

(none) 

2.6.3. SDLI User-Originated Events 

The following table describes events initiated by the SDL user that correspond to the various request and response primitives of SDLI. The table presents the event name used in the state transition table, a brief description of the event (including the corresponding SDLI primitive), and a mapping of the event to the associated Communications Device Interface (CDI) primitive. 

Table 6. SDLI User-Originated Events 

FSM EVENT 

DESCRIPTION 

CDI MAPPING 

ATTACH_REQ 

LMI_ATTACH_REQ primitive 

CD_ATTACH_REQ primitive 

DETACH_REQ 

LMI_DETACH_REQ primitive 

CD_DETACH_REQ primitive 

UNITDATA_REQ 

? 

CD_UNITDATA_REQ primitive 

ENABLE_REQ 

LMI_ENABLE_REQ primitive 

CD_ENABLE_REQ 

DISABLE_REQ 

LMI_DISABLE_REQ primitive 

CD_DISABLE_REQ 

2.6.4. SDLI Provider-Originated Events 

The following table describes the events initiated by the SDL provider that correspond to the various indication, confirmation, and acknowledgement primitives of SDLI. The table represents the event name used in the state transition table, a brief description of the event (including the corresponding SDLI primitive), and a mapping of the event onto the Communications Device Interface (CDI). 

Table 7. SDLI Provider-Originated Events 

FSM EVENT 

DESCRIPTION 

CDI MAPPING 

UNITDATA_IND 

? 

CD_UNITDATA_IND 

CONNECT_CON 

? 

? 

DISCON_IND 

? 

? 

OK_ACK 

LMI_OK_ACK primitive 

CD_OK_ACK 

ERROR_ACK 

LMI_ERORR_ACK primitive 

CD_ERROR_ACK 

ENABLE_CON 

LMI_ENABLE_CON primitive 

CD_ENABLE_CON 

DISABLE_CON 

LMI_DISABLE_CON primitive 

CD_DISABLE_CON 

2.6.5. SDLI State Transition Table 

Tables ??? to ??? describe the SDLI state transitiosn. Each column represents a state of the SDLI (Table 2) and each row represents a SDLI event (Tables ??? and ???). The intersecting cell defines the resulting state transition (i.e. next state) and associated actions, if any, that must be executed by the SDLI provider to maintain the interface state. Each cell may contain the following 

- This transition cannot occur. 

n The current input results in a transition to state "n" 

n[a] The list of actions "a" should be exectued following the specified state transition "n" (see Table ??? for actions). 

The LMI_INFO_REQ and LMI_INFO_ACK primitives are excluded from the state transition table because they can be issued from many states and, when fully processed, do not cuase a state transition to occur. However, the SDL user may not issue a LMI_INFO_REQ if any local acknowledgements are pending. In other words, this primitive may not be issued until the SDL user receives the acknowledgement for any previously issued primitive that is expecting local positive acknowledgement. Thus, this primitive may not be issued from the LMI_ATTACH_PENDING, LMI_DETACH_PENDING, LMI_ENABLE_PENDING, LMI_DISABLE_PENDING states. Failure to comply by this restriction may result in loss of primitives at the stream head if the SDL user is a user process. Once a LMI_INFO_REQ has been issued, the SDL provider must respond with the appropriate acknowledgement primitive. 

The following apply to the maintenance of SDLI state: 

The SDL provider is responsible for keeping a record of the state of the interface as viewed by the SDL user, to be returned in the LMI_INFO_ACK. 

The following points clarify the state transition table: 

To ensure accurate processing of SDLI primitives, the SDL provider must adhere to the following rules concerning the receipt and generation of STREAMS M_FLUSH messages during various state transitions. 

The following table presents the allowed sequence of SDLI primitives for the common local management phase of communication. 

Table 8. SDLI State Transition Table - Local Management Phase 

STATES 

UNATT. ATTACH PEND 

DETACH PEND 

DISABLED 

DISABLE PEND 

ENABLE PEND 

ENABLED 

 

ATTACH_REQ 

- 

- 

- 

- 

- 

- 

- 

DETACH_REQ 

- 

- 

- 

- 

- 

- 

- 

ENABLE_REQ 

- 

- 

- 

- 

- 

- 

- 

ENABLE_CON 

- 

- 

- 

- 

- 

- 

- 

DISABLE_REQ 

- 

- 

- 

- 

- 

- 

- 

DISABLE_CON 

- 

- 

- 

- 

- 

- 

- 

The following table presents the allowed sequence of SDLI primitives for the connection and data transfer phases. 

Table 9. SDLI State Transition Table - Connection and Data Transfer 

STATES 

ENABLED 

UNITDATA_REQ 

- 

UNITDATA_IND 

- 

UDERROR_IND 

- 


Home Index Prev Next More Download Info FAQ Mail

OpenSS7

OpenSS7,

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

Last modified: $Date:$