7 Coding

24.5453GPPLocation Management - Service Enabler Architecture Layer for Verticals (SEAL)Protocol specificationRelease 17TS

7.1 General

This clause specifies the coding to enable an SLM-C and an SLM-S to communicate.

7.2 Application unique ID

The AUID shall be set to the VAL service ID as specified in specific VAL service specification.

7.3 Structure

The location management document shall conform to the XML schema described in clause 7.4.

The <location-info> element shall be the root element of the SEALLocationManagement document.

The <location-info> element shall include at least one of the following:

a) an <identity> element;

b) a <subscription> element;

c) a <notification> element;

d) a <report> element;

e) a <configuration> element;

f) a <request> element;

g) a <requested-identity> element;

h) a <report-request> element;

i) a <location-based-query> element; or

j) a <location-based- response> element.

The <identity> element shall include one of the following:

a) a <VAL-user-id> element may include a <VAL-client-id> element; or

b) a <VAL-group-id> element.

The <subscription> element shall include:

a) an <identities-list> element which shall include:

1) one or more <VAL-user-id> elements; and

b) a <time-interval-length> element;

c) a <subscription-identifier> element;

d) an <expiry-time> element;

The <notification> element shall include:

a) an <identities-list> element which shall include:

1) one or more <VAL-user-id> elements;

b) a <trigger-id> element; and

c) a <reports> element containing one or more <loc-info-report> elements. The <loc-info-report> element shall include:

1) a <VAL-user-id> element;

2) a <latest-location> element, which shall include at least one of the following sub-elements:

i) a <latest-serving-NCGI> element;

ii) a <neighbouring-NCGI> element;

iii) an <mbms-service-area-id> element;

iv) an <mbsfn-area> element; or

v) a <latest-coordinate> element;

The <report> element shall contain a <report-id> attribute. The <report> shall include:

a) a <trigger-id> element; and

b) a <current-location> element which shall include at least one of the following:

1) a <current-serving-NCGI> element;

2) a <neighbouring-NCGI> element;

3) a <mbms-service-area-id> element; or

4) a <current-coordinate> element.

The <configuration> element includes:

a) a <location-information> element including:

1) a <current-serving-NCGI> element;

2) a <neighbouring-NCGI> element;

3) an <mbms-service-area-id> element;

4) an <mbsfn-area-id> element; or

5) a <current-geographical-coordinate> element;

b) a <triggering-criteria> element shall include at least one of the following sub-elements:

1) a <cell-change> element shall include one of the following sub-elements:

i) an <any-cell-change> element shall include a <trigger-id> element;

ii) an <enter-specific-cell> element shall include a <trigger-id> element; and

iii) an <exit-specific-cell> element include a <trigger-id> element;

2) a <tracking-area-change> element shall include one of the following sub-elements:

i) an <any-tracking-area-change> element shall include a <trigger-id> element;

ii) an <enter-specific-tracking-area> element shall include a <trigger-id> element; and

iii) an <exit-specific-tracking-area> element shall include a <trigger-id> element;

3) a <plmn-change> element shall include one of the following sub-elements:

i) an <any-plmn-change> element shall include a <trigger-id> element;

ii) an <enter-specific-plmn>element shall include a <trigger-id> element; and

iii) an <exit-specific-plmn> element shall include a <trigger-id> element;

4) an <mbms-sa-change> element shall include one of the following sub-elements:

i) an <any-mbms-sa-change> element shall include a <trigger-id> element;

ii) an <enter-specific-mbms-sa> element shall include a <trigger-id> element; and

iii) an <exit-specific-mbms-sa> element shall include a <trigger-id> element;

5) an <mbsfn-area-change> element shall include one of the following sub-elements:

i) an <any-mbsfn-area-change> element shall include a <trigger-id> element;

ii) an <enter-specific-mbsfn-area> element shall include a <trigger-id> element; and

iii) an <exit-specific-mbsfn-area> element shall include a <trigger-id> element;

6) a <periodic-report> element shall include a <trigger-id> element;

7) a <travelled-distance> element shall include a <trigger-id> element;

8) a <vertical-application-event> element shall include one of the following sub-elements:

i) an <initial-log-on> element shall include a <trigger-id> element;

ii) a <location-configuration-received> element shall include a <trigger-id> element; and

iii) an <any-other-event>, an optional element specifying that any other application signalling event than initial-log-on and location-configuration-received triggers a request for a location report. This element contains a mandatory <trigger-id> attribute that shall be set to a unique string;

9) a <geographical-area-change> element shall include one of the following sub-elements:

i) an <any-area-change> element shall include a <trigger-id> element;

ii) an <enter-specific-area> element shall include the following sub-element:

A) a <geographical-area> element shall include the following two sub-elements:

I) a <polygon-area> element shall include a <trigger-id> element; and

II) an <ellipsoid-arc-area> element shall include a <trigger-id> element;

iii) an <exit-specific-area-type> element shall include a <trigger-id> element;

c) a <minimum-interval-length> element;

The <request> shall contain a <request-id> attribute.

The <requested-identity> element shall include one of the following sub-elements:

a) a <VAL-user-id> element may include a <VAL-client-id> element; or

b) a <VAL-group-id> element.

The <report-request> element shall include at least one of the following sub-elements:

a) an <immediate-report-indicator> element;

b) a <current-location> element which shall include at least one of the following sub-elements:

1) a <current-serving-NCGI> element;

2) a <neighbouring-NCGI> element;

3) an <mbms-service-area-id> element; or

4) a <current-coordinate> element;

c) a <triggering-criteria> element shall include at least one of the following sub-elements:

1) a <cell-change> element shall include one of the following sub-elements:

i) an <any-cell-change> element shall include a <trigger-id> element;

ii) a <enter-specific-cell> element shall include a <trigger-id> element; and

iii) an <exit-specific-cell> element include a <trigger-id> element;

2) a <tracking-area-change> element shall include one of the following sub-elements:

i) an <any-tracking-area-change> element shall include a <trigger-id> element;

ii) an <enter-specific-tracking-area> element shall include a <trigger-id> element; and

iii) an <exit-specific-trackin-area> element shall include a <trigger-id> element;

3) a <plmn-change> element shall include one of the following sub-elements:

i) an <any-plmn-change> element shall include a <trigger-id> element;

ii) an <enter-specific-plmn>element shall include a <trigger-id> element; and

iii) an <exit-specific-plmn> element shall include a <trigger-id> element;

4) an <mbms-sa-change> element shall include one of the following sub-elements:

i) an <any-mbms-sa-change> element shall include a <trigger-id> element;

ii) an <enter-specific-mbms-sa> element shall include a <trigger-id> element; and

iii) an <exit-specific-mbms-sa> element shall include a <trigger-id> element;

5) an <mbsfn-area-change> element shall include one of the following sub-elements:

i) an <any-mbsfn-areaChange> element shall include a <trigger-id> element;

ii) an <enter-specific-mbsfn-area> element shall include a <trigger-id> element; and

iii) an <exit-specific-mbsfn-area> element shall include a <trigger-id> element;

6) a <periodic-report> element shall include a <trigger-id> element;

7) a <travelled-distance> element shall include a <trigger-id> element;

8) a <vertical-application-event> element shall include one of the following sub-elements:

i) an <initial-log-on> element shall include a <trigger-id> element;

ii) a <location-configuration-received> element shall include a <trigger-id> element; and

iii) an <any-other-event>, an optional element specifying that any other application signalling event than initial-log-on and location-configuration-received triggers a request for a location report. This element contains a mandatory <trigger-id> attribute that shall be set to a unique string;

9) a <geographical-area-change> element shall include one of the following sub-elements:

i) an <any-area-change> element shall include a <trigger-id> element;

ii) an <enter-specific-area> element shall include the following sub-element:

A) a <geographical-area> element shall include the following two sub-elements:

I) a <polygon-area> element shall include a <trigger-id> element; and

II) an <ellipsoid-arc-area> element shall include a <trigger-id> element;

iii) an <exit-specific-area-type> element shall include a <trigger-id> element;

d) a <minimum-interval-length> element; and

e) an <endpoint-info> element.

The <location-based-query> element shall include at least one of the following:

a) a <polygon-area> element; or

b) an <ellipsoid-arc-area> element.

The <location-based-response> element may include:

a) an <identities-list> element which shall include:

1) one or more <VAL-user-id> elements;

7.4 XML schema

7.4.1 General

This clause defines the XML schema for location information.

7.4.2 XML schema

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

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

targetNamespace="urn:3gpp:ns:sealLocationInfo:1.0"

xmlns:sealloc="urn:3gpp:ns:sealLocationInfo:1.0"

elementFormDefault="qualified"

attributeFormDefault="unqualified"

xmlns:xenc="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 SEAL service</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:choice>

<xs:element name="Identity" type="sealloc:tIdentityType"/>

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

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

<xs:element name="LocationBasedQuery" type="sealloc:tLocationBasedQueryType"/>

<xs:element name="LocationBasedReponse" type="sealloc:tLocationBasedResponseType"/>

<xs:element name="Notification" type="sealloc:tNotificationType"/>

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

<xs:element name="RequestedID" type="sealloc:tRequestedIDType"/>

<xs:element name="Subscription" type="sealloc:tSubscriptionType"/>

<xs:element name="ReportRequest" type="sealloc:tReportRequestType"/>

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

</xs:choice>

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

</xs:complexType>

</xs:element>

<xs:complexType name="tIdentityType">

<xs:choice>

<xs:element name="VAL-user-id" type="sealloc:contentType" minOccurs="0"/>

<xs:element name="VAL-group-id" type="xs:string" minOccurs="0"/>

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

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

</xs:choice>

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

</xs:complexType>

<xs:complexType name="tConfigurationType">

<xs:sequence>

<xs:element name="LocationInformation" type="sealloc:tRequestedLocationType" minOccurs="0"/>

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

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

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

<xs:element name="anyExt" type="sealloc: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="tReportType">

<xs:sequence>

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

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

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

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

</xs:sequence>

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

</xs:attribute>

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

</xs:complexType>

<xs:complexType name="tLocationBasedQueryType">

<xs:sequence>

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

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

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

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

</xs:sequence>

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

</xs:complexType>

<xs:complexType name="tLocationBasedResponseType">

<xs:sequence>

<xs:element name="IDList" type="sealloc:tIDListType"/>

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

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

</xs:complexType>

<xs:complexType name="tNotificationType">

<xs:sequence>

<xs:element name="IDsList" type="sealloc:tIDsListType"/>

<xs:element name="Reports" type="sealloc:tReportsType"/>

<xs:element name="anyExt" type="sealloc: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="tRequestType">

<xs:complexContent>

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

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

</xs:complexContent>

</xs:complexType>

<xs:complexType name="tRequestedIDType">

<xs:choice>

<xs:element name="VAL-user-id" type="sealloc:contentType" minOccurs="0"/>

<xs:element name="VAL-group-id" type="xs:string" minOccurs="0"/>

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

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

</xs:choice>

</xs:complexType>

<xs:complexType name="tSubscriptionType">

<xs:sequence>

<xs:element name="IDsList" type="sealloc:tIDsListType"/>

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

<xs:element name="SubscriptionID" type="xs:string" minOccurs="0" maxOccurs="1"/>

<xs:element name="ExpiryTime" type="xs:nonPositiveInteger"/>

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

</xs:sequence>

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

</xs:complexType>

<xs:complexType name="tReportRequestType">

<xs:sequence>

<xs:element name="ImmediateReportIndicator" type="xs:boolean"/>

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

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

<xs:element name="MinimumIntervalLength" type="xs:positiveInteger" minOccurs="0" maxOccurs="1"/>

<xs:element name="endpoint-info" type="sealloc:contentType" minOccurs="0" maxOccurs="1">

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

</xs:sequence>

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

</xs:attribute>

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

</xs:complexType>

<xs:complexType name="tRequestedLocationType">

<xs:sequence>

<xs:element name="CurrentServingNcgi" type="sealloc:tEmptyType" minOccurs="0"/>

<xs:element name=" NeighbouringNcgi" type="sealloc:tEmptyType" minOccurs="0" maxOccurs="unbounded"/>

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

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

<xs:element name="CurrentGeographicalCoordinate" type="sealloc:tEmptyType" 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="TriggeringCriteriaType">

<xs:sequence>

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

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

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

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

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

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

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

<xs:element name="VerticalAppEvent" type="sealloc: tVerticalAppEventType" minOccurs="0"/>

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

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

</xs:sequence>

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

</xs:complexType>

<xs:complexType name="tEmptyType"/>

<xs:complexType name="tCellChange">

<xs:sequence>

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

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

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

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

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

</xs:sequence>

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

</xs:complexType>

<xs:simpleType name="tNcgi">

<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="sealloc: tNcgi">

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

</xs:extension>

</xs:simpleContent>

</xs:complexType>

<xs:complexType name="tEmptyTypeAttribute">

<xs:complexContent>

<xs:extension base="sealloc: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="sealloc:tEmptyTypeAttribute" minOccurs="0"/>

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

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

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

<xs:element name="anyExt" type="sealloc: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="sealloc: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="sealloc:tEmptyTypeAttribute" minOccurs="0"/>

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

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

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

<xs:element name="anyExt" type="sealloc: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="sealloc: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="sealloc:tEmptyTypeAttribute" minOccurs="0"/>

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

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

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

<xs:element name="anyExt" type="sealloc: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="sealloc: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="AnyMbsfnAreaChange" type="sealloc:tMbsfnAreaIdentity" minOccurs="0"/>

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

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

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

<xs:element name="anyExt" type="sealloc: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="sealloc: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=" tVerticalAppEventType">

<xs:sequence>

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

<xs:element name="LocConfigReceived" type="sealloc:tEmptyTypeAttribute" minOccurs="0"/>

<xs:element name="AnyOtherEvent" type="sealloc:tEmptyTypeAttribute" minOccurs="0"/>

minOccurs="0"/>

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

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

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

</xs:sequence>

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

</xs:complexType>

<xs:complexType name="tCurrentLocationType">

<xs:sequence>

<xs:element name=" CurrentServingNcgi" type="sealloc:tLocationType" minOccurs="0"/>

<xs:element name=" NeighbouringNcgi" type="sealloc:tLocationType" minOccurs="0" maxOccurs="unbounded"/>

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

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

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

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

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

</xs:sequence>

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

</xs:complexType>

<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="Ncgi" type="sealloc: tNcgi" minOccurs="0"/>

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

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

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

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

</xs:choice>

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

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

</xs:complexType>

<xs:complexType name="tGeographicalAreaChange">

<xs:sequence>

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

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

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

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

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

</xs:sequence>

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

</xs:complexType>

<xs:complexType name="tSpecificAreaType">

<xs:sequence>

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

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

<xs:element name="anyExt" type="sealloc: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="sealloc:tCoordinateType"/>

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

<xs:element name="altitude" type="sealloc:tCoordinateType" minOccurs="0"/>

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

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

</xs:sequence>

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

</xs:complexType>

<xs:complexType name="tCoordinateType">

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

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

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

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

</xs:choice>

<xs:attribute name="type" type="sealloc: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:complexType name="tGeographicalAreaDef">

<xs:sequence>

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

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

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

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

</xs:sequence>

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

</xs:complexType>

<xs:complexType name="tPolygonAreaType">

<xs:sequence>

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

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

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

</xs:sequence>

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

</xs:complexType>

<xs:complexType name="tEllipsoidArcType">

<xs:sequence>

<xs:element name="Center" type="sealloc: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="sealloc:anyExtType" minOccurs="0"/>

</xs:sequence>

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

</xs:complexType>

<xs:complexType name="tReportsType">

<xs:sequence >

<xs:element name="VAL-user-id" type="sealloc:contentType" minOccurs="0" maxOccurs="1"/>

<xs:element name="LatestLocation" type="sealloc:tLatestLocationType"/>

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

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

</xs:sequence >

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

</xs:complexType>

<xs:complexType name="tLatestLocationType">

<xs:sequence>

<xs:element name="LatestServingNcgi" type="sealloc:tLocationType" minOccurs="0"/>

<xs:element name="NeighbouringNcgi" type="sealloc:tLocationType" minOccurs="0" maxOccurs="unbounded"/>

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

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

<xs:element name="LatestCoordinate" type="sealloc:tPointCoordinate" minOccurs="0"/>

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

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

</xs:sequence>

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

</xs:complexType>

<xs:complexType name="contentType">

<xs:choice>

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

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

<xs:element name="sealBoolean" type="xs:boolean"/>

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

</xs:choice>

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

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

</xs:complexType>

<xs:complexType name="tIDsListType">

<xs:choice>

<xs:element name="VAL-user-id" type="sealloc:contentType" minOccurs="0"/>

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

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

</xs:choice>

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

</xs:complexType>

</xs:schema>

7.5 Data semantics

The <location-info> element is the root element of the XML document. The <location-info> element contains the <identity>, <subscription>, <request>, <configuration> and <report> sub-elements.

<identity> is a mandatory element used to include the identity of a VAL user, a VAL client or a VAL group. The <identity> element contains one of following sub-elements:

a) <VAL-user-id>, an element contains the identity of the VAL user. This element contains an optional <VAL-client-id> attribute that contains the identity of the VAL client; or

b) <VAL-group-id>, an element contains the group identity of a set of VAL users or VAL clients according to the VAL service.

<subscription> contains the following sub-elements:

a) <identities-list>, an element contains one or more <VAL-user-id> elements. Each <VAL-user-id> element contains the identity of the VAL user whose location information is requested.

b) <time-interval-length>, an element specifying the interval time the SLM-S needs to wait before sending location reports. The value is given in seconds.

c) <subscription-identifier>, an element specifying the value to uniquely identify the subscription.

d) <expiry-time>, an element specifying expiry time for subscription in seconds.

<notification> contains the following sub-elements:

a) <identities-list>, an element contains one or more <VAL-user-id> elements. Each <VAL-user-id> element contains the identity of the VAL user whose location information needs to be notified.

b) <trigger-id>, an element which can occur multiple times that contains the value of the <trigger-id> attribute associated with a trigger that has fired; and

c) <reports>, an element contains one or more <loc-info-report> elements. Each <loc-info-report> element contains the following sub-elements:

1) <VAL-user-id>, an element contains the identity of a VAL user in the identities list;

2) <latest-location >, an element contains at least one of the following sub-elements:

i) <latest-serving-NCGI>, an optional element containing the NR cell global identity (NCGI) of the serving cell coded as specified in clause 19.6A in 3GPP TS 23.003 [2];

ii) <neighbouring-NCGI>, an optional element that can occur multiple times. It contains the NCGI of any neighbouring cell the SLM-C can detect;

iii) <mbms-service-area-id>, an optional element containing the MBMS service area id the SLM-C is using coded as specified in clause 15.3 in 3GPP TS 23.003 [2] for service area identifier (SAI);

iv) <mbsfn-area> element, an optional element specifying that the MBSFN area Id needs to be reported; and

v) <latest-coordinate>, an optional element containing the longitude, latitude coded as specified in clause 6.1 in 3GPP TS 23.032 [3] and altitude coded as specified in clause 6.3 in 3GPP TS 23.032 [3].

<report> is a mandatory element used to include the location report. It contains a <report-id> attribute. The <report-id> attribute is used to return the value in the <request-id> attribute in the <request> element. The <report> element contains the following sub-elements:

a) <trigger-id>, a mandatory element which can occur multiple times that contain the value of the <trigger-id> attribute associated with a trigger that has fired; and

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

1) <current-serving-NCGI>, an optional element containing the NR cell global identity (NCGI) of the serving cell coded as specified in clause 19.6A in 3GPP TS 23.003 [2];

2) <neighbouring-NCGI>, an optional element that can occur multiple times. It contains the NCGI of any neighbouring cell the SLM-C can detect;

3) <mbms-service-area-id>, an optional element containing the MBMS service area id the SLM-C is using coded as specified in clause 15.3 in 3GPP TS 23.003 [2] for service area identifier (SAI); and

4) <current-coordinate>, an optional element containing the longitude, latitude coded as specified in clause 6.1 in 3GPP TS 23.032 [3] and altitude coded as as specified in clause 6.3 in 3GPP TS 23.032 [3].

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

<requested-identity> is a mandatory element used to include the identity of a VAL user, a VAL client or a VAL group for which a location report is requested. The <requested-identity> element contains one of following sub-elements:

a) <VAL-user-id>, an element contains the identity of the VAL user. This element contains an optional <VAL-client-id> attribute that contains the identity of the VAL client; or

b) <VAL-group-id>, an element contains the group identity of a set of VAL users or VAL clients according to the VAL service.

<configuration> is an element with a <configuration-scope> attribute that can have the value "Full" or "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 an addition to any previous location configuration. To remove configuration elements a "Full" configuration is needed. The <configuration> element contains the following sub-elements:

a) <location-information>, an optional element that specifies the location information. The <location-information> has the sub-elements:

1) <serving-NCGI>, an optional element containing the NR cell global identity (NCGI) of the serving cell coded as specified in clause 19.6A in 3GPP TS 23.003 [2];

2) <neighbouring-NCGI>, an optional element that can occur multiple times. It contains the NCGI of any neighbouring cell the SLM-C can detect;

3) <mbms-service-area-id>, an optional element containing the MBMS service area id that the SLM-C is using. The MBMS service area id is coded as specified in clause 15.3 in 3GPP TS 23.003 [2] for service area identifier (SAI);

4) <mbsfn-area-id>, an optional element specifying that the MBSFN area id that needs to be reported;

5) <current-geographical-coordinate>, an optional element containing the longitude, latitude coded as specified in clause 6.1 in 3GPP TS 23.032 [3] and altitude coded as specified in clause 6.3 in 3GPP TS 23.032 [3]; and

b) <triggering-criteria>, an optional element specifying the triggers for the SLM-C to request a location report of a VAL user, a VAL client or a VAL group. The <triggering-criteria> element contains at least one of the following sub-elements:

1) <cell-change>, an optional element specifying what cell changes trigger the request for a location report. This element consists of the following sub-elements:

i) <any-cell-change>, an optional element. The presence of this element specifies that any cell change is a trigger. This element contains a mandatory <trigger-id> attribute that shall be set to a unique string;

ii) <enter-specific-cell>, an optional element specifying an NCGI which when entered triggers a request for alocation report coded as specified in clause 19.6A in 3GPP TS 23.003 [2]. This element contains a mandatory <trigger-id> attribute that shall be set to a unique string; and

iii) <exit-specific-cell>, an optional element specifying an NCGI which when exited triggers a request for a location report coded as specified in clause 19.6A in 3GPP TS 23.003 [2]. This element contains a mandatory <trigger-id> attribute that shall be set to a unique string;

2) <tracking-area-change>, an optional element specifying what tracking area changes trigger a request for a location report. This element consists of the following sub-elements:

i) <any-tracking-area-change>, an optional element. The presence of this element specifies that any tracking area change is a trigger. This element contains a mandatory <trigger-id> attribute that shall be set to a unique string;

ii) <enter-specific-tracking-area>, an optional element specifying a tracking area identity coded as specified in clause 19.4.2.3 in 3GPP TS 23.003 [2] which when entered triggers a request for a location report. This element contains a mandatory <trigger-id> attribute that shall be set to a unique string; and

iii) <exit-specific-tracking-area>, an optional element specifying a tracking area identity coded as specified in clause 19.4.2.3 in 3GPP TS 23.003 [2] which when exited triggers a request for alocation report. This element contains a mandatory <trigger-id> attribute that shall be set to a unique string;

3) <plmn-change>, an optional element specifying what PLMN changes trigger a request for a location report. This element consists of the following sub-elements:

i) <any-plmn-change>, an optional element. The presence of this element specifies that any PLMN change is a trigger. This element contains a mandatory <trigger-id> attribute that shall be set to a unique string;

ii) <enter-specific-plmn>, an optional element specifying a PLMN id (MCC+MNC) coded as specified in 3GPP TS 23.003 [2] which when entered triggers a request for a location report. This element contains a mandatory <trigger-id> attribute that shall be set to a unique string; and

iii) <exit-specific-plmn>, an optional element specifying a PLMN id (MCC+MNC) coded as specified in 3GPP TS 23.003 [2] which when exited triggers a location report. This element contains a mandatory <trigger-id> attribute that shall be set to a unique string;

4) <mbms-sa-change>, an optional element specifying what MBMS changes trigger location reporting. This element consists of the following sub-elements:

i) <any-mbms-sa-change>, an optional element. The presence of this element specifies that any MBMS SA change is a trigger for a request for a location report. This element contains a mandatory <trigger-id> attribute that shall be set to a unique string;

ii) <enter-specific-mbms-sa>, an optional element specifying an MBMS service area id which when entered triggers a request for a location report. The MBMS service area id is coded as specified in clause 15.3 in 3GPP TS 23.003 [2] for service area identifier (SAI). This element contains a mandatory <trigger-id> attribute that shall be set to a unique string; and

iii) <exit-specific-mbms-sa>, an optional element specifying an MBMS service area id which when exited triggers a request a location report. The MBMS service area id is coded as specified in clause 15.3 in 3GPP TS 23.003 [2] for service area identifier (SAI). This element contains a mandatory <trigger-id> attribute that shall be set to a unique string;

5) <mbsfn-area-change>, an optional element specifying what MBSFN changes trigger a request for a location report. This element consists of the following sub-elements:

i) <any-mbsfn-area-change>, an optional element. The presence of this element specifies that any MBSFN area change is a trigger for a request for a location report. This element contains a mandatory <trigger-id> attribute that shall be set to a unique string;

ii) <enter-specific-mbsfn-area>, an optional element specifying an MBSFN area which when entered triggers a request for a location report. This element contains a mandatory <trigger-id> attribute that shall be set to a unique string; and

iii) <exit-specific-mbsfn-area>, an optional element specifying an MBSFN area which when exited triggers a request for a location report. This element contains a mandatory <trigger-id> attribute that shall be set to a unique string;

6) <periodic-report>, an optional element specifying that periodic request for a location report shall be sent. The value in seconds specifies the reporting interval. This element contains a mandatory <trigger-id> attribute that shall be set to a unique string;

7) <travelled-distance>, an optional element specifying that the travelled distance shall trigger a request for a location report. The value in metres specified the travelled distance. This element contains a mandatory <trigger-id> attribute that shall be set to a unique string;

8) <vertical-application-event>, an optional element specifying what application signalling events triggers a request for a location report. The <vertical-application-event> element has the following sub-elements:

i) <initial-log-on>, an optional element specifying that an initial log on triggers a request for a location report. This element contains a mandatory <trigger-id> attribute that shall be set to a unique string;

ii) <location-configuration-received>, an optional element specifying that a received location configuration triggers a request for a location report. This element contains a mandatory <trigger-id> attribute that shall be set to a unique string; and

iii) <any-other- event>, an optional element specifying that any other application signalling event than initial-log-on and location-configuration-received triggers a request for a location report. This element contains a mandatory <trigger-id> attribute that shall be set to a unique string;

9) <geographical-area-change>, an optional element specifying what geographical are changes trigger a request for a location reporting. This element consists of the following sub-elements:

i) <any-area-change>, an optional element. The presence of this element specifies that any geographical area change is a trigger. This element contains a mandatory <trigger-id> attribute that shall be set to a unique string;

ii) <enter-specific-area>, an optional element specifying a geographical area which when entered triggers a location report. This element contains a mandatory <trigger-id> attribute that shall be set to a unique string. The <enter-specific-area> element has the following sub-elements:

A) <geographical-area>, an optional element containing a <trigger-id> attribute and the following two subelements:

I) <polygon-area>, an optional element specifying the area as a polygon specified in clause 5.2 in 3GPP TS 23.032 [2]; and

II) <ellipsoid-arc-area>, an optional element specifying the area as an ellipsoid arc specified in clause 5.7 in 3GPP TS 23.032 [2]; and

iii) <exit-specific-area-type>, an optional element specifying a geographical area which when exited triggers a request for a location report. This element contains a mandatory <trigger-id> attribute that shall be set to a unique string.

c) <minimum-interval-length>, a mandatory element specifying the minimum time the SLM-C needs to wait between sending location reports. The value is given in seconds;

<report-request> is a mandatory element used to include the requested location report. The <report-request> element contains at least one of the following sub-elements:

a) <immediate-report-indicator>, presence of the element indicates that an immediate location report is required;

b) <current-location>, an optional element that contains the location information. The <current-location> element contains the following sub-elements:

1) <current-serving-NCGI>, an optional element containing the NR cell global identity (NCGI) of the serving cell coded as specified in clause 19.6A in 3GPP TS 23.003 [2];

2) <neighbouring-NCGI>, an optional element that can occur multiple times. It contains the NCGI of any neighbouring cell the SLM-C can detect;

3) <mbms-service-area-id>, an optional element containing the MBMS service area id that the SLM-C is using. The MBMS service area id is coded as specified in clause 15.3 in 3GPP TS 23.003 [2] for service area identifier (SAI); and

4) <current-coordinate>, an optional element containing the longitude, latitude coded as specified in clause 6.1 in 3GPP TS 23.032 [3] and altitude coded as as specified in clause 6.3 in 3GPP TS 23.032 [3].

c) <triggering-criteria>, a mandatory element specifying the triggers for the SLM-C to request a location report of a VAL user, a VAL client or a VAL group. The <triggering-criteria> element contains at least one of the following sub-elements:

1) <cell-change>, an optional element specifying what cell changes trigger the request for a location report. This element consists of the following sub-elements:

i) <any-cell-change>, an optional element. The presence of this element specifies that any cell change is a trigger. This element contains a mandatory <trigger-id> attribute that shall be set to a unique string;

ii) <enter-specific-cell>, an optional element specifying an NCGI which when entered triggers a request for alocation report coded as specified in clause 19.6A in 3GPP TS 23.003 [2]. This element contains a mandatory <trigger-id> attribute that shall be set to a unique string; and

iii) <exit-specific-cell>, an optional element specifying an NCGI which when exited triggers a request for a location report coded as specified in clause 19.6A in 3GPP TS 23.003 [2]. This element contains a mandatory <trigger-id> attribute that shall be set to a unique string;

2) <tracking-area-change>, an optional element specifying what tracking area changes trigger a request for a location report. This element consists of the following sub-elements:

i) <any-tracking-area-change>, an optional element. The presence of this element specifies that any tracking area change is a trigger. This element contains a mandatory <trigger-id> attribute that shall be set to a unique string;

ii) <enter-specific-tracking-area>, an optional element specifying a tracking area identity coded as specified in clause 19.4.2.3 in 3GPP TS 23.003 [2] which when entered triggers a request for a location report. This element contains a mandatory <trigger-id> attribute that shall be set to a unique string; and

iii) <exit-specific-tracking-area>, an optional element specifying a tracking area identity coded as specified in clause 19.4.2.3 in 3GPP TS 23.003 [2] which when exited triggers a request for alocation report. This element contains a mandatory <trigger-id> attribute that shall be set to a unique string;

3) <plmn-change>, an optional element specifying what PLMN changes trigger a request for a location report. This element consists of the following sub-elements:

i) <any-plmn-change>, an optional element. The presence of this element specifies that any PLMN change is a trigger. This element contains a mandatory <trigger-id> attribute that shall be set to a unique string;

ii) <enter-specific-plmn>, an optional element specifying a PLMN id (MCC+MNC) coded as specified in 3GPP TS 23.003 [2] which when entered triggers a request for a location report. This element contains a mandatory <trigger-id> attribute that shall be set to a unique string; and

iii) <exit-specific-plmn>, an optional element specifying a PLMN id (MCC+MNC) coded as specified in 3GPP TS 23.003 [2] which when exited triggers a location report. This element contains a mandatory <trigger-id> attribute that shall be set to a unique string;

4) <mbms-sa-change>, an optional element specifying what MBMS changes trigger location reporting. This element consists of the following sub-elements:

i) <any-mbms-sa-change>, an optional element. The presence of this element specifies that any MBMS SA change is a trigger for a request for a location report. This element contains a mandatory <trigger-id> attribute that shall be set to a unique string;

ii) <enter-specific-mbms-sa>, an optional element specifying an MBMS service area id which when entered triggers a request for a location report. The MBMS service area id is coded as specified in clause 15.3 in 3GPP TS 23.003 [2] for service area identifier (SAI). This element contains a mandatory <trigger-id> attribute that shall be set to a unique string; and

iii) <exit-specific-mbms-sa>, an optional element specifying an MBMS service area id which when exited triggers a request a location report. The MBMS service area id is coded as specified in clause 15.3 in 3GPP TS 23.003 [2] for service area identifier (SAI). This element contains a mandatory <trigger-id> attribute that shall be set to a unique string;

5) <mbsfn-area-change>, an optional element specifying what MBSFN changes trigger a request for a location report. This element consists of the following sub-elements:

i) <any-mbsfn-area-change>, an optional element. The presence of this element specifies that any MBSFN area change is a trigger for a request for a location report. This element contains a mandatory <trigger-id> attribute that shall be set to a unique string;

ii) <enter-specific-mbsfn-area>, an optional element specifying an MBSFN area which when entered triggers a request for a location report. This element contains a mandatory <trigger-id> attribute that shall be set to a unique string; and

iii) <exit-specific-mbsfn-area>, an optional element specifying an MBSFN area which when exited triggers a request for a location report. This element contains a mandatory <trigger-id> attribute that shall be set to a unique string;

6) <periodic-report>, an optional element specifying that periodic request for a location report shall be sent. The value in seconds specifies the reporting interval. This element contains a mandatory <trigger-id> attribute that shall be set to a unique string;

7) <travelled-distance>, an optional element specifying that the travelled distance shall trigger a request for a location report. The value in metres specified the travelled distance. This element contains a mandatory <trigger-id> attribute that shall be set to a unique string;

8) <vertical-application-event>, an optional element specifying what application signalling events triggers a request for a location report. The <vertical-application-event> element has the following sub-elements:

i) <initial-log-on>, an optional element specifying that an initial log on triggers a request for a location report. This element contains a mandatory <trigger-id> attribute that shall be set to a unique string;

ii) <location-configuration-received>, an optional element specifying that a received location configuration triggers a request for a location report. This element contains a mandatory <trigger-id> attribute that shall be set to a unique string; and

iii) <any-other- event>, an optional element specifying that any other application signalling event than initial-log-on and location-configuration-received triggers a request for a location report. This element contains a mandatory <trigger-id> attribute that shall be set to a unique string;

9) <geographical-area-change>, an optional element specifying what geographical are changes trigger a request for a location reporting. This element consists of the following sub-elements:

i) <any-area-change>, an optional element. The presence of this element specifies that any geographical area change is a trigger. This element contains a mandatory <trigger-id> attribute that shall be set to a unique string;

ii) <enter-specific-area>, an optional element specifying a geographical area which when entered triggers a location report. This element contains a mandatory <trigger-id> attribute that shall be set to a unique string. The <enter-specific-area> element has the following sub-elements:

A) <geographical-area>, an optional element containing a <trigger-id> attribute and the following two subelements:

I) <polygon-area>, an optional element specifying the area as a polygon specified in clause 5.2 in 3GPP TS 23.032 [3]; and

II) <ellipsoid-arc-area>, an optional element specifying the area as an ellipsoid arc specified in clause 5.7 in 3GPP TS 23.032 [3]; and

iii) <exit-specific-area-type>, an optional element specifying a geographical area which when exited triggers a request for a location report. This element contains a mandatory <trigger-id> attribute that shall be set to a unique string;

d) <minimum-interval-length>, an optional element that defaults to 0 if absent otherwise indicates the interval time between consecutive reports. The value is given in seconds.

e) <endpoint-info>, an optional element specifying information of the endpoint of the requesting VAL server to which the location report notification has to be sent. It is provided if Immediate Report Indicator is set to required.

<location-based-query> contains at least one of the following sub-elements:

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

b) <ellipsoid-arc-area>, an optional element specifying the area as an Ellipsoid Arc specified in clause 5.7 in 3GPP TS 23.032 [3].

<location-based-response> contains the following sub-elements:

a) <identities-list>, an optional element contains one or more <VAL-user-id> elements. Each <VAL-user-id> element contains the identity of the VAL user to be queried.

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

7.6 MIME type

The MIME type for the LocationInfo document shall be "application/vnd.3gpp.seal-location-info+xml".

7.7 IANA registration template

Your Name:

<MCC name>

Your Email Address:

<MCC email address>

Media Type Name:

Application

Subtype name:

vnd.3gpp.seal-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.545 "Location Management – Service Enabler Architecture Layer for Verticals (SEAL)" version 16.0.0, available via http://www.3gpp.org/specs/numbering.htm.

Applications which use this media type:

Applications supporting the SEAL location management 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>