11 Message functional definitions and contents

24.3343GPPProximity-services (ProSe) User Equipment (UE) to ProSe function protocol aspectsRelease 17Stage 3TS

11.1 Overview

This clause contains the definition and contents of the messages used in the procedures described in the present document.

11.2 ProSe discovery messages

11.2.1 General

This subclause defines the XML schema and MIME type related to ProSe direct discovery messages and EPC-level ProSe discovery messages.

This subclause also defines the format of the PC5_DISCOVERY message transmitted over the PC5 interface.

11.2.2 application/3gpp-prose+xml

The MIME type is used to carry information related to the ProSe discovery operation. It shall be coded as an XML document containing one of the following ProSe discovery messages:

– DISCOVERY_REQUEST;

– DISCOVERY_RESPONSE;

– MATCH_REPORT;

– MATCH_REPORT_ACK;

– DISCOVERY_UPDATE_REQUEST;

– DISCOVERY_UPDATE_RESPONSE;

– ANNOUNCING_ALERT_REQUEST;

– ANNOUNCING_ALERT_RESPONSE;

– UE_REGISTRATION_REQUEST;

– UE_REGISTRATION_RESPONSE;

– APPLICATION_REGISTRATION_REQUEST;

– APPLICATION_REGISTRATION_RESPONSE;

– PROXIMITY_REQUEST;

– PROXIMITY_REQUEST_RESPONSE;

– PROXIMITY_ALERT;

– UE_DEREGISTRATION_REQUEST;

– UE_DEREGISTRATION_RESPONSE;

– CANCEL_PROXIMITY_REQUEST;

– CANCEL_PROXIMITY_RESPONSE;

– PROXIMITY_REQUEST_VALIDATION; or

– PROXIMITY_REQUEST_VALIDATION_RESPONSE.

Each of those messages is presented in the XML document as an XML element named after the corresponding message.

11.2.3 XML Schema

Implementations in compliance with the present document shall implement the XML schema defined below for messages used in ProSe direct discovery procedures over PC3 interface.

<?xml version="1.0" encoding="UTF-8"?>

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"

xmlns="urn:3GPP:ns:ProSe:Discovery:2014"

elementFormDefault="qualified"

targetNamespace="urn:3GPP:ns:ProSe:Discovery:2014">

<xs:annotation>

<xs:documentation>

Info for ProSe Discovery Control Messages Syntax

</xs:documentation>

</xs:annotation>

<!– Complex types defined for parameters with complicated structure –>

<xs:complexType name="AppID-info">

<xs:sequence>

<xs:element name="OS-ID">

<xs:simpleType>

<xs:restriction base="xs:hexBinary">

<xs:length value="16"/>

</xs:restriction>

</xs:simpleType>

</xs:element>

<xs:element name="OS-App-ID" type="xs:string"/>

<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<xs:complexType name="PLMN-info">

<xs:sequence>

<xs:element name="mcc" type="xs:integer"/>

<xs:element name="mnc" type="xs:integer"/>

<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<xs:complexType name="IMSI-info">

<xs:sequence>

<xs:element name="MCC" type="xs:integer"/>

<xs:element name="MNC" type="xs:integer"/>

<xs:element name="MSIN" type="xs:integer"/>

<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<xs:complexType name="DiscFilter-info">

<xs:sequence>

<xs:element name="ProSe-Application-Code" type="xs:hexBinary"/>

<xs:element name="ProSe-Application-Mask" type="xs:hexBinary" maxOccurs="unbounded"/>

<xs:element name="TTL-timer-T4002" type="xs:integer"/>

<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<xs:complexType name="MatchingFilter-info">

<xs:sequence>

<xs:element name="Code" type="xs:hexBinary"/>

<xs:element name="Mask" type="xs:hexBinary" maxOccurs="unbounded"/>

<xs:element name="anyExt" type="anyExtType" minOccurs="0"/>

<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<xs:complexType name="DUCK-info">

<xs:sequence>

<xs:element name="discovery-user-confidentiality-key" type="xs:hexBinary"/>

<xs:element name="encrypted-bitmask" type="xs:hexBinary"/>

</xs:sequence>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<xs:complexType name="RestrictedDiscFilter-info">

<xs:sequence>

<xs:element name="filter" type="MatchingFilter-info" maxOccurs="unbounded"/>

<xs:element name="TTL-timer-T4009" type="xs:integer"/>

<xs:element name="restricted-security" type="Restricted-Security-info" minOccurs="0" />

<xs:element name="RPAUID" type="xs:string" minOccurs="0" />

<xs:element name="DUSK" type="xs:hexBinary" minOccurs="0" />

<xs:element name="DUIK" type="xs:hexBinary" minOccurs="0" />

<xs:element name="MIC-check-indicator" type="xs:boolean" minOccurs="0" />

<xs:element name="DUCK" type="DUCK-info" minOccurs="0" />

<xs:element name="metadata-indicator" type="xs:integer" minOccurs="0"/>

<xs:element name="metadata" type="xs:string" minOccurs="0"/>

<xs:element name="anyExt" type="anyExtType" minOccurs="0"/>

<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<xs:complexType name="RestrictedCodeSuffixRange-info">

<xs:sequence>

<xs:element name="beginning-suffix-code" type="xs:hexBinary" />

<xs:element name="ending-suffix-code" type="xs:hexBinary" minOccurs="0"/>

<xs:element name="anyExt" type="anyExtType" minOccurs="0"/>

<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<xs:complexType name="RestrictedMonitoringUpdate-info">

<xs:sequence>

<xs:element name="updated-filter" type="RestrictedDiscFilter-info" maxOccurs="unbounded"/>

<xs:element name="anyExt" type="anyExtType" minOccurs="0"/>

<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<xs:complexType name="RestrictedAnnouncingUpdate-info">

<xs:sequence>

<xs:element name="ProSe-Restricted-Code" type="xs:hexBinary" />

<xs:element name="validity-timer-T4007" type="xs:integer" />

<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<xs:complexType name="MonitoringUpdate-info">

<xs:sequence>

<xs:element name="updated-filter" type="DiscFilter-info" maxOccurs="unbounded"/>

<xs:element name="anyExt" type="anyExtType" minOccurs="0"/>

<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<xs:complexType name="AnnouncingUpdate-info">

<xs:sequence>

<xs:element name="ProSe-Application-Code" type="xs:hexBinary" />

<xs:element name="validity-timer-T4000" type="xs:integer" />

<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<xs:complexType name="Update-Option-info">

<xs:choice>

<xs:element name="update-info-restricted-announce" type="RestrictedAnnouncingUpdate-info" />

<xs:element name="update-info-restricted-monitor" type="RestrictedMonitoringUpdate-info" />

<xs:element name="update-info-open-annnounce" type="AnnouncingUpdate-info" />

<xs:element name="update-info-open-monitor" type="MonitoringUpdate-info"/>

<xs:element name="anyExt" type="anyExtType" />

<xs:any namespace="##other" processContents="lax"/>

</xs:choice>

</xs:complexType>

<xs:complexType name="Restricted-Code-Option-info">

<xs:choice>

<xs:element name="ProSe-Restricted-Code" type="xs:hexBinary" />

<xs:element name="ProSe-Response-Code" type="xs:hexBinary" />

<xs:element name="anyExt" type="anyExtType" />

<xs:any namespace="##other" processContents="lax"/>

</xs:choice>

</xs:complexType>

<xs:complexType name="WLANAssistance-info">

<xs:sequence>

<xs:element name="ssid" type="xs:string"/>

<xs:element name="WLAN-secret-key" type="xs:string"/>

<xs:element name="group-owner-indication" type="xs:boolean"/>

<xs:element name="P2P-device-address-self" type="xs:hexBinary" minOccurs="0"/>

<xs:element name="P2P-device-address-peer" type="xs:hexBinary" minOccurs="0"/>

<xs:element name="operation-channel" type="xs:integer"/>

<xs:element name="validity-time" type="xs:integer"/>

<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<xs:complexType name="Subquery-info">

<xs:sequence>

<xs:element name="ProSe-Rquery-Code" type="xs:hexBinary" />

<xs:element name="response-filter" type="MatchingFilter-info" maxOccurs="unbounded"/>

<xs:element name="validity-timer-T4013" type="xs:integer"/>

<xs:element name="restricted-security" type="Restricted-Security-info" minOccurs="0" />

<xs:element name="RPAUID" type="xs:string" minOccurs="0" />

<xs:element name="metadata" type="xs:string" minOccurs="0"/>

<xs:element name="anyExt" type="anyExtType" minOccurs="0"/>

<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<xs:complexType name="Restricted-Security-info">

<xs:sequence>

<xs:element name="DUSK" type="xs:hexBinary" minOccurs="0" />

<xs:element name="DUIK" type="xs:hexBinary" minOccurs="0" />

<xs:element name="DUCK" type="DUCK-info" minOccurs="0" />

<xs:element name="anyExt" type="anyExtType" minOccurs="0"/>

<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<xs:complexType name="ApplicationCodeSuffixRange-info">

<xs:sequence>

<xs:element name="beginning-suffix-code" type="xs:hexBinary" />

<xs:element name="ending-suffix-code" type="xs:hexBinary" minOccurs="0"/>

<xs:element name="anyExt" type="anyExtType" minOccurs="0"/>

<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<xs:complexType name="ProSeApplicationCodeACE-info">

<xs:sequence>

<xs:element name=" ProSe-Application-Code-Prefix" type="xs:hexBinary" />

<xs:element name=" ProSe-Application-Code-Suffix-Range" type="ApplicationCodeSuffixRange-info" maxOccurs="unbounded" />

<xs:element name="anyExt" type="anyExtType" minOccurs="0"/>

<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<!– Complex types defined for transaction-level –>

<xs:complexType name="AnnounceRsp-info">

<xs:sequence>

<xs:element name="transaction-ID" type="xs:integer"/>

<xs:element name="ProSe-Application-Code" type="xs:hexBinary" minOccurs="0" maxOccurs="unbounded"/>

<xs:element name="ProSe-Application-Code-ACE" type="ProSeApplicationCodeACE-info" minOccurs="0"/>

<xs:element name="validity-timer-T4000" type="xs:integer" minOccurs="0" />

<xs:element name="discovery-key" type="xs:hexBinary" minOccurs="0" />

<xs:element name="discovery-entry-ID" type="xs:integer" minOccurs="0" />

<xs:element name="ACE-enabled-indicator" type="xs:integer" minOccurs="0"/>

<xs:element name="PC5-tech" type="xs:integer" minOccurs="0"/>

<xs:element name="anyExt" type="anyExtType" minOccurs="0"/>

<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<xs:complexType name="MonitorRsp-info">

<xs:sequence>

<xs:element name="transaction-ID" type="xs:integer"/>

<xs:element name="discovery-filter" type="DiscFilter-info" minOccurs="0" maxOccurs="unbounded"/>

<xs:element name="discovery-entry-ID" type="xs:integer" minOccurs="0" />

<xs:element name="ACE-enabled-indicator" type="xs:integer" minOccurs="0"/>

<xs:element name="PC5-tech" type="xs:integer" minOccurs="0"/>

<xs:element name="anyExt" type="anyExtType" minOccurs="0"/>

<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<xs:complexType name="DiscReq-info">

<xs:sequence>

<xs:element name="transaction-ID" type="xs:integer"/>

<xs:element name="command" type="xs:integer"/>

<xs:element name="UE-identity" type="IMSI-info"/>

<xs:element name="ProSe-Application-ID" type="xs:string"/>

<xs:element name="application-identity" type="AppID-info"/>

<xs:element name="discovery-entry-ID" type="xs:integer" minOccurs="0" />

<xs:element name="Requested-Timer" type="xs:integer" minOccurs="0" />

<xs:element name="metadata" type="xs:string" minOccurs="0"/>

<xs:element name="Announcing-PLMN-ID" type="PLMN-info" minOccurs="0" />

<xs:element name="ACE-enabled-indicator" type="xs:integer" minOccurs="0"/>

<xs:element name="PC5-tech" type="xs:integer" minOccurs="0"/>

<xs:element name="anyExt" type="anyExtType" minOccurs="0"/>

<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<xs:complexType name="RestrictedDiscReq-info">

<xs:sequence>

<xs:element name="transaction-ID" type="xs:integer"/>

<xs:element name="command" type="xs:integer"/>

<xs:element name="UE-identity" type="IMSI-info"/>

<xs:element name="RPAUID" type="xs:string"/>

<xs:element name="application-identity" type="AppID-info"/>

<xs:element name="discovery-type" type="xs:integer"/>

<xs:element name="ACE-enabled-indicator" type="xs:integer" minOccurs="0"/>

<xs:element name="announcing-type" type="xs:integer" minOccurs="0"/>

<xs:element name="application-level-container" type="xs:hexBinary" minOccurs="0"/>

<xs:element name="discovery-model" type="xs:integer" minOccurs="0"/>

<xs:element name="Announcing-PLMN-ID" type="PLMN-info" minOccurs="0" />

<xs:element name="discovery-entry-ID" type="xs:integer"/>

<xs:element name="Requested-Timer" type="xs:integer" minOccurs="0" />

<xs:element name="PC5-tech" type="xs:integer" minOccurs="0"/>

<xs:element name="anyExt" type="anyExtType" minOccurs="0"/>

<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<xs:complexType name="RestrictedAnnounceRsp-info">

<xs:sequence>

<xs:element name="transaction-ID" type="xs:integer"/>

<xs:element name="ProSe-Restricted-Code" type="xs:hexBinary" minOccurs="0"/>

<xs:element name="ProSe-Restricted-Code-Suffix-Range" type="RestrictedCodeSuffixRange-info" minOccurs="0"/>

<xs:element name="validity-timer-T4007" type="xs:integer" minOccurs="0"/>

<xs:element name="ACE-enabled-indicator" type="xs:integer" minOccurs="0" />

<xs:element name="restricted-code-security-material" type="Restricted-Security-info" minOccurs="0" />

<xs:element name="on-demand-announcing-enabled-indicator" type="xs:boolean" minOccurs="0" />

<xs:element name="discovery-entry-ID" type="xs:integer"/>

<xs:element name="PC5-tech" type="xs:integer" minOccurs="0"/>

<xs:element name="anyExt" type="anyExtType" minOccurs="0"/>

<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<xs:complexType name="RestrictedMonitorRsp-info">

<xs:sequence>

<xs:element name="transaction-ID" type="xs:integer"/>

<xs:element name="restricted-discovery-filter" type="RestrictedDiscFilter-info" minOccurs="0" maxOccurs="unbounded"/>

<xs:element name="ACE-enabled-indicator" type="xs:integer" minOccurs="0" />

<xs:element name="application-level-container" type="xs:hexBinary"/>

<xs:element name="discovery-entry-ID" type="xs:integer"/>

<xs:element name="PC5-tech" type="xs:integer" minOccurs="0"/>

<xs:element name="anyExt" type="anyExtType" minOccurs="0"/>

<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<xs:complexType name="RestrictedDiscovereeRsp-info">

<xs:sequence>

<xs:element name="transaction-ID" type="xs:integer"/>

<xs:element name="ProSe-Response-Code" type="xs:hexBinary" />

<xs:element name="query-filter" type="MatchingFilter-info" maxOccurs="unbounded"/>

<xs:element name="validity-timer-T4011" type="xs:integer"/>

<xs:element name="restricted-code-security-material " type="Restricted-Security-info" minOccurs="0" />

<xs:element name="discovery-entry-ID" type="xs:integer"/>

<xs:element name="PC5-tech" type="xs:integer" minOccurs="0"/>

<xs:element name="anyExt" type="anyExtType" minOccurs="0"/>

<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<xs:complexType name="RestrictedDiscovererRsp-info">

<xs:sequence>

<xs:element name="transaction-ID" type="xs:integer"/>

<xs:element name="subquery-result" type="Subquery-info" minOccurs="0" maxOccurs="unbounded"/>

<xs:element name="discovery-entry-ID" type="xs:integer"/>

<xs:element name="PC5-tech" type="xs:integer" minOccurs="0"/>

<xs:element name="anyExt" type="anyExtType" minOccurs="0"/>

<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<xs:complexType name="RejectRsp-info">

<xs:sequence>

<xs:element name="transaction-ID" type="xs:integer"/>

<xs:element name="PC3-control-protocol-cause-value" type="xs:integer"/>

<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<xs:complexType name="UE-RejectRsp-info">

<xs:sequence>

<xs:element name="prose-function-transaction-ID" type="xs:integer"/>

<xs:element name="PC3-control-protocol-cause-value" type="xs:integer"/>

<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<xs:complexType name="MatchRep-info">

<xs:sequence>

<xs:element name="transaction-ID" type="xs:integer"/>

<xs:element name="ProSe-Application-Code" type="xs:hexBinary"/>

<xs:element name="UE-identity" type="IMSI-info"/>

<xs:element name="Monitored-PLMN-ID" type="PLMN-info"/>

<xs:element name="VPLMN-ID" type="PLMN-info" minOccurs="0"/>

<xs:element name="MIC" type="xs:hexBinary"/>

<xs:element name="UTC-based-counter" type="xs:hexBinary"/>

<xs:element name="Metadata-flag" type="xs:boolean"/>

<xs:element name="MessageType" type="xs:hexBinary" minOccurs="0"/>

<xs:element name="PC5-tech" type="xs:integer" minOccurs="0"/>

<xs:element name="anyExt" type="anyExtType" minOccurs="0"/>

<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<xs:complexType name="RestrictedMatch-info">

<xs:sequence>

<xs:element name="transaction-ID" type="xs:integer"/>

<xs:element name="UE-identity" type="IMSI-info"/>

<xs:element name="discovery-type" type="xs:integer"/>

<xs:element name="application-identity" type="AppID-info"/>

<xs:element name="RPAUID" type="xs:string"/>

<xs:element name="Restricted-Code-Discovered" type="Restricted-Code-Option-info" />

<xs:element name="MIC" type="xs:hexBinary" minOccurs="0"/>

<xs:element name="MessageType" type="xs:hexBinary" minOccurs="0"/>

<xs:element name="UTC-based-counter" type="xs:hexBinary" minOccurs="0"/>

<xs:element name="Metadata-flag" type="xs:boolean" />

<xs:element name="PC5-tech" type="xs:integer" minOccurs="0"/>

<xs:element name="anyExt" type="anyExtType" minOccurs="0"/>

<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<xs:complexType name="MatchAck-info">

<xs:sequence>

<xs:element name="transaction-ID" type="xs:integer"/>

<xs:element name="ProSe-Application-ID" type="xs:string"/>

<xs:element name="validity-timer-T4004" type="xs:integer"/>

<xs:element name="metadata" type="xs:string" minOccurs="0"/>

<xs:element name="metadata-index-mask" type="xs:hexBinary" minOccurs="0"/>

<xs:element name="anyExt" type="anyExtType" minOccurs="0"/>

<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:attribute name="match-report-refresh-timer-T4006" type="xs:integer"/>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<xs:complexType name="RestrictedMatchAck-info">

<xs:sequence>

<xs:element name="transaction-ID" type="xs:integer"/>

<xs:element name="application-identity" type="AppID-info"/>

<xs:element name="RPAUID" type="xs:string"/>

<xs:element name="validity-timer-T4016" type="xs:integer"/>

<xs:element name="metadata" type="xs:string" minOccurs="0"/>

<xs:element name="anyExt" type="anyExtType" minOccurs="0"/>

<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:attribute name="match-report-refresh-timer-T4017" type="xs:integer"/>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<xs:complexType name="MatchReject-info">

<xs:sequence>

<xs:element name="transaction-ID" type="xs:integer"/>

<xs:element name="PC3-control-protocol-cause-value" type="xs:integer"/>

<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<xs:complexType name="DiscUpdateReq-info">

<xs:sequence>

<xs:element name="prose-function-transaction-ID" type="xs:integer"/>

<xs:element name="UE-identity" type="IMSI-info"/>

<xs:element name="discovery-entry-ID" type="xs:integer"/>

<xs:element name="update-info" type="Update-Option-info" minOccurs="0"/>

<xs:element name="anyExt" type="anyExtType" minOccurs="0"/>

<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<xs:complexType name="DiscUpdateRsp-info">

<xs:sequence>

<xs:element name="prose-function-transaction-ID" type="xs:integer"/>

<xs:element name="discovery-entry-ID" type="xs:integer"/>

<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<xs:complexType name="AnnouncingAlertReq-info">

<xs:sequence>

<xs:element name="prose-function-transaction-ID" type="xs:integer"/>

<xs:element name="RPAUID" type="xs:string"/>

<xs:element name="UE-identity" type="IMSI-info"/>

<xs:element name="discovery-entry-ID" type="xs:integer"/>

<xs:element name="ProSe-Restricted-Code" type="xs:hexBinary"/>

<xs:element name="ProSe-Restricted-Code-Suffix-Range" type="RestrictedCodeSuffixRange-info" minOccurs="0" maxOccurs="unbounded"/>

<xs:element name="anyExt" type="anyExtType" minOccurs="0"/>

<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<xs:complexType name="AnnouncingAlertRsp-info">

<xs:sequence>

<xs:element name="prose-function-transaction-ID" type="xs:integer"/>

<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<!– Complex types defined for Message-level –>

<xs:complexType name="prose-direct-discovery-request">

<xs:sequence>

<xs:element name="discovery-request" type="DiscReq-info" minOccurs="0" maxOccurs="unbounded"/>

<xs:element name="restricted-discovery-request" type="RestrictedDiscReq-info" minOccurs="0" maxOccurs="unbounded"/>

<xs:element name="anyExt" type="anyExtType" minOccurs="0"/>

<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:attribute name="network-initiated-transaction-method" type="xs:integer"/>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<xs:complexType name="prose-direct-discovery-response">

<xs:sequence>

<xs:element name="Current-Time" type="xs:dateTime"/>

<xs:element name="Max-Offset" type="xs:integer"/>

<xs:element name="response-announce" type="AnnounceRsp-info" minOccurs="0" maxOccurs="unbounded"/>

<xs:element name="response-monitor" type="MonitorRsp-info" minOccurs="0" maxOccurs="unbounded"/>

<xs:element name="restricted-announce-response" type="RestrictedAnnounceRsp-info" minOccurs="0" maxOccurs="unbounded"/>

<xs:element name="restricted-monitor-response" type="RestrictedMonitorRsp-info" minOccurs="0" maxOccurs="unbounded"/>

<xs:element name="restricted-discoveree-response" type="RestrictedDiscovereeRsp-info" minOccurs="0" maxOccurs="unbounded"/>

<xs:element name="restricted-discoverer-response" type="RestrictedDiscovererRsp-info" minOccurs="0" maxOccurs="unbounded"/>

<xs:element name="response-reject" type="RejectRsp-info" minOccurs="0" maxOccurs="unbounded"/>

<xs:element name="anyExt" type="anyExtType" minOccurs="0"/>

<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:attribute name="network-initiated-transaction-method" type="xs:integer"/>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<xs:complexType name="prose-direct-discovery-update-request">

<xs:sequence>

<xs:element name="discovery-update-request" type="DiscUpdateReq-info" maxOccurs="unbounded"/>

<xs:element name="anyExt" type="anyExtType" minOccurs="0"/>

<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<xs:complexType name="prose-direct-discovery-update-response">

<xs:sequence>

<xs:element name="response-update" type="DiscUpdateRsp-info" minOccurs="0" maxOccurs="unbounded"/>

<xs:element name="response-reject" type="UE-RejectRsp-info" minOccurs="0" maxOccurs="unbounded"/>

<xs:element name="anyExt" type="anyExtType" minOccurs="0"/>

<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<xs:complexType name="prose-direct-discovery-match-report">

<xs:sequence>

<xs:element name="match-report" type="MatchRep-info" minOccurs="0" maxOccurs="unbounded"/>

<xs:element name="restricted-match" type="RestrictedMatch-info" minOccurs="0" maxOccurs="unbounded"/>

<xs:element name="anyExt" type="anyExtType" minOccurs="0"/>

<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<xs:complexType name="prose-direct-discovery-match-report-ack">

<xs:sequence>

<xs:element name="Current-Time" type="xs:dateTime"/>

<xs:element name="match-ack" type="MatchAck-info" minOccurs="0" maxOccurs="unbounded"/>

<xs:element name="match-reject" type="MatchReject-info" minOccurs="0" maxOccurs="unbounded"/>

<xs:element name="restricted-match-ack" type="RestrictedMatchAck-info" minOccurs="0" maxOccurs="unbounded"/>

<xs:element name="anyExt" type="anyExtType" minOccurs="0"/>

<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<xs:complexType name="prose-direct-discovery-announcing-alert-request">

<xs:sequence>

<xs:element name="announcing-alert-request" type="AnnouncingAlertReq-info" maxOccurs="unbounded"/>

<xs:element name="anyExt" type="anyExtType" minOccurs="0"/>

<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<xs:complexType name="prose-direct-discovery-announcing-alert-response">

<xs:sequence>

<xs:element name="announcing-alert-response" type="AnnouncingAlertRsp-info" maxOccurs="unbounded"/>

<xs:element name="response-reject" type="UE-RejectRsp-info" minOccurs="0" maxOccurs="unbounded"/>

<xs:element name="anyExt" type="anyExtType" minOccurs="0"/>

<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<!– extension allowed –>

<xs:complexType name="DiscMsgExtType">

<xs:sequence>

<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<!– XML attribute for any future extensions –>

<xs:complexType name="anyExtType">

<xs:sequence>

<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

</xs:complexType>

<!– Complex types defined for EPC-level Discovery transaction-level –>

<xs:complexType name="UeRegReq-info">

<xs:sequence>

<xs:element name="transaction-ID" type="xs:integer"/>

<xs:element name="UE-identity" type="IMSI-info" />

<xs:element name="WLAN-Link-Layer-ID" type="xs:hexBinary" minOccurs="0"/>

<xs:element name="method-for-server-initiated-transaction" type="xs:integer"/>

<xs:element name="anyExt" type="anyExtType" minOccurs="0"/>

<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<xs:complexType name="UeRegRsp-info">

<xs:sequence>

<xs:element name="transaction-ID" type="xs:integer"/>

<xs:element name="EPC-ProSe-User-ID" type="xs:hexBinary"/>

<xs:element name="server-initiated-method-config" type="xs:integer"/>

<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<xs:complexType name="UeRegReject-info">

<xs:sequence>

<xs:element name="transaction-ID" type="xs:integer"/>

<xs:element name="PC3-EPC-control-protocol-cause-value" type="xs:integer"/>

<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<xs:complexType name="AppRegReq-info">

<xs:sequence>

<xs:element name="transaction-ID" type="xs:integer"/>

<xs:element name="EPC-ProSe-User-ID" type="xs:hexBinary"/>

<xs:element name="application-identity" type="AppID-info"/>

<xs:element name="Application-Layer-User-ID" type="xs:string"/>

<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<xs:complexType name="AppRegRsp-info">

<xs:sequence>

<xs:element name="transaction-ID" type="xs:integer"/>

<xs:element name="allowed-range-class" type="xs:integer" maxOccurs="unbounded"/>

<xs:element name="anyExt" type="anyExtType" minOccurs="0"/>

<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<xs:complexType name="AppRegReject-info">

<xs:sequence>

<xs:element name="transaction-ID" type="xs:integer"/>

<xs:element name="PC3-EPC-control-protocol-cause-value" type="xs:integer"/>

<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<xs:complexType name="ProximityReq-info">

<xs:sequence>

<xs:element name="transaction-ID" type="xs:integer"/>

<xs:element name="EPC-ProSe-User-ID" type="xs:hexBinary"/>

<xs:element name="application-identity" type="AppID-info"/>

<xs:element name="Application-Layer-User-ID-A" type="xs:string"/>

<xs:element name="Application-Layer-User-ID-B" type="xs:string"/>

<xs:element name="requested-range-class" type="xs:integer"/>

<xs:element name="UE-A-location" type="xs:string"/>

<xs:element name="time-window" type="xs:integer"/>

<xs:element name="WLAN-indication" type="xs:boolean" minOccurs="0"/>

<xs:element name="anyExt" type="anyExtType" minOccurs="0"/>

<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<xs:complexType name="ProximityReqAccept-info">

<xs:sequence>

<xs:element name="transaction-ID" type="xs:integer"/>

<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<xs:complexType name="ProximityReqReject-info">

<xs:sequence>

<xs:element name="transaction-ID" type="xs:integer"/>

<xs:element name="PC3-EPC-control-protocol-cause-value" type="xs:integer"/>

<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<xs:complexType name="ProximityAlert-info">

<xs:sequence>

<xs:element name="transaction-ID" type="xs:integer"/>

<xs:element name="application-identity" type="AppID-info"/>

<xs:element name="Application-Layer-User-ID-A" type="xs:string"/>

<xs:element name="Application-Layer-User-ID-B" type="xs:string"/>

<xs:element name="assistance-information" type="WLANAssistance-info" minOccurs="0" />

<xs:element name="anyExt" type="anyExtType" minOccurs="0"/>

<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<xs:complexType name="UeDeregReq-info">

<xs:sequence>

<xs:element name="transaction-ID" type="xs:integer"/>

<xs:element name="EPC-ProSe-User-ID" type="xs:hexBinary"/>

<xs:element name="PC3-EPC-control-protocol-cause-value" type="xs:integer"/>

<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<xs:complexType name="UeDeregRsp-info">

<xs:sequence>

<xs:element name="transaction-ID" type="xs:integer"/>

<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<xs:complexType name="CancelProximityReq-info">

<xs:sequence>

<xs:element name="transaction-ID" type="xs:integer"/>

<xs:element name="EPC-ProSe-User-ID-A" type="xs:hexBinary"/>

<xs:element name="application-identity" type="AppID-info"/>

<xs:element name="EPC-ProSe-User-ID-B" type="xs:hexBinary"/>

<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<xs:complexType name="CancelProximityRsp-info">

<xs:sequence>

<xs:element name="transaction-ID" type="xs:integer"/>

<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<xs:complexType name="ProximityReqValidation-info">

<xs:sequence>

<xs:element name="transaction-ID" type="xs:integer"/>

<xs:element name="application-identity" type="AppID-info"/>

<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<xs:complexType name="ProximityReqValidationRspAccept-info">

<xs:sequence>

<xs:element name="transaction-ID" type="xs:integer"/>

<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<xs:complexType name="ProximityReqValidationRspReject-info">

<xs:sequence>

<xs:element name="transaction-ID" type="xs:integer"/>

<xs:element name="PC3-EPC-control-protocol-cause-value" type="xs:integer"/>

<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<!– Complex types defined for EPC level Discovery Message-level –>

<xs:complexType name="prose-epc-level-ue-registration-request">

<xs:sequence>

<xs:element name="ue-registration-request" type="UeRegReq-info" maxOccurs="unbounded"/>

<xs:element name="anyExt" type="anyExtType" minOccurs="0"/>

<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<xs:complexType name="prose-epc-level-ue-registration-response">

<xs:sequence>

<xs:element name="response-register" type="UeRegRsp-info" minOccurs="0" maxOccurs="unbounded"/>

<xs:element name="response-reject" type="UeRegReject-info" minOccurs="0" maxOccurs="unbounded"/>

<xs:element name="anyExt" type="anyExtType" minOccurs="0"/>

<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<xs:complexType name="prose-epc-level-application-registration-request">

<xs:sequence>

<xs:element name="application-registration-request" type="AppRegReq-info" maxOccurs="unbounded"/>

<xs:element name="anyExt" type="anyExtType" minOccurs="0"/>

<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<xs:complexType name="prose-epc-level-application-registration-response">

<xs:sequence>

<xs:element name="response-register" type="AppRegRsp-info" minOccurs="0" maxOccurs="unbounded"/>

<xs:element name="response-reject" type="AppRegReject-info" minOccurs="0" maxOccurs="unbounded"/>

<xs:element name="anyExt" type="anyExtType" minOccurs="0"/>

<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<xs:complexType name="prose-epc-level-proximity-request">

<xs:sequence>

<xs:element name="proximity-request" type="ProximityReq-info" maxOccurs="unbounded"/>

<xs:element name="anyExt" type="anyExtType" minOccurs="0"/>

<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<xs:complexType name="prose-epc-level-proximity-request-response">

<xs:sequence>

<xs:element name="response-accept" type="ProximityReqAccept-info" minOccurs="0" maxOccurs="unbounded"/>

<xs:element name="response-reject" type="ProximityReqReject-info" minOccurs="0" maxOccurs="unbounded"/>

<xs:element name="anyExt" type="anyExtType" minOccurs="0"/>

<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<xs:complexType name="prose-epc-level-proximity-alert">

<xs:sequence>

<xs:element name="proximity-alert" type="ProximityAlert-info" maxOccurs="unbounded"/>

<xs:element name="anyExt" type="anyExtType" minOccurs="0"/>

<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<xs:complexType name="prose-epc-level-ue-deregistration-request">

<xs:sequence>

<xs:element name="ue-deregistration-request" type="UeDeregReq-info" maxOccurs="unbounded"/>

<xs:element name="anyExt" type="anyExtType" minOccurs="0"/>

<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<xs:complexType name="prose-epc-level-ue-deregistration-response">

<xs:sequence>

<xs:element name="ue-deregistration-response" type="UeDeregRsp-info" maxOccurs="unbounded"/>

<xs:element name="anyExt" type="anyExtType" minOccurs="0"/>

<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<xs:complexType name="prose-epc-level-cancel-proximity-request">

<xs:sequence>

<xs:element name="cancel-proximity-request" type="CancelProximityReq-info" maxOccurs="unbounded"/>

<xs:element name="anyExt" type="anyExtType" minOccurs="0"/>

<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<xs:complexType name="prose-epc-level-cancel-proximity-response">

<xs:sequence>

<xs:element name="cancel-proximity-response" type="CancelProximityRsp-info" maxOccurs="unbounded"/>

<xs:element name="anyExt" type="anyExtType" minOccurs="0"/>

<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<xs:complexType name="prose-epc-level-proximity-request-validation">

<xs:sequence>

<xs:element name="proximity-request-validation" type="ProximityReqValidation-info" maxOccurs="unbounded"/>

<xs:element name="anyExt" type="anyExtType" minOccurs="0"/>

<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<xs:complexType name="prose-epc-level-proximity-request-validation-response">

<xs:sequence>

<xs:element name="response-accept" type="ProximityReqValidationRspAccept-info" minOccurs="0" maxOccurs="unbounded"/>

<xs:element name="response-reject" type="ProximityReqValidationRspReject-info" minOccurs="0" maxOccurs="unbounded"/>

<xs:element name="anyExt" type="anyExtType" minOccurs="0"/>

<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<!– Top levelDiscovery Message definition –>

<xs:element name="prose-discovery-message">

<xs:complexType>

<xs:choice>

<xs:element name="DISCOVERY_REQUEST" type="prose-direct-discovery-request"/>

<xs:element name="DISCOVERY_RESPONSE" type="prose-direct-discovery-response"/>

<xs:element name="MATCH_REPORT" type="prose-direct-discovery-match-report"/>

<xs:element name="MATCH_REPORT_ACK" type="prose-direct-discovery-match-report-ack"/>

<xs:element name="UE_REGISTRATION_REQUEST" type="prose-epc-level-ue-registration-request"/>

<xs:element name="UE_REGISTRATION_RESPONSE" type="prose-epc-level-ue-registration-response"/>

<xs:element name="APPLICATION_REGISTRATION_REQUEST" type="prose-epc-level-application-registration-request"/>

<xs:element name="APPLICATION_REGISTRATION_RESPONSE" type="prose-epc-level-application-registration-response"/>

<xs:element name="PROXIMITY_REQUEST" type="prose-epc-level-proximity-request"/>

<xs:element name="PROXIMITY_REQUEST_RESPONSE" type="prose-epc-level-proximity-request-response"/>

<xs:element name="PROXIMITY_ALERT" type="prose-epc-level-proximity-alert"/>

<xs:element name="UE_DEREGISTRATION_REQUEST" type="prose-epc-level-ue-deregistration-request"/>

<xs:element name="UE_DEREGISTRATION_RESPONSE" type="prose-epc-level-ue-deregistration-response"/>

<xs:element name="CANCEL_PROXIMITY_REQUEST" type="prose-epc-level-cancel-proximity-request"/>

<xs:element name="CANCEL_PROXIMITY_RESPONSE" type="prose-epc-level-cancel-proximity-response"/>

<xs:element name="PROXIMITY_REQUEST_VALIDATION" type="prose-epc-level-proximity-request-validation"/>

<xs:element name="PROXIMITY_REQUEST_VALIDATION_RESPONSE" type="prose-epc-level-proximity-request-validation-response"/>

<xs:element name="DISCOVERY_UPDATE_REQUEST" type="prose-direct-discovery-update-request"/>

<xs:element name="DISCOVERY_UPDATE_RESPONSE" type="prose-direct-discovery-update-response"/>

<xs:element name="ANNOUNCING_ALERT_REQUEST" type="prose-direct-discovery-announcing-alert-request"/>

<xs:element name="ANNOUNCING_ALERT_RESPONSE" type="prose-direct-discovery-announcing-alert-response"/>

<xs:element name="message-ext" type="DiscMsgExtType"/>

<xs:any namespace="##other" processContents="lax"/>

</xs:choice>

</xs:complexType>

</xs:element>

</xs:schema>

An entity receiving the XML body ignores any unknown XML element and any unknown XML attribute.

11.2.4 Semantics

11.2.4.1 General

The <prose-discovery-message> element is the root element of this XML document and it can be one of the following elements:

– <DISCOVERY_REQUEST>;

– <DISCOVERY_RESPONSE>;

– <MATCH_REPORT>;

– <MATCH_REPORT_ACK>;

– <UE_REGISTRATION_REQUEST>;

– <UE_REGISTRATION_RESPONSE>;

– <APPLICATION_REGISTRATION_REQUEST>;

– <APPLICATION_REGISTRATION_RESPONSE>;

– <PROXIMITY_REQUEST>;

– <PROXIMITY_REQUEST_RESPONSE>;

– <PROXIMITY_ALERT>;

– <UE_DEREGISTRATION_REQUEST>;

– <UE_DEREGISTRATION_RESPONSE>;

– <CANCEL_PROXIMITY_REQUEST>;

– <CANCEL_PROXIMITY_RESPONSE>;

– <PROXIMITY_REQUEST_VALIDATION>;

– <PROXIMITY_REQUEST_VALIDATION_RESPONSE>;

– <DISCOVERY_UPDATE_REQUEST>;

– <DISCOVERY_UPDATE_RESPONSE>

– <ANNOUNCE_ALERT_REQUEST>;

– <ANNOUNCE_ALERT_RESPONSE>;

– <message-ext> element containing other discovery message defined in future releases; or

– an element from other namespaces defined in future releases.

11.2.4.2 Semantics of <DISCOVERY_REQUEST>

The <DISCOVERY_REQUEST> element contains one or more of the following elements:

1) zero, one or more <discovery-request> element which contains transactions sent from the UE to the ProSe Function as announcing or monitoring requests for open ProSe direct discovery. Each <discovery-request> consists of:

a) a <transaction-ID> element containing the parameter defined in subclause 12.2.2.1;

b) a <command> element containing the parameter defined in subclause 12.2.2.2;

c) a <UE-identity> element containing the parameter defined in subclause 12.2.2.3;

d) a <Prose-Application-ID> element containing the parameter defined in subclause 12.2.2.4;

e) an <application-identity> element containing the parameter defined in subclause 12.2.2.5;

f) a <Discovery-Entry-ID> element containing the parameter defined in subclause 12.2.2.33;

g) an optional <Requested-Timer> element containing the parameter defined in subclause 12.2.2.27;

h) an optional <metadata> element containing the parameter defined in subclause 12.2.2.21;

i) an optional <Announcing-PLMN-ID> element containing the parameter defined in subclause 12.2.2.64;

j) zero or one <ACE-enabled-indicator> element containing the parameter defined in subclause 12.2.2.38;

k) zero or one <PC5-tech> element containing the parameter defined in subclause 12.2.2.71;

l) zero or one <anyExt> element containing elements defined in future releases;

m) zero, one or more elements from other namespaces defined in future releases; and

n) zero, one or more attributes defined in future releases;

2) zero, one, or more <restricted-discovery-request> element which contains transactions sent from the UE to the ProSe Function as announcing or monitoring requests for restricted ProSe directed discovery model A or transactions sent from the UE to the ProSe Function as discoveree or discoverer requests for restricted ProSe directed discovery model B. Each <restricted-discovery-request> consists of:

a) a <transaction-ID> element containing the parameter defined in subclause 12.2.2.1;

b) a <command> element containing the parameter defined in subclause 12.2.2.2;

c) a <UE-identity> element containing the parameter defined in subclause 12.2.2.3;

d) a <RPAUID> element containing the parameter defined in subclause 12.2.2.30;

e) an <application-identity> element containing the parameter defined in subclause 12.2.2.5;

f) a <discovery-type> element containing the parameter defined in subclause 12.2.2.25;

g) zero or one <ACE-enabled-indicator> element containing the parameter defined in subclause 12.2.2.38;

h) an <announcing-type> element containing the parameter defined in subclause 12.2.2.31;

i) an <application-level-container> element containing the parameter defined in subclause 12.2.2.32;

j) zero or one <discovery-model> element containing the parameter defined in subclause 12.2.2.41;

k) zero or one <Announcing-PLMN-ID> element containing the parameter defined in subclause 12.2.2.64;

l) a <discovery-entry-id> element containing the parameter defined in subclause 12.2.2.33;

m) an optional <Requested-Timer> element containing the parameter defined in subclause 12.2.2.27;

n) zero or one <PC5-tech> element containing the parameter defined in subclause 12.2.2.71;

o) zero or one <anyExt> element containing elements defined in future releases;

p) zero, one or more elements from other namespaces defined in future releases; and

q) zero, one or more attributes defined in future releases;

3) zero or one <anyExt> element containing elements defined in future releases;

4) zero, one or more elements from other namespaces defined in future releases;

5) an optional "network-initiated transaction method" attribute containing the parameter defined in subclause 12.2.2.63; and

6) zero, one or more attributes defined in future releases.

11.2.4.3 Semantics of <DISCOVERY_RESPONSE>

The <DISCOVERY_RESPONSE> element contains one or more of the following elements:

1) a <Current-Time> element containing the parameter defined in subclause 12.2.2.23;

2) a <Max-Offset> element containing the parameter defined in subclause 12.2.2.24;

3) zero, one or more <response-announce> element which contains transactions sent from the ProSe Function to the UE as a response to an announcing request if the ProSe Function accepts the request. Each <response-announce> consists of:

a) a <transaction-ID> element containing the parameter defined in subclause 12.2.2.1;

b) zero, one or more <ProSe-Application-Code> elements containing the parameter defined in subclause 12.2.2.6;c) zero or one <ProSe Application Code-ACE> element containing the parameter defined in subclause 12.2.2.70;

d) zero, or one <validity-timer-T4000> element containing the parameter defined in 12.2.2.7;

e) zero, or, one <discovery-key> element containing the parameter defined in subclause 12.2.2.9;

f) a <Discovery-Entry-ID> element containing the parameter defined in subclause 12.2.2.33;

g) zero or one <ACE-enabled-indicator> element containing the parameter defined in subclause 12.2.2.38;

h) zero or one <PC5-tech> element containing the parameter defined in subclause 12.2.2.71;

i) zero or one <anyExt> element containing elements defined in future releases;

j) zero, one or more elements from other namespaces defined in future releases; and

k) zero, one or more attributes defined in future releases;

4) zero, one or more <response-monitor> element which contains transactions sent from the ProSe Function to the UE as a response to a monitoring request if the ProSe Function accepts the request. Each <response-monitor> consists of:

a) a <transaction-ID> element containing the parameter defined in subclause 12.2.2.1;

b) zero, one or more <discovery-filter> elements containing the parameter defined in subclause 12.2.2.12;

c) a <Discovery-Entry-ID> element containing the parameter defined in subclause 12.2.2.33;

d) zero or one <ACE-enabled-indicator> element containing the parameter defined in subclause 12.2.2.38;

da) zero or one <PC5-tech> element containing the parameter defined in subclause 12.2.2.71;

e) zero or one <anyExt> element containing elements defined in future releases;

f) zero, one or more elements from other namespaces defined in future releases; and

g) zero, one or more attributes defined in future releases;

5) zero, one or more <restricted-announce-response> element which contains transactions sent from the ProSe Function to the UE as a response to an announcing request for restricted ProSe direct discovery model A if the ProSe Function accepts the request. Each <restricted-announce-response> consists of:

a) a <transaction-ID> element containing the parameter defined in subclause 12.2.2.1;

b) zero or one <ProSe-Restricted-Code> element containing the parameter defined in subclause 12.2.2.34;

c) zero, one or more <ProSe-Restricted-Code-Suffix-Range> element containing the parameter defined in subclause 12.2.2.35;

d) zero or one <validity-timer-T4007> element containing the parameter defined in 12.2.2.39;

e) zero or one <ACE-enabled-indicator> element containing the parameter defined in subclause 12.2.2.38;

f) zero or one <restricted-code-security-material> element containing the parameter defined in subclause 12.2.2.40;

g) an optional <on-demand-announcing-enabled-indicator> element containing the parameter defined in subclause 12.2.2.36;

h) a <discovery-entry-id> element containing the parameter defined in subclause 12.2.2.33;

i) zero or one <PC5-tech> element containing the parameter defined in subclause 12.2.2.71;

j) zero or one <anyExt> element containing elements defined in future releases;

k) zero, one or more elements from other namespaces defined in future releases; and

l) zero, one or more attributes defined in future releases;

6) zero, one or more <restricted-monitor-response> element which contains transactions sent from the ProSe Function to the UE as a response to a monitoring request for restricted ProSe direct discovery model A if the ProSe Function accepts the request. Each <restricted-monitor-response> consists of:

a) a <transaction-ID> element containing the parameter defined in subclause 12.2.2.1;

b) zero, one or more <restricted-discovery-filter> elements containing the parameter defined in subclause 12.2.2.37;

c) zero or one <ACE-enabled-indicator> element containing the parameter defined in subclause 12.2.2.38

d) a <discovery-entry-id> element containing the parameter defined in subclause 12.2.2.33;

e) an <application-level-container> element containing the parameter defined in subclause 12.2.2.32;

f) zero or one <PC5-tech> element containing the parameter defined in subclause 12.2.2.71;

g) zero or one <anyExt> element containing elements defined in future releases;

h) zero, one or more elements from other namespaces defined in future releases; and

i) zero, one or more attributes defined in future releases;

7) zero, one or more <restricted-discoveree-response> element which contains transactions sent from the ProSe Function to the UE as a response to a discoveree UE’s request for restricted ProSe direct discovery model B if the ProSe Function accepts the request. Each <restricted-discoveree-response> consists of:

a) a <transaction-ID> element containing the parameter defined in subclause 12.2.2.1;

b) a <ProSe-Response-Code> element containing the element defined in subclause12.2.2.42;

c) one or more <query-filter> elements containing the parameter defined in subclause 12.2.2.43;

d) a <validity-timer-T4011> element containing the parameter defined in subclause 12.2.2.44;

e) zero or one <restricted-code-security-material> element containing the parameter defined in subclause 12.2.2.40;

f) a <discovery-entry-id> element containing the parameter defined in subclause 12.2.2.33;

g) zero or one <PC5-tech> element containing the parameter defined in subclause 12.2.2.71;

h) zero or one <anyExt> element containing elements defined in future releases;

i) zero, one or more elements from other namespaces defined in future releases; and

j) zero, one or more attributes defined in future releases;

8) zero, one or more <restricted-discoverer-response> element which contains transactions sent from the ProSe Function to the UE as a response to a discoverer UE’s request for restricted ProSe direct discovery model B if the ProSe Function accepts the request. Each <restricted-discoverer-response> consists of:

a) a <transaction-ID> element containing the parameter defined in subclause 12.2.2.1;

b) one or more <subquery-result> elements containing the parameter defined in subclause 12.2.2.45;

c) a <discovery-entry-id> element containing the parameter defined in subclause 12.2.2.33;

d) zero or one <PC5-tech> element containing the parameter defined in subclause 12.2.2.71;

e) zero or one <anyExt> element containing elements defined in future releases;

f) zero, one or more elements from other namespaces defined in future releases; and

g) zero, one or more attributes defined in future releases;

9) zero, one or more <response-reject> element which contains transactions sent from the ProSe Function to the UE as a response to an announcing or monitoring requests if the ProSe Function cannot accept the request. Each <response-reject> consists of:

a) a <transaction-ID> element containing the parameter defined in subclause 12.2.2.1;

b) a <PC3-control-protocol-cause-value> element containing the parameter defined in subclause 12.2.2.8.

c) zero, one or more elements defined in future releases; and

d) zero, one or more attributes defined in future releases;

10) zero or one <anyExt> element containing elements defined in future releases;

11) zero, one or more elements from other namespaces defined in future releases;

12) an optional "network-initiated transaction method" attribute containing the parameter defined in subclause 12.2.2.63; and

13) zero, one or more attributes defined in future releases.

11.2.4.4 Semantics of <MATCH_REPORT>

The <MATCH_REPORT> element contains one or more of the following element:

1) zero, one or more <match-report> element which contains transactions sent from the UE to the ProSe Function to report a matching of the direct discovery. Each <match-report> consists of:

a) a <transaction-ID> element containing the parameter defined in subclause 12.2.2.1;

b) a <ProSe-Application-Code> element containing the parameter defined in subclause 12.2.2.6;

c) a <UE-identity> element containing the parameter defined in subclause 12.2.2.3;

d) a <Monitored-PLMN-id> element containing the parameter defined in subclause 12.2.2.16;

e) an optional <VPLMN-id> element containing the parameter defined in subclause 12.2.2.17;

f) a <MIC> element containing the parameter defined in subclause 12.2.2.11;

g) a <UTC-based-counter> element containing the parameter defined in subclause 12.2.2.18;

h) a <metadata-flag> element containing the parameter defined in subclause 12.2.2.20;

i) a <MessageType> element containing the parameter defined in subclause 12.2.2.10;

j) zero or one <PC5-tech> element containing the parameter defined in subclause 12.2.2.71;

k) zero or one <anyExt> element containing elements defined in future releases;

l) zero, one or more elements from other namespaces defined in future releases; and

m) zero, one or more attributes defined in future releases;

2) zero, one or more <restricted-match> element which contain transactions sent from the UE to the ProSe Function to report a matching of the restricted direct discovery model A or model B. Each <restricted-match> consists of:

a) a <transaction-ID> element containing the parameter defined in subclause 12.2.2.1;

b) a <UE-identity> element containing the parameter defined in subclause subclause 12.2.2.3;

c) a <discovery-type> element containing the parameter defined in subclause 12.2.2.25

d) an <application-identity> element containing the parameter defined in subclause 12.2.2.5

e) an <RPAUID> element containing the parameter defined in subclause 12.2.2.30;

f) a <Restricted-Code-Discovered> element containing the ProSe Restricted Code parameter defined in subclause 12.2.2.34 or ProSe Response Code parameter defined in subclause 12.2.2.42;

g) an optional <MIC> element containing the parameter defined in subclause 12.2.2.11;

h) an optional <MessageType> element containing the parameter defined in subclause 12.2.2.10;

i) an optional <UTC-based-counter> element containing the parameter defined in subclause 12.2.2.18;

j) a <metadata-flag> element containing the parameter defined in subclause 12.2.2.20;

k) zero or one <PC5-tech> element containing the parameter defined in subclause 12.2.2.71;

l) zero or one <anyExt> element containing elements defined in future releases;

m) zero, one or more elements from other namespaces defined in future releases; and

n) zero, one or more attributes defined in future releases.

3) zero or one <anyExt> element containing elements defined in future releases;

4) zero, one or more elements from other namespaces defined in future releases; and

5) zero, one or more attributes defined in future releases.

11.2.4.5 Semantics of <MATCH_REPORT_ACK>

The <MATCH_REPORT_ACK> element contains one or more of the following elements:

1) a <Current-Time> element containing the parameter defined in subclause 12.2.2.23;

2) zero, one or more <match-ack> element which contains transactions sent from the ProSe Function to the UE as a response to a match report if the ProSe Function accepts the report. Each <match-ack> consists of:

a) a <transaction-ID> element containing the parameter defined in subclause 12.2.2.1;

b) a <ProSe-Application-ID> element containing the parameter defined in subclause 12.2.2.4;

c) a <validity-timer-T4004> element containing the parameter defined in subclause 12.2.2.19;

d) an optional <metadata> element containing the parameter defined in subclause 12.2.2.21;

e) an optional <metadata-index-mask> element containing the parameter defined in subclause 12.2.2.62;

f) zero or one <anyExt> element containing elements defined in future releases;

g) zero, one or more elements from other namespaces defined in future releases;

h) a mandatory "match-report-refresh-timer-T4006" attribute containing the parameter defined in subclause 12.2.2.26; and

i) zero, one or more attributes defined in future releases;

3) zero, one or more <restricted-match-ack> element which contain transactions sent from the ProSe Function to the UE as a response to a match report if the ProSe Function accepts the report. Each <restricted-match-ack> consists of:

a) a <transaction-ID> element containing the parameter defined in subclause 12.2.2.1;

b) an <application-identity> element containing the parameter defined in subclause 12.2.2.5;

c) an <RPAUID> element containing the parameter defined in subclause 12.2.2.30;

d) a <validity-timer-T4016> element containing the parameter defined in subclause 12.2.2.60;

e) an optional <metadata> element containing the parameter defined in subclause 12.2.2.21;

f) zero or one <anyExt> element containing elements defined in future releases;

g) zero, one or more elements from other namespaces defined in future releases;

h) an optional "match-report-refresh-timer-T4017" attribute containing the parameter defined in subclause 12.2.2.61; and

i) zero, one or more attributes defined in future releases;

4) zero, one or more <match-reject> element which contains transactions sent from the ProSe Function to the UE as a response to a match report if the ProSe Function cannot accept the match report. Each <match-reject> consists of:

a) a <transaction-ID> element containing the parameter defined in subclause 12.2.2.1;

b) a <PC3-control-protocol-cause-value> element containing the parameter defined in subclause 12.2.2.8;

c) zero, one or more elements defined in future releases; and

d) zero, one or more attributes defined in future releases;

5) zero or one <anyExt> element containing elements defined in future releases;

6) zero, one or more elements from other namespaces defined in future releases; and

7) zero, one or more attributes defined in future releases.

11.2.4.6 Semantics of <UE_REGISTRATION_REQUEST>

The <UE_REGISTRATION_REQUEST> element contains one or more of the following elements:

1) One or more <UE-register-request> element which contains transactions sent from the UE to the ProSe Function to register the UE. Each <UE-register-request > consists of:

a) a <transaction-ID> element containing the parameter defined in subclause 12.3.2.1;

b) a <UE-identity> element containing the parameter defined in subclause 12.3.2.2;

c) a <WLAN-link-layer-ID> element containing the parameter defined in subclause 12.3.2.6;

d) a <method-for-server-initiated-transaction> element containing the parameter defined in subclause 12.3.2.14;

e) zero or one <anyExt> element containing elements defined in future releases;

f) zero, one or more elements from other namespaces defined in future releases; and

g) zero, one or more attributes defined in future releases;

2) zero or one <anyExt> element containing elements defined in future releases;

3) zero, one or more elements from other namespaces defined in future releases; and

4) zero, one or more attributes defined in future releases.

11.2.4.7 Semantics of <UE_REGISTRATION_RESPONSE>

The <UE_REGISTRATION_RESPONSE> element contains one or more of the following elements:

1) zero, one or more <response-register> element which contains transactions sent from the ProSe Function to the UE as a response to the UE_REGISTRATION_REQUEST message if the ProSe Function accepts the request. Each <response-register> consists of:

a) a <transaction-ID> element containing the parameter defined in subclause 12.3.2.1;

b) an <EPC-ProSe-User-ID> element containing the parameter defined in subclause 12.3.2.7;

c) a <server-initiated-method-config> element containing the parameter defined in subclause 12.3.2.15;

d) zero, one or more elements defined in future releases; and

e) zero, one or more attributes defined in future releases;

2) zero, one or more <response-reject> element which contains transactions sent from the ProSe Function to the UE as a response to the UE_REGISTRATION_REQUEST message if the ProSe Function cannot accept the request. Each <response-reject> consists of:

a) a <transaction-ID> element containing the parameter defined in subclause 12.3.2.1;

b) a <PC3-EPC-control-protocol-cause-value> element containing the parameter defined in subclause 12.3.2.5;

c) zero, one or more elements defined in future releases; and

d) zero, one or more attributes defined in future releases;

3) zero or one <anyExt> element containing elements defined in future releases;

4) zero, one or more elements from other namespaces defined in future releases; and

5) zero, one or more attributes defined in future releases.

11.2.4.8 Semantics of <APPLICATION_REGISTRATION_REQUEST>

The <APPLICATION_REGISTRATION_REQUEST> element contains one or more of the following elements:

1) One or more <application-register-request> element which contains transactions sent from the UE to the ProSe Function to activate EPC-level ProSe discovery for a specific application. Each < application-register-request > consists of:

a) a <transaction-ID> element containing the parameter defined in subclause 12.3.2.1;

b) an <EPC-ProSe-User-ID> element containing the parameter defined in subclause 12.3.2.7.

c) an <application-identity> element containing the parameter defined in subclause 12.3.2.3;

d) an <Application-Layer-User-ID> element containing the parameter defined in subclause 12.3.2.4;

e) zero, one or more elements defined in future releases; and

f) zero, one or more attributes defined in future releases;

2) zero or one <anyExt> element containing elements defined in future releases;

3) zero, one or more elements from other namespaces defined in future releases; and

4) zero, one or more attributes defined in future releases.

11.2.4.9 Semantics of <APPLICATION_REGISTRATION_RESPONSE>

The <APPLICATION_REGISTRATION_RESPONSE> element contains one or more of the following elements:

1) zero, one or more <response-register> element which contains transactions sent from the ProSe Function to the UE as a response to the APPLICATION_REGISTRATION_REQUEST message if the ProSe Function accepts the request. Each <response-register> consists of:

a) a <transaction-ID> element containing the parameter defined in subclause 12.3.2.1;

b) one or more <allowed-range-class> element containing the parameter defined in subclause 12.3.2.8;

c) zero or one <anyExt> element containing elements defined in future releases;

d) zero, one or more elements from other namespaces defined in future releases; and

e) zero, one or more attributes defined in future releases;

2) zero,one or more <response-reject> element which contains transactions sent from the ProSe Function to the UE as a response to the APPLICATION_REGISTRATION_REQUEST message if the ProSe Function cannot accept the request. Each <response-reject> consists of:

a) a <transaction-ID> element containing the parameter defined in subclause 12.3.2.1;

b) a <PC3-EPC-control-protocol-cause-value> element containing the parameter defined in subclause 12.3.2.5;

c) zero, one or more elements defined in future releases; and

d) zero, one or more attributes defined in future releases;

3) zero or one <anyExt> element containing elements defined in future releases;

4) zero, one or more elements from other namespaces defined in future releases; and

5) zero, one or more attributes defined in future releases.

11.2.4.10 Semantics of <PROXIMITY_REQUEST>

The <PROXIMITY_REQUEST> element contains one or more of the following elements:

1) One or more <proximity-request> element which contains transactions sent from the UE to the ProSe Function to request to be alerted when it enters in proximity with a targeted UE. Each < proximity-request > consists of:

a) a <transaction-ID> element containing the parameter defined in subclause 12.3.2.1;

b) an <EPC-ProSe-User-ID-A> element containing the parameter defined in subclause 12.3.2.7;

c) an <application-identity> element containing the parameter defined in subclause 12.3.2.3;

d) an <Application-Layer-User-ID-A> element containing the parameter defined in subclause 12.3.2.4;

e) an <Application-Layer-User-ID-B> element containing the parameter defined in subclause 12.3.2.4;

f) a <requested-range-class> element containing the parameter defined in subclause 12.3.2.8;

g) a <UE-A-Location> element containing the parameter defined in subclause 12.3.2.11;

h) a <time-window> element containing the parameter defined in subclause 12.3.2.9;

i) an optional <WLAN-indication> element containing the parameter defined in subclause 12.3.2.12;

j) zero or one <anyExt> element containing elements defined in future releases;

k) zero, one or more elements from other namespaces defined in future releases; and

l) zero, one or more attributes defined in future releases;

2) zero or one <anyExt> element containing elements defined in future releases;

3) zero, one or more elements from other namespaces defined in future releases; and

4) zero, one or more attributes defined in future releases.

11.2.4.11 Semantics of <PROXIMITY_REQUEST_RESPONSE>

The <PROXIMITY_REQUEST_RESPONSE> element contains one or more of the following elements:

1) zero,one or more <response-accept> element which contains transactions sent from the ProSe Function to the UE as a response to the PROXIMITY_REQUEST message if the ProSe Function accepts the request. Each <response-register> consists of:

a) a <transaction-ID> element containing the parameter defined in subclause 12.3.2.1;

b) zero, one or more elements defined in future releases; and

c) zero, one or more attributes defined in future releases;

2) zero, one or more <response-reject> element which contains transactions sent from the ProSe Function to the UE as a response to the PROXIMITY_REQUEST message if the ProSe Function cannot accept the request. Each <response-reject> consists of:

a) a <transaction-ID> element containing the parameter defined in subclause 12.3.2.1;

b) a <PC3-EPC-control-protocol-cause-value> element containing the parameter defined in subclause 12.3.2.5;

c) zero, one or more elements defined in future releases; and

d) zero, one or more attributes defined in future releases;

3) zero or one <anyExt> element containing elements defined in future releases;

4) zero, one or more elements from other namespaces defined in future releases; and

5) zero, one or more attributes defined in future releases.

11.2.4.12 Semantics of <PROXIMITY_ALERT>

The <PROXIMITY_ALERT> element contains one or more of the following elements:

1) One or more <proximity-alert> element which contains transactions sent from the ProSe Function to the (UE A) and optionally to targeted (UE B) to alert them that they have entered in proximity. Each <proximity-alert> consists of:

a) <transaction-ID> element containing the parameter defined in subclause 12.3.2.1;

b) an <application-identity> element containing the parameter defined in subclause 12.3.2.3;

c) an <Application-Layer-User-ID-A> element containing the parameter defined in subclause 12.3.2.4;

d) an <Application-Layer-User-ID-B> element containing the parameter defined in subclause 12.3.2.4;

e) an optional <assistance-information> element containing the parameter defined in subclause 12.3.2.13;

f) zero or one <anyExt> element containing elements defined in future releases;

g) zero, one or more elements from other namespaces defined in future releases; and

h) zero, one or more attributes defined in future releases;

2) zero or one <anyExt> element containing elements defined in future releases;

3) zero, one or more elements from other namespaces defined in future releases; and

4) zero, one or more attributes defined in future releases.

11.2.4.13 Semantics of <UE_DEREGISTRATION_REQUEST>

The <UE_DEREGISTRATION_REQUEST> element contains one or more of the following elements:

1) One or more <UE-deregister-request> element which contains transactions sent either from the UE to the ProSe Function or from the ProSe Function to the UE to deregister the UE. Each < UE-deregister-request > consists of:

a) a <transaction-ID> element containing the parameter defined in subclause 12.3.2.1;

b) an <EPC-ProSe-User-ID> element containing the parameter defined in subclause 12.3.2.7;

c) a <PC3-EPC-control-protocol-cause-value> element containing the parameter defined in subclause 12.3.2.5;

d) zero, one or more elements defined in future releases; and

e) zero, one or more attributes defined in future releases

2) zero or one <anyExt> element containing elements defined in future releases;

3) zero, one or more elements from other namespaces defined in future releases; and

4) zero, one or more attributes defined in future releases.

11.2.4.14 Semantics of <UE_DEREGISTRATION_RESPONSE>

The <UE_DEREGISTRATION_RESPONSE> element contains one or more of the following elements:

1) One or more <UE-deregister-response> element which contains transactions sent either from the UE to the ProSe Function or from the ProSe Function to the UE to complete the UE deregistration. Each < UE-deregister-response > consists of:

a) a <transaction-ID> element containing the parameter defined in subclause 12.3.2.1;

b) zero, one or more elements defined in future releases; and

c) zero, one or more attributes defined in future releases

2) zero or one <anyExt> element containing elements defined in future releases;

3) zero, one or more elements from other namespaces defined in future releases; and

4) zero, one or more attributes defined in future releases.

11.2.4.15 Semantics of <CANCEL_PROXIMITY_REQUEST>

The <CANCEL_PROXIMITY_REQUEST> element contains one or more of the following elements:

1) One or more <cancel-proximity-request> element which contains transactions sent from the UE to the ProSe Function or from the ProSe Function to the UE to request cancellation of an ongoing proximity request. Each < cancel_proximity-request > consists of:

a) a <transaction-ID> element containing the parameter defined in subclause 12.3.2.1;

b) an <EPC-ProSe-User-ID-A> element containing the parameter defined in subclause 12.3.2.7;

c) an <application-identity> element containing the parameter defined in subclause 12.3.2.3;

d) an <Application-Layer-User-ID-B> element containing the parameter defined in subclause 12.3.2.4;

e) zero, one or more elements defined in future releases; and

f) zero, one or more attributes defined in future releases;

2) zero or one <anyExt> element containing elements defined in future releases

3) zero, one or more elements from other namespaces defined in future releases; and

4) zero, one or more attributes defined in future releases.

11.2.4.16 Semantics of <CANCEL_PROXIMITY_RESPONSE>

The <CANCEL_PROXIMITY_RESPONSE> element contains one or more of the following elements:

1) One or more <cancel-proximity-responset> element which contains transactions sent from the ProSe Function to the UE or from the UE to the ProSe Function as a response to CANCEL_PROXIMITY_REQUEST message. Each < cancel_proximity-response > consists of:

a) a <transaction-ID> element containing the parameter defined in subclause 12.3.2.1;

b) zero, one or more elements defined in future releases; and

c) zero, one or more attributes defined in future releases;

2) zero or one <anyExt> element containing elements defined in future releases;

3) zero, one or more elements from other namespaces defined in future releases; and

4) zero, one or more attributes defined in future releases.

11.2.4.17 Semantics of <PROXIMITY_REQUEST_VALIDATION>

The <PROXIMITY_REQUEST_VALIDATION> element contains one or more of the following elements:

1) One or more <proximity-request-validation> element which contains transactions sent by the ProSe Function to the targeted UE (UE B) to request confirmation of permission for proximity request. Each <proximity-request-validation> consists of:

a) a <transaction-ID> element containing the parameter defined in subclause 12.3.2.1;

b) an <application-identity> element containing the parameter defined in subclause 12.3.2.3;

c) zero, one or more elements defined in future releases; and

d) zero, one or more attributes defined in future releases;

2) zero or one <anyExt> element containing elements defined in future releases;

3) zero, one or more elements from other namespaces defined in future releases; and

4) zero, one or more attributes defined in future releases.

11.2.4.18 Semantics of <PROXIMITY_REQUEST_VALIDATION_RESPONSE>

The <PROXIMITY_REQUEST_VALIDATION_RESPONSE> element contains one or more of the following elements:

1) zero, one or more <response-accept> element which contains transactions sent from the UE to the ProSe Function as a response to the PROXIMITY_REQUEST_VALIDATION message if the application in the UE accepts the request. Each <response-accept> consists of:

a) a <transaction-ID> element containing the parameter defined in subclause 12.3.2.1;

b) zero, one or more elements defined in future releases; and

c) zero, one or more attributes defined in future releases;

2) zero, one or more <response-reject> element which contains transactions sent from the UE to the ProSe Function as a response to the PROXIMITY_REQUEST_VALIDATION message if the application in the UE does not accept the request. Each <response-reject> consists of:

a) a <transaction-ID> element containing the parameter defined in subclause 12.3.2.1;

b) a <PC3-EPC-control-protocol-cause-value> element containing the parameter defined in subclause 12.3.2.5.

c) zero, one or more elements defined in future releases; and

d) zero, one or more attributes defined in future releases;

3) zero or one <anyExt> element containing elements defined in future releases;

4) zero, one or more elements from other namespaces defined in future releases; and

5) zero, one or more attributes defined in future releases.

11.2.4.19 Semantics of < DISCOVERY_UPDATE_REQUEST>

The < DISCOVERY_UPDATE_REQUEST> element contains one or more of the following elements:

1) One or more <discovery-update-request> element which contains transactions sent from the ProSe Function to the UE as announcing or monitoring requests. Each <discovery-update-request> consists of:

a) a <prose-function-transaction-ID> element containing the parameter defined in subclause 12.2.2.28;

b) a <UE-identity> element containing the parameter defined in subclause 12.2.2.3;

c) a <discovery-entry-id> element containing the parameter defined in subclause 12.2.2.33;

d) an optional <update-info> element containing the parameter defined in subclause 12.2.2.29;

e) zero or one <anyExt> element containing elements defined in future releases;

f) zero, one or more elements defined in future releases; and

g) zero, one or more attributes defined in future releases;

2) zero or one <anyExt> element containing elements defined in future releases;

3) zero, one or more elements from other namespaces defined in future releases; and

4) zero, one or more attributes defined in future releases.

11.2.4.20 Semantics of < DISCOVERY_UPDATE_RESPONSE>

The < DISCOVERY_UPDATE _RESPONSE> element contains one or more of the following elements:

1) one or more <response-update> element which contains transactions sent from the UE to the ProSe Function as a response if the UE accepts the request. Each <discovery-update-response> consists of:

a) a <prose-function-transaction-ID> element containing the parameter defined in subclause 12.2.2.28;

b) a <discovery-entry-id> element containing the parameter defined in subclause 12.2.2.33;

c) zero, one or more elements defined in future releases; and

d) zero, one or more attributes defined in future releases;

2) zero, one or more <response-reject> element which contains transactions sent from the UE to the ProSe Function as a response if the UE cannot accept the request. Each <response-reject> consists of:

a) a <prose-function-transaction-ID> element containing the parameter defined in subclause 12.2.2.28;

b) a <PC3-control-protocol-cause-value> element containing the parameter defined in subclause 12.2.2.8.

c) zero, one or more elements defined in future releases; and

d) zero, one or more attributes defined in future releases;

3) zero or one <anyExt> element containing elements defined in future releases;

4) zero, one or more elements from other namespaces defined in future releases; and

5) zero, one or more attributes defined in future releases.

11.2.4.21 Semantics of <ANNOUNCING_ALERT_REQUEST>

The <ANNOUNCING_ALERT_REQUEST> element contains one or more of the following elements:

1) One or more <announcing-alert-request> element which contains transactions sent from the UE to the ProSe Function as announcing or monitoring requests. Each <announcing-alert-request> consists of:

a) a <prose-function-transaction-ID> element containing the parameter defined in subclause 12.2.2.28;

b) a <UE-identity> element containing the parameter defined in subclause 12.2.2.3;

c) a <RPAUID> element containing the parameter defined in subclause 12.2.2.30;

d) a <Discovery-Entry-ID> element containing the parameter defined in subclause 12.2.2.33;

e) a <ProSe-Restricted-Code> element containing the parameter defined in subclause 12.2.2.34;

f) zero, one or more <ProSe-Restricted-Code-Suffix-Range> element containing the parameter defined in subclause 12.2.2.35;

g) zero or one <anyExt> element containing elements defined in future releases;

h) zero, one or more elements from other namespaces defined in future releases; and

i) zero, one or more attributes defined in future releases;

2) zero or one <anyExt> element containing elements defined in future releases;

3) zero, one or more elements from other namespaces defined in future releases; and

4) zero, one or more attributes defined in future releases.

11.2.4.22 Semantics of < ANNOUNCING_ALERT_RESPONSE >

The <ANNOUNCING_ALERT_RESPONSE> element contains one or more of the following elements:

1) One or more <announcing-alert-response> element which contains transactions sent from the UE to the ProSe Function as announcing or monitoring requests. Each <announcing-alert-response> consists of:

a) a <prose-function-transaction-ID> element containing the parameter defined in subclause 12.2.2.28;

b) zero, one or more elements defined in future releases; and

c) zero, one or more attributes defined in future releases;

2) zero, one or more <response-reject> element which contains transactions sent from the UE to the ProSe Function as a response if the UE cannot accept the request. Each <response-reject> consists of:

a) a <prose-function-transaction-ID> element containing the parameter defined in subclause 12.2.2.28;

b) a <PC3-control-protocol-cause-value> element containing the parameter defined in subclause 12.2.2.8.

c) zero, one or more elements defined in future releases; and

d) zero, one or more attributes defined in future releases;

3) zero or one <anyExt> element containing elements defined in future releases;

4) zero, one or more elements from other namespaces defined in future releases; and

5) zero, one or more attributes defined in future releases.

11.2.5 PC5_DISCOVERY

11.2.5.1 Message definition

This message is sent by the UE over the PC5 interface for open ProSe direct discovery and restricted ProSe direct discovery. See table 11.2.5.1.1, table 11.2.5.1.1A, table 11.2.5.1.2, table 11.2.5.1.3, table 11.2.5.1.4, table 11.2.5.1.5, table 11.2.5.1.6, table 11.2.5.1.7, table 11.2.5.1.8, table 11.2.5.1.9 and table 11.2.5.1.10.

Table 11.2.5.1.1: PC5_DISCOVERY message content for open ProSe direct discovery

Information Element

Type/Reference

Presence

Length (bits)

Message Type (NOTE)

Message Type

12.2.2.10

M

8

ProSe Application Code

Binary

12.2.2.6

M

184

MIC

Binary

12.2.2.11

M

32

UTC-based Counter LSB

Binary

12.2.2.22

M

8

NOTE: The Discovery Type is set to "Open discovery" and the Content Type is not set to "application-controlled extension enabled".

Table 11.2.5.1.1A: PC5_DISCOVERY message content for open ProSe direct discovery with application-controlled extension

Information Element

Type/Reference

Presence

Length (bits)

Message Type (NOTE 1)

Message Type

12.2.2.10

M

8

ProSe Application Code Prefix (NOTE 2)

Binary

12.2.2.68

M

32-176

ProSe Application Code Suffix (NOTE 2)

Binary

12.2.2.69

M

8-152

MIC

Binary

12.2.2.11

M

32

UTC-based Counter LSB

Binary

12.2.2.22

M

8

NOTE 1: The Discovery Type is set to "Open discovery" and the Content Type is set to "application-controlled extension enabled".

NOTE 2: The sum of the lengths of the ProSe Application Code Prefix and the ProSe Application Code Suffix is 184 bits.

Table 11.2.5.1.2: PC5_DISCOVERY message content for restricted ProSe direct discovery

Information Element

Type/Reference

Presence

Length (bits)

Message Type (NOTE)

Message Type

12.2.2.10

M

8

ProSe Restricted Code

Binary

12.2.2.34

M

184

MIC

Binary

12.2.2.11

M

32

UTC-based Counter LSB

Binary

12.2.2.22

M

8

NOTE: The Discovery Type is set to "Restricted discovery" and the Content Type is not set to "application-controlled extension enabled".

Table 11.2.5.1.3: PC5_DISCOVERY message content for restricted ProSe direct discovery with application-controlled extension

Information Element

Type/Reference

Presence

Length (bits)

Message Type (NOTE)

Message Type

12.2.2.10

M

8

ProSe Restricted Code Prefix

Binary

12.2.2.46

M

64

ProSe Restricted Code Suffix

Binary

12.2.2.47

M

120

MIC

Binary

12.2.2.11

M

32

UTC-based Counter LSB

Binary

12.2.2.22

M

8

NOTE: The Discovery Type is set to "Restricted discovery", the Content Type is set to "application-controlled extension enabled" and the Discovery Model is set to "Model A".

Table 11.2.5.1.4: PC5_DISCOVERY message for UE-to-Network Relay Discovery Announcement

Information Element

Type/Reference

Presence

Length (bits)

Message Type (NOTE)

Message Type

12.2.2.10

M

8

Relay Service Code

Binary

12.2.2.51

M

24

Announcer Info

Binary

12.2.2.50

M

48

ProSe Relay UE ID

Binary

12.2.2.49

M

24

Status Indicator

Binary

12.2.2.67

M

8

Spare

Binary

12.2.2.56

M

80

MIC

Binary

12.2.2.11

M

32

UTC-based Counter LSB

Binary

12.2.2.22

M

8

NOTE: The Discovery Type is set to "Restricted discovery", the Content Type is set to "UE-to-Network Relay Discovery Announcement or UE-to-Network Relay Discovery Response" and the Discovery Model is set to "Model A".

Table 11.2.5.1.5: PC5_DISCOVERY message for UE-to-Network Relay Discovery Solicitation

Information Element

Type/Reference

Presence

Length (bits)

Message Type (NOTE 1)

Message Type

12.2.2.10

M

8

Relay Service Code

Binary

12.2.2.51

M

24

Discoverer Info

Binary

12.2.2.50

M

48

URDS Composition

Binary

12.2.2.66

M

8

ProSe Relay UE ID

Binary

12.2.2.49

C

(NOTE 2)

24

Spare

Binary

12.2.2.56

M

80 or 104

(NOTE 3)

MIC

Binary

12.2.2.11

M

32

UTC-based Counter LSB

Binary

12.2.2.22

M

8

NOTE 1: The Discovery Type is set to "Restricted discovery", the Content Type is set to "UE-to-Network Relay Discovery Solicitation" and the Discovery Model is set to "Model B".

NOTE 2: Presence of the ProSe Relay UE ID is indicated by the URDS Composition.

NOTE 3: If the ProSe Relay UE ID is present, then the length of the Spare is80 bits. If ProSe Relay UE ID is not included, then the length of the Spare is 104 bits.

Table 11.2.5.1.6: PC5_DISCOVERY message for UE-to-Network Relay Discovery Response

Information Element

Type/Reference

Presence

Length (bits)

Message Type (NOTE)

Message Type

12.2.2.10

M

8

Relay Service Code

Binary

12.2.2.51

M

24

Discoveree Info

Binary

12.2.2.50

M

48

ProSe Relay UE ID

Binary

12.2.2.49

M

24

Status Indicator

Binary

12.2.2.67

M

8

Spare

Binary

12.2.2.56

M

80

MIC

Binary

12.2.2.11

M

32

UTC-based Counter LSB

Binary

12.2.2.22

M

8

NOTE: The Discovery Type is set to "Restricted discovery", the Content Type is set to "UE-to-Network Relay Discovery Announcement or UE-to-Network Relay Discovery Response" and the Discovery Model is set to "Model B".

Table 11.2.5.1.7: PC5_DISCOVERY message for Group Member Discovery Announcement

Information Element

Type/Reference

Presence

Length (bits)

Message Type (NOTE)

Message Type

12.2.2.10

M

8

Discovery Group ID

Binary

12.2.2.54

M

24

Announcer Info

Binary

12.2.2.50

M

48

ProSe UE ID

Binary

12.2.2.48

M

24

Spare

Binary

12.2.2.56

M

88

MIC

Binary

12.2.2.11

M

32

UTC-based Counter LSB

Binary

12.2.2.22

M

8

NOTE: The Discovery Type is set to "Restricted discovery", the Content Type is set to "Group Member Discovery Announcement or Group Member Discovery Response" and the Discovery Model is set to "Model A".

Table 11.2.5.1.8: PC5_DISCOVERY message for Group Member Discovery Solicitation

Information Element

Type/Reference

Presence

Length (bits)

Message Type (NOTE 1)

Message Type

12.2.2.10

M

8

Discovery Group ID

Binary

12.2.2.54

M

24

Discoverer Info

Binary

12.2.2.50

M

48

GMDS Composition

Binary

12.2.2.55

M

8

Target User Info

Binary

12.2.2.52

C (NOTE 2)

48

Target Group Info

Binary

12.2.2.53

C (NOTE 2)

24

Spare

Binary

12.2.2.56

M

56 or 80

(NOTE 3)

MIC

Binary

12.2.2.11

M

32

UTC-based Counter LSB

Binary

12.2.2.22

M

8

NOTE 1: The Discovery Type is set to "Restricted discovery", the Content Type is set to "Group Member Discovery Solicitation" and the Discovery Model is set to "Model B".

NOTE 2: Presence of the Target User Info and of Target Group Info is indicated by the GMDS Composition.

NOTE 3: If the Target User Info is present, then the length of the Spare is 56 bits. If the Target Group Info is present, then the length of the Spare is 80 bits.

Table 11.2.5.1.9: PC5_DISCOVERY message for Group Member Discovery Response

Information Element

Type/Reference

Presence

Length (bits)

Message Type (NOTE)

Message Type

12.2.2.10

M

8

Discovery Group ID

Binary

12.2.2.54

M

24

Discoveree Info

Binary

12.2.2.50

M

48

ProSe UE ID

Binary

12.2.2.48

M

24

Spare

Binary

12.2.2.56

M

88

MIC

Binary

12.2.2.11

M

32

UTC-based Counter LSB

Binary

12.2.2.22

M

8

NOTE: The Discovery Type is set to "Restricted discovery", the Content Type is set to "Group Member Discovery Announcement or Group Member Discovery Response" and the Discovery Model is set to "Model B".

Table 11.2.5.1.10: PC5_DISCOVERY message for Relay Discovery Additional Information

Information Element

Type/Reference

Presence

Length (bits)

Message Type (NOTE 1)

Message Type

12.2.2.10

M

8

Relay Service Code

Binary

12.2.2.51

M

24

ProSe Relay UE ID

Binary

12.2.2.49

M

24

Announcer Info

Binary

12.2.2.50

M

48

RDAI Composition

Binary

12.2.2.57

M

8

ECGI

Binary

12.2.2.58

C (NOTE 2)

56

MBMS related information

Binary

12.2.2.59

C (NOTE 2)

72

Spare

Binary

12.2.2.56

M

8 or 24

(NOTE 3)

MIC

Binary

12.2.2.11

M

32

UTC-based Counter LSB

Binary

12.2.2.22

M

8

NOTE 1: The Discovery Type is set to "Restricted discovery", the Content Type is set to "Relay discovery additional information" and the Discovery Model is set to "Model A".

NOTE 2: Presence of the ECGI and MBMS related information is indicated by the RDAI Composition.

NOTE 3: If the RDAI Composition indicates inclusion of the MBMS related information, it is 8 bits. If the RDAI Composition indicates inclusion of the ECGI, it is 24 bits.

11.3 Messages transmitted over the PC3ch interface

11.3.1 General

This subclause defines XML schema and MIME type related to messages transmitted over the PC3ch interface.

11.3.2 application/3gpp-prose-pc3ch+xml

The MIME type is used to carry information related to message transmitted over the PC3ch interface. It shall be coded as an XML document compliant to the XML schema in subclause 11.3.3 containing one of the following messages:

– USAGE_INFORMATION_REPORT_LIST; or

– USAGE_INFORMATION_REPORT_LIST_RESPONSE.

Each of those messages is presented in the XML document as an XML element named after the corresponding message.

The XML document can contain elements and attributes defined in future releases of this document. Receiving entity ignores any element not defined by this version of the specification and any attribute not defined by this version of the specification.

11.3.3 XML Schema

<?xml version="1.0" encoding="UTF-8"?>

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"

xmlns="urn:3GPP:ns:ProSe:PC3ch:2014"

elementFormDefault="qualified"

targetNamespace="urn:3GPP:ns:ProSe:PC3ch:2014">

<xs:annotation>

<xs:documentation>

Syntax of messages transmitted over the PC3ch interface

</xs:documentation>

</xs:annotation>

<!– Types defined for parameters with complicate structure –>

<xs:complexType name="IMSI-info">

<xs:sequence>

<xs:element name="MCC" type="xs:integer"/>

<xs:element name="MNC" type="xs:integer"/>

<xs:element name="MSIN" type="xs:integer"/>

<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<xs:simpleType name="IPAddress-type">

<xs:restriction base="xs:string"/>

</xs:simpleType>

<xs:simpleType name="Layer2Id-type">

<xs:restriction base="xs:hexBinary"/>

</xs:simpleType>

<xs:simpleType name="ECGI-type">

<xs:restriction base="xs:hexBinary"/>

</xs:simpleType>

<xs:simpleType name="AppSpecificInfo-type">

<xs:restriction base="xs:hexBinary"/>

</xs:simpleType>

<xs:simpleType name="RadioResourcesIndicator-type">

<xs:restriction base="xs:integer"/>

</xs:simpleType>

<xs:simpleType name="RadioFrequency-type">

<xs:restriction base="xs:hexBinary"/>

</xs:simpleType>

<!– XML attribute for any future extensions –>

<xs:complexType name="anyExtType">

<xs:sequence>

<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

</xs:complexType>

<xs:complexType name="UsageInformationReportList-Info">

<xs:sequence>

<xs:element name="transaction-ID" type="xs:integer"/>

<xs:element name="UE-identity" type="IMSI-info"/>

<xs:element name="usage-information-report" type="UsageInformationReport-Info"

minOccurs="1" maxOccurs="unbounded"/>

<xs:element name="app-specific-info" type="AppSpecificInfo-type" minOccurs="0" maxOccurs="unbounded"/>

<xs:element name="anyExt" type="anyExtType" minOccurs="0"/>

<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<xs:complexType name="UsageInformationReport-Info">

<xs:sequence>

<xs:element name="coverage" type="Coverage-info" minOccurs="0" maxOccurs="unbounded"/>

<xs:element name="group" type="Group-info" minOccurs="0" maxOccurs="unbounded"/>

<xs:element name="radio-parameter-set" type="RadioParameterSet-info" minOccurs="0" maxOccurs="unbounded"/>

<xs:element name="anyExt" type="anyExtType" minOccurs="0"/>

<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:attribute name="sequence-number" type="xs:integer"/>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<xs:complexType name="Coverage-info">

<xs:sequence>

<xs:element name="location" type="Location-info" minOccurs="0" maxOccurs="unbounded"/>

<xs:element name="anyExt" type="anyExtType" minOccurs="0"/>

<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:attribute name="in-coverage" type="xs:boolean"/>

<xs:attribute name="timestamp" type="xs:dateTime" use="optional"/>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<xs:complexType name="Location-info">

<xs:sequence>

<xs:element name="anyExt" type="anyExtType" minOccurs="0"/>

<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:attribute name="ECGI" type="ECGI-type" use="optional"/>

<xs:attribute name="timestamp" type="xs:dateTime" use="optional"/>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<xs:complexType name="RadioParameterSet-info">

<xs:sequence>

<xs:element name="anyExt" type="anyExtType" minOccurs="0"/>

<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:attribute name="timestamp" type="xs:dateTime" use="required"/>

<xs:attribute name="params" type="xs:hexBinary"/>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<xs:complexType name="Group-info">

<xs:sequence>

<xs:element name="UE-source-IP-address" type="IPAddress-type"/>

<xs:element name="prose-UE-id" type="Layer2Id-type"/>

<xs:element name="transmitter" type="Transmitter-info" minOccurs="0" maxOccurs="unbounded"/>

<xs:element name="transmission" type="Transmission-info" minOccurs="0" maxOccurs="unbounded"/>

<xs:element name="reception" type="Reception-info" minOccurs="0" maxOccurs="unbounded"/>

<xs:element name="anyExt" type="anyExtType" minOccurs="0"/>

<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:attribute name="prose-layer2-group-ID" type="Layer2Id-type"/>

<xs:attribute name="prose-group-IP-multicast-address" type="IPAddress-type"/>

<xs:attribute name="first-transmission-timestamp" type="xs:dateTime" use="optional"/>

<xs:attribute name="first-reception-timestamp" type="xs:dateTime" use="optional"/>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<xs:complexType name="Transmitter-info">

<xs:sequence>

<xs:element name="anyExt" type="anyExtType" minOccurs="0"/>

<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:attribute name="source-IP-address" type="IPAddress-type"/>

<xs:attribute name="prose-UE-id" type="Layer2Id-type"/>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<xs:complexType name="Transmission-info">

<xs:sequence>

<xs:element name="anyExt" type="anyExtType" minOccurs="0"/>

<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:attribute name="in-coverage" type="xs:boolean"/>

<xs:attribute name="ECGI" type="ECGI-type" use="optional"/>

<xs:attribute name="amount" type="xs:integer"/>

<xs:attribute name="timestamp" type="xs:dateTime" use="optional"/>

<xs:attribute name="radio-resources-ind" type="RadioResourcesIndicator-type" use="optional"/>

<xs:attribute name="radio-frequency" type="RadioFrequency-type" use="optional"/>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<xs:complexType name="Reception-info">

<xs:sequence>

<xs:element name="anyExt" type="anyExtType" minOccurs="0"/>

<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:attribute name="in-coverage" type="xs:boolean"/>

<xs:attribute name="ECGI" type="ECGI-type" use="optional"/>

<xs:attribute name="amount" type="xs:integer"/>

<xs:attribute name="timestamp" type="xs:dateTime" use="optional"/>

<xs:attribute name="radio-resources-ind" type="RadioResourcesIndicator-type" use="optional"/>

<xs:attribute name="radio-frequency" type="RadioFrequency-type" use="optional"/>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<xs:complexType name="UsageInformationReportListResponse-Info">

<xs:sequence>

<xs:element name="response-accept" type="UsageInformationReportListResponseAccept-Info" minOccurs="0"/>

<xs:element name="response-reject" type="UsageInformationReportListResponseReject-Info" minOccurs="0"/>

<xs:element name="anyExt" type="anyExtType" minOccurs="0"/>

<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<xs:complexType name="UsageInformationReportListResponseAccept-Info">

<xs:sequence>

<xs:element name="transaction-ID" type="xs:integer"/>

<xs:element name="anyExt" type="anyExtType" minOccurs="0"/>

<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<xs:complexType name="UsageInformationReportListResponseReject-Info">

<xs:sequence>

<xs:element name="transaction-ID" type="xs:integer"/>

<xs:element name="cause-value" type="xs:integer"/>

<xs:element name="anyExt" type="anyExtType" minOccurs="0"/>

<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<xs:element name="prose-pc3ch-message">

<xs:complexType>

<xs:choice>

<xs:element name="USAGE_INFORMATION_REPORT_LIST" type="UsageInformationReportList-Info"/>

<xs:element name="USAGE_INFORMATION_REPORT_LIST_RESPONSE" type="UsageInformationReportListResponse-Info"/>

<xs:element name="anyExt" type="anyExtType"/>

<xs:any namespace="##other" processContents="lax"/>

</xs:choice>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

</xs:element>

</xs:schema>

11.3.4 Semantics

11.3.4.1 General

The <prose-pc3ch-message> element is the root element of this XML document.

The <prose-pc3ch-message> element contains one of the following:

a) <USAGE_INFORMATION_REPORT_LIST> element;

b) <USAGE_INFORMATION_REPORT_LIST_RESPONSE> element;

c) <anyExt> element containing elements defined in future releases; or

d) one or more elements from other namespace defined in future releases.

The <prose-pc3ch-message> element contains zero, one or more attributes defined in future releases.

11.3.4.2 Semantics of <USAGE_INFORMATION_REPORT_LIST>

The <USAGE_INFORMATION_REPORT_LIST> element contains:

a) a <transaction-ID> element containing the parameter defined in subclause 12.4.2.1;

b) a <UE-identity> element containing the parameter defined in subclause 12.4.2.2;

c) one or more <usage-information-report> elements;

d) zero, one or more <app-specific-info> element;

e) zero or one <anyExt> element containing elements defined in future releases;

f) zero, one or more elements from other namespaces defined in future releases; and

g) zero, one or more attributes defined in future releases.

The <usage-information-report> element carries one usage information report. The <usage-information-report> element contains:

a) mandatory "sequence-number" attribute containing the parameter defined in subclause 12.4.2.3;

b) zero, one or more <coverage> elements;

c) zero, one or more <group> element;

d) zero, one or more <radio-parameter-set> elements;

e) zero or one <anyExt> element containing elements defined in future releases;

f) zero, one or more elements from other namespaces defined in future releases; and

g) zero, one or more attributes defined in future releases.

The <coverage> element carries information whether the UE was in E-UTRAN coverage or out of E-UTRAN coverage. The <coverage> element contains:

a) mandatory "in-coverage" attribute containing the parameter defined in subclause 12.4.2.4;

b) optional "timestamp" attribute containing the parameter defined in subclause 12.4.2.8 indicating date and time when the information given in the element start being valid;

c) if the UE was in E-UTRAN coverage, zero, one or more <location> elements;

d) zero or one <anyExt> element containing elements defined in future releases;

e) zero, one or more elements from other namespaces defined in future releases; and

f) zero, one or more attributes defined in future releases.

The <location> element carries information about an E-UTRAN cell where the UE was camping on or which the UE used in the EMM-CONNECTED mode. The <location> element contains:

a) an optional "ECGI" attribute containing the parameter defined in subclause 12.4.2.5;

b) an optional "timestamp" attribute containing the parameter defined in subclause 12.4.2.8 indicating date and time when the information given in the element start being valid;

c) zero or one <anyExt> element containing elements defined in future releases;

d) zero, one or more elements from other namespaces defined in future releases; and

e) zero, one or more attributes defined in future releases.

The <radio-parameter-set> element carries information about the configured radio parameters for the ProSe direct communication applicable in the geographical area of the UE. The <radio-parameter-set> element contains:

a) a mandatory "params" attribute containing the parameter defined in subclause 12.4.2.6;

b) a mandatory "timestamp" attribute containing the parameter defined in subclause 12.4.2.8 indicating date and time when the information given in the element start being valid;

c) zero or one <anyExt> element containing elements defined in future releases;

d) zero, one or more elements from other namespaces defined in future releases; and

e) zero, one or more attributes defined in future releases.

The <group> element carries information about a ProSe group. The <group> element contains:

a) a mandatory "prose-layer2-group-ID" attribute containing the parameter defined in subclause 12.4.2.9;

b) a mandatory "prose-group-IP-multicast-address" attribute containing the parameter defined in subclause 12.4.2.10;

c) an optional "first-transmission-timestamp" attribute containing the parameter defined in subclause 12.4.2.8 indicating date and time of the first transmission to the ProSe Group IP multicast address in the collection period;

d) an optional "first-reception-timestamp" attribute containing the parameter defined in subclause 12.4.2.8 indicating date and time of the first reception from the ProSe Group IP multicast address in the collection period;

e) a <UE-source-IP-address> element containing the parameter defined in subclause 12.4.2.11, of the UE;

f) a <prose-UE-id> element containing the parameter defined in subclause 12.4.2.12, of the UE;

g) zero, one or more <transmitter> element;

h) zero, one or more <transmission> element;

i) zero, one or more <reception> element;

j) zero or one <anyExt> element containing elements defined in future releases;

k) zero, one or more elements from other namespaces defined in future releases; and

l) zero, one or more attributes defined in future releases.

The <transmitter> element carries information about a transmitter in a ProSe group. The <transmitter> element contains:

a) a mandatory "source-IP-address" attribute containing the parameter defined in subclause 12.4.2.11, of the transmitter;

b) a mandatory "prose-UE-id" attribute containing the parameter defined in subclause 12.4.2.12, of the transmitter;

c) zero or one <anyExt> element containing elements defined in future releases;

d) zero, one or more elements from other namespaces defined in future releases; and

e) zero, one or more attributes defined in future releases.

The <transmission> element carries information about a transmission in a ProSe group. The <transmission> element contains:

a) a mandatory "in-coverage" attribute containing the parameter defined in subclause 12.4.2.4;

b) if the UE was in E-UTRAN coverage when transmitting the data, an optional "ECGI" attribute containing the parameter defined in subclause 12.4.2.5, indicating 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 when transmitting the data;

c) if the UE was in E-UTRAN coverage and the "ECGI" attribute is included:

1) a mandatory "amount" attribute containing the parameter defined in subclause 12.4.2.13 indicating the amount of octets transmitted to the ProSe group:

– when the UE was camping on a cell identified by the "ECGI" attribute when transmitting the data; or

– when the UE used in the EMM-CONNECTED mode a cell identified by the "ECGI" attribute when transmitting the data; and

2) an optional "timestamp" attribute containing the parameter defined in subclause 12.4.2.8 indicating date and time of the first transmission in the E-UTRAN cell;

d) if the UE was in E-UTRAN coverage and the "ECGI" attribute is not included:

1) a mandatory "amount" attribute containing the parameter defined in subclause 12.4.2.13 indicating the amount of octets transmitted to the ProSe group during the in E-UTRAN coverage period: and

2) an optional "timestamp" attribute containing the parameter defined in subclause 12.4.2.8 indicating date and time of the first transmission during the in E-UTRAN coverage period;

e) if the UE was out of E-UTRAN coverage:

1) a mandatory "amount" attribute containing the parameter defined in subclause 12.4.2.13 indicating the amount of octets transmitted to the ProSe group during the out of E-UTRAN coverage period; and

2) an optional "timestamp" attribute containing the parameter defined in subclause 12.4.2.8 indicating date and time of the first transmission during the out of E-UTRAN coverage period;

f) an optional "radio-resources-ind" attribute containing the parameter defined in subclause 12.4.2.14;

g) an optional "radio-frequency" attribute containing the parameter defined in subclause 12.4.2.15;

i) zero or one <anyExt> element containing elements defined in future releases;

j) zero, one or more elements from other namespaces defined in future releases; and

k) zero, one or more attributes defined in future releases.

The <reception> element carries information about a reception in a ProSe group. The <reception> element contains:

a) a mandatory "in-coverage" attribute containing the parameter defined in subclause 12.4.2.4 indicating whether the UE was in E-UTRAN coverage when receiving the data;

b) if the UE was in E-UTRAN coverage when receiving the data, an optional "ECGI" attribute containing the parameter defined in subclause 12.4.2.5 indicating 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 when receiving the data;

c) if the UE was in E-UTRAN coverage and the "ECGI" attribute is included:

1) a mandatory "amount" attribute containing the parameter defined in subclause 12.4.2.13 indicating the amount of octets received from the ProSe group:

– when the UE was camping on a cell identified by the "ECGI" attribute when receiving the data; or

– when the UE used in the EMM-CONNECTED mode a cell identified by the "ECGI" attribute when receiving the data; and

2) an optional "timestamp" attribute containing the parameter defined in subclause 12.4.2.8 indicating date and time of the first reception in the E-UTRAN cell;

d) if the UE was in E-UTRAN coverage and the "ECGI" attribute is not included:

1) a mandatory "amount" attribute containing the parameter defined in subclause 12.4.2.13 indicating the amount of octets received from the ProSe group during the in E-UTRAN coverage period: and

2) an optional "timestamp" attribute containing the parameter defined in subclause 12.4.2.8 indicating date and time of the first reception during the in E-UTRAN coverage period;

e) if the UE was out of E-UTRAN coverage:

1) a mandatory "amount" attribute containing the parameter defined in subclause 12.4.2.13 indicating the amount of octets received from the ProSe group during the out of E-UTRAN coverage period; and

2) an optional "timestamp" attribute containing the parameter defined in subclause 12.4.2.8 indicating date and time of the first reception during the out of E-UTRAN coverage period;

f) an optional "radio-resources-ind" attribute containing the parameter defined in subclause 12.4.2.14;

g) an optional "radio-frequency" attribute containing the parameter defined in subclause 12.4.2.15;

h) zero or one <anyExt> element containing elements defined in future releases;

i) zero, one or more elements from other namespaces defined in future releases; and

j) zero, one or more attributes defined in future releases.

The <app-specific-info> element contains an application specific data received from upper layers during the collection period.

11.3.4.3 Semantics of <USAGE_INFORMATION_REPORT_LIST_RESPONSE>

The <USAGE_INFORMATION_REPORT_LIST_RESPONSE> element contains:

a) one of <response-accept> element and <response-reject> element;

b) zero or one <anyExt> element containing elements defined in future releases;

c) zero, one or more elements from other namespaces defined in future releases; and

d) zero, one or more attributes defined in future releases.

The <response-accept> element indicates that a related USAGE_INFORMATION_REPORT_LIST message was accepted. The <response-accept> element contains:

a) <transaction-ID> element containing the parameter defined in subclause 12.4.2.1 indicating the value of the transaction ID of the related USAGE_INFORMATION_REPORT_LIST message;

b) zero or one <anyExt> element containing elements defined in future releases;

c) zero, one or more elements from other namespaces defined in future releases; and

d) zero, one or more attributes defined in future releases.

The <response-reject> element indicates that a related USAGE_INFORMATION_REPORT_LIST message was rejected. The <response-reject> element contains:

a) <transaction-ID> element containing the parameter defined in subclause 12.4.2.1 indicating the value of the transaction ID of the related USAGE_INFORMATION_REPORT_LIST message;

b) <cause-value> element containing the parameter defined in subclause 12.4.2.7;

c) zero or one <anyExt> element containing elements defined in future releases;

d) zero, one or more elements from other namespaces defined in future releases; and

e) zero, one or more attributes defined in future releases.

11.4 PC5 Signalling messages

11.4.1 Overview

This clause defines the structure of the PC5 Signalling messages exchanged between two ProSe-enabled UEs over the PC5 interface. These are standard L3 messages as defined in 3GPP TS 24.007 [43].

Each definition given in the present clause includes:

a) a table listing the Information Elements (IE) present in the message and the order of their appearance in the message. All IEs that may be repeated are explicitly indicated (The V, LV and LV-E formatted IEs, which contain the imperative part of the message, occur before the T, TV, TLV and TLV-E formatted IEs which contain the non-imperative part of the message, see 3GPP TS 24.007 [43]). In a (maximal) sequence of consecutive IEs with half octet length, the first IE with half octet length occupies bits 1 to 4 of octet N, the second IE bits 5 to 8 of octet N, the third IE bits 1 to 4 of octet N+1 etc. Such a sequence always has an even number of elements.

For each information element the table indicates:

1. The Information Element Identifier (IEI), in hexadecimal notation, if the IE has format T, TV, TLV or TLV‑E. If the IEI has half octet length, it is specified by a notation representing the IEI as a hexadecimal digit followed by a "-" (example: B-).

NOTE: The same IEI can be used for different information element types in different messages of the same protocol.

2. The name of the information element (which is indicative of the semantics of the element). The name of the information element followed by "IE" or "information element" is used as reference to the information element within a message.

3. The name of the type of the information element (which indicates the coding of the value part of the IE), and generally, the referenced subclause of clause 12 of the present document describing the value part of the information element.

4. The presence requirement indication (M, C, or O) for the IE as defined in 3GPP TS 24.007 [43].

5. The format of the information element (T, V, TV, LV, TLV, LV-E or TLV-E) as defined in 3GPP TS 24.007 [43].

6. The length of the information element (or permissible range of lengths), in octets, in the message, where "?" means that the maximum length of the IE is only constrained by link layer protocol. This indication is non-normative.

b) subclauses specifying, where appropriate, conditions for IEs with presence requirement C or O in the relevant message which together with other conditions specified in the present document define when the information elements shall be included or not, what non-presence of such IEs means, and – for IEs with presence requirement C – the static conditions for presence or non-presence of the IEs or for both cases (see 3GPP TS 24.007 [43]).

11.4.2 DIRECT_COMMUNICATION_REQUEST

11.4.2.1 Message definition

This message is sent by a UE to another peer UE to establish a direct link. See table 11.4.2.1.1.

Message type: DIRECT_COMMUNICATION_REQUEST

Table 11.4.2.1.1: DIRECT_COMMUNICATION_REQUEST message content

IEI

Information Element

Type/Reference

Presence

Format

Length

DIRECT_COMMUNICATION_REQUEST message identity

PC5-SP Message Type

12.5.1.1.

M

V

1

Sequence Number

Sequence Number

12.5.1.2

M

V

2

User Info

User Info

12.5.1.3

M

LV

3-253

IP Address Config

IP Address Config

12.5.1.4

M

V

1

Maximum Inactivity Period

Maximum Inactivity Period

12.5.1.9

M

V

4

Nonce_1

Nonce_1

12.5.1.30

M

V

16

UE Security Capabilities

UE Security Capabilities

12.5.1.22

M

V

2

MSB of KD-sess ID

MSB of KD-sess ID

12.5.1.25

M

V

1

17

KD ID

KD ID

12.5.1.30

O

TV

5

25

Relay Service Code

Relay Service Code

12.5.1.17

O

TV

4

22

Signature

Signature

12.5.1.33

O

TV

130

3

Link Local IPv6 Address

IPv6 Address

12.5.1.5

O

TV

17

11.4.3 DIRECT_COMMUNICATION_ACCEPT

11.4.3.1 Message definition

This message is sent by the UE to another peer UE to indicate that the corresponding direct link setup request has been accepted. See table 11.4.3.1.1.

.Message type: DIRECT_COMMUNICATION_ACCEPT

Table 11.4.3.1.1: DIRECT_COMMUNICATION_ACCEPT message content

IEI

Information Element

Type/Reference

Presence

Format

Length

DIRECT_COMMUNICATION_ACCEPT message identity

PC5-SP Message Type

12.5.1.1.

M

V

1

Sequence Number

Sequence Number

12.5.1.2

M

V

2

IP Address Config

IP Address Config

12.5.1.4

M

V

1

3

Link Local IPv6 Address

Link Local IPv6 Address

12.5.1.5

O

TV

17

11.4.3.2 Link Local IPv6 Address

The UE shall include this IE if the IP Address Config IE is set to "address allocation not supported".

11.4.4 DIRECT_COMMUNICATION_REJECT

11.4.4.1 Message definition

This message is sent by the UE to another peer UE to indicate that the corresponding direct link setup request has been rejected. See table 11.4.4.1.1.

.Message type: DIRECT_COMMUNICATION_REJECT

Table 11.4.4.1.1: DIRECT_COMMUNICATION_REJECT message content

IEI

Information Element

Type/Reference

Presence

Format

Length

DIRECT_COMMUNICATION_REJECT message identity

PC5-SP Message Type

12.5.1.1.

M

V

1

Sequence Number

Sequence Number

12.5.1.2

M

V

2

PC5 Signalling Cause Value

PC5 Signalling Cause Value

12.5.1.7

M

V

1

11.4.5 DIRECT_COMMUNICATION_KEEPALIVE

11.4.5.1 Message definition

This message is sent by the UE to another peer UE to initiate a direct link keepalive procedure. See table 11.4.5.1.1.

.Message type: DIRECT_COMMUNICATION_KEEPALIVE

Table 11.4.5.1.1: DIRECT_COMMUNICATION_KEEPALIVE message content

IEI

Information Element

Type/Reference

Presence

Format

Length

DIRECT_COMMUNICATION_KEEPALIVE message identity

PC5-SP Message Type

12.5.1.1

M

V

1

Sequence Number

Sequence Number

12.5.1.2

M

V

2

Keepalive Counter

Keepalive Counter

12.5.1.6

M

V

4

7

Maximum Inactivity Period

Maximum Inactivity Period

12.5.1.9

O

TV

5

11.4.6 DIRECT_COMMUNICATION_KEEPALIVE_ACK

11.4.6.1 Message definition

This message is sent by the UE to another peer UE to acknowledge and respond to the link keepalive request. See table 11.4.6.1.1.

Message type: DIRECT_COMMUNICATION_KEEPALIVE_ACK

Table 11.4.6.1.1: DIRECT_COMMUNICATION_KEEPALIVE_ACK message content

IEI

Information Element

Type/Reference

Presence

Format

Length

DIRECT_COMMUNICATION_KEEPALIVE_ACK message identity

PC5-SP Message Type

12.5.1.1

M

V

1

Sequence Number

Sequence Number

12.5.1.2

M

V

2

Keepalive Counter

Keepalive Counter

12.5.1.6

M

V

4

11.4.7 DIRECT_COMMUNICATION_RELEASE

11.4.7.1 Message definition

This message is sent by the UE to another peer UE to initiate the direct link release procedure. See table 11.4.7.1.1.

.Message type: DIRECT_COMMUNICATION_RELEASE

Table 11.4.7.1.1: DIRECT_COMMUNICATION_RELEASE message content

IEI

Information Element

Type/Reference

Presence

Format

Length

DIRECT_COMMUNICATION_RELEASE message identity

PC5-SP Message Type

12.5.1.1

M

V

1

Sequence Number

Sequence Number

12.5.1.2

M

V

2

Release Reason

Release Reason

12.5.1.8

M

V

1

11.4.8 DIRECT_COMMUNICATION_RELEASE_ACCEPT

11.4.8.1 Message definition

This message is sent by the UE to another peer UE to indicate that the link release request is accepted. See table 11.4.8.1.1.

.Message type: DIRECT_COMMUNICATION_RELEASE_ACCEPT

Table 11.4.8.1.1: DIRECT_COMMUNICATION_RELEASE_ACCEPT message content

IEI

Information Element

Type/Reference

Presence

Format

Length

DIRECT_COMMUNICATION_RELEASE_ACCEPT message identity

PC5-SP Message Type

12.5.1.1

M

V

1

Sequence Number

Sequence Number

12.5.1.2

M

V

2

11.4.9 TMGI_MONITORING_REQUEST

11.4.9.1 Message definition

This message is sent by the remote UE to ProSe UE-to-network relay UE for TMGI monitoring request. See table 11.4.9.1.

Table 11.4.9.1.1: TMGI_MONITORING_REQUEST content

IEI

Information Element

Type/Reference

Presence

Format

Length

TMGI_MONITORING_REQUEST identity

Message Type

12.5.1.1

M

V

1

Sequence Number

Sequence Number

12.5.1.2

M

V

2

TMGI

Binary

12.5.1.10

M

V

6

MBMS SAI list

Binary

12.5.1.11

M

LV-E

6-516

Requested ProSe Per-Packet Priority

Binary

12.5.1.16

M

V

1

11.4.10 TMGI_MONITORING_RESPONSE

11.4.10.1 Message definition

This message is sent by the ProSe UE-to-network relay UE to the remote UE for TMGI monitoring response. See table 11.4.10.1.

Table 11.4.10.1.1: TMGI_MONITORING_RESPONSE content

IEI

Information Element

Type/Reference

Presence

Format

Length

TMGI_MONITORING_RESPONSE identity

Message Type

12.5.1.1

M

V

1

Sequence Number

Sequence Number

12.5.1.2

M

V

2

ProSe Layer2 Group ID

Binary

12.5.1.12

M

V

3

TMGI monitoring refresh timer T4104

Binary

12.5.1.13

M

V

2

SAI indicator

Boolean

12.5.1.14

M

V

1

11.4.11 CELL_ID_ANNOUNCEMENT_REQUEST

11.4.11.1 Message definition

This message is sent by the remote UE to ProSe UE-to-network relay UE to initiate the cell ID announcement request procedure. See table 11.4.11.1.

Table 11.4.11.1.1: CELL_ID_ANNOUNCEMENT_REQUEST content

IEI

Information Element

Type/Reference

Presence

Format

Length

CELL_ID_ANNOUNCEMENT_REQUEST identity

Message Type

12.5.1.1

M

V

1

Sequence Number

Sequence Number

12.5.1.2

M

V

2

11.4.12 CELL_ID_ANNOUNCEMENT_RESPONSE

11.4.12.1 Message definition

This message is sent by the ProSe UE-to-network relay UE to the remote UE to acknowledge and respond to the cell ID announcement request. See table 11.4.12.1.

Table 11.4.12.1.1: CELL_ID_ANNOUNCEMENT_RESPONSE content

IEI

Information Element

Type/Reference

Presence

Format

Length

CELL_ID_ANNOUNCEMENT_RESPONSE identity

Message Type

12.5.1.1

M

V

1

Sequence Number

Sequence Number

12.5.1.2

M

V

2

ECGI announcement request refresh timer T4106

Binary

12.5.1.15

M

V

2

11.4.12A DIRECT_SECURITY_MODE_COMMAND

11.4.12A.1 Message definition

This message is sent by a commanding UE to a peer UE to establish the security for a direct link. See table 11.4.12A.1.1.

Message type: DIRECT_SECURITY_MODE_COMMAND

Table 11.4.12A.1.1: DIRECT_SECURITY_MODE_COMMAND message content

IEI

Information Element

Type/Reference

Presence

Format

Length

DIRECT_SECURITY MODE COMMAND message identity

PC5-SP Message Type

12.5.1.1.

M

V

1

Sequence Number

Sequence Number

12.5.1.2

M

V

2

UE Security Capabilities

UE Security Capabilities

12.5.1.22

M

V

2

Nonce 2

Nonce 2

12.5.1.31

M

V

16

Chosen Algorithms

Chosen Algorithms

12.5.1.23

M

V

1

LSB of KD-sess ID

LSB of KD-sess

12.5.1.24

M

V

1

16

MSB of KD ID

MSB of KD ID

12.5.1.27

O

TV

3

18

KD Freshness

KD Freshness

12.5.1.30

O

TV

17

24

GPI

GPI

12.5.1.18

O

TLV

3-n

1

User Info

User Info

12.5.1.3

O

TLV

3-253

22

Signature

Signature

12.5.1.33

O

TV

130

23

Encrypted Payload

Encrypted Payload

12.5.1.34

O

TLV

3-n

11.4.13 DIRECT_SECURITY_MODE_COMPLETE

11.4.13.1 Message definition

This message is sent by a peer UE to a commanding UE to confirm the establishment of the security for a direct link. See table 11.4.13.1.

Message type: DIRECT_SECURITY_MODE_COMPLETE

Table 11.4.13.1: DIRECT_SECURITY_MODE_COMPLETE message content

IEI

Information Element

Type/Reference

Presence

Format

Length

DIRECT_SECURITY MODE COMPLETE message identity

PC5-SP Message Type

12.5.1.1.

M

V

1

Sequence Number

Sequence Number

12.5.1.2

M

V

2

15

LSB of KD ID

LSB of KD ID

12.5.1.26

O

TV

3

11.4.14 DIRECT_SECURITY_MODE_REJECT

11.4.14.1 Message definition

This message is sent by a peer UE to a commanding UE to indicate a failure to establish the security. See table 11.4.14.1.

Message type: DIRECT_SECURITY_MODE_REJECT

Table 11.4.2.14.1: DIRECT_SECURITY_MODE_REJECT message content

IEI

Information Element

Type/Reference

Presence

Format

Length

DIRECT_SECURITY MODE REJECT message identity

PC5-SP Message Type

12.5.1.1.

M

V

1

Sequence Number

Sequence Number

12.5.1.2

M

V

2

PC5 Signalling Protocol Cause Value

PC5 Signalling Protocol Cause Value

12.5.1.7

M

V

1

10

RAND

RAND

12.5.1.21

O

TV

17

9

AUTS

AUTS

12.5.1.20

O

TV

15

11.4.15 DIRECT_REKEYING_REQUEST

11.4.15.1 Message definition

This message is sent by a UE to the peer UE to refresh the security of an established direct link. See table 11.4.15.1.

Message type: DIRECT_REKEYING_REQUEST

Table 11.4.15.1: DIRECT_REKEYING_REQUEST message content

IEI

Information Element

Type/Reference

Presence

Format

Length

DIRECT_REKEYING_REQUEST message identity

PC5-SP Message Type

12.5.1.1

M

V

1

Sequence Number

Sequence Number

12.5.1.2

M

V

2

UE Security Capabilities

UE Security Capabilities

12.5.1.22

M

V

2

Nonce_1

Nonce_1

12.5.1.30

M

V

16

MSB of KD-sess ID

MSB of KD-sess

12.5.1.25

M

V

1

21

Auth Flag

Auth Flag

12.5.1.32

O

TV

2

8

PRUK ID

PRUK ID

12.5.1.19

O

TV

9

11.4.16 DIRECT_REKEYING_RESPONSE

11.4.16.1 Message definition

This message is sent by a UE to the peer UE to complete refreshing the security of an established direct link. See table 11.4.16.1.1.

Message type: DIRECT_REKEYING_RESPONSE

Table 11.4.16.1: DIRECT_REKEYING_RESPONSE message content

IEI

Information Element

Type/Reference

Presence

Format

Length

DIRECT_REKEYING_RESPONSE message identity

PC5-SP Message Type

12.5.1.1.

M

V

1

Sequence Number

Sequence Number

12.5.1.2

M

V

2

11.4.17 DIRECT_REKEYING_TRIGGER

11.4.17.1 Message definition

This message is sent by a UE to the peer UE to trigger the peer UE to initiate a direct link rekeying procedure to refresh KD. See table 11.4.17.1.1.

Message type: DIRECT_REKEYING_TRIGGER

Table 11.4.17.1: DIRECT_REKEYING_TRIGGER message content

IEI

Information Element

Type/Reference

Presence

Format

Length

DIRECT_REKEYING_TRIGGER message identity

PC5-SP Message Type

12.5.1.1

M

V

1

Sequence Number

Sequence Number

12.5.1.2

M

V

2

11.4.18 REMOTE_UE_INFO_REQUEST

11.4.18.1 Message definition

This message is sent by the ProSe UE-to-network relay UE to the remote UE to initiate the remote UE information request procedure. See table 11.4.18.1.1.

Table 11.4.18.1.1: REMOTE_UE_INFO_REQUEST content

IEI

Information Element

Type/Reference

Presence

Format

Length

REMOTE_UE_INFO_REQUEST message identity

Message Type

12.5.1.1

M

V

1

Sequence Number

Sequence Number

12.5.1.2

M

V

2

Remote UE Information Type

Remote UE Information Type

12.5.1.35

M

V

1

11.4.19 REMOTE_UE_INFO_RESPONSE

11.4.19.1 Message definition

This message is sent by the remote UE to the ProSe UE-to-network relay UE to respond to the remote UE information request. See table 11.4.19.1.1.

Table 11.4.19.1.1: REMOTE_UE_INFO_RESPONSE content

IEI

Information Element

Type/Reference

Presence

Format

Length

REMOTE_UE_INFO_RESPONSE message identity

Message Type

12.5.1.1

M

V

1

Sequence Number

Sequence Number

12.5.1.2

M

V

2

27

IMEI

IMEI

12.5.1.36

O

TV

10

11.5 Non-IP data PDU format

The non-IP data PDU is coded according to figure 11.5.1 and table 11.5.1.

Bits

8

7

6

5

4

3

2

1

Octets

Non-IP type

1

Non-IP payload

2

n

Figure 11.5.1: Non-IP data PDU format

Table 11.5.1: Non-IP data PDU values

Octet 1 contains the non-IP type field which indicates the type of non-IP data included in the non-IP payload.

Octets 2 to n contain the non-IP payload field containing the non-IP data.