9 Handling of unknown, unforeseen and erroneous protocol data

25.3313GPPProtocol specificationRadio Resource Control (RRC)Release 17TS

9.1 General

This subclause specifies procedures for the handling of unknown, unforeseen, and erroneous protocol data by the receiving entity. These procedures are called "error handling procedures", but in addition to provide recovery mechanisms for error situations they define a compatibility mechanism for future extensions of the protocol.

The error handling procedures specified in this subclause shall apply to all RRC messages. When there is a specific handling for messages received on different logical channels this is specified.

For system information received on the BCCH, the error handling procedures are applied on the BCCH message SYSTEM INFORMATION, the re-assembled system information segments as well as the system information blocks (including the master information block and the scheduling blocks), with specific error handling as specified below.

When the UE receives an RRC message, it shall set the variable PROTOCOL_ERROR_REJECT to FALSE and then perform the checks in the order as defined below.

The error cases specified in the following include the handling upon reception of spare values. This behaviour also applies in case the actual value of the IE results from mapping the originally sent IE value. Moreover, in certain error cases, as specified in the following, default values apply. In this case, the default values specified within the ASN.1, the tabular and the procedure specifications apply.

9.2 ASN.1 violation or encoding error

If the UE receives an RRC message on the DCCH for which the encoded message does not result in any valid abstract syntax value [49] (or "encoding error"), it shall perform the following. The UE shall:

1> set the variable PROTOCOL_ERROR_REJECT to TRUE;

1> transmit an RRC STATUS message on the uplink DCCH. The IE "Protocol error information" shall contain an IE "Protocol error cause" set to "ASN.1 violation or encoding error";

1> when RRC STATUS message has been submitted to lower layers for transmission:

2> continue with any ongoing processes and procedures as if the invalid message had not been received.

NOTE In this case, the UE does not perform procedure specific error handling according to clause 8.

If the UE receives an RRC message sent via a radio access technology other than UTRAN, for which the encoded message does not result in any valid abstract syntax, the UE shall:

1> set the variable PROTOCOL_ERROR_REJECT to TRUE;

1> set the IE "Protocol error cause" in the variable PROTOCOL_ERROR_INFORMATION to "ASN.1 violation or encoding error";

1> perform procedure specific error handling according to clause 8.

If a reassembled set of system information segments received in messages on the BCCH does not result in any valid abstract syntax value, the UE shall:

1> ignore the reassembled set of system information segments;

1> treat the rest of each message containing the ignored system information segments as if those segments were not present.

If the UE receives an RRC message on the BCCH, PCCH, CCCH, MCCH, MSCH or SHCCH for which the encoded message does not result in any valid abstract syntax value, it shall ignore the message.

9.3 Unknown or unforeseen message type

If a UE receives an RRC message on the DCCH with a message type not defined for the DCCH it shall:

1> set the variable PROTOCOL_ERROR_REJECT to TRUE;

1> transmit an RRC STATUS message on the uplink DCCH. The IE "Protocol error information" shall contain an IE "Protocol error cause" set to "Message type non-existent or not implemented";

1> when the RRC STATUS message has been submitted to lower layers for transmission:

2> continue with any ongoing processes and procedures as if the invalid message had not been received.

If the UE receives an RRC message on the BCCH, PCCH, CCCH, MCCH, MSCH or SHCCH with a message type not defined for the logical channel type the message was received on, it shall ignore the message.

9.3a Unsolicited received message

If the UE receives any of the following messages:

– an RRC CONNECTION SETUP message addressed to the UE on the CCCH; or

– an RRC CONNECTION REJECT message addressed to the UE on the CCCH; or

– a UE CAPABILITY INFORMATION CONFIRM message on the DCCH; or

– a CELL UPDATE CONFIRM message addressed to the UE on the CCCH or on the DCCH; or

– a URA UPDATE CONFIRM message addressed to the UE on the CCCH or on the DCCH

and no procedure is ongoing according to clause 8 which expects the message to be received:

the UE shall:

1> ignore the received message.

9.3b Unexpected critical message extension

If the UE receives an RRC message on the DCCH, or addressed to the UE on the CCCH or on the SHCCH, or sent via a radio access technology other than UTRAN, containing an undefined critical message extension, the UE shall:

1> set the variable PROTOCOL_ERROR_REJECT to TRUE;

1> set the IE "Protocol error cause" in the variable PROTOCOL_ERROR_INFORMATION to "Message extension not comprehended";

1> if the IE "Message Type" of the received message is not present in the table "Rejected transactions" in the variable TRANSACTIONS:

2> store the IE "Message type" of the received message in the table "Rejected transactions" in the variable TRANSACTIONS; and

2> set the IE "RRC transaction identifier" to zero in that table entry.

1> perform procedure specific error handling according to clause 8.

If the UE receives an RRC message on the BCCH, MCCH, MSCH or PCCH, containing an undefined critical message extension, the UE shall:

1> ignore the message.

9.4 Unknown or unforeseen information element value, mandatory information element

If the UE receives an RRC message on the DCCH, or addressed to the UE on the CCCH or on the SHCCH, or sent via a radio access technology other than UTRAN, with a mandatory IE having a value, including choice, reserved for future extension (spare) or a value not used in this version of the specification (e.g. a dummy value), the UE shall:

1> if a default value of the IE is defined:

2> treat the rest of the message using the default value of the IE.

1> if no default value of the IE is defined:

2> set the variable PROTOCOL_ERROR_REJECT to TRUE;

2> set the IE "Protocol error cause" in the variable PROTOCOL_ERROR_INFORMATION to "Information element value not comprehended";

2> perform procedure specific error handling according to clause 8.

If the UE receives a system information block on the BCCH with a mandatory IE having a value reserved for future extension (spare)or a value not used in this version of the specification (e.g. a dummy value), the UE shall:

1> if a default value of the IE is defined:

2> treat the rest of the system information block using the default value of the IE.

1> if no default value of the IE is defined:

2> ignore the system information block.

If the UE receives an RRC message on the BCCH, MCCH, MSCH or PCCH with a mandatory IE having a value reserved for future extension (spare) or a value not used in this version of the specification (e.g. a dummy value), the UE shall:

1> if a default value of the IE is defined:

2> treat the rest of the message using the default value of the IE.

1> if no default value of the IE is defined:

2> ignore the message.

9.5 Conditional information element error

If the UE receives an RRC message on the DCCH, BCCH, PCCH, MCCH, MSCH or addressed to the UE on the CCCH or on the SHCCH, or sent via a radio access technology other than UTRAN, for which the specified conditions for absence of a conditional IE are met and that IE is present, the UE shall:

1> ignore the IE;

1> treat the rest of the message as if the IE was not present.

If the UE receives an RRC message on the DCCH, or addressed to the UE on the CCCH or on the SHCCH, or sent via a radio access technology other than UTRAN, for which the specified conditions for presence of a conditional IE are met and that IE is absent, the UE shall:

1> set the variable PROTOCOL_ERROR_REJECT to TRUE;

1> set the IE "Protocol error cause" in the variable PROTOCOL_ERROR_INFORMATION to " Information element missing";

1> perform procedure specific error handling according to clause 8.

If the UE receives a system information block on the BCCH for which the specified conditions for presence of a conditional IE are met and that IE is absent, the UE shall:

1> ignore the system information block.

If the UE receives an RRC message on the BCCH, MCCH, MSCH or PCCH for which the specified conditions for presence of a conditional IE are met and that IE is absent, the UE shall:

1> ignore the message.

9.6 Unknown or unforeseen information element value, conditional information element

If the UE receives an RRC message on the DCCH, or addressed to the UE on the CCCH or on the SHCCH, or sent via a radio access technology other than UTRAN, for which the specified conditions for presence of a conditional IE are met, that IE is present, and that IE has a value, including choice, reserved for future extension (spare) or a value not used in this version of the specification (e.g. a dummy value), the UE shall:

1> if a default value of the IE is defined:

2> treat the rest of the message using the default value of the IE.

1> if no default value of the IE is defined:

2> set the variable PROTOCOL_ERROR_REJECT to TRUE;

2> set the IE "Protocol error cause" in the variable PROTOCOL_ERROR_INFORMATION to "Information element value not comprehended";

2> perform procedure specific error handling according to clause 8.

If the UE receives a system information block on the BCCH for which the specified conditions for presence of a conditional IE are met, that IE is present, and that IE has a value, including choice, reserved for future extension (spare) or a value not used in this version of the specification (e.g. a dummy value), the UE shall:

1> if a default value of the IE is defined:

2> treat the rest of the system information block using the default value of the IE.

1> if no default value of the IE is defined:

2> ignore the system information block.

If the UE receives an RRC message on the BCCH, MCCH, MSCH or PCCH for which the specified conditions for presence of a conditional IE are met, that IE is present, and that IE has a value, including choice, reserved for future extension (spare) or a value not used in this version of the specification (e.g. a dummy value), the UE shall:

1> if a default value of the IE is defined:

2> treat the rest of the message using the default value of the IE.

1> if no default value of the IE is defined:

2> ignore the message.

9.7 Unknown or unforeseen information element value, optional information element

If the UE receives an RRC message on the DCCH, or addressed to the UE on the CCCH or on the SHCCH, or sent via a radio access technology other than UTRAN, with an optional IE having a value, including choice, reserved for future extension (spare) or a value not used in this version of the specification (e.g. a dummy value), it shall:

1> ignore the value of the IE;

1> treat the rest of the message as if the IE was not present.

If the UE receives a system information block on the BCCH with an optional IE having a value, including choice, reserved for future extension (spare) or a value not used in this version of the specification (e.g. a dummy value), it shall:

1> ignore the value of the IE;

1> treat the rest of the system information block as if the IE was not present.

If the UE receives an RRC message on the BCCH, MCCH or MSCH or PCCH with an optional IE having a value, including choice, reserved for future extension (spare) or a value not used in this version of the specification (e.g. a dummy value), it shall:

1> ignore the value of the IE;

1> treat the rest of the message as if the IE was not present.

9.8 Unexpected non-critical message extension

If the UE receives an RRC message on the DCCH, or addressed to the UE on the CCCH or on the SHCCH, or sent via a radio access technology other than UTRAN, containing an undefined non-critical message extension, the UE shall:

1> if the non critical extension is included in the "Variable Length Extension Container":

2> ignore the content of the extension and the contents of this container after the not comprehended extension, and continue decoding the rest of the message.

1> otherwise:

2> ignore the content of the extension and the message contents after the extension, but treat the parts of the message up to the extension normally.

If the UE receives a system information block on the BCCH containing an undefined non-critical message extension, the UE shall:

1> ignore the content of the extension and the system information block contents after the extension, but treat the parts of the system information block up to the extension normally.

If the UE receives an RRC message on the BCCH, MCCH or MSCH or PCCH, containing an undefined non-critical message extension, the UE shall:

1> ignore the content of the extension and the message contents after the extension, but treat the parts of the message up to the extension normally.

9.9 Handling of errors in nested information elements

An erroneous IE may be included in another IE, which may be included in another IE and so on. This subclause specifies the handling of errors in mandatory IEs as well as for conditional IEs for which the specified conditions for presence are met, that are nested in another IE.

In case the UE receives an IE (IE1) that includes a mandatory IE (IE1-1) having a value, including choice, reserved for future extension (spare) or a value not used in this version of the specification (e.g. a dummy value), the UE shall:

1> consider IE1 to have an undefined value; and

1> apply the corresponding generic error handling to IE1.

In case there are many IE nesting levels, in all of which the IE is mandatory while no default value is defined, this treatment may need to be repeated several times. The following example illustrates the general principle.

ExampleMessage ::= SEQUENCE {

ie1 IE1 OPTIONAL,

ie2 IE2

}

IE1 ::= SEQUENCE {

ie1-1 INTEGER (1..16),

— ie1-1 values 13..16 are spare and should not be used in this version of the protocol

ie1-2 IE1-2 OPTIONAL,

ie1-3 IE1-3

}

If in the above example, UTRAN would include ie1 and set ie1-1 to value 13, the UE experiences an error in a mandatory IE. The guideline outlined in the previous then means that the UE shall not discard the entire message but instead consider "ie1" to have an unknown value. Since IE1 is optional, the generic error handling would be to ignore "ie1".

In case the UE receives an IE (IE1) that includes a list of another IE (IE1-1) for which one or more entries in the list have a value, including choice, reserved for future extension (spare) or a value not used in this version of the specification (e.g. a dummy value), the UE shall:

1> consider the list as if these entries were not included.

NOTE: In case the above generic error handling procedures do not result in the desired behaviour, the introduction of spares may need to be reconsidered.