Tech-invite3GPPspaceIETFspace
959493929190898887868584838281807978777675747372717069686766656463626160595857565554535251504948474645444342414039383736353433323130292827262524232221201918171615141312111009080706050403020100
in Index   Prev   Next

RFC 7852

Additional Data Related to an Emergency Call

Pages: 113
Proposed Standard
Errata
Updates:  64436881
Part 3 of 5 – Pages 41 to 62
First   Prev   Next

Top   ToC   RFC7852 - Page 41   prevText

7. Examples

This section illustrates a longer and more complex example, as shown in Figure 15. In this example, additional data is added by the end device, included by the VoIP provider, and provided by the access network provider (via the PIDF-LO). O +----+ [============] [=============] /|\ | UA | [ Access ] [ VoIP ] | +----+ [ Network ] [ Provider ] / \ [ Provider ] [ example.org ] [ ] [ ] (1) [ ] (2) [ ] Emergency Call [ ] Emergency Call [ ] ------------------------------------------------------> ] +Device Info [ ] +Device Info [ ] +Data Prov. Info [ ^ ] +Data Provider Info [ | ] +Location URI [=======.====] +Location URI [====|========] . | . | +Location . [==============] | +Owner/Subscriber Info . [ ] (3) | +Device Info . (4) [ <------------+ +Data Provider Info #3 ..........> ] Emergency Call [ ] +Device Info [ PSAP ] +Data Prov. Info #2 [ ] +Location URI [==============] Legend: --- Emergency Call Setup Procedure ... Location Retrieval/Response Figure 15: Additional Data Example Flow
Top   ToC   RFC7852 - Page 42
   The example scenario starts with the end device itself adding device
   information, owner/subscriber information, a location URI, and data
   provider information to the outgoing emergency call setup message
   (see step #1 in Figure 15).  The SIP INVITE example is shown in
   Figure 16.

      INVITE urn:service:sos SIP/2.0
      Via: SIPS/2.0/TLS server.example.com;branch=z9hG4bK74bf9
      Max-Forwards: 70
      To: <urn:service:sos>
      From: Hannes Tschofenig <sips:hannes@example.com>;tag=9fxced76sl
      Call-ID: 3848276298220188511@example.com
      Call-Info: <http://wwww.example.com/hannes/photo.jpg>
                     ;purpose=icon,
        <http://www.example.com/hannes/> ;purpose=info,
        <cid:1234567890@atlanta.example.com>
            ;purpose=EmergencyCallData.ProviderInfo,
        <cid:0123456789@atlanta.example.com>
            ;purpose=EmergencyCallData.DeviceInfo
      Geolocation: <https://ls.example.net:9768/357yc6s64ceyoiuy5ax3o>
      Geolocation-Routing: yes
      Accept: application/sdp, application/pidf+xml,
         application/EmergencyCallData.ProviderInfo+xml
      CSeq: 31862 INVITE
      Contact: <sips:hannes@example.com>
      Content-Type: multipart/mixed; boundary=boundary1
      Content-Length: ...

      --boundary1
      Content-Type: application/sdp

      ...SDP goes here

      --boundary1
      Content-Type: application/EmergencyCallData.DeviceInfo+xml
      Content-ID: <0123456789@atlanta.example.com>
      Content-Disposition: by-reference;handling=optional

      <?xml version="1.0" encoding="UTF-8"?>
      <dev:EmergencyCallData.DeviceInfo
           xmlns:dev=
           "urn:ietf:params:xml:ns:EmergencyCallData:DeviceInfo">
          <dev:DataProviderReference>
               d4b3072df09876543@[93.184.216.119]
               </dev:DataProviderReference>
          <dev:DeviceClassification>laptop</dev:DeviceClassification>
          <dev:UniqueDeviceID
               TypeOfDeviceID="MAC">00-0d-4b-30-72-df
Top   ToC   RFC7852 - Page 43
               </dev:UniqueDeviceID>
      </dev:EmergencyCallData.DeviceInfo>

      --boundary1
      Content-Type: application/EmergencyCallData.ProviderInfo+xml
      Content-ID: <1234567890@atlanta.example.com>
      Content-Disposition: by-reference;handling=optional

      <?xml version="1.0" encoding="UTF-8"?>
      <pi:EmergencyCallData.ProviderInfo
         xmlns:pi=
            "urn:ietf:params:xml:ns:EmergencyCallData:ProviderInfo">
      <pi:DataProviderReference>d4b3072df09876543@[93.184.216.119]
         </pi:DataProviderReference>
      <pi:DataProviderString>Hannes Tschofenig</pi:DataProviderString>
      <pi:TypeOfProvider>Client</pi:TypeOfProvider>
      <pi:ContactURI>tel:+1-555-555-0123</pi:ContactURI>
      <pi:Language>en</pi:Language>
      <pi:DataProviderContact
         xmlns="urn:ietf:params:xml:ns:vcard-4.0">
         <vcard>
            <fn><text>Hannes Tschofenig</text></fn>
            <n>
               <surname>Hannes</surname>
               <given>Tschofenig</given>
               <additional/>
               <prefix/>
               <suffix>Dipl. Ing.</suffix>
            </n>
            <bday><date>--0203</date></bday>
            <anniversary>
               <date-time>20090808T1430-0500</date-time>
            </anniversary>
            <gender><sex>M</sex></gender>
            <lang>
                <parameters><pref><integer>1</integer></pref>
                </parameters>
                <language-tag>de</language-tag>
            </lang>
            <lang>
               <parameters><pref><integer>2</integer></pref>
               </parameters>
               <language-tag>en</language-tag>
            </lang>
            <adr>
               <parameters>
                  <type><text>work</text></type>
                  <label><text>Hannes Tschofenig
Top   ToC   RFC7852 - Page 44
                     Linnoitustie 6
                     Espoo, Finland
                     02600</text></label>
               </parameters>
               <pobox/>
               <ext/>
               <street>Linnoitustie 6</street>
               <locality>Espoo</locality>
               <region>Uusimaa</region>
               <code>02600</code>
               <country>Finland</country>
            </adr>
            <adr>
               <parameters>
                  <type><text>home</text></type>
                  <label><text>Hannes Tschofenig
                     c/o Hotel DuPont
                     42 W 11th St
                     Wilmington, DE 19801
                     USA</text></label>
               </parameters>
               <pobox/>
               <ext/>
               <street>42 W 11th St</street>
                  <locality>Wilmington</locality>
                  <region>DE</region>
                  <code>19801</code>
                  <country>USA</country>
            </adr>
            <tel>
               <parameters>
                  <type>
                     <text>work</text>
                     <text>voice</text>
                  </type>
               </parameters>
               <uri>tel:+358 50 4871445</uri>
            </tel>
            <tel>
               <parameters>
                  <type>
                     <text>home</text>
                     <text>voice</text>
                  </type>
               </parameters>
               <uri>tel:+1-555-555-0123</uri>
            </tel>
            <tel>
Top   ToC   RFC7852 - Page 45
               <parameters>
                  <type>
                     <text>work</text>
                     <text>voice</text>
                     <text>main-number</text>
                  </type>
               </parameters>
               <uri>tel:+1-302-594-3100</uri>
            </tel>
            <email>
               <parameters><type><text>work</text></type>
               </parameters>
               <text>hannes.tschofenig@nsn.com</text>
            </email>
            <geo>
               <parameters><type><text>work</text></type>
               </parameters>
               <uri>geo:60.210796,24.812924</uri>
            </geo>
            <geo>
               <parameters><type><text>home</text></type>
               </parameters>
               <uri>geo:39.746537,-75.548027</uri>
            </geo>
            <key>
               <parameters>
                  <type><text>home</text></type>
               </parameters>
               <uri>https://www.example.com/key.asc</uri>
            </key>
            <tz><text>Finland/Helsinki</text></tz>
            <url>
               <parameters><type><text>home</text></type>
               </parameters>
               <uri>http://example.com/hannes.tschofenig
               </uri>
            </url>
         </vcard>
      </pi:DataProviderContact>
      </pi:EmergencyCallData.ProviderInfo>
      --boundary1--

       Figure 16: End Device Sending SIP INVITE with Additional Data

   In this example, information available to the access network provider
   is included in the call setup message only indirectly via the use of
   the location reference.  The PSAP has to retrieve it via a separate
   lookup step.  Since the access network provider and the VoIP service
Top   ToC   RFC7852 - Page 46
   provider are two independent entities in this scenario, the access
   network provider is not involved in application-layer exchanges; the
   SIP INVITE transits the access network transparently, as illustrated
   in steps #1 and #2 (the access network does not alter the SIP
   INVITE).

   The VoIP service provider receives the message and determines, based
   on the service URN, that the incoming request is an emergency call.
   It performs typical emergency-services-related tasks (such as
   location-based routing) and adds additional data, namely service and
   subscriber information as well as data provider information #2, to
   the outgoing message.  For the example, we assume a VoIP service
   provider deploys a back-to-back user agent allowing additional data
   to be included in the body of the SIP message (rather than by
   reference), which allows us to illustrate the use of multiple data
   provider info blocks.  The resulting message is shown in Figure 17.
   The SIP INVITE is sent to the PSAP in step #3.

      INVITE sips:psap@example.org SIP/2.0
      Via: SIPS/2.0/TLS server.example.com;branch=z9hG4bK74bf9
      Max-Forwards: 70
      To: <urn:service:sos>
      From: Hannes Tschofenig <sips:hannes@example.com>;tag=9fxced76sl
      Call-ID: 3848276298220188511@example.com
      Call-Info: <http://wwww.example.com/hannes/photo.jpg>;
         purpose=icon,
         <http://www.example.com/hannes/>; purpose=info,
         <cid:1234567890@atlanta.example.com>;
         purpose=EmergencyCallData.ProviderInfo
         <cid:0123456789@atlanta.example.com>;
         purpose=EmergencyCallData.DeviceInfo
      Call-Info: <cid:bloorpyhex@atlanta.example.com>;
         purpose=EmergencyCallData.ServiceInfo
      Call-Info: <cid:aaabbb@atlanta.example.com>;
         purpose=EmergencyCallData.ProviderInfo
      Geolocation: <https://ls.example.net:9768/357yc6s64ceyoiuy5ax3o>
      Geolocation-Routing: yes
      Accept: application/sdp, application/pidf+xml,
         application/EmergencyCallData.ProviderInfo+xml
      CSeq: 31862 INVITE
      Contact: <sips:hannes@example.com>
      Content-Type: multipart/mixed; boundary=boundary1
      Content-Length: ...

      --boundary1
      Content-Type: application/sdp

      ...SDP goes here
Top   ToC   RFC7852 - Page 47
      --boundary1
      Content-Type: application/EmergencyCallData.DeviceInfo+xml
      Content-ID: <0123456789@atlanta.example.com>
      Content-Disposition: by-reference;handling=optional

      <?xml version="1.0" encoding="UTF-8"?>
      <dev:EmergencyCallData.DeviceInfo
         xmlns:dev=
         "urn:ietf:params:xml:ns:EmergencyCallData:DeviceInfo">
         <dev:DataProviderReference>d4b3072df09876543@[93.184.216.119]
         </dev:DataProviderReference>
         <dev:DeviceClassification>laptop</dev:DeviceClassification>
         <dev:UniqueDeviceID
            TypeOfDeviceID="MAC">00-0d-4b-30-72-df</dev:UniqueDeviceID>
      </dev:EmergencyCallData.DeviceInfo>

      --boundary1
      Content-Type: application/EmergencyCallData.ProviderInfo+xml
      Content-ID: <1234567890@atlanta.example.com>
      Content-Disposition: by-reference;handling=optional

      <?xml version="1.0" encoding="UTF-8"?>
      <pi:EmergencyCallData.ProviderInfo
         xmlns:pi=
         "urn:ietf:params:xml:ns:EmergencyCallData:ProviderInfo">
         <pi:DataProviderReference>d4b3072df09876543@[93.184.216.119]
         </pi:DataProviderReference>
         <pi:DataProviderString>Hannes Tschofenig
         </pi:DataProviderString>
         <pi:TypeOfProvider>Client</pi:TypeOfProvider>
         <pi:ContactURI>tel:+1-555-555-0123</pi:ContactURI>
         <pi:Language>en</pi:Language>
         <pi:DataProviderContact
            xmlns="urn:ietf:params:xml:ns:vcard-4.0">
            <vcard>
               <fn><text>Hannes Tschofenig</text></fn>
               <n>
                  <surname>Hannes</surname>
                  <given>Tschofenig</given>
                  <additional/>
                  <prefix/>
                  <suffix>Dipl. Ing.</suffix>
               </n>
               <bday><date>--0203</date></bday>
               <anniversary>
                  <date-time>20090808T1430-0500</date-time>
               </anniversary>
               <gender><sex>M</sex></gender>
Top   ToC   RFC7852 - Page 48
               <lang>
                  <parameters><pref><integer>1</integer></pref>
                  </parameters>
                  <language-tag>de</language-tag>
               </lang>
               <lang>
                  <parameters><pref><integer>2</integer></pref>
                  </parameters>
                  <language-tag>en</language-tag>
               </lang>
               <adr>
                  <parameters>
                     <type><text>work</text></type>
                     <label><text>Hannes Tschofenig
                         Linnoitustie 6
                         Espoo, Finland
                         02600</text></label>
                  </parameters>
                  <pobox/>
                  <ext/>
                  <street>Linnoitustie 6</street>
                  <locality>Espoo</locality>
                  <region>Uusimaa</region>
                  <code>02600</code>
                  <country>Finland</country>
               </adr>
               <adr>
                  <parameters>
                     <type><text>home</text></type>
                     <label><text>Hannes Tschofenig
                         c/o Hotel DuPont
                         42 W 11th St
                         Wilmington, DE 19801
                         USA</text></label>
                  </parameters>
                  <pobox/>
                  <ext/>
                  <street>42 W 11th St</street>
                  <locality>Wilmington</locality>
                  <region>DE</region>
                  <code>19801</code>
                  <country>USA</country>
               </adr>
               <tel>
                  <parameters>
                     <type>
                     <text>work</text>
                     <text>voice</text>
Top   ToC   RFC7852 - Page 49
                     </type>
                  </parameters>
                  <uri>tel:+358 50 4871445</uri>
               </tel>
               <tel>
                  <parameters>
                     <type>
                        <text>home</text>
                        <text>voice</text>
                     </type>
                  </parameters>
                  <uri>tel:+1-555-555-0123</uri>
               </tel>
               <email>
                  <parameters><type><text>work</text></type>
                  </parameters>
                  <text>hannes.tschofenig@nsn.com</text>
               </email>
               <geo>
                  <parameters><type><text>work</text></type>
                  </parameters>
                  <uri>geo:60.210796,24.812924</uri>
               </geo>
               <geo>
                  <parameters><type><text>home</text></type>
                  </parameters>
                  <uri>geo:39.746537,-75.548027</uri>
               </geo>
               <key>
                  <parameters>
                     <type><text>home</text></type>
                  </parameters>
                  <uri>https://www.example.com/key.asc</uri>
               </key>
               <tz><text>Finland/Helsinki</text></tz>
               <url>
                  <parameters><type><text>home</text></type>
                  </parameters>
                  <uri>http://example.com/hannes.tschofenig</uri>
               </url>
            </vcard>
         </pi:DataProviderContact>
      </pi:EmergencyCallData.ProviderInfo>

      --boundary1
      Content-Type: application/EmergencyCallData.ServiceInfo+xml
      Content-ID: <bloorpyhex@atlanta.example.com>
      Content-Disposition: by-reference;handling=optional
Top   ToC   RFC7852 - Page 50
      <?xml version="1.0" encoding="UTF-8"?>
      <svc:EmergencyCallData.ServiceInfo
         xmlns:svc=
            "urn:ietf:params:xml:ns:EmergencyCallData:ServiceInfo">
         <svc:DataProviderReference>string0987654321@example.org
         </svc:DataProviderReference>
         <svc:ServiceEnvironment>Residence</svc:ServiceEnvironment>
         <svc:ServiceType>VOIP</svc:ServiceType>
         <svc:ServiceMobility>Unknown</svc:ServiceMobility>
      </svc:EmergencyCallData.ServiceInfo>

      --boundary1
      Content-Type: application/EmergencyCallData.ProviderInfo+xml
      Content-ID: <aaabbb@atlanta.example.com>
      Content-Disposition: by-reference;handling=optional

      <?xml version="1.0" encoding="UTF-8"?>
      <pi:EmergencyCallData.ProviderInfo
         xmlns:pi=
         "urn:ietf:params:xml:ns:EmergencyCallData:ProviderInfo">
         <pi:DataProviderReference>string0987654321@example.org
         </pi:DataProviderReference>
         <pi:DataProviderString>Exemplar VoIP Provider
         </pi:DataProviderString>
         <pi:ProviderID>urn:nena:companyid:ID123</pi:ProviderID>
         <pi:ProviderIDSeries>NENA</pi:ProviderIDSeries>
         <pi:TypeOfProvider>Service Provider</pi:TypeOfProvider>
         <pi:ContactURI>sip:voip-provider@example.com</pi:ContactURI>
         <pi:Language>en</pi:Language>
         <pi:DataProviderContact
            xmlns="urn:ietf:params:xml:ns:vcard-4.0">
            <vcard>
               <fn><text>John Doe</text></fn>
               <n>
                  <surname>John</surname>
                  <given>Doe</given>
                  <additional/>
                  <prefix/>
                  <suffix/>
               </n>
               <bday><date>--0203</date></bday>
               <anniversary>
                  <date-time>20090808T1430-0500</date-time>
               </anniversary>
               <gender><sex>M</sex></gender>
               <lang>
                  <parameters><pref><integer>1</integer></pref>
                  </parameters>
Top   ToC   RFC7852 - Page 51
                  <language-tag>en</language-tag>
               </lang>
               <org>
                  <parameters><type><text>work</text></type>
                  </parameters>
                  <text>Exemplar VoIP Provider</text>
               </org>
               <adr>
                  <parameters>
                     <type><text>work</text></type>
                     <label><text>John Doe
                         123 Middle Street
                         The Sticks, IA 50055</text></label>
                  </parameters>
                  <pobox/>
                  <ext/>
                  <street>123 Middle Street</street>
                  <locality>The Sticks</locality>
                  <region>IA</region>
                  <code>50055</code>
                  <country>USA</country>
               </adr>
               <tel>
                  <parameters>
                     <type>
                        <text>work</text>
                        <text>voice</text>
                        <text>main-number</text>
                     </type>
                  </parameters>
                  <uri>sips:john.doe@example.com</uri>
               </tel>
               <email>
                  <parameters><type><text>work</text></type>
                  </parameters>
                  <text>john.doe@example.com</text>
               </email>
               <geo>
                  <parameters><type><text>work</text></type>
                  </parameters>
                  <uri>geo:41.761838,-92.963268</uri>
               </geo>
               <tz><text>America/Chicago</text></tz>
               <url>
                  <parameters><type><text>home</text></type>
                  </parameters>
                  <uri>http://www.example.com/john.doe</uri>
               </url>
Top   ToC   RFC7852 - Page 52
            </vcard>
         </pi:DataProviderContact>
      </pi:EmergencyCallData.ProviderInfo>
      --boundary1--

     Figure 17: VoIP Provider Sending SIP INVITE with Additional Data

   Finally, the PSAP requests location information from the access
   network provider.  The response is shown in Figure 18.  Along with
   the location information, additional data is provided in the
   <provided-by> element of the PIDF-LO.  This request and response is
   step #4.

   <?xml version="1.0" encoding="UTF-8"?>
   <presence xmlns="urn:ietf:params:xml:ns:pidf"
   xmlns:gp="urn:ietf:params:xml:ns:pidf:geopriv10"
   xmlns:gbp="urn:ietf:params:xml:ns:pidf:geopriv10:basicPolicy"
   xmlns:dm="urn:ietf:params:xml:ns:pidf:data-model"
   entity="pres:alice@atlanta.example.com">
      <dm:device id="target123-1">
      <gp:geopriv>
      <gp:location-info>
         <civicAddress
            xmlns="urn:ietf:params:xml:ns:pidf:geopriv10:civicAddr">
            <country>US</country>
            <A1>DE</A1>
            <A3>Wilmington</A3>
            <PRD>W</PRD>
            <RD>11th</RD>
            <STS>Street</STS>
            <HNO>42</HNO>
            <NAM>The Hotel DuPont</NAM>
            <PC>19801</PC>
         </civicAddress>
      </gp:location-info>
      <gp:usage-rules>
         <gbp:retransmission-allowed>true
         </gbp:retransmission-allowed>
         <gbp:retention-expiry>2013-12-10T20:00:00Z
         </gbp:retention-expiry>
      </gp:usage-rules>
      <gp:method>802.11</gp:method>

      <gp:provided-by
         xmlns="urn:ietf:params:xml:ns:EmergencyCallData">
Top   ToC   RFC7852 - Page 53
         <EmergencyCallDataReference
            purpose="EmergencyCallData.ServiceInfo"
            ref="https://example.com/ref2" />

         <EmergencyCallDataValue>
            <EmergencyCallData.ProviderInfo
               xmlns=
               "urn:ietf:params:xml:ns:EmergencyCallData:ProviderInfo">
               <DataProviderReference>88QV4FpfZ976T@example.com
               </DataProviderReference>
               <DataProviderString>Diamond State Exemplar
               </DataProviderString>
               <ProviderID>urn:nena:companyid:diamond</ProviderID>
               <ProviderIDSeries>NENA</ProviderIDSeries>
               <TypeOfProvider>Access Network Provider</TypeOfProvider>
               <ContactURI>tel:+1-302-555-0000</ContactURI>
               <Language>en</Language>
            </EmergencyCallData.ProviderInfo>

            <EmergencyCallData.Comment
               xmlns="urn:ietf:params:xml:ns:EmergencyCallData:Comment">
               <DataProviderReference>88QV4FpfZ976T@example.com
               </DataProviderReference>
               <Comment xml:lang="en">This is an example text.</Comment>
            </EmergencyCallData.Comment>

         </EmergencyCallDataValue>
      </gp:provided-by>

      </gp:geopriv>
      <dm:deviceID>mac:00-0d-4b-30-72-df</dm:deviceID>
      <dm:timestamp>2013-07-09T20:57:29Z</dm:timestamp>
      </dm:device>
   </presence>

           Figure 18: Access Network Provider Returning PIDF-LO
                           with Additional Data

8. XML Schemas

This section defines the XML schemas of the five data blocks. Additionally, the provided-by schema is specified.
Top   ToC   RFC7852 - Page 54

8.1. EmergencyCallData.ProviderInfo XML Schema

<?xml version="1.0"?> <xs:schema targetNamespace= "urn:ietf:params:xml:ns:EmergencyCallData:ProviderInfo" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:pi="urn:ietf:params:xml:ns:EmergencyCallData:ProviderInfo" xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:xc="urn:ietf:params:xml:ns:vcard-4.0" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2009/01/xml.xsd"/> <xs:import namespace="urn:ietf:params:xml:ns:vcard-4.0" schemaLocation="vcard.xsd"/> <xs:element name="EmergencyCallData.ProviderInfo" type="pi:ProviderInfoType"/> <xs:simpleType name="SubcontractorPriorityType"> <xs:restriction base="xs:string"> <xs:enumeration value="sub"/> <xs:enumeration value="main"/> </xs:restriction> </xs:simpleType> <xs:complexType name="ProviderInfoType"> <xs:sequence> <xs:element name="DataProviderReference" type="xs:token" minOccurs="1" maxOccurs="1"/> <xs:element name="DataProviderString" type="xs:string" minOccurs="1" maxOccurs="1"/> <xs:element name="ProviderID" type="xs:string" minOccurs="0" maxOccurs="1"/> <xs:element name="ProviderIDSeries" type="xs:string" minOccurs="0" maxOccurs="1"/> <xs:element name="TypeOfProvider" type="xs:token" minOccurs="1" maxOccurs="1"/>
Top   ToC   RFC7852 - Page 55
                   <xs:element name="ContactURI" type="xs:anyURI"
                       minOccurs="1" maxOccurs="1"/>

   <xs:element name="Language" minOccurs="1" maxOccurs="unbounded">
       <xs:simpleType>
         <xs:restriction base="xs:string">
           <xs:pattern
   value="([a-z]{2,3}((-[a-z]{3}){0,3})?|[a-z]{4,8})
   (-[a-z]{4})?(-([a-z]{2}|\d{3}))?(-([0-9a-z]{5,8}|
   \d[0-9a-z]{3}))*(-[0-9a-wyz](-[0-9a-z]{2,8})+)*
   (-x(-[0-9a-z]{1,8})+)?|x(-[0-9a-z]{1,8})+|[a-z]{1,3}
   (-[0-9a-z]{2,8}){1,2}"/>
         </xs:restriction>
       </xs:simpleType>
     </xs:element>

                   <xs:element name="DataProviderContact"
                       minOccurs="0" maxOccurs="1">
                     <xs:complexType>
                        <xs:sequence>
                          <xs:element minOccurs="0"
                              maxOccurs="unbounded" ref="xc:vcard"/>
                        </xs:sequence>
                     </xs:complexType>
                   </xs:element>

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

                   <xs:element name="SubcontractorPriority"
                       type="pi:SubcontractorPriorityType"
                       minOccurs="0" maxOccurs="1"/>

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

   </xs:schema>

           Figure 19: EmergencyCallData.ProviderInfo XML Schema
Top   ToC   RFC7852 - Page 56

8.2. EmergencyCallData.ServiceInfo XML Schema

<?xml version="1.0"?> <xs:schema targetNamespace= "urn:ietf:params:xml:ns:EmergencyCallData:ServiceInfo" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:svc="urn:ietf:params:xml:ns:EmergencyCallData:ServiceInfo" xmlns:xml="http://www.w3.org/XML/1998/namespace" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd"/> <xs:element name="EmergencyCallData.ServiceInfo" type="svc:ServiceInfoType"/> <xs:complexType name="ServiceInfoType"> <xs:sequence> <xs:element name="DataProviderReference" type="xs:token" minOccurs="1" maxOccurs="1"/> <xs:element name="ServiceEnvironment" type="xs:string" minOccurs="0" maxOccurs="1"/> <xs:element name="ServiceType" type="xs:string" minOccurs="1" maxOccurs="unbounded"/> <xs:element name="ServiceMobility" type="xs:string" minOccurs="1" maxOccurs="1"/> <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:schema> Figure 20: EmergencyCallData.ServiceInfo XML Schema
Top   ToC   RFC7852 - Page 57

8.3. EmergencyCallData.DeviceInfo XML Schema

<?xml version="1.0"?> <xs:schema targetNamespace= "urn:ietf:params:xml:ns:EmergencyCallData:DeviceInfo" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:dev="urn:ietf:params:xml:ns:EmergencyCallData:DeviceInfo" xmlns:xml="http://www.w3.org/XML/1998/namespace" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd"/> <xs:element name="EmergencyCallData.DeviceInfo" type="dev:DeviceInfoType"/> <xs:complexType name="DeviceInfoType"> <xs:sequence> <xs:element name="DataProviderReference" type="xs:token" minOccurs="1" maxOccurs="1"/> <xs:element name="DeviceClassification" type="xs:string" minOccurs="0" maxOccurs="1"/> <xs:element name="DeviceMfgr" type="xs:string" minOccurs="0" maxOccurs="1"/> <xs:element name="DeviceModelNr" type="xs:string" minOccurs="0" maxOccurs="1"/> <xs:element name="UniqueDeviceID" minOccurs="0" maxOccurs="unbounded"> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attribute name="TypeOfDeviceID" type="xs:string" use="required"/> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> <xs:element name="DeviceSpecificData" type="xs:anyURI" minOccurs="0" maxOccurs="1"/>
Top   ToC   RFC7852 - Page 58
                   <xs:element name="DeviceSpecificType"
                       type="xs:string" minOccurs="0" maxOccurs="1"/>

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

   </xs:schema>

            Figure 21: EmergencyCallData.DeviceInfo XML Schema
Top   ToC   RFC7852 - Page 59

8.4. EmergencyCallData.SubscriberInfo XML Schema

<?xml version="1.0"?> <xs:schema targetNamespace= "urn:ietf:params:xml:ns:EmergencyCallData:SubscriberInfo" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:sub= "urn:ietf:params:xml:ns:EmergencyCallData:SubscriberInfo" xmlns:xc="urn:ietf:params:xml:ns:vcard-4.0" xmlns:xml="http://www.w3.org/XML/1998/namespace" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd"/> <xs:import namespace="urn:ietf:params:xml:ns:vcard-4.0" schemaLocation="vcard.xsd"/> <xs:element name="EmergencyCallData.SubscriberInfo" type="sub:SubscriberInfoType"/> <xs:complexType name="SubscriberInfoType"> <xs:sequence> <xs:element name="DataProviderReference" type="xs:token" minOccurs="1" maxOccurs="1"/> <xs:element name="SubscriberData"> <xs:complexType> <xs:sequence> <xs:element ref="xc:vcard" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute name="privacyRequested" type="xs:boolean" use="required"/> </xs:complexType> </xs:schema> Figure 22: EmergencyCallData.SubscriberInfo XML Schema
Top   ToC   RFC7852 - Page 60

8.5. EmergencyCallData.Comment XML Schema

<?xml version="1.0"?> <xs:schema targetNamespace= "urn:ietf:params:xml:ns:EmergencyCallData:Comment" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:com="urn:ietf:params:xml:ns:EmergencyCallData:Comment" xmlns:xml="http://www.w3.org/XML/1998/namespace" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd"/> <xs:element name="EmergencyCallData.Comment" type="com:CommentType"/> <xs:complexType name="CommentType"> <xs:sequence> <xs:element name="DataProviderReference" type="xs:token" minOccurs="1" maxOccurs="1"/> <xs:element name="Comment" type="com:CommentSubType" minOccurs="0" maxOccurs="unbounded"/> <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> <xs:complexType name="CommentSubType"> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attribute ref="xml:lang"/> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:schema> Figure 23: EmergencyCallData.Comment XML Schema
Top   ToC   RFC7852 - Page 61

8.6. provided-by XML Schema

This section defines the provided-by schema. <?xml version="1.0"?> <xs:schema targetNamespace="urn:ietf:params:xml:ns:EmergencyCallData" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ad="urn:ietf:params:xml:ns:EmergencyCallData" xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:pi="urn:ietf:params:xml:ns:EmergencyCallData:ProviderInfo" xmlns:svc="urn:ietf:params:xml:ns:EmergencyCallData:ServiceInfo" xmlns:dev="urn:ietf:params:xml:ns:EmergencyCallData:DeviceInfo" xmlns:sub="urn:ietf:params:xml:ns:EmergencyCallData:SubscriberInfo" xmlns:com="urn:ietf:params:xml:ns:EmergencyCallData:Comment" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xs:import namespace="urn:ietf:params:xml:ns:EmergencyCallData:ProviderInfo" schemaLocation="ProviderInfo.xsd"/> <xs:import namespace="urn:ietf:params:xml:ns:EmergencyCallData:ServiceInfo" schemaLocation="ServiceInfo.xsd"/> <xs:import namespace="urn:ietf:params:xml:ns:EmergencyCallData:DeviceInfo" schemaLocation="DeviceInfo.xsd"/> <xs:import namespace="urn:ietf:params:xml:ns:EmergencyCallData:SubscriberInfo" schemaLocation="SubscriberInfo.xsd"/> <xs:import namespace="urn:ietf:params:xml:ns:EmergencyCallData:Comment" schemaLocation="Comment.xsd"/> <xs:element name="EmergencyCallDataReference" type="ad:ByRefType"/> <xs:element name="EmergencyCallDataValue" type="ad:EmergencyCallDataValueType"/> <!-- Additional Data By Reference --> <xs:complexType name="ByRefType"> <xs:sequence> <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute name="purpose" type="xs:token" use="required"/> <xs:attribute name="ref" type="xs:anyURI" use="required"/> </xs:complexType> <!-- Additional Data By Value --> <xs:complexType name="EmergencyCallDataValueType"> <xs:sequence>
Top   ToC   RFC7852 - Page 62
        <xs:element ref="pi:EmergencyCallData.ProviderInfo"
                minOccurs="0" maxOccurs="unbounded"/>
        <xs:element ref="svc:EmergencyCallData.ServiceInfo"
                minOccurs="0" maxOccurs="unbounded"/>
        <xs:element ref="dev:EmergencyCallData.DeviceInfo"
                minOccurs="0" maxOccurs="unbounded"/>
        <xs:element ref="sub:EmergencyCallData.SubscriberInfo"
                minOccurs="0" maxOccurs="unbounded"/>
        <xs:element ref="com:EmergencyCallData.Comment"
                minOccurs="0" maxOccurs="unbounded"/>
        <xs:any namespace="##other" processContents="lax"
         minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
    </xs:complexType>
</xs:schema>

                     Figure 24: provided-by XML Schema



(page 62 continued on part 4)

Next Section