8 Definition of the peer‑to‑peer protocol LAPDm

3GPP44.006Data Link (DL) layer specificationMobile Station - Base Station System (MS - BSS) interfaceRelease 16TS

8.1 General

In the following sub-clauses, a protocol for use by the data link layer on the radio interface is specified, referred to as "LAPDm". Beside this, there may be signalling and data transfer between layer 3 entities, which does not comply to the procedures described hereafter (e.g. for the random access procedure see annex A; for short message cell broadcast see 3GPP TS 44.012).

The LAPDm elements of procedure (frame types) which apply are:

a) for unacknowledged information transfer (sub-clause 8.3):

UI‑command.

b) for multiple frame acknowledged information transfer (sub-clauses 8.4 to 8.8):

SABM‑command;

UA‑response;

DM‑response;

DISC‑command;

RR‑command/response;

RNR‑command/response;

REJ‑command/response;

I‑command.

For the various channel types the following applies:

‑ BCCH; unacknowledged operation only;

‑ CCCH; unacknowledged operation only;

‑ all types of DCCH; unacknowledged operation and multiple frame acknowledged operation.

For acknowledged mode (multiple frame operation) on SAPI=0 and SAPI=3, a special protocol operation shall be used mandatorily, as specified in sub-clause 9.

For handling of timers, the procedures and terminology of CCITT Recommendation Z.100 will be used, i.e.

set <timer name> means that:

a) if the timer is inactive, the timer becomes active, i e a timer value is associated with the timer and it starts running;

b) if the timer is active, the timer is first reset, as in c) below and then set as in a) above;

reset <timer name> means that:

c) if the timer is active, the timer becomes inactive, i e the association with the timer value is lost and it stops running;

d) if the timer is inactive, it remains inactive.

NOTE: The task set T200 shall be performed at the instant right before transmitting a frame, when the PH‑READY‑TO‑SEND primitive is received from the physical layer.

8.2 General Protocol Procedures

8.2.1 Unacknowledged information transfer

Higher layers may ask for unacknowledged transmission transfer with normal L2 header; higher layers may also ask for unacknowledged transmission transfer on SAPI 0 using short L2 header type 1.

When a protocol entity receives a valid UI frame, this requires no further response to the transmitting entity.

For unacknowledged information transfer with normal L2 header, the P/F bit is not used and shall be set to "0".

8.2.2 Acknowledged multiple frame information transfer

A data link layer entity receiving an SABM, DISC, RR, REJ or I command, shall respond to the originating entity by an appropriate response frame (as specified in sub-clauses 8.4 through 8.7 ) within the time limits given in sub-clause 8.9.

If the received command frame carries a P bit set to "1", the F bit in the corresponding response frame shall be set to "1", too.

Frames containing SAPI values not used by the current version of the present document, shall be ignored without any notification.

8.3 Procedures for unacknowledged information transfer

8.3.1 General

The procedures which apply to the transmission of information in unacknowledged operation are defined below.

No data link layer error recovery procedures are defined for unacknowledged operation.

8.3.2 Transmission of unacknowledged information

NOTE 1: The term "transmission of a UI frame" refers to the delivery of a UI frame by the data link layer to the physical layer.

Unacknowledged information is passed to the data link layer by layer 3 using the primitive DL‑UNIT DATA‑REQUEST. This DL‑UNIT DATA‑REQUEST specifies whether a short L2 header type 1 is to be used or not. The layer 3 message unit shall be transmitted in a UI command frame.

Layer 2 shall construct a layer 2 message unit from the layer 3 message unit and pass it to layer 1 for transmission using the primitive PH‑DATA‑REQ. The layer 2 message unit uses the frame type as defined in sub-clause 5.1.

If the layer 2 message unit contains a control field, the P bit shall be set to "0".

NOTE 2: On a DCCH, UI frames with the length indicator set to "0" may be used as fill frames, see sub-clause 8.4.2.3.

8.3.3 Receipt of unacknowledged information

On receipt of a UI command frame with a SAPI which is supported by the receiver, the contents of the information field shall be passed to the layer 3 entity identified by the SAPI using the data link layer to layer 3 primitive DL‑UNIT DATA‑INDICATION. UI frames with invalid SAPI values shall be discarded. UI frames received with the length indicator set to "0" shall be ignored.

8.4 Procedures for establishment and release of multiple frame operation

8.4.1 Establishment of multiple frame operation

8.4.1.1 General

These procedures shall be used to establish multiple frame operation between the BS and a designated MS entity.

Layer 3 will initiate the establishment procedure after a physical channel supporting this type of operation (see sub-clause 8.1) has been allocated to the MS.

NOTE: In order to avoid loss of layer 3 information if the SABM has to be retransmitted because the UA response message is lost, the data link layer should be established when needed by the entity that will send an I command frame. For SAPI 0 the data link is always established by the MS.

Two establishment procedures are specified:

‑ normal establishment where the SABM does not contain an information field. Layer 3 will indicate a request for this type of establishment by the use of the DL‑ESTABLISH‑REQUEST primitive (sub-clauses 8.4.1.2 and 8.4.1.3);

‑ contention resolution where the SABM contains an information field. The procedure is always initiated by the MS, i e the SABM is sent by the MS. Layer 3 will indicate a request for this type of establishment by the use of the DL‑ESTABLISH‑REQUEST primitive containing the layer 3 message unit (sub-clauses 8.4.1.4 and 8.4.1.5). This procedure is only applicable for SAPI 0.

Re‑establishment may be initiated, using the normal establishment procedure, as a result of the data link layer procedure defined in sub-clause 8.6.

8.4.1.2 Normal establishment procedures

A data link layer entity shall initiate a request for the multiple frame operation to be set by transmitting the Set Asynchronous Balanced Mode (SABM) command with the P bit set to "1". Since the DL‑ESTABLISH‑REQUEST primitive does not contain a layer 3 message unit, the length indicator, L, is set to "0".

All existing exception conditions shall be cleared, the retransmission counter shall be reset, and timer T200 shall be set right before transmitting a frame, when the PH‑READY‑TO‑SEND primitive is received from the physical layer (timer T200 is defined in sub-clause 8.8.1).

The establishment procedure implies the discard of any outstanding DL‑DATA‑REQUEST primitive which has been invoked prior to the DL‑ESTABLISH‑REQUEST. It also implies the discard of any segmented layer 3 message unit for which the last segment has not been received (see sub-clause 8.5.2 for the concatenation procedure).

All frames other than unnumbered frame formats received during the establishment procedures shall be ignored.

A data link layer entity receiving an SABM, if it is able to enter the multiple‑frame‑established state, shall:

‑ respond with an Unnumbered Acknowledgement (UA) response with the F bit set to the same binary value as the P bit in the received SABM command, the same SAPI value as in the received SABM command, and with the length indicator, L, set to "0";

‑ set the send state variable V(S), receive state variable V(R) and acknowledge state variable V(A) to 0;

‑ enter the multiple‑frame‑established state and inform the associated layer 3 entity using the primitive DL‑ ESTABLISH‑INDICATION;

‑ clear all existing exception conditions;

‑ clear an existing peer receiver busy condition.

If the data link layer entity is unable to enter the multiple‑frame‑established state, it shall respond to the SABM command with a DM response with the F bit set to the same binary value as the P bit in the received SABM command.

Upon reception of the UA response with the F bit set to "1", the originator of the SABM command shall:

‑ reset timer T200;

‑ set the send state variable V(S), the receive state variable V(R) and the acknowledge state variable V(A) to 0;

‑ enter the multiple‑frame‑established state and inform the associated layer 3 entity using the primitive DL‑ ESTABLISH‑CONFIRM.

A UA response with the F bit set to "0" shall be ignored.

Upon reception of a DM response with F bit set to "1", the originator of the SABM command shall indicate this to the layer 3 entity by means of the primitive DL‑RELEASE‑ INDICATION and reset timer T200. DM responses with the F bit set to "0" shall be ignored.

8.4.1.3 Procedure on expiry of timer T200: Normal establishment

If timer T200 expires before the UA or DM response is received, the data link layer entity shall:

‑ retransmit the SABM command as above;

‑ set timer T200 right before transmitting a frame, when the PH‑READY‑TO‑SEND primitive is received from the physical layer; and

‑ increment the retransmission counter.

After retransmission of the SABM command N200 times, the data link layer entity shall indicated this to the associated layer 3 entity by means of the primitive DL‑ RELEASE‑INDICATION. Layer 3 shall also be notified by using the primitive MDL‑ERROR‑INDICATION with the cause "timer T200 expired N200 + 1 times: perform abnormal release".

The value of N200 is defined in sub-clause 8.8.2.

8.4.1.4 Contention resolution establishment procedure

This procedure is always initiated by the MS for establishing a data link in order to resolve contention after having accessed the BS on the RACH. The procedure may also be used by the MS for establishing a data link in response to a PACKET CS COMMAND message (see 3GPP TS 44.060). Layer 3 decides when this establishment procedure is to be used and will request the data link layer to initiate the procedure by a DL‑ESTABLISH‑REQUEST primitive containing the layer 3 message unit and with the parameter established mode set to contention resolution.

The data link layer shall, however, ignore any such service request if it is not in the idle state when the request is received.

The data link layer entity in the MS shall initiate the establishment by transmitting an SABM command with the P bit set to "1". The SABM command shall contain the layer 3 message unit received in the DL‑ESTABLISH‑REQUEST primitive and the length indicator, L, shall be set to the appropriate value.

NOTE 1: According to sub-clause 9, the contention resolution procedure is only permitted with SAPI value 0.

The information field of the SABM command shall be stored in the data link layer entity of the MS. The information field is removed when the data link layer enters the multiple frame established state or the idle state, see below.

All existing exception conditions shall be cleared, the retransmission counter shall be reset, and timer T200 shall be set when right before transmitting a frame, when the PH‑READY‑TO‑SEND primitive is received from the physical layer.

The peer data link layer entity in the BS receiving the SABM shall, if the entity is in the idle state and an "establishment in progress" flag has not been set:

‑ set the "establishment in progress" flag;

‑ store the information field received in the SABM command;

‑ respond, at the earliest possible opportunity, with a UA response with:

– the same SAPI value as received in the SABM command;

– the F bit set to the same binary value as the P bit received in the SABM command;

– the length indicator, L, set to the same value as that contained in the SABM command;

– the same information field as that contained in the SABM command;

‑ set the send state variable V(S), the receive state variable V(R) and the acknowledge state variable V(A) to 0;

‑ enter the "contention resolution receiver" state and inform the layer 3 entity using the DL‑ESTABLISH‑ INDICATION primitive. The primitive shall contain the received layer 3 message unit;

‑ clear all existing exception conditions.

If an SABM command with an information field is received when the "establishment in progress" flag has been set, the data link layer entity in the BS shall compare the stored information field with the information field received in the SABM command. If they are not identical, the SABM command shall be ignored without any notification. If they are identical, the data link entity shall respond, at the earliest possible opportunity, with a UA response with:

‑ the same SAPI value as received in the SABM command;

‑ the F bit set to the same binary value as the P bit contained in the SABM command;

‑ the length indicator, L, set to the same value as that contained in the SABM command;

‑ the stored information field.

NOTE 2: This case corresponds to a retransmission of the SABM command by the MS (see sub-clause 8.4.1.5).

NOTE 3: The specification is very different from the normal establishment procedure: in the latter case the reception of a subsequent SABM frame triggers a re‑establishment (see sub-clause 8.6).

The data link layer entity in the BS shall remove the "establishment in progress" flag and delete the stored information field when:

‑ an I frame or supervisory frame is received. If the frame is in sequence, the data link layer entity shall enter the multiple frame established state and process the frame as specified for operation in the multiple frame established state. If the frame is out of sequence, the BS shall initiate abnormal release using the procedure of sub-clause 8.6;

‑ a release request is received from layer 3. In this case the data link layer entity shall enter the idle state if the primitive received is DL‑RELEASE‑REQUEST or the null state if the primitive is MDL‑RELEASE‑REQUEST.

The procedure when awaiting acknowledgement in the MS is as follows:

Upon reception of a UA response containing an information field and with the F bit set to "1", the data link layer entity in the MS shall compare the stored information field with the information field received in the UA response. If the two fields are identical, the data link layer entity shall:

‑ reset timer T200;

‑ set the send state variable V(S), the receive state variable V(R) and the acknowledge state variable V(A) to 0;

‑ delete the stored information field;

‑ enter the multiple‑frame‑established state and inform the layer 3 entity using the DL‑ESTABLISH‑CONFIRM primitive.

If the two fields are different, the data link layer entity shall:

‑ reset timer T200;

‑ delete the stored information field;

‑ enter the idle state and inform the layer 3 entity using the DL‑RELEASE‑INDICATION primitive.

All frames other than unnumbered frame formats received for the SAPI in use during the establishment procedures shall be ignored.

The reception of unnumbered frames other than UA is treated as specified for the normal establishment case.

NOTE 4: In fact, there are no foreseen cases in which the network will send SABM, DISC or DM, but for sake of completeness these occurrences are specified and must be treated.

8.4.1.5 Procedure on expiry of timer T200: contention resolution (MS only)

If timer T200 expires before a UA response has been received, the data link layer entity shall:

‑ retransmit the SABM command as in sub-clause 8.4.1.4;

‑ set timer T200 right before transmitting a frame, when the PH‑READY‑TO‑SEND primitive is received from the physical layer; and

‑ increment the retransmission counter by 1.

After retransmission of the SABM command N200 times, the data link layer shall enter the idle state and issue a DL‑ RELEASE‑INDICATION primitive to the layer 3 entity. Layer 3 shall also be notified by using the primitive MDL‑ERROR‑ INDICATION with cause "timer T200 expired N200 + 1 times: perform abnormal release".

8.4.2 Information transfer

8.4.2.1 General requirements

Having either transmitted the UA response to a received SABM command or received the UA response to a transmitted SABM command, I frames and supervisory frames shall be transmitted and received according to the procedures described in sub-clause 8.5.

If an SABM command is received while in the multiple‑frame‑established state, the data link layer entity shall proceed as follows:

‑ if the SABM command carries no information field (i.e. L=0), then the data link layer entity shall conform to the re‑establishment procedure described in sub-clause 8.6;

‑ if the SABM command carries an information field (i.e. L>0), and can be considered as a part of a contention resolution procedure, then the SABM command shall be ignored without any notification;

‑ otherwise, the SABM command shall be ignored, and the layer 3 shall be informed by issuing a MDL‑ERROR‑INDICATION indicating "SABM command with information field not allowed in this state" or "U frame with incorrect parameters".

On receipt of a UI command, the procedures defined in sub-clause 8.3 shall be followed.

8.4.2.2 Error conditions

Error conditions which will require abnormal release of the data link are given in sub-clause 8.6.

Cases which do not lead to release but may cause the data link layer entity to issue an MDL‑ERROR‑INDICATION are summarized in table 7.

Table 7: Actions taken on response frames

Response frame

Multiple frame established

Timer recovery

UA F=1

MDL-ERROR-INDICATION
(unsolicited UA response)

MDL-ERROR-INDICATION (unsolicited UA response)

UA F=0

MDL-ERROR-INDICATION
(unsolicited UA response)

MDL-ERROR-INDICATION
(unsolicited UA response)

DM F=1

MDL-ERROR-INDICATION
(unsolicited DM response)

Normal

DM F=0

MDL-ERROR-INDICATION
(unsolicited DM response, multiple frame established state: perform abnormal release)

MDL-ERROR-INDICATION
(unsolicited DM response, multiple frame established state: perform abnormal release)

Supervisory response
F=1

MDL-ERROR-INDICATION
(unsolicited supervisory response)

Normal

Supervisory response
F=0

Normal

Normal

8.4.2.3 Fill frames

In periods where no other frames are scheduled for transmission and something must be sent on the radio path, a fill frame as defined below shall be sent (3GPP TS 44.018 and 3GPP TS 45.002 prohibit such periods for PCH and BCCH).

On a DCCH, a fill frame is a UI command frame for SAPI 0 with P=0 and with an information field of 0 octet length (hence, it is a frame of type A). It has the following structure:

Bit

8

7

6

5

4

3

2

1

0

0

0

0

0

0

C

1

1

(note 1)

0

0

0

0

0

0

1

1

2

0

0

0

0

0

0

0

1

3

X

X

X

X

X

X

X

X

4

(note 2)

X

X

X

X

X

X

X

X

21 or 23

(note 2)

NOTE 1: Bit C is set to: 0 if sent by MS 1 if sent by network.

NOTE 2: See sub-clause 5.2.

Fill frame for a BCCH, PCH, AGCH, or NCH is the following:

Bit

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

1

1

0

0

1

0

1

0

1

1

2

(note)

0

0

1

0

1

0

1

1

23

(note)

NOTE: The value "00101011" is chosen due to the modulation and interleaving scheme used in the GSM system.

8.4.3 Suspension and resumption of multiple frame operation

8.4.3.1 General

These procedures shall be used in a MS entity to suspend the uplink multiple frame operation for SAPI=0 during a change of dedicated channels (dedicated channel assignment or handover procedure on layer 3) and to resume the operation after the new physical channel has been connected. The purpose of these procedures is to provide a mechanism for reliably avoiding message loss during a change of dedicated channels. The procedures are only described for the case where the window size is one; it should, however, be obvious how to adapt them to larger window sizes.

As the procedures may delay the actual channel change, they shall only be used to protect layer 3 messages pertaining to SAPI=0. Applications using the multiple frame established service on SAPIs other than 0 are expected to cope with message loss or duplication autonomously, i.e. on layers above layer 2.

Both layer 3 procedures, dedicated channel assignment and handover, are initiated and controlled by a network entity (BSS or MSC). This entity therefore will suspend the flow of layer 3 messages towards the MS after the ASSIGNMENT or HANDOVER COMMAND message has been issued. When the data link on the new channel has been established, the message flow may resume. Obviously, no provisions in layer 2 are needed on the network side to prevent message loss or duplication on the downlink during channel change.

In the following, the procedures in the MS are described. For the description of the procedures, a conceptual configuration of a send queue, a send buffer and a transmit buffer are assumed.

In order to ease the description of the procedures in the MS, it is assumed that any layer 3 message passed to layer 2 via SAPI 0 in DL‑DATA‑REQUEST or DL‑UNIT‑DATA primitive is first placed in the send queue. The layer 2 entity will take out the messages "first in‑first out" and put them into a send buffer. The send buffer can hold no more than one layer 3 message at a time. From the contents of the send buffer, an I frame or UI frame is constructed, only one at a time, and placed in a transmit buffer. (If the layer 3 message needs to be segmented, then this last step will be performed several times). The frame is then transmitted.

Upon transmission and after it has been acknowledged if it has been an I frame, the transmit buffer is cleared and filled with the next frame. When the contents of the send buffer have been transmitted and acknowledged, the send buffer is cleared and filled with the next layer 3 message from the send queue.

8.4.3.2 Suspension

A layer 3 entity in the MS shall indicate a request for the suspension of multiple frame operation by use of the DL‑SUSPEND‑REQUEST primitive. The layer 2 entity, upon receipt of this primitive, shall act as follows:

No further layer 3 messages shall be taken from the send queue for SAPI=0.

‑ If there is a layer 3 message in the send buffer which has not yet been transmitted, it shall not be transmitted. The contents of the send buffer shall be put back to the first position of the send queue. The send and transmit buffers shall be cleared. A layer 3 message is considered to be transmitted as soon as its final segment has been transmitted at least once; it need not yet have been acknowledged. (This ensures that all segments of a segmented and possibly partly transmitted layer 3 message will be transmitted on the new channel. Those segments already transmitted and received on the network side will be discarded by the network upon release of the old channel because the layer 3 message is not yet complete).

‑ If there is a layer 3 message in the send buffer, the last segment of which has been transmitted but is not yet fully acknowledged, i.e. the frame carrying the last segment of the message has been transmitted but is not yet acknowledged, then the contents of the send buffer shall be put back to the first position of the send queue and the send and transmit buffers shall be cleared.

‑ The layer 2 entity shall then return a DL‑SUSPEND‑CONFIRM primitive to layer 3.

The data link layer entity is now in the suspended state. the only difference to the multiple frame established state is that no UI frames and no I frames are transmitted (all SAPIs).

The MS may now change to the new channel.

8.4.3.3 Resumption

8.4.3.3.1 Procedure after channel change

This procedure is initiated by the DL‑RESUME primitive. A data link layer entity shall initiate a request for the multiple frame operation by transmitting the SABM command.

All existing exception conditions shall be cleared and the retransmission counter shall be reset. All outstanding DL‑DATA‑ REQUEST primitives and layer 3 message units, which are not fully acknowledged, shall be saved. Any segmented layer 3 message unit, for which the last segment has not been received shall be discarded.

The send buffer is cleared.

A layer 3 message included in the DL‑RESUME‑REQUEST primitive (in general, ASSIGNMENT COMPLETE or HANDOVER COMPLETE) is put into the send buffer for transmission in acknowledged mode.

Upon reception of UA response the data link layer shall:

‑ reset T200;

‑ set send variable V(S), the receive state variable V(R) and the acknowledge state variable V(A) to 0;

‑ enter the multiple established state;

‑ confirm establishment to layer 3 using DL‑ESTABLISH‑CONFIRM;

‑ send the layer 3 message unit passed together with the DL‑RESUME primitive.

The data link layer shall then continue normal operation.

8.4.3.3.2 Procedure after returning to the old channel (MS only)

This procedure is initiated by the DL‑RECONNECT primitive. A data link layer entity shall initiate a request for the multiple frame operation by transmitting the SABM command. All existing exception conditions shall be cleared and the retransmission counter shall be reset. All outstanding DL‑DATA‑REQUEST primitives and layer 3 message units, which are not fully acknowledged, shall be saved; this does not include a message carried by a possible previous DL‑RESUME‑REQUEST. Any segmented layer 3 message units, for which the last segment has not been received shall be discarded.

The send buffer is cleared.

A layer 3 message included in the DL‑RECONNECT‑REQUEST primitive (in general, ASSIGNMENT FAILURE or HANDOVER FAILURE) is put into the send buffer for transmission in acknowledge mode.

Upon reception of a UA response the data link layer shall:

‑ reset T200;

‑ set send state variable V(S), the receive state variable V(R) and the acknowledge state variable V(A) to 0;

‑ enter the multiple frame established state;

‑ confirm establishment to layer 3 using DL‑ESTABLISH‑CONFIRM;

‑ send the layer 3 message unit passed together with DL‑RECONNECT‑REQUEST primitive.

The data link layer shall then continue normal operation.

8.4.4 Termination of multiple frame operation

8.4.4.1 General

These procedures shall be used to terminate the multiple frame operation between the BS and a designated MS entity.

A layer 3 entity shall indicate a request for termination of the multiple frame operation by use of the DL‑RELEASE‑ REQUEST primitive. The DL‑RELEASE‑REQUEST primitive will contain a parameter indicating whether normal release or local end release shall take place. In the first case the data link layer will initiate the release procedure of sub-clause 8.4.4.2. In the second case the data link layer shall follow the procedures of sub-clause 8.4.4.4.

If a physical channel is disconnected at the physical layer, layer 3 will request release (i e local end release) by issuing an MDL‑RELEASE‑REQUEST primitive. The actions to be taken are defined in sub-clause 8.4.4.4.

All frames other than unnumbered frames received during the release procedure shall be ignored.

For normal release the release procedure implies the discard of any outstanding DL‑DATA‑REQUEST primitive which has been invoked prior to the DL‑RELEASE‑REQUEST. It also implies the discard of any segmented layer 3 data units for which the last segment has not been received (see sub-clause 8.5.2 for the concatenation procedure).

8.4.4.2 Normal release procedure

A data link layer entity shall initiate a request for release of multiple frame operation by transmitting the Disconnect (DISC) command with the P bit set to "1". Timer T200 shall then be set right before transmitting a frame, when the PH‑READY‑TO‑SEND primitive is received from the physical layer. The retransmission counter shall be set to "0" (RC=0).

A data link layer entity receiving a DISC command while in the multiple‑frame‑established state or timer recovery state shall transmit a UA response with the F bit set to the same binary value as the P bit in the received DISC command. A DL‑RELEASE‑INDICATION shall be passed to layer 3, timer T200 shall be reset and the idle state shall be entered.

If the originator of the DISC command receives either:

‑ a UA response with the F bit set to "1"; or

‑ a DM response with F bit set to "1", indicating that the peer data link layer entity was in the idle state, it shall reset timer T200 and inform the layer 3 entity using the primitive DL‑RELEASE‑CONFIRM.

The data link layer entity which issued the DISC command will now be in the idle state. The conditions relating to this state are defined in sub-clause 8.4.5.

The DL‑RELEASE‑INDICATION or ‑ CONFIRM primitives shall contain an indication whether or not there are outstanding acknowledgements or unserved DL‑DATA‑REQUEST primitives.

8.4.4.3 Procedure on expiry of timer T200 for normal release

If timer T200 expires before a UA or DM response is received, the originator of the DISC command shall:

‑ retransmit the DISC command as defined in sub-clause 8.4.4.2;

‑ set timer T200 right before transmitting a frame, when the PH‑READY‑TO‑SEND primitive is received from the physical layer; and

‑ increment the retransmission counter.

If the data link layer entity has not received the correct response as defined in sub-clause 8.4.4.2, after N200 attempts to recover, the data link layer entity shall enter the idle state and inform the layer 3 entity using the primitive DL‑ RELEASE‑CONFIRM and MDL‑ERROR‑IND with cause "Timer T200 expired (N200+1) times: perform abnormal release".

The value of N200 is defined in sub-clause 8.8.2.

8.4.4.4 Local end release procedure

When receiving a DL‑RELEASE‑REQUEST primitive from layer 3 with the release mode parameter set to "local end release", the data link layer shall in all states:

‑ return a DL‑RELEASE‑CONFIRM primitive;

‑ enter the idle state without issuing any commands to the peer entity.

The DL‑RELEASE‑CONFIRM primitive shall contain an indication whether or not there are outstanding acknowledgements or unserved DL‑DATA‑REQUEST primitives.

When receiving an MDL‑RELEASE‑REQUEST primitive, the data link layer entity, when in the idle state, shall enter the null state. In all other states the data link layer shall:

‑ if there is no outstanding DL‑RELEASE‑REQUEST primitive, issue a DL‑RELEASE‑INDICATION primitive to layer 3;

‑ if there is an outstanding DL‑RELEASE‑REQUEST primitive, issue a DL‑RELEASE‑CONFIRM primitive to layer 3;

‑ enter the null state without issuing any commands to the peer entity.

NOTE: The null state is the state, as viewed from the data link layer, where no physical resource exists for the specific data link layer entity.

8.4.5 Idle state

While in the idle state:

‑ the receipt of a DISC command shall result in the transmission of a DM response with the F bit set to the value of the received P bit;

‑ the receipt of an I frame or supervisory frame with the P bit set to "1" shall result in the transmission of a DM response with the F bit set to "1" (as defined in sub-clause 8.2.2);

‑ the content of any received I frame shall be discarded;

‑ on receipt of an SABM command, the procedures defined in sub-clause 8.4.1 shall be followed;

‑ on receipt of UI commands, the procedures defined in sub-clause 8.3 shall be followed;

‑ all other frame types shall be discarded.

8.4.6 Collision of unnumbered commands and responses

Collision situations shall be resolved in the following way:

8.4.6.1 Identical transmitted and received commands

If the transmitted and received unnumbered commands (SABM or DISC) are the same, the data link layer entities shall send the UA response at the earliest possible opportunity. The indicated state shall be entered after receiving the UA response. The data link layer entities shall each notify its respective layer 3 entity by means of the appropriate confirm primitive, i.e. DL‑ESTABLISH‑CONFIRM or DL‑RELEASE‑CONFIRM.

8.4.6.2 Different transmitted and received commands

If the transmitted and received unnumbered commands (SABM or DISC) are different, the data link layer entities shall issue a DM response at the earliest possible opportunity. Upon receipt of a DM response with the F bit set to 1, the data link layer shall enter the idle state and notify layer 3 by means of the appropriate primitive. The entity receiving the DISC command will issue a DL‑RELEASE‑INDICATION primitive, while the other entity will issue a DL‑RELEASE‑CONFIRM primitive.

Timer T200 shall be reset.

8.4.6.3 Unsolicited DM response and SABM or DISC command

In order to avoid misinterpretation of the DM response received, a data link layer entity shall always send its SABM or DISC command with the P bit set to "1".

A DM response with the F bit set to "0" colliding with the SABM or DISC command shall be ignored.

8.5 Procedures for information transfer in multiple frame operation

The procedures which apply to the transmission of I frames are defined below.

NOTE: The term "transmission of an I frame" refers to the delivery of an I frame by the data link layer to the physical layer.

8.5.1 Transmitting I frames

Information received by the data link layer entity from a layer 3 entity by means of a DL‑DATA‑REQUEST primitive shall be transmitted in one or more I frames. If the layer 3 message unit consists of N201 or fewer octets, the message unit is to be contained in one I frame. The M bit of 6.7.2 shall be set to "0" in such I frames. If the layer 3 message unit exceeds N201 octets, the data link layer shall segment the message unit in such a way that all segments, possibly except the last segment, consist of N201 octets.

The M bit of sub-clause 6.7.2 shall be set to "1" for each segment except for the last segment for which the M bit shall be set to "0".

The parameter N201 is defined in sub-clause 8.8.3.

When transmitting an I frame, the control field parameters N(S) and N(R) shall be assigned the values of the send and receive state variables V(S) and V(R), respectively. The value of the send state variable V(S) shall be incremented by 1 at the end of the transmission of the I frame.

If timer T200 is not running at the time right before transmitting a frame, when the PH‑READY‑TO‑SEND primitive is received from the physical layer., it shall be set. If timer T200 expires, the procedures defined in sub-clause 8.5.7 shall be followed.

If the send state variable V(S) is equal to V(A) plus k (where k is the maximum number of outstanding I frames ‑ see sub-clause 8.8.4), the data link layer entity shall not transmit any new I frames, but shall retransmit an I frame as a result of the error recovery procedures as described in sub-clauses 8.5.4 and 8.5.7.

When the BS side or MS side is in the own receiver busy (note 2) condition, it may still transmit I frames, provided that a peer receiver busy condition does not exist.

NOTE 1: Any DL‑DATA‑REQUEST primitive received while in the timer recovery condition shall be stored and serviced on clearance of this condition.

NOTE 2: In the following text in the present document, the term own/peer receiver busy refers to the peer‑to‑ peer flow control state in the data link layer entities.

8.5.2 Receiving I frames

When a data link layer entity is not in an own receiver busy condition and receives a valid I frame whose send sequence number is equal to the current receive state variable V(R), the data link layer entity shall:

‑ if the M bit is set to "0", concatenate it with previously received frames with the M bit set to "1", if any, and pass the complete layer 3 message unit to the layer 3 entity using the primitive DL‑DATA‑INDICATION;

‑ if the M bit is set to "1", store the information field of the frame and concatenate it with previously received frames with the M bit set to "1", if any (Note: no information is passed to the layer 3 entity);

‑ increment by 1 its receive state variable V(R), and act as indicated below.

NOTE: The M bit is defined in sub-clause 6.7.2.

8.5.2.1 P bit of the received I frame set to "1"

If the P bit of the received I frame was set to "1", the data link layer entity shall respond to its peer in one of the following ways:

‑ if the data link layer entity receiving the I frame is still not in an own receiver busy condition, it shall send an RR response with the F bit set to "1";

‑ if the data link layer entity receiving the I frame enters the own receiver busy condition upon the receipt of the I frame, it shall send an RNR response with the F bit set to "1".

8.5.2.2 P bit of the received I frame set to "0"

If the P bit of the received I frame was set to "0" and:

a) if the data link layer entity is still not in an own receiver busy condition:

‑ if no I frame is available for transmission or if an I frame is available for transmission but a peer receiver busy condition exists, the data link layer entity shall transmit an RR response with the F bit set to "0"; or

‑ if an I frame is available for transmission and no peer receiver busy condition exists, the data link layer entity shall transmit the I frame with the value of N(R) set to the current value of V(R) as defined in sub-clause 8.5.1 (this I frame then acknowledges the receipt of an I frame); or

b) if, on receipt of this I frame, the data link layer entity is now in an own receiver busy condition, it shall transmit an RNR response with the F bit set to "0".

When the data link layer entity is in an own receiver busy condition, it shall process any received I frame according to sub-clause 8.5.6.

NOTE 1: The term "available for transmission" should be interpreted to mean available for transmission at the instant when the physical layer is ready to transmit the next frame. Making this decision as close as possible to that instant, will ensure minimum delay in the transmission of I frames.

NOTE 2: Any I frame received in the timer recovery condition shall be handled as stated above.

8.5.3 Receiving acknowledgement

8.5.3.1 On receipt of a valid I frame

On receipt of a valid I frame or supervisory frame (RR, RNR or REJ), even in the own receiver busy or timer recovery conditions, the data link layer entity shall treat the N(R) contained in this frame as an acknowledgement for all the I frames it has transmitted with an N(S) up to and including the received N(R) ‑ 1. The value of the acknowledge state variable V(A) shall be set to the value of N(R). When not in the timer recovery condition, the data link layer entity shall reset the timer T200 on receipt of a valid I frame or supervisory frame with N(R) higher than V(A) (actually acknowledging some I frames), or an REJ with an N(R) equal to V(A).

NOTE 1: If a supervisory command frame with P bit set to "1" or an I frame command with P bit set to "1" has been transmitted and not acknowledged, by a supervisory frame response with F bit set to "1" timer T200 shall not be reset.

NOTE 2: Upon the receipt of a valid I frame, timer T200 shall not be reset if the data link layer entity is in the peer receiver busy condition.

If timer T200 has been reset by the receipt of an I, RR or RNR frame, and if there are outstanding I frames still unacknowledged, the data link layer entity shall set timer T200. If timer T200 then expires, the data link layer entity shall follow the recovery procedure as defined in sub-clause 8.5.7 with respect to the unacknowledged I frames.

If timer T200 has been reset by the receipt of an REJ frame, the data link layer entity shall follow the retransmission procedures in sub-clause 8.5.4.

8.5.3.2 Receiving supervisory command frames with the P bit set to "1"

When receiving supervisory command frames with the P bit set to "1", the following responses with the F bit set to "1" shall be given:

‑ if the data link layer entity is neither in an own receiver busy condition nor in an N(S) sequence error exception condition, the appropriate supervisory response is the RR response;

‑ if the data link layer entity is not in an own receiver busy condition, but is in an N(S) sequence error exception condition (i e an N(S) sequence error has been detected but a REJ frame has not yet been transmitted), the appropriate supervisory response is the REJ response;

‑ if the data link layer is in its own receiver busy condition, the appropriate supervisory response is the RNR response.

8.5.4 Receiving REJ frames

8.5.4.1 Receipt of a valid REJ frame

On receipt of a valid REJ frame the data link layer entity shall act as follows:

i) if it is not in the timer recovery condition:

‑ clear an existing peer receiver busy condition;

‑ set its send state variable V(S) and its acknowledge state variable V(A) to the value of the N(R) contained in the REJ frame control field;

‑ reset timer T200;

‑ if it was an REJ command frame with the P bit set to "1", transmit an appropriate supervisory frame with the F bit set to "1" (see sub-clause 8.5.3.2);

‑ transmit the corresponding I frame as soon as possible as defined in sub-clause 8.5.1 taking into account the conditions given in sub-clause 8.5.4.2;

‑ if it was an REJ response frame with the F bit set to "1", notify a protocol violation to layer 3 by means of the MDL‑ERROR‑INDICATION primitive (cause: unsolicited supervisory response);

ii) if it is in a timer recovery condition and it was an REJ response frame with the F bit set to "1":

‑ clear an existing peer receiver busy condition;

‑ clear the timer recovery condition;

‑ set its send state variable V(S) and its acknowledge state variable V(A) to the value of the N(R) contained in the REJ frame control field;

‑ reset timer T200;

‑ transmit the corresponding I frame as soon as possible as defined in sub-clause 8.5.1 taking into account the conditions given in sub-clause 8.5.4.2;

iii) if it is in a timer recovery condition and it was an REJ frame other than an REJ response with the F bit set to "1":

‑ clear an existing peer receiver busy condition;

‑ set its acknowledge state variable V(A) to the value of the N(R) contained in the REJ frame control field; and

‑ if it was an REJ command frame with the P bit set to "1", transmit an appropriate supervisory response frame with the F bit set to "1" (see sub-clause 8.5.3.2).

If the network receives a valid REJ frame following the application of the Repeated Downlink FACCH functionality (see sub-clause 10), and if it can be established that this frame is resulting from the reception of a repeated FACCH block by the Mobile Station , then this REJ frame may be ignored by the network.

NOTE: This case could typically occur when Repeated Downlink FACCH is used toward a Mobile Station not supporting the functionality (i.e. a pre-Release 6 Mobile Station).

8.5.4.2 Transmitting frames

When transmitting frames the following conditions are to be observed:

1) if the data link layer entity is transmitting a supervisory frame when it receives the REJ frame, it shall complete that transmission before commencing transmission of the requested I frame;

2) if the data link layer entity is transmitting an SABM or DISC command or a UA or DM response when it receives the REJ frame, it shall ignore the request for retransmission;

3) if the data link layer entity is not transmitting a frame when the REJ is received, it shall immediately commence transmission of the requested I frame.

All outstanding unacknowledged I frames, commencing with the I frame identified in the received REJ frame, shall be transmitted. Other I frames not yet transmitted may be transmitted following the transmitted I frames.

8.5.5 Receiving RNR frame

After receiving a valid RNR command or response, provided that the data link layer entity is not engaged in a mode setting operation, the data link layer entity shall set a peer receiver busy condition.

For RNR commands/responses with the P/F bit set to 1, the following special conditions apply:

‑ if it was an RNR command with the P bit set to "1", it shall respond with an RR response with the F bit set to "1" if the data link layer entity is not in an own receiver busy condition, and shall respond with an RNR response with the F bit set to "1" if the data link layer entity is in an own receiver busy condition;

‑ if it was an RNR response with the F bit set to "1" and timer recovery condition exists, the timer recovery condition shall be cleared and the N(R) contained in this RNR response shall be used to update the send state variable V(S).

The data link layer entity shall take note of the peer receiver busy condition and not transmit any I frame towards the peer having indicated a busy condition.

NOTE 1: This condition may not apply if the protocol operation on SAPI=0 and SAPI=3 is implemented (see sub-clause 9).

NOTE 2: The N(R) in any received supervisory command, irrespective of the setting of the P bit, will not be used to update the send state variable V(S).

The data link layer entity shall then:

‑ treat the receive sequence number N(R) contained in the received RNR frame as an acknowledgement for all the I frames that have been transmitted or retransmitted with an N(S) up to and including N(R) ‑1, and set its acknowledge state variable V(A) to the value of the N(R) contained in the RNR frame; and

‑ set timer T200 unless a supervisory response frame with the F bit set to "1" is still expected.

If timer T200 expires, the data link layer entity shall:

‑ if it is not yet in a timer recovery condition, enter a timer recovery condition, and set the retransmission count variable to 0;

‑ if it is already in a timer recovery condition, add one to its retransmission count variable.

The data link layer entity shall then:

‑ if the value of the retransmission count variable is less than N200, transmit an appropriate supervisory command (see sub-clause 8.5.3.2) with the P bit set to "1", and set timer T200 right before transmitting a frame, when the PH‑READY‑TO‑SEND primitive is received from the physical layer; or

‑ if the value of the retransmission count variable is equal to N200, it shall initiate the abnormal release procedure described in sub-clause 8.6. Layer 3 shall be notified via the MDL‑ERROR‑INDICATION primitive with cause "timer T200 expired N200 + 1 times: perform abnormal release".

The peer data link layer entity receiving the supervisory frame with the P bit set to "1" shall respond, at the earliest opportunity, with the appropriate supervisory response frame (see sub-clause 8.5.3.2) with the F bit set to "1", to indicate whether or not its own receiver busy condition still exists.

Upon receipt of the supervisory response with the F bit set to "1", the data link layer entity shall reset timer T200, and:

‑ if the response is an RR or REJ response, the peer receiver busy condition is cleared and the data link layer entity may transmit new I frames or retransmit I frames as defined in sub-clauses 8.5.1 or 8.5.4, respectively; or

‑ if the response is an RNR response, the data link layer entity receiving the response shall proceed according to sub-clause 8.5.5, first paragraph.

If a supervisory command (RR, RNR or REJ) with the P bit set to "0" or "1", or a supervisory response frame with the F bit set to "0" is received during the enquiry process, the data link layer entity shall:

‑ if the supervisory frame is an RR or REJ command or response frame with the F bit set to "0", clear the peer receiver busy condition and if the supervisory frame was a command with the P bit set to "1", transmit the appropriate supervisory response (see sub-clause 8.5.3.2) frame with the F bit set to "1". However, the transmission or retransmission of I frames shall not be undertaken until the appropriate supervisory response frame with the F bit set to "1" is received or until the expiry of timer T200; or

‑ if the supervisory frame is an RNR command or an RNR response with the P/F bit set to "0", retain the peer receiver busy condition, and if the supervisory frame received was an RNR command with the P bit set to "1", transmit the appropriate supervisory response (see sub-clause 8.5.3.2) with the F bit set to "1".

Receiving an SABM command, the data link layer entity shall clear the peer receiver busy condition.

8.5.6 Data link layer own receiver busy condition

When the data link layer entity enters an own receiver busy condition, it shall transmit an RNR frame at the earliest opportunity. The RNR frame may be either:

‑ an RNR response with the F bit set to "0"; or

‑ if this condition is entered when receiving a command frame with the P bit set to "1", an RNR response frame with the F bit set to "1"; or

‑ if this condition is entered on expiry of timer T200, an RNR command with the P bit set to "1".

All received I frames with the P bit set to "0" shall be discarded, after updating the acknowledge state variable V(A).

All received supervisory frames with the P/F bit set to "0" shall be processed, including updating the acknowledge state variable V(A).

All received I frames with the P bit set to "1" shall be discarded, after updating the acknowledge state variable V(A). However, an RNR response frame with the F bit set to "1" shall be transmitted.

All received supervisory frames with the P bit set to "1" will be processed including updating the acknowledge state variable V(A). An RNR response with the F bit set to "1" shall be transmitted.

To indicate to the peer data link layer entity the clearance of the own receiver busy condition, the data link layer entity shall transmit an RR frame, or, if a previously detected N(S) sequence error has not yet been reported, an REJ frame with the N(R) set to the current value of the receive state variable V(R).

The transmission of an SABM command or a UA response (in reply to an SABM command) also indicates to the peer data link layer entity the clearance of the own receiver busy condition.

8.5.7 Waiting acknowledgement

The data link layer entity shall maintain an internal retransmission count variable.

If timer T200 expires, the data link layer entity shall:

‑ if it is not yet in the timer recovery condition, enter the timer recovery condition and set the retransmission count variable to 0; or

‑ if it is already in the timer recovery condition, add one to its retransmission count variable.

The data link layer entity shall then:

a) if the value of the retransmission count variable is less than N200:

‑ retransmit the last transmitted I frame (V(S)‑1) with the P bit set to "1"; or

‑ send the appropriate supervision frame, with the P bit set to "1";

‑ set timer T200 right before transmitting a frame, when the PH‑READY‑TO‑SEND primitive is received from the physical layer; or

b) if the value of the retransmission count variable is equal to N200, indicate this by means of the primitive MDL‑ERROR‑INDICATION with cause "timer T200 expired N200 + 1 times: perform abnormal release" to layer 3.

NOTE: It is then the responsibility of layer 3 to release or re‑establish the data link. The data link layer remains in the timer recovery state until further actions are taken by layer 3.

The following paragraph applies only for data link layer being in the timer recovery condition as the case of receiving acknowledgement in multiframe established state is described in sub-clause 8.5.3.1.

The timer recovery condition is only cleared if the data link layer entity receives a valid supervisory frame response with the F bit set to "1". If the N(R) of this received supervisory frame is within the range from its current state variable V(A) to its current send state variable V(S) inclusive, it shall set its send state variable V(S) to the value of the received N(R). Timer T200 shall be reset if the received supervisory frame response is an RR or REJ response with F bit set to "1". The data link layer entity shall then resume with I frame transmission or retransmission, as appropriate.

Timer T200 shall be set if the received supervisory response is an RNR response, and the data link layer shall proceed with the enquiry process in accordance with sub-clause 8.5.5.

8.5.8 Preemption

The preemption capability allows high priority layer 3 messages to avoid significant queuing delay at layer 2 due to the transmission of preceding low priority layer 3 messages.

8.5.8.1 Sender Requirements

If higher layers do not send any message defined in 3GPP TS 44.018 to have a "low" priority, the data link layer may treat all layer 3 messages as having "normal" priority. This provides backward compatibility with previous versions of this standard.

For multiple frame operation on SAPI 0, the Layer 3 shall indicate the priority of each message by providing a priority value in a DL-DATA-REQUEST primitive. Layer 3 messages with a priority value of "high" are allowed to preempt preceeding untransmitted and partially transmitted layer 3 messages with a priority value of "low". Layer 3 messages with a priority value of "normal" shall neither preempt not be preempted by other Layer 3 messages.

On receiving a DL-DATA-REQUEST carrying a Layer 3 message with a "high" priority value, the data link layer entity shall discard all preceding untransmitted Layer 3 messages using the same data link layer connection (i.e. same SAPI and channel) that have a ‘low" priority value. Layer 3 messages with a "low" priority value whose entire contents have been transmitted, but for which acknowledgements are still outstanding, shall not be affected. If there is any layer 3 message (at most one) with a "low" priority value for which some but not all octets were transmitted, the data link layer shall discard all untransmitted octets following the first N201 untransmitted octets if the total number of untransmitted octets exceeds N201. If there are N201 or fewer untransmitted octets, no data shall be discarded. When untransmitted octets are discarded, the remaining N201 untransmitted octets shall be transmitted when permitted by flow control in a single I frame with the M bit set to "0".

Low priority data that is not discarded (i.e. previously transmitted but unacknowledged data and up to N201 octets of untransmitted data) shall be retransmitted if necessary until acknowledged by receiving data link layer entity.

8.5.8.2 Receiver Requirements

The receiving data link layer entity is not affected by, nor aware of, preemption at a sender. Detection of and recovery from preemption is the responsibility of the higher layers. The procedures employed at the data link layer ensure that when a "low" priority message is truncated, at least the first 2*N201 octets are delivered reliably to the receiving layer 3.

8.6 Abnormal release and re‑establishment of multiple frame operation

8.6.1 Criteria for re‑establishment

The procedures for re‑establishing the multiple frame operation are initiated by:

a) the receipt of a DL‑ESTABLISH‑REQUEST;

b) the receipt, while in the multiple frame established or timer recovery state, of an SABM command.

8.6.2 Criteria for abnormal release

The procedures for abnormal release of the multiple frame operation are initiated by:

a) the receipt of a frame containing an invalid N(R) (see note);

b) the receipt, while in the multiple‑frame‑established state, of an unsolicited DM response with the F bit set to "0".

A valid N(R) is one that is in the range V(A)<=N(R)<=V(S).

NOTE: These inequalities shall be interpreted in the following way: N(R) is called valid, if and only if (N(R)‑V(A)) mod 8 <= (V(S)‑V(A)) mod 8.

8.6.3 Procedures for re‑establishment

When the data link layer receives in the multiple frame established state or timer recovery state a DL‑ESTABLISH‑ REQUEST primitive from layer 3 or an SABM (with L=0), the normal establishment procedure of sub-clause 8.4.1.2 shall be initiated. Any information frames in the I queue (including I frames for DL‑DATA‑REQUEST primitives and any received segmented layer 3 message units for which the last segment has not been received) shall be discarded.

A DL‑ESTABLISH‑INDICATION or ‑CONFIRM primitive sent to layer 3 shall contain an indication whether or not there are outstanding acknowledgements or unserved DL‑DATA‑REQUEST primitives.

8.6.4 Procedures for abnormal release

The data link layer shall inform layer 3 that an exception condition exists from which the data link layer cannot recover. The information is provided in an MDL‑ERROR‑ INDICATION primitive with causes "sequence error: perform abnormal release" or "unsolicited DM response, multiple frame established state: perform abnormal release".

The release of the data link shall then be performed by layer 3 by either of the following primitives:

‑ DL‑RELEASE‑REQUEST (release mode=normal release). Then the data link layer shall follow the procedures of sub-clause 8.4.4.2.

‑ DL‑RELEASE‑REQUEST (release mode=local end release). Then the data link layer shall follow the procedure of sub-clause 8.4.4.4.

‑ MDL‑RELEASE‑REQUEST. Then the data link layer shall follow the procedure of sub-clause 8.4.4.4.

The data link layer shall remain in the same state (i e multiple frame established or timer recovery) until the primitive is received.

8.7 Exception condition reporting and recovery for multiple frame operation

Exception conditions may occur as the result of physical layer errors or data link layer procedural errors.

The error recovery procedures which are available to effect recovery following the detection of an exception condition at the data link layer are defined in this sub-clause.

8.7.1 N(S) sequence error

An N(S) sequence error exception condition occurs in the receiver when a valid I frame is received which contains an N(S) value which is not equal to the receive state variable V(R) at the receiver. The information field of all I frames whose N(S) does not equal the receive state variable V(R) shall be discarded.

The receiver shall not acknowledge (nor increment its receive state variable) the I frame causing the sequence error, nor any I frames which may follow, until an I frame with the correct N(S) is received.

A data link layer entity which receives one or more I frames having sequence errors but otherwise error‑free, or subsequent supervisory frames (RR, RNR and REJ), shall use the control field information contained in the N(R) field and the P or F bit to perform data link control functions; for example, to receive acknowledgement of previously transmitted I frames and to cause the data link layer entity to respond if the P bit is set to "1". Therefore, a retransmitted I frame may contain an N(R) field value and P bit that are updated from, and therefore different from, the ones contained in the originally transmitted I frame.

The REJ frame is used by a receiving data link layer entity to initiate an exception condition recovery (retransmission) following the detection of an N(S) sequence error.

Only one REJ exception condition for a given direction of information transfer shall be established at a time.

A data link layer entity receiving an REJ command or response shall initiate sequential transmission (retransmission) of I frames starting with the I frame indicated by the N(R) contained in the REJ frame.

An REJ exception condition is cleared when the requested I frame is receive or when an SABM or DISC command is received.

8.7.2 Timer recovery

If a data link layer entity, due to a transmission error, does not receive a single I frame or the last I frame(s) in a sequence of I frames, it will not detect an out‑of‑sequence exception condition and therefore will not transmit a REJ frame.

The data link layer which transmitted the unacknowledged I frame(s) shall, on the expiry of timer T200, take appropriate recovery action as defined in sub-clause 8.5.7 to determine at which I frame retransmission must begin.

8.7.3 Invalid frame condition

Any frame received which satisfies one or more of the following conditions shall be discarded after notification to layer 3 by means of the primitive MDL‑ERROR‑INDICATION (with cause as indicated):

‑ a supervisory or unnumbered frame with incorrect parameters (e g a length indicator L>0 in frames where an information field is not permitted, an M bit set to "1", a length indicator set to L>N201 in frames permitted with an information field) (causes "S frame with incorrect parameters" and "U frame with incorrect parameters", respectively);

‑ an I frame with length indicator which indicates more than N201 octets in the frame (cause "I frame with incorrect length");

‑ an I frame with the M bit set to "1" and the length indicator set to less than N201 octets (cause "I frame with incorrect use of M bit");

‑ a command or response frame with a control field which is not implemented (cause "frame not implemented").

No other action shall be taken as a result of such frames, i e information fields shall be discarded and N(S) fields, N(R) fields and P/F bits shall be ignored.

8.7.4 N(R) sequence error

An N(R) sequence error exception condition occurs in the transmitter when a valid supervisory frame or I frame is received which contains an invalid N(R) value.

A valid N(R) is one that is in the range V(A)=<N(R)=<V(S).

NOTE: These inequalities shall be interpreted in the following way: N(R) is called valid, if and only if (N(R)‑V(A)) mod 8 <= (V(S)‑V(A)) mod 8.

The information field contained in an I frame which is correct in sequence and format but contains an invalid N(R) shall be delivered to layer 3 by means of the primitive DL‑ DATA‑INDICATION (if it contains a complete layer 3 message unit or the last segment of a segmented layer 3 message unit; otherwise the information field is discarded) and a P bit set to "1" shall be processed before taking subsequent actions.

The data link layer entity shall then inform layer 3 on this exception condition by means of the primitive MDL‑ERROR‑ INDICATION with the cause "sequence error: perform abnormal release", as defined in 8.6.4. The data link shall remain in the current state until it is released by layer 3.

8.8 List of system parameters

The system parameters listed below are associated with each individual service access point and apply to both unacknowledged operation and multiple frame operation.

NOTE 1: The only parameter required for unacknowledged operation is the maximum number of octets in the information field (sub-clause 8.8.3).

NOTE 2: The values given below for the parameters may be changed as a result of optimization of the system performance.

8.8.1 Timer T200

8.8.1.1 For SAPI=0 and SAPI=3

The exact value of timer T200 for data links with SAPI=0 and SAPI=3 is implementation dependent. It depends on synchronization mechanisms and processing delays both in layer 1 and layer 2 entities. Generally, it shall be chosen such that a predictable behaviour at the Um reference point can be guaranteed. The general principles for choosing a value for timer T200 are:

‑ a possible loss of frames on the radio path should be detected as soon as possible;

‑ a necessary retransmission of a frame should take place at the earliest possible opportunity;

– the use of Repeated Downlink FACCH (see sub-clause 10);

‑ T200 shall not time out before the next frame in the other direction is received and treated, assuming some reasonable response delays for the peer entities (see sub-clause 8.9);

‑ if T200 times out, provided no other frame takes priority, the repeated frame is sent in the block following immediately after the next PH‑READY‑TO‑SEND indication.

Values of T200 shall be chosen implementation dependent for the various types of channels according to the rules given above and the performance requirements of sub-clause 8.9.

8.8.1.2 For SAPIs other than 0 or 3

The value of timer T200 for data links with SAPIs other than 0 or 3 is for further study.

8.8.2 Maximum number of retransmissions (N200)

8.8.2.1 For SAPI=0 and 3

For SAPI=0 and 3, the maximum number of retransmissions N200 depends on the state and on the channel used. This ensures a common time value for layer 2 link failure on all channels when multiple frame operation is established. The N200 value for layer 2 link establishment and release is 5.

In the state "timer recovery", N200 is set to:

– 5 for use on SACCH;

– 23 for use on SDCCH;

– 34 for use on FACCH/full rate (Note 1);

– 48 for use on E‑FACCH/full rate;

– 29 for use on FACCH/half rate.

NOTE 1: All types of FACCH/Full rate except E-FACCH/F.

8.8.2.2 For SAPIs other than 0 or 3

For SAPIs other than 0 or 3, the value of N200 is 5.

8.8.3 Maximum number of octets in an I, UI, SABM and UA frame partially or entirely available for the information field (N201)

The maximum number of octets partially or entirely available for the information field (N201) is:

– for frames of format A and B:

‑ for the SACCH: N201 = 18;

‑ for the FACCH and SDCCH: N201 = 20.

– for frames of format Bbis:

‑ for BCCH, AGCH, NCH and PCH: N201 = 23;

– for frames of format Bter:

– for the SACCH: N201 = 21;

– for the FACCH and SDCCH: N201 = 23;

– for frames of format B4:

– for the SACCH: N201 = 19.

8.8.4 Maximum number of outstanding I frames (k)

The maximum number (k) of sequentially numbered I frames that may be outstanding (that is, unacknowledged) at any given time is a system parameter which shall not exceed 7.

For data links with SAPI=0 or 3 (see sub-clause 9), the value of k shall be k = 1.

The value of k for other values of SAPI is for further study.

8.8.5 Maximum number of octets in a Layer 3 message

The number of octets in a L3‑message passed to layer 2 for transmission in acknowledged mode shall not exceed 251, due to corresponding limits in 3GPP TS 48.056.

The number of octets in a L3‑message passed to layer 2 for transmission in unacknowledged mode is limited by the maximum number of octets in the information field of an UI‑frame, as defined in sub-clause 8.8.3.

8.9 System performance requirements

An implementation of data link layer service for SAPI=0 and SAPI=3 consisting of a data link layer entity and an entity necessary for physical transmission on the GSM radio channels, shall have sufficient processing capacity to satisfy the following performance requirements. Those requirements are to be satisfied by a local implementation without reference to the (remote) peer implementation:

‑ Available response delay:

If a data link entity receives a data link command frame requesting response whose last burst has been physically transmitted in the TDMA frame number FNcomm, then the first burst carrying a segment of the corresponding data link response shall be physically transmitted in the TDMA frame number FNresp, where:

FNresp <= FNcomm + Tresp +1;

and Tresp denotes the number of TDMA frames corresponding to the available response delay for the logical channel in use, as indicated in table 8. When Repeated Downlink FACCH is used (see clause 10) to send a command frame, FNcomm denotes the TDMA frame number of the last burst of the FACCH block used to recover the LAPDm frame. When Repeated Downlink FACCH is used to send a response frame (see clause 10), FNresp denotes the TDMA frame number of the first burst of the FACCH block used to send the first instance of the repeated LAPDm frame.

‑ Observable repetition delay:

if a data link entity transmits a data link command frame whose first burst is physically contained in the TDMA frame number FNcomm1, then in case of retransmission the first burst carrying a segment of the retransmitted data link command frame shall be contained in the TDMA frame number FNcomm2 satisfying;

FNcomm1 + Trmin <= FNcomm2 <= FNcomm1 + Trmax;

where Trmin resp. Trmax denote the number of TDMA frames corresponding to the minimum resp. maximum observable repetition delay for the logical channel in use, as indicated in table 8. When Repeated Downlink FACCH is used (see clause 10) to send a command frame, FNcomm1 denotes the TDMA frame number of the first burst of the FACCH block used to send the repeated LAPDm frame.

NOTE: Arithmetics on TDMA frame numbers as specified in 3GPP TS 45.002 operates modulo (FN_MAX+1) = 2715648.

Table 8: Performance Parameters

SAPI

Type of channel

Available

Minimum

Maximum

Response

Repetition

Repetition

Delay

Delay

Delay

Tresp

Trmin

Trmax (Note 3)

0

SDCCH

MS: 11

51

51

BSS: 32

0

FACCH/Full rate
(Note 4)

9

26

39

0

E‑FACCH/Full rate

9

17

26

0

FACCH/Half rate

10

34

44

3

SDCCH

MS: 11

51

51 (Note 1)

BSS: 32

3

SACCH (with TCH)

25/129 (Note 2)

312

416 (Note 2)

Values given in this table are measured in units of TDMA frame numbers, thus 1 unit corresponds to 120/26 ms (approx. 4.615 ms).

NOTE 1: Only applicable if no SAPI 0 transmission is in progress. Otherwise no upper bound can be given due to the priority of SAPI 0 transmission.

NOTE 2: This higher value is only applicable when the physical channel was not available for SAPI=3 due to the transmission of a SAPI=0 frame.

NOTE 3: Only applicable if, when available for transmission, there is no supervisory frame with F=1 to send (see for example sub-clause 8.5.2.1).

NOTE 4: All types of FACCH/Full rate except E-FACCH/F.