The SunShine layer 2 (Q.921) module is divided into four modules. The communication between modules is arranged so that every function call get as a parameter a pointer to a struct. This struct contains all the information needed by all functions.
This contains the function that will be called first on startup.
Its responsibility is to open the management device and activate
the physical layer. When this is done Q.921 can transmit unnumbered
frames to its peer entity on the network side. In the SunShine
solution the activation function will also try to re-activate
the physical layer if it has become unavailable. This module also
contains the TEI-management functions. As the TEI-management entity
on the network side has the ability to allocate, remove, check
and verify TEIs that are in use on the customer's bus the TEI-management
include all the necessary functions for this. TEI management procedures
must operate regardless of the state Q.921 is in so the unnumbered
information (UI) frames is used for all management messages. The
UI frames have no Q.921 response and protection of the frame content
is achieved by multiple transmissions of the frame. In order to
communicate with terminals which have not yet been allocated TEI,
a global TEI is used. All management frames are transmitted on
a broadcast TEI which is associated with a link access protocol
that is always available.
This module handles all transfer that is done in unnumbered frames
state.
This module is divided in tree parts. All normal operation is
handled by this module.
Unnumbered frames
Multiple frames
Connection Establishment and Re-establishment
Connection Mode Data Communications
Connection Release
Device Driver Interface MUX-module
Table of Q.921 primitives
Generic name | Request | Indication | Response | Confirm | Priority indicator | Message unit | Message unit contents |
Between L2 and L3 | . | . | . | . | . | . | . |
DL - ESTABLISH | X | X | . | X | . | . | . |
DL - RELEASE | X | X | . | X | . | . | . |
DL - DATA | X | X | . | . | . | X | L3 peer to peer message |
DL - UNIT DATA | X | X | . | . | . | X | L3 peer to peer message |
Between M and L2 | . | . | . | . | . | . | . |
MDL - ASSIGN | X | X | . | . | . | X | TEI value, CES |
MDL - REMOVE | X | . | . | . | . | X | TEI value, CES |
MDL - ERROR | . | X | X | . | . | X | Reason for error message |
MDL - UNIT DATA | X | X | . | . | . | X | Management function peer to peer message |
MDL - XID | X | X | X | X | . | X | Connection management information |
Between L1 and L2 | . | . | . | . | . | . | . |
PH - DATA | X | X | . | . | X | X | Data link layer peer to peer message |
PH - ACTIVATE | X | X | . | . | . | . | . |
PH - DEACTIVATE | . | X | . | . | . | . | . |
Between M and L1 | . | . | . | . | . | . | . |
MPH - ACTIVATE | . | X | . | . | . | . | . |
MPH - DEACTIVATE | X | X | . | . | . | . | . |
MPH - INFORMATION | . | X | . | . | . | X | Connected/ disconnected |