11 Information elements coding
24.5543GPPProximity-services (ProSe) in 5G System (5GS) protocol aspectsRelease 17Stage 3TS
11.1 Overview
This clause contains general message format and information elements coding for the messages used in the procedures described in the present document.
11.2 5G ProSe direct discovery message formats
11.2.1 ProSe direct discovery PC5 message type
This parameter is used to indicate the type of ProSe direct discovery message over PC5 interface.
This parameter is coded as shown in figure 11.2.1.1 and table 11.2.1.1.
The ProSe direct discovery PC5 message type is a type 1 information element, with the length of 1 octet.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
|||||
Discovery type |
Content type |
Discovery model |
octet 1 |
|||||||||
Figure 11.2.1.1: ProSe direct discovery PC5 message type parameter
Table 11.2.1.1: ProSe direct discovery PC5 message type parameter
Discovery type value (octet 1): |
|||||||||
Bit |
|||||||||
8 |
7 |
||||||||
0 |
0 |
Reserved |
|||||||
0 |
1 |
Open discovery |
|||||||
1 |
0 |
Restricted discovery |
|||||||
1 |
1 |
Reserved |
|||||||
Content type value (octet 1): |
|||||||||
Bit |
|||||||||
6 |
5 |
4 |
3 |
||||||
0 |
0 |
0 |
0 |
Announcement/response |
|||||
0 |
0 |
0 |
1 |
Solicitation |
|||||
0 |
1 |
0 |
0 |
UE-to-network relay discovery announcement/UE-to-network relay discovery response |
|||||
0 |
1 |
0 |
1 |
UE-to-network relay discovery solicitation |
|||||
0 |
1 |
1 |
0 |
Group member discovery announcement/group member discovery response |
|||||
0 |
1 |
1 |
1 |
Group member discovery solicitation |
|||||
1 |
0 |
0 |
0 |
Relay discovery additional information |
|||||
The other values are reserved. |
|||||||||
Discovery model value (octet 1): |
|||||||||
Bit |
|||||||||
2 |
1 |
||||||||
0 |
0 |
Reserved |
|||||||
0 |
1 |
Model A |
|||||||
1 |
0 |
Model B |
|||||||
1 |
1 |
Reserved |
NOTE 1: Content type ‘0000’ (announce/response) is used for model A announcing and for model B discoveree operation.
NOTE 2: Content type ‘0100’ (UE-to-network relay discovery announcement or UE-to-network relay discovery response) is used for model A announcing and for model B discoveree operation.
NOTE 3: Content type ‘0110’ (group member discovery announcement or group member discovery response) is used for model A announcing and for model B discoveree operation.
11.2.2 ProSe application code
This parameter is used to contain a ProSe application code. The format of the ProSe application code is as follows:
a) if the ProSe application code is included in a PROSE PC5 DISCOVERY message and application-controlled extension is used, the ProSe application code is encoded as a 184 bitstring composed of:
1) the ProSe application code prefix; and
2) the ProSe application code suffix; or
b) in all other cases, the ProSe application is encoded as a 184 bitstring as defined in 3GPP TS 23.003 [12].
11.2.3 ProSe restricted code
This parameter is used to contain a ProSe restricted code. The format of the ProSe restricted code is as follows:
a) if the ProSe restricted code is included in a PROSE PC5 DISCOVERY message and application-controlled extension is not used, the ProSe restricted code is encoded as a 184 bitstring composed of:
1) the ProSe restricted code in the 64 most significant bits; and
2) the remaining 120 bits set to zero;
b) if the ProSe restricted code is included in a PROSE PC5 DISCOVERY message and application-controlled extension is used, the ProSe restricted code is encoded as a 184 bitstring composed of
1) the ProSe restricted code prefix in the 64 most significant bits;
2) the ProSe restricted code suffix; and
3) any remaining unused least significant bits set to zero; or
c) in all other cases, the ProSe restricted code is encoded as a 64 bitstring as defined in 3GPP TS 23.003 [12].
11.2.4 MIC
This parameter is used to carry the MIC (Message Integrity Check) associated with the ProSe application code contained in a PROSE PC5 DISCOVERY message.
11.2.5 UTC-based counter
This parameter is used to indicate the UTC time associated with the discovery transmission opportunity in which a PROSE PC5 DISCOVERY message is sent. It is expressed in unit of seconds and coded in binary format as the 32 least significant bits of the Coordinated Universal Time as defined in 3GPP TS 38.331 [13].
11.2.6 Application layer group ID
The application layer group ID parameter carries an identifier of an application layer group that the UE belongs to.
The application layer group ID information element is coded as shown in figure 11.2.6.1 and table 11.2.6.1.
The application layer group ID is a type 4 information element.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
|||
Application layer group ID IEI |
octet 1 |
|||||||||
Length of application layer group ID contents |
octet 2 |
|||||||||
Application layer group ID contents |
octet 3 |
|||||||||
octet m |
Figure 11.2.6.1: Application layer group ID information element
Table 11.2.6.1: Application layer group ID information element
The length of application layer group ID contents field contains the binary coded representation of the length of the application layer group ID contents field. The application layer group ID contents field contains the octets indicating the application layer group ID. The format of the application layer group ID parameter is out of scope of this specification. |
11.2.7 User info ID
The user info ID parameter carries a user info ID as specified in 3GPP TS 23.304 [2]. The value of the user info ID parameter is a 48-bit long bit string. The format of the user info ID parameter is out of scope of this specification.
NOTE: Depending on operation, user info ID is indicated as the announcer info parameter, the discoverer info parameter or the discoveree info parameter.
11.2.8 Relay service code
The relay service code parameter is used to indicate the connectivity service the UE-to-network relay provides to the 5G ProSe remote UE in the UE-to-network relay direct discovery. The value of the relay service code parameter is 24-bit long bit string. The format of the relay service code parameter is out of scope of this specification.
The relay service code is a type 3 information element with a length of 4 octets.
The relay service code IE is coded as shown in figure 11.2.8.1 and table 11.2.8.1.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
|
Relay service code IEI |
octet 1 |
|||||||
Relay service code |
octet 2 octet 4 |
Figure 11.2.8.1: Relay service code information element
Table 11.2.8.1: Relay service code information element
Relay service code (octet 2 to 4) This field contains the 24-bit relay service code. |
11.2.9 Status indicator
The status indicator parameter is used to indicate the status of 5G ProSe UE-to-network relay UE.
The status indicator is a type 3 information element with a length of 2 octets.
The status indicator IE is coded as shown in figure 11.2.9.1 and table 11.2.9.1.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
||
Status indicator IEI |
octet 1 |
||||||||
Spare |
RSI |
octet 2 |
Figure 11.2.9.1: Status indicator information element
Table 11.2.9.1: Status indicator information element
Resource status indicator (RSI) (octet 2, bit 1) The bit is used to indicate whether or not the UE has resources available to provide a connectivity service for additional ProSe-enabled UEs. |
||||
Bit |
||||
1 |
||||
0 |
the UE does not have resources available to provide a connectivity service for additional ProSe-enabled UEs |
|||
1 |
the UE has resources available to provide a connectivity service for additional ProSe-enabled UEs |
|||
Bits 2 to 8 of octet 1 are spare and shall be coded as zero. |
11.2.10 TAI
The TAI information element in coded as the 5GS tracking area identity specified in clause 9.11.3.8 of 3GPP TS 24.501 [11].
11.2.11 UTC-based counter LSB
This parameter is used to carrythe four least significant bits of the UTC-based counter associated with the discovery transmission opportunity used by the UE.
The UTC-based counter LSB IE is a type 3 information element with a length of 2 octets.
The UTC-based counter LSB IE is coded as shown in figures 11.2.11.1, figure 11.2.11.2 and table 11.2.11.1.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
|
UTC-based counter LSB IEI |
octet 1 |
|||||||
Spare |
UTC-based counter LSB contents |
octet 2 |
Figure 11.2.11.1: UTC-based counter LSB parameter for open 5G ProSe direct discovery
Table 11.2.11.1: UTC-based counter LSB information element
UTC-based counter LSB contents (bits 1 to 4 of octet 2) Bits 1 to 4 of octet 2 are set to the four least significant bits of the UTC-based counter encoded as specified in clause 11.2.5. Bits 5 to 8 of octet 2 are spare and shall be coded as zero. |
11.2.12 NCGI
The NCGI information element is used to indicate the NCGI of the serving cell where the 5G ProSe UE-to-network relay UE is camping.
The NCGI is a type 3 information element with a length of 9 octets.
The NCGI information element is coded as shown in figure 11.2.12.1 and table 11.2.12.2.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
||
NCGI IEI |
octet 1 |
||||||||
MCC digit 2 |
MCC digit 1 |
octet 2 |
|||||||
MNC digit 3 |
MCC digit 3 |
octet 3 |
|||||||
MNC digit 2 |
MNC digit 1 |
octet 4 |
|||||||
NCI digit 2 |
NCI digit 1 |
octet 5 |
|||||||
NCI digit 4 |
NCI digit 3 |
octet 6 |
|||||||
NCI digit 6 |
NCI digit 5 |
octet 7 |
|||||||
NCI digit 8 |
NCI digit 7 |
octet 8 |
|||||||
Spare |
NCI digit 9 |
octet 9 |
Figure 11.2.12.1: UE-to-network relay NCGI parameter
Table 11.2.12.1: UE-to-network relay NCGI parameter
MCC, Mobile country code (octet 2, octet 3 bits 1 to 4) The MCC field is coded as in ITU-T Rec. E.212 [27], Annex A. MNC, Mobile network code (octet 3 bits 5 to 8, octet 4) The coding of this field is the responsibility of each administration but BCD coding shall be used. If MNC consists of 2 digits, Bits 5 to 8 of octet 2 is coded as "1111". NCI, NR cell identity (octet 5, octet 6, octet 7, octet 8, octet 9 bits 1 to 4) The NCI field is coded as in 3GPP TS 23.003 [12]. Spare (octet 9 bits 5 to 8) The Spare field is coded as zeros. |
11.2.13 Metadata
The Metadata parameter carries the application layer metadata information.
The Metadata information element is coded as shown in figure 11.2.13.1 and table 11.2.13.1.
The Metadata is a type 6 information element.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
|||
Metadata IEI |
octet 1 |
|||||||||
Length of Metadata contents |
octet 2 |
|||||||||
octet 3 |
||||||||||
Metadata contents |
octet 4 octet m |
Figure 11.2.13.1: Metadata information element
Table 11.2.13.1: Metadata information element
The length of Metadata contents field contains the binary coded representation of the length of the Metadata contents field. The Metadata contents field contains the octets indicating the Metadata parameter. The format of the Metadata parameter is out of scope of this specification. |
11.2.14 RRC container
The RRC container information element is used to indicate the RRC container information received from the lower layers.
The RRC container is a type 4 information element.
The RRC container information element is coded as shown in figure 11.2.14.1 and table 11.2.14.1.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
|||
RRC container IEI |
octet 1 |
|||||||||
Length of RRC container contents |
octet 2 |
|||||||||
RRC container contents |
octet 3 octet m |
Figure 11.2.14.1: RRC container information element
Table 11.2.14.1: RRC container information element
The length of RRC container contents field contains the binary coded representation of the length of the RRC container contents field. RRC container contents (octet 3 to m) The RRC container contents field is coded as SL-AccessInfo-L2U2N in clause 9.4 of 3GPP TS 38.331 [13]. |
11.3 PC5 signalling message formats
11.3.1 ProSe PC5 signalling message type
The purpose of the ProSe PC5 signalling message type information element is to indicate the type of messages used in ProSe PC5 signalling protocol.
The value part of the ProSe PC5 signalling message type information element used in the ProSe PC5 signalling messages is coded as shown in table 11.3.1.1.
The ProSe PC5 signalling message type is a type 3 information element, with the length of 1 octet.
Table 11.3.1.1: ProSe PC5 signalling message type
Bits |
||||||||||||||||||
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
|||||||||||
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
PROSE DIRECT LINK ESTABLISHMENT REQUEST |
||||||||||
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
PROSE DIRECT LINK ESTABLISHMENT ACCEPT |
||||||||||
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
PROSE DIRECT LINK ESTABLISHMENT REJECT |
||||||||||
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
PROSE DIRECT LINK MODIFICATION REQUEST |
||||||||||
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
PROSE DIRECT LINK MODIFICATION ACCEPT |
||||||||||
0 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
PROSE DIRECT LINK MODIFICATION REJECT |
||||||||||
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
PROSE DIRECT LINK RELEASE REQUEST |
||||||||||
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
PROSE DIRECT LINK RELEASE ACCEPT |
||||||||||
0 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
PROSE DIRECT LINK KEEPALIVE REQUEST |
||||||||||
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
PROSE DIRECT LINK KEEPALIVE RESPONSE |
||||||||||
0 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
PROSE DIRECT LINK AUTHENTICATION REQUEST |
||||||||||
0 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
PROSE DIRECT LINK AUTHENTICATION RESPONSE |
||||||||||
0 |
0 |
0 |
0 |
1 |
1 |
0 |
1 |
PROSE DIRECT LINK AUTHENTICATION REJECT |
||||||||||
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
PROSE DIRECT LINK SECURITY MODE COMMAND |
||||||||||
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
PROSE DIRECT LINK SECURITY MODE COMPLETE |
||||||||||
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
PROSE DIRECT LINK SECURITY MODE REJECT |
||||||||||
0 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
PROSE DIRECT LINK REKEYING REQUEST |
||||||||||
0 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
PROSE DIRECT LINK REKEYING RESPONSE |
||||||||||
0 |
0 |
0 |
1 |
0 |
0 |
1 |
1 |
PROSE DIRECT LINK IDENTIFIER UPDATE REQUEST |
||||||||||
0 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
PROSE DIRECT LINK IDENTIFIER UPDATE ACCEPT |
||||||||||
0 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
PROSE DIRECT LINK IDENTIFIER UPDATE ACK |
||||||||||
0 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
PROSE DIRECT LINK IDENTIFIER UPDATE REJECT |
||||||||||
0 |
0 |
0 |
1 |
0 |
1 |
1 |
1 |
PROSE DIRECT LINK AUTHENTICATION FAILURE |
||||||||||
0 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
PROSE ADDITIONAL PARAMETERS ANNOUNCEMENT REQUEST |
||||||||||
0 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
PROSE ADDITIONAL PARAMETERS ANNOUNCEMENT RESPONSE |
||||||||||
0 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
PROSE AA MESSAGE TRANSPORT REQUEST |
||||||||||
0 |
0 |
0 |
1 |
1 |
0 |
1 |
1 |
PROSE AA MESSAGE TRANSPORT RESPONSE |
||||||||||
11.3.2 Sequence number
The purpose of the Sequence number information element is to uniquely identify a ProSe PC5 signalling message being sent or received. The sending UE will increment the sequence number for each outgoing new ProSe PC5 signalling message.
The Sequence number information element is an integer in the 0-255 range.
The Sequence number is a type 3 information element, with a length of 1 octet.
11.3.3 ProSe identifier
The purpose of the ProSe identifier parameter is to carry the identifier of a ProSe application.
The ProSe identifier information element is coded as shown in figure 11.3.3.1 and table 11.3.3.1.
The ProSe identifier is a type 6 information element with a minimum length of 21 octets.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
|||
ProSe identifier IEI |
octet 1 |
|||||||||
Length of ProSe identifier contents |
octet 2 octet 3 |
|||||||||
ProSe identifier 1 |
octet 4 octet u |
|||||||||
ProSe identifier 2 |
octet (u+1)* octet v* |
|||||||||
… |
octet (v+1)* octet w* |
|||||||||
ProSe identifier n |
octet (w+1)* |
|||||||||
octet x* |
Figure 11.3.3.1: ProSe identifier information element
Table 11.3.3.1: ProSe identifier information element
ProSe identifier: The ProSe identifier field contains a sequence of a sixteen octet OS Id field, a one octet OS App Id length field and an OS App Id field. The OS Id field shall be transmitted first. The OS Id field contains a Universally Unique IDentifier (UUID) as specified in IETF RFC 4122 [30]. |
NOTE: Further definition of the format of OS App Id is beyond the scope of this specification. |
11.3.4 Application layer ID
The purpose of the application layer ID parameter information element carries an application layer ID as specified in 3GPP TS 23.304 [2].
The application layer ID information element is coded as shown in figure 11.3.4.1 and table 11.3.4.1.
The application layer ID is a type 4 information element.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
|||
Application layer ID IEI |
octet 1 |
|||||||||
Length of application layer ID contents |
octet 2 |
|||||||||
Application layer ID contents |
octet 3 |
|||||||||
octet m |
Figure 11.3.4.1: Application layer ID information element
Table 11.3.4.1: Application layer ID information element
The length of application layer ID contents field contains the binary coded representation of the length of the application layer ID contents field. The application layer ID contents field contains the octets indicating the application layer ID. The format of the application layer ID parameter is out of scope of this specification. |
11.3.5 PC5 QoS flow descriptions
The purpose of the PC5 QoS flow descriptions information element is to indicate a set of PC5 QoS flow descriptions to be used by the UE over the direct link, where each PC5 QoS flow description is a set of parameters as described in clause 5.6 of 3GPP TS 23.304 [2].
The PC5 QoS flow descriptions is a type 6 information element with a minimum length of 6 octets. The maximum length for the information element is 65538 octets.
The PC5 QoS flow descriptions information element is coded as shown in figure 11.3.5.1, figure 11.3.5.2, figure 11.3.5.3, figure 11.3.5.4 and table 11.3.5.1.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
|
PC5 QoS flow descriptions IEI |
octet 1 |
|||||||
Length of PC5 QoS flow descriptions contents |
octet 2 octet 3 |
|||||||
PC5 QoS flow description 1 |
octet 4 octet u |
|||||||
PC5 QoS flow description 2 |
octet u+1 octet v |
|||||||
… |
octet v+1 octet w |
|||||||
PC5 QoS flow description n |
octet w+1 octet x |
Figure 11.3.5.1: PC5 QoS flow descriptions information element
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
||||||
0 Spare |
0 Spare |
PQFI |
octet 4 |
||||||||||
Operation code |
0 Spare |
0 Spare |
0 Spare |
0 Spare |
PII |
octet 5 |
|||||||
0 Spare |
E |
Number of parameters |
octet 6 |
||||||||||
Associated ProSe identifiers |
octet 7* octet k* |
||||||||||||
Parameters list |
octet k+1* octet u* |
Figure 11.3.5.2: PC5 QoS flow description
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
|
Parameter 1 |
octet k+1 octet m |
|||||||
Parameter 2 |
octet m+1 octet n |
|||||||
… |
octet n+1 octet o |
|||||||
Parameter n |
octet o+1 octet u |
Figure 11.3.5.3: Parameters list
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
|
Parameter identifier |
octet k+1 |
|||||||
Length of parameter contents |
octet k+2 |
|||||||
Parameter contents |
octet k+3 octet m |
Figure 11.3.5.4: Parameter
Table 11.3.5.1: PC5 QoS flow descriptions information element
PC5 QoS flow identifier (PQFI) (bits 6 to 1 of octet 4) PQFI field contains the PC5 QoS flow identifier. Bits 6 5 4 3 2 1 0 0 0 0 0 1 PQFI 1 to 1 1 1 1 1 1 PQFI 63 The UE shall not set the PQFI value to 0. |
ProSe identifiers indication (PII) (bit 1 of octet 5) The PII indicates whether the Associated ProSe identifiers field is included Bit 0 Associated ProSe identifiers field is not included 1 Associated ProSe identifiers field is included |
Operation code (bits 8 to 6 of octet 5) Bits 8 7 6 0 0 1 Create new PC5 QoS flow description 0 1 0 Delete existing PC5 QoS flow description 0 1 1 Modify existing PC5 QoS flow description All other values are reserved. |
E bit (bit 7 of octet 6) For the "create new PC5 QoS flow description" operation, the E bit is encoded as follows: Bit 0 reserved 1 parameters list is included For the "Delete existing PC5 QoS flow description" operation, the E bit is encoded as follows: Bit 0 parameters list is not included 1 reserved For the "modify existing PC5 QoS flow description" operation, the E bit is encoded as follows: Bit 0 extension of previously provided parameters 1 replacement of all previously provided parameters If the E bit is set to "parameters list is not included", the number of parameters field has zero value. If the E bit is set to "parameters list is included", the number of parameters field has non-zero value. If the E bit is set to "extension of previously provided parameters" or "replacement of all previously provided parameters", the number of parameters field has non-zero value. If the E bit is set to "extension of previously provided parameters" and one of the parameters in the new parameters list already exists in the previously provided parameters, the parameter shall be set to the new value. Number of parameters (bits 6 to 1 of octet 6) The number of parameters field contains the binary coding for the number of parameters in the parameters list field. The number of parameters field is encoded in bits 6 through 1 of octet 6 where bit 6 is the most significant and bit 1 is the least significant bit. Associated ProSe identifiers (octet 7 to k) The associated ProSe identifiers field contains a variable number of ProSe identifiers associated with the PC5 QoS flow. Associated ProSe identifiers field is coded as the length and value part of ProSe identifier information element as specified in clause 11.3.3 starting with the second octet. Parameters list (octets k+1 to u) The parameters list contains a variable number of parameters. Each parameter included in the parameters list is of variable length and consists of: – a parameter identifier (1 octet); The parameter identifier field is used to identify each parameter included in the parameters list and it contains the hexadecimal coding of the parameter identifier. Bit 8 of the parameter identifier field contains the most significant bit and bit 1 contains the least significant bit. In this version of the protocol, the following parameter identifiers are specified: – 01H (PQI); – 03H (MFBR); (see NOTE) – 04H (Averaging window) ; – 05H (Resource type); – 06H (Default priority level); – 07H (Packet delay budget); – 08H (Packet error rate); – 09H (Default maximum data burst volume). If the parameters list contains a parameter identifier that is not supported by the receiving entity the corresponding parameter shall be discarded. The length of parameter contents field contains the binary coded representation of the length of the parameter contents field. The first bit in transmission order is the most significant bit. When the parameter identifier indicates PQI, the parameter contents field contains the binary representation of PQI that is one octet in length. PQI: Bits 8 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 Reserved 0 0 0 0 0 0 0 1 to Spare 0 0 0 1 0 1 0 0 0 0 0 1 0 1 0 1 PQI 21 0 0 0 1 0 1 1 0 PQI 22 0 0 0 1 0 1 1 1 PQI 23 0 0 0 1 1 0 0 0 PQI 24 0 0 0 1 1 0 0 1 PQI 25 0 0 0 1 1 0 1 0 PQI 26 0 0 0 1 1 0 1 1 to Spare 0 0 1 1 0 1 1 0 0 0 1 1 0 1 1 1 PQI 55 0 0 1 1 1 0 0 0 PQI 56 0 0 1 1 1 0 0 1 PQI 57 0 0 1 1 1 0 1 0 PQI 58 0 0 1 1 1 0 1 1 PQI 59 0 0 1 1 1 1 0 0 PQI 60 0 0 1 1 1 1 0 1 PQI 61 0 0 1 1 1 1 1 0 to Spare 0 1 0 1 1 0 0 1 0 1 0 1 1 0 1 0 PQI 90 0 1 0 1 1 0 1 1 PQI 91 0 1 0 1 1 1 0 0 PQI 92 0 1 0 1 1 1 0 1 PQI 93 0 1 0 1 1 1 1 0 to Spare 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 to Operator-specific PQIs 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 Reserved The UE shall consider all other values not explicitly defined in this version of the protocol as unsupported. When the parameter identifier indicates "GFBR", the parameter contents field contains one octet indicating the unit of the guaranteed flow bit rate followed by two octets containing the value of the guaranteed flow bit rate. Unit of the guaranteed flow bit rate (octet 1) Bits 8 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 value is not used 0 0 0 0 0 0 0 1 value is incremented in multiples of 1 Kbps 0 0 0 0 0 0 1 0 value is incremented in multiples of 4 Kbps 0 0 0 0 0 0 1 1 value is incremented in multiples of 16 Kbps 0 0 0 0 0 1 0 0 value is incremented in multiples of 64 Kbps 0 0 0 0 0 1 0 1 value is incremented in multiples of 256 Kbps 0 0 0 0 0 1 1 0 value is incremented in multiples of 1 Mbps 0 0 0 0 0 1 1 1 value is incremented in multiples of 4 Mbps 0 0 0 0 1 0 0 0 value is incremented in multiples of 16 Mbps 0 0 0 0 1 0 0 1 value is incremented in multiples of 64 Mbps 0 0 0 0 1 0 1 0 value is incremented in multiples of 256 Mbps 0 0 0 0 1 0 1 1 value is incremented in multiples of 1 Gbps 0 0 0 0 1 1 0 0 value is incremented in multiples of 4 Gbps 0 0 0 0 1 1 0 1 value is incremented in multiples of 16 Gbps 0 0 0 0 1 1 1 0 value is incremented in multiples of 64 Gbps 0 0 0 0 1 1 1 1 value is incremented in multiples of 256 Gbps 0 0 0 1 0 0 0 0 value is incremented in multiples of 1 Tbps 0 0 0 1 0 0 0 1 value is incremented in multiples of 4 Tbps 0 0 0 1 0 0 1 0 value is incremented in multiples of 16 Tbps 0 0 0 1 0 0 1 1 value is incremented in multiples of 64 Tbps 0 0 0 1 0 1 0 0 value is incremented in multiples of 256 Tbps 0 0 0 1 0 1 0 1 value is incremented in multiples of 1 Pbps 0 0 0 1 0 1 1 0 value is incremented in multiples of 4 Pbps 0 0 0 1 0 1 1 1 value is incremented in multiples of 16 Pbps 0 0 0 1 1 0 0 0 value is incremented in multiples of 64 Pbps 0 0 0 1 1 0 0 1 value is incremented in multiples of 256 Pbps Other values shall be interpreted as multiples of 256 Pbps in this version of the protocol. Value of the guaranteed flow bit rate (octets 2 and 3) Octets 2 and 3 represent the binary coded value of the guaranteed flow bit rate in units defined by the unit of the guaranteed flow bit rate. When the parameter identifier indicates "GFBR downlink", the parameter contents field contains one octet indicating the unit of the guaranteed flow bit rate for downlink followed by two octets containing the value of the guaranteed flow bit rate for downlink. When the parameter identifier indicates "MFBR ", the parameter contents field contains the one octet indicating the unit of the maximum flow bit rate followed by two octets containing the value of maximum flow bit rate. Unit of the maximum flow bit rate (octet 1) The coding is identical to that of the unit of the guaranteed flow bit rate. Value of the maximum flow bit rate (octets 2 and 3) Octets 2 and 3 represent the binary coded value of the maximum flow bit rate in units defined by the unit of the maximum flow bit rate. When the parameter identifier indicates "averaging window", the parameter contents field contains the binary representation of the averaging window for both uplink and downlink in milliseconds and the parameter contents field is two octets in length. |
When the parameter identifier indicates "resource type", the parameter contents field contains the binary representation of the resource type that is one octet in length. Resource type: Bits 8 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 Reserved 0 0 0 0 0 0 0 1 Non-GBR 0 0 0 0 0 0 1 0 GBR 0 0 0 0 0 0 1 1 Delay critical GBR 0 0 0 0 0 1 0 0 to Spare 1 1 1 1 1 1 1 1 When the parameter identifier indicates "default priority level", the parameter contents field contains the binary representation of the default priority level that is one octet in length. Default priority level: Bits 8 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 Reserved 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 2 0 0 0 0 0 0 1 1 3 0 0 0 0 0 1 0 0 4 0 0 0 0 0 1 0 1 5 0 0 0 0 0 1 1 0 6 0 0 0 0 0 1 1 1 7 0 0 0 0 1 0 0 0 8 0 0 0 0 1 0 0 1 to Spare 1 1 1 1 1 1 1 1 When the parameter identifier indicates "packet delay budget", the parameter contents field contains the binary representation of the packet delay budget for both uplink and downlink in milliseconds and the parameter contents field is two octets in length. When the parameter identifier indicates "packet error rate", the parameter contents field contains the binary representation of the power of 10-1 for both uplink and downlink and the parameter contents field is one octet in length. When the parameter identifier indicates "default maximum data burst volume", the parameter contents field contains the binary representation of the default maximum data burst volume for both uplink and downlink in bytes and the parameter contents field is two octets in length. |
NOTE: The GFBR and MFBR apply to both directions of the 5G ProSe direct link. |
11.3.6 IP address configuration
The purpose of the IP address configuration information element is to indicate the configuration options for IP address used by the UE over this direct link.
The IP address configuration is a type 3 information element with the length of 2 octets.
The IP address configuration information element is coded as shown in figure 11.3.6.1 and table 11.3.6.1.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
|
IP address configuration IEI |
octet 1 |
|||||||
IP address configuration content |
octet 2 |
Figure 11.3.6.1: IP address configuration information element
Table 11.3.6.1: IP address configuration information element
IP address configuration value (octet 2) |
|||||
Bits |
|||||
4 |
3 |
2 |
1 |
||
0 |
0 |
0 |
1 |
IPv6 Router |
|
0 |
0 |
1 |
0 |
address allocation not supported |
|
0 |
0 |
1 |
1 |
DHCPv4 server |
|
0 |
1 |
0 |
0 |
DHCPv4 server & IPv6 Router |
|
All other values are reserved. |
|||||
Bit 5 to 8 of octet 2 are spare and shall be coded as zero. |
11.3.7 Link local IPv6 address
The purpose of the Link local IPv6 address information element is to indicate the link local IPv6 address.
The Link local IPv6 address is a type 3 information element with the length of 17 octets.
The Link local IPv6 address information element is coded as shown in figure 11.3.7.1 and table 11.3.7.1.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
|
Link local IPv6 address IEI |
octet 1 |
|||||||
Link local IPv6 address content |
octet 2 |
|||||||
octet 17 |
Figure 11.3.7.1: Link local IPv6 address information element
Table 11.3.7.1: Link local IPv6 address information element
Link local IPv6 address value (octet 2 to 17) This contains the 128-bit IPv6 address. This IPv6 address is encoded as a 128-bit address according to IETF RFC 4291 [15]. |
11.3.8 PC5 signalling protocol cause
The purpose of the PC5 signalling protocol cause information element is to indicate the cause used in the PC5 signalling protocol procedures.
The PC5 signalling protocol cause is a type 3 information element with a length of 2 octets.
The PC5 signalling protocol cause information element is coded as shown in figure 11.3.8.1 and table 11.3.8.1.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
|
PC5 signalling protocol cause IEI |
octet 1 |
|||||||
PC5 signalling cause value |
octet 2 |
Figure 11.3.8.1: PC5 signalling protocol cause information element
Table 11.3.8.1: PC5 signalling protocol cause information element
PC5 signalling cause value (octet 2) |
|||||||||
Bits |
|||||||||
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
||
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
Direct communication to the target UE not allowed |
|
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
Direct communication to the target UE no longer needed |
|
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
Conflict of layer-2 ID for unicast communication is detected |
|
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
Direct connection is not available anymore |
|
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
Lack of resources for 5G ProSe direct link |
|
0 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
Authentication failure |
|
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
Integrity failure |
|
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
UE security capabilities mismatch |
|
0 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
LSB of KNRP-sess ID conflict |
|
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
UE PC5 unicast signalling security policy mismatch |
|
0 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
Required service not allowed |
|
0 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
Security policy not aligned |
|
0 |
0 |
0 |
0 |
1 |
1 |
0 |
1 |
Congestion situation |
|
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
Authentication synchronisation error |
|
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
Security procedure failure of 5G ProSe UE-to-network relay |
|
0 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
Protocol error, unspecified |
|
Any other value received by the UE shall be treated as 0110 1111, "protocol error, unspecified". |
11.3.9 Key establishment information container
The Key establishment information container information element contains information for 5G ProSe direct link key establishment.
The Key establishment information container is a type 6 information element with a minimum length of 4 octets.
The Key establishment information container information element is coded as shown in figure 11.3.9.1 and table 11.3.9.1.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
|
Key establishment information container IEI |
octet 1 |
|||||||
Length of key establishment information container contents |
octet 2 octet 3 |
|||||||
Key establishment information container contents |
octet 4 |
|||||||
octet n |
Figure 11.3.9.1: Key establishment information container information element
Table 11.3.9.1: Key establishment information container information element
Key establishment information container contents (octet 4 to n) This field contains the key establishment information container. |
11.3.10 Nonce
The Nonce information element contains a 128-bit nonce used during 5G ProSe direct link security establishment.
The Nonce information element is a type 3 information element, with a length of 17 octets.
The Nonce information element is coded as shown in figure 11.3.10.1 and table 11.3.10.1.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
|
Nonce IEI |
octet 1 |
|||||||
Nonce contents |
octet 2 |
|||||||
octet 17 |
Figure 11.3.10.1: Nonce information element
Table 11.3.10.1: Nonce information element
Nonce contents (octet 2 to 17) This field contains the 128-bit nonce value. |
11.3.11 UE security capabilities
The UE security capabilities information element is used to indicate which security algorithms are supported by the UE.
The UE security capabilities is a type 4 information element with a minimum length of 4 octets and a maximum length of 10 octets.
The UE security capabilities information element is coded as shown in figure 11.3.11.1 and table 11.3.11.1.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
|
UE security capabilities IEI |
octet 1 |
|||||||
Length of UE security capabilities contents |
octet 2 |
|||||||
5G-EA0 |
128- 5G-EA1 |
128- 5G-EA2 |
128- 5G-EA3 |
5G-EA4 |
5G-EA5 |
5G-EA6 |
5G-EA7 |
octet 3 |
5G-IA0 |
128- 5G-IA1 |
128- 5G-IA2 |
128- 5G-IA3 |
5G-IA4 |
5G-IA5 |
5G-IA6 |
5G-IA7 |
octet 4 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
Spare |
octet 5* -10* |
Figure 11.3.11.1: UE security capabilities information element
Table 11.3.11.1: UE security capabilities information element
5GS encryption algorithms supported (octet 3) |
|||||
5GS encryption algorithm 5G-EA0 supported (octet 3, bit 8) |
|||||
0 |
5GS encryption algorithm 5G-EA0 not supported |
||||
1 |
5GS encryption algorithm 5G-EA0 supported |
||||
5GS encryption algorithm 128-5G-EA1 supported (octet 3, bit 7) |
|||||
0 |
5GS encryption algorithm 128-5G-EA1 not supported |
||||
1 |
5GS encryption algorithm 128-5G-EA1 supported |
||||
5GS encryption algorithm 128-5G-EA2 supported (octet 3, bit 6) |
|||||
0 |
5GS encryption algorithm 128-5G-EA2 not supported |
||||
1 |
5GS encryption algorithm 128-5G-EA2 supported |
||||
5GS encryption algorithm 128-5G-EA3 supported (octet 3, bit 5) |
|||||
0 |
5GS encryption algorithm 128-5G-EA3 not supported |
||||
1 |
5GS encryption algorithm 128-5G-EA3 supported |
||||
5GS encryption algorithm 5G-EA4 supported (octet 3, bit 4) |
|||||
0 |
5GS encryption algorithm 5G-EA4 not supported |
||||
1 |
5GS encryption algorithm 5G-EA4 supported |
||||
5GS encryption algorithm 5G-EA5 supported (octet 3, bit 3) |
|||||
0 |
5GS encryption algorithm 5G-EA5 not supported |
||||
1 |
5GS encryption algorithm 5G-EA5 supported |
||||
5GS encryption algorithm 5G-EA6 supported (octet 3, bit 2) |
|||||
0 |
5GS encryption algorithm 5G-EA6 not supported |
||||
1 |
5GS encryption algorithm 5G-EA6 supported |
||||
5GS encryption algorithm 5G-EA7 supported (octet 3, bit 1) |
|||||
0 |
5GS encryption algorithm 5G-EA7 not supported |
||||
1 |
5GS encryption algorithm 5G-EA7 supported |
||||
5GS integrity algorithms supported (octet 4) |
|||||
5GS integrity algorithm 5G-IA0 supported (octet 4, bit 8) |
|||||
0 |
5GS integrity algorithm 5G-IA0 not supported |
||||
1 |
5GS integrity algorithm 5G-IA0 supported |
||||
5GS integrity algorithm 128-5G-IA1 supported (octet 4, bit 7) |
|||||
0 |
5GS integrity algorithm 128-5G-IA1 not supported |
||||
1 |
5GS integrity algorithm 128-5G-IA1 supported |
||||
5GS integrity algorithm 128-5G-IA2 supported (octet 4, bit 6) |
|||||
0 |
5GS integrity algorithm 128-5G-IA2 not supported |
||||
1 |
5GS integrity algorithm 128-5G-IA2 supported |
||||
5GS integrity algorithm 128-5G-IA3 supported (octet 4, bit 5) |
|||||
0 |
5GS integrity algorithm 128-5G-IA3 not supported |
||||
1 |
5GS integrity algorithm 128-5G-IA3 supported |
||||
5GS integrity algorithm 5G-IA4 supported (octet 4, bit 4) |
|||||
0 |
5GS integrity algorithm 5G-IA4 not supported |
||||
1 |
5GS integrity algorithm 5G-IA4 supported |
||||
5GS integrity algorithm 5G-IA5 supported (octet 4, bit 3) |
|||||
0 |
5GS integrity algorithm 5G-IA5 not supported |
||||
1 |
5GS integrity algorithm 5G-IA5 supported |
||||
5GS integrity algorithm 5G-IA6supported (octet 4, bit 2) |
|||||
0 |
5GS integrity algorithm 5G-IA6 not supported |
||||
1 |
5GS integrity algorithm 5G-IA6 supported |
||||
5GS integrity algorithm 5G-IA7 supported (octet 4, bit 1) |
|||||
0 |
5GS integrity algorithm 5G-IA7 not supported |
||||
1 |
5GS integrity algorithm 5G-IA7 supported |
||||
11.3.12 UE PC5 unicast signalling security policy
The purpose of the UE PC5 unicast signalling security policy information element is to indicate the UE’s configuration for integrity protection and ciphering of PC5 signalling messages.
The UE PC5 unicast signalling security policy is a type 3 information element with a length of 2 octets.
The UE PC5 unicast signalling security policy information element is coded as shown in figure 11.3.12.1.1 and table 11.3.12.1.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
|
UE PC5 unicast signalling security policy IEI |
octet 1 |
|||||||
0 spare |
Signalling ciphering policy |
0 spare |
Signalling integrity protection policy |
octet 2 |
Figure 11.3.12.1: UE 5G ProSe direct signalling security policy information element
Table 11.3.12.1: UE PC5 unicast signalling security policy information element
Signalling integrity protection policy (octet 2, bit 1 to 3) |
||||
Bits |
||||
3 |
2 |
1 |
||
0 |
0 |
0 |
Signalling integrity protection not needed |
|
0 |
0 |
1 |
Signalling integrity protection preferred |
|
0 |
1 |
0 |
Signalling integrity protection required |
|
0 |
1 |
1 |
||
to Spare |
||||
1 |
1 |
0 |
||
1 |
1 |
1 |
Reserved |
|
If the UE receives a signalling integrity protection policy value that the UE does not understand, the UE shall interpret the value as 010 "Signalling integrity protection required". Signalling ciphering policy (octet 2, bit 5 to 7) |
||||
Bits |
||||
7 |
6 |
5 |
||
0 |
0 |
0 |
Signalling ciphering not needed |
|
0 |
0 |
1 |
Signalling ciphering preferred |
|
0 |
1 |
0 |
Signalling ciphering required |
|
0 |
1 |
1 |
||
to Spare |
||||
1 |
1 |
0 |
||
1 |
1 |
1 |
Reserved |
|
If the UE receives a signalling ciphering policy value that the UE does not understand, the UE shall interpret the value as 010 "Signalling ciphering required". Bit 4 and 8 of octet 2 are spare and shall be coded as zero. |
||||
11.3.13 MSB of KNRP-sess ID
The purpose of the MSB of KNRP-sess ID information element is to carry the 8 most significant bits of the KNRP-sess ID.
The MSB of KNRP-sess ID information element is a type 3 information element with a length of 2 octets.
The MSB of KNRP-sess ID information element is coded as shown in figure 11.3.13.1 and table 11.3.13.1.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
|
MSB of KNRP-sess ID IEI |
octet 1 |
|||||||
MSB of KNRP-sess ID contents |
octet 2 |
Figure 11.3.13.1: MSB of KNRP-sess ID information element
Table 11.3.13.1: MSB of KNRP-sess ID information element
MSB of KNRP-sess ID contents (octet 2) This field contains the 8 most significant bits of KNRP-sess ID. |
11.3.14 KNRP ID
The purpose of the KNRP ID information element is to carry the identity of the KNRP held by a UE.
The KNRP ID is a type 3 information element with a length of 5 octets.
The KNRP ID information element is coded as shown in figure 11.3.14.1 and table 11.3.14.1
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
|
KNRP ID IEI |
octet 1 |
|||||||
KNRP ID contents |
octet 2 |
|||||||
octet 5 |
Figure 11.3.14.1: KNRP ID information element
Table 11.3.14.1: KNRP ID information element
KNRP ID contents (octet 2 to 5) This field contains the 32-bit identifier of a KNRP. |
11.3.15 LSB of KNRP-sess ID
The purpose of the LSB of KNRP-sess ID information element is to carry the 8 least significant bits of the KNRP-sess ID.
The LSB of KNRP-sess ID is a type 3 information element with a length of 2 octets.
The LSB of KNRP-sess ID information element is coded as shown in figure 11.3.15.1 and table 12.3.15.1.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
|
LSB of KNRP-sess ID |
octet 1 |
|||||||
LSB of KNRP-sess ID contents |
octet 2 |
Figure 11.3.15.1: LSB of KNRP-sess ID information element
Table 11.3.15.1: LSB of KNRP-sess ID information element
LSB of KNRP-sess ID contents (octet 2) This field contains the 8 least significant bits of KNRP-sess ID. |
11.3.16 MSBs of KNRP ID
The purpose of the MSBs of KNRP ID information element is to carry the 16 most significant bits of the KNRP ID.
The MSBs of KNRP ID is a type 3 information element with a length of 3 octets.
The MSBs of KNRP ID information element is coded as shown in figure 11.3.16.1 and table 11.3.16.1.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
|
MSBs of KNRP ID IEI |
octet 1 |
|||||||
MSBs of KNRP ID contents |
octet 2 |
|||||||
octet 3 |
Figure 11.3.16.1: MSBs of KNRP ID information element
Table 11.3.16.1: MSBs of KNRP ID information element
MSBs of KNRP ID contents (octet 2 to 3) This field contains the 16 most significant bits of KNRP ID. |
11.3.17 LSBs of KNRP ID
The purpose of the LSBs of KNRP ID information element is to carry the 16 least significant bits of the KNRP ID.
The LSBs of KNRP ID is a type 3 information element with a length of 3 octets.
The LSBs of KNRP ID information element is coded as shown in figure 11.3.17.1 and table 11.3.17.1.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
|
LSBs of KNRP ID IEI |
octet 1 |
|||||||
LSBs of KNRP ID contents |
octet 2 |
|||||||
octet 3 |
Figure 11.3.17.1: LSBs of KNRP ID information element
Table 11.3.17.1: LSBs of KNRP ID information element
LSBs of KNRP ID contents (octet 2 to 3) This field contains the 16 least significant bits of KNRP ID. |
11.3.18 Configuration of UE PC5 unicast user plane security protection
The purpose of the configuration of UE PC5 unicast user plane security protection information element is to indicate the agreed configuration for security protection of PC5 user plane data between UEs over the 5G ProSe direct link.
The configuration of UE PC5 unicast user plane security protection is a type 3 information element with a length of 2 octets.
The configuration of UE PC5 unicast user plane security protection information element is coded as shown in figure 11.3.18.1 and table 11.3.18.1.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
|
configuration of UE PC5 unicast user plane security protection IEI |
octet 1 |
|||||||
0 spare |
User plane ciphering configuration |
0 spare |
User plane integrity protection configuration |
octet 2 |
Figure 11.3.18.1: Configuration of UE PC5 unicast user plane security protection information element
Table 11.3.18.1: Configuration of UE PC5 unicast user plane security protection information element
User plane integrity protection configuration (octet 2, bit 1 to 3) |
||||
Bits |
||||
3 |
2 |
1 |
||
0 |
0 |
0 |
Off |
|
0 |
0 |
1 |
Off or On |
|
0 |
1 |
0 |
On |
|
0 |
1 |
1 |
||
to Spare |
||||
1 |
1 |
0 |
||
1 |
1 |
1 |
Reserved |
|
User plane ciphering configuration (octet 2, bit 5 to 7) |
||||
Bits |
||||
7 |
6 |
5 |
||
0 |
0 |
0 |
Off |
|
0 |
0 |
1 |
Off or On |
|
0 |
1 |
0 |
On |
|
0 |
1 |
1 |
||
to Spare |
||||
1 |
1 |
0 |
||
1 |
1 |
1 |
Reserved |
|
Bit 4 and 8 of octet 2 are spare and shall be coded as zero. |
||||
11.3.19 Link modification operation code
The purpose of the Link modification operation code information element is to indicate what the operation of the 5G ProSe direct link modification procedure triggered by initiating UE is.
The Link modification operation code is a type 3 information element, with a length of 2 octets.
The Link modification operation code information element is coded as shown in figure 11.3.19.1 and table 11.3.19.1.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
|
Link modification operation code IEI |
octet 1 |
|||||||
Link modification operation code |
octet 2 |
Figure 11.3.19.1: Link modification operation code information element
Table 11.3.19.1: Link modification operation code information element
Link modification operation code (octet 2) |
|||||
Bits |
|||||
4 |
3 |
2 |
1 |
||
0 |
0 |
0 |
1 |
void |
|
0 |
0 |
1 |
0 |
void |
|
0 |
0 |
1 |
1 |
Add new PC5 QoS flow(s) to the existing 5G ProSe direct link |
|
0 |
1 |
0 |
0 |
Modify PC5 QoS parameters of the existing PC5 QoS flow(s) |
|
0 |
1 |
0 |
1 |
Remove existing PC5 QoS flow(s) from the existing 5G ProSe direct link |
|
0 |
1 |
1 |
0 |
Associate new ProSe application(s) with existing PC5 QoS flow(s) |
|
0 |
1 |
1 |
1 |
Remove ProSe application(s) from existing PC5 QoS flow(s) |
|
1 |
0 |
0 |
0 |
||
to |
Spare |
||||
1 |
1 |
1 |
0 |
||
1 |
1 |
1 |
1 |
Reserved |
|
Bit 5 to 8 of octet 2 are spare and shall be coded as zero. |
11.3.20 Keep-alive counter
The purpose of the Keep-alive counter information element is to indicate the keep-alive counter which is a 32-bit counter used for the 5G ProSe direct link keep-alive procedure.
The Keep-alive counter is a type 3 information element with a length of 5 octets.
The Keep-alive counter information element is coded as shown in figure 11.3.20.1 and table 11.3.20.1.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
|
Keep-alive counter IEI |
octet 1 |
|||||||
Keep-alive counter contents |
octet 2 |
|||||||
octet 5 |
Figure 11.3.20.1: Keep-alive counter information element
Table 11.3.20.1: Keep-alive counter information element
Keep-alive counter contents (octet 2 to 5) This field contains the 32-bit keep-alive counter. |
11.3.21 Maximum inactivity period
The purpose of the Maximum inactivity period information element is to indicate the maximum inactivity period of the initiating UE during a 5G ProSe direct link keep-alive procedure.
The Maximum inactivity period is a type 3 information element, with a length of 5 octets.
The Maximum inactivity period information element is coded as shown in figure 11.3.21.1 and table 11.3.21.1.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
|
Maximum inactivity period IEI |
octet 1 |
|||||||
Maximum inactivity period contents |
octet 2 |
|||||||
octet 5 |
Figure 11.3.21.1: Maximum inactivity period information element
Table 11.3.21.1: Maximum inactivity period information element
Maximum inactivity period contents (octet 2 to 5) This field contains the binary encoding of the maximum inactivity period expressed in units of seconds. |
11.3.22 Selected security algorithms
The purpose of the Selected security algorithms information element is to indicate the algorithms to be used for ciphering and integrity protection.
The Selected security algorithms is a type 3 information element with a length of 2 octets.
The Selected security algorithms information element is coded as shown in figure 11.3.22.1 and table 11.3.22.1.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
|
Selected security algorithms IEI |
octet 1 |
|||||||
0 spare |
Type of ciphering algorithm |
0 spare |
Type of integrity protection algorithm |
octet 2 |
Figure 11.3.22.1: Selected security algorithms information element
Table 11.3.22.1: Selected security algorithms information element
Type of integrity protection algorithm (octet 2, bit 1 to 3) |
||||
Bits |
||||
3 |
2 |
1 |
||
0 |
0 |
0 |
5GS integrity algorithm 5G-IA0 (null integrity protection algorithm) |
|
0 |
0 |
1 |
5GS integrity algorithm 128-5G-IA1 |
|
0 |
1 |
0 |
5GS integrity algorithm 128-5G-IA2 |
|
0 |
1 |
1 |
5GS integrity algorithm 128-5G-IA3 |
|
1 |
0 |
0 |
5GS integrity algorithm 5G-IA4 |
|
1 |
0 |
1 |
5GS integrity algorithm 5G-IA5 |
|
1 |
1 |
0 |
5GS integrity algorithm 5G-IA6 |
|
1 |
1 |
1 |
5GS integrity algorithm 5G-IA7 |
|
Type of ciphering algorithm (octet 2, bit 5 to 7) |
||||
Bits |
||||
7 |
6 |
5 |
||
0 |
0 |
0 |
5GS encryption algorithm 5G-EA0 (null ciphering algorithm) |
|
0 |
0 |
1 |
5GS encryption algorithm 128-5G-EA1 |
|
0 |
1 |
0 |
5GS encryption algorithm 128-5G-EA2 |
|
0 |
1 |
1 |
5GS encryption algorithm 128-5G-EA3 |
|
1 |
0 |
0 |
5GS encryption algorithm 5G-EA4 |
|
1 |
0 |
1 |
5GS encryption algorithm 5G-EA5 |
|
1 |
1 |
0 |
5GS encryption algorithm 5G-EA6 |
|
1 |
1 |
1 |
5GS encryption algorithm 5G-EA7 |
|
Bit 4 and 8 of octet 2 are spare and shall be coded as zero. |
||||
11.3.23 UE PC5 unicast user plane security policy
The purpose of the UE PC5 unicast user plane security policy information element is to indicate the UE’s configuration for integrity protection and ciphering of PC5 user plane data.
The UE PC5 unicast user plane security policy is a type 3 information element with a length of 2 octets.
The UE PC5 unicast user plane security policy information element is coded as shown in figure 11.3.23.1 and table 11.3.23.1.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
|
UE PC5 unicast user plane security policy IEI |
octet 1 |
|||||||
0 spare |
User plane ciphering policy |
0 spare |
User plane integrity protection policy |
octet 2 |
Figure 11.3.23.1: UE PC5 unicast user plane security policy information element
Table 11.3.23.1: UE PC5 unicast user plane security policy information element
User plane integrity protection policy (octet 2, bit 1 to 3) |
||||
Bits |
||||
3 |
2 |
1 |
||
0 |
0 |
0 |
User plane integrity protection not needed |
|
0 |
0 |
1 |
User plane integrity protection preferred |
|
0 |
1 |
0 |
User plane integrity protection required |
|
0 |
1 |
1 |
||
to Spare |
||||
1 |
1 |
0 |
||
1 |
1 |
1 |
Reserved |
|
If the UE receives a user plane integrity protection policy value that the UE does not understand, the UE shall interpret the value as 010 "user plane integrity protection required". User plane ciphering policy (octet 2, bit 5 to 7) |
||||
Bits |
||||
7 |
6 |
5 |
||
0 |
0 |
0 |
User plane ciphering not needed |
|
0 |
0 |
1 |
User plane ciphering preferred |
|
0 |
1 |
0 |
User plane ciphering required |
|
0 |
1 |
1 |
||
to Spare |
||||
1 |
1 |
0 |
||
1 |
1 |
1 |
Reserved |
|
If the UE receives a user plane ciphering protection policy value that the UE does not understand, the UE shall interpret the value as 010 "user plane ciphering protection required". Bit 4 and 8 of octet 2 are spare and shall be coded as zero. |
||||
11.3.24 Re-authentication indication
The purpose of the Re-authentication indication information element is to indication that KNRP needs to be refreshed.
The Re-authentication indication information element is a type 3 information element, with a length of 2 octets.
The Re-authentication indication information element is coded as shown in figure 11.3.24.1 and table 11.3.24.1.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
|
Re-authentication indication IEI |
octet 1 |
|||||||
Re-authentication indication contents |
octet 2 |
Figure 11.3.24.1: Re-authentication indication information element
Table 11.3.24.1: Re-authentication indication information element
Re-authentication indication contents (octet 2) Bits 1 0 Reserved 1 KNRP is requested to be refreshed Bits 2 to 8 of octet 2 are spare and shall be coded as zero. |
11.3.25 Layer-2 ID
The purpose of the layer-2 ID information element is to indicate the layer-2 ID that is used by UE.
The layer-2 ID is a type 3 information element with a length of 4 octets.
The layer-2 ID information element is coded as shown in figure 11.3.25.1 and table 11.3.25.1.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
|
Layer-2 ID IEI |
octet 1 |
|||||||
Layer-2 ID |
octet 2 |
|||||||
octet 4 |
Figure 11.3.25.1: Layer-2 ID information element
Table 11.3.25.1: Layer-2 ID information element
Layer-2 ID (octet 2 to 4) This field contains the 24-bit layer-2 ID. |
11.3.26 Relay service code
The purpose of the relay service code information element is to identify a connectivity service the UE-to-Network relay provides.
The relay service code information element is coded as shown in figure 11.3.26.1 and table 11.3.26.1.
The relay service code is a type 3 information element with a length of 4 octets.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
|
Relay service code IEI |
octet 1 |
|||||||
Relay service code |
octet 2 |
|||||||
octet 4 |
Figure 11.3.26.1: Relay service code information element
Table 11.3.26.1: Relay service code information element
Relay service code value (octet 2 to 4) This contains the 24-bit relay service code. |
11.3.27 GPRS timer
See clause 10.5.7.3 in 3GPP TS 24.008 [31].
11.3.28 Additional parametersannouncement request refresh timer T5106
This parameter is used to carry the value of Additional parameters announcement request refresh timer. It is an integer in the 1-1440 range representing the timer value in unit of minutes.
The Additional parameters announcement request refresh timer T5106 is a type 3 information element with a length of 2 octets.
The Additional parameters announcement request refresh timer T5106 IE is coded as shown in figure 11.3.28.1 and table 11.3.28.1.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
|
Additional parameters announcement request refresh timer T5106 IEI |
octet 1 |
|||||||
Additional parameters announcement request refresh timer T5106 contents |
octet 2 octet 3 |
Figure 11.3.28.1: Additional parameters announcement request refresh timer T5106 information element
Table 11.3.28.1: Additional parameters announcement request refresh timer T5106 information element
Additional parameters announcement request refresh timer T5106 (octet 1 to 2) This field contains the 16-bit Additional parameters announcement request refresh timer T5106. |
11.3.29 PC5 QoS rules
The purpose of the PC5 QoS rules information element is to indicate a set of PC5 QoS rules to be used by the UE over the direct link, where each PC5 QoS rule is a set of parameters as described in clause 5.6.1 of 3GPP TS 23.304 [2].
The PC5 QoS rules information element is a type 6 information element with a minimum length of 7 octets. The maximum length for the information element is 65538 octets.
The PC5 QoS flow rules information element is coded as shown in figure 11.3.29.1, figure 11.3.29.2, figure 11.3.29.3, figure 11.3.29.4 and table 11.3.29.1.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
||
PC5 QoS rules IEI |
octet 1 |
||||||||
Length of PC5 QoS rules IE |
octet 2 |
||||||||
octet 3 |
|||||||||
PC5 QoS rule 1 |
octet 4 octet u |
||||||||
PC5 QoS rule 2 |
octet u+1 octet v |
||||||||
… |
octet v+1 octet w |
||||||||
PC5 QoS rule n |
octet w+1 octet x |
Figure 11.3.29.1: PC5 QoS rules information element
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
||||
PC5 QoS rule identifier |
octet 4 |
||||||||||
Length of PC5 QoS rule |
octet 5 |
||||||||||
octet 6 |
|||||||||||
Rule operation code |
DQR bit |
Number of packet filters |
octet 7 |
||||||||
Packet filter list |
octet 8* octet a* |
||||||||||
PC5 QoS rule precedence |
octet a+1* |
||||||||||
0 Spare |
0 Spare |
PC5 QoS flow identifier (PQFI) |
octet a+2* |
||||||||
ProSe identifier |
octet a+3* octet b* |
Figure 11.3.29.2: PC5 QoS rule (u=a+2 or u=b)
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
||
0 |
0 |
0 |
0 |
Packet filter identifier 1 |
octet 8 |
||||
Spare |
|||||||||
0 |
0 |
0 |
0 |
Packet filter identifier 2 |
octet 9 |
||||
Spare |
|||||||||
… |
|||||||||
0 |
0 |
0 |
0 |
Packet filter identifier N |
octet N+7 |
||||
Spare |
Figure 11.3.29.3: Packet filter list when the rule operation is "modify existing PC5 QoS rule and delete packet filters" (m=N+7)
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
||
0 |
0 |
0 |
0 |
Packet filter identifier 1 |
octet 8 |
||||
Spare |
|||||||||
Length of packet filter contents 1 |
octet 9 |
||||||||
Packet filter contents 1 |
octet 10 octet m |
||||||||
0 |
0 |
0 |
0 |
Packet filter identifier 2 |
octet m+1 |
||||
Spare |
|||||||||
Length of packet filter contents 2 |
octet m+2 |
||||||||
Packet filter contents 2 |
octet m+3 octet n |
||||||||
… |
octet n+1 octet y |
||||||||
0 |
0 |
0 |
0 |
Packet filter identifier N |
octet y+1 |
||||
Spare |
|||||||||
Length of packet filter contents N |
octet y+2 |
||||||||
Packet filter contents N |
octet y+3 octet z |
Figure 11.3.29.4: Packet filter list when the rule operation is "create new PC5 QoS rule", or "modify existing PC5 QoS rule and add packet filters" or "modify existing PC5 QoS rule and replace all packet filters"
Table 11.3.29.1: PC5 QoS rules information element
PC5 QoS rule identifier (octet 4) The PC5 QoS rule identifier field is used to identify the PC5 QoS rule. Bits 8 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 no PC5 QoS rule identifier assigned 0 0 0 0 0 0 0 1 PQRI 1 to 1 1 1 1 1 1 1 1 PQRI 255 The target UE shall not set the PQRI value to 0. PC5 QoS rule precedence (octet a+1) The PC5 QoS rule precedence field is used to specify the precedence of the PC5 QoS rule among all PC5 QoS rules associated with the PC5 direct link of the PC5 QoS flow. This field includes the binary coded value of the PC5 QoS rule precedence in the range from 0 to 255 (decimal). The higher the value of the PC5 QoS rule precedence field, the lower the precedence of that PC5 QoS rule is. For the "delete existing PC5 QoS rule" operation, the PC5 QoS rule precedence value field shall not be included. For the "create new PC5 QoS rule" operation, the PC5 QoS rule precedence value field shall be included. PC5 QoS flow identifier (PQFI) (bits 6 to 1 of octet a+2) (see NOTE 1) The PC5 QoS flow identifier (PQFI) field contains the PC5 QoS flow identifier. Bits 6 5 4 3 2 1 0 0 0 0 0 0 no PC5 QoS flow identifier assigned 0 0 0 0 0 1 PQFI 1 to 1 1 1 1 1 1 PQFI 63 The target shall not set the PQFI value to 0. For the "delete existing PC5 QoS rule" operation, the PC5 QoS flow identifier value field shall not be included. For the "create new PC5 QoS rule" operation, the PC5 QoS flow identifier value field shall be included. DQR bit (bit 5 of octet 7) The DQR bit indicates whether the PC5 QoS rule is the default PC5 QoS rule and it is encoded as follows: Bit 5 0 the PC5 QoS rule is not the default PC5 QoS rule. 1 the PC5 QoS rule is the default PC5 QoS rule. Rule operation code (bits 8 to 6 of octet 7) 0 0 0 Reserved 0 1 0 Delete existing PC5 QoS rule 0 1 1 Modify existing PC5 QoS rule and add packet filters 1 0 0 Modify existing PC5 QoS rule and replace all packet filters 1 0 1 Modify existing PC5 QoS rule and delete packet filters 1 1 0 Modify existing PC5 QoS rule without modifying packet filters 1 1 1 Reserved ProSe identifier (octets a+3 to b) (NOTE 2) The ProSe identifier field is used to carry the identifier of a ProSe application and shall be encoded as defined in clause 11.3.3. Number of packet filters (bits 4 to 1 of octet 7) The number of packet filters contains the binary coding for the number of packet filters in the packet filter list. The number of packet filters field is encoded in bits 4 through 1 of octet 7 where bit 4 is the most significant and bit 1 is the least significant bit. For the "delete existing PC5 QoS rule" operation and for the "modify existing PC5 QoS rule without modifying packet filters" operation, the number of packet filters shall be coded as 0. For the "create new PC5 QoS rule" operation and the "modify existing PC5 QoS rule and replace all packet filters" operation, the number of packet filters shall be greater than or equal to 0 and less than or equal to 15. For all other operations, the number of packet filters shall be greater than 0 and less than or equal to 15. Packet filter list (octets 8 to m) The packet filter list contains a variable number of packet filters. For the "delete existing PC5 QoS rule" operation, the length of PC5 QoS rule field is set to one. For the "delete existing PC5 QoS rule" operation and the "modify existing PC5 QoS rule without modifying packet filters" operation, the packet filter list shall be empty. For the "modify existing PC5 QoS rule and delete packet filters" operation, the packet filter list shall contain a variable number of packet filter identifiers. This number shall be derived from the coding of the number of packet filters field in octet 7. For the "create new PC5 QoS rule" operation and for the "modify existing PC5 QoS rule and replace all packet filters" operation, the packet filter list shall contain 0 or a variable number of packet filters. This number shall be derived from the coding of the number of packet filters field in octet 7. For the "modify existing PC5 QoS rule and add packet filters" operation, the packet filter list shall contain a variable number of packet filters. This number shall be derived from the coding of the number of packet filters field in octet 7. Each packet filter is of variable length and consists of – a packet filter identifier (4 bits); The packet filter identifier field is used to identify each packet filter in a PC5 QoS rule. The least significant 4 bits are used. When the UE requests to "create new PC5 QoS rule", "modify existing PC5 QoS rule and replace all packet filters" or "modify existing PC5 QoS rule and add packet filters", the packet filter identifier values shall be set to 0. The length of the packet filter contents field contains the binary coded representation of the length of the packet filter contents field of a packet filter. The first bit in transmission order is the most significant bit. The packet filter contents field is of variable size and contains a variable number (at least one) of packet filter components. Each packet filter component shall be encoded as a sequence of a one octet packet filter component type identifier and a fixed length packet filter component value field. The packet filter component type identifier shall be transmitted first. In each packet filter, there shall not be more than one occurrence of each packet filter component type. Among the "IPv4 remote address type" and "IPv6 remote address/prefix length type" packet filter components, only one shall be present in one packet filter. Among the "IPv4 local address type" and "IPv6 local address/prefix length type" packet filter components, only one shall be present in one packet filter. Among the "single local port type" and "local port range type" packet filter components, only one shall be present in one packet filter. Among the "single remote port type" and "remote port range type" packet filter components, only one shall be present in one packet filter. If the "match-all type" packet filter component is present in the packet filter, no other packet filter component shall be present in the packet filter and the length of the packet filter contents field shall be set to one. If the "Ethertype type" packet filter component is present in the packet filter and the "Ethertype type" packet filter component value is neither "0x0800" (for IPv4) nor "0x86DD" (for IPv6), no IP packet filter component shall be present in the packet filter. The term "IP packet filter component" refers to "IPv4 remote address type", "IPv4 local address type", "IPv6 remote address/prefix length type", "IPv6 local address/prefix length type", "Protocol identifier/Next header type", "Single local port type", "Local port range type", "Single remote port type", "Remote port range type", "Security parameter index type", "Type of service/Traffic class type" and "Flow label type". The term local refers to the initiating UE. The term remote refers to an external network entity if the initiating UE is acting as a 5G ProSe layer-3 UE-to-network relay UE. Otherwise, the term remote refers to the peer UE of the 5G ProSe direct link. Packet filter component type identifier 0 0 0 0 0 0 0 1 Match-all type 1 0 0 0 0 0 0 1 Destination MAC address type All other values are reserved. The description and valid combinations of packet filter component type identifiers in a packet filter are defined in clause 7.2.7. For "match-all type", the packet filter component shall not include the packet filter component value field. For "IPv4 remote address type", the packet filter component value field shall be encoded as a sequence of a four octet IPv4 address field and a four octet IPv4 address mask field. The IPv4 address field shall be transmitted first. For "IPv4 local address type", the packet filter component value field shall be encoded as defined for "IPv4 remote address type". For "IPv6 remote address/prefix length type", the packet filter component value field shall be encoded as a sequence of a sixteen octet IPv6 address field and one octet prefix length field. The IPv6 address field shall be transmitted first. For "IPv6 local address/prefix length type", the packet filter component value field shall be encoded as defined for "IPv6 remote address /prefix length". For "protocol identifier/Next header type", the packet filter component value field shall be encoded as one octet which specifies the IPv4 protocol identifier or Ipv6 next header. For "single local port type" and "single remote port type", the packet filter component value field shall be encoded as two octets which specify a port number. For "local port range type" and "remote port range type", the packet filter component value field shall be encoded as a sequence of a two octet port range low limit field and a two octet port range high limit field. The port range low limit field shall be transmitted first. For "security parameter index", the packet filter component value field shall be encoded as four octets which specify the IPSec security parameter index. For "type of service/traffic class type", the packet filter component value field shall be encoded as a sequence of a one octet type-of-service/traffic class field and a one octet type-of-service/traffic class mask field. The type-of-service/traffic class field shall be transmitted first. For "flow label type", the packet filter component value field shall be encoded as three octets which specify the IPv6 flow label. The bits 8 through 5 of the first octet shall be spare whereas the remaining 20 bits shall contain the IPv6 flow label. For "destination MAC address type" and "source MAC address type", the packet filter component value field shall be encoded as 6 octets which specify a MAC address. When the packet filter direction field indicates "bidirectional", the destination MAC address is the remote MAC address and the source MAC address is the local MAC address. For "802.1Q C-TAG VID type", the packet filter component value field shall be encoded as two octets which specify the VID of the customer-VLAN tag (C-TAG). The bits 8 through 5 of the first octet shall be spare whereas the remaining 12 bits shall contain the VID. For "802.1Q S-TAG VID type", the packet filter component value field shall be encoded as two octets which specify the VID of the service-VLAN tag (S-TAG). The bits 8 through 5 of the first octet shall be spare whereas the remaining 12 bits shall contain the VID. If there are more than one S-TAG in the Ethernet frame header, the outermost S-TAG is evaluated. For "802.1Q C-TAG PCP/DEI type", the packet filter component value field shall be encoded as one octet which specifies the 802.1Q C-TAG PCP and DEI. The bits 8 through 5 of the octet shall be spare, the bits 4 through 2 contain the PCP and bit 1 contains the DEI. For "802.1Q S-TAG PCP/DEI type", the packet filter component value field shall be encoded as one octet which specifies the 802.1Q S-TAG PCP. The bits 8 through 5 of the octet shall be spare, the bits 4 through 2 contain the PCP and bit 1 contains the DEI. If there are more than one S-TAG in the Ethernet frame header, the outermost S-TAG is evaluated. For "Ethertype type", the packet filter component value field shall be encoded as two octets which specify an ethertype. For "destination MAC address range type", the packet filter component value field shall be encoded as a sequence of a 6 octet destination MAC address range low limit field and a 6 octet destination MAC address range high limit field. The destination MAC address range low limit field shall be transmitted first. When the packet filter direction field indicates "bidirectional", the destination MAC address range is the remote MAC address range. For "source MAC address range type", the packet filter component value field shall be encoded as a sequence of a 6 octet source MAC address range low limit field and a 6 octet source MAC address range high limit field. The source MAC address range low limit field shall be transmitted first. When the packet filter direction field indicates "bidirectional", the source MAC address is the local MAC address range. For "ProSe identifier", the packet filter component value field shall be encoded as defined in clause 11.3.3. For "source layer-2 ID" and "destination layer-2 ID", the packet filter component value field shall be encoded as defined in clause 11.3.25. For "application layer ID", the packet filter component value field shall be encoded as defined in clause 11.3.4. |
NOTE 1: Octet a+2 shall not be included without octet a+1. NOTE 2: ProSe identifier (octets a+3 to b) can exist only when there is no packet filter including the ProSe identifier packet filter component. |
11.3.30 5GS mobile identity
See clause 9.11.3.4 in 3GPP TS 24.501 [11] with Type of identity set to "SUCI".
11.3.31 EAP message
The purpose of the EAP message information element is to transport an EAP message as specified in IETF RFC 3748 [39].
The EAP message information element is coded as specified in clause 9.11.2.2 of 3GPP TS 24.501 [11].
11.3.32 PRUK ID
11.3.32 User security key ID
The purpose of the User security key ID information element is to carry the identity of the UP-PRUK or the CP-PRUK.
The User security key ID is a type 4 information element with a minimal length of 3 octets and a maximum length of 255 octets.
The User security key ID information element is coded as shown in figure 11.3.32.1 and table 11.3.32.1.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
|
User security key ID IEI |
octet 1 |
|||||||
Length of User security key ID contents |
octet 2 |
|||||||
0 Spare |
0 Spare |
0 Spare |
0 Spare |
User security key ID format |
User security key ID type |
octet 3 |
||
User security key ID |
octet 4 octet n |
Figure 11.3.32.1: User security key ID information element
Table 11.3.32.1: User security key ID information element
User security key ID type (bit 1 to 3 of octet 3) |
||||
The user security key ID type indicates the type of the user security key ID. |
||||
Bits |
||||
3 |
2 |
1 |
||
0 |
0 |
1 |
UP-PRUK ID |
|
0 |
1 |
0 |
CP-PRUK ID |
|
All other values are reserved. |
||||
User security key ID format (bit 4 of octet 3) (NOTE) |
||||
Bit |
||||
4 |
||||
0 |
network access identifier (NAI) |
|||
1 |
64-bit string |
|||
Bits 5 to 8 of octet 3 are spare and shall be coded as zero. |
||||
User security key ID (octet 4 to octet n) The user security key ID field contains the UP-PRUK ID or the CP-PRUK ID. If the user security key ID format field indicates "NAI", the UP-PRUK ID or the CP-PRUK ID in the user security key ID field is in the NAI format as defined in 3GPP TS 23.003 [12], encoded as UTF-8 string. If the user security key ID format field indicates "64-bit string", the UP-PRUK ID in the user security key ID field is a 64-bit string, encoded using binary encoding. |
||||
NOTE: When user security key ID type is set to CP-PRUK ID, the user security key ID format shall be always set to "NAI". |
||||
11.3.33 PLMN ID
The PLMN ID information element is coded as the PLMN identity information element specified in clause 9.11.3.85 of 3GPP TS 24.501 [11].
11.3.34 Void
11.3.35 GPI
The GPI information element contains the GBA Push Information used for the security procedure over user plane as specified in 3GPP TS 33.503 [34].
The Key GPI is a type 6 information element.
The GPI information element is coded as shown in figure 11.3.35.1 and table 11.3.35.1.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
|
GPI IEI |
octet 1 |
|||||||
Length of GPI contents |
octet 2 |
|||||||
octet 3 |
||||||||
GPI contents |
octet 4 octet n |
Figure 11.3.35.1: GPI information element
Table 11.3.35.1: GPI information element
GPI contents (octet 4 to n) |
This field contains the GPI which is encoded as specified in clause 5.3.5 of 3GPP TS 33.223 [44]. |
11.3.36 RAND
The purpose of the RAND information element is to provide the UE with a non-predictable challenge (see 3GPP TS 33.503 [34]).
The RAND information element is coded as shown in figure 11.3.36.1 and table 11.3.36.1.
The RAND is a type 3 information element with a length of 17 octets.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
|
RAND IEI |
octet 1 |
|||||||
RAND value |
octet 2 octet 17 |
Figure 11.3.36.1: RAND information element
Table 11.3.36.1: RAND information element
RAND value (octet 2 to 17) |
The RAND value consists of 128 bits (see 3GPP TS 33.503 [34]). |
11.3.37 AUTS
The purpose of the AUTS information element is to provide the network with the necessary information to begin a re-synchronisation (see 3GPP TS 33.503 [34]).
The AUTS information element is coded as shown in figure 11.3.37.1 and table 11.3.37.1.
The AUTS is a type 3 information element with a length of 15 octets.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
|
AUTS IEI |
octet 1 |
|||||||
AUTS value |
octet 2 octet 15 |
Figure 11.3.37.1: AUTS information element
Table 11.3.37.1: AUTS information element
AUTS value (octet 2 to 15) |
This contains AUTS (see 3GPP TS 33.503 [34]). |
11.3.38 MIC
This parameter is used to carry the MIC value for integrity protection of the PROSE DIRECT LINK ESTABLISHMENT REQUEST message.
The MIC information element is coded as shown in figure 11.3.38.1 and table 11.3.38.1.
The MIC IE is a type 3 information element with a length of 5 octets.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
|
MIC IEI |
octet 1 |
|||||||
MIC value |
octet 2 octet 5 |
Figure 11.3.38.1: MIC information element
Table 11.3.38.1: MIC information element
MIC value (octet 2 to 5) The MIC value field consists of the MIC value for integrity protection. |
11.4 5G ProSe direct discovery message over PC3a formats
11.4.1 Data types format in XML schema
To exchange structured information over the transport protocol, XML text format/notation is introduced.
The corresponding XML data types for the data types used in ProSe messages are provided in table 11.4.1.1.
Table 11.4.1.1: Primitive or derived types for ProSe parameter type
ProSe parameter type |
Type in XML schema |
Integer |
xs:integer |
String |
xs:string |
Boolean |
xs:boolean |
Binary |
xs:hexBinary |
Bit string |
xs:hexBinary |
Time |
xs:dateTime |
For complex data types described in clause 11.4.2, an XML "complexType" can be used.
Message construction shall be compliant with W3C REC-xmlschema-2-20041028: "XML Schema Part 2: Datatypes" [29]
11.4.2 Parameters in 5G ProSe direct discovery messages over PC3a
11.4.2.1 Transaction ID
This parameter is used to uniquely identify a PC3a control protocol for ProSe direct discovery transaction when it is combined with other PC3a control protocol for ProSe direct discovery transactions in the same transport message. The UE shall set this parameter to a new number for each outgoing new discovery request. The transaction ID is an integer in the 0-255 range.
11.4.2.2 Command
This parameter is used to indicate the type of discovery request (announce, monitor, query, or response) contained in a DISCOVERY_REQUEST message. It is an integer in the 0-255 range encoded in table 11.4.2.2.1.
Table 11.4.2.2.1: Command
0 Reserved |
1 Announce |
2 Monitor |
3 Query |
4 Response |
5 Metadata_update |
6-255 Unused |
11.4.2.3 Void
11.4.2.4 Prose application ID
This parameter is used to carry an identity used for open 5G ProSe direct discovery, identifying application related information for the ProSe-enabled UE. It is coded as specified in 3GPP TS 23.003 [12].
11.4.2.5 Application identity
This parameter is used to identify the particular application that triggers the DISCOVERY_REQUEST message. The Application identity information element is coded as the ProSe identifier specified in clause 11.3.3.
11.4.2.6 ProSe application code
This parameter is used to contain a ProSe application code. The format of the ProSe application code is as follows:
a) if the ProSe application code is included in a MATCH_REPORT message and application-controlled extension is used, the ProSe application code is encoded as a 184 bitstring composed of:
1) the ProSe application code Prefix; and
2) the ProSe application code Suffix; or
b) in all other cases, the ProSe application is encoded as a 184 bitstring as defined in 3GPP TS 23.003 [12].
11.4.2.7 Validity timer T5060
This parameter is used to carry the value of validity timer T5060 associated with a ProSe application code. It is an integer in the 1-525600 range representing the timer value in unit of minutes.
11.4.2.8 PC3a control protocol cause value
This parameter is used to indicate the particular reason why a DISCOVERY_REQUEST or MATCH_REPORT message from the UE has been rejected by the 5G DDNMF. It is an integer in the 0-255 range encoded in table 11.4.2.8.1.
Table 11.4.2.8.1: PC3a control protocol cause value
0 Reserved |
1 Invalid Application |
2 Unknown ProSe application ID |
3 UE authorization failure |
4 Unknown ProSe application code |
5 Invalid MIC |
6 Invalid UTC-based counter |
7 Invalid message format |
8 Scope violation in ProSe application ID |
9 Unknown RPAUID |
10 Unknown or invalid discovery entry ID |
11 Invalid discovery target |
12 UE unauthorised for discovery with application-controlled extension |
13 UE unauthorised for on-demand announcing |
14 Missing application level container |
15 Invalid data in application level container |
16 Invalid match event |
17 No valid ProSe application code |
18 Invalid UE Identity |
19 Not compatible PC5 UE ciphering algorithm capability |
20-255 Unused |
11.4.2.9 Discovery filter
The elements in the discovery filter parameter are listed below.
a) ProSe application code: The ProSe application code is used by a monitoring UE for full or partial matching of PROSE PC5 DISCOVERY messages received on the PC5 interface (see clause 10.2.1). Only one code is allowed in a discovery filter;
b) ProSe application mask: a bitmask provided by the 5G DDNMF in order to allow the monitoring UE to perform a full matching or partial matching of PROSE PC5 DISCOVERY messages received on the PC5 interface. A ProSe application mask with all bits set to "1" is used for full matching. One or more ProSe application masks may be included in a discovery filter. The length of the ProSe application mask is as same as the length of ProSe application code; and
c) TTL Timer T5064: time-to-live duration for which the associated discovery filter is valid, after which it shall not be used. It is an integer in the 1-525600 range representing the timer value in unit of minutes.
11.4.2.10 Monitored PLMN ID
This parameter is used to indicate the PLMN ID of the PLMN in which the PROSE PC5 DISCOVERY message containing a ProSe application code for which there was a match event was received. It is coded as specified in 3GPP TS 23.003 [12].
11.4.2.11 VPLMN ID
This parameter is used to indicate the PLMN ID of the PLMN in which the requesting UE is registered. It is coded as specified in 3GPP TS 23.003 [12].
11.4.2.12 UTC-based counter
This parameter is used to indicate the UTC time associated with the discovery transmission opportunity in which a PROSE PC5 DISCOVERY message is sent. This parameter is also used to indicate the UTC time associated with the security protected relay service code for 5G ProSe UE-to-network relay when PROSE DIRECT LINK ESTABLISHMENT REQUEST message is sent. It is expressed in unit of seconds and coded in binary format as the 32 least significant bits of the coordinated universal time as defined in 3GPP TS 38.331 [13].
11.4.2.13 Validity timer T5072
This parameter is used to carry the value of validity timer T5072 associated with a ProSe application code for which there was a match event. It is an integer in the 1-525600 range representing the timer value in unit of minutes.
11.4.2.14 Metadata flag
This parameter is used to indicate whether the UE wishes to receive the latest metadata information associated with the ProSe application ID or RPAUID in the MATCH_REPORT_ACK from the 5G DDNMF. It is a Boolean value coded as follows:
a) False: the UE does not wish to receive the latest metadata information associated with the ProSe application ID or RPAUID in the MATCH_REPORT_ACK from the 5G DDNMF; or
b) True: the UE wishes to receive the latest metadata information associated with the ProSe application ID or RPAUID in the MATCH_REPORT_ACK message from the 5G DDNMF.
11.4.2.15 Metadata
This parameter is used to carry the metadata that is associated with the ProSe application ID contained in the MATCH_REPORT_ACK message. The purpose of the metadata is to carry additional application-layer information associated with a particular ProSe application ID. Examples of such information are postal address, phone number, URL etc. The length and contents of the metadata are out of scope of 3GPP. The format of the metadata is a UTF8-encoded string.
11.4.2.16 Current time
This parameter is used to carry the current UTC-based time at the 5G DDNMF. The format of this parameter follows the XML data type defined in table 11.4.1.1 for ProSe parameter type "Time".
11.4.2.17 Max offset
This parameter is used to indicate the maximum time difference between the time on the UE’s ProSe clock and the UTC-based counter associated with the discovery slot in seconds, as specified in 3GPP TS 33.503 [34]. The Max offset is an integer in the 1-32 range.
11.4.2.18 Discovery type
This parameter is used to indicate the type of ProSe direct discovery contained in the DISCOVERY_REQUEST message or MATCH_REPORT message. It is an integer in the 0-3 range encoded as table 11.4.2.18.1.
Table 11.4.2.18.1: Discovery type
0 Reserved |
1 Open discovery |
2 Restricted discovery |
3 Unused |
11.4.2.19 Match report refresh timer T5074
This parameter is used to carry the value of match report refresh timer T5074 associated with a ProSe application code for which there was a match event. It is an integer in the 1-525600 range representing the timer value in unit of minutes.
11.4.2.20 Requested timer
During the announce request procedure for open 5G ProSe direct discovery or restricted 5G ProSe direct discovery model A, the requested timer element is used to carry the length of validity timer associated with the ProSe application code or the ProSe restricted code that the UE expects to receive from the 5G DDNMF. When the procedure is to inform the 5G DDNMF that the UE wants to stop announcing a ProSe application code or a ProSe restricted code before the associated valid timer expires, the requested timer shall be set to 0.
During the monitor request procedure for open 5G ProSe direct discovery or restricted 5G ProSe direct discovery model A, the requested timer element is only used to inform the 5G DDNMF that the UE wants to stop monitoring using discovery filter(s) or restricted discovery filter(s). The requested timer shall be set to 0.
It is an integer in the 0-525600 range representing the timer value in unit of minutes.
11.4.2.21 DDNMF transaction ID
This parameter is used to uniquely identify a PC3a control protocol for ProSe direct discovery transaction when it is combined with other PC3a control protocol for ProSe direct discovery transactions in the same transport message. The 5G DDNMF shall set this parameter to a new number for each outgoing new request. The DDNMF transaction ID is an integer in the 0-255 range.
11.4.2.22 Update info
This parameter is used to carry the following:
a) the updated information for an announcing UE in restricted discovery with a new ProSe restricted code to replace the old one in the discovery entry and the corresponding validity timer. In this case the parameter shall contain the following:
1) ProSe restricted code: See clause 11.4.2.27; and
2) validity timer T5062: See clause 11.4.2.32.
b) the updated information for a monitoring UE in restricted discovery with a new set of restricted discovery filters to be used for a given discovery entry. In this case the parameter shall contain one or more restricted discovery filters as defined in clause 11.4.2.30;
c) the updated information for an announcing UE in open discovery with a new ProSe application code to replace the old one in the discovery entry and the corresponding validity timer. In this case the parameter shall contain:
1) ProSe application code: See clause 11.4.2.6; and
2) validity timer T5060: See clause 11.4.2.7; or
d) the updated information for a monitoring UE in open discovery with a new set of discovery filters to be used for a given discovery entry. In this case the parameter shall contain one or more discovery filters defined in clause 11.4.2.9.
11.4.2.23 RPAUID
This parameter is used to carry the RPAUID, which is an identity used for restricted 5G ProSe direct discovery, identifying application related information for the 5G ProSe-enabled UE.
11.4.2.24 Announcing type
This parameter is used to indicate whether the UE requests on demand announcing in a DISCOVERY_REQUEST message. It is an integer in the 0-255 range encoded as table 11.4.2.24.1.
Table 11.4.2.24.1: Announcing type
0 Normal |
1 On demand |
2-225 Unused |
11.4.2.25 Application level container
This parameter is used to carry the Application level container, which contains application-level data transparent to the 3GPP network transferred between the application client in the UE and the ProSe application server.
11.4.2.26 Discovery entry ID
This parameter is used to carry the discovery entry ID, which is an identity allocated by the 5G DDNMF to refer to a discovery entry in the UE’s context as a result of a discovery request, either announcing or monitoring. It is an integer in the 0-65535 range.
11.4.2.27 ProSe restricted code
This parameter is used to contain a ProSe restricted code. The format of the ProSe restricted code is as follows:
a) if the ProSe restricted code is included in a MATCH_REPORT message and application-controlled extension is not used, the ProSe restricted code is encoded as a 184 bitstring composed of:
1) the ProSe restricted code in the 64 most significant bits; and
2) the remaining 120 bits set to zero;
b) if the ProSe restricted code is included in a MATCH_REPORT message and application-controlled extension is used, the ProSe restricted code is encoded as a 184 bitstring composed of
1) the ProSe restricted code prefix in the 64 most significant bits;
2) the ProSe restricted code suffix; and
3) any remaining unused least significant bits set to zero; or
c) in all other cases, the ProSe restricted code is encoded as a 64 bitstring as defined in 3GPP TS 23.003 [12].
11.4.2.28 ProSe restricted code suffix range
This parameter is used to carry a range of consecutive ProSe restricted code suffixes, each of which can be appended by the UE to a ProSe restricted code prefix (see clause 11.4.2.27) for restricted 5G ProSe direct discovery with application-controlled extension. A ProSe restricted code suffix range includes a beginning suffix code and optionally an ending suffix code, as described below:
a) beginning suffix code: the bit-length of this bit string reflects the length of the suffix portion of the ProSe restricted code allocated by the ProSe application server for an RPAUID based on application configuration. The binary value of this code is the lowest value of the ProSe restricted code suffix range; and
b) ending suffix code: the binary value of this code is the highest value of the ProSe restricted code suffix range. The length of the ending suffix code shall be the same as that of the beginning suffix code.
If the ProSe restricted code suffix range contains only a single ProSe restricted code suffix, then that suffix is represented by the beginning suffix code and the ending suffix code is omitted.
11.4.2.29 On demand announcing enabled indicator
This parameter is used to carry the on demand announcing enabled indicator, which is a Boolean value indicating whether on demand announcing is enabled or not in the 5G DDNMF.
11.4.2.30 Restricted discovery filter
This parameter is used to carry the discovery filter(s) used to monitor an individual target RPAUID in restricted 5G ProSe direct discovery model A. It contains one or more filters, TTL timer T5066, optionally an RPAUID parameter identifying the target RPAUID, optionally a metadata indicator and optionally the corresponding metadata. The elements in the restricted discovery filter parameter are defined as below:
a) filter: a matching filter used for restricted 5G ProSe direct discovery Model A monitoring. It contains one code and one or more masks. The code is used by a monitoring UE for full or partial matching of PROSE PC5 DISCOVERY messages received on the PC5 interface with a ProSe restricted code (see clause 11.4.2.27). Only one code is allowed in a filter. The mask is a bitmask provided by the 5G DDNMF in order to allow the monitoring UE to perform a full matching or partial matching of PROSE PC5 DISCOVERY messages received on the PC5 interface. A mask with all bits set to "1" is used for full matching. One or more masks may be included in a filter. The length of the mask is the same as the length of the code;
b) TTL Timer T5066: time-to-live duration for which the associated restricted discovery filter is valid, after which it shall not be used. It is an integer in the 1-525600 range representing the timer value in unit of minutes;
c) RPAUID: identifier of the target RPAUID to be monitored;
d) metadata indicator: it contains the information element defined in clause 11.4.2.44; and
e) metadata: application-layer metadata associated with the monitoring target.
11.4.2.31 ACE enabled indicator
This parameter is used to indicate whether application-controlled extension for open 5G ProSe direct discovery or restricted 5G ProSe direct discovery is enabled. It is an integer value in the 0-255 range encoded as table 11.4.2.31.1.
Table 11.4.2.31.1: ACE enabled indicator
0 Reserved |
1 Normal |
2 Application-controlled extension enable |
3-225 Unused |
11.4.2.32 Validity timer T5062
This parameter is used to carry the value of validity timer T5062 associated with a ProSe restricted code or ProSe restricted code prefix. It is an integer in the 1-525600 range representing the timer value in unit of minutes.
11.4.2.33 Restricted code security material
This parameter is used as a container for the information necessary for security keys and algorithms protecting the sending or receiving of restricted 5G ProSe direct discovery messages over the PC5 interface. The elements in the restricted code security material parameter are listed below:
a) DUSK: an optional key which is allocated by the 5G DDNMF and is used by the UE for scrambling or unscrambling the PROSE PC5 DISCOVERY message containing the ProSe restricted code in restricted 5G ProSe direct discovery. The calculation of the DUSK is defined in 3GPP TS 33.503 [34];
b) DUIK: an optional key which is allocated by the 5G DDNMF and is used by the UE to compute the MIC that is included in the PROSE PC5 DISCOVERY message containing the ProSe restricted code in restricted 5G ProSe direct discovery. The calculation of the DUIK is defined in 3GPP TS 33.503 [34]; and
c) DUCK and associated encrypted bitmask: DUCK is an optional key which is allocated by the 5G DDNMF and is used by the UE to encrypt a portion of the PROSE PC5 DISCOVERY message containing the ProSe restricted code in restricted 5G ProSe direct discovery. The calculation of the DUCK is defined in 3GPP TS 33.503 [34]. The encrypted bitmask is a bitmask which uses bit "1" to mark the positions of the bits for which the DUCK encryption is applied.
d) MIC-check-indicator: an optional indication which is provided by the 5G DDNMF and indicates whether to use match reports for MIC checking, used by the UE to decide whether to perform the required MIC check via the match report procedure for restricted 5G ProSe direct discovery. If this indication is included, the DUIK shall not be included in the restricted code security material parameter but provided as a separate parameter as specified in 3GPP TS 33.503 [34]. This indication is not used for 5G ProSe UE-to-network relay discovery and group member discovery.
11.4.2.34 Discovery model
This parameter is used to indicate the model of ProSe direct discovery contained in the DISCOVERY_REQUEST message. It is an integer in the 0-3 range encoded as table 11.4.2.34.1.
Table 11.4.2.34.1: Discovery model
0 Reserved |
1 Model A |
2 Model B |
3 Unused |
11.4.2.35 ProSe response code
This parameter is used to carry the ProSe response code. It is a bit string coded as specified in 3GPP TS 23.003 [12].
11.4.2.36 Discovery query filter
This parameter is used to carry the discovery query filter that is allocated by the 5G DDNMF in the HPLMN to the discoveree UE for restricted Model B discovery, for a particular RPAUID. The elements in the discovery query filter parameter are defined as below:
a) Code: the code is used by a discoveree UE for full or partial matching of PROSE PC5 DISCOVERY messages received on the PC5 interface containing a ProSe query code. Only one code is allowed in a discovery query filter; and
b) Mask: the mask is a bitmask provided by the 5G DDNMF in order to allow the discoveree UE to perform a full matching or partial matching of PROSE PC5 DISCOVERY messages received on the PC5 interface containing the ProSe query code. A mask with all bits set to "1" is used for full matching. One or more masks may be included in a filter. The length of the mask is the same as the length of the code.
11.4.2.37 Validity timer T5068
This parameter is used to carry the value of validity timer T5068 associated with a ProSe response code and corresponding discovery query filter(s). It is an integer in the 1-525600 range representing the timer value in unit of minutes.
11.4.2.38 Subquery result
This parameter is used to contain the information allocated by the 5G DDNMF related to one particular query target RPAUID which the discoverer UE intends to query with restricted 5G ProSe direct discovery model B. It contains one ProSe query code, one or more discovery response filter(s), validity timer T5070, an RPAUID parameter identifying the target RPAUID, restricted security and optionally the corresponding metadata. The elements in the subquery result parameter are defined as below:
a) ProSe query code: it is a ProSe restricted code allocated by the 5G DDNMF to a discoverer UE to solicit the response from a discoveree UE for a particular target RPAUID;
b) discovery response filter: it contains one code and one or more masks to be used to matching ProSe response code. The code is used by a discoverer UE to represent a targeted ProSe response code (see clause 11.4.2.35). The mask is a bitmask provided by the 5G DDNMF in order to allow the discoverer UE to perform a full matching or partial matching of PROSE PC5 DISCOVERY messages received on the PC5 interface containing the ProSe response code. A mask with all bits set to "1" is used for full matching. The length of the mask is the same as the length of the code;
c) validity timer T5070: it represents the validity time associated with a ProSe query code and corresponding discovery response filter(s). It is an integer in the 1-525600 range representing the timer value in unit of minutes;
d) code-sending security parameter: it contains the information element defined in clause 11.4.2.33;
e) code-receiving security parameter: it contains the information element defined in clause 11.4.2.33;
f) RPAUID: identifier of the target RPAUID to be monitored; and
g) metadata: application-layer metadata associated with the querying target.
11.4.2.39 Validity timer T5076
This parameter is used to carry the value of validity timer T5076 associated with a ProSe restricted code for which there was a match event. It is an integer in the 1-525600 range representing the timer value in unit of minutes.
11.4.2.40 Match report refresh timer T5077
This parameter is used to carry the value of match report refresh timer T5077 associated with a ProSe restricted Code for which there was a match event. It is an integer in the 1-525600 range representing the timer value in unit of minutes.
11.4.2.41 Metadata index mask
This parameter is a bitmask provided by the 5G DDNMF in order to indicate the portion used for the metadata index in the ProSe application code for the monitoring UE. The length of the metadata index mask is as same as the length of ProSe application code.
11.4.2.42 Network-initiated transaction method
This parameter is used to indicate the method enabling transport of PC3a messages for 5G DDNMF-initiated ProSe direct discovery procedures. It is an integer in the 0-255 range encoded as table 11.4.2.42.1.
Table 11.4.2.42.1: Network-initiated transaction method
0 Unused |
1 HTTP long polling |
2-255 Unused |
11.4.2.43 Announcing PLMN ID
This parameter is used to indicate the PLMN ID of the PLMN operating the radio resources which the UE intends to use for transmitting a PROSE PC5 DISCOVERY message. It is coded as specified in 3GPP TS 23.003 [12].
11.4.2.44 Metadata Indicator
This parameter is used to indicate whether there is a metadata associated with the target RPAUID. It is an integer value in the 0-255 range encoded as table 11.4.2.44.1.
Table 11.4.2.44.1: Metadata indicator
0 No metadata associated |
1 Metadata associated |
2-255 Unused |
11.4.2.45 ProSe application code prefix
This parameter is used to contain a ProSe application code prefix. Its length indicates the size in bits of the allocated prefix, which can take any value that is a multiple of 8 in the 32 to 176 range.
NOTE: The size of the prefix for a given application is determined by the ProSe application server and made known to the 5G DDNMF by means that are out of scope of 3GPP.
11.4.2.46 ProSe application code suffix
This parameter is used to contain a ProSe application code suffix. The ProSe application code suffix is used with a ProSe application code prefix to form a 184-bit ProSe application code for open 5G ProSe direct discovery with application-controlled extension.
11.4.2.47 ProSe application code ACE
This parameter is used to carry a set of ProSe application code(s) allocated for a corresponding ProSe application ID when application-controlled extension is used. It contains one ProSe application code Prefix and one or more ProSe application code suffix range(s). The elements in the ProSe application code ACE parameter are defined as below:
a) ProSe application code prefix: as defined in clause 11.4.2.45; and
b) ProSe application code suffix range: this parameter is used to carry a range of consecutive ProSe application code suffixes (see clause 11.4.2.46). A ProSe application code suffix range includes a beginning suffix code and optionally an ending suffix code, as described below:
1) beginning suffix code: the bit-length of this bit string reflects the length of the suffix portion of the ProSe application code allocated by the ProSe application server for a ProSe application ID based on application configuration. The binary value of this code is the lowest value of the ProSe application code suffix range; and
2) ending suffix code: the binary value of this code is the highest value of the ProSe application code suffix range. The length of the ending suffix code shall be the same as that of the beginning suffix code.
If the ProSe application code suffix range contains only a single ProSe application code suffix, then that suffix is represented by the beginning suffix code and the ending suffix code is omitted.
11.4.2.48 Discovery key
This parameter is used to carry a Discovery key allocated by the 5G DDNMF. This key is used by the UE to compute the MIC that is included in the PROSE PC5 DISCOVERY message. The format of Discovery key is defined in 3GPP TS 33.303 [36].
11.4.2.49 PC5 security policies
This parameter is used to indicate the PC5 security policies as integer values, where the PC5 signalling security policies are defined in table 11.3.12.1 and the PC5 user plane security policies are defined in table 11.3.23.1.
11.4.2.50 PC5 UE ciphering algorithm capability
This parameter is used to indicate the UE supported ciphering algorithms as integer values, where the UE supported ciphering algorithms field is defined as octet 3 of figure 11.3.11.1 and table 11.3.11.1.
11.4.2.51 Selected PC5 ciphering algorithm
This parameter is used to indicate the selected PC5 ciphering algorithm as integer values, where the selected PC5 ciphering algorithm filed is defined as bit 5 to 7 of octet 2 in figure 11.3.22.1 and table 11.3.22.1.
11.4.2.52 ProSe PC5 discovery message
This parameter is used to include the entire PROSE PC5 DISCOVERY message where the match event occurred. For the restricted 5G ProSe direct discovery procedure, this parameter is included if it is required to check the MIC via the match report procedure as specified in clause 6.2.9.2 and clause 6.2.10.2.
11.4.2.53 PKMF address
This parameter is used to carry a 5G PKMF address to the UE by the 5G DDNMF in order to find a 5G PKMF for the authentication based on security procedure over user plane as specified in 3GPP TS 33.503 [34].
The PKMF address information element is coded as shown in figure 11.4.2.53.1, figure 11.4.2.53.2, figure 11.4.2.53.3, and table 11.4.2.53.1.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
|
Length of PKMF address |
octet 1 |
|||||||
octet 2 |
||||||||
0 Spare |
0 Spare |
0 Spare |
0 Spare |
0 Spare |
FQDNI |
IPv6I |
IPv4I |
octet 3 |
IPv4 address list |
octet 4* octet o* |
|||||||
IPv6 address list |
octet (o+1)* octet m* |
|||||||
FQDN |
octet (m+1)* octet n* |
Figure 11.4.2.53.1: PKMF address
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
|
Number of IPv4 addresses |
octet 4 |
|||||||
IPv4 address 1 |
octet 5 octet 8 |
|||||||
IPv4 address 2 |
octet 9 octet 12 |
|||||||
… … |
||||||||
IPv4 address N |
octet o-3 octet o |
Figure 11.4.2.53.2: IPv4 address list
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
|
Number of IPv6 addresses |
octet o+1 |
|||||||
IPv6 address 1 |
octet o+2 octet o+17 |
|||||||
IPv6 address 2 |
octet o+18 octet o+33 |
|||||||
… … |
||||||||
IPv6 address N |
octet m-15 octet m |
Figure 11.4.2.53.3: IPv6 address list
Table 11.4.2.53.1: PKMF address information element
IPv4 addresses indicator (IPv4I) (octet 3 bit 1): (NOTE 1) |
|
Bit |
|
1 |
|
0 |
IPv4 address list is not present |
1 |
IPv4 address list is present |
IPv6 addresses indicator (IPv6I) (octet 3 bit 2): (NOTE 1) |
|
Bit |
|
2 |
|
0 |
IPv6 address list is not present |
1 |
IPv6 address list is present |
FQDN indicator (FQDNI) (octet 3 bit 3): (NOTE 2) |
|
Bit |
|
3 |
|
0 |
FQDN is not present |
1 |
FQDN is present |
IPv4 address list (octet 4 to octet o) |
|
IPv4 address list contains the IPv4 address(es) of the 5G PKMF and shall be encoded as defined in figure 11.4.2.53.2. IPv6 address list (octet o+1 to octet m) IPv6 address list contains the IPv6 address(es) of the 5G PKMF and shall be encoded as defined in figure 11.4.2.53.3. FQDN (octet m+1 to n) FQDN field contains a sequence of one octet FQDN length field and a FQDN value of variable size. The FQDN value field shall be encoded as defined in clause 28.3.2.1 of 3GPP TS 23.003 [12]. |
|
NOTE 1: If multiple IPv4 addresses and/or IPv6 addresses are included, which one of these addresses is selected is implementation dependent. NOTE 2: If the 5G PKMF supports the 5G PKMF Services with "https" URI scheme (i.e use of TLS is mandatory), then the FQDN shall be used to construct the target URI. |
11.5 Void
11.6 5G ProSe security message over PC8 formats
11.6.1 Data types format in XML schema
To exchange structured information over the transport protocol, XML text format/notation is introduced.
The corresponding XML data types for the data types used in ProSe messages are provided in table 11.6.1.1.
Table 11.6.1.1: Primitive or derived types for ProSe parameter type
ProSe parameter type |
Type in XML schema |
Integer |
xs:integer |
String |
xs:string |
Boolean |
xs:boolean |
Binary |
xs:hexBinary |
Bit string |
xs:hexBinary |
Time |
xs:dateTime |
For complex data types described in clause 11.6.2, an XML "complexType" can be used.
Message construction shall be compliant with W3C REC-xmlschema-2-20041028: "XML Schema Part 2: Datatypes" [29].
11.6.2 Parameters in 5G ProSe security messages over PC8
11.6.2.1 Transaction ID
This parameter is used to uniquely identify a PC8 control protocol for 5G ProSe security transaction when it is combined with other PC8 control protocol for 5G ProSe security transactions in the same transport message. The UE shall set this parameter to a new number for each outgoing new key request. The transaction ID is an integer in the 0-255 range.
11.6.2.2 UP-PRUK
This parameter is used to indicate the UP-PRUK allocated by the 5G PKMF. The calculation of the UP-PRUK is defined in 3GPP TS 33.503 [34].
11.6.2.3 UP-PRUK ID
This parameter is used to indicate the identifier of the UE stored UP-PRUK. The UP-PRUK ID value consists of two fields:
a) UP-PRUK ID format field which is the 1st character of the UP-PRUK ID value: an ASCII character, as defined in IETF RFC 20 [40], coded in table 11.6.2.5.1; and
Table 11.6.2.3.1: UP-PRUK ID format
ASCII character "0" Reserved |
ASCII character "1" NAI |
ASCII character "2" 64-bit string |
other ASCII characters unused |
b) UP-PRUK ID field which is 2nd and later characters of the UP-PRUK ID value:
1) if the UP-PRUK ID format field indicates "NAI", the UP-PRUK ID field is a UP-PRUK ID in the NAI format as defined in clause 28.7.10 of 3GPP TS 23.003 [12], encoded as UTF-8 string; or
2) if the UP-PRUK ID format field indicates "64-bit string", the UP-PRUK ID field is a 64-bit string, encoded using 16 hexadecimal digits, each digit indicated by an ASCII character "0" – "9" or "A" – "F", as defined in IETF RFC 20 [40].
11.6.2.4 PC5 UE security capabilities
See clause 11.4.2.50.
11.6.2.5 MCC
This parameter is used to indicate the MCC as specified in Annex A of ITU-T Recommendation E.212 [27].
11.6.2.6 MNC
The coding of this parameter is responsibility of each administration. If MNC consists of 2 digits, MNC value is between 10 and 99.
11.6.2.7 Current time
See clause 11.4.2.16.
11.6.2.8 Max offset
See clause 11.4.2.17.
11.6.2.9 Expiration timer
This parameter is used to indicate the expiration timer of the 5G ProSe UE-to-network relay discovery security parameters for 5G ProSe remote UE or the expiration timer of the 5G ProSe UE-to-network relay discovery security parameters for 5G ProSe UE-to-network relay UE.
It is an integer in the 1-525600 (decimal) range representing the timer value in unit of minutes.
11.6.2.10 Relay service code
This parameter is used to indicate a connectivity service the UE-to-Network relay provides.
It is an integer in the 0 to 16777215 (decimal) range.
11.6.2.11 Selected PC5 ciphering algorithm
See clause 11.4.2.51.
11.6.2.12 DUSK
This parameter is used to provide DUSK as specified in 3GPP TS 33.503 [34].
11.6.2.13 DUIK
This parameter is used to provide DUIK as specified in 3GPP TS 33.503 [34].
11.6.2.14 DUCK
This parameter is used to provide DUCK as specified in 3GPP TS 33.503 [34].
11.6.2.15 Encrypted bitmask
This parameter is used to provide encrypted_bits_mask associated with a DUCK as specified in 3GPP TS 33.503 [34].
11.6.2.16 GPI
This parameter is used to indicate the GPI encoded as specified in clause 5.3.5 in 3GPP TS 33.223 [44].
11.6.2.17 Signalling ciphering policy
This parameter is used to indicate the signalling ciphering policy. The parameter is encoded as the signalling ciphering policy field as specified in the table 11.3.12.1, with values in the 0 to 7 range.
11.6.2.18 User plane integrity protection policy
This parameter is used to indicate the user plane integrity protection policy. The parameter is encoded as the user plane integrity protection policy field as specified in the table 11.3.23.1, with values in the 0 to 7 range.
11.6.2.19 User plane ciphering policy
This parameter is used to indicate the user plane ciphering policy. The parameter is encoded as the user plane ciphering policy field as specified in the table 11.3.23.1, with values in the 0 to 7 range.
11.6.2.20 PC8 control protocol cause value
This parameter is used to indicate the particular reason why a PROSE_SECURITY_PARAM_REQUEST, PROSE_PRUK_REQUEST or PROSE_KEY_REQUEST message from the UE has been rejected by the 5G PKMF. It is an integer in the 0-255 range encoded in table 11.6.2.20.1.
Table 11.6.2.20.1: PC8 control protocol cause value
0 Reserved |
3 UE authorization failure |
1, 2, 4-255 Unused |
11.6.2.21 SUCI
This parameter is used to indicate the SUCI of the 5G ProSe remote UE in NAI format as specified in 3GPP TS 23.003 [12].
11.6.2.22 KNRP freshness parameter 1
This parameter is used to indicate 128-bit long KNRP freshness parameter 1 as specified in 3GPP TS 33.503 [34].
11.6.2.23 AUTS
This parameter is used to provide 112-bit long information to begin a re-synchronisation as specified in 3GPP TS 33.503 [34].
11.6.2.24 RAND
This parameter is used to provide a 128-bit long non-predictable challenge as specified in 3GPP TS 33.503 [34].
11.6.2.25 KNRP
This parameter is used to provide a 256-bit KNRP as specified in 3GPP TS 33.503 [34].
11.6.2.26 KNRP freshness parameter 2
This parameter is used to indicate 128-bit long KNRP freshness parameter 2 as specified in 3GPP TS 33.503 [34].
11.7 Formats for messages transmitted over the PC3ach interface
11.7.1 Data types format in XML schema
To exchange structured information over the transport protocol, XML text format/notation is introduced.
The corresponding XML data types for the data types used in 5G ProSe PC3ach messages are provided in table 11.7.1.
Table 11.7.1: Primitive or derived types for 5G ProSe PC3ach Parameter Type
5G ProSe Parameter Type |
Type in XML Schema |
Integer |
xs:integer |
String |
xs:string |
Boolean |
xs:boolean |
Binary |
xs:hexBinary |
Bit string |
xs:hexBinary |
Time |
xs:dateTime |
For complex data types described in clause 11.7.2, an XML "complexType" can be used.
Message construction shall be compliant with W3C REC-xmlschema-2-20041028 [29].
11.7.2 Parameters in messages transmitted over the PC3ach interface
11.7.2.1 Transaction ID
This parameter is used to uniquely identify a message transmitted over the PC3ach interface when it is combined with another message transmitted over the PC3ach interface in the same transport message. The UE shall set this parameter to a new number for each outgoing new message which includes this information element and is transmitted over the PC3ach interface. The transaction ID is an integer in the 0-255 range.
11.7.2.2 Sequence number
This parameter is used to indicate sequence number of the usage information report. The sequence number is an integer in the 0-4294967295 range. The sequence number is set to 0 on UE power up and is increased by 1 whenever a new usage information report is created.
11.7.2.3 In coverage
This parameter is used to indicate whether the UE was in NG-RAN coverage. It is a Boolean value coded as follows:
True the UE is in NG-RAN coverage.
False the UE is out of NG-RAN coverage.
11.7.2.4 NCGI
This parameter is used to indicate NG-RAN Cell Global Identification of the NG-RAN cell where the UE was camping on or which the UE used in the 5GMM-CONNECTED mode. The coding of NCGI is defined in 3GPP TS 23.003 [12].
11.7.2.5 5G ProSe direct communication radio parameters
This parameter is used to indicate the radio parameters used for 5G ProSe direct communication. Format of the value is according to the SL-PreconfigurationNR-r16 ASN.1 data type described in 3GPP TS 38.331 [13].
11.7.2.6 Cause value
This parameter is used to indicate the particular reason why the 5G DDNMF CTF (ADF) rejects PROSE_USAGE_INFORMATION_REPORT_LIST message. It is an integer in the 0-255 range encoded as follows:
0 Reserved
2 UE authorization failure
3 Invalid message format
10 Unable to process usage information report list
1, 4-9, 11-255 Unused
11.7.2.7 Timestamp
This parameter is used to indicate time and date. The format of this parameter follows the XML data type defined in table 11.7.1 for 5G ProSe PC3ach message parameter type "Time".
11.7.2.8 ProSe layer-2 group ID
This parameter is used to indicate a ProSe layer-2 group ID. The value of ProSe layer-2 group ID is a 24-bit bit-string.
11.7.2.9 5G ProSe Group IP multicast address
This parameter is used to indicate a 5G ProSe Group IP multicast address. If the IP address is an IPv4 address, its value is coded as a string representing the dotted-decimal format of the IPv4 address as specified in IETF RFC 1166 [48]. If the IP address is an IPv6 address, its value is coded as a string representing the canonical text representation format of the IPv6 address as specified in IETF RFC 5952 [49].
11.7.2.10 UE IP address
This parameter is used to indicate an IP address used by the UE as a source address. If the IP address is an IPv4 address, its value is coded as a string representing the dotted-decimal format of the IPv4 address as specified in IETF RFC 1166 [48]. If the IP address is an IPv6 address, its value is coded as a string representing the canonical text representation format of the IPv6 address as specified in IETF RFC 5952 [49].
11.7.2.11 UE layer-2 ID
This parameter is used to indicate the layer-2 ID used by the UE. The value of UE layer-2 ID is a 24-bit bit-string.
11.7.2.12 Data amount
This parameter is used to indicate the amount of transmitted or received data in octets. The value of this parameter is coded as an integer.
11.7.2.13 Radio resources indicator
This parameter is used to indicate whether the operator-provided radio resources or the configured radio resources were used for 5G ProSe direct communication.
It is an integer in the 0-255 range encoded as follows:
0 Reserved
1 the operator-provided radio resources
2 the configured radio resources
3-255 Unused
11.7.2.14 Radio frequency
This parameter is used to indicate the radio frequency used for 5G ProSe direct communication.
Format of the value is according to the ARFCN-ValueNR ASN.1 data type described in 3GPP TS 38.331 [13].
11.7.2.15 PC5 QoS flow identifier
This parameter is used to indicate the PC5 QoS flow identifier used to identify the QoS flow for 5G ProSe direct communication. It is coded as specified in Table 11.3.5.1.
11.7.2.16 PQI
This parameter is used to indicate the PQI of PC5 QoS flow used for 5G ProSe direct communication. It is coded as specified in Table 11.3.5.1.
11.7.2.17 GFBR
This parameter is used to indicate the guaranteed flow bit rate (GFBR) of PC5 QoS flow used for 5G ProSe direct communication. It is coded as specified in Table 11.3.5.1.
11.7.2.18 MFBR
This parameter is used to indicate the maximum flow bit rate (MFBR) of PC5 QoS flow used for 5G ProSe direct communication. It is coded as specified in Table 11.3.5.1.
11.7.2.19 Averaging window
This parameter is used to indicate the averaging window of PC5 QoS flow used for 5G ProSe direct communication. It is coded as specified in Table 11.3.5.1.
11.7.2.20 Resource type
This parameter is used to indicate the resource type of PC5 QoS flow used for 5G ProSe direct communication. It is coded as specified in Table 11.3.5.1.
11.7.2.21 Default priority level
This parameter is used to indicate the default priority level of PC5 QoS flow used for 5G ProSe direct communication. It is coded as specified in Table 11.3.5.1.
11.7.2.22 Packet delay budget
This parameter is used to indicate the packet delay budget of PC5 QoS flow used for 5G ProSe direct communication. It is coded as specified in Table 11.3.5.1.
11.7.2.23 Packet error rate
This parameter is used to indicate the packet error rate of PC5 QoS flow used for 5G ProSe direct communication. It is coded as specified in Table 11.3.5.1.
11.7.2.24 Default maximum data burst volume
This parameter is used to indicate the default maximum data burst volume of PC5 QoS flow used for 5G ProSe direct communication. It is coded as specified in Table 11.3.5.1.