F.3 XML schema for MCPTT location information

24.3793GPPMission Critical Push To Talk (MCPTT) call controlProtocol specificationRelease 18TS

F.3.1 General

This clause defines the XML schema and the MIME type for location information.

F.3.2 XML schema

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

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:mcpttloc="urn:3gpp:ns:mcpttLocationInfo:1.0" targetNamespace="urn:3gpp:ns:mcpttLocationInfo:1.0" elementFormDefault="qualified" attributeFormDefault="unqualified"

xmlns:xenc="http://www.w3.org/2001/04/xmlenc#">

<xs:import namespace="http://www.w3.org/2001/04/xmlenc#"/>

<xs:element name="location-info" id="loc">

<xs:annotation>

<xs:documentation>Root element, contains all information related to location configuration, location request and location reporting for the MCPTT service</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:choice>

<xs:element name="Configuration" type="mcpttloc:tConfigurationType"/>

<xs:element name="Request" type="mcpttloc:tRequestType"/>

<xs:element name="Report" type="mcpttloc:tReportType"/>

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

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

</xs:choice>

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

</xs:complexType>

</xs:element>

<xs:complexType name="tConfigurationType">

<xs:sequence>

<xs:element name="NonEmergencyLocationInformation" type="mcpttloc:tRequestedLocationType" minOccurs="0"/>

<xs:element name="EmergencyLocationInformation" type="mcpttloc:tRequestedLocationType" minOccurs="0"/>

<xs:element name="TriggeringCriteria" type="mcpttloc:TriggeringCriteriaType"/>

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

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

</xs:sequence>

<xs:attribute name="ConfigScope">

<xs:simpleType>

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

<xs:enumeration value="Full"/>

<xs:enumeration value="Update"/>

</xs:restriction>

</xs:simpleType>

</xs:attribute>

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

</xs:complexType>

<xs:complexType name="tRequestType">

<xs:complexContent>

<xs:extension base="mcpttloc:tEmptyType">

<xs:attribute name="RequestId" type="xs:string" use="required"/>

</xs:extension>

</xs:complexContent>

</xs:complexType>

<xs:complexType name="tReportType">

<xs:sequence>

<xs:element name="TriggerId" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>

<xs:element name="CurrentLocation" type="mcpttloc:tCurrentLocationType"/>

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

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

</xs:sequence>

<xs:attribute name="ReportID" type="xs:string" use="optional"/>

<xs:attribute name="ReportType" use="required">

<xs:simpleType>

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

<xs:enumeration value="Emergency"/>

<xs:enumeration value="NonEmergency"/>

</xs:restriction>

</xs:simpleType>

</xs:attribute>

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

</xs:complexType>

<xs:complexType name="TriggeringCriteriaType">

<xs:sequence>

<xs:element name="CellChange" type="mcpttloc:tCellChange" minOccurs="0"/>

<xs:element name="TrackingAreaChange" type="mcpttloc:tTrackingAreaChangeType" minOccurs="0"/>

<xs:element name="PlmnChange" type="mcpttloc:tPlmnChangeType" minOccurs="0"/>

<xs:element name="MbmsSaChange" type="mcpttloc:tMbmsSaChangeType" minOccurs="0"/>

<xs:element name="MbsfnAreaChange" type="mcpttloc:tMbsfnAreaChangeType" minOccurs="0"/>

<xs:element name="PeriodicReport" type="mcpttloc:tIntegerAttributeType" minOccurs="0"/>

<xs:element name="TravelledDistance" type="mcpttloc:tIntegerAttributeType" minOccurs="0"/>

<xs:element name="McpttSignallingEvent" type="mcpttloc:tSignallingEventType" minOccurs="0"/>

<xs:element name="GeographicalAreaChange" type="mcpttloc:tGeographicalAreaChange"/>

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

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

</xs:sequence>

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

</xs:complexType>

<xs:complexType name="tCellChange">

<xs:sequence>

<xs:element name="AnyCellChange" type="mcpttloc:tEmptyTypeAttribute" minOccurs="0"/>

<xs:element name="EnterSpecificCell" type="mcpttloc:tSpecificCellType" minOccurs="0" maxOccurs="unbounded"/>

<xs:element name="ExitSpecificCell" type="mcpttloc:tSpecificCellType" minOccurs="0" maxOccurs="unbounded"/>

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

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

</xs:sequence>

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

</xs:complexType>

<xs:complexType name="tEmptyType"/>

<xs:simpleType name="tEcgi">

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

<xs:pattern value="\d{3}\d{3}[0-1]{28}"/>

</xs:restriction>

</xs:simpleType>

<xs:complexType name="tSpecificCellType">

<xs:simpleContent>

<xs:extension base="mcpttloc:tEcgi">

<xs:attribute name="TriggerId" type="xs:string" use="required"/>

</xs:extension>

</xs:simpleContent>

</xs:complexType>

<xs:complexType name="tEmptyTypeAttribute">

<xs:complexContent>

<xs:extension base="mcpttloc:tEmptyType">

<xs:attribute name="TriggerId" type="xs:string" use="required"/>

</xs:extension>

</xs:complexContent>

</xs:complexType>

<xs:complexType name="tTrackingAreaChangeType">

<xs:sequence>

<xs:element name="AnyTrackingAreaChange" type="mcpttloc:tEmptyTypeAttribute" minOccurs="0"/>

<xs:element name="EnterSpecificTrackingArea" type="mcpttloc:tTrackingAreaIdentity" minOccurs="0" maxOccurs="unbounded"/>

<xs:element name="ExitSpecificTrackingArea" type="mcpttloc:tTrackingAreaIdentity" minOccurs="0" maxOccurs="unbounded"/>

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

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

</xs:sequence>

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

</xs:complexType>

<xs:simpleType name="tTrackingAreaIdentityFormat">

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

<xs:pattern value="\d{3}\d{3}[0-1]{16}"/>

</xs:restriction>

</xs:simpleType>

<xs:complexType name="tTrackingAreaIdentity">

<xs:simpleContent>

<xs:extension base="mcpttloc:tTrackingAreaIdentityFormat">

<xs:attribute name="TriggerId" type="xs:string" use="required"/>

</xs:extension>

</xs:simpleContent>

</xs:complexType>

<xs:complexType name="tPlmnChangeType">

<xs:sequence>

<xs:element name="AnyPlmnChange" type="mcpttloc:tEmptyTypeAttribute" minOccurs="0"/>

<xs:element name="EnterSpecificPlmn" type="mcpttloc:tPlmnIdentity" minOccurs="0" maxOccurs="unbounded"/>

<xs:element name="ExitSpecificPlmn" type="mcpttloc:tPlmnIdentity" minOccurs="0" maxOccurs="unbounded"/>

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

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

</xs:sequence>

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

</xs:complexType>

<xs:simpleType name="tPlmnIdentityFormat">

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

<xs:pattern value="\d{3}\d{3}"/>

</xs:restriction>

</xs:simpleType>

<xs:complexType name="tPlmnIdentity">

<xs:simpleContent>

<xs:extension base="mcpttloc:tPlmnIdentityFormat">

<xs:attribute name="TriggerId" type="xs:string" use="required"/>

</xs:extension>

</xs:simpleContent>

</xs:complexType>

<xs:complexType name="tMbmsSaChangeType">

<xs:sequence>

<xs:element name="AnyMbmsSaChange" type="mcpttloc:tEmptyTypeAttribute" minOccurs="0"/>

<xs:element name="EnterSpecificMbmsSa" type="mcpttloc:tMbmsSaIdentity" minOccurs="0"/>

<xs:element name="ExitSpecificMbmsSa" type="mcpttloc:tMbmsSaIdentity" minOccurs="0"/>

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

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

</xs:sequence>

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

</xs:complexType>

<xs:simpleType name="tMbmsSaIdentityFormat">

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

<xs:minInclusive value="0"/>

<xs:maxInclusive value="65535"/>

</xs:restriction>

</xs:simpleType>

<xs:complexType name="tMbmsSaIdentity">

<xs:simpleContent>

<xs:extension base="mcpttloc:tMbmsSaIdentityFormat">

<xs:attribute name="TriggerId" type="xs:string" use="required"/>

</xs:extension>

</xs:simpleContent>

</xs:complexType>

<xs:complexType name="tMbsfnAreaChangeType">

<xs:sequence>

<xs:element name="EnterSpecificMbsfnArea" type="mcpttloc:tMbsfnAreaIdentity" minOccurs="0"/>

<xs:element name="ExitSpecificMbsfnArea" type="mcpttloc:tMbsfnAreaIdentity" minOccurs="0"/>

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

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

</xs:sequence>

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

</xs:complexType>

<xs:simpleType name="tMbsfnAreaIdentityFormat">

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

<xs:minInclusive value="0"/>

<xs:maxInclusive value="255"/>

</xs:restriction>

</xs:simpleType>

<xs:complexType name="tMbsfnAreaIdentity">

<xs:simpleContent>

<xs:extension base="mcpttloc:tMbsfnAreaIdentityFormat">

<xs:attribute name="TriggerId" type="xs:string" use="required"/>

</xs:extension>

</xs:simpleContent>

</xs:complexType>

<xs:complexType name="tIntegerAttributeType">

<xs:simpleContent>

<xs:extension base="xs:integer">

<xs:attribute name="TriggerId" type="xs:string" use="required"/>

</xs:extension>

</xs:simpleContent>

</xs:complexType>

<xs:complexType name="tTravelledDistanceType">

<xs:sequence>

<xs:element name="TravelledDistance" type="xs:positiveInteger"/>

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

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

</xs:sequence>

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

</xs:complexType>

<xs:complexType name="tSignallingEventType">

<xs:sequence>

<xs:element name="InitialLogOn" type="mcpttloc:tEmptyTypeAttribute" minOccurs="0"/>

<xs:element name="GroupCallNonEmergency" type="mcpttloc:tEmptyTypeAttribute" minOccurs="0"/>

<xs:element name="PrivateCallNonEmergency" type="mcpttloc:tEmptyTypeAttribute" minOccurs="0"/>

<xs:element name="LocationConfigurationReceived" type="mcpttloc:tEmptyTypeAttribute" minOccurs="0"/>

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

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

</xs:sequence>

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

</xs:complexType>

<!– anyExt elements for "tSignallingEventType" –>

<xs:element name="FunctionalAliasActivation" type="mcpttloc:tEmptyTypeAttribute"/>

<xs:element name="FunctionalAliasDeactivation" type="mcpttloc:tEmptyTypeAttribute"/>

<xs:complexType name="tEmergencyEventType">

<xs:sequence>

<xs:element name="GroupCallEmergency" type="mcpttloc:tEmptyTypeAttribute" minOccurs="0"/>

<xs:element name="GroupCallImminentPeril" type="mcpttloc:tEmptyTypeAttribute" minOccurs="0"/>

<xs:element name="PrivateCallEmergency" type="mcpttloc:tEmptyTypeAttribute" minOccurs="0"/>

<xs:element name="InitiateEmergencyAlert" type="mcpttloc:tEmptyTypeAttribute" minOccurs="0"/>

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

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

</xs:sequence>

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

</xs:complexType>

<xs:complexType name="tRequestedLocationType">

<xs:sequence>

<xs:element name="ServingEcgi" type="mcpttloc:tEmptyType" minOccurs="0"/>

<xs:element name="NeighbouringEcgi" type="mcpttloc:tEmptyType" minOccurs="0" maxOccurs="unbounded"/>

<xs:element name="MbmsSaId" type="mcpttloc:tEmptyType" minOccurs="0"/>

<xs:element name="MbsfnArea" type="mcpttloc:tEmptyType" minOccurs="0"/>

<xs:element name="GeographicalCoordinate" type="mcpttloc:tEmptyType" minOccurs="0"/>

<xs:element name="minimumIntervalLength" type="xs:positiveInteger"/>

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

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

</xs:sequence>

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

</xs:complexType>

<xs:complexType name="tCurrentLocationType">

<xs:sequence>

<xs:element name="CurrentServingEcgi" type="mcpttloc:tLocationType" minOccurs="0"/>

<xs:element name="NeighbouringEcgi" type="mcpttloc:tLocationType" minOccurs="0" maxOccurs="unbounded"/>

<xs:element name="MbmsSaId" type="mcpttloc:tLocationType" minOccurs="0"/>

<xs:element name="MbsfnArea" type="mcpttloc:tLocationType" minOccurs="0"/>

<xs:element name="CurrentCoordinate" type="mcpttloc:tPointCoordinate" minOccurs="0"/>

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

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

</xs:sequence>

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

</xs:complexType>

<!– anyExt elements for "tCurrentLocationType" –>

<xs:element name="locTimestamp" type="xs:dateTime"/>

<xs:element name="FunctionalAlias" type="xs:anyURI"/>

<xs:simpleType name="protectionType">

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

<xs:enumeration value="Normal"/>

<xs:enumeration value="Encrypted"/>

</xs:restriction>

</xs:simpleType>

<xs:complexType name="tLocationType">

<xs:choice minOccurs="1" maxOccurs="1">

<xs:element name="Ecgi" type="mcpttloc:tEcgi" minOccurs="0"/>

<xs:element name="SaId" type="mcpttloc:tMbmsSaIdentity" minOccurs="0"/>

<xs:element name="MbsfnAreaId" type="mcpttloc:tMbsfnAreaIdentity" minOccurs="0"/>

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

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

</xs:choice>

<xs:attribute name="type" type="mcpttloc:protectionType"/>

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

</xs:complexType>

<xs:complexType name="tGeographicalAreaChange">

<xs:sequence>

<xs:element name="AnyAreaChange" type="mcpttloc:tEmptyTypeAttribute" minOccurs="0"/>

<xs:element name="EnterSpecificAreaType" type="mcpttloc:tSpecificAreaType" minOccurs="0"/>

<xs:element name="ExitSpecificAreaType" type="mcpttloc:tSpecificAreaType" minOccurs="0"/>

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

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

</xs:sequence>

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

</xs:complexType>

<xs:complexType name="tSpecificAreaType">

<xs:sequence>

<xs:element name="GeographicalArea" type="mcpttloc:tGeographicalAreaDef"/>

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

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

</xs:sequence>

<xs:attribute name="TriggerId" type="xs:string" use="required"/>

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

</xs:complexType>

<xs:complexType name="tPointCoordinate">

<xs:sequence>

<xs:element name="longitude" type="mcpttloc:tCoordinateType"/>

<xs:element name="latitude" type="mcpttloc:tCoordinateType"/>

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

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

</xs:sequence>

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

</xs:complexType>

<!– anyExt elements for "tPointCoordinate" –>

<xs:element name="altitude" type="mcpttloc:tCoordinateType2Bytes"/>

<xs:element name="horizontalaccuracy" type="mcpttloc:tCoordinateType1Byte"/>

<xs:element name="verticalaccuracy" type="mcpttloc:tCoordinateType1Byte"/>

<xs:complexType name="tCoordinateType">

<xs:choice minOccurs="1" maxOccurs="1">

<xs:element name="threebytes" type="mcpttloc:tThreeByteType" minOccurs="0"/>

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

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

</xs:choice>

<xs:attribute name="type" type="mcpttloc:protectionType"/>

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

</xs:complexType>

<xs:complexType name="tCoordinateType2Bytes">

<xs:choice minOccurs="1" maxOccurs="1">

<xs:element name="twobytes" type="mcpttloc:tTwoByteType" minOccurs="0"/>

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

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

</xs:choice>

<xs:attribute name="type" type="mcpttloc:protectionType"/>

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

</xs:complexType>

<xs:complexType name="tCoordinateType1Byte">

<xs:choice minOccurs="1" maxOccurs="1">

<xs:element name="onebyteunsignedhalfrange" type="mcpttloc:tOneByteUnsignedHalfRangeType" minOccurs="0"/>

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

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

</xs:choice>

<xs:attribute name="type" type="mcpttloc:protectionType"/>

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

</xs:complexType>

<xs:simpleType name="tThreeByteType">

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

<xs:minInclusive value="0"/>

<xs:maxInclusive value="16777215"/>

</xs:restriction>

</xs:simpleType>

<xs:simpleType name="tTwoByteType">

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

<xs:minInclusive value="-32768"/>

<xs:maxInclusive value="32767"/>

</xs:restriction>

</xs:simpleType>

<xs:simpleType name="tOneByteUnsignedHalfRangeType">

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

<xs:minInclusive value="0"/>

<xs:maxInclusive value="127"/>

</xs:restriction>

</xs:simpleType>

<xs:complexType name="tGeographicalAreaDef">

<xs:sequence>

<xs:element name="PolygonArea" type="mcpttloc:tPolygonAreaType" minOccurs="0"/>

<xs:element name="EllipsoidArcArea" type="mcpttloc:tEllipsoidArcType" minOccurs="0"/>

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

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

</xs:sequence>

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

</xs:complexType>

<xs:complexType name="tPolygonAreaType">

<xs:sequence>

<xs:element name="Corner" type="mcpttloc:tPointCoordinate" minOccurs="3" maxOccurs="15"/>

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

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

</xs:sequence>

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

</xs:complexType>

<xs:complexType name="tEllipsoidArcType">

<xs:sequence>

<xs:element name="Center" type="mcpttloc:tPointCoordinate"/>

<xs:element name="Radius" type="xs:nonNegativeInteger"/>

<xs:element name="OffsetAngle" type="xs:unsignedByte"/>

<xs:element name="IncludedAngle" type="xs:unsignedByte"/>

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

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

</xs:sequence>

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

</xs:complexType>

<xs:complexType name="anyExtType">

<xs:sequence>

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

</xs:sequence>

</xs:complexType>

<!– anyEXT elements for the Configuration element – begin –>

<xs:element name="EmergencyTriggeringCriteria" type="mcpttloc:TriggeringCriteriaType"/>

<!– anyEXT elements for the Configuration element – end –>

</xs:schema>

F.3.3 Semantic

The <location-info> element is the root element of the XML document. The <location-info> element contains the <Configuration>, <Request> and <Report> subelements, of which only one can be present.

<Configuration> element has a <ConfigScope> attribute that can assume the values "Full" and "Update". The value "Full" means that the Configuration> element contains the full location configuration which replaces any previous location configuration. The value "Update" means that the location configuration is in addition to any previous location configuration. To remove configuration elements a "Full" configuration is needed. The <Configuration> element contains the following child elements:

1) <NonEmergencyLocationInformation>, an optional element that specifies the location information requested in non-emergency situations. The <NonEmergencyLocationInformation> has the subelements:

a) <ServingEcgi>, an optional element specifying that the serving E-UTRAN Cell Global Identity (ECGI) needs to be reported;

b) <NeighbouringEcgi>, an optional element that can occur multiple times, specifying that neighbouring ECGIs need to be reported;

c) <MbmsSaId>, an optional element specifying that the serving MBMS Service Area Id needs to be reported;

d) <MbsfnArea>, an optional element specifying that the MBSFN area Id needs to be reported;

e) <GeographicalCoordinate>, an optional element specifying that the geographical coordinate specified in clause 6.1 in 3GPP TS 23.032 [54] needs to be reported; and

f) <minimumIntervalLength>, a mandatory element specifying the minimum time the MCPTT client needs to wait between sending location reports. The value is given in seconds;

2) <EmergencyLocationInformation>, an optional element that specifies the location information requested in emergency situations. The <EmergencyLocationInformation> has the subelements:

a) <ServingEcgi>, an optional element specifying that the serving ECGI needs to be reported;

b) <NeighbouringEcgi>, an optional element that can occur multiple times, specifying that neighbouring ECGIs need to be reported;

c) <MbmsSaId>, an optional element specifying that the serving MBMS Service Area Id needs to be reported;

d) <MbsfnArea>, an optional element specifying that the MBSFN area Id needs to be reported;

e) <GeographicalCoordinate>, an optional element specifying that the geographical coordinate specified in clause 6.1 in 3GPP TS 23.032 [54] needs to be reported; and

f) <minimumIntervalLength>, a mandatory element specifying the minimum time the MCPTT client needs to wait between sending location reports. The value is given in seconds;

3) <TriggeringCriteria>, a mandatory element specifying the triggers for the MCPTT client to perform reporting in non emergency status. The <TriggeringCriteria> element contains the following sub-elements:

a) <CellChange>, an optional element specifying what cell changes trigger location reporting. Consists of the following sub-elements:

I) <AnyCellChange>, an optional element. The presence of this element specifies that any cell change is a trigger. Contains a mandatory <TriggerId> attribute that shall be set to a unique string;

II) <EnterSpecificCell>, an optional element specifying an ECGI which when entered triggers a location report. Contains a mandatory <TriggerId> attribute that shall be set to a unique string; and

III) <ExitSpecificCell>, an optional element specifying an ECGI which when exited triggers a location report. Contains a mandatory <TriggerId> attribute that shall be set to a unique string;

b) <TrackingAreaChange>, an optional element specifying what tracking area changes trigger location reporting. Consists of the following sub-elements:

I) <AnyTrackingAreaChange>, an optional element. The presence of this element specifies that any tracking area change is a trigger. Contains a mandatory <TriggerId> attribute that shall be set to a unique string;

II) <EnterSpecificTrackingArea>, an optional element specifying a Tracking Area Id which when entered triggers a location report. Contains a mandatory <TriggerId> attribute that shall be set to a unique string; and

III) <ExitSpecificTrackingArea>, an optional element specifying a Tracking Area Id which when exited triggers a location report. Contains a mandatory <TriggerId> attribute that shall be set to a unique string;

c) <PlmnChange>, an optional element specifying what PLMN changes trigger location reporting. Consists of the following sub-elements:

I) <AnyPlmnChange>, an optional element. The presence of this element specifies that any PLMN change is a trigger. Contains a mandatory <TriggerId> attribute that shall be set to a unique string;

II) <EnterSpecificPlmn>, an optional element specifying a PLMN Id which when entered triggers a location report. Contains a mandatory <TriggerId> attribute that shall be set to a unique string; and

III) <ExitSpecificPlmn>, an optional element specifying a PLMN Id which when exited triggers a location report. Contains a mandatory <TriggerId> attribute that shall be set to a unique string;

d) <MbmsSaChange>, an optional element specifying what MBMS changes trigger location reporting. Consists of the following sub-elements:

I) <AnyMbmsSaChange>, an optional element. The presence of this element specifies that any MBMS SA change is a trigger. Contains a mandatory <TriggerId> attribute that shall be set to a unique string;

II) <EnterSpecificMbmsSa>, an optional element specifying an MBMS Service Area Id which when entered triggers a location report. Contains a mandatory <TriggerId> attribute that shall be set to a unique string; and

III) <ExitSpecificMbmsSa>, an optional element specifying an MBMS Service Area Id which when exited triggers a location report. Contains a mandatory <TriggerId> attribute that shall be set to a unique string;

e) <MbsfnAreaChange>, an optional element specifying what MBSFN changes trigger location reporting. Consists of the following sub-elements:

I) <AnyMbsfnAreaChange>, an optional element. The presence of this element specifies that any MBSFN area change is a trigger. Contains a mandatory <TriggerId> attribute that shall be set to a unique string;

II) <EnterSpecificMbsfnArea>, an optional element specifying an MBSFN area which when entered triggers a location report. Contains a mandatory <TriggerId> attribute that shall be set to a unique string; and

III) <ExitSpecificMbsfnArea>, an optional element specifying an MBSFN area which when exited triggers a location report. Contains a mandatory <TriggerId> attribute that shall be set to a unique string;

f) <PeriodicReport>, an optional element specifying that periodic location reports shall be sent. The value in seconds specifies the reporting interval. Contains a mandatory <TriggerId> attribute that shall be set to a unique string;

g) <TravelledDistance>, an optional element specifying that the travelled distance shall trigger a report. The value in metres specified the travelled distance. Contains a mandatory <TriggerId> attribute that shall be set to a unique string;

h) <McpttSignallingEvent>, an optional element specifying what signalling events triggers a location report. The <McpttSignallingEvent> element has the following sub-elements:

I) <InitialLogOn>, an optional element specifying that an initial log on triggers a location report. Contains a mandatory <TriggerId> attribute that shall be set to a unique string;

II) <GroupCallNonEmergency>, an optional element specifying that a non-emergency group call triggers a location report. Contains a mandatory <TriggerId> attribute that shall be set to a unique string;

III) <PrivateCallNonEmergency>, an optional element specifying that a non-emergency private call triggers a location report. Contains a mandatory <TriggerId> attribute that shall be set to a unique string;

IV) <LocationConfigurationReceived>, an optional element specifying that a received location configuration triggers a location report. Contains a mandatory <TriggerId> attribute that shall be set to a unique string; and

V) <anyExt>, an optional element containing:

A) an optional <FunctionalAliasActivation> element specifying that a Functional Alias activation triggers a location report. Contains a mandatory <TriggerId> attribute that shall be set to a unique string; and

B) an optional element <FunctionalAliasDeactivation> specifying that a Functional Alias deactivation triggers a location report. Contains a mandatory <TriggerId> attribute that shall be set to a unique string; and

i) <GeographicalAreaChange>, an optional element specifying what geographical are changes trigger location reporting. Consists of the following sub-elements:

I) <AnyAreaChange>, an optional element. The presence of this element specifies that any geographical area change is a trigger. Contains a mandatory <TriggerId> attribute that shall be set to a unique string;

II) <EnterSpecificArea>, an optional element specifying a geographical area which when entered triggers a location report. Contains a mandatory <TriggerId> attribute that shall be set to a unique string. The <EnterSpecificArea> element has the following sub-elements:

A) <GeographicalArea>, an optional element containing a <TriggerId> attribute and the following two subelements:

x1) <PolygonArea>, an optional element specifying the area as a polygon specified in clause 5.4 in 3GPP TS 23.032 [54]; and

x2) <EllipsoidArcArea>, an optional element specifying the area as an Ellipsoid Arc specified in clause 5.7 in 3GPP TS 23.032 [54]; and

III) <ExitSpecificAreaType>, an optional element specifying a geographical area which when exited triggers a location report. Contains a mandatory <TriggerId> attribute that shall be set to a unique string; and

4) the <anyExt> shall be included with the following element not declared in the XML schema:

a) <EmergencyTriggeringCriteria>, a mandatory element specifying the triggers for the MCPTT client to perform reporting in emergency status. The <EmergencyTriggeringCriteria> element contains the following sub-elements:

I) <CellChange>, an optional element specifying what cell changes trigger location reporting. Consists of the following sub-elements:

A) <AnyCellChange>, an optional element. The presence of this element specifies that any cell change is a trigger. Contains a mandatory <TriggerId> attribute that shall be set to a unique string;

B) <EnterSpecificCell>, an optional element specifying an ECGI which when entered triggers a location report. Contains a mandatory <TriggerId> attribute that shall be set to a unique string; and

C) <ExitSpecificCell>, an optional element specifying an ECGI which when exited triggers a location report. Contains a mandatory <TriggerId> attribute that shall be set to a unique string;

II) <TrackingAreaChange>, an optional element specifying what tracking area changes trigger location reporting. Consists of the following sub-elements:

A) <AnyTrackingAreaChange>, an optional element. The presence of this element specifies that any tracking area change is a trigger. Contains a mandatory <TriggerId> attribute that shall be set to a unique string;

B) <EnterSpecificTrackingArea>, an optional element specifying a Tracking Area Id which when entered triggers a location report. Contains a mandatory <TriggerId> attribute that shall be set to a unique string; and

C) <ExitSpecificTrackingArea>, an optional element specifying a Tracking Area Id which when exited triggers a location report. Contains a mandatory <TriggerId> attribute that shall be set to a unique string;

III) <PlmnChange>, an optional element specifying what PLMN changes trigger location reporting. Consists of the following sub-elements:

A) <AnyPlmnChange>, an optional element. The presence of this element specifies that any PLMN change is a trigger. Contains a mandatory <TriggerId> attribute that shall be set to a unique string;

B) <EnterSpecificPlmn>, an optional element specifying a PLMN Id which when entered triggers a location report. Contains a mandatory <TriggerId> attribute that shall be set to a unique string; and

C) <ExitSpecificPlmn>, an optional element specifying a PLMN Id which when exited triggers a location report. Contains a mandatory <TriggerId> attribute that shall be set to a unique string;

IV) <MbmsSaChange>, an optional element specifying what MBMS changes trigger location reporting. Consists of the following sub-elements:

A) <AnyMbmsSaChange>, an optional element. The presence of this element specifies that any MBMS SA change is a trigger. Contains a mandatory <TriggerId> attribute that shall be set to a unique string;

B) <EnterSpecificMbmsSa>, an optional element specifying an MBMS Service Area Id which when entered triggers a location report. Contains a mandatory <TriggerId> attribute that shall be set to a unique string; and

C) <ExitSpecificMbmsSa>, an optional element specifying an MBMS Service Area Id which when exited triggers a location report. Contains a mandatory <TriggerId> attribute that shall be set to a unique string;

V) <MbsfnAreaChange>, an optional element specifying what MBSFN changes trigger location reporting. Consists of the following sub-elements:

A) <AnyMbsfnAreaChange>, an optional element. The presence of this element specifies that any MBSFN area change is a trigger. Contains a mandatory <TriggerId> attribute that shall be set to a unique string;

B) <EnterSpecificMbsfnArea>, an optional element specifying an MBSFN area which when entered triggers a location report. Contains a mandatory <TriggerId> attribute that shall be set to a unique string; and

C) <ExitSpecificMbsfnArea>, an optional element specifying an MBSFN area which when exited triggers a location report. Contains a mandatory <TriggerId> attribute that shall be set to a unique string;

VI) <PeriodicReport>, an optional element specifying that periodic location reports shall be sent. The value in seconds specifies the reporting interval. Contains a mandatory <TriggerId> attribute that shall be set to a unique string;

VII) <TravelledDistance>, an optional element specifying that the travelled distance shall trigger a report. The value in metres specified the travelled distance. Contains a mandatory <TriggerId> attribute that shall be set to a unique string;

VIII) <McpttSignallingEvent>, an optional element specifying what signalling events triggers a location report. The <McpttSignallingEvent> element has the following sub-elements:

A) <InitialLogOn>, an optional element specifying that an initial log on triggers a location report. Contains a mandatory <TriggerId> attribute that shall be set to a unique string;

B) <GroupCallNonEmergency>, an optional element specifying that a non-emergency group call triggers a location report. Contains a mandatory <TriggerId> attribute that shall be set to a unique string;

C) <PrivateCallNonEmergency>, an optional element specifying that a non-emergency private call triggers a location report. Contains a mandatory <TriggerId> attribute that shall be set to a unique string; and

D) <LocationConfigurationReceived>, an optional element specifying that a received location configuration triggers a location report. Contains a mandatory <TriggerId> attribute that shall be set to a unique string; and

IX) <GeographicalAreaChange>, an optional element specifying what geographical are changes trigger location reporting. Consists of the following sub-elements:

A) <AnyAreaChange>, an optional element. The presence of this element specifies that any geographical area change is a trigger. Contains a mandatory <TriggerId> attribute that shall be set to a unique string;

B) <EnterSpecificArea>, an optional element specifying a geographical area which when entered triggers a location report. Contains a mandatory <TriggerId> attribute that shall be set to a unique string. The <EnterSpecificArea> element has the following sub-elements:

x1) <GeographicalArea>, an optional element containing a <TriggerId> attribute and the following two subelements:

i1) <PolygonArea>, an optional element specifying the area as a polygon specified in clause 5.4 in 3GPP TS 23.032 [54]; and

i2) <EllipsoidArcArea>, an optional element specifying the area as an Ellipsoid Arc specified in clause 5.7 in 3GPP TS 23.032 [54]; and

C) <ExitSpecificAreaType>, an optional element specifying a geographical area which when exited triggers a location report. Contains a mandatory <TriggerId> attribute that shall be set to a unique string.

<Request> is an element with a <RequestId> attribute. The <Request> element is used to request a location report. The value of the <RequestId> attribute is returned in the corresponding <ReportId> attribute in order to correlate the request and the report.

<Report> is an element used to include the location report. It contains a <ReportId> attribute and a <ReportType> attribute. The <ReportId> attribute is used to return the value in the <RequestId> attribute in the <Request> element. The <ReportType> attribute has two values "Emergency" and "NonEmergency" used to inform whether the client is sending the report in an emergency situation or not. The <Report> element contains the following sub-elements:

1) <TriggerId>, an optional element which can occur multiple times that contain the value of the <TriggerId> attribute associated with a trigger that has fired; and

2) <CurrentLocation>, a mandatory element that contains the location information. The <CurrentLocation> element contains the following sub-elements:

a) <CurrentServingEcgi>, an optional element containing the ECGI of the serving cell;

b) <NeighbouringEcgi>, an optional element that can occur multiple times. It contains the ECGI of any neighbouring cell the MCPTT client can detect;

c) <MbmsSaId>, an optional element containing the MBMS Service Area Id the MCPTT client is using;

d) <MbsfnArea>, an optional element containing the MBSFN area the MCPTT is located in;

e) <CurrentCoordinate>, an optional element containing:

i) the longitude and latitude coded as in clause 6.1 in 3GPP TS 23.032 [54]; and

ii) an optional <anyExt> element containing:

A) an <altitude> element where the <twobytes> subelement is coded as in clause 6.3 in 3GPP TS 23.032 [54];

B) an optional <horizontalaccuracy> element where the <onebyteunsignedhalfrange> subelement is coded as in clause 6.2 in 3GPP TS 23.032 [54], which describes the uncertainty for latitude and longitude; and

C) an optional <verticalaccuracy> element where the <onebyteunsignedhalfrange> subelement is coded as in clause 6.2 in 3GPP TS 23.032 [54], which describes the uncertainty for altitude; and

f) <anyExt>, an optional element containing:

i) an optional <locTimestamp> element containing the date and time the location measurement was made;

ii) an optional <FunctionalAlias> element containing the functional alias status change that tiggered the location measurement.

The contents of the subelements in the <CurrentLocation> subelement of the <Report> element can be encrypted. The following rules are applied when any of these elements are included:

1) if confidentiality protection is not required, then:

a) the "type" attributes associated with the <CurrentServingEcgi>, <NeighbouringEcgi>, <MbmsSaId>, and <MbsfnArea> elements of the <Report> element have the value "Normal" and

i) the <Ecgi> subelement of the <CurrentServingEcgi> element contains the unencrypted value of the ECGI of the serving cell;

ii) the <Ecgi> subelement of the <NeighbouringEcgi> element contains the unencrypted value of the ECGI of any neighbouring cell;

iii) the <SaId> subelement of the <MbmsSaId> element contains the unencrypted value of the MBMS Service Area Id the MCPTT client is using; and

iv) the <MbsfnAreaId> subelement of the <MbsfnArea>, element contains the unencrypted value of the MBSFN area the MCPTT is located in; and

b) the "type" attributes associated with the <longitude>, <latitude>, <altitude>, <horizontalaccuracy>, and <verticalaccuracy> subelements of the <CurrentCoordinate> element have the value "Normal" and the <three-bytes> subelements of <longitude> and <latitude> subelements, the <twobytes> subelement of the <altitude> subelement, the <onebyteunsignedhalfrange> subelement of the <horizontalaccuracy>, and the <onebyteunsignedhalfrange> subelement of the <verticalaccuracy> subelement contain the unencrypted value of longitude, latitude, altitude, horizontalaccuracy, and verticalaccuracy; and

2) if confidentiality protection is required, then:

a) the "type" attributes associated with the <CurrentServingEcgi>, <NeighbouringEcgi>, <MbmsSaId>, and <MbsfnArea> elements have the value "Encrypted";

b) the "type" attributes associated with the <longitude>, <latitude>, <altitude>, <horizontalaccuracy>, and <verticalaccuracy> subelements of the <CurrentCoordinate> element have the value "Encrypted"; and

c) for each of the elements described in 2a) and subelements described in 2b) above, the <xenc:EncryptedData> element from the "http://www.w3.org/2001/04/xmlenc#" namespace is included and:

i) can have a "Type" attribute can be included with a value of "http://www.w3.org/2001/04/xmlenc#Content";

ii) can include an <EncryptionMethod> element with the "Algorithm" attribute set to value of "http://www.w3.org/2009/xmlenc11#aes128-gcm";

iii) can include a <KeyInfo> element with a <KeyName> element containing the base 64 encoded XPK-ID; and

iv) includes a <CipherData> element with a <CipherValue> element containing the encrypted data.

NOTE: When the optional attributes and elements are not included within the <xenc:EncryptedData> element, the information they contain is known to sender and the receiver by other means.

The recipient of the XML ignores any unknown element and any unknown attribute.

F.3.4 IANA registration template

Your Name:

<MCC name>

Your Email Address:

<MCC email address>

Media Type Name:

Application

Subtype name:

vnd.3gpp. mcptt-location-info+xml

Required parameters:

None

Optional parameters:

"charset" the parameter has identical semantics to the charset parameter of the "application/xml" media type as specified in section 9.1 of IETF RFC 7303.

Encoding considerations:

binary.

Security considerations:

Same as general security considerations for application/xml media type as specified in section 9.1 of IETF RFC 7303. In addition, this media type provides a format for exchanging information in SIP, so the security considerations from IETF RFC 3261 apply.

The information transported in this media type does not include active or executable content.

Mechanisms for privacy and integrity protection of protocol parameters exist. Those mechanisms as well as authentication and further security mechanisms are described in 3GPP TS 24.229.

This media type does not include provisions for directives that institute actions on a recipient’s files or other resources.

This media type does not include provisions for directives that institute actions that, while not directly harmful to the recipient, may result in disclosure of information that either facilitates a subsequent attack or else violates a recipient’s privacy in any way.

This media type does not employ compression.

Interoperability considerations:

Same as general interoperability considerations for application/xml media type as specified in section 9.1 of IETF RFC 7303. Any unknown XML elements and any unknown XML attributes are to be ignored by recipient of the MIME body.

Published specification:

3GPP TS 24.379 "Mission Critical Push To Talk (MCPTT) call control" version 13.0.0, available via http://www.3gpp.org/specs/numbering.htm.

Applications which use this media type:

Applications supporting the mission critical push to talk as described in the published specification.

Fragment identifier considerations:

The handling in section 5 of IETF RFC 7303 applies.

Restrictions on usage:

None

Provisional registration? (standards tree only):

N/A

Additional information:

1. Deprecated alias names for this type: none

2. Magic number(s): none

3. File extension(s): none

4. Macintosh File Type Code(s): none

5. Object Identifier(s) or OID(s): none

Intended usage:

Common

Person to contact for further information:

– Name: <MCC name>

– Email: <MCC email address>

– Author/Change controller:

i) Author: 3GPP CT1 Working Group/3GPP_TSG_CT_WG1@LIST.ETSI.ORG

ii) Change controller: <MCC name>/<MCC email address>