7 Elements for layer-to-layer communication
3GPP44.006Data Link (DL) layer specificationMobile Station - Base Station System (MS - BSS) interfaceRelease 17TS
7.1 Definition of primitives and parameters
Communications between layers and between the data link layer and layer 3 are accomplished by means of primitives.
Primitives represent, in an abstract way, the logical exchange of information and control between the data link layer and adjacent layers. They do not specify or constrain implementations.
Primitives consist of commands and their respective responses associated with the services requested of a lower layer. The general syntax of a primitive is:
XX ‑ Generic name ‑ Type (Parameters);
where XX designates the layer providing the service. For the present document XX is DL for the data link layer, PH for the physical layer and MDL for administrative functions (e.g. error reporting and recovery).
7.1.1 Generic names
The generic name specifies the activity that the identified layer should perform. Table 5 illustrates the primitives defined in the present document.
The primitive generic names that are defined in the present document are:
7.1.1.1 DL‑ESTABLISH
The DL‑ESTABLISH primitives are used to request, confirm and indicate the outcome of the procedures for establishing multiple frame operation.
7.1.1.2 DL‑RELEASE
The DL‑RELEASE primitives are used to request, confirm and indicate the outcome of the procedures for terminating a previously established multiple frame operation.
In the case of a data link layer malfunction, layer 3 will be notified by a RELEASE indication.
7.1.1.3 DL‑DATA
The DL‑DATA primitives are used to pass to and from the data link layer layer 3 message units which are to be transmitted, or have been received, using multiple frame acknowledged operation.
7.1.1.4 DL‑UNIT DATA
The DL‑UNIT DATA primitives are used to pass to and from the data link layer, layer 3 message units which are to be transmitted, or have been received, using unacknowledged operation.
7.1.1.5 DL‑SUSPEND
The DL‑SUSPEND primitive is used in the mobile station by the radio resource management entity to perform a local end release in such a way, that the layer 3 data units and the state of the transmit and receive counters are saved.
7.1.1.6 DL-RESUME
The DL‑RESUME primitive is used in the mobile station by the radio resource management entity to establish multiple frame operation and resume communication with the network without loss of layer 3 messages. The layer 3 data unit passed to layer 2 together with that primitive is sent with priority (e.g. ASSIGNMENT COMPLETE or HANDOVER COMPLETE).
7.1.1.7 DL-RECONNECT
The DL‑RECONNECT primitive is used in the mobile station by the radio resource management entity to restore multiple frame operation on the old channel after failure of the channel change. The layer 3 data unit passed to layer 2 with previous DL‑RESUME‑REQUEST (i.e. ASSIGNMENT COMPLETE or HANDOVER COMPLETE) is discarded and the layer 3 data unit passed together with that primitive is sent with priority (e.g. ASSIGNMENT FAILURE or HANDOVER FAILURE).
7.1.1.8 DL-RANDOM ACCESS
The DL‑RANDOM ACCESS primitives are used to request (in the MS) the sending of a random access message, to confirm (in the MS) the transmission of the random access message including the time slot in which it was sent, and to indicate (in the network) the arrival of a random access message.
7.1.1.9 MDL-RELEASE
The MDL‑RELEASE primitives are used by layer 3 entity to request local end termination of a previously established acknowledged mode operation.
7.1.1.10 MDL‑ERROR
The MDL‑ERROR primitives are used to notify layer 3 that an error has occurred, detected as a result of communication with the data link peer entity, which cannot be corrected by the data link layer.
7.1.1.11 PH‑DATA
The PH‑DATA primitives are used to pass message units containing frames used for data link layer peer‑to‑peer communications to and from the physical layer.
7.1.1.12 PH‑RANDOM ACCESS
The PH‑RANDOM ACCESS primitives are used to request (in the MS) the sending of a random access frame, to confirm (in the MS) the transmission of the random access frame including the time slot in which it was sent, and to indicate (in the network) the arrival of a random access frame.
7.1.1.13 PH‑CONNECT
The PH‑CONNECT primitive is used to indicate that a specific type of channel has been connected at the physical layer.
7.1.1.14 PH‑READY‑TO‑SEND
The PH‑READY‑TO‑SEND primitive is generated by the physical layer to enable the data link layer to synchronize to the next instant of physical transmission. On receipt of this indication layer 2 may trigger piggy backing (if applicable), the start of T200 and the forwarding of data units to layer 1.
7.1.1.15 PH‑EMPTY‑FRAME
The PH‑EMPTY‑FRAME primitive can be used by the data link layer instead of a PH‑DATA‑REQUEST primitive, when no frame has to be transmitted after receiving the PH‑READY‑TO‑SEND indication. It enables handling of several layer 2 entities by layer 1 and transmission of fill frames, if necessary.
7.1.2 Primitives types
The primitives types defined in the present document are:
NOTE: For the action sequence of these primitive types, see 3GPP TS 44.001.
7.1.2.1 REQUEST
The REQUEST primitive type is used when a higher layer is requesting a service from the next lower layer.
7.1.2.2 INDICATION
The INDICATION primitive type is used by a layer providing a service to notify the next higher layer of activities related to the REQUEST primitive type.
7.1.2.3 RESPONSE
The RESPONSE primitive type is used by a layer to acknowledge receipt, from the next lower layer, of the INDICATION primitive type.
7.1.2.4 CONFIRM
The CONFIRM primitive type is used by the layer providing the requested service to confirm that the activity has been completed.
Figure 6 illustrates the relationship of the primitive types to the layer 3 and the data link layer.
Figure 6: Relationship of the primitive types to the layer 3 and the data link layer
7.1.3 Parameter definition
7.1.3.1 Message unit
The message unit contains additional layer‑to‑layer information concerning actions and results associated with requests. In the case of the DATA and UNIT DATA primitives, the message unit contains the requesting layer peer‑to‑peer messages For example, the DL‑DATA message unit contains the layer 3 message unit; the PH‑DATA message unit contains the data link layer frame.
NOTE: The operations across the data link layer/layer 3 boundary shall be such that the layer sending the DATA or UNIT DATA primitive can assume a temporal order of the bits within the message unit and that the layer receiving the primitive can reconstruct the message with its assumed temporal order.
7.1.3.2 Channel type
Since the Dm channel procedures are distributed on several types of channel (CCCH, BCCH and various types of DCCH), a parameter will be needed in order to distribute the layer 3 message units correctly on the various types of channel. The control channel types to be used are defined in 3GPP TS 44.003.
7.1.3.3 Service Access Point
Since data links on different SAPIs may be multiplexed, the SAPI parameter is used to indicate the respective association.
7.1.3.4 Release mode
The release mode parameter is used to enable the data link layer to operate in different release modes depending on whether the data link is to be released in the normal way or that a local end release shall take place on command from the layer 3. The values of the parameter are:
‑ normal;
‑ local end release.
7.1.3.5 Error cause
This parameters is used by the data link layer to report procedure error to layer 3. The following causes may be reported:
‑ timer T200 expired (N200 +1) times: perform abnormal release;
‑ re‑establishment request;
‑ unsolicited UA response;
‑ unsolicited DM response;
‑ unsolicited DM response, multiple frame established state: perform abnormal release;
‑ unsolicited supervisory response;
‑ sequence error: perform abnormal release;
‑ U frame with incorrect parameters;
– short L2 header type 1 not supported;
– short L2 header type 1 not applicable;
‑ S frame with incorrect parameters;
‑ I frame with incorrect use of M bit;
‑ I frame with incorrect length;
‑ frame not implemented;
‑ SABM command, multiple frame established state;
‑ SABM command with information field not allowed in this state.
7.1.3.6 Establish mode
This parameter is used in the MS to indicate to the data link layer the type of establishment that is required. The parameter takes the following values:
‑ normal;
‑ contention resolution.
7.1.3.7 L2 header type
This parameter is used by higher layers to ask for application of a specific L2 header type; as values for the parameter, only "short L2 header type 1" and "normal L2 header" are actually defined.
7.1.3.8 Priority
This parameter is used by the higher layers to indicate the priority of a Layer 3 message on SAPI 0 with multiple frame operation. The parameter is not applicable to unacknowledged information transfer or to other SAPIs. The parameter takes the following values:
– high;
– normal;
– low.
The parameter need not be included if the higher layers do not support the sending of low priority messages as defined in 3GPP TS 44.018. If the parameter is not included, the data link layer shall assume a priority value of "normal".
Table 5: Data Link Service primitives
Generic name |
Parameters |
Message unit |
||||||
---|---|---|---|---|---|---|---|---|
and type |
SAPI |
Channel |
Error |
Release |
Establish |
L2 header type |
Priority |
contents |
DL-ESTABLISH- |
0 |
DCCH |
CoRes |
Layer 3 |
||||
0 |
DCCH, |
Norm |
||||||
3 |
DCCH, |
Norm |
||||||
DL-ESTABLISH- |
0 |
DCCH |
CoRes |
Layer 3 |
||||
0 |
DCCH, |
Norm |
||||||
3 |
DCCH, |
Norm |
||||||
DL-ESTABLISH- |
0 |
DCCH |
CoRes |
|||||
0 |
DCCH, |
Norm |
||||||
3 |
DCCH, |
Norm |
||||||
DL-RELEASE- |
0,3 |
DCCH, |
any |
|||||
DL-RELEASE- |
0,3 |
DCCH, |
any |
|||||
DL-RELEASE- |
0,3 |
DCCH, |
any |
|||||
DL-SUSPEND- |
0 |
DCCH |
||||||
DL-SUSPEND- |
0 |
DCCH |
||||||
DL-RESUME- |
0 |
DCCH |
Layer 3 |
|||||
DL-RESUME-CONFIRM |
0 |
DCCH |
||||||
DL-RECONNECT- |
0 |
DCCH |
Layer 3 |
|||||
DL-RECONNECT |
0 |
DCCH |
||||||
DL-DATA-REQUEST |
0,3 |
DCCH, |
any (SAPI 0 only) |
Layer 3 |
||||
DL-DATA- |
0,3 |
DCCH, |
Layer 3 |
|||||
DL-UNIT |
0 |
BCCH |
normal L2 header / short L2 header type 1 |
Layer 3 |
||||
3 |
DCCH |
Layer 3 |
||||||
DL-UNIT |
0 |
BCCH |
Layer 3 |
|||||
3 |
DCCH |
Layer 3 |
||||||
MDL-RELEASE- |
0,3 |
DCCH, |
||||||
MDL-ERROR- |
0,3 |
DCCH, |
any |
|||||
DL-RANDOM |
0 |
RACH |
Channel request |
|||||
0 |
DCCH |
Handover |
||||||
DL-RANDOM |
0 |
RACH |
Request |
|||||
0 |
DCCH |
Handover |
||||||
DL-RANDOM |
0 |
RACH |
Request |
Table 6: Physical Service primitives used
Generic name |
Parameters |
Message unit |
||||
and type |
SAPI |
Channel |
Error |
Release |
Esta- |
contents |
PH-DATA- |
any |
Data link peer-to-peer message |
||||
PH-DATA- |
any |
Data link peer-to-peer message |
||||
PH-RANDOM |
RACH, |
Random access data link message unit |
||||
PH-RANDOM |
RACH, |
Random access data link message unit and TDMA frame nr. |
||||
PH-RANDOM |
RACH, |
TDMA frame number |
||||
PH-CONNECT- |
any |
|||||
PH-READY-TO- |
any |
|||||
PH-EMPTY- |
any |
NOTE 1: Table 5 and table 6 do not contain a complete list of conditional dependencies of service primitive parameters. If a field is left blank, the respective parameter shall not be used or is not applicable. If a field is marked by "any", the respective parameter shall be used and shall be set to a valid value according its specification.
NOTE 2: In table 5 and table 6, the term "DCCH" denotes the respective main DCCH (i.e. SDCCH or FACCH).
7.2 Primitive procedures
The procedures in the MS and the network are described by use of the primitives defined above. See also 3GPP TS 44.018.