12 General message format and information elements coding
24.3343GPPProximity-services (ProSe) User Equipment (UE) to ProSe function protocol aspectsRelease 17Stage 3TS
12.1 Overview
This clause contains general message format and information elements coding for the messages used in the procedures described in the present document.
12.1A General
The sending entity shall set the value of a spare bit to zero. The receiving entity shall ignore the value of a spare bit.
The sending entity shall not set the value of a field to a reserved value. The receiving entity shall discard a message carrying a field with the value set to a reserved value.
12.2 ProSe direct discovery message formats
12.2.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 12.2.1.1.
Table 12.2.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 subclause 12.2.2, an XML "complexType" can be used.
Message construction shall be compliant with W3C REC-xmlschema-2-20041028: "XML Schema Part 2: Datatypes" [7]
12.2.2 Parameters in ProSe direct discovery messages
12.2.2.1 Transaction ID
This parameter is used to uniquely identify a PC3 Control Protocol for ProSe direct discovery transaction when it is combined with other PC3 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.
12.2.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 as follows:
0 Reserved
1 announce
2 monitor
3 query
4 response
5 metadata_update
6-255 Unused
12.2.2.3 UE Identity
This parameter is used to indicate the requesting UE’s identity and is set to the IMSI. The coding of IMSI is defined in 3GPP TS 23.003 [4].
12.2.2.4 Prose Application ID
This parameter is used to carry an identity used for open ProSe direct discovery, identifying application related information for the ProSe-enabled UE. It is coded as specified in 3GPP TS 23.003 [4].
12.2.2.5 Application Identity
This parameter is used to identify the particular application that triggers the DISCOVERY_REQUEST message. The format of the Application Identity consists of two parts:
– OS ID: operating system identifier. The format of the OS ID is a Universally Unique IDentifier (UUID) as specified in IETF RFC 4122 [8]; and
– OS App ID: a string containing the OS specific application identifier.
NOTE: Further definition of the format of OS App ID is beyond the scope of this specification.
12.2.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 PC5_DISCOVERY message or in a MATCH_REPORT message and application-controlled extension is used, the ProSe Application Code is encoded as a 184 bitstring composed of:
– the ProSe Application Code Prefix; and
– 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 [4].
12.2.2.7 Validity Timer T4000
This parameter is used to carry the value of validity timer T4000 associated with a ProSe Application Code. It is an integer in the 1-525600 range representing the timer value in unit of minutes.
12.2.2.8 PC3 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 ProSe Function. It is an integer in the 0-255 range encoded as follows:
0 Reserved
1 Invalid Application
2 Unknown ProSe Application ID
3 UE authorisation 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-255 Unused
12.2.2.9 DiscoveryKey
This parameter is used to carry a Discovery Key allocated by the ProSe Function. This key is used by the UE to compute the MIC that is included in the PC5_DISCOVERY message. The format of Discovery Key is defined in 3GPP TS 33.303 [6].
12.2.2.10 Message Type
This parameter is used to indicate the type of ProSe direct discovery.
This parameter is coded as shown in figure 12.2.2.10.1 and table 12.2.2.10.1.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
|||||
Discovery type |
Content Type |
Discovery model |
octet 1 |
|||||||||
Figure 12.2.2.10.1: Message Type parameter
Table 12.2.2.10.1: 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 |
announce/response |
|||||
0 |
0 |
0 |
1 |
query |
|||||
0 |
0 |
1 |
0 |
application-controlled extension enabled |
|||||
0 |
0 |
1 |
1 |
Reserved |
|||||
0 |
1 |
0 |
0 |
UE-to-Network Relay Discovery Announcement or UE-to-Network Relay Discovery Response |
|||||
0 |
1 |
0 |
1 |
UE-to-Network Relay Discovery Solicitation |
|||||
0 |
1 |
1 |
0 |
Group Member Discovery Announcement or Group Member Discovery Response |
|||||
0 |
1 |
1 |
1 |
Group Member Discovery Solicitation |
|||||
1 |
0 |
0 |
0 |
Relay discovery additional information |
|||||
1 |
0 |
0 |
1 |
Reserved |
|||||
1 |
0 |
1 |
0 |
Reserved |
|||||
1 |
0 |
1 |
1 |
Reserved |
|||||
1 |
1 |
0 |
0 |
Reserved |
|||||
1 |
1 |
0 |
1 |
Reserved |
|||||
1 |
1 |
1 |
0 |
Reserved |
|||||
1 |
1 |
1 |
1 |
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.
12.2.2.11 MIC
This parameter is used to carry the MIC (Message Integrity Check) associated with the ProSe Application Code contained in a PC5_DISCOVERY message.
12.2.2.12 Discovery Filter
The elements in the Discovery Filter parameter are listed below.
– ProSe Application Code: The ProSe Application Code is used by a monitoring UE for full or partial matching of PC5_DISCOVERY messages received on the PC5 interface (see subclause 12.2.2.6). Only one code is allowed in a Discovery Filter;
– ProSe Application Mask: a bitmask provided by the ProSe Function in order to allow the monitoring UE to perform a full matching or partial matching of 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
– TTLTimer T4002: 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.
12.2.2.13 Void
12.2.2.14 Void
12.2.2.15 Void
12.2.2.16 Monitored PLMN ID
This parameter is used to indicate the PLMN ID of the PLMN in which the 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 [4].
12.2.2.17 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 [4].
12.2.2.18 UTC-based counter
This parameter is used to indicate the UTC time associated with the discovery transmission opportunity in which a 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 36.331 [12].
12.2.2.19 Validity Timer T4004
This parameter is used to carry the value of Validity Timer T4004 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.
12.2.2.20 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 ProSe Function. It is a Boolean value coded as follows:
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 ProSe Function
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 ProSe Function
12.2.2.21 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.
12.2.2.22 UTC-based Counter LSB
This parameter is used to carry:
– the four least significant bits of the UTC-based counter associated with the discovery transmission opportunity used by the UE performing open ProSe direct discovery announcing; or
– the eight least significant bits of the UTC-based counter associated with the discovery transmission opportunity used by the UE performing ProSe direct discovery announcing for restricted ProSe direct discovery or for ProSe direct discovery for public safety use.
This parameter is coded as shown in figures 12.2.2.22.1 and 12.2.2.22.2, and table 12.2.2.22.1.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
|
0 |
0 |
0 |
0 |
Four LSBs of UTC-based counter |
octet 1 |
|||
Spare |
Figure 12.2.2.22.1: UTC-based Counter LSB parameter for open ProSe direct discovery
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
|
Eight LSBs of UTC-based counter |
octet 1 |
Figure 12.2.2.22. 2: UTC-based Counter LSB parameter for restricted ProSe direct discovery and for ProSe direct discovery for public safety use
Table 12.2.2.22.1: UTC-based Counter LSB parameter
UTC-based Counter LSB value (octet 1) |
For open ProSe direct discovery: Bits 1 to 4 of octet 1 are set to the four least significant bits of the UTC-based counter encoded as specified in subclause 12.2.2.18. Bits 5 to 8 of octet 1 are spare and shall be coded as zero. For restricted ProSe direct discovery and for ProSe direct discovery for public safety use: Bits 1 to 8 of octet 1 are set to the eight least significant bits of the UTC-based counter encoded as specified in subclause 12.2.2.18 |
12.2.2.23 Current Time
This parameter is used to carry the current UTC-based time at the ProSe Function. The format of this parameter follows the XML data type defined in table 12.2.1.1 for ProSe parameter type "Time".
12.2.2.24 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.303 [6]. The Max Offset is an integer in the 1-32 range.
12.2.2.25 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 follows:
0 Reserved
1 Open discovery
2 Restricted discovery
3 Unused
12.2.2.26 Match Report Refresh Timer T4006
This parameter is used to carry the value of Match Report Refresh Timer T4006 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.
12.2.2.27 Requested Timer
During the announce request procedure for open ProSe direct discovery or restricted 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 ProSe Function.When the procedure is to inform the ProSe Function 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 ProSe direct discovery or restricted ProSe direct discovery model A, the Requested Timer element is only used to inform the ProSe Function 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.
12.2.2.28 ProSe Function Transaction ID
This parameter is used to uniquely identify a PC3 Control Protocol for ProSe direct discovery transaction when it is combined with other PC3 Control Protocol for ProSe direct discovery transactions in the same transport message. The ProSe Function shall set this parameter to a new number for each outgoing new request. The ProSe Function transaction ID is an integer in the 0-255 range.
12.2.2.29 Update Info
This parameter is used to carry either:
1) 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:
– ProSe Restricted Code: See subclause 12.2.2.34; and
– Validity Timer T4007: See subclause 12.2.2.39.
2) 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 subclause 12.2.2.37;
3) 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:
– ProSe Application Code: See subclause 12.2.2.6; and
– Validity Timer T4000: See subclause 12.2.2.7.
4) 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 subclause 12.2.2.12.
12.2.2.30 RPAUID
This parameter is used to carry the RPAUID (Restricted ProSe Application User ID), which is an identity used for restricted ProSe direct discovery, identifying application related information for the ProSe-enabled UE.
12.2.2.31 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 follows:
0 normal
1 on demand
2-255 Unused
12.2.2.32 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.
12.2.2.33 Discovery Entry ID
This parameter is used to carry the Discovery Entry ID, which is an identity allocated by the ProSe Function 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.
12.2.2.34 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 PC5_DISCOVERY message or in a MATCH_REPORT message and application-controlled extension is not used, the ProSe Restricted Code is encoded as a 184 bitstring composed of:
– the ProSe Restricted Code in the 64 most significant bits; and
– the remaining 120 bits set to zero;
b) if the ProSe Restricted Code is included in a PC5_DISCOVERY message or in a MATCH_REPORT message and application-controlled extension is used, the ProSe Restricted Code is encoded as a 184 bitstring composed of
– the ProSe Restricted Code Prefix in the 64 most significant bits;
– the ProSe Restricted Code Suffix; and
– 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 [4].
12.2.2.35 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 subclause 12.2.2.34) for restricted 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:
– 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.
– 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.
12.2.2.36 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 ProSe Function.
12.2.2.37 Restricted Discovery Filter
This parameter is used to carry the Discovery Filter(s) used to monitor an individual target RPAUID in restricted ProSe direct discovery model A. It contains one or more filter(s), TTL timer T4009, optionally an RPAUID parameter identifying the target RPAUID, security parameters such as Discovery User Scrambling Key, Discovery User Integrity Key and Discovery User Confidentiality Key, optionally a metadata indicator, and optionally the corresponding metadata. The elements in the Restricted Discovery Filter parameter are defined as below.
– Filter: a matching filter used for restricted 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 PC5_DISCOVERY messages received on the PC5 interface with a ProSe Restricted Code (see subclause 12.2.2.34). Only one code is allowed in a filter. The mask is a bitmask provided by the ProSe Function in order to allow the monitoring UE to perform a full matching or partial matching of 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;
– TTLTimer T4009: 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;
– RPAUID: identifier of the target RPAUID to be monitored;
– DUSK (Discovery User Scrambling Key): an optional key which is allocated by the ProSe Function and is used by the monitoring UE or discoverer UE for unscrambling the PC5_DISCOVERY message containing the ProSe Restricted Code in restricted ProSe direct discovery. The format of the DUSK is defined in 3GPP TS 33.303 [6];
– DUIK (Discovery User Integrity Key) or a MIC Check Indicator :DUIK is an optional key which is allocated by the ProSe Function and is used by the UE to compute the MIC that is included in the PC5_DISCOVERY message containing the ProSe Restricted Code in restricted ProSe direct discovery. The format of the DUIK is defined in 3GPP TS 33.303 [6]. When the DUIK is absent, an optional MIC Check Indicator parameter may be included to inform a UE receiving PC5_DISCOVERY messages that the MIC field needs to be checked by sending a MATCH_REPORT message to the ProSe Function;
– DUCK material: an optional parameter containing a DUCK (Discovery User Confidentiality Key) and an Encrypted Bitmask. The DUCK is allocated by the ProSe Function and is used by the UE to decrypt a portion of the PC5_DISCOVERY message in restricted ProSe direct discovery. The format of the DUCK is defined in 3GPP TS 33.303 [6]. The Encrypted Bitmask is a 184-bit bitmask which uses bit "1" to mark the positions of the bits for which the DUCK encryption is applied;
– Metadata indicator: It contains the information element defined in subclause 12.2.2.65; and
– Metadata: application-layer metadata associated with the monitoring target.
12.2.2.38 ACE Enabled Indicator
This parameter is used to indicate whether application-controlled extension for open ProSe direct discovery or restricted ProSe direct discovery is enabled. It is an integer value in the 0-255 range encoded as follows:
0 Reserved
1 Normal
2 Application-controlled extension enabled
3-255 Unused
12.2.2.39 Validity Timer T4007
This parameter is used to carry the value of validity timer T4007 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.
12.2.2.40 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 ProSe direct discovery messages over the PC5 interface. The elements in the Restricted Code Security Material parameter are listed below:
DUSK (Discovery User Scrambling Key): an optional key which is allocated by the ProSe Function and is used by the UE for scrambling or unscrambling the PC5_DISCOVERY message containing the ProSe Restricted Code in restricted ProSe direct discovery. The format of the DUSK is defined in 3GPP TS 33.303 [6];
– DUIK (Discovery User Integrity Key): an optional key which is allocated by the ProSe Function and is used by the UE to compute the MIC that is included in the PC5_DISCOVERY message containing the ProSe Restricted Code in restricted ProSe direct discovery. The format of the DUIK is defined in 3GPP TS 33.303 [6]; and
– DUCK (Discovery User Confidentiality Key) and associated Encrypted Bitmask): DUCK is an optional key which is allocated by the ProSe Function and is used by the UE to encrypt a portion of the PC5_DISCOVERY message containing the ProSe Restricted Code in restricted ProSe direct discovery. The format of the DUCK is defined in 3GPP TS 33.303 [6]. The Encrypted Bitmask is a 184-bit bitmask which uses bit "1" to mark the positions of the bits for which the DUCK encryption is applied.
12.2.2.41 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 follows:
0 Reserved
1 Model A
2 Model B
3 Unused
12.2.2.42 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 [4].
12.2.2.43 Discovery Query Filter
This parameter is used to carry the Discovery Query Filter that is allocated by the ProSe Function 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.
– Code: The code is used by a Discoveree UE for full or partial matching of PC5_DISCOVERY messages received on the PC5 interface containing a ProSe Query Code. Only one code is allowed in a Discovery Query Filter.;
– Mask: The mask is a bitmask provided by the ProSe Function in order to allow the Discoveree UE to perform a full matching or partial matching of 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.
12.2.2.44 Validity Timer T4011
This parameter is used to carry the value of validity timer T4011 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.
12.2.2.45 Subquery Result
This parameter is used to contain the information allocated by the ProSe Function related to one particular query target RPAUID which the discoverer UE intends to query with restricted ProSe direct discovery Model B. It contains one ProSe Query Code, one or more Discovery Response Filter(s), Validity Timer T4013, 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.
– ProSe Query Code: It is a ProSe Restricted Code allocated by the ProSe Function to a discoverer UE to solicit the response from a discoveree UE for a particular target RPAUID.
– Discovery Response Filter: It contains one code and one or more masks to be used to matching ProSe Response Code, as described in subclause 6.2.3B.4. The code is used by a discoverer UE to represent a targeted ProSe Response Code (see subclause 12.2.2.42). The mask is a bitmask provided by the ProSe Function in order to allow the discoverer UE to perform a full matching or partial matching of 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.
– Validity Timer T4013: 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.
– Restricted Security: It contains the information element defined in subclause 12.2.2.40.
– RPAUID: identifier of the target RPAUID to be monitored.
– Metadata: application-layer metadata associated with the querying target.
12.2.2.46 ProSe Restricted Code Prefix
This parameter is used to contain a ProSe Restricted Code Prefix, whose format is defined in 3GPP TS 23.003 [4].
12.2.2.47 ProSe Restricted Code Suffix
This parameter is used to contain a ProSe Restricted Code Suffix, whose format is defined in 3GPP TS 23.003 [4]. If the size of ProSe Restricted Code Suffix is less than 120 bits, the information element shall be padded with zeros in the least significant bits.
12.2.2.48 ProSe UE ID
The ProSe UE ID parameter is used to indicate a ProSe UE ID. The value of the ProSe UE ID parameter is a 24-bit long bit string.
12.2.2.49 ProSe Relay UE ID
The ProSe Relay UE ID parameter is used to indicate a ProSe Relay UE ID. The value of the ProSe Relay UE ID parameter is a 24-bit long bit string.
12.2.2.50 User Info ID
The User Info ID parameter carries a User Info ID as specified in 3GPP TS 23.303 [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.
12.2.2.51 Relay Service Code
The Relay Service Code parameter identifies a connectivity service the UE-to-Network relay provides. The value of the Relay Service Code parameter is a 24-bit long bit string. The format of the Relay Service Code parameter is out of scope of this specification.
12.2.2.52 Target User Info
The Target User Info parameter is used to provide the User Info ID of the targeted discoveree user. The value of the Target User Info parameter is a 48-bit long bit string.
12.2.2.53 Target Group Info
The Target Group Info parameter is used to provide the identifier of the targeted group (e.g. ProSe Layer 2 Group ID). The value of the Target Group Info parameter is 24-bit long bit string.
12.2.2.54 Discovery Group ID
The Discovery Group ID parameter carries an identifier of a discovery group that the UE belongs to. The value of the Discovery Group ID parameter is a 24-bit long bit string. The format of the Discovery Group ID parameter is out of scope of this specification.
12.2.2.55 GMDS Composition
This parameter is used to indicate the content of the PC5_DISCOVERY message for Group Member Discovery Solicitation.
This parameter is coded as shown in figure 12.2.2.55.1 and table 12.2.2.55.1.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
|
TUII |
TGII |
Spare |
octet 1 |
Figure 12.2.2.55.1: GMDS Composition parameter
Table 12.2.2.55.1: GMDS Composition parameter
TUII (octet 1) |
|||||
Bit |
|||||
8 |
|||||
0 |
Target User Info is not included (see NOTE 1) |
||||
1 |
Target User Info is included (see NOTE 1) |
||||
TGII (octet 1) |
|||||
Bit |
|||||
7 |
|||||
0 |
Target Group Info is not included (see NOTE 1) |
||||
1 |
Target Group Info is included (see NOTE 1) |
||||
Bits 1 to 6 of octet 1 are spare and shall be coded as zero (see NOTE 2). |
|||||
NOTE 1: The TUII and TGII shall not be set to the same value. NOTE 2: Bits 1 to 6 of octet 1 were reserved in earlier versions of the protocol. |
12.2.2.56 Spare
This parameter is a string of spare bits. The length of this parameter is variable and is indicated in a message where this parameter is included.
12.2.2.57 RDAI Composition
This parameter is used to indicate the content of the PC5_DISCOVERY message for Relay Discovery Additional Information.
This parameter is coded as shown in figure 12.2.2.57.1 and table 12.2.2.57.1.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
|||
MBMSRI |
ECGII |
Spare |
octet 1 |
Figure 12.2.2.57.1: RDAI Composition IE parameter
Table 12.2.2.57.1: RDAI Composition IE parameter
MBMS related information (octet 1) |
|||||
Bit |
|||||
8 |
|||||
0 |
MBMS related information is not included |
||||
1 |
MBMS related information is included |
||||
ECGI information (octet 1) |
|||||
Bit |
|||||
7 |
|||||
0 |
ECGI information is not included |
||||
1 |
ECGI information is included |
||||
Bits 1 to 6 of octet 1 are spare and shall be coded as zero (see NOTE 2). NOTE 1: Either the ECGI information or the MBMS related information is to be included, but not both. |
|||||
NOTE 2: Bits 1 to 6 of octet 1 were reserved in earlier versions of the protocol. |
12.2.2.58 ECGI
This parameter is used to indicate the ECGI of the serving cell where the ProSe UE-to-network relay UE is camping.
The UE-to-network relay ECGI parameter is coded as shown in figure 12.2.2.58 and table 12.2.2.58.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
||
MCC digit 2 |
MCC digit 1 |
octet 1 |
|||||||
MNC digit 3 |
MCC digit 3 |
octet 2 |
|||||||
MNC digit 2 |
MNC digit 1 |
octet 3 |
|||||||
ECI digit 2 |
ECI digit 1 |
octet 4 |
|||||||
ECI digit 4 |
ECI digit 3 |
octet 5 |
|||||||
ECI digit 6 |
ECI digit 5 |
octet 6 |
|||||||
Spare |
ECI digit 7 |
octet 7 |
Figure 12.2.2.58.1: UE-to-network relay ECGI parameter
Table 12.2.2.58.1: UE-to-network relay ECGI parameter
MCC, Mobile country code (octet 1, octet 2 bits 1 to 4) The MCC field is coded as in ITU-T Rec. E.212 [32], Annex A. MNC, Mobile network code (octet 2 bits 5 to 8, octet 3) 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". ECI, E-UTRAN cell identity (octet 4, octet 5, octet 6, octet 7 bits 1 to 4) The ECI field is coded as in 3GPP TS 23.003 [4]. Spare(octet 7 bits 5 to 8) The Spare field is coded as zeros. |
12.2.2.59 MBMS related information
This parameter is used to indicate a TMGI and its corresponding ProSe Layer-2 Group ID.
The MBMS related information parameter is coded as shown in figure 12.2.2.59.1 and table 12.2.2.59.1.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
||
TMGI |
octet 1 octet 2 octet 3 octet 4 octet 5 octet 6 |
||||||||
ProSe Layer-2 Group ID |
octet 7 octet 8 octet 9 |
Figure 12.2.2.59.1: TMGIs and ProSe Layer-2 Group IDs parameter
Table 12.2.2.59.1: TMGIs and ProSe Layer-2 Group IDs parameter
TMGI (octets 1 to 6) The TMGI field is coded exactly same as octet 3 to octet 8 of TMGI element in the figure 10.5.154/3GPP TS 24.008 [30] and table 10.5.168/3GPP TS 24.008 [30]. ProSe Layer-2 Group ID (octets 7 to 9) The ProSe Layer-2 Group ID field contains a ProSe Layer-2 Group ID. |
12.2.2.60 Validity Timer T4016
This parameter is used to carry the value of Validity Timer T4016 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.
12.2.2.61 Match Report Refresh Timer T4017
This parameter is used to carry the value of Match Report Refresh Timer T4017 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.
12.2.2.62 Metadata Index Mask
This parameter is a bitmask provided by the ProSe Function 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.
12.2.2.63 Network-Initiated Transaction Method
This parameter is used to indicate the method enabling transport of PC3 messages for ProSe Function-initiated ProSe direct discovery procedures. It is an integer in the 0-255 range encoded as follows:
0 Unused
1 HTTP long polling
2-255 Unused
12.2.2.64 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 PC5_DISCOVERY message. It is coded as specified in 3GPP TS 23.003 [4].
12.2.2.65 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 follows:
0 No metadata associated
1 Metadata associated
2-255 Unused
12.2.2.66 URDS Composition
This parameter is used to indicate the content of the PC5_DISCOVERY message for UE-to-Network Relay Discovery Solicitation.
This parameter is coded as shown in figure 12.2.2.66.1 and table 12.2.2.66.1.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
|
PRUII |
Spare |
octet 1 |
Figure 12.2.2.66.1: UDRS Composition parameter
Table 12.2.2.66.1: UDRS Composition parameter
PRUII (octet 1) |
|||||
Bit |
|||||
8 |
|||||
0 |
ProSe Relay UE ID is not included |
||||
1 |
ProSe Relay UE ID is included |
||||
Bits 1 to 7 of octet 1 are spare and shall be coded as zero (see NOTE). |
|||||
NOTE: Bits 1 to 7 of octet 1 were reserved in earlier versions of the protocol. |
12.2.2.67 Status Indicator
This parameter is used to indicate the status of ProSe UE-to-network relay.
This parameter is coded as shown in figure 12.2.2.67.1 and table 12.2.2.67.1.
Resource Status Indicator (RSI) is used to indicate whether or not the UE has resources available to provide a connectivity service for additional ProSe-enabled public safety UEs.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
|
RSI |
Spare |
octet 1 |
Figure 12.2.2.67.1: Status Indicator parameter
Table 12.2.2.67.1: Status Indicator parameter
RSI (octet 1) |
|||||
Bit |
|||||
8 |
|||||
0 |
the UE does not have resources available to provide a connectivity service for additional ProSe-enabled public safety UEs |
||||
1 |
the UE has resources available to provide a connectivity service for additional ProSe-enabled public safety UEs |
||||
Bits 1 to 7 of octet 1 are spare and shall be coded as zero (see NOTE). |
|||||
NOTE: Bits 1 to 7 of octet 1 were reserved in earlier versions of the protocol. |
12.2.2.68 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 ProSe Function by means that are out of scope of 3GPP.
12.2.2.69 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 ProSe direct discovery with application-controlled extension.
12.2.2.70 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:
– ProSe Application Code Prefix: as defined in subclause 12.2.2.68;
– ProSe Application Code Suffix Range: this parameter is used to carry a range of consecutive ProSe Application Code Suffixes (see subclause 12.2.2.69). A ProSe Application Code Suffix Range includes a Beginning Suffix Code and optionally an Ending Suffix Code, as described below:
– 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.
– 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.
12.2.2.71 PC5_tech
This parameter is used to indicate the PC5 radio technology in order to enable co-ordination between the announcing and monitoring side.
This parameter is coded as shown in figure 12.2.2.71.1 and table 12.2.2.71.1.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
||||
Spare |
WLAN |
E-UTRA |
octet 1 |
Figure 12.2.2.71.1: PC5_tech parameter
Table 12.2.2.71.1: PC5_tech parameter
PC5_tech (octet 1) |
|||||
Bit |
|||||
1 |
|||||
0 |
E-UTRA not included |
||||
1 |
E-UTRA is included |
||||
Bit |
|||||
2 |
|||||
0 |
WLAN not included |
||||
1 |
WLAN is included |
||||
Bits 3 to 8 of octet 1 are spare and shall be coded as zero. |
12.3 EPC-level ProSe discovery message formats
12.3.1 Data types format in XML schema
To exchange structured information over the transport protocol, XML text format/notation is introduced. XML data type definitions and requirements as specified in subclause 12.2.1 apply.
12.3.2 Information elements in EPC-level ProSe discovery messages
12.3.2.1 Transaction ID
This parameter is used to uniquely identify a PC3 Control Protocol for EPC-level ProSe discovery transaction when it is combined with other PC3 Control Protocol for EPC-level ProSe 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.
12.3.2.2 UE Identity
This parameter is used to indicate the requesting UE’s identity and is set to the IMSI. The coding of IMSI is defined in 3GPP TS 23.003 [4].
12.3.2.3 Application Identity
This parameter is used to identify the particular application that triggers the APPLICATION_REGISTRATION_REQUEST message. The format of the Application Identity consists of two parts:
– OS ID: operating system identifier. The format of the OS ID is a Universally Unique IDentifier (UUID) as specified in IETF RFC 4122 [8]; and
– OS App ID: a string containing the OS specific application identifier.
NOTE: Further definition of the format of OS App ID is beyond the scope of this specification.
12.3.2.4 Application Layer User ID
This parameter is used to carry an Application Layer User ID that identifies the user in the context of specific application. It is encoded as a bit string.
12.3.2.5 PC3 EPC Control Protocol cause value
This parameter is used to indicate the particular reason why either the UE or the ProSe function sends the UE_DEREGISTRATION_REQUEST message or why the following messages have been rejected by the ProSe Function:
– UE_REGISTRATION_REQUEST;
– APPLICATION_REGISTRATION_REQUEST;
– PROXIMITY_REQUEST; and
– PROXIMITY_REQUEST_VALIDATION.
It is an integer in the 0-255 range encoded as follows:
0 Reserved
1 Invalid Application
2 UE authorisation failure
3 Invalid Message Format
4 Application not registered
5 Range class not allowed for this application
6 Proximity detection unlikely within requested time window
7 Targeted user not registered for this application
8 Proximity validation rejected by B-side
9 Application disabled temporarily
10 Invalid Application Layer User ID
11-255 Unused
12.3.2.6 WLAN Link Layer ID
This parameter is used to carry WLAN link layer identifier. The value of WLAN Link Layer ID is coded as a bit string of length 48.
12.3.2.7 EPC ProSe User ID
This parameter is used to carry an EPC ProSe User ID that identifies the UE registered for EPC-level ProSe Discovery in the context of the ProSe Function. It is specified in 3GPP TS 23.003 [4].
12.3.2.8 Range Class
This parameter is used to carry one range class used for APPLICATION_REGISTRATION_RESPONSE or PROXIMITY_REQUEST messages. It is an integer in the 0-255 range encoded as follows:
0 Reserved
1 0-50 m
2 0-100 m
3 0-200 m
4 0-500 m
5 0-1000 m
6-255 Unused
12.3.2.9 Time Window
This parameter is used to specify a time interval in minutes during which a proximity request is valid. The Time Window is an integer in the range of 1 – 1440 minutes.
12.3.2.10 Void
12.3.2.11 UE Location
The UE Location is set to the cell identity part of the Evolved Cell Global Identifier, as described in 3GPP TS 36.331 [12] and obtained from the lower layers of the UE. The value of UE Location is a bit string coded as specified in 3GPP TS 36.331 [12].
12.3.2.12 WLAN Indication
This parameter is used to carry an indication of whether the searching UE wishes to engage in WLAN direct discovery and communication subsequent to successful proximity detection. It is a Boolean value coded as follows:
False the searching UE does not wish to engage in WLAN direct discovery and communication subsequent to successful proximity detection
True the searching UE wishes to engage in WLAN direct discovery and communication subsequent to successful proximity detection
12.3.2.13 Assistance Information
This parameter is used to carry information for expediting WLAN direct discovery and communication. The content of this parameter depends on the WLAN technology.
Wi-Fi Peer-to-Peer (P2P) specification [13] defines an architecture and set of protocols that facilitate direct discovery and communication using the IEEE 802.11 technology [14]. To assist WLAN direct discovery and communication as required by the Wi-Fi P2P technology, the Assistance Information includes the following parameters.
– SSID: The SSID to use for Wi-Fi P2P operation. To be compliant with the Wi-Fi P2P specification [13] the SSID should be in the form "DIRECT-ab" where a, b are two random characters;
– WLAN Secret Key: The pre-shared key to be used by UEs to secure their Wi-Fi P2P communication. This is used by UEs as the Pairwise Master Key (PMK);
– Group Owner indication: If set, the UE should implement the Group Owner (GO) functionality specified in the Wi-Fi P2P specification [13]. The UE implementing this functionality essentially becomes an AP that transmits Beacons with the P2P Information Element and accepts associations from other Wi-Fi P2P devices or from legacy Wi-Fi devices (those not implementing the Wi-Fi P2P functionality). If not set, the UE should behave as a Wi-Fi P2P client that attempts to discover and associate with a GO;
– P2P Device Address of self: This is the WLAN Link Layer ID to be used by UE to advertise itself. A UE implementing the Group Owner and indicates the WLAN Direct device from which the GO should accept WLAN association requests. Association requests from all other WLAN devices should be rejected by GO.
– P2P Device Address of peers: This is the WLAN Link Layer ID to be used by UE to discover peer UEs. A UE implementing the Group Owner should accept WLAN association requests only from devices that are in this list;
– Operation channel: The channel on which Wi-Fi P2P discovery and communication should take place; and
– Validity time: The time period during which the content provided in the assistance information is valid.
12.3.2.14 Method for server-initiated transaction
This parameter is used to indicate the capability of the UE to support methods other than OMA Push (e.g., HTTP long polling method) for server initiated procedures for EPC-level ProSe discovery. It is an integer in the 0-255 range encoded as follows:
0 No extra methods available
1 HTTP long polling
2-255 Unused
12.3.2.15 Method for server-initiated transaction configuration
This parameter is used to indicate the preference of a server-initiated method type to be used by the UE and the ProSe Function for server-initiated procedures for EPC-level ProSe discovery other than OMA Push (e.g., HTTP long polling). It is an integer in the 0-255 range encoded as follows:
0 The ProSe Function does not prefer other method
1 HTTP long polling
2-255 Unused
12.4 Formats for messages transmitted over the PC3ch interface
12.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 PC3ch messages are provided in table 12.4.1.
Table 12.4.1: Primitive or derived types for ProSe PC3ch 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 subclause 12.4.2, an XML "complexType" can be used.
Message construction shall be compliant with W3C REC-xmlschema-2-20041028: "XML Schema Part 2: Datatypes" [7].
12.4.2 Parameters in messages transmitted over the PC3ch interface
12.4.2.1 Transaction ID
This parameter is used to uniquely identify a message transmitted over the PC3ch interface when it is combined with another message transmitted over the PC3ch 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 PC3ch interface. The transaction ID is an integer in the 0-255 range.
12.4.2.2 UE Identity
This parameter is used to indicate the requesting UE’s identity and is set to the IMSI. The coding of IMSI is defined in 3GPP TS 23.003 [4].
12.4.2.3 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.
12.4.2.4 In coverage
This parameter is used to indicate whether the UE was in E-UTRAN coverage. It is a Boolean value coded as follows:
True the UE is in E-UTRAN coverage.
False the UE is out of E-UTRAN coverage.
12.4.2.5 ECGI
This parameter is used to indicate E-UTRAN Cell Global Identification of the E-UTRAN cell where the UE was camping on or which the UE used in the EMM-CONNECTED mode. The coding of ECGI is defined in 3GPP TS 23.003 [4].
12.4.2.6 ProSe direct communication radio parameters
This parameter is used to indicate the radio parameters used for ProSe direct communication. Format of the value is according to the SL-Preconfiguration-r12 ASN.1 data type described in 3GPP TS 36.331 [12].
12.4.2.7 Cause value
This parameter is used to indicate the particular reason why the ProSe function CTF (ADF) rejects USAGE_INFORMATION_REPORT_LIST message. It is an integer in the 0-255 range encoded as follows:
0 Reserved
2 UE authorisation failure
3 Invalid Message Format
10 Unable to process usage information report list
1, 4-9, 11-255 Unused
12.4.2.8 Timestamp
This parameter is used to indicate time and date. The format of this parameter follows the XML data type defined in table 12.4.1 for ProSe PC3ch message parameter type "Time".
12.4.2.9 ProSe Layer-2 Group ID
This parameters is used to indicate a ProSe Layer-2 Group ID. The value of ProSe Layer 2 Group ID is a 24-bit bit-string.
12.4.2.10 Prose Group IP multicast address
This parameters is used to indicate a 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 [28]. 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 [29].
12.4.2.11 IP address of the UE
This parameters 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 [28]. 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 [29].
12.4.2.12 Prose UE ID
This parameters is used to indicate a ProSe UE ID. The value of ProSe UE ID is a 24-bit bit-string.
12.4.2.13 Transported data amount
This parameters is used to indicate the amount of transported data in octets. The value of this parameter is coded as an integer.
12.4.2.14 Radio resources indicator
This parameters is used to indicate whether the operator-provided radio resources or the configured radio resources were used for 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
12.4.2.15 Radio frequency
This parameter is used to indicate the radio frequency used for ProSe direct communication.
Format of the value is according to the ARFCN-ValueEUTRA-r9 ASN.1 data type described in 3GPP TS 36.331 [12].
12.5 PC5 Signalling message formats
12.5.1 Information elements in PC5 Signalling messages
12.5.1.1 PC5-SP Message Type
The PC5 SP Message Type IE is a type 3 information element, with the length of 1 octet. It is used to indicate the type of messages used in PC5 Signaling Protocol.
Table 12.5.1.1.1 defines the value part of the PC5-SP Message Type IE used in the PC5 Signalling messages.
Table 12.5.1.1.1: PC5-SP message types for PC5 Signalling Protocol
Bits |
|||||||||
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
||
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
DIRECT_COMMUNICATION_REQUEST |
|
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
DIRECT_COMMUNICATION_ACCEPT |
|
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
DIRECT_COMMUNICATION_REJECT |
|
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
DIRECT_COMMUNICATION_KEEPALIVE |
|
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
DIRECT_COMMUNICATION_KEEPALIVE_ACK |
|
0 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
DIRECT_COMMUNICATION_RELEASE |
|
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
DIRECT_COMMUNICATION_RELEASE_ACCEPT |
|
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
TMGI_MONITORING_REQUEST |
|
0 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
TMGI_MONITORING_RESPONSE |
|
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
CELL_ID_ANNOUNCEMENT_REQUEST |
|
0 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
CELL_ID_ANNOUNCEMENT_RESPONSE |
|
0 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
DIRECT_SECURITY_MODE_COMMAND |
|
0 |
0 |
0 |
0 |
1 |
1 |
0 |
1 |
DIRECT_SECURITY_MODE_COMPLETE |
|
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
DIRECT_SECURITY_MODE_REJECT |
|
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
DIRECT_REKEYING_REQUEST |
|
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
DIRECT_REKEYING_RESPONSE |
|
0 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
DIRECT_REKEYING_TRIGGER |
|
0 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
REMOTE_UE_INFO_REQUEST |
|
0 |
0 |
0 |
1 |
0 |
0 |
1 |
1 |
REMOTE_UE_INFO_RESPONSE |
|
All other values are reserved |
12.5.1.2 Sequence Number
The purpose of the Sequence Number is to uniquely identify a PC5 Signalling message being sent or received. The sending UE will increment the sequence number for each outgoing new PC5 Signalling message. The Sequence Number information element is an integer in the 0-65535 range.
12.5.1.3 User Info
The purpose of the User Info information element is to provide either the User Info received from upper layers identifying the user which is using this direct link, the PRUK ID received from the PKMF that the remote UE wants to use to connect to a relay using this direct link, or the IMSI of the remote UE using this direct link.
The User Info IE content is a Type 4 information element, with a minimum length of 3 octets. The IEI of the User Info IE is 1.
The User Info information element is coded as shown in figure 12.5.1.3.1, figure 12.5.1.3.2 and table 12.5.1.3.1.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
|||||
User Info IEI |
octet 1 |
|||||||||||
Length of User Info contents |
octet 2 |
|||||||||||
User Info |
0 Spare |
Type of User info |
octet 3 |
|||||||||
User Info |
octet 4* |
Figure 12.5.1.3.1: User Info information element
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
|||||
User Info IEI |
octet 1 |
|||||||||||
Length of User Info contents |
octet 2 |
|||||||||||
User Info digit 1 |
odd/ even indic |
Type of User info |
octet 3 |
|||||||||
User info digit p+1 |
User Info digit p |
octet 4* |
Figure 12.5.1.3.2: User Info information element for type of User Info "IMSI"
Table 12.5.1.3.1: User Info information element
Type of User Info (octet 3) Bits |
|||
3 |
2 |
1 |
|
0 |
0 |
1 |
Upper layers User Info |
0 |
1 |
0 |
PRUK ID |
0 |
1 |
1 |
IMSI |
All other values are reserved. |
|||
Odd/even indication (octet 3) Bit |
|||
4 |
|||
0 |
even number of identity digits |
||
1 |
odd number of identity digits |
||
Identity digits (octet 3 etc) For the IMSI, this field is coded using BCD coding. If the number of identity digits is even then bits 5 to 8 of the last octet shall be filled with an end mark coded as "1111". For Type of identity "Upper layers User Info", the User Info bits are set to a bit string received from upper layers. Any unused bit in the last octet shall be coded as ‘0’. For Type of identity "PRUK ID", the User Info bits are set to a bit string received from the PKMF. Any unused bit in the last octet shall be coded as ‘0’. |
|||
12.5.1.4 IP Address Config
The purpose of the IP Address Config information element is to indicate the configuration options for IP address used by the UE over this direct link.
The IP Address Config is a type 3 information element. The IEI of the IP Address Config IE is 2.
The IP Address Config information element is coded as shown in figure 12.5.1.4.1 and table 12.5.1.4.1.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
|
IP Address Config IEI |
octet 1 |
|||||||
IP address Config Content |
octet 2 |
Figure 12.5.1.4.1: IP Address Config information element
Table12.5.1.4.1: IP Address Config information element
IP Address Config value (octet 2) |
|||||
Bits |
|||||
4 |
3 |
2 |
1 |
||
0 |
0 |
0 |
0 |
DHCPv4 Server |
|
0 |
0 |
0 |
1 |
IPv6 Router |
|
0 |
0 |
1 |
0 |
DHCPv4 Server & IPv6 Router |
|
0 |
0 |
1 |
1 |
address allocation not supported |
|
All other values are reserved. |
|||||
Bit 5 to 8 of octet 2 are spare and shall be coded as zero. |
|||||
12.5.1.5 Link Local IPv6 Address
The Link Local IPv6 Address information element contains a link-local IPv6 address.
The Link Local IPv6 Address is a type 3 information element. The IEI of the Link Local IPv6 Address IE is 3.
The Link Local IPv6 Address element is coded as shown in figure 12.5.1.5.1 and table 12.5.1.5.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 12.5.1.5.1: IP Address Config information element
Table12.5.1.5.1: IPv6 Address information element
IP 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 [36]. |
12.5.1.6 Keepalive Counter
The Keepalive Counter information element contains a 32-bit counter used for the direct link keepalive procedure.
The Keepalive Counter is a type 3 information element with a length of 5 octets. The IEI of the KeepAlive Counter IE is 4.
The Keepalive Counter information element is coded as shown in figure 12.5.1.6.1 and table 12.5.1.6.1.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
|
Keepalive Counter IEI |
octet 1 |
|||||||
Keepalive Counter Content |
octet 2 |
|||||||
octet 5 |
Figure 12.5.1.6.1: Keepalive Counter information element
Table12.5.1.6.1: Keepalive Counter information element
Keepalive Counter value (octet 2 to 5) This contains the 32-bit keepalive counter. |
12.5.1.7 PC5 Signalling Protocol Cause Value
The purpose of the PC5 Signaling Protocol Cause Value information element is to indicate the error cause values used in the PC5 Signalling Protocol procedures.
The PC5 Signalling Protocol Cause Value is a type 3 information element, with a length of 2 octets. The IEI of PC5 Signaling Protocol Cause Value IE is 5.
The PC5 Signalling Protocol Cause Value information element is coded as shown in figure 12.5.1.7.1 and table 12.5.1.7.1.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
|
PC5 Signalling Protocol Cause Value IEI |
octet 1 |
|||||||
PC5 Signalling Protocol Cause Value Content |
octet 2 |
Figure 12.5.1.7.1: PC5 Signaling Protocol Cause Value information element
Table12.5.1.7.1: PC5 Signaling Protocol Cause Value information element
PC5 Signaling Error Cause value (octet 2) |
|||||
Bits |
|||||
4 |
3 |
2 |
1 |
||
0 |
0 |
0 |
1 |
Direct communication to target UE not allowed |
|
0 |
0 |
1 |
0 |
Authentication failure |
|
0 |
0 |
1 |
1 |
Conflict of Layer 2 ID for unicast communication is detected |
|
0 |
1 |
0 |
0 |
Lack of resources for proposed link |
|
0 |
1 |
0 |
1 |
IP version mismatch |
|
0 |
1 |
1 |
0 |
Link setup failure due to other errors |
|
0 |
1 |
1 |
1 |
UE security capabilities mismatch |
|
1 |
0 |
0 |
0 |
Unspecified error |
|
1 |
0 |
0 |
1 |
Authentication synchronisation error |
|
1 |
0 |
1 |
0 |
Non-responsive peer during security mode procedure |
|
All other values are reserved. |
|||||
Bit 5 to 8 of octet 2 are spare and shall be coded as zero. |
|||||
12.5.1.8 Release Reason
The purpose of the Release Reason information element is to indicate the reason why the direct link is to be released.
The Release Reason IE is a type 3 information element, with a length of 2 octets. The IEI of Release Reason IE is 6.
The Release Reason information element is coded as shown in figure 12.5.1.8.1 and table 12.5.1.8.1.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
|
Release Reason IEI |
octet 1 |
|||||||
Release Reason Content |
octet 2 |
Figure 12.5.1.8.1: Release Reason information element
Table 12.5.1.8.1: Release Reason information element
Release Reason value (octet 2) |
|||||
Bits |
|||||
4 |
3 |
2 |
1 |
||
0 |
0 |
0 |
1 |
Direct communication to the peer UE no longer needed |
|
0 |
0 |
1 |
0 |
Direct communication with the peer UE is no longer allowed |
|
0 |
0 |
1 |
1 |
Direct connection is not available any more |
|
All other values are reserved. |
|||||
Bit 5 to 8 of octet 2 are spare and shall be coded as zero. |
|||||
12.5.1.9 Maximum Inactivity Period
The purpose of the Maximum Inactivity Period information element is to indicate the maximum inactivity period of the requesting UE over the direct link.
The Maximum Inactivity Period IE is a type 3 information element, with a length of 5 octets. The IEI of Maximum Inactivity Period IE is 7.
The Maximum Inactivity Period information element is coded as shown in figure 12.5.1.9.1 and table 12.5.1.9.1.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
|
Maximum Inactivity Period IEI |
octet 1 |
|||||||
Maximum Inactivity Period Content |
octet 2 |
|||||||
octet 5 |
Figure 12.5.1.9.1: Maximum Inactivity Period information element
Table12.5.1.9.1: Maximum Inactivity Period information element
Maximum Inactivity Period value (octet 2 to 5) This contains the 32-bit inactivity period value in seconds. |
12.5.1.10 TMGI
This parameter is used to identify the Multicast and Broadcast bearer services. The coding of TMGI is specified in 3GPP TS 24.008 [30].
12.5.1.11 MBMS SAI list
This parameter is used to transfer a list of MBMS Service Area Identities to the ProSe UE-to-network relay UE. The MBMS SAI list is a type 6 information element, with a minimum length of 6 octets and a maximum length of 516 octets. The list can contain a maximum of 256 different MBMS Service Area Identities. The length of each MBMS SAI is 2 octets. The IEI of MBMS SAI list IE is 28.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
|
MBMS SAI list IEI |
octet 1 |
|||||||
Length of MBMS SAI list |
octet 2 |
|||||||
Length of MBMS SAI list (continued) |
octet 3 |
|||||||
Number of MBMS SAIs |
octet 4 |
|||||||
MBMS SAI 1 |
octet 5 |
|||||||
MBMS SAI 1 (continued) |
octet 6 |
|||||||
MBMS SAI 2 |
octet 7 |
|||||||
MBMS SAI 2 (continued) |
octet 8 |
|||||||
… |
||||||||
MBMS SAI n |
octet 2n-1 |
|||||||
MBMS SAI n (continued) |
octet 2n |
Figure 12.5.1.11.1: MBMS SAI list information element
Table 12.5.1.11.1: MBMS SAI list information element value part
The value part of the MBMS SAI list information element consists of the number of MBMS SAIs and one or more MBMS SAIs. The length of MBMS SAI list is set based on the ‘Number of MBMS SAIs’. The ProSe UE-to-network relay UE shall store the complete list received. Number of MBMS SAIs (octet 1) |
||||||||
Bits |
||||||||
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
|
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 element |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
2 element |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
3 element |
… |
||||||||
1 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
254 element |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
255 element |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
256 element |
If the number of MBMS SAIs = n: for i=1, n; octet 2i and 2i+1 contain the MBMS SAI of the i-th MBMS SAI belonging to the MBMS SAI list The coding of MBMS SAI is specified in 3GPP TS 23.003 [4]. |
||||||||
12.5.1.12 ProSe Layer2 Group ID
This parameter is a link layer identifier of the group that transmits the MBMS traffic associated with a TMGI. The coding of ProSe Layer2 Group ID is specified in 3GPP TS 23.003 [4].
12.5.1.13 TMGI Monitoring Refresh Timer T4104
This parameter is used to carry the value of TMGI monitoring refresh timer T4104 associated with a TMGI. It is an integer in the 1-1440 range representing the timer value in unit of minutes.
12.5.1.14 SAI Indicator
This parameter is used to carry the SAI indicator, which is a Boolean value indicating whether the ProSe UE-to-network relay UE can forward the MBMS content associated with the received TMGI for the remote UE.
12.5.1.15 ECGI announcement request refresh timer T4106
This parameter is used to carry the value of ECGI announcement request refresh timer. It is an integer in the 1-1440 range representing the timer value in unit of minutes.
12.5.1.16 Requested ProSe Per-Packet Priority
This parameter is used for representing a protocol data unit transmission priority for relaying eMBMS traffic over PC5. It is provided by the remote UE. It is an integer in the 1-8 range and the lower number means the higher priority.
The Requested ProSe Per-Packet Priority is a type 3 information element, with a length of 2 octets. The Requested ProSe Per-Packet Priority information element is coded as shown in table 12.5.1.16.1. The IEI of the Requested ProSe Per-Packet Priority IE is 29.
The Requested ProSe Per-Packet Priority information element is coded as shown in figure 12.5.1.16.1 and table 12.5.1.16.1.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
|
Requested ProSe Per-Packet Priority IEI |
octet 1 |
|||||||
Requested ProSe Per-Packet Priority value |
octet 2 |
Figure 12.5.1.16.1: Requested ProSe Per-Packet Priority information element
Table 12.5.1.16.1: Requested ProSe Per-Packet Priority information element
ProSe Per-Packet Priority value (octet 2) |
|||||
Bits |
|||||
4 |
3 |
2 |
1 |
||
0 |
0 |
0 |
0 |
Reserved |
|
0 |
0 |
0 |
1 |
PPPP 1 |
|
0 |
0 |
1 |
0 |
PPPP 2 |
|
0 |
0 |
1 |
1 |
PPPP 3 |
|
0 |
1 |
0 |
0 |
PPPP 4 |
|
0 |
1 |
0 |
1 |
PPPP 5 |
|
0 |
1 |
1 |
0 |
PPPP 6 |
|
0 |
1 |
1 |
1 |
PPPP 7 |
|
1 |
0 |
0 |
0 |
PPPP 8 |
|
All other values are reserved. |
|||||
Bit 5 to 8 of octet 2 are spare and shall be coded as zero. |
|||||
12.5.1.17 Relay Service Code
The purpose of the Relay Service Code information element is to indicate the parameter defined in subclause 12.2.2.51.
The Relay Service Code information element is coded as shown in figure 12.5.1.17.1 and table 12.5.1.17.1.
The Relay Service Code is a type 3 information element with a length of 4 octets. The IEI of the Relay Service Code IE is 25.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
|
Relay Service Code IEI |
octet 1 |
|||||||
Relay Service Code |
octet 2 |
|||||||
: |
octet 4 |
Figure 12.5.1.17.1: Relay Service Code information element
Table 12.5.1.17.1: Relay Service Code information element
Relay Service Code value (octet 2 to 4) This contains the 24-bit Relay Service Code. |
12.5.1.18 GPI
The purpose of the GPI information element is to include the GBA Push Information as defined in 3GPP TS 33.223 [42].
The GPI information element is coded as shown in figure 12.5.1.18.1 and table 12.5.1.18.1.
The GPI is a type 4 information element with a variable length. The IEI of the GPI IE is 24.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
|
GPI IEI |
octet 1 |
|||||||
Length of GPI contents |
octet 2 |
|||||||
GPI : |
octet 3 |
|||||||
: |
octet n |
Figure 12.5.1.18.1: GPI information element
Table 12.5.1.18.1: GPI information element
GPI value (octet 3 to n) GPI message layout as defined in 3GPP TS 33.223 [42] |
12.5.1.19 PRUK ID
The purpose of the PRUK ID information element is to provide the ProSe UE-to-network relay with the latest PRUK ID at the remote UE when the remote UE triggers rekeying.
The PRUK ID information element is coded as shown in figure 12.5.1.19.1 and table 12.5.1.19.1.
The PRUK ID is a type 3 information element with a length of 9 octets. The IEI of the PRUK ID IE is 8.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
|
PRUK ID IEI |
octet 1 |
|||||||
PRUK ID : |
octet 2 |
|||||||
: |
octet 9 |
Figure 12.5.1.19.1: PRUK ID information element
Table 12.5.1.19.1: PRUK ID information element
PRUK ID value (octet 2 to 9) This contains the PRUK ID |
12.5.1.20 AUTS
The purpose of the AUTS information element is to provide the network with the necessary information to begin a re-synchronisation as part of the AKA procedure (see 3GPP TS 33.102 [41]).
The AUTS information element is coded as shown in figure 12.5.1.20.1 and table 12.5.1.20.1.
The AUTS is a type 3 information element with a length of 15 octets. The IEI of the AUTS IE is 9.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
|
AUTS IEI |
octet 1 |
|||||||
AUTS : |
octet 2 |
|||||||
: |
octet 15 |
Figure 12.5.1.20.1: AUTS information element
Table 12.5.1.20.1: AUTS information element
AUTS value (octet 2 to 15) This contains AUTS (see 3GPP TS 33.102 [41]) |
12.5.1.21 RAND
The purpose of the RAND information element is to provide the mobile station with a non-predictable challenge for the AKA procedure.
The RAND information element is coded as shown in figure 12.5.1.21.1 and table 12.5.1.21.1.
The RAND is a type 3 information element with a length of 17 octets. The IEI of the RAND IE is 10.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
|
RAND IEI |
octet 1 |
|||||||
RAND value |
octet 2 |
|||||||
octet 17 |
Figure 12.5.1.21.1: RAND information element
Table 12.5.1.21.1: RAND information element
RAND value (octet 2, 3,… and 17) The RAND value consists of 128 bits. |
12.5.1.22 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 information element is coded as shown in figure 12.5.1.22.1 and table 12.5.1.22.1.
The UE Security Capabilities is a type 3 information element with a length of 3 octets. The IEI of the UE Security Capabilities IE is 11.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
||||||||||
UE security capabilities IEI |
octet 1 |
||||||||||||||||
EEA0 |
128- EEA1 |
128- EEA2 |
128- EEA3 |
EEA4 |
EEA5 |
EEA6 |
EEA7 |
octet 2 |
|||||||||
EIA0 |
128- EIA1 |
128- EIA2 |
128- EIA3 |
EIA4 |
EIA5 |
EIA6 |
EIA7 |
octet 3 |
Figure 12.5.1.22.1: UE Security Capabilities information element
Table 12.5.1.22.1: UE Security Capabilities information element
EPS encryption algorithms supported (octet 2) |
|||||
EPS encryption algorithm EEA0 supported (octet 2, bit 8) |
|||||
0 |
EPS encryption algorithm EEA0 not supported |
||||
1 |
EPS encryption algorithm EEA0 supported |
||||
EPS encryption algorithm 128-EEA1 supported (octet 2, bit 7) |
|||||
0 |
EPS encryption algorithm 128-EEA1 not supported |
||||
1 |
EPS encryption algorithm 128-EEA1 supported |
||||
EPS encryption algorithm 128-EEA2 supported (octet 2, bit 6) |
|||||
0 |
EPS encryption algorithm 128-EEA2 not supported |
||||
1 |
EPS encryption algorithm 128-EEA2 supported |
||||
EPS encryption algorithm 128-EEA3 supported (octet 2, bit 5) |
|||||
0 |
EPS encryption algorithm 128-EEA3 not supported |
||||
1 |
EPS encryption algorithm 128-EEA3 supported |
||||
EPS encryption algorithm EEA4 supported (octet 2, bit 4) |
|||||
0 |
EPS encryption algorithm EEA4 not supported |
||||
1 |
EPS encryption algorithm EEA4 supported |
||||
EPS encryption algorithm EEA5 supported (octet 2, bit 3) |
|||||
0 |
EPS encryption algorithm EEA5 not supported |
||||
1 |
EPS encryption algorithm EEA5 supported |
||||
EPS encryption algorithm EEA6 supported (octet 2, bit 2) |
|||||
0 |
EPS encryption algorithm EEA6 not supported |
||||
1 |
EPS encryption algorithm EEA6 supported |
||||
EPS encryption algorithm EEA7 supported (octet 1, bit 1) |
|||||
0 |
EPS encryption algorithm EEA7 not supported |
||||
1 |
EPS encryption algorithm EEA7 supported |
||||
EPS integrity algorithms supported (octet 3) |
|||||
EPS integrity algorithm EIA0 supported (octet 3, bit 8) |
|||||
0 |
EPS integrity algorithm EIA0 not supported |
||||
1 |
EPS integrity algorithm EIA0 supported |
||||
EPS integrity algorithm 128-EIA1 supported (octet 3, bit 7) |
|||||
0 |
EPS integrity algorithm 128-EIA1 not supported |
||||
1 |
EPS integrity algorithm 128-EIA1 supported |
||||
EPS integrity algorithm 128-EIA2 supported (octet 3, bit 6) |
|||||
0 |
EPS integrity algorithm 128-EIA2 not supported |
||||
1 |
EPS integrity algorithm 128-EIA2 supported |
||||
EPS integrity algorithm 128-EIA3 supported (octet 3, bit 5) |
|||||
0 |
EPS integrity algorithm 128-EIA3 not supported |
||||
1 |
EPS integrity algorithm 128-EIA3 supported |
||||
EPS integrity algorithm EIA4 supported (octet 3, bit 4) |
|||||
0 |
EPS integrity algorithm EIA4 not supported |
||||
1 |
EPS integrity algorithm EIA4 supported |
||||
EPS integrity algorithm EIA5 supported (octet 3, bit 3) |
|||||
0 |
EPS integrity algorithm EIA5 not supported |
||||
1 |
EPS integrity algorithm EIA5 supported |
||||
EPS integrity algorithm EIA6 supported (octet 3, bit 2) |
|||||
0 |
EPS integrity algorithm EIA6 not supported |
||||
1 |
EPS integrity algorithm EIA6 supported |
||||
EPS integrity algorithm EIA7 supported (octet 3, bit 1) |
|||||
0 |
EPS integrity algorithm EIA7 not supported |
||||
1 |
EPS integrity algorithm EIA7 supported |
12.5.1.23 Chosen Algorithms
The purpose of the Chosen Algorithms information element is to indicate the algorithms to be used for ciphering and integrity protection.
The Chosen Algorithms information element is coded as shown in figure 12.5.1.23.1 and table 12.5.1.23.1.
The Chosen Algorithms is a type 3 information element with a length of 2 octets. The IEI of the Chosen Algorithms IE is 12.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
|
Chosen Algorithms IEI |
octet 1 |
|||||||
0 spare |
Type of ciphering algorithm |
0 spare |
Type of integrity protection algorithm |
octet 2 |
Figure 12.5.1.23.1: Chosen Algorithms information element
Table 12.5.1.23.1: Chosen Algorithms information element
Type of integrity protection algorithm (octet 2, bit 1 to 3) |
||||
Bits |
||||
3 |
2 |
1 |
||
0 |
0 |
0 |
EPS integrity algorithm EIA0 (null integrity protection algorithm) |
|
0 |
0 |
1 |
EPS integrity algorithm 128-EIA1 |
|
0 |
1 |
0 |
EPS integrity algorithm 128-EIA2 |
|
0 |
1 |
1 |
EPS integrity algorithm 128-EIA3 |
|
1 |
0 |
0 |
EPS integrity algorithm EIA4 |
|
1 |
0 |
1 |
EPS integrity algorithm EIA5 |
|
1 |
1 |
0 |
EPS integrity algorithm EIA6 |
|
1 |
1 |
1 |
EPS integrity algorithm EIA7 |
|
Type of ciphering algorithm (octet 2, bit 5 to 7) |
||||
Bits |
||||
7 |
6 |
5 |
||
0 |
0 |
0 |
EPS encryption algorithm EEA0 (null ciphering algorithm) |
|
0 |
0 |
1 |
EPS encryption algorithm 128-EEA1 |
|
0 |
1 |
0 |
EPS encryption algorithm 128-EEA2 |
|
0 |
1 |
1 |
EPS encryption algorithm 128-EEA3 |
|
1 |
0 |
0 |
EPS encryption algorithm EEA4 |
|
1 |
0 |
1 |
EPS encryption algorithm EEA5 |
|
1 |
1 |
0 |
EPS encryption algorithm EEA6 |
|
1 |
1 |
1 |
EPS encryption algorithm EEA7 |
|
Bit 4 and 8 of octet 2 are spare and shall be coded as zero. |
||||
12.5.1.24 LSB of KD-sess ID
The purpose of the LSB of KD-sess ID information element is to carry the 8 least significant bits of the KD-sess ID.
The LSB of KD-sess ID IE is a type 3 information element, with a length of 2 octets. The IEI of the LSB of KD-sess ID IE is 13.
The LSB of KD-sess ID information element is coded as shown in figure 12.5.1.24.1 and table 12.5.1.24.1.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
|
LSB of KD-sess ID IEI |
octet 1 |
|||||||
LSB of KD-sess ID Content |
octet 2 |
Figure 12.5.1.24.1: LSB of KD-sess ID information element
Table12.5.1.24.1: LSB of KD-sess ID information element
LSB of KD-sess ID value (octet 2) This contains the 8 least significant bits of KD-sess ID. |
12.5.1.25 MSB of KD-sess ID
The purpose of the MSB of KD-sess ID information element is to carry the 8 most significant bits of the KD-sess ID.
The MSB of KD-sess ID IE is a type 3 information element, with a length of 2 octets. The IEI of the MSB of KD-sess ID Request Nonce IE is 14.
The MSB of KD-sess ID information element is coded as shown in figure 12.5.1.25.1 and table 12.5.1.25.1.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
|
MSB of KD-sess ID IEI |
octet 1 |
|||||||
MSB of KD-sess ID Content |
octet 2 |
Figure 12.5.1.25.1: MSB of KD-sess ID information element
Table12.5.1.25.1: MSB of KD-sess ID information element
MSB of KD-sess ID value (octet 2) This contains the 8 most significant bits of KD-sess ID. |
12.5.1.26 LSB of KD ID
The purpose of the LSD of KD ID information element is to carry the 16 least significant bits of the KD ID.
The LSB of KD ID IE is a type 3 information element, with a length of 3 octets. The IEI of the LSB of KD ID is 15.
The LSB of KD ID information element is coded as shown in figure 12.5.1.26.1 and table 12.5.1.26.1.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
|
LSD of KD ID IEI |
octet 1 |
|||||||
LSB of KD ID Content |
octet 2 |
|||||||
octet 3 |
Figure 12.5.1.26.1: LSB of KD ID information element
Table12.5.1.26.1: LSB of KD ID information element
LSB of KD ID value (octet 2 to 3) This contains the 16 least significant bits of KD ID. |
12.5.1.27 MSB of KD ID
The purpose of the MSB of KD ID information element is to carry the 16 most significant bits of the KD ID.
The MSB of KD ID IE is a type 3 information element, with a length of 3 octets. The IEI of the MSB of KD ID IE is 16.
The MSB of KD ID information element is coded as shown in figure 12.5.1.27.1 and table 12.5.1.27.1.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
|
MSD of KD ID IEI |
octet 1 |
|||||||
MSB of KD ID Content |
octet 2 |
|||||||
octet 3 |
Figure 12.5.1.27.1: MSB of KD ID information element
Table12.5.1.27.1: MSB of KD ID information element
MSB of KD ID value (octet 2 to 3) This contains the 16 most significant bits of KD ID. |
12.5.1.28 KD ID
The purpose of the KD ID information element is to carry the identity of the KD held by a UE.
The KD ID IE is a type 3 information element, with a length of 5 octets. The IEI of the KD ID IE is 17.
The KD ID information element is coded as shown in figure 12.5.1.28.1 and table 12.5.1.28.1.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
|
KD ID IEI |
octet 1 |
|||||||
KD ID Content |
octet 2 |
|||||||
octet 5 |
Figure 12.5.1.28.1: KD ID information element
Table12.5.1.28.1: KD ID information element
KD ID value (octet 2 to 5) This contains the 32-bit identifier of a KD. |
12.5.1.29 KD Freshness
The purpose of the KD Freshness information element is to indicate the nonce value generated by initiating PKMF to ensure that any calculated KD is fresh.
The KD Freshness parameter IE is a type 3 information element, with a length of 17 octets. The IEI of the KD Freshness IE is 18.
The KD Freshness parameter information element is coded as shown in figure 12.5.1.29.1 and table 12.5.1.29.1.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
|
KD Freshness IEI |
octet 1 |
|||||||
KD Freshness Content |
octet 2 |
|||||||
octet 17 |
Figure 12.5.1.29.1: KD Freshness information element
Table12.5.1.29.1: KD Freshness information element
KD Freshness value (octet 2 to 17) This contains the 128-bit nonce value. |
12.5.1.30 Nonce_1
The purpose of the Nonce_1 information element is to indicate the nonce value generated by the UE which initiated the direct link setup procedure or direct link rekeying procedure.
The Nonce_1 IE is a type 3 information element, with a length of 17 octets. The IEI of the Nonce_1 IE is 19.
The Nonce_1 information element is coded as shown in figure 12.5.1.30.1 and table 12.5.1.30.1.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
|
Nonce_1 IEI |
octet 1 |
|||||||
Nonce_1 Content |
octet 2 |
|||||||
octet 17 |
Figure 12.5.1.30.1: Nonce_1 information element
Table12.5.1.30.1: Nonce_1 information element
Nonce1 value (octet 2 to 17) This contains the 128-bit nonce value. |
12.5.1.31 Nonce_2
The purpose of the Nonce_2 information element is to indicate the nonce value generated by the UE which initiated the direct security mode control procedure.
The Nonce_2 IE is a type 3 information element, with a length of 17 octets. The IEI of the Nonce_2 IE is 20.
The Nonce_2 information element is coded as shown in figure 12.5.1.31.1 and table 12.5.1.31.1.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
|
Nonce_2 IEI |
octet 1 |
|||||||
Nonce_2 Content |
octet 2 |
|||||||
octet 17 |
Figure 12.5.1.31.1: Nonce_2 information element
Table12.5.1.31.1: Nonce_2 information element
Nonce_2 value (octet 2 to 17) This contains the 128-bit nonce value. |
12.5.1.32 Auth Flag
The purpose of the Auth Flag information element is to indicate that the KD is to be refreshed..
The Auth Flag IE is a type 3 information element, with a length of 2 octets. The IEI of the Auth Flag IE is 21.
The Auth Flag information element is coded as shown in figure 12.5.1.32.1 and table 12.5.1.32.1.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
|
Auth Flag IEI |
octet 1 |
|||||||
Auth Flag Content |
octet 2 |
Figure 12.5.1.32.1: Auth Flag information element
Table12.5.1.32.1: Auth Flag information element
Auth Flag value (octet 2) |
||
Bits |
||
1 |
||
0 |
Reserved |
|
1 |
KD is requested to be refreshed |
|
Bit 2 to 8 of octet 2 are spare and shall be coded as zero. |
||
12.5.1.33 Signature
The purpose of the Signature information element is to indicate the ECCSI signature calculated based on information exchanged during the direct link setup.
The Signature IE is a type 3 information element, with a length of 130 octets. The IEI of the Signature IE is 22.
The Signature information element is coded as shown in figure 12.5.1.33.1 and table 12.5.1.33.1.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
|
Signature IEI |
octet 1 |
|||||||
Signature Content |
octet 2 |
|||||||
octet 130 |
Figure 12.5.1.33.1: Signature information element
Table12.5.1.33.1: Signature information element
Signature value (octet 2 to 130) This contains the signature with a length of 129 octets. The exact content structure is specified in 3GPP TS 33.303 [6]. |
12.5.1.34 Encrypted Payload
The purpose of the Encrypted Payload information element is to indicate the encrypted data encapsulating the shared secret key to be used for the established link.
The Encrypted Payload IE is a type 4 information element, with a variable length. The IEI of the Encrypted Payload IE is 23.
The Encrypted Payload information element is coded as shown in figure 12.5.1.34.1 and table 12.5.1.34.1.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
|
Encrypted Payload IEI |
octet 1 |
|||||||
Length Encrypted Payload |
octet 2 |
|||||||
Encrypted Payload Content |
octet 3 |
|||||||
octet n |
Figure 12.5.1.34.1: Encrypted Payload information element
Table12.5.1.34.1: Encrypted Payload information element
Encrypted Payload value (octet 3 to n) This contains the encrypted data content with a variable length. The exact content structure is specified in 3GPP TS 33.303 [6]. |
12.5.1.35 Remote UE Information Type
The purpose of the Remote UE Information Type element is to indicate the type of information requested regarding the remote UE.
The Remote UE Information Type IE is a type 3 information element, with a length of 2 bytes. The IEI of the Remote UE Information Type IE is 26.
The Remote UE Information Type information element is coded as shown in figure 12.5.1.35.1 and table 12.5.1.35.1.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
|
Remote UE Information Type IEI |
octet 1 |
|||||||
Remote UE Information Type Content |
octet 2 |
Figure 12.5.1.35.1: Remote UE Information Type information element
Table 12.5.1.35.1: Remote UE Information Type information element
Bits |
|||||||||
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
||
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
IMEI |
|
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
IMEISV |
|
All other values are reserved |
12.5.1.36 IMEI
The purpose of the IMEI information element is to indicate the IMEI or IMEISV of a UE.
The IMEI IE is a type 3 information element, with a length of 10 bytes, depending on the IMEI type. The IEI of the IMEI IE is 27.
The IMEI information element is coded as shown in figure 12.5.1.36.1 and table 12.5.1.36.1.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
|
IMEI IEI |
octet 1 |
|||||||
Digit 1 |
odd/ |
IMEI Type |
octet 2 |
|||||
Digit p+1 |
Digit p |
octet 3 |
||||||
… |
||||||||
octet 10 |
Figure 12.5.1.36.1: IMEI information element
Table 12.5.1.36.1: IMEI information element
IMEI Content (octet 2- octet 10) |
|||
Odd/even indication (octet 2) Bit |
|||
4 |
|||
0 |
even number of IMEI identity digits |
||
1 |
odd number of IMEI identity digits |
||
IMEI Type (octet 2) Bits |
|||
3 |
2 |
1 |
|
1 |
0 |
0 |
IMEI |
1 |
0 |
1 |
IMEISV |
All other values are reserved. |
|||
IMEI Identity digits (octet 2 etc) |
|||
For the IMEI, this field is coded using BCD coding from octet 2 to octet 9. Octet 10 shall be filled with "11111111" and ignored on reception. The format of the IMEI is described in 3GPP TS 23.003 [4]. |
|||
For the IMEISV, this field is coded using BCD coding from octet 2 to octet 10. Bits 5 to 8 of Octet 10 shall be filled with an end mark coded as "1111". The format of the IMEISV is described in 3GPP TS 23.003 [4]. |
|||