tech-invite   World Map     

IETF     RFCs     Groups     SIP     ABNFs    |    3GPP     Specs     Glossaries     Architecture     IMS     UICC    |    search     info

RFC 7852

 
 
 

Additional Data Related to an Emergency Call

Part 3 of 5, p. 41 to 62
Prev Section       Next Section

 


prevText      Top      ToC       Page 41 
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      Up      ToC       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      Up      ToC       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      Up      ToC       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      Up      ToC       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      Up      ToC       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      Up      ToC       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      Up      ToC       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      Up      ToC       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      Up      ToC       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      Up      ToC       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      Up      ToC       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      Up      ToC       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      Up      ToC       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      Up      ToC       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      Up      ToC       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      Up      ToC       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      Up      ToC       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      Up      ToC       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      Up      ToC       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      Up      ToC       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      Up      ToC       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