<?xml version='1.0' encoding='utf-8'?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" version="3" category="std" consensus="true" docName="draft-ietf-rum-rue-11" indexInclude="true" ipr="trust200902" number="9248" prepTime="2022-06-09T11:01:05" scripts="Common,Latin" sortRefs="true" submissionType="IETF" symRefs="true" tocDepth="4" tocInclude="true" xml:lang="en">
  <link href="https://datatracker.ietf.org/doc/draft-ietf-rum-rue-11" rel="prev"/>
  <link href="https://dx.doi.org/10.17487/rfc9248" rel="alternate"/>
  <link href="urn:issn:2070-1721" rel="alternate"/>
  <front>
    <title abbrev="Relay User Equipment Profile">Interoperability Profile for Relay User Equipment</title>
    <seriesInfo name="RFC" value="9248" stream="IETF"/>
    <author fullname="Brian Rosen" initials="B." surname="Rosen">
      <address>
        <postal>
          <street>470 Conrad Dr</street>
          <city>Mars</city>
          <region>PA</region>
          <code>16046</code>
          <country>United States of America</country>
        </postal>
        <email>br@brianrosen.net</email>
      </address>
    </author>
    <date month="06" year="2022"/>
    <area>art</area>
    <workgroup>rum</workgroup>
    <keyword>rue</keyword>
    <keyword>relay user equipment</keyword>
    <abstract pn="section-abstract">
      <t indent="0" pn="section-abstract-1">Video Relay Service (VRS) is a term used to describe a method by which a hearing person can communicate with a sign language speaker who is deaf, deafblind, or hard of hearing (HoH) or has a speech disability using an interpreter (i.e., a Communications Assistant (CA)) connected via a videophone to the sign language speaker and an audio telephone call to the hearing user.  The CA interprets using sign language on the videophone link and voice on the telephone link.  Often the interpreters may be employed by a company or agency, termed a "provider" in this document.  The provider also provides a video service that allows users to connect video devices to their service and subsequently to CAs and other sign language speakers. It is desirable that the videophones used by the sign language speaker conform to a standard so that any device may be used with any provider and that direct video calls between sign language speakers work.  This document describes the interface between a videophone and a provider.</t>
    </abstract>
    <boilerplate>
      <section anchor="status-of-memo" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.1">
        <name slugifiedName="name-status-of-this-memo">Status of This Memo</name>
        <t indent="0" pn="section-boilerplate.1-1">
            This is an Internet Standards Track document.
        </t>
        <t indent="0" pn="section-boilerplate.1-2">
            This document is a product of the Internet Engineering Task Force
            (IETF).  It represents the consensus of the IETF community.  It has
            received public review and has been approved for publication by
            the Internet Engineering Steering Group (IESG).  Further
            information on Internet Standards is available in Section 2 of 
            RFC 7841.
        </t>
        <t indent="0" pn="section-boilerplate.1-3">
            Information about the current status of this document, any
            errata, and how to provide feedback on it may be obtained at
            <eref target="https://www.rfc-editor.org/info/rfc9248" brackets="none"/>.
        </t>
      </section>
      <section anchor="copyright" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.2">
        <name slugifiedName="name-copyright-notice">Copyright Notice</name>
        <t indent="0" pn="section-boilerplate.2-1">
            Copyright (c) 2022 IETF Trust and the persons identified as the
            document authors. All rights reserved.
        </t>
        <t indent="0" pn="section-boilerplate.2-2">
            This document is subject to BCP 78 and the IETF Trust's Legal
            Provisions Relating to IETF Documents
            (<eref target="https://trustee.ietf.org/license-info" brackets="none"/>) in effect on the date of
            publication of this document. Please review these documents
            carefully, as they describe your rights and restrictions with
            respect to this document. Code Components extracted from this
            document must include Revised BSD License text as described in
            Section 4.e of the Trust Legal Provisions and are provided without
            warranty as described in the Revised BSD License.
        </t>
      </section>
    </boilerplate>
    <toc>
      <section anchor="toc" numbered="false" removeInRFC="false" toc="exclude" pn="section-toc.1">
        <name slugifiedName="name-table-of-contents">Table of Contents</name>
        <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1">
          <li pn="section-toc.1-1.1">
            <t indent="0" keepWithNext="true" pn="section-toc.1-1.1.1"><xref derivedContent="1" format="counter" sectionFormat="of" target="section-1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-introduction">Introduction</xref></t>
          </li>
          <li pn="section-toc.1-1.2">
            <t indent="0" keepWithNext="true" pn="section-toc.1-1.2.1"><xref derivedContent="2" format="counter" sectionFormat="of" target="section-2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-terminology">Terminology</xref></t>
          </li>
          <li pn="section-toc.1-1.3">
            <t indent="0" keepWithNext="true" pn="section-toc.1-1.3.1"><xref derivedContent="3" format="counter" sectionFormat="of" target="section-3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-requirements-language">Requirements Language</xref></t>
          </li>
          <li pn="section-toc.1-1.4">
            <t indent="0" pn="section-toc.1-1.4.1"><xref derivedContent="4" format="counter" sectionFormat="of" target="section-4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-general-requirements">General Requirements</xref></t>
          </li>
          <li pn="section-toc.1-1.5">
            <t indent="0" pn="section-toc.1-1.5.1"><xref derivedContent="5" format="counter" sectionFormat="of" target="section-5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-sip-signaling">SIP Signaling</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.5.2">
              <li pn="section-toc.1-1.5.2.1">
                <t indent="0" pn="section-toc.1-1.5.2.1.1"><xref derivedContent="5.1" format="counter" sectionFormat="of" target="section-5.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-registration">Registration</xref></t>
              </li>
              <li pn="section-toc.1-1.5.2.2">
                <t indent="0" pn="section-toc.1-1.5.2.2.1"><xref derivedContent="5.2" format="counter" sectionFormat="of" target="section-5.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-session-establishment">Session Establishment</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.5.2.2.2">
                  <li pn="section-toc.1-1.5.2.2.2.1">
                    <t indent="0" pn="section-toc.1-1.5.2.2.2.1.1"><xref derivedContent="5.2.1" format="counter" sectionFormat="of" target="section-5.2.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-normal-call-origination">Normal Call Origination</xref></t>
                  </li>
                  <li pn="section-toc.1-1.5.2.2.2.2">
                    <t indent="0" pn="section-toc.1-1.5.2.2.2.2.1"><xref derivedContent="5.2.2" format="counter" sectionFormat="of" target="section-5.2.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-dial-around-origination">Dial-Around Origination</xref></t>
                  </li>
                  <li pn="section-toc.1-1.5.2.2.2.3">
                    <t indent="0" pn="section-toc.1-1.5.2.2.2.3.1"><xref derivedContent="5.2.3" format="counter" sectionFormat="of" target="section-5.2.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-rue-contact-information">RUE Contact Information</xref></t>
                  </li>
                  <li pn="section-toc.1-1.5.2.2.2.4">
                    <t indent="0" pn="section-toc.1-1.5.2.2.2.4.1"><xref derivedContent="5.2.4" format="counter" sectionFormat="of" target="section-5.2.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-incoming-calls">Incoming Calls</xref></t>
                  </li>
                  <li pn="section-toc.1-1.5.2.2.2.5">
                    <t indent="0" pn="section-toc.1-1.5.2.2.2.5.1"><xref derivedContent="5.2.5" format="counter" sectionFormat="of" target="section-5.2.5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-emergency-calls">Emergency Calls</xref></t>
                  </li>
                </ul>
              </li>
              <li pn="section-toc.1-1.5.2.3">
                <t indent="0" pn="section-toc.1-1.5.2.3.1"><xref derivedContent="5.3" format="counter" sectionFormat="of" target="section-5.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-mid-call-signaling">Mid-Call Signaling</xref></t>
              </li>
              <li pn="section-toc.1-1.5.2.4">
                <t indent="0" pn="section-toc.1-1.5.2.4.1"><xref derivedContent="5.4" format="counter" sectionFormat="of" target="section-5.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-uri-representation-of-phone">URI Representation of Phone Numbers</xref></t>
              </li>
              <li pn="section-toc.1-1.5.2.5">
                <t indent="0" pn="section-toc.1-1.5.2.5.1"><xref derivedContent="5.5" format="counter" sectionFormat="of" target="section-5.5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-transport">Transport</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.6">
            <t indent="0" pn="section-toc.1-1.6.1"><xref derivedContent="6" format="counter" sectionFormat="of" target="section-6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-media">Media</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.6.2">
              <li pn="section-toc.1-1.6.2.1">
                <t indent="0" pn="section-toc.1-1.6.2.1.1"><xref derivedContent="6.1" format="counter" sectionFormat="of" target="section-6.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-srtp-and-srtcp">SRTP and SRTCP</xref></t>
              </li>
              <li pn="section-toc.1-1.6.2.2">
                <t indent="0" pn="section-toc.1-1.6.2.2.1"><xref derivedContent="6.2" format="counter" sectionFormat="of" target="section-6.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-text-based-communication">Text-Based Communication</xref></t>
              </li>
              <li pn="section-toc.1-1.6.2.3">
                <t indent="0" pn="section-toc.1-1.6.2.3.1"><xref derivedContent="6.3" format="counter" sectionFormat="of" target="section-6.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-video">Video</xref></t>
              </li>
              <li pn="section-toc.1-1.6.2.4">
                <t indent="0" pn="section-toc.1-1.6.2.4.1"><xref derivedContent="6.4" format="counter" sectionFormat="of" target="section-6.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-audio">Audio</xref></t>
              </li>
              <li pn="section-toc.1-1.6.2.5">
                <t indent="0" pn="section-toc.1-1.6.2.5.1"><xref derivedContent="6.5" format="counter" sectionFormat="of" target="section-6.5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-dtmf-digits">DTMF Digits</xref></t>
              </li>
              <li pn="section-toc.1-1.6.2.6">
                <t indent="0" pn="section-toc.1-1.6.2.6.1"><xref derivedContent="6.6" format="counter" sectionFormat="of" target="section-6.6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-session-description-protoco">Session Description Protocol</xref></t>
              </li>
              <li pn="section-toc.1-1.6.2.7">
                <t indent="0" pn="section-toc.1-1.6.2.7.1"><xref derivedContent="6.7" format="counter" sectionFormat="of" target="section-6.7"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-privacy">Privacy</xref></t>
              </li>
              <li pn="section-toc.1-1.6.2.8">
                <t indent="0" pn="section-toc.1-1.6.2.8.1"><xref derivedContent="6.8" format="counter" sectionFormat="of" target="section-6.8"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-negative-acknowledgement-pi">Negative Acknowledgement, Picture Loss Indicator, and Full Intraframe Request Features</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.7">
            <t indent="0" pn="section-toc.1-1.7.1"><xref derivedContent="7" format="counter" sectionFormat="of" target="section-7"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-contacts">Contacts</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.7.2">
              <li pn="section-toc.1-1.7.2.1">
                <t indent="0" pn="section-toc.1-1.7.2.1.1"><xref derivedContent="7.1" format="counter" sectionFormat="of" target="section-7.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-carddav-login-and-synchroni">CardDAV Login and Synchronization</xref></t>
              </li>
              <li pn="section-toc.1-1.7.2.2">
                <t indent="0" pn="section-toc.1-1.7.2.2.1"><xref derivedContent="7.2" format="counter" sectionFormat="of" target="section-7.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-contacts-import-export-serv">Contacts Import/Export Service</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.8">
            <t indent="0" pn="section-toc.1-1.8.1"><xref derivedContent="8" format="counter" sectionFormat="of" target="section-8"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-video-mail">Video Mail</xref></t>
          </li>
          <li pn="section-toc.1-1.9">
            <t indent="0" pn="section-toc.1-1.9.1"><xref derivedContent="9" format="counter" sectionFormat="of" target="section-9"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-provisioning-and-provider-s">Provisioning and Provider Selection</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.9.2">
              <li pn="section-toc.1-1.9.2.1">
                <t indent="0" pn="section-toc.1-1.9.2.1.1"><xref derivedContent="9.1" format="counter" sectionFormat="of" target="section-9.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-rue-provider-selection">RUE Provider Selection</xref></t>
              </li>
              <li pn="section-toc.1-1.9.2.2">
                <t indent="0" pn="section-toc.1-1.9.2.2.1"><xref derivedContent="9.2" format="counter" sectionFormat="of" target="section-9.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-rue-configuration-service">RUE Configuration Service</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.9.2.2.2">
                  <li pn="section-toc.1-1.9.2.2.2.1">
                    <t indent="0" pn="section-toc.1-1.9.2.2.2.1.1"><xref derivedContent="9.2.1" format="counter" sectionFormat="of" target="section-9.2.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-provider-configuration">Provider Configuration</xref></t>
                  </li>
                  <li pn="section-toc.1-1.9.2.2.2.2">
                    <t indent="0" pn="section-toc.1-1.9.2.2.2.2.1"><xref derivedContent="9.2.2" format="counter" sectionFormat="of" target="section-9.2.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-rue-configuration">RUE Configuration</xref></t>
                  </li>
                  <li pn="section-toc.1-1.9.2.2.2.3">
                    <t indent="0" pn="section-toc.1-1.9.2.2.2.3.1"><xref derivedContent="9.2.3" format="counter" sectionFormat="of" target="section-9.2.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-versions">Versions</xref></t>
                  </li>
                  <li pn="section-toc.1-1.9.2.2.2.4">
                    <t indent="0" pn="section-toc.1-1.9.2.2.2.4.1"><xref derivedContent="9.2.4" format="counter" sectionFormat="of" target="section-9.2.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-examples">Examples</xref></t>
                  </li>
                  <li pn="section-toc.1-1.9.2.2.2.5">
                    <t indent="0" pn="section-toc.1-1.9.2.2.2.5.1"><xref derivedContent="9.2.5" format="counter" sectionFormat="of" target="section-9.2.5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-using-the-provider-selectio">Using the Provider Selection and RUE Configuration Services Together</xref></t>
                  </li>
                </ul>
              </li>
              <li pn="section-toc.1-1.9.2.3">
                <t indent="0" pn="section-toc.1-1.9.2.3.1"><xref derivedContent="9.3" format="counter" sectionFormat="of" target="section-9.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-openapi-interface-descripti">OpenAPI Interface Descriptions</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.9.2.3.2">
                  <li pn="section-toc.1-1.9.2.3.2.1">
                    <t indent="0" pn="section-toc.1-1.9.2.3.2.1.1"><xref derivedContent="9.3.1" format="counter" sectionFormat="of" target="section-9.3.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-provider-list">Provider List</xref></t>
                  </li>
                  <li pn="section-toc.1-1.9.2.3.2.2">
                    <t indent="0" pn="section-toc.1-1.9.2.3.2.2.1"><xref derivedContent="9.3.2" format="counter" sectionFormat="of" target="section-9.3.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-configuration">Configuration</xref></t>
                  </li>
                </ul>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.10">
            <t indent="0" pn="section-toc.1-1.10.1"><xref derivedContent="10" format="counter" sectionFormat="of" target="section-10"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-iana-considerations">IANA Considerations</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.10.2">
              <li pn="section-toc.1-1.10.2.1">
                <t indent="0" pn="section-toc.1-1.10.2.1.1"><xref derivedContent="10.1" format="counter" sectionFormat="of" target="section-10.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-rue-provider-list-registry">RUE Provider List Registry</xref></t>
              </li>
              <li pn="section-toc.1-1.10.2.2">
                <t indent="0" pn="section-toc.1-1.10.2.2.1"><xref derivedContent="10.2" format="counter" sectionFormat="of" target="section-10.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-registration-of-rue-owner-v"> Registration of Rue-Owner Value of the Purpose Parameter</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.11">
            <t indent="0" pn="section-toc.1-1.11.1"><xref derivedContent="11" format="counter" sectionFormat="of" target="section-11"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-security-considerations">Security Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.12">
            <t indent="0" pn="section-toc.1-1.12.1"><xref derivedContent="12" format="counter" sectionFormat="of" target="section-12"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-normative-references">Normative References</xref></t>
          </li>
          <li pn="section-toc.1-1.13">
            <t indent="0" pn="section-toc.1-1.13.1"><xref derivedContent="13" format="counter" sectionFormat="of" target="section-13"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-informative-references">Informative References</xref></t>
          </li>
          <li pn="section-toc.1-1.14">
            <t indent="0" pn="section-toc.1-1.14.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.a"/><xref derivedContent="" format="title" sectionFormat="of" target="name-acknowledgements">Acknowledgements</xref></t>
          </li>
          <li pn="section-toc.1-1.15">
            <t indent="0" pn="section-toc.1-1.15.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.b"/><xref derivedContent="" format="title" sectionFormat="of" target="name-authors-address">Author's Address</xref></t>
          </li>
        </ul>
      </section>
    </toc>
  </front>
  <middle>
    <section numbered="true" toc="include" removeInRFC="false" pn="section-1">
      <name slugifiedName="name-introduction">Introduction</name>
      <t indent="0" pn="section-1-1">Video Relay Service (VRS) is a form of Telecommunications Relay Service (TRS) that enables people with hearing disabilities who use sign language,
      such as American Sign Language (ASL), to communicate with voice telephone users through video equipment.
      These services also enable communication between such
         individuals directly in suitable modalities, including any combination of sign language via video, real-time text, and speech.
      </t>
      <t indent="0" pn="section-1-2">
        This interoperability profile for Relay User Equipment (RUE) is a profile of the Session Initiation Protocol (SIP) and related media protocols that
        enables end-user equipment registration and calling for VRS calls. It specifies the minimal set of call flows and IETF
        and ITU-T standards that must be supported, provides guidance where the standards leave multiple implementation options, and specifies minimal and extended capabilities for RUE calls.</t>
      <t indent="0" pn="section-1-3">
   Both subscriber-to-provider (interpreted) and direct subscriber-to-subscriber 
   calls are supported on this interface.
While there are some accommodations in this document to maximize backwards compatibility with other devices and services that are used to provide VRS service, backwards compatibility is not a requirement, and some interwork may be required to allow direct video calls to older devices.  This document only describes the interface between the device and the provider, not any other interface the provider may have.  </t>
      <t indent="0" pn="section-1-4">The following illustrates a typical relay call.  The RUE device and the communications assistant (sign language interpreter) have videophones.  The hearing user has a telephone (mobile or fixed).</t>
      <artwork name="" type="" align="left" alt="" pn="section-1-5">
                           ||== RUE Interface (this document)
                           ||
                           \/
  +------+   +------+      -       +--------+     -      +-------+
  |User  |   |RUE   |    (   )     |Provider|    (  )    |User   |
  |who is|   |Device|&lt;-(Internet)-&gt;|        |            |who is |
  |Deaf  |&lt;-&gt;|      |              |        |&lt;-( PSTN )-&gt;|Hearing|
  +------+   +------+   --------   +--------+   ------   +-------+
                                        ^
                                        |
                                +--------------+
                                |Communications|
                                |Assistant     |
                                +--------------+
</artwork>
    </section>
    <section numbered="true" toc="include" removeInRFC="false" pn="section-2">
      <name slugifiedName="name-terminology">Terminology</name>
      <dl newline="true" spacing="normal" indent="3" pn="section-2-1">
        <dt pn="section-2-1.1">Communications Assistant (CA):</dt>
        <dd pn="section-2-1.2">A sign-language interpreter working for a VRS provider, providing functionally equivalent phone service.</dd>
        <dt pn="section-2-1.3">Communication modality (modality):</dt>
        <dd pn="section-2-1.4">A specific form of communication that may be employed by two users, e.g., English voice, Spanish voice,
        American Sign Language, English lipreading, or French real-time text. Here, one communication modality is assumed to encompass both the
        language and the way that language is exchanged. For example, English voice and French voice are two different communication modalities.</dd>
        <dt pn="section-2-1.5">Default video relay service:</dt>
        <dd pn="section-2-1.6">The video relay service operated by a subscriber's default VRS provider.</dd>
        <dt pn="section-2-1.7">Default video relay service provider (default provider):</dt>
        <dd pn="section-2-1.8">The VRS
  provider that registers and assigns a telephone number to a
  specific subscriber and, by default, provides the
  VRS for incoming voice calls to the user.  The default
  provider, also by default, provides the VRS for outgoing relay calls. The
  user can have more than one telephone number, and each has a default
  provider.</dd>
        <dt pn="section-2-1.9">Outbound dial-around call:</dt>
        <dd pn="section-2-1.10">A relay call where the subscriber specifies the use of a VRS provider other than the default VRS provider.
        This can be accomplished by the user dialing a "front-door" number for a VRS provider and signing or texting a phone number to call ("two-stage").
        Alternatively, this can be accomplished by the user's RUE software instructing the server of its default VRS provider to automatically route the call through the alternate provider to the desired Public Switched Telephone Network (PSTN) directory number ("one-stage").  Dial-around is per call; for any call, a user can use the default VRS provider or any dial-around VRS provider.
      </dd>
        <dt pn="section-2-1.11">Full Intra Request (FIR):</dt>
        <dd pn="section-2-1.12">A request to a video media sender, requiring that media sender to send a decoder refresh point at the earliest opportunity. FIR is sometimes known as "instantaneous decoder refresh request", "video fast update request", or "fast update request".</dd>
        <dt pn="section-2-1.13">Point-to-Point Call (P2P Call):</dt>
        <dd pn="section-2-1.14">A call between two RUEs, without including a CA.</dd>
        <dt pn="section-2-1.15">Relay call:</dt>
        <dd pn="section-2-1.16">A call that allows people with hearing or speech disabilities to use a RUE to talk to users of conventional voice services with the aid of a CA to relay the communication.</dd>
        <dt pn="section-2-1.17">Relay service (RS):</dt>
        <dd pn="section-2-1.18">A service that allows a registered subscriber to use a RUE to make and receive relay calls, point-to-point calls, and relay-to-relay calls. The functions provided by the relay service include the provision of media links supporting the communication modalities used by the caller and callee, user registration and validation, authentication, authorization, automatic call distributor (ACD) platform functions, routing (including emergency call routing), call setup, mapping, call features (such as call forwarding and video mail), and assignment of CAs to relay calls.</dd>
        <dt pn="section-2-1.19">Relay service provider (provider):</dt>
        <dd pn="section-2-1.20">An organization that operates a relay service. A subscriber selects a relay service provider to assign and register a telephone number for their use, to register with for receipt of incoming calls, and to provide the default service for outgoing calls.</dd>
        <dt pn="section-2-1.21">Relay user:</dt>
        <dd pn="section-2-1.22">Please refer to "subscriber".</dd>
        <dt pn="section-2-1.23">Relay user E.164 Number (user E.164):</dt>
        <dd pn="section-2-1.24">The telephone number (in ITU-T E.164 format) assigned to the user.</dd>
        <dt pn="section-2-1.25">Relay User Equipment (RUE):</dt>
        <dd pn="section-2-1.26">A SIP user agent (UA) enhanced with extra features to support a subscriber in requesting, receiving, and using relay calls. A RUE may take many forms, including a stand-alone device; an application running on a general-purpose computing device, such as a laptop, tablet, or smartphone; or proprietary equipment connected to a server that provides the RUE interface.</dd>
        <dt pn="section-2-1.27">RUE interface:</dt>
        <dd pn="section-2-1.28">The interfaces described in this document between a RUE and a VRS provider who supports it.</dd>
        <dt pn="section-2-1.29">Sign language:</dt>
        <dd pn="section-2-1.30">A language that uses hand gestures and body language to convey meaning, including, but not limited to, American Sign Language (ASL).</dd>
        <dt pn="section-2-1.31">Subscriber:</dt>
        <dd pn="section-2-1.32">An individual who has registered with a provider and who obtains service by using a RUE. This is the conventional telecom term for an end-user customer, which in this case is a relay user.  A user may be a subscriber to more than one VRS provider.</dd>
        <dt pn="section-2-1.33">Video Relay Service (VRS):</dt>
        <dd pn="section-2-1.34">A relay service for people with hearing or speech disabilities who use sign language to communicate using video equipment (video RUE) with other people in real time. The video link allows the CA to view and interpret the subscriber's signed conversation and relay the conversation back and forth with the other party.</dd>
      </dl>
    </section>
    <section numbered="true" toc="include" removeInRFC="false" pn="section-3">
      <name slugifiedName="name-requirements-language">Requirements Language</name>
      <t indent="0" pn="section-3-1">
    The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
    "<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
    described in BCP 14 <xref target="RFC2119" format="default" sectionFormat="of" derivedContent="RFC2119"/> <xref target="RFC8174" format="default" sectionFormat="of" derivedContent="RFC8174"/> 
    when, and only when, they appear in all capitals, as shown here.
    Lower- or mixed-case uses of these key
   words are not to be interpreted as carrying special significance.
      </t>
    </section>
    <section anchor="general" numbered="true" toc="include" removeInRFC="false" pn="section-4">
      <name slugifiedName="name-general-requirements">General Requirements</name>
      <t indent="0" pn="section-4-1">All HTTP/HTTPS <xref target="RFC9110" format="default" sectionFormat="of" derivedContent="RFC9110"/> <xref target="RFC9112" format="default" sectionFormat="of" derivedContent="RFC9112"/> connections specified throughout this document <bcp14>MUST</bcp14> use HTTPS. Both HTTPS and all SIP connections <bcp14>MUST</bcp14> use TLS conforming to at least <xref target="RFC7525" format="default" sectionFormat="of" derivedContent="RFC7525"/> and <bcp14>MUST</bcp14> support <xref target="RFC8446" format="default" sectionFormat="of" derivedContent="RFC8446"/>.
      </t>
      <t indent="0" pn="section-4-2">
           All text data payloads not otherwise constrained by a specification in another standards document <bcp14>MUST</bcp14> be encoded as Unicode UTF-8.
      </t>
      <t indent="0" pn="section-4-3">Implementations <bcp14>MUST</bcp14> support IPv4 and IPv6.  Dual-stack support is NOT required, and provider implementations <bcp14>MAY</bcp14> support separate interfaces for IPv4 and IPv6 by having more than one server in the appropriate SRV record where there is either an A or AAAA record in each server DNS record but not both.  The same version of IP <bcp14>MUST</bcp14> be used for both signaling and media of a call unless Interactive Connectivity Establishment (ICE) <xref target="RFC8445" format="default" sectionFormat="of" derivedContent="RFC8445"/> is used; in which case, candidates may explicitly offer IPv4, IPv6, or both for any media stream.</t>
    </section>
    <section anchor="sip" numbered="true" toc="include" removeInRFC="false" pn="section-5">
      <name slugifiedName="name-sip-signaling">SIP Signaling</name>
      <t indent="0" pn="section-5-1">Implementations of the RUE interface <bcp14>MUST</bcp14> conform to the following core SIP standards:</t>
      <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-5-2">
        <li pn="section-5-2.1">
          <xref target="RFC3261" format="default" sectionFormat="of" derivedContent="RFC3261"/> (Base SIP)</li>
        <li pn="section-5-2.2">
          <xref target="RFC3263" format="default" sectionFormat="of" derivedContent="RFC3263"/> (Locating SIP Servers)</li>
        <li pn="section-5-2.3">
          <xref target="RFC3264" format="default" sectionFormat="of" derivedContent="RFC3264"/> (Offer/Answer)</li>
        <li pn="section-5-2.4">
          <xref target="RFC3840" format="default" sectionFormat="of" derivedContent="RFC3840"/> (User Agent Capabilities)</li>
        <li pn="section-5-2.5">
          <xref target="RFC5626" format="default" sectionFormat="of" derivedContent="RFC5626"/> (Outbound)</li>
        <li pn="section-5-2.6">
          <xref target="RFC8866" format="default" sectionFormat="of" derivedContent="RFC8866"/> (Session Description Protocol)</li>
        <li pn="section-5-2.7">
          <xref target="RFC3323" format="default" sectionFormat="of" derivedContent="RFC3323"/> (Privacy)</li>
        <li pn="section-5-2.8">
          <xref target="RFC3605" format="default" sectionFormat="of" derivedContent="RFC3605"/> (RTCP Attribute in SDP)</li>
        <li pn="section-5-2.9">
          <xref target="RFC3311" format="default" sectionFormat="of" derivedContent="RFC3311"/> (UPDATE Method)</li>
        <li pn="section-5-2.10">
          <xref target="RFC5393" format="default" sectionFormat="of" derivedContent="RFC5393"/> (Loop-Fix)</li>
        <li pn="section-5-2.11">
          <xref target="RFC5658" format="default" sectionFormat="of" derivedContent="RFC5658"/> (Record-Route Fix)</li>
        <li pn="section-5-2.12">
          <xref target="RFC5954" format="default" sectionFormat="of" derivedContent="RFC5954"/> (ABNF Fix)</li>
        <li pn="section-5-2.13">
          <xref target="RFC3960" format="default" sectionFormat="of" derivedContent="RFC3960"/> (Early Media)</li>
        <li pn="section-5-2.14">
          <xref target="RFC6442" format="default" sectionFormat="of" derivedContent="RFC6442"/> (Geolocation Header Field)</li>
      </ul>
      <t indent="0" pn="section-5-3">
In the above documents, the RUE device conforms to the requirements of a SIP user agent, and the provider conforms to the requirements of the registrar and proxy server where the document specifies different behavior for different roles.   For providers offering a video mail service, <xref target="RFC6665" format="default" sectionFormat="of" derivedContent="RFC6665"/> (SIP Events) <bcp14>MUST</bcp14> be implemented to support the  Message-Waiting Indicator (MWI) (see <xref target="mwi" format="default" sectionFormat="of" derivedContent="Section 8"/>).
      </t>
      <t indent="0" pn="section-5-4">In addition, implementations <bcp14>MUST</bcp14> conform to:</t>
      <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-5-5">
        <li pn="section-5-5.1">
          <xref target="RFC3327" format="default" sectionFormat="of" derivedContent="RFC3327"/> (Path Header Field)</li>
        <li pn="section-5-5.2">
          <xref target="RFC8445" format="default" sectionFormat="of" derivedContent="RFC8445"/> and <xref target="RFC8839" format="default" sectionFormat="of" derivedContent="RFC8839"/> (ICE)</li>
        <li pn="section-5-5.3">
          <xref target="RFC3326" format="default" sectionFormat="of" derivedContent="RFC3326"/> (Reason Header Field)</li>
        <li pn="section-5-5.4">
          <xref target="RFC3515" format="default" sectionFormat="of" derivedContent="RFC3515"/> (REFER Method)</li>
        <li pn="section-5-5.5">
          <xref target="RFC3891" format="default" sectionFormat="of" derivedContent="RFC3891"/> (Replaces Header Field)</li>
        <li pn="section-5-5.6">
          <xref target="RFC3892" format="default" sectionFormat="of" derivedContent="RFC3892"/> (Referred-By Header Field)</li>
      </ul>
      <t indent="0" pn="section-5-6">Implementations <bcp14>MUST</bcp14> implement full ICE, although they <bcp14>MAY</bcp14> interwork with user agents that implement ICE-lite.</t>
      <t indent="0" pn="section-5-7">
           Implementations <bcp14>MUST</bcp14> include a "User-Agent" header field uniquely identifying the RUE application, platform, and version in all SIP requests and <bcp14>MUST</bcp14> include a "Server" header field with the same content in SIP responses.
      </t>
      <t indent="0" pn="section-5-8">Implementations intended to support mobile platforms <bcp14>MUST</bcp14> support <xref target="RFC8599" format="default" sectionFormat="of" derivedContent="RFC8599"/> and <bcp14>MUST</bcp14> use it as at least one way to support waking up the client from the background state.  </t>
      <t indent="0" pn="section-5-9">The SIP signaling for registration and placing/receiving calls depends on the configuration of various values into the RUE device.  <xref target="config" format="default" sectionFormat="of" derivedContent="Section 9.2"/> describes the configuration mechanism that provides values that are used in the signaling.  When the device starts, the configuration mechanism is run, which retrieves the configuration data; then, SIP registration occurs using the values from the configuration.  After registration, calls may be sent or received by the RUE device.</t>
      <section anchor="register" numbered="true" toc="include" removeInRFC="false" pn="section-5.1">
        <name slugifiedName="name-registration">Registration</name>
        <t indent="0" pn="section-5.1-1">
        The RUE <bcp14>MUST</bcp14> register with a SIP registrar, following <xref target="RFC3261" format="default" sectionFormat="of" derivedContent="RFC3261"/> and <xref target="RFC5626" format="default" sectionFormat="of" derivedContent="RFC5626"/>, at a provider it has an account with. If the configuration (see <xref target="config" format="default" sectionFormat="of" derivedContent="Section 9.2"/>) contains multiple "outbound-proxies" in "RueConfigurationData", then the RUE <bcp14>MUST</bcp14> use them as specified in <xref target="RFC5626" format="default" sectionFormat="of" derivedContent="RFC5626"/> to establish multiple flows.
        </t>
        <t indent="0" pn="section-5.1-2">
        The Request-URI for the REGISTER request <bcp14>MUST</bcp14> contain the "provider-domain" from the configuration. The To URI and From URI <bcp14>MUST</bcp14> be identical URIs and formatted as follows:</t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-5.1-3">
          <li pn="section-5.1-3.1">if "user-name" is provided: "username@provider-domain"</li>
          <li pn="section-5.1-3.2">if "user-name" is not provided: as specified in <xref target="uriphone" format="default" sectionFormat="of" derivedContent="Section 5.4"/>, use "phone-number" and "provider-domain" from the configuration</li>
        </ul>
        <t indent="0" pn="section-5.1-4">
        The RUE determines the URI to resolve by initially determining if one or more "outbound-proxies" are configured. If they are configured, the URI will be that of one of the "outbound-proxies". If no "outbound-proxies" are configured, the URI will be the Request-URI from the REGISTER request. The RUE extracts the domain from that URI and consults the DNS record for that domain. The DNS entry <bcp14>MUST</bcp14> contain NAPTR records conforming to <xref target="RFC3263" format="default" sectionFormat="of" derivedContent="RFC3263"/>. One of those NAPTR records <bcp14>MUST</bcp14> specify TLS as the preferred transport for SIP. For example, a DNS NAPTR query for "sip: p1.red.example.net" could return:
        </t>
        <sourcecode name="dns-rr" type="" markers="false" pn="section-5.1-5">
IN NAPTR 50  50 "s" "SIPS+D2T" "" _sips._tcp.p1.red.example.net
IN NAPTR 90  50 "s" "SIP+D2T"  "" _sip._tcp.p1.red.example.net
</sourcecode>
        <t indent="0" pn="section-5.1-6">
        If the RUE receives a 439 (First Hop Lacks Outbound Support) response to a REGISTER request, it <bcp14>MUST</bcp14> reattempt registration without using the outbound mechanism.
        </t>
        <t indent="0" pn="section-5.1-7">
        The registrar <bcp14>MAY</bcp14> authenticate the RUE using SIP digest authentication. The credentials to be used <bcp14>MUST</bcp14> come from the configuration in <xref target="config" format="default" sectionFormat="of" derivedContent="Section 9.2"/>: "user-name" if provided or "phone-number" if user-name is not provided, and "sip-password". This "user-name"/"sip-password" combination <bcp14>SHOULD NOT</bcp14> be the same as
        that used for other purposes, except as expressly described below, such as retrieving the RUE configuration or logging into the provider's customer service portal. 
<xref target="RFC8760" format="default" sectionFormat="of" derivedContent="RFC8760"/> <bcp14>MUST</bcp14> be supported by all implementations, and SHA-512 digest algorithms <bcp14>MUST</bcp14> be supported.
        </t>
        <t indent="0" pn="section-5.1-8">
        If the registration request fails with an indication that credentials from the configuration are invalid,
        then the RUE <bcp14>MUST</bcp14> retrieve a fresh version of the configuration.
        If credentials from a freshly retrieved configuration are found to be invalid,
        then the RUE <bcp14>MUST</bcp14> cease attempts to register and inform the RUE user of the problem.
        </t>
        <t indent="0" pn="section-5.1-9">
        Support for multiple simultaneous registrations with multiple providers by the RUE is <bcp14>OPTIONAL</bcp14> for the RUE (and providers do not need any support for this option).
        </t>
        <t indent="0" pn="section-5.1-10">
        Multiple simultaneous RUE SIP registrations from different RUE devices with the same SIP URI <bcp14>SHOULD</bcp14> be permitted by the provider. The provider <bcp14>MAY</bcp14> limit the total number of simultaneous registrations. When a new registration request is received that results in exceeding the limit on simultaneous registrations, the provider <bcp14>MAY</bcp14> then prematurely terminate another registration; however, it <bcp14>SHOULD NOT</bcp14> do this if it would disconnect an active call.
        </t>
        <t indent="0" pn="section-5.1-11">
        If a provider prematurely terminates a registration to reduce the total number of concurrent registrations with the same URI, it <bcp14>SHOULD</bcp14> take some action to prevent the affected RUE from automatically re-registering and re-triggering the condition.
        </t>
      </section>
      <section anchor="session" numbered="true" toc="include" removeInRFC="false" pn="section-5.2">
        <name slugifiedName="name-session-establishment">Session Establishment</name>
        <section anchor="normalcall" numbered="true" toc="include" removeInRFC="false" pn="section-5.2.1">
          <name slugifiedName="name-normal-call-origination">Normal Call Origination</name>
          <t indent="0" pn="section-5.2.1-1">
          After initial SIP registration, the RUE adheres to SIP <xref target="RFC3261" format="default" sectionFormat="of" derivedContent="RFC3261"/> basic call flows, as documented in <xref target="RFC3665" format="default" sectionFormat="of" derivedContent="RFC3665"/>.
          </t>
          <t indent="0" pn="section-5.2.1-2">
          A RUE device <bcp14>MUST</bcp14> route all outbound calls through an outbound proxy if configured.
          </t>
          <t indent="0" pn="section-5.2.1-3">
          The SIP URIs in the To field and the Request-URI <bcp14>MUST</bcp14> be formatted as specified in <xref target="uriphone" format="default" sectionFormat="of" derivedContent="Section 5.4"/> using the destination phone number or as SIP URIs as provided in the configuration (<xref target="config" format="default" sectionFormat="of" derivedContent="Section 9.2"/>). The domain field of the URIs <bcp14>SHOULD</bcp14> be the "provider-domain" from the configuration (e.g., sip:+15551234567@red.example.com;user=phone), except that an anonymous call would not use the provider domain.
          </t>
          <t indent="0" pn="section-5.2.1-4">
          Anonymous calls <bcp14>MUST</bcp14> be supported by all implementations. An anonymous call is signaled per <xref target="RFC3323" format="default" sectionFormat="of" derivedContent="RFC3323"/>.
          </t>
          <t indent="0" pn="section-5.2.1-5">
          The From URI <bcp14>MUST</bcp14> be formatted as specified in <xref target="uriphone" format="default" sectionFormat="of" derivedContent="Section 5.4"/>, using the "phone-number" and "provider-domain" from the configuration. It <bcp14>SHOULD</bcp14> also contain the display-name from the configuration when present. (Please refer to <xref target="config" format="default" sectionFormat="of" derivedContent="Section 9.2"/>.)
          </t>
          <t indent="0" pn="section-5.2.1-6">
          Negotiated media <bcp14>MUST</bcp14> follow the requirements specified in <xref target="media" format="default" sectionFormat="of" derivedContent="Section 6"/> of this document.
          </t>
          <t indent="0" pn="section-5.2.1-7">
          To allow time for an unanswered call to time out and direct it to a videomail server, the User Agent Client <bcp14>MUST NOT</bcp14> impose a time limit less than the default SIP INVITE transaction timeout of 3 minutes.
          </t>
        </section>
        <section anchor="onestage" numbered="true" toc="include" removeInRFC="false" pn="section-5.2.2">
          <name slugifiedName="name-dial-around-origination">Dial-Around Origination</name>
          <t indent="0" pn="section-5.2.2-1">Providers and RUE devices <bcp14>MUST</bcp14> support both one-stage and two-stage dial-around.</t>
          <t indent="0" pn="section-5.2.2-2">
            Outbound dial-around calls allow a RUE user to select any provider to provide interpreting services for any call.
            "Two-stage" dial-around calls involve the RUE calling a telephone number that reaches the dial-around provider and
            using signing or dual-tone multi-frequency (DTMF) to provide the called party's telephone number. In two-stage dial-around, the To URI is the "front-door" URI (see <xref target="config" format="default" sectionFormat="of" derivedContent="Section 9.2"/>) in "ProviderConfigurationData" of
            the dial-around provider.  The RUE Provider Selection service (<xref target="providerselect" format="default" sectionFormat="of" derivedContent="Section 9.1"/>) can be used by the RUE to obtain a list of providers; then, the provider configuration (<xref target="providerConfig" format="default" sectionFormat="of" derivedContent="Section 9.2.1"/>) can be used to find the front-door URI for each of these providers.
          </t>
          <t indent="0" pn="section-5.2.2-3">
            One-stage dial-around is a method where the called party's telephone number is provided in the To URI and the Request-URI,
            using the domain of the dial-around provider.
          </t>
          <t indent="0" pn="section-5.2.2-4">
            For one-stage dial-around, the RUE <bcp14>MUST</bcp14> follow the procedures in <xref target="normalcall" format="default" sectionFormat="of" derivedContent="Section 5.2.1"/> with the
            following exception: the domain part of the SIP URIs in the To field and the Request-URI <bcp14>MUST</bcp14> be the domain of the
            dial-around provider discovered as described in <xref target="providerselect" format="default" sectionFormat="of" derivedContent="Section 9.1"/>.
          </t>
          <t indent="0" pn="section-5.2.2-5">
            The following is a partial example of a one-stage dial-around call from VRS user +1-555-222-0001 hosted by red.example.com
            to a hearing user +1-555-123-4567 using dial-around to green.example.com for the relay service. Only important details of the
            messages are shown, and many header fields have been omitted:
          </t>
          <figure align="left" suppress-title="false" pn="figure-1">
            <name slugifiedName="name-one-stage-dial-around">One-Stage Dial-Around</name>
            <artwork name="" type="" align="left" alt="" pn="section-5.2.2-6.1">
  ,-+-.        ,----+----.    ,-----+-----.
  |RUE|        |Default  |    |Dial-Around|
  |   |        |Provider |    | Provider  |
  `-+-'        `----+----'    `-----+-----'
    |               |               |
    | [1] INVITE    |               |
    |--------------&gt;| [2] INVITE    |
    |               |--------------&gt;|

  Message Details:

  [1] INVITE Rue -&gt; Default Provider

  INVITE sip:+15551234567@green.example.net;user=phone SIP/2.0
  To: &lt;sip:+15551234567@green.example.net;user=phone&gt;
  From: "Bob Smith" &lt;sip:+15552220001@red.example.net;user=phone&gt;

  [2] INVITE Default Provider -&gt; Dial-Around Provider

  INVITE sip:+15551234567@green.example.net;user=phone SIP/2.0
  To: &lt;sip:+15551234567@green.example.net;user=phone&gt;
  From: "Bob Smith" sip:+15552220001@red.example.net;user=phone
  P-Asserted-Identity: sip:+15552220001@red.example.net
  </artwork>
          </figure>
        </section>
        <section anchor="contact" numbered="true" toc="include" removeInRFC="false" pn="section-5.2.3">
          <name slugifiedName="name-rue-contact-information">RUE Contact Information</name>
          <t indent="0" pn="section-5.2.3-1">
                    To identify the owner of a RUE, the initial INVITE for a call from a RUE, or the 200 OK the RUE uses to accept a call,
                    identifies the owner by sending a Call-Info header field with a purpose parameter of "rue-owner".
                    The URI <bcp14>MAY</bcp14> be an HTTPS URI or Content-ID URL. The latter is defined by <xref target="RFC2392" format="default" sectionFormat="of" derivedContent="RFC2392"/> to locate
                    message body parts. This URI type is present in a SIP message to convey the RUE ownership information as a
                    MIME body. The form of the RUE ownership information is an xCard <xref target="RFC6351" format="default" sectionFormat="of" derivedContent="RFC6351"/>.		    
                    Please refer to <xref target="RFC6442" format="default" sectionFormat="of" derivedContent="RFC6442"/> for an example of using content indirection URLs in SIP messages. Note that use of the content indirection URL
                    usually implies multiple message bodies ("mime/multipart"). The RUE owner is the entity that has local control over the device that is not necessarily the legal owner of the equipment.  It often is the user, but that is not necessarily true.  While no minimum fields in the xCard are specified, the name, address, phone number, and email address of the RUE owner are expected to be supplied.
          </t>
        </section>
        <section anchor="incoming" numbered="true" toc="include" removeInRFC="false" pn="section-5.2.4">
          <name slugifiedName="name-incoming-calls">Incoming Calls</name>
          <t indent="0" pn="section-5.2.4-1">The RUE <bcp14>MUST</bcp14> only accept inbound calls sent to it by a proxy mentioned in the configuration.
          </t>
          <t indent="0" pn="section-5.2.4-2">If multiple simultaneous RUE SIP registrations from different RUE devices with the same SIP URI exist,
                    the provider <bcp14>MUST</bcp14> parallel fork the call to all registered RUEs so that they ring at the same time.
   The first RUE to reply with a 200 OK answers the call, and the
   provider <bcp14>MUST</bcp14> cancel other call branches using a CANCEL request. 
          </t>
        </section>
        <section anchor="emergency" numbered="true" toc="include" removeInRFC="false" pn="section-5.2.5">
          <name slugifiedName="name-emergency-calls">Emergency Calls</name>
          <t indent="0" pn="section-5.2.5-1">Implementations <bcp14>MUST</bcp14> conform to <xref target="RFC6881" format="default" sectionFormat="of" derivedContent="RFC6881"/> for handling of emergency calls, except that if the device is unable to determine its own location, it <bcp14>MAY</bcp14> send the emergency call without a Geolocation header field and without a Route header field (since it would be unable to query the Location-to-Service Translation (LoST) server for a route, per <xref target="RFC6881" format="default" sectionFormat="of" derivedContent="RFC6881"/>). If an emergency call arrives at the provider without a Geolocation header field, the provider <bcp14>MUST</bcp14> supply location by adding the Geolocation header field and <bcp14>MUST</bcp14> supply the route by querying the LoST server with that location.
          </t>
          <t indent="0" pn="section-5.2.5-2">
              If the emergency call is to be handled using existing country-specific procedures,
                    the provider is responsible for modifying the INVITE to conform to the country-specific requirements.
                    In this case, the location <bcp14>MAY</bcp14> be extracted from the <xref target="RFC6881" format="default" sectionFormat="of" derivedContent="RFC6881"/> conformant INVITE and used to
                    propagate it to the appropriate country-specific entities.  If the configuration specifies it, an implementation of a RUE device
                    <bcp14>MAY</bcp14> send a Geolocation header field containing its location in the
                    REGISTER request. If implemented, users <bcp14>MUST</bcp14> be offered an opt-out. Country-specific procedures might require the location to
                    be preloaded in some entity prior to placing an emergency call;
                    however, the RUE may have a more accurate and timely device location
                    than the manual, preloaded entry. That information <bcp14>MAY</bcp14> be used to populate the location to appropriate country-specific entities.  Re-registration <bcp14>SHOULD</bcp14> be used to update the location, so long as the rate of re-registration is limited if the device is moving.
          </t>
          <t indent="0" pn="section-5.2.5-3">Implementations <bcp14>MUST</bcp14> implement additional data <xref target="RFC7852" format="default" sectionFormat="of" derivedContent="RFC7852"/>.  RUE devices <bcp14>MUST</bcp14> implement data provider information, device information, and owner/subscriber information blocks.  </t>
        </section>
      </section>
      <section anchor="midcall" numbered="true" toc="include" removeInRFC="false" pn="section-5.3">
        <name slugifiedName="name-mid-call-signaling">Mid-Call Signaling</name>
        <t indent="0" pn="section-5.3-1">
          Implementations <bcp14>MUST</bcp14> support re-INVITE to renegotiate media session parameters (among other uses).
	  Per <xref target="mediafeat" format="default" sectionFormat="of" derivedContent="Section 6.8"/>, implementations <bcp14>MUST</bcp14> be able to support an INFO message for full frame refresh for devices that do not support SRTCP (please refer to <xref target="srtp" format="default" sectionFormat="of" derivedContent="Section 6.1"/>). 
Implementations <bcp14>MUST</bcp14> support an in-dialog REFER (as described in <xref target="RFC3515" format="default" sectionFormat="of" derivedContent="RFC3515"/> and updated by <xref target="RFC7647" format="default" sectionFormat="of" derivedContent="RFC7647"/>, and including support for norefersub per <xref target="RFC4488" format="default" sectionFormat="of" derivedContent="RFC4488"/>) with the Replaces header field <xref target="RFC3891" format="default" sectionFormat="of" derivedContent="RFC3891"/> to enable call transfer.
        </t>
      </section>
      <section anchor="uriphone" numbered="true" toc="include" removeInRFC="false" pn="section-5.4">
        <name slugifiedName="name-uri-representation-of-phone">URI Representation of Phone Numbers</name>
        <t indent="0" pn="section-5.4-1">
                    SIP URIs constructed from non-URI sources (dial strings) and sent to SIP proxies by the RUE <bcp14>MUST</bcp14> be represented as follows, depending on whether they can be represented as an E.164 number.  In this section, "expressed as an E.164 number" includes numbers, such as toll-free numbers that are not actually E.164 numbers but have the same format.
        </t>
        <t indent="0" pn="section-5.4-2">
                A dial string that can be expressed as an E.164 phone number <bcp14>MUST</bcp14> be represented as a SIP URI with a URI ";user=phone" tag. The user part of the URI <bcp14>MUST</bcp14> be in conformance with "global-number", as defined in <xref target="RFC3966" format="default" sectionFormat="of" derivedContent="RFC3966"/>. The user part <bcp14>MUST NOT</bcp14> contain any "visual-separator" characters, as defined in <xref target="RFC3966" format="default" sectionFormat="of" derivedContent="RFC3966"/>.
        </t>
        <t indent="0" pn="section-5.4-3">
                    Dial strings that cannot be expressed as E.164 numbers <bcp14>MUST</bcp14> be represented as dialstring URIs, as specified by <xref target="RFC4967" format="default" sectionFormat="of" derivedContent="RFC4967"/>, e.g., sip:411@red.example.net;user=dialstring.
        </t>
        <t indent="0" pn="section-5.4-4">
                    The domain part of relay service URIs and User Address of Records (AoR) <bcp14>MUST</bcp14> resolve (per <xref target="RFC3263" format="default" sectionFormat="of" derivedContent="RFC3263"/>) to globally routable IPv4 and/or IPv6 addresses.
        </t>
      </section>
      <section anchor="nat" numbered="true" toc="include" removeInRFC="false" pn="section-5.5">
        <name slugifiedName="name-transport">Transport</name>
        <t indent="0" pn="section-5.5-1">
                    Implementations <bcp14>MUST</bcp14> conform to <xref target="RFC8835" format="default" sectionFormat="of" derivedContent="RFC8835"/>, except for its guidance on the WebRTC data channel, which this specification does not use. See <xref target="text" format="default" sectionFormat="of" derivedContent="Section 6.2"/> for how RUE supports real-time text without the data channel.
        </t>
        <t indent="0" pn="section-5.5-2">
                    Implementations <bcp14>MUST</bcp14> support SIP outbound <xref target="RFC5626" format="default" sectionFormat="of" derivedContent="RFC5626"/> (please also refer to <xref target="register" format="default" sectionFormat="of" derivedContent="Section 5.1"/>).
        </t>
      </section>
    </section>
    <section anchor="media" numbered="true" toc="include" removeInRFC="false" pn="section-6">
      <name slugifiedName="name-media">Media</name>
      <t indent="0" pn="section-6-1">This specification adopts the media specifications for WebRTC <xref target="RFC8825" format="default" sectionFormat="of" derivedContent="RFC8825"/>.
                Where WebRTC defines how interactive media communications may be established using a browser as a client, this specification assumes a normal SIP call.
                Various RTPs, RTCPs, SDPs, and specific media requirements specified for WebRTC are adopted for this document. Explicit requirements from the WebRTC suite of documents are described below .  </t>
      <t indent="0" pn="section-6-2">To use WebRTC with this document, a gateway that presents a WebRTC server interface towards a browser and a RUE client interface towards a provider is assumed.  The gateway would interwork signaling and, as noted below, interwork at least any real-time text media in order to allow a standard browser-based WebRTC client to be a VRS client.  The combination of the browser client and the gateway would be a RUE user.  This document does not specify the gateway.</t>
      <t indent="0" pn="section-6-3"> The following sections specify the WebRTC documents to which conformance is required.  "Mandatory to Implement" means a conforming implementation <bcp14>MUST</bcp14> implement the
                specified capability.  It does not mean that the capability must be used in every session.  For example, Opus is a Mandatory-to-Implement audio codec, and all conforming
                implementations must support Opus.
		However, an implementation presenting a call across the RUE interface (where the call originates in the PSTN or an older, non-RUE-compatible device, which only offers G.711 audio) does not need to
                include the Opus codec in the offer, since it cannot be used with that call. Conformance to this document allows end-to-end RTCP and media congestion control for audio and video.</t>
      <section anchor="srtp" numbered="true" toc="include" removeInRFC="false" pn="section-6.1">
        <name slugifiedName="name-srtp-and-srtcp">SRTP and SRTCP</name>
        <t indent="0" pn="section-6.1-1">
                    Implementations <bcp14>MUST</bcp14> support <xref target="RFC8834" format="default" sectionFormat="of" derivedContent="RFC8834"/>, except that MediaStreamTracks are not used.  Implementations <bcp14>MUST</bcp14> conform to <xref target="RFC8827" sectionFormat="of" section="6.4" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8827#section-6.4" derivedContent="RFC8827"/>.
        </t>
      </section>
      <section anchor="text" numbered="true" toc="include" removeInRFC="false" pn="section-6.2">
        <name slugifiedName="name-text-based-communication">Text-Based Communication</name>
        <t indent="0" pn="section-6.2-1">
                 Implementations <bcp14>MUST</bcp14> support real-time text <xref target="RFC4102" format="default" sectionFormat="of" derivedContent="RFC4102"/> <xref target="RFC4103" format="default" sectionFormat="of" derivedContent="RFC4103"/> via T.140 media.
                 One original and two redundant generations <bcp14>MUST</bcp14> be transmitted and supported with a 300 ms transmission interval.  Implementations <bcp14>MUST</bcp14> support <xref target="RFC9071" format="default" sectionFormat="of" derivedContent="RFC9071"/>, especially for emergency calls.  Note that <xref target="RFC4103" format="default" sectionFormat="of" derivedContent="RFC4103"/> is
                 not how real-time text is transmitted in WebRTC, and some form of transcoder would be required to interwork real-time text in the data channel
                 of WebRTC to <xref target="RFC4103" format="default" sectionFormat="of" derivedContent="RFC4103"/> real-time text.
        </t>
        <t indent="0" pn="section-6.2-2">
            Transport of T.140 real-time text in WebRTC is specified in <xref target="RFC8865" format="default" sectionFormat="of" derivedContent="RFC8865"/>, using
              the WebRTC data channel. <xref target="RFC8865" format="default" sectionFormat="of" derivedContent="RFC8865"/> also has some advice on how gateways
              between <xref target="RFC4103" format="default" sectionFormat="of" derivedContent="RFC4103"/> and <xref target="RFC8865" format="default" sectionFormat="of" derivedContent="RFC8865"/> should operate. It is <bcp14>RECOMMENDED</bcp14> that
              <xref target="RFC8865" format="default" sectionFormat="of" derivedContent="RFC8865"/>, including multiparty support, be used for communication with browser-based WebRTC implementations.  Implementations <bcp14>MUST</bcp14> support <xref target="RFC9071" format="default" sectionFormat="of" derivedContent="RFC9071"/>.
        </t>
      </section>
      <section anchor="video" numbered="true" toc="include" removeInRFC="false" pn="section-6.3">
        <name slugifiedName="name-video">Video</name>
        <t indent="0" pn="section-6.3-1">Implementations <bcp14>MUST</bcp14> conform to <xref target="RFC7742" format="default" sectionFormat="of" derivedContent="RFC7742"/> with the following exceptions:
        only H.264, as specified in <xref target="RFC7742" format="default" sectionFormat="of" derivedContent="RFC7742"/>, is Mandatory to
	Implement, and VP8 support is <bcp14>OPTIONAL</bcp14> at both the
	device and providers. This is because backwards compatibility is
	desirable, and older devices do not support VP8.
        </t>
      </section>
      <section anchor="audio" numbered="true" toc="include" removeInRFC="false" pn="section-6.4">
        <name slugifiedName="name-audio">Audio</name>
        <t indent="0" pn="section-6.4-1">Implementations <bcp14>MUST</bcp14> conform to <xref target="RFC7874" format="default" sectionFormat="of" derivedContent="RFC7874"/>.
        </t>
      </section>
      <section anchor="dtmf" numbered="true" toc="include" removeInRFC="false" pn="section-6.5">
        <name slugifiedName="name-dtmf-digits">DTMF Digits</name>
        <t indent="0" pn="section-6.5-1">
                        Implementations <bcp14>MUST</bcp14> support the "audio/telephone-event" <xref target="RFC4733" format="default" sectionFormat="of" derivedContent="RFC4733"/> media type. They <bcp14>MUST</bcp14> support
                        conveying event codes 0 through 11 (DTMF digits "0"-"9", "*","#") defined in Table 7 of <xref target="RFC4733" format="default" sectionFormat="of" derivedContent="RFC4733"/>. Handling of other tones is <bcp14>OPTIONAL</bcp14>.
        </t>
      </section>
      <section anchor="SDP" numbered="true" toc="include" removeInRFC="false" pn="section-6.6">
        <name slugifiedName="name-session-description-protoco">Session Description Protocol</name>
        <t indent="0" pn="section-6.6-1">
            The SDP offers and answers <bcp14>MUST</bcp14> conform to the SDP rules in <xref target="RFC8829" format="default" sectionFormat="of" derivedContent="RFC8829"/>
              except that the RUE interface uses SIP transport for SDP. The SDP
              for real-time text <bcp14>MUST</bcp14> specify the T.140 payload type <xref target="RFC4103" format="default" sectionFormat="of" derivedContent="RFC4103"/>.
        </t>
      </section>
      <section anchor="privacy" numbered="true" toc="include" removeInRFC="false" pn="section-6.7">
        <name slugifiedName="name-privacy">Privacy</name>
        <t indent="0" pn="section-6.7-1">
            The RUE <bcp14>MUST</bcp14> provide for user privacy by implementing a local
            one-way mute, without signaling, for both audio and video. 
	    However, RUE
              <bcp14>MUST</bcp14> maintain any states in the network (e.g., NAT bindings) by periodically sending media packets
              on all active media sessions containing silence, comfort noise, blank
              screen, etc., per <xref target="RFC6263" format="default" sectionFormat="of" derivedContent="RFC6263"/>.
        </t>
      </section>
      <section anchor="mediafeat" numbered="true" toc="include" removeInRFC="false" pn="section-6.8">
        <name slugifiedName="name-negative-acknowledgement-pi">Negative Acknowledgement, Picture Loss Indicator, and Full Intraframe Request Features</name>
        <t indent="0" pn="section-6.8-1">The NACK, FIR, and Picture Loss Indicator (PLI) features, as described in <xref target="RFC4585" format="default" sectionFormat="of" derivedContent="RFC4585"/> and <xref target="RFC5104" format="default" sectionFormat="of" derivedContent="RFC5104"/>, <bcp14>MUST</bcp14> be implemented.  Availability of these features <bcp14>MUST</bcp14> be announced with the "ccm" feedback value.  NACK should be used when negotiated and conditions warrant its use and the other end supports it.  Signaling picture losses as a PLI should be preferred.  FIR should be used only in situations where not sending a decoder refresh point would render the video unusable for the users, as per <xref target="RFC5104" sectionFormat="of" section="4.3.1.2" format="default" derivedLink="https://rfc-editor.org/rfc/rfc5104#section-4.3.1.2" derivedContent="RFC5104"/>.</t>
        <t indent="0" pn="section-6.8-2">For backwards compatibility with calling devices that do not support the foregoing methods, implementations <bcp14>MUST</bcp14> implement SIP INFO messages to send and receive XML-encoded Picture Fast Update messages according to <xref target="RFC5168" format="default" sectionFormat="of" derivedContent="RFC5168"/>.
        </t>
      </section>
    </section>
    <section anchor="contacts" numbered="true" toc="include" removeInRFC="false" pn="section-7">
      <name slugifiedName="name-contacts">Contacts</name>
      <section anchor="carddav" numbered="true" toc="include" removeInRFC="false" pn="section-7.1">
        <name slugifiedName="name-carddav-login-and-synchroni">CardDAV Login and Synchronization</name>
        <t indent="0" pn="section-7.1-1">Support of vCard Extensions to WebDAV (CardDAV) by providers is <bcp14>OPTIONAL</bcp14>.</t>
        <t indent="0" pn="section-7.1-2">The RUE <bcp14>MUST</bcp14> and providers <bcp14>MAY</bcp14> be able to synchronize the user's contact directory between the RUE endpoint and one maintained by the user's VRS provider using CardDAV <xref target="RFC6352" format="default" sectionFormat="of" derivedContent="RFC6352"/> <xref target="RFC6764" format="default" sectionFormat="of" derivedContent="RFC6764"/>.</t>
        <t indent="0" pn="section-7.1-3">The configuration (see <xref target="config" format="default" sectionFormat="of" derivedContent="Section 9.2"/>) RueConfigurationData <bcp14>MAY</bcp14> supply a "carddav-username" and "carddav-domain" identifying a CardDAV server and address book for this account, plus an optional "carddav-password".</t>
        <t indent="0" pn="section-7.1-4">To access the CardDAV server and address book, the RUE <bcp14>MUST</bcp14> follow <xref target="RFC6764" sectionFormat="of" section="6" format="default" derivedLink="https://rfc-editor.org/rfc/rfc6764#section-6" derivedContent="RFC6764"/>, using the configured carddav-username and carddav-domain in place of an email address. If the request triggers a challenge for digest authentication credentials, the RUE <bcp14>MUST</bcp14> continue using matching carddav-username and carddav-password from the configuration. If no carddav-username and carddav-password are configured, the RUE <bcp14>MUST</bcp14> use the SIP user-name and sip-password from the configuration. If the SIP credentials fail, the RUE <bcp14>MUST</bcp14> query the user.</t>
        <t indent="0" pn="section-7.1-5">Synchronization using CardDAV <bcp14>MUST</bcp14> be a two-way synchronization service, with proper handling of asynchronous adds, changes, and deletes at either end of the transport channel.</t>
        <t indent="0" pn="section-7.1-6">The RUE <bcp14>MAY</bcp14> support other CardDAV services.</t>
      </section>
      <section anchor="import" numbered="true" toc="include" removeInRFC="false" pn="section-7.2">
        <name slugifiedName="name-contacts-import-export-serv">Contacts Import/Export Service</name>
        <t indent="0" pn="section-7.2-1">Implementations <bcp14>MUST</bcp14> be able to export/import the list of contacts in xCard <xref target="RFC6351" format="default" sectionFormat="of" derivedContent="RFC6351"/> XML format.</t>
        <t indent="0" pn="section-7.2-2">The RUE accesses this service via the "contacts-uri" in the configuration. The URL <bcp14>MUST</bcp14> resolve to identify a web server resource that imports/exports contact lists for authorized users.</t>
        <t indent="0" pn="section-7.2-3">The RUE stores/retrieves the contact list (address book) by issuing an HTTPS POST or GET request. If the request triggers a challenge for digest authentication credentials, the RUE <bcp14>MUST</bcp14> attempt to continue using the "contacts-username" and "contacts-password" from the configuration. If no contacts-username is configured, the SIP user-name from the configuration is used; if the SIP user-name is not configured, the phone-number is used.  If user-name or phone-number is used, the sip-password is used to authenticate to the contact list server.</t>
      </section>
    </section>
    <section anchor="mwi" numbered="true" toc="include" removeInRFC="false" pn="section-8">
      <name slugifiedName="name-video-mail">Video Mail</name>
      <t indent="0" pn="section-8-1">Support for video mail includes a retrieval mechanism and a Message-Waiting Indicator (MWI).  Message storage is not specified by this document.  RUE devices <bcp14>MUST</bcp14> support message retrieval using a SIP call to a specified SIP URI using DTMF to manage the mailbox, as well as a browser-based interface reached at a specified HTTPS URI.  If a provider supports video mail, at least one of these mechanisms <bcp14>MUST</bcp14> be supported.  RUE devices <bcp14>MUST</bcp14> support both.  See <xref target="config" format="default" sectionFormat="of" derivedContent="Section 9.2"/> for how the URI to reach the retrieval interface is obtained.</t>
      <t indent="0" pn="section-8-2">Implementations <bcp14>MUST</bcp14> support subscriptions to "message-summary" events <xref target="RFC3842" format="default" sectionFormat="of" derivedContent="RFC3842"/> to the URI specified in the configuration. Providers <bcp14>MUST</bcp14> support MWI if they support video mail.  RUE devices <bcp14>MUST</bcp14> support MWI.</t>
      <t indent="0" pn="section-8-3">The "videomail" and "mwi" properties in the configuration (see RueConfigurationData in <xref target="rueConfig" format="default" sectionFormat="of" derivedContent="Section 9.2.2"/>) give the URIs for message retrieval and "message-summary" subscription.</t>
      <t indent="0" pn="section-8-4">In notification bodies, if detailed message summaries are available, messages with video <bcp14>MUST</bcp14> be reported using "message-context-class multimedia-message", as defined in <xref target="RFC3458" format="default" sectionFormat="of" derivedContent="RFC3458"/> .</t>
    </section>
    <section numbered="true" toc="include" removeInRFC="false" pn="section-9">
      <name slugifiedName="name-provisioning-and-provider-s">Provisioning and Provider Selection</name>
      <t indent="0" pn="section-9-1">To simplify how users interact with RUE devices, the RUE interface separates provisioning into two parts.  One provides a directory of providers so that a user interface can allow easy provider selection either for registering or for dial-around.  The other provides configuration data for the device for each provider.</t>
      <section anchor="providerselect" numbered="true" toc="include" removeInRFC="false" pn="section-9.1">
        <name slugifiedName="name-rue-provider-selection">RUE Provider Selection</name>
        <t indent="0" pn="section-9.1-1">To allow the user to select a relay service, the RUE <bcp14>MAY</bcp14> at any time obtain (typically on startup) a list of providers that provide service in a country.  
IANA has established a registry that contains a two-letter country code and a list entry point string (see <xref target="plist" format="default" sectionFormat="of" derivedContent="Section 10.1"/>).  The entry point, when used with the following OpenAPI interface, returns a list of provider names for a country code suitable for display, with a corresponding entry point to obtain information about that provider.  No mechanism to determine the country where the RUE is located is specified in this document.  Typically, the country is the home country of the user but may be a local country while traveling.  Some countries allow support from their home country when traveling abroad.  Regardless, the RUE device will need to allow the user to choose the country.
        </t>
        <t indent="0" pn="section-9.1-2">
Each country that supports VRS using this specification <bcp14>MAY</bcp14> support the provider list.  This document does not specify who maintains the list.  Some possibilities are a regulator or an entity designated by a regulator, an agreement among providers to provide the list, or a user group.   
        </t>
        <t indent="0" pn="section-9.1-3">
            The interface to obtain the list of providers is described by an OpenAPI <xref target="OpenAPI" format="default" sectionFormat="of" derivedContent="OpenAPI"/> interface description.  In that interface description, the "servers" component includes an occurrence of "localhost".   The value from the registry of the "list entry point" string for the
                desired country is substituted for "localhost" in the "servers"
                component to obtain the server URI prefix of the interface to be
                used to obtain the list of providers for that country.  The "Providers" path then specifies the rest of the URI used to obtain the list.  For example, if the list entryPoint is "example.com/api", the provider list would be obtained from https://example.com/api/rum/v1/Providers.
        </t>
        <t indent="0" pn="section-9.1-4">
        The V1.0 "ProviderList" is a JSON object consisting of an array where each entry describes one provider. Each entry consists of the following items:</t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-9.1-5">
          <li pn="section-9.1-5.1">name: This parameter contains the text label identifying the provider and is meant to be displayed to the human VRS user.</li>
          <li pn="section-9.1-5.2">providerEntryPoint: A string used for configuration purposes by the RUE (as discussed in <xref target="config" format="default" sectionFormat="of" derivedContent="Section 9.2"/>).  The string <bcp14>MUST</bcp14> start with a domain but <bcp14>MAY</bcp14> include other URI path elements after the domain. </li>
        </ul>
        <t indent="0" pn="section-9.1-6">The VRS user interacts with the RUE to select from the provider list one or more providers with whom the user has already established an account, wishes to establish an account, or wishes to use the provider for a one-stage dial-around.</t>
        <figure align="left" suppress-title="false" pn="figure-2">
          <name slugifiedName="name-example-of-a-providerlist-j">Example of a ProviderList JSON Object</name>
          <sourcecode name="" type="json" markers="false" pn="section-9.1-7.1">
{
  "providers": [
    {
      "name": "Red",
      "entryPoint": "red.example.net"
    },
    {
      "name": "Green",
      "entryPoint": "green.example.net"
    },
    {
      "name": "Blue",
      "entryPoint": "blue.example.net"
    }
  ]
}
</sourcecode>
        </figure>
      </section>
      <section anchor="config" numbered="true" toc="include" removeInRFC="false" pn="section-9.2">
        <name slugifiedName="name-rue-configuration-service">RUE Configuration Service</name>
        <t indent="0" pn="section-9.2-1">
                A RUE device may retrieve a provider configuration using a simple HTTPs web service. There are two entry points.  One is used without user credentials, and the response includes configuration data for new user signup and dial-around.  The other uses a locally stored username and password that results from a new user signup to authenticate to the interface and returns configuration data for the RUE.
        </t>
        <t indent="0" pn="section-9.2-2">The interface to obtain configuration data is described by an OpenAPI <xref target="OpenAPI" format="default" sectionFormat="of" derivedContent="OpenAPI"/> interface description.  In that interface description, the "servers" component string includes an occurrence of "localhost".  The entry point string obtained from the provider list (<xref target="providerselect" format="default" sectionFormat="of" derivedContent="Section 9.1"/>) is substituted for "localhost" to obtain the server prefix of the interface.  The path then specifies the rest of the URI used to obtain the list.  For example, if the entryPoint from the provider list is "red.example.net", the provider configuration would be obtained from https://red.example.net/rum/V1/ProviderConfig and the RUE configuration would be obtained from https://red.example.net/rum/V1/RueConfig.
        </t>
        <t indent="0" pn="section-9.2-3">
	In both the queries, an optional parameter may be provided to the interface, which is an API Key (apiKey).  The implementation <bcp14>MAY</bcp14> have an apiKey obtained from the provider and specific to the implementation.  The method used to obtain the apiKey is not specified in this document.  The provider <bcp14>MAY</bcp14> refuse to provide service to an implementation presenting an apiKey it does not recognize.
        </t>
        <t indent="0" pn="section-9.2-4">
Also in both queries, the RUE device provides a client-provided, required parameter, which contains an instance identifier (instanceId).  This parameter <bcp14>MUST</bcp14> be the same value each time this instance (same implementation on same device) queries the interface.  This <bcp14>MAY</bcp14> be used by the provider, for example, to associate a location with the instance for emergency calls.  This should be globally unique.  A Universally Unique Identifier (UUID) is suggested.
        </t>
        <t indent="0" pn="section-9.2-5">
        For example, a query for the RUE configuration could be
https://red.example.net/rum/V1/RueConfig?apiKey="t65667Ajjss90uuuDisKt8999"&amp;instanceId="5595b5a3-0687-4b8e-9913-a7f2a04fb7bd"
        </t>
        <t indent="0" pn="section-9.2-6">
                The data returned is a JSON object consisting of key/value configuration parameters to be used by the RUE.
        </t>
        <t indent="0" pn="section-9.2-7">
                The configuration data payload includes the following data items. Items not noted as (<bcp14>OPTIONAL</bcp14>) are <bcp14>REQUIRED</bcp14>. If other unexpected items are found, they <bcp14>MUST</bcp14> be ignored.
        </t>
        <section anchor="providerConfig" numbered="true" toc="include" removeInRFC="false" pn="section-9.2.1">
          <name slugifiedName="name-provider-configuration">Provider Configuration</name>
          <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-9.2.1-1">
            <li pn="section-9.2.1-1.1">
              <t indent="0" pn="section-9.2.1-1.1.1">signup: (<bcp14>OPTIONAL</bcp14>) an array of JSON objects consisting of:</t>
              <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-9.2.1-1.1.2">
                <li pn="section-9.2.1-1.1.2.1">language: entry from the IANA "Language Subtag Registry" (<eref target="https://www.iana.org/assignments/language-subtag-registry" brackets="none"/>). Normally, this would be a written language tag.</li>
                <li pn="section-9.2.1-1.1.2.2">uri: a URI to the website for creating a new account in the supported language. The new user signup URI may only initiate creation of a new account.  Various vetting, approval, and other processes may be needed, which could take time, before the account is established.  The result of creating a new account would be account credentials (e.g., username and password), which would be manually entered into the RUE device that forms the authentication parameters for the RUE configuration service described below in <xref target="rueConfig" format="default" sectionFormat="of" derivedContent="Section 9.2.2"/>.</li>
              </ul>
            </li>
            <li pn="section-9.2.1-1.2">
              <t indent="0" pn="section-9.2.1-1.2.1">dial-around: an array of JSON objects consisting of:</t>
              <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-9.2.1-1.2.2">
                <li pn="section-9.2.1-1.2.2.1">language: entry from the IANA "Language Subtag Registry".  Normally, this would be a sign language tag.</li>
                <li pn="section-9.2.1-1.2.2.2">front-door: a URI to a queue of interpreters supporting the specified language for a two-stage dial-around.</li>
                <li pn="section-9.2.1-1.2.2.3">oneStage: a URI that can be used with a one-stage dial-around (<xref target="onestage" format="default" sectionFormat="of" derivedContent="Section 5.2.2"/>) using an interpreter supporting the specified language.</li>
              </ul>
            </li>
            <li pn="section-9.2.1-1.3">
              <t indent="0" pn="section-9.2.1-1.3.1">helpDesk: (<bcp14>OPTIONAL</bcp14>) an array of JSON objects consisting of:</t>
              <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-9.2.1-1.3.2">
                <li pn="section-9.2.1-1.3.2.1">language: entry from the IANA "Language Subtag Registry". Normally, this would be a sign language tag; although, it could be a written language tag if the help desk only supports a chat interface.</li>
                <li pn="section-9.2.1-1.3.2.2">uri: a URI that reaches a help desk for callers supporting the specified language.  The URI <bcp14>MAY</bcp14> be a SIP URI for help provided with a SIP call or <bcp14>MAY</bcp14> be an HTTPS URI for help provided with a browser interface.</li>
              </ul>
              <t indent="0" pn="section-9.2.1-1.3.3">A list is specified so that the provider can offer multiple choices to users for language and interface styles.</t>
            </li>
          </ul>
        </section>
        <section anchor="rueConfig" numbered="true" toc="include" removeInRFC="false" pn="section-9.2.2">
          <name slugifiedName="name-rue-configuration">RUE Configuration</name>
          <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-9.2.2-1">
            <li pn="section-9.2.2-1.1">lifetime: (<bcp14>OPTIONAL</bcp14>) specifies how long (in seconds) the RUE <bcp14>MAY</bcp14> cache the configuration values.  Values may not be valid when lifetime expires.  If the RUE caches configuration values, it <bcp14>MUST</bcp14> cryptographically protect them against unauthorized disclosure (e.g., by other applications on the platform the RUE is built on). The RUE <bcp14>SHOULD</bcp14> retrieve a fresh copy of the configuration before the lifetime expires or as soon as possible after it expires. The lifetime is not guaranteed, i.e., the configuration may change before the lifetime value expires. In that case, the provider <bcp14>MAY</bcp14> indicate this by generating authorization challenges to requests and/or prematurely terminating a registration. Emergency calls <bcp14>MUST</bcp14> continue to work.  If not specified, the RUE <bcp14>MUST</bcp14> fetch new configuration data every time it starts.</li>
            <li pn="section-9.2.2-1.2">sip-password: (<bcp14>OPTIONAL</bcp14>) a password used for SIP, STUN, and TURN authentication.  The RUE device retains this data, which it <bcp14>MUST</bcp14> cryptographically protect against unauthorized disclosure (e.g., by other applications on the platform the RUE is built on).  If it is not supplied but was supplied on a prior invocation of this interface, the most recently supplied password <bcp14>MUST</bcp14> be used.  If it was never supplied, the password used to authenticate to the configuration service is used for SIP, as well as STUN and TURN servers mentioned in this configuration.</li>
            <li pn="section-9.2.2-1.3">phone-number: (<bcp14>REQUIRED</bcp14>) the telephone number (in E.164 format) assigned to this subscriber. This becomes the user portion of the SIP URI identifying the subscriber.</li>
            <li pn="section-9.2.2-1.4">user-name: (<bcp14>OPTIONAL</bcp14>) a username used for authenticating to the provider.  If not provided, phone-number is used.</li>
            <li pn="section-9.2.2-1.5">display-name: (<bcp14>OPTIONAL</bcp14>) a human-readable display name for the subscriber.</li>
            <li pn="section-9.2.2-1.6">provider-domain: (<bcp14>REQUIRED</bcp14>) the domain for the provider.  This becomes the server portion of the SIP URI identifying the subscriber.</li>
            <li pn="section-9.2.2-1.7">outbound-proxies: (<bcp14>OPTIONAL</bcp14>) an array of URIs of SIP proxies to be used when sending requests to the provider.</li>
            <li pn="section-9.2.2-1.8">mwi: (<bcp14>OPTIONAL</bcp14>) a URI identifying a SIP event server that generates "message-summary" events for this subscriber.</li>
            <li pn="section-9.2.2-1.9">videomail: (<bcp14>OPTIONAL</bcp14>) a SIP or HTTPS URI that can be used to retrieve video mail messages.</li>
            <li pn="section-9.2.2-1.10">contacts: (<bcp14>OPTIONAL</bcp14>) an HTTPS URI ("contacts-uri"), (<bcp14>OPTIONAL</bcp14>) "contacts-username", and "contacts-password" that may be used to export (retrieve) the subscriber's complete contact list managed by the provider. At least the URI <bcp14>MUST</bcp14> be provided if the subscriber has contacts. If contact-username and contacts-password are not supplied, the sip credentials are used. If the contacts-username is provided, contacts-password <bcp14>MUST</bcp14> be provided.  If contacts-password is provided, contacts-username <bcp14>MUST</bcp14> be provided.</li>
            <li pn="section-9.2.2-1.11">carddav: (<bcp14>OPTIONAL</bcp14>) an address ("carddav-domain"), (<bcp14>OPTIONAL</bcp14>) "carddav-username", and "carddav-password" identifying a "CardDAV" server and account that can be used to synchronize the RUE's contact list with the contact list managed by the provider.  If carddav-username and carddav-password are not supplied, the sip credentials are used. If the carddav-username is provided, carddav-password <bcp14>MUST</bcp14> be provided.  If carddav-password is provided, carddav-username <bcp14>MUST</bcp14> be provided.</li>
            <li pn="section-9.2.2-1.12">sendLocationWithRegistration: (<bcp14>OPTIONAL</bcp14>) true if the RUE should send a Geolocation header field with REGISTER; false if it should not. Defaults to false if not present.</li>
            <li pn="section-9.2.2-1.13">ice-servers: (<bcp14>OPTIONAL</bcp14>) an array of server types and URLs identifying STUN and TURN servers available for use by the RUE for establishing media streams in calls via the provider. If the same URL provides both STUN and TURN services, it <bcp14>MUST</bcp14> be listed twice, each with different server types.</li>
          </ul>
        </section>
        <section anchor="versions" numbered="true" removeInRFC="false" toc="include" pn="section-9.2.3">
          <name slugifiedName="name-versions">Versions</name>
          <t indent="0" pn="section-9.2.3-1">
	      Both web services also have a simple version mechanism that returns a list of versions of the web service it supports.	      
This document describes version 1.0.
Versions are displayed as a major version, followed by
a period ".", followed by a minor version, where the major and minor
versions are integers. A backwards compatible change within a major version <bcp14>MAY</bcp14> increment only the minor version number.  A non-backwards, compatible change <bcp14>MUST</bcp14> increment the major version number.  Backwards compatibility applies to both the server and the client.  Either may have any higher or lower minor revision and interoperate with its counterpart with the same major version.  To achieve backwards compatibility, implementations <bcp14>MUST</bcp14> ignore any object members they do not implement. Minor version definitions <bcp14>SHALL</bcp14> only add objects, optional members of existing objects, and non-mandatory-to-use functions and <bcp14>SHALL NOT</bcp14> delete or change any objects, members of objects, or functions.  This means an implementation of a specific major version and minor version is backwards compatible with all minor versions of the major version.  The version mechanism returns an array of supported versions, one for each major version supported, with the minor version listed being the highest-supported minor version.</t>
          <t indent="0" pn="section-9.2.3-2">Unless the per-country provider list service is operated by a provider at the same base URI as that provider's configuration service, the version of the configuration service <bcp14>MAY</bcp14> be different from the version of the provider list service.</t>
          <figure align="left" suppress-title="false" pn="figure-3">
            <name slugifiedName="name-example-of-a-version-json-o">Example of a Version JSON Object</name>
            <sourcecode name="" type="json" markers="false" pn="section-9.2.3-3.1">
{
  "versions": [
    {
     "major": 1,
     "minor": 6
    },
    {
     "major": 2,
     "minor": 13
    },
    {
     "major": 3,
     "minor": 2
    }
  ]
}
</sourcecode>
          </figure>
        </section>
        <section anchor="configExamples" numbered="true" removeInRFC="false" toc="include" pn="section-9.2.4">
          <name slugifiedName="name-examples">Examples</name>
          <figure align="left" suppress-title="false" pn="figure-4">
            <name slugifiedName="name-example-json-provider-confi">Example JSON Provider Configuration Payload</name>
            <sourcecode name="" type="json" markers="false" pn="section-9.2.4-1.1">
{
  "signUp": [
     { "language" : "en", "uri" : "https:hello-en.example.net"},
     { "language" : "es", "uri" : "https:hello-es.example.net"} ] ,
  "dial-around": [
     { "language" : "en", "front-door" : "sip:fd-en.example.net",
          "oneStage" : "sip:1stg-eng.example.com" } ,
     { "language" : "es", "front-door" : "sip:fd-es.example.net",
          "oneStage" : "sip:1stg-spn.example.com" } ] ,
  "helpDesk": [
     { "language" : "en", "uri" : "sip:help-en.example.net"} ,
     { "language" : "es", "uri" : "sip:help-es.example.net"} ]
}
</sourcecode>
          </figure>
          <figure align="left" suppress-title="false" pn="figure-5">
            <name slugifiedName="name-example-json-rue-configurat">Example JSON RUE Configuration Payload</name>
            <sourcecode name="" type="json" markers="false" pn="section-9.2.4-2.1">
{
  "lifetime": 86400,
  "display-name" : "Bob Smith",
  "phone-number": "+15551234567",
  "provider-domain": "red.example.net",
  "outbound-proxies": [
    "sip:p1.red.example.net",
    "sip:p2.red.example.net" ],
  "mwi": "sip:+15551234567@red.example.net;user=phone",
  "videomail": "sip:+15551234567@vm.red.example.net;user=phone",
  "contacts": {
    "contacts-uri":
       "https://red.example.net:443/c/3617b719-2c3a-46f4-9c13",
    "contacts-username": "bob",
    "contacts-password": "XhOT4ch@ZEi&amp;3u2xEYQNMO^5UGb"
  },
  "carddav": {
     "carddav-domain": "carddav.example.com",
     "carddav-username": "bob",
     "carddav-password": "sj887%dd*jJty%87hyys5hHT"
  },
  "sendLocationWithRegistration": false,
  "ice-servers": [
     {"stun":"stun.red.example.com:19302" },
     {"turn":"turn.red.example.com:3478"}
  ]
}
</sourcecode>
          </figure>
        </section>
        <section anchor="configExplain" numbered="true" removeInRFC="false" toc="include" pn="section-9.2.5">
          <name slugifiedName="name-using-the-provider-selectio">Using the Provider Selection and RUE Configuration Services Together</name>
          <t indent="0" pn="section-9.2.5-1">One way to use these two services is:</t>
          <ol type="1" spacing="normal" indent="adaptive" start="1" pn="section-9.2.5-2">
	  <li pn="section-9.2.5-2.1" derivedCounter="1.">At startup, the RUE retrieves the provider list for the country it is located in.</li>
            <li pn="section-9.2.5-2.2" derivedCounter="2.">
              <t indent="0" pn="section-9.2.5-2.2.1">For each provider in the list:</t>
              <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-9.2.5-2.2.2">
                <li pn="section-9.2.5-2.2.2.1">If the RUE does not have credentials for that provider, if requested by the user, use the ProviderConfig path without credentials to obtain signup, dial-around, and help desk information. </li>
                <li pn="section-9.2.5-2.2.2.2">If the RUE has credentials for that provider, use the RueConfig path with the locally stored credentials to configure the RUE for that provider.</li>
              </ul>
            </li>
          </ol>
        </section>
      </section>
      <section anchor="schema" numbered="true" toc="include" removeInRFC="false" pn="section-9.3">
        <name slugifiedName="name-openapi-interface-descripti">OpenAPI Interface Descriptions</name>
        <t indent="0" pn="section-9.3-1">The interfaces in Sections <xref target="providerselect" format="counter" sectionFormat="of" derivedContent="9.1"/> and <xref target="config" format="counter" sectionFormat="of" derivedContent="9.2"/> are formally specified with OpenAPI 3.0 <xref target="OpenAPI" format="default" sectionFormat="of" derivedContent="OpenAPI"/> descriptions in YAML form.</t>
        <t indent="0" pn="section-9.3-2">The OpenAPI description below is normative.  If there is any conflict between the text or examples and this section, the OpenAPI description takes precedence.</t>
        <section anchor="listSchema" numbered="true" removeInRFC="false" toc="include" pn="section-9.3.1">
          <name slugifiedName="name-provider-list">Provider List</name>
          <figure align="left" suppress-title="false" pn="figure-6">
            <name slugifiedName="name-provider-list-openapi-descr">Provider List OpenAPI Description (RueProviderList.yaml)</name>
            <sourcecode name="" type="yaml" markers="false" pn="section-9.3.1-1.1">
openapi: 3.0.1
info:
  title: RUM Provider List API
  version: "1.0"
servers:
  - url: https://localhost/rum/v1
paths:
  /Providers:
    get:
      summary: Get a list of providers and domains to get
               config data from
      operationId: GetProviderList
      responses:
        '200':
          description: List of providers for a country
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProviderList'
  /Versions:
    servers:
      - url: https://localhost/rum
        description: Override base path for Versions query
    get:
      summary: Retrieves all supported versions
      operationId: RetrieveVersions
      responses:
        '200':
          description: Versions supported
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VersionsArray'
components:
  schemas:
    ProviderList:
      type: object
      required:
        - providers
      properties:
        providers:
          type: array
          items:
            type: object
            required:
              - name
              - providerEntryPoint
            properties:
              name:
                type: string
                description: Human-readable provider name
              providerEntryPoint:
                type: string
                description: Provider entry point for interface
    VersionsArray:
      type: object
      required:
        - versions
      properties:
        versions:
          type: array
          items:
            type: object
            required:
              - major
              - minor
            properties:
              major:
                type: integer
                format: int32
                description: Version major number
              minor:
                type: integer
                format: int32
                description: Version minor number
</sourcecode>
          </figure>
        </section>
        <section anchor="configSchema" numbered="true" removeInRFC="false" toc="include" pn="section-9.3.2">
          <name slugifiedName="name-configuration">Configuration</name>
          <figure align="left" suppress-title="false" pn="figure-7">
            <name slugifiedName="name-configuration-openapi-descr">Configuration OpenAPI Description (RueConfiguration.yaml)</name>
            <sourcecode name="" type="yaml" markers="false" pn="section-9.3.2-1.1">
openapi: 3.0.1
info:
  title: RUM Configuration API
  version: "1.0"
servers:
  - url: https://localhost/rum/v1
paths:
  /ProviderConfig:
    get:
      summary: Configuration data for one provider
      operationId: GetProviderConfiguration
      parameters:
        - in: query
          name: apiKey
          schema:
            type: string
          description: API Key assigned to this implementation
        - in: query
          name: instanceId
          schema:
            type: string
          required: true
          description: Unique string for this implementation
                       on this device
      responses:
        '200':
          description: Configuration object
          content:
            application/json:
              schema:
                $ref:
                 '#/components/schemas/ProviderConfigurationData'
  /RueConfig:
    get:
      summary: Configuration data for one RUE
      operationId: GetRueConfiguration
      parameters:
        - in: query
          name: apiKey
          schema:
            type: string
          description: API Key assigned to this implementation
        - in: query
          name: instanceId
          schema:
            type: string
          required: true
          description: Unique string for this implementation
                       on this device
      responses:
        '200':
          description: Configuration object
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RueConfigurationData'
  /Versions:
    servers:
      - url: https://localhost/rum
        description: Override base path for Versions query
    get:
      summary: Retrieves all supported versions
      operationId: RetrieveVersions
      responses:
        '200':
          description: Versions supported
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VersionsArray'
components:
  schemas:
    ProviderConfigurationData:
      type: object
      required:
        - dial-around
      properties:
        signup:
          type: array
          items:
            type: object
            required:
              - language
              - uri
            properties:
              language:
                type: string
                description: Entry from IANA "Language Subtag
                  Registry"
              uri:
                type: string
                format: uri
                description: URI to signup website supporting
                  this language
        dial-around:
          type: array
          items:
            type: object
            required:
              - language
              - front-door
              - oneStage
            properties:
              language:
                type: string
                description: Entry from IANA "Language Subtag
                  Registry"
              front-door:
                type: string
                format: uri
                description: SIP URI for two-stage dial-around
              oneStage:
                type: string
                format: uri
                description: SIP URI for one-stage dial-around
        helpDesk:
          type: array
          items:
            type: object
            required:
              - language
              - uri
            properties:
              language:
                type: string
                description: Entry from IANA "Language Subtag
                   Registry"
              uri:
                type: string
                format: uri
                description: SIP URI of help desk supporting language
    RueConfigurationData:
      type: object
      required:
        - phone-number
        - provider-domain
      properties:
        lifetime:
          type: integer
          description: How long (in seconds) the RUE MAY cache the
                       configuration values
        sip-password:
          type: string
        phone-number:
          type: string
          description: Telephone number assigned this subscriber in
            E.164 format
        user-name:
          type: string
          description: A username assigned to this subscriber
        display-name:
          type: string
          description: Display name for the subscriber
        provider-domain:
          type: string
          description: Domain of the provider for this subscriber
        outbound-proxies:
          type: array
          items:
             type: string
             format: uri
             description: SIP URI of a proxy to be used when sending
                       requests to the provider
        mwi:
          type: string
          format: uri
          description: A URI identifying a SIP event server that
              generates "message-summary" events for this subscriber
        videomail:
          type: string
          format: uri
          description: An HTTPS or SIP URI that can be used to
                       retrieve video mail messages
        contacts:
          type: object
          description: Server and credentials for contact
             import/export
          required:
            - contacts-uri
          properties:
            contacts-uri:
              type: string
              format: uri
              description: An HTTPS URI that may be used to export
                (retrieve) the subscriber's complete contact list
                managed by the provider
            contacts-username:
              type: string
              description: Username for authentication with the
                CardDAV server.  Use SIP user-name if not provided
            contacts-password:
              type: string
              description: Password for authentication. Use provider
                sip-password if not provided
        carddav:
          type: object
          description: CardDAV server and user information that can
               be used to synchronize the RUE's contact list with
               the contact list managed by the provider
          required:
            - carddav-domain
          properties:
            carddav-domain:
              type: string
              description: CardDAV server address
            carddav-username:
              type: string
              description: Username for authentication with the
                 CardDAV server.  Use SIP user-name if not provided
            carddav-password:
              type: string
              description: Password for authentication to the CardDAV
                 server. Use provider sip-password if not provided
        sendLocationWithRegistration:
          type: boolean
          description: True if the RUE should send a Geolocation
               header field with REGISTER; false if it should not.
               Defaults to false if not present
        ice-servers:
          type: array
          items:
            type: object
            required:
              - server-type
              - uri
            properties:
              server-type:
                type: string
                description: Server type ("stun" or "turn")
              uri:
                type: string
                format: uri
                description: URIs identifying STUN and TURN servers
                  available for use by the RUE for establishing
                  media streams in calls via the provider
    VersionsArray:
      type: object
      required:
        - versions
      properties:
        versions:
          type: array
          items:
            type: object
            required:
              - major
              - minor
            properties:
              major:
                type: integer
                format: int32
                description: Version major number
              minor:
                type: integer
                format: int32
                description: Version minor number
</sourcecode>
          </figure>
        </section>
      </section>
    </section>
    <section anchor="IANA" numbered="true" toc="include" removeInRFC="false" pn="section-10">
      <name slugifiedName="name-iana-considerations">IANA Considerations</name>
      <section anchor="plist" numbered="true" toc="include" removeInRFC="false" pn="section-10.1">
        <name slugifiedName="name-rue-provider-list-registry">RUE Provider List Registry</name>
        <t indent="0" pn="section-10.1-1">IANA has created the "RUE Provider List" registry.  The registration policy is "Expert Review" <xref target="RFC8126" format="default" sectionFormat="of" derivedContent="RFC8126"/>.
   A regulator operated or designated list interface operator is preferred. 
Otherwise, evidence that the proposed list interface operator will provide a complete list of providers is required to add the entry to the registry.  
   Updates to the registry are permitted if
   the expert determines that the proposed URI provides a more accurate
   list than the existing entry.
 Each entry has two fields; values for both <bcp14>MUST</bcp14> be provided when registering or updating an entry:</t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-10.1-2">
          <li pn="section-10.1-2.1">country code: a two-letter ISO93166 country code</li>
          <li pn="section-10.1-2.2">list entry point: a string is used to compose the URI to the provider list interface for that country</li>
        </ul>
      </section>
      <section anchor="purpose" numbered="true" removeInRFC="false" toc="include" pn="section-10.2">
        <name slugifiedName="name-registration-of-rue-owner-v"> Registration of Rue-Owner Value of the Purpose Parameter</name>
        <t indent="0" pn="section-10.2-1">This document defines the new predefined value "rue-owner" for the "purpose" header field parameter of the Call-Info header field. The use for rue-owner is defined in <xref target="contact" format="default" sectionFormat="of" derivedContent="Section 5.2.3"/>. IANA has added a reference to this document in the "Header Field Parameters and Parameter Values" subregistry of the "Session Initiation Protocol (SIP) Parameters" for the header field "Call-Info" and parameter name "purpose".</t>
        <dl newline="false" spacing="normal" indent="3" pn="section-10.2-2">
          <dt pn="section-10.2-2.1">Header Field:</dt>
          <dd pn="section-10.2-2.2">Call-Info</dd>
          <dt pn="section-10.2-2.3">Parameter Name:</dt>
          <dd pn="section-10.2-2.4">purpose</dd>
          <dt pn="section-10.2-2.5">Predefined Values:</dt>
          <dd pn="section-10.2-2.6">Yes</dd>
        </dl>
      </section>
    </section>
    <section anchor="Security" numbered="true" toc="include" removeInRFC="false" pn="section-11">
      <name slugifiedName="name-security-considerations">Security Considerations</name>
      <t indent="0" pn="section-11-1">
         The RUE is required to communicate with servers on public IP addresses and specific ports to perform its required functions. If it is necessary for the RUE to function on a corporate or other network that operates a default-deny firewall between the RUE and these services, the user must arrange with their network manager for passage of traffic through such a firewall in accordance with the protocols and associated SRV records as exposed by the provider. Because VRS providers may use different ports for different services, these port numbers may differ from provider to provider.
      </t>
      <t indent="0" pn="section-11-2">This document
          requires implementation and use of a number of other specifications in
          order to fulfill the RUE profile; the security considerations described
          in those documents apply accordingly to the RUE interactions.</t>
      <t indent="0" pn="section-11-3"> When a CA participates in a conversation, they
          have access to the content of the conversation even though it is
          nominally a conversation between the two endpoints.  There is an
          expectation that the CA will keep the communication contents in
          confidence.  This is usually defined by contractual or legal requirements.</t>
      <t indent="0" pn="section-11-4">Since different providers (within a given country) may have different
          policies, RUE implementations <bcp14>MUST</bcp14> include a user
          interaction step to select from available providers before proceeding to actually register with any given
          provider.</t>
    </section>
  </middle>
  <back>
    <references pn="section-12">
      <name slugifiedName="name-normative-references">Normative References</name>
      <reference anchor="OpenAPI" target="https://spec.openapis.org/oas/v3.0.1" quoteTitle="true" derivedAnchor="OpenAPI">
        <front>
          <title>OpenAPI Specification v3.0.1</title>
          <author initials="D." surname="Miller" fullname="Darrel Miller">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="J." surname="Whitlock" fullname="Jeremy Whitlock">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="M." surname="Gardiner" fullname="Marsh Gardiner">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="M." surname="Ralphson" fullname="Mike Ralphson">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="R." surname="Ratovsky" fullname="Ron Ratovsky">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="U." surname="Sarid" fullname="Uri Sarid">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2017" month="December"/>
        </front>
      </reference>
      <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" quoteTitle="true" derivedAnchor="RFC2119">
        <front>
          <title>Key words for use in RFCs to Indicate Requirement Levels</title>
          <author initials="S." surname="Bradner" fullname="S. Bradner">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="1997" month="March"/>
          <abstract>
            <t indent="0">In many standards track documents several words are used to signify the requirements in the specification.  These words are often capitalized. This document defines these words as they should be interpreted in IETF documents.  This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="14"/>
        <seriesInfo name="RFC" value="2119"/>
        <seriesInfo name="DOI" value="10.17487/RFC2119"/>
      </reference>
      <reference anchor="RFC2392" target="https://www.rfc-editor.org/info/rfc2392" quoteTitle="true" derivedAnchor="RFC2392">
        <front>
          <title>Content-ID and Message-ID Uniform Resource Locators</title>
          <author initials="E." surname="Levinson" fullname="E. Levinson">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="1998" month="August"/>
          <abstract>
            <t indent="0">The Uniform Resource Locator (URL) schemes, "cid:" and "mid:" allow references to messages and the body parts of messages.  For example, within a single multipart message, one HTML body part might include embedded references to other parts of the same message.  [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="2392"/>
        <seriesInfo name="DOI" value="10.17487/RFC2392"/>
      </reference>
      <reference anchor="RFC3261" target="https://www.rfc-editor.org/info/rfc3261" quoteTitle="true" derivedAnchor="RFC3261">
        <front>
          <title>SIP: Session Initiation Protocol</title>
          <author initials="J." surname="Rosenberg" fullname="J. Rosenberg">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="H." surname="Schulzrinne" fullname="H. Schulzrinne">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="G." surname="Camarillo" fullname="G. Camarillo">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="A." surname="Johnston" fullname="A. Johnston">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="J." surname="Peterson" fullname="J. Peterson">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="R." surname="Sparks" fullname="R. Sparks">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="M." surname="Handley" fullname="M. Handley">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="E." surname="Schooler" fullname="E. Schooler">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2002" month="June"/>
          <abstract>
            <t indent="0">This document describes Session Initiation Protocol (SIP), an application-layer control (signaling) protocol for creating, modifying, and terminating sessions with one or more participants.  These sessions include Internet telephone calls, multimedia distribution, and multimedia conferences.  [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="3261"/>
        <seriesInfo name="DOI" value="10.17487/RFC3261"/>
      </reference>
      <reference anchor="RFC3263" target="https://www.rfc-editor.org/info/rfc3263" quoteTitle="true" derivedAnchor="RFC3263">
        <front>
          <title>Session Initiation Protocol (SIP): Locating SIP Servers</title>
          <author initials="J." surname="Rosenberg" fullname="J. Rosenberg">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="H." surname="Schulzrinne" fullname="H. Schulzrinne">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2002" month="June"/>
          <abstract>
            <t indent="0">The Session Initiation Protocol (SIP) uses DNS procedures to allow a client to resolve a SIP Uniform Resource Identifier (URI) into the IP address, port, and transport protocol of the next hop to contact.  It also uses DNS to allow a server to send a response to a backup client if the primary client has failed.  This document describes those DNS procedures in detail.  [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="3263"/>
        <seriesInfo name="DOI" value="10.17487/RFC3263"/>
      </reference>
      <reference anchor="RFC3264" target="https://www.rfc-editor.org/info/rfc3264" quoteTitle="true" derivedAnchor="RFC3264">
        <front>
          <title>An Offer/Answer Model with Session Description Protocol (SDP)</title>
          <author initials="J." surname="Rosenberg" fullname="J. Rosenberg">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="H." surname="Schulzrinne" fullname="H. Schulzrinne">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2002" month="June"/>
          <abstract>
            <t indent="0">This document defines a mechanism by which two entities can make use of the Session Description Protocol (SDP) to arrive at a common view of a multimedia session between them.  In the model, one participant offers the other a description of the desired session from their perspective, and the other participant answers with the desired session from their perspective.  This offer/answer model is most useful in unicast sessions where information from both participants is needed for the complete view of the session.  The offer/answer model is used by protocols like the Session Initiation Protocol (SIP).  [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="3264"/>
        <seriesInfo name="DOI" value="10.17487/RFC3264"/>
      </reference>
      <reference anchor="RFC3311" target="https://www.rfc-editor.org/info/rfc3311" quoteTitle="true" derivedAnchor="RFC3311">
        <front>
          <title>The Session Initiation Protocol (SIP) UPDATE Method</title>
          <author initials="J." surname="Rosenberg" fullname="J. Rosenberg">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2002" month="October"/>
        </front>
        <seriesInfo name="RFC" value="3311"/>
        <seriesInfo name="DOI" value="10.17487/RFC3311"/>
      </reference>
      <reference anchor="RFC3323" target="https://www.rfc-editor.org/info/rfc3323" quoteTitle="true" derivedAnchor="RFC3323">
        <front>
          <title>A Privacy Mechanism for the Session Initiation Protocol (SIP)</title>
          <author initials="J." surname="Peterson" fullname="J. Peterson">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2002" month="November"/>
        </front>
        <seriesInfo name="RFC" value="3323"/>
        <seriesInfo name="DOI" value="10.17487/RFC3323"/>
      </reference>
      <reference anchor="RFC3326" target="https://www.rfc-editor.org/info/rfc3326" quoteTitle="true" derivedAnchor="RFC3326">
        <front>
          <title>The Reason Header Field for the Session Initiation Protocol (SIP)</title>
          <author initials="H." surname="Schulzrinne" fullname="H. Schulzrinne">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="D." surname="Oran" fullname="D. Oran">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="G." surname="Camarillo" fullname="G. Camarillo">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2002" month="December"/>
          <abstract>
            <t indent="0">The REGISTER function is used in a Session Initiation Protocol (SIP) system primarily to associate a temporary contact address with an address-of-record.  This contact is generally in the form of a Uniform Resource Identifier (URI), such as Contact: &lt;sip:alice@pc33.atlanta.com&gt; and is generally dynamic and associated with the IP address or hostname of the SIP User Agent (UA).  The problem is that network topology may have one or more SIP proxies between the UA and the registrar, such that any request traveling from the user's home network to the registered UA must traverse these proxies.  The REGISTER method does not give us a mechanism to discover and record this sequence of proxies in the registrar for future use.  This document defines an extension header field, "Path" which provides such a mechanism.  [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="3326"/>
        <seriesInfo name="DOI" value="10.17487/RFC3326"/>
      </reference>
      <reference anchor="RFC3327" target="https://www.rfc-editor.org/info/rfc3327" quoteTitle="true" derivedAnchor="RFC3327">
        <front>
          <title>Session Initiation Protocol (SIP) Extension Header Field for Registering Non-Adjacent Contacts</title>
          <author initials="D." surname="Willis" fullname="D. Willis">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="B." surname="Hoeneisen" fullname="B. Hoeneisen">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2002" month="December"/>
        </front>
        <seriesInfo name="RFC" value="3327"/>
        <seriesInfo name="DOI" value="10.17487/RFC3327"/>
      </reference>
      <reference anchor="RFC3458" target="https://www.rfc-editor.org/info/rfc3458" quoteTitle="true" derivedAnchor="RFC3458">
        <front>
          <title>Message Context for Internet Mail</title>
          <author initials="E." surname="Burger" fullname="E. Burger">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="E." surname="Candell" fullname="E. Candell">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="C." surname="Eliot" fullname="C. Eliot">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="G." surname="Klyne" fullname="G. Klyne">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2003" month="January"/>
          <abstract>
            <t indent="0">This memo describes a new RFC 2822 message header, "Message-Context". This header provides information about the context and presentation characteristics of a message. A receiving user agent (UA) may use this information as a hint to optimally present the message.  [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="3458"/>
        <seriesInfo name="DOI" value="10.17487/RFC3458"/>
      </reference>
      <reference anchor="RFC3515" target="https://www.rfc-editor.org/info/rfc3515" quoteTitle="true" derivedAnchor="RFC3515">
        <front>
          <title>The Session Initiation Protocol (SIP) Refer Method</title>
          <author initials="R." surname="Sparks" fullname="R. Sparks">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2003" month="April"/>
          <abstract>
            <t indent="0">This document defines the REFER method.  This Session Initiation Protocol (SIP) extension requests that the recipient REFER to a resource provided in the request.  It provides a mechanism allowing the party sending the REFER to be notified of the outcome of the referenced request.  This can be used to enable many applications, including call transfer. In addition to the REFER method, this document defines the refer event package and the Refer-To request header.  [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="3515"/>
        <seriesInfo name="DOI" value="10.17487/RFC3515"/>
      </reference>
      <reference anchor="RFC3605" target="https://www.rfc-editor.org/info/rfc3605" quoteTitle="true" derivedAnchor="RFC3605">
        <front>
          <title>Real Time Control Protocol (RTCP) attribute in Session Description Protocol (SDP)</title>
          <author initials="C." surname="Huitema" fullname="C. Huitema">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2003" month="October"/>
          <abstract>
            <t indent="0">The Session Description Protocol (SDP) is used to describe the parameters of media streams used in multimedia sessions.  When a session requires multiple ports, SDP assumes that these ports have consecutive numbers.  However, when the session crosses a network address translation device that also uses port mapping, the ordering of ports can be destroyed by the translation.  To handle this, we propose an extension attribute to SDP.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="3605"/>
        <seriesInfo name="DOI" value="10.17487/RFC3605"/>
      </reference>
      <reference anchor="RFC3840" target="https://www.rfc-editor.org/info/rfc3840" quoteTitle="true" derivedAnchor="RFC3840">
        <front>
          <title>Indicating User Agent Capabilities in the Session Initiation Protocol (SIP)</title>
          <author initials="J." surname="Rosenberg" fullname="J. Rosenberg">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="H." surname="Schulzrinne" fullname="H. Schulzrinne">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="P." surname="Kyzivat" fullname="P. Kyzivat">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2004" month="August"/>
          <abstract>
            <t indent="0">This specification defines mechanisms by which a Session Initiation Protocol (SIP) user agent can convey its capabilities and characteristics to other user agents and to the registrar for its domain.  This information is conveyed as parameters of the Contact header field.  [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="3840"/>
        <seriesInfo name="DOI" value="10.17487/RFC3840"/>
      </reference>
      <reference anchor="RFC3842" target="https://www.rfc-editor.org/info/rfc3842" quoteTitle="true" derivedAnchor="RFC3842">
        <front>
          <title>A Message Summary and Message Waiting Indication Event Package for the Session Initiation Protocol (SIP)</title>
          <author initials="R." surname="Mahy" fullname="R. Mahy">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2004" month="August"/>
          <abstract>
            <t indent="0">This document describes a Session Initiation Protocol (SIP) event package to carry message waiting status and message summaries from a messaging system to an interested User Agent.  [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="3842"/>
        <seriesInfo name="DOI" value="10.17487/RFC3842"/>
      </reference>
      <reference anchor="RFC3891" target="https://www.rfc-editor.org/info/rfc3891" quoteTitle="true" derivedAnchor="RFC3891">
        <front>
          <title>The Session Initiation Protocol (SIP) "Replaces" Header</title>
          <author initials="R." surname="Mahy" fullname="R. Mahy">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="B." surname="Biggs" fullname="B. Biggs">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="R." surname="Dean" fullname="R. Dean">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2004" month="September"/>
          <abstract>
            <t indent="0">This document defines a new header for use with Session Initiation Protocol (SIP) multi-party applications and call control.  The Replaces header is used to logically replace an existing SIP dialog with a new SIP dialog.  This primitive can be used to enable a variety of features, for example: "Attended Transfer" and "Call Pickup".  Note that the definition of these example features is non-normative.  [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="3891"/>
        <seriesInfo name="DOI" value="10.17487/RFC3891"/>
      </reference>
      <reference anchor="RFC3892" target="https://www.rfc-editor.org/info/rfc3892" quoteTitle="true" derivedAnchor="RFC3892">
        <front>
          <title>The Session Initiation Protocol (SIP) Referred-By Mechanism</title>
          <author initials="R." surname="Sparks" fullname="R. Sparks">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2004" month="September"/>
          <abstract>
            <t indent="0">The Session Initiation Protocol (SIP) REFER method provides a mechanism where one party (the referrer) gives a second party (the referee) an arbitrary URI to reference.  If that URI is a SIP URI, the referee will send a SIP request, often an INVITE, to that URI (the refer target).  This document extends the REFER method, allowing the referrer to provide information about the REFER request to the refer target using the referee as an intermediary.  This information includes the identity of the referrer and the URI to which the referrer referred.  The mechanism utilizes S/MIME to help protect this information from a malicious intermediary.  This protection is optional, but a recipient may refuse to accept a request unless it is present.  [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="3892"/>
        <seriesInfo name="DOI" value="10.17487/RFC3892"/>
      </reference>
      <reference anchor="RFC3960" target="https://www.rfc-editor.org/info/rfc3960" quoteTitle="true" derivedAnchor="RFC3960">
        <front>
          <title>Early Media and Ringing Tone Generation in the Session Initiation Protocol (SIP)</title>
          <author initials="G." surname="Camarillo" fullname="G. Camarillo">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="H." surname="Schulzrinne" fullname="H. Schulzrinne">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2004" month="December"/>
          <abstract>
            <t indent="0">This document describes how to manage early media in the Session Initiation Protocol (SIP) using two models: the gateway model and the application server model.  It also describes the inputs one needs to consider in defining local policies for ringing tone generation.  This memo provides information for the Internet community.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="3960"/>
        <seriesInfo name="DOI" value="10.17487/RFC3960"/>
      </reference>
      <reference anchor="RFC3966" target="https://www.rfc-editor.org/info/rfc3966" quoteTitle="true" derivedAnchor="RFC3966">
        <front>
          <title>The tel URI for Telephone Numbers</title>
          <author initials="H." surname="Schulzrinne" fullname="H. Schulzrinne">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2004" month="December"/>
          <abstract>
            <t indent="0">This document specifies the URI (Uniform Resource Identifier) scheme "tel".  The "tel" URI describes resources identified by telephone numbers.  This document obsoletes RFC 2806.  [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="3966"/>
        <seriesInfo name="DOI" value="10.17487/RFC3966"/>
      </reference>
      <reference anchor="RFC4102" target="https://www.rfc-editor.org/info/rfc4102" quoteTitle="true" derivedAnchor="RFC4102">
        <front>
          <title>Registration of the text/red MIME Sub-Type</title>
          <author initials="P." surname="Jones" fullname="P. Jones">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2005" month="June"/>
          <abstract>
            <t indent="0">This document defines the text/red MIME sub-type.  "Red" is short for redundant.  The actual RTP packetization for this MIME type is specified in RFC 2198.  [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="4102"/>
        <seriesInfo name="DOI" value="10.17487/RFC4102"/>
      </reference>
      <reference anchor="RFC4103" target="https://www.rfc-editor.org/info/rfc4103" quoteTitle="true" derivedAnchor="RFC4103">
        <front>
          <title>RTP Payload for Text Conversation</title>
          <author initials="G." surname="Hellstrom" fullname="G. Hellstrom">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="P." surname="Jones" fullname="P. Jones">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2005" month="June"/>
          <abstract>
            <t indent="0">This memo obsoletes RFC 2793; it describes how to carry real-time text conversation session contents in RTP packets.  Text conversation session contents are specified in ITU-T Recommendation T.140.</t>
            <t indent="0">One payload format is described for transmitting text on a separate RTP session dedicated for the transmission of text.</t>
            <t indent="0">This RTP payload description recommends a method to include redundant text from already transmitted packets in order to reduce the risk of text loss caused by packet loss.  [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="4103"/>
        <seriesInfo name="DOI" value="10.17487/RFC4103"/>
      </reference>
      <reference anchor="RFC4488" target="https://www.rfc-editor.org/info/rfc4488" quoteTitle="true" derivedAnchor="RFC4488">
        <front>
          <title>Suppression of Session Initiation Protocol (SIP) REFER Method Implicit Subscription</title>
          <author initials="O." surname="Levin" fullname="O. Levin">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2006" month="May"/>
          <abstract>
            <t indent="0">The Session Initiation Protocol (SIP) REFER extension as defined in RFC 3515 automatically establishes a typically short-lived event subscription used to notify the party sending a REFER request about the receiver's status in executing the transaction requested by the REFER.  These notifications are not needed in all cases.  This specification provides a way to prevent the automatic establishment of an event subscription and subsequent notifications using a new SIP extension header field that may be included in a REFER request.  [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="4488"/>
        <seriesInfo name="DOI" value="10.17487/RFC4488"/>
      </reference>
      <reference anchor="RFC4585" target="https://www.rfc-editor.org/info/rfc4585" quoteTitle="true" derivedAnchor="RFC4585">
        <front>
          <title>Extended RTP Profile for Real-time Transport Control Protocol (RTCP)-Based Feedback (RTP/AVPF)</title>
          <author initials="J." surname="Ott" fullname="J. Ott">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="S." surname="Wenger" fullname="S. Wenger">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="N." surname="Sato" fullname="N. Sato">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="C." surname="Burmeister" fullname="C. Burmeister">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="J." surname="Rey" fullname="J. Rey">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2006" month="July"/>
          <abstract>
            <t indent="0">Real-time media streams that use RTP are, to some degree, resilient against packet losses.  Receivers may use the base mechanisms of the Real-time Transport Control Protocol (RTCP) to report packet reception statistics and thus allow a sender to adapt its transmission behavior in the mid-term.  This is the sole means for feedback and feedback-based error repair (besides a few codec-specific mechanisms).  This document defines an extension to the Audio-visual Profile (AVP) that enables receivers to provide, statistically, more immediate feedback to the senders and thus allows for short-term adaptation and efficient feedback-based repair mechanisms to be implemented.  This early feedback profile (AVPF) maintains the AVP bandwidth constraints for RTCP and preserves scalability to large groups.  [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="4585"/>
        <seriesInfo name="DOI" value="10.17487/RFC4585"/>
      </reference>
      <reference anchor="RFC4733" target="https://www.rfc-editor.org/info/rfc4733" quoteTitle="true" derivedAnchor="RFC4733">
        <front>
          <title>RTP Payload for DTMF Digits, Telephony Tones, and Telephony Signals</title>
          <author initials="H." surname="Schulzrinne" fullname="H. Schulzrinne">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="T." surname="Taylor" fullname="T. Taylor">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2006" month="December"/>
          <abstract>
            <t indent="0">This memo describes how to carry dual-tone multifrequency (DTMF) signalling, other tone signals, and telephony events in RTP packets. It obsoletes RFC 2833.</t>
            <t indent="0">This memo captures and expands upon the basic framework defined in RFC 2833, but retains only the most basic event codes.  It sets up an IANA registry to which other event code assignments may be added. Companion documents add event codes to this registry relating to modem, fax, text telephony, and channel-associated signalling events. The remainder of the event codes defined in RFC 2833 are conditionally reserved in case other documents revive their use.</t>
            <t indent="0">This document provides a number of clarifications to the original document.  However, it specifically differs from RFC 2833 by removing the requirement that all compliant implementations support the DTMF events.  Instead, compliant implementations taking part in out-of-band negotiations of media stream content indicate what events they support.  This memo adds three new procedures to the RFC 2833 framework: subdivision of long events into segments, reporting of multiple events in a single packet, and the concept and reporting of state events.  [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="4733"/>
        <seriesInfo name="DOI" value="10.17487/RFC4733"/>
      </reference>
      <reference anchor="RFC4967" target="https://www.rfc-editor.org/info/rfc4967" quoteTitle="true" derivedAnchor="RFC4967">
        <front>
          <title>Dial String Parameter for the Session Initiation Protocol Uniform Resource Identifier</title>
          <author initials="B." surname="Rosen" fullname="B. Rosen">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2007" month="July"/>
          <abstract>
            <t indent="0">RFC 3966 explicitly states that 'tel' URIs may not represent a dial string.  That leaves no way specify a dial string in a standardized way.  Great confusion exists with the SIP URI parameter "user=phone", and specifically, if it can represent a dial string.  This memo creates a new value for the user parameter "dialstring", so that one may specify "user=dialstring" to encode a dial string as a 'sip:' or 'sips:' URI.  [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="4967"/>
        <seriesInfo name="DOI" value="10.17487/RFC4967"/>
      </reference>
      <reference anchor="RFC5104" target="https://www.rfc-editor.org/info/rfc5104" quoteTitle="true" derivedAnchor="RFC5104">
        <front>
          <title>Codec Control Messages in the RTP Audio-Visual Profile with Feedback (AVPF)</title>
          <author initials="S." surname="Wenger" fullname="S. Wenger">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="U." surname="Chandra" fullname="U. Chandra">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="M." surname="Westerlund" fullname="M. Westerlund">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="B." surname="Burman" fullname="B. Burman">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2008" month="February"/>
          <abstract>
            <t indent="0">This document specifies a few extensions to the messages defined in the Audio-Visual Profile with Feedback (AVPF).  They are helpful primarily in conversational multimedia scenarios where centralized multipoint functionalities are in use.  However, some are also usable in smaller multicast environments and point-to-point calls.</t>
            <t indent="0">The extensions discussed are messages related to the ITU-T Rec. H.271 Video Back Channel, Full Intra Request, Temporary Maximum Media Stream Bit Rate, and Temporal-Spatial Trade-off.  [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="5104"/>
        <seriesInfo name="DOI" value="10.17487/RFC5104"/>
      </reference>
      <reference anchor="RFC5168" target="https://www.rfc-editor.org/info/rfc5168" quoteTitle="true" derivedAnchor="RFC5168">
        <front>
          <title>XML Schema for Media Control</title>
          <author initials="O." surname="Levin" fullname="O. Levin">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="R." surname="Even" fullname="R. Even">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="P." surname="Hagendorf" fullname="P. Hagendorf">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2008" month="March"/>
          <abstract>
            <t indent="0">This document defines an Extensible Markup Language (XML) Schema for video fast update in a tightly controlled environment, developed by Microsoft, Polycom, Radvision and used by multiple vendors.  This document describes a method that has been deployed in Session Initiation Protocol (SIP) based systems over the last three years and is being used across real-time interactive applications from different vendors in an interoperable manner.  New implementations are discouraged from using the method described except for backward compatibility purposes.  New implementations are required to use the new Full Intra Request command in the RTP Control Protocol (RTCP) channel.  This memo provides information for the Internet community.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="5168"/>
        <seriesInfo name="DOI" value="10.17487/RFC5168"/>
      </reference>
      <reference anchor="RFC5393" target="https://www.rfc-editor.org/info/rfc5393" quoteTitle="true" derivedAnchor="RFC5393">
        <front>
          <title>Addressing an Amplification Vulnerability in Session Initiation Protocol (SIP) Forking Proxies</title>
          <author initials="R." surname="Sparks" fullname="R. Sparks" role="editor">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="S." surname="Lawrence" fullname="S. Lawrence">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="A." surname="Hawrylyshen" fullname="A. Hawrylyshen">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="B." surname="Campen" fullname="B. Campen">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2008" month="December"/>
          <abstract>
            <t indent="0">This document normatively updates RFC 3261, the Session Initiation Protocol (SIP), to address a security vulnerability identified in SIP proxy behavior.  This vulnerability enables an attack against SIP networks where a small number of legitimate, even authorized, SIP requests can stimulate massive amounts of proxy-to-proxy traffic.</t>
            <t indent="0">This document strengthens loop-detection requirements on SIP proxies when they fork requests (that is, forward a request to more than one destination).  It also corrects and clarifies the description of the loop-detection algorithm such proxies are required to implement. Additionally, this document defines a Max-Breadth mechanism for limiting the number of concurrent branches pursued for any given request.  [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="5393"/>
        <seriesInfo name="DOI" value="10.17487/RFC5393"/>
      </reference>
      <reference anchor="RFC5626" target="https://www.rfc-editor.org/info/rfc5626" quoteTitle="true" derivedAnchor="RFC5626">
        <front>
          <title>Managing Client-Initiated Connections in the Session Initiation Protocol (SIP)</title>
          <author initials="C." surname="Jennings" fullname="C. Jennings" role="editor">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="R." surname="Mahy" fullname="R. Mahy" role="editor">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="F." surname="Audet" fullname="F. Audet" role="editor">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2009" month="October"/>
          <abstract>
            <t indent="0">The Session Initiation Protocol (SIP) allows proxy servers to initiate TCP connections or to send asynchronous UDP datagrams to User Agents in order to deliver requests.  However, in a large number of real deployments, many practical considerations, such as the existence of firewalls and Network Address Translators (NATs) or the use of TLS with server-provided certificates, prevent servers from connecting to User Agents in this way.  This specification defines behaviors for User Agents, registrars, and proxy servers that allow requests to be delivered on existing connections established by the User Agent.  It also defines keep-alive behaviors needed to keep NAT bindings open and specifies the usage of multiple connections from the User Agent to its registrar.  [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="5626"/>
        <seriesInfo name="DOI" value="10.17487/RFC5626"/>
      </reference>
      <reference anchor="RFC5658" target="https://www.rfc-editor.org/info/rfc5658" quoteTitle="true" derivedAnchor="RFC5658">
        <front>
          <title>Addressing Record-Route Issues in the Session Initiation Protocol (SIP)</title>
          <author initials="T." surname="Froment" fullname="T. Froment">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="C." surname="Lebel" fullname="C. Lebel">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="B." surname="Bonnaerens" fullname="B. Bonnaerens">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2009" month="October"/>
          <abstract>
            <t indent="0">A typical function of a Session Initiation Protocol (SIP) Proxy is to insert a Record-Route header into initial, dialog-creating requests in order to make subsequent, in-dialog requests pass through it.  This header contains a SIP Uniform Resource Identifier (URI) or SIPS (secure SIP) URI indicating where and how the subsequent requests should be sent to reach the proxy.  These SIP or SIPS URIs can contain IPv4 or IPv6 addresses and URI parameters that could influence the routing such as the transport parameter (for example, transport=tcp), or a compression indication like "comp=sigcomp".  When a proxy has to change some of those parameters between its incoming and outgoing interfaces (multi-homed proxies, transport protocol switching, or IPv4 to IPv6 scenarios, etc.), the question arises on what should be put in Record-Route header(s).  It is not possible to make one header have the characteristics of both interfaces at the same time.  This document aims to clarify these scenarios and fix bugs already identified on this topic; it formally recommends the use of the double Record-Route technique as an alternative to the current RFC 3261 text, which describes only a Record-Route rewriting solution.   [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="5658"/>
        <seriesInfo name="DOI" value="10.17487/RFC5658"/>
      </reference>
      <reference anchor="RFC5954" target="https://www.rfc-editor.org/info/rfc5954" quoteTitle="true" derivedAnchor="RFC5954">
        <front>
          <title>Essential Correction for IPv6 ABNF and URI Comparison in RFC 3261</title>
          <author initials="V." surname="Gurbani" fullname="V. Gurbani" role="editor">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="B." surname="Carpenter" fullname="B. Carpenter" role="editor">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="B." surname="Tate" fullname="B. Tate" role="editor">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2010" month="August"/>
          <abstract>
            <t indent="0">This document corrects the Augmented Backus-Naur Form (ABNF) production rule associated with generating IPv6 literals in RFC 3261. It also clarifies the rule for Uniform Resource Identifier (URI) comparison when the URIs contain textual representation of IP addresses.  [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="5954"/>
        <seriesInfo name="DOI" value="10.17487/RFC5954"/>
      </reference>
      <reference anchor="RFC6263" target="https://www.rfc-editor.org/info/rfc6263" quoteTitle="true" derivedAnchor="RFC6263">
        <front>
          <title>Application Mechanism for Keeping Alive the NAT Mappings Associated with RTP / RTP Control Protocol (RTCP) Flows</title>
          <author initials="X." surname="Marjou" fullname="X. Marjou">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="A." surname="Sollaud" fullname="A. Sollaud">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2011" month="June"/>
          <abstract>
            <t indent="0">This document lists the different mechanisms that enable applications using the Real-time Transport Protocol (RTP) and the RTP Control Protocol (RTCP) to keep their RTP Network Address Translator (NAT) mappings alive.  It also makes a recommendation for a preferred mechanism.  This document is not applicable to Interactive Connectivity Establishment (ICE) agents.  [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="6263"/>
        <seriesInfo name="DOI" value="10.17487/RFC6263"/>
      </reference>
      <reference anchor="RFC6351" target="https://www.rfc-editor.org/info/rfc6351" quoteTitle="true" derivedAnchor="RFC6351">
        <front>
          <title>xCard: vCard XML Representation</title>
          <author initials="S." surname="Perreault" fullname="S. Perreault">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2011" month="August"/>
          <abstract>
            <t indent="0">This document defines the XML schema of the vCard data format.   [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="6351"/>
        <seriesInfo name="DOI" value="10.17487/RFC6351"/>
      </reference>
      <reference anchor="RFC6352" target="https://www.rfc-editor.org/info/rfc6352" quoteTitle="true" derivedAnchor="RFC6352">
        <front>
          <title>CardDAV: vCard Extensions to Web Distributed Authoring and Versioning (WebDAV)</title>
          <author initials="C." surname="Daboo" fullname="C. Daboo">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2011" month="August"/>
          <abstract>
            <t indent="0">This document defines extensions to the Web Distributed Authoring and Versioning (WebDAV) protocol to specify a standard way of accessing, managing, and sharing contact information based on the vCard format.  [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="6352"/>
        <seriesInfo name="DOI" value="10.17487/RFC6352"/>
      </reference>
      <reference anchor="RFC6442" target="https://www.rfc-editor.org/info/rfc6442" quoteTitle="true" derivedAnchor="RFC6442">
        <front>
          <title>Location Conveyance for the Session Initiation Protocol</title>
          <author initials="J." surname="Polk" fullname="J. Polk">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="B." surname="Rosen" fullname="B. Rosen">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="J." surname="Peterson" fullname="J. Peterson">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2011" month="December"/>
          <abstract>
            <t indent="0">This document defines an extension to the Session Initiation Protocol (SIP) to convey geographic location information from one SIP entity to another SIP entity.  The SIP extension covers end-to-end conveyance as well as location-based routing, where SIP intermediaries make routing decisions based upon the location of the Location Target.  [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="6442"/>
        <seriesInfo name="DOI" value="10.17487/RFC6442"/>
      </reference>
      <reference anchor="RFC6665" target="https://www.rfc-editor.org/info/rfc6665" quoteTitle="true" derivedAnchor="RFC6665">
        <front>
          <title>SIP-Specific Event Notification</title>
          <author initials="A.B." surname="Roach" fullname="A.B. Roach">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2012" month="July"/>
          <abstract>
            <t indent="0">This document describes an extension to the Session Initiation Protocol (SIP) defined by RFC 3261.  The purpose of this extension is to provide an extensible framework by which SIP nodes can request notification from remote nodes indicating that certain events have occurred.</t>
            <t indent="0">Note that the event notification mechanisms defined herein are NOT intended to be a general-purpose infrastructure for all classes of event subscription and notification.</t>
            <t indent="0">This document represents a backwards-compatible improvement on the original mechanism described by RFC 3265, taking into account several years of implementation experience.  Accordingly, this document obsoletes RFC 3265.  This document also updates RFC 4660 slightly to accommodate some small changes to the mechanism that were discussed in that document.  [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="6665"/>
        <seriesInfo name="DOI" value="10.17487/RFC6665"/>
      </reference>
      <reference anchor="RFC6764" target="https://www.rfc-editor.org/info/rfc6764" quoteTitle="true" derivedAnchor="RFC6764">
        <front>
          <title>Locating Services for Calendaring Extensions to WebDAV (CalDAV) and vCard Extensions to WebDAV (CardDAV)</title>
          <author initials="C." surname="Daboo" fullname="C. Daboo">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2013" month="February"/>
          <abstract>
            <t indent="0">This specification describes how DNS SRV records, DNS TXT records, and well-known URIs can be used together or separately to locate CalDAV (Calendaring Extensions to Web Distributed Authoring and Versioning (WebDAV)) or CardDAV (vCard Extensions to WebDAV) services.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="6764"/>
        <seriesInfo name="DOI" value="10.17487/RFC6764"/>
      </reference>
      <reference anchor="RFC6881" target="https://www.rfc-editor.org/info/rfc6881" quoteTitle="true" derivedAnchor="RFC6881">
        <front>
          <title>Best Current Practice for Communications Services in Support of Emergency Calling</title>
          <author initials="B." surname="Rosen" fullname="B. Rosen">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="J." surname="Polk" fullname="J. Polk">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2013" month="March"/>
          <abstract>
            <t indent="0">The IETF and other standards organizations have efforts targeted at standardizing various aspects of placing emergency calls on IP networks.  This memo describes best current practice on how devices, networks, and services using IETF protocols should use such standards to make emergency calls.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="181"/>
        <seriesInfo name="RFC" value="6881"/>
        <seriesInfo name="DOI" value="10.17487/RFC6881"/>
      </reference>
      <reference anchor="RFC7525" target="https://www.rfc-editor.org/info/rfc7525" quoteTitle="true" derivedAnchor="RFC7525">
        <front>
          <title>Recommendations for Secure Use of Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS)</title>
          <author initials="Y." surname="Sheffer" fullname="Y. Sheffer">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="R." surname="Holz" fullname="R. Holz">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="P." surname="Saint-Andre" fullname="P. Saint-Andre">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2015" month="May"/>
          <abstract>
            <t indent="0">Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS) are widely used to protect data exchanged over application protocols such as HTTP, SMTP, IMAP, POP, SIP, and XMPP.  Over the last few years, several serious attacks on TLS have emerged, including attacks on its most commonly used cipher suites and their modes of operation.  This document provides recommendations for improving the security of deployed services that use TLS and DTLS. The recommendations are applicable to the majority of use cases.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="195"/>
        <seriesInfo name="RFC" value="7525"/>
        <seriesInfo name="DOI" value="10.17487/RFC7525"/>
      </reference>
      <reference anchor="RFC7647" target="https://www.rfc-editor.org/info/rfc7647" quoteTitle="true" derivedAnchor="RFC7647">
        <front>
          <title>Clarifications for the Use of REFER with RFC 6665</title>
          <author initials="R." surname="Sparks" fullname="R. Sparks">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="A.B." surname="Roach" fullname="A.B. Roach">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2015" month="September"/>
          <abstract>
            <t indent="0">The SIP REFER method relies on the SIP-Specific Event Notification framework.  That framework was revised by RFC 6665.  This document highlights the implications of the requirement changes in RFC 6665, and updates the definition of the REFER method described in RFC 3515 to clarify and disambiguate the impact of those changes.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="7647"/>
        <seriesInfo name="DOI" value="10.17487/RFC7647"/>
      </reference>
      <reference anchor="RFC7742" target="https://www.rfc-editor.org/info/rfc7742" quoteTitle="true" derivedAnchor="RFC7742">
        <front>
          <title>WebRTC Video Processing and Codec Requirements</title>
          <author initials="A.B." surname="Roach" fullname="A.B. Roach">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2016" month="March"/>
          <abstract>
            <t indent="0">This specification provides the requirements and considerations for WebRTC applications to send and receive video across a network.  It specifies the video processing that is required as well as video codecs and their parameters.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="7742"/>
        <seriesInfo name="DOI" value="10.17487/RFC7742"/>
      </reference>
      <reference anchor="RFC7852" target="https://www.rfc-editor.org/info/rfc7852" quoteTitle="true" derivedAnchor="RFC7852">
        <front>
          <title>Additional Data Related to an Emergency Call</title>
          <author initials="R." surname="Gellens" fullname="R. Gellens">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="B." surname="Rosen" fullname="B. Rosen">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="H." surname="Tschofenig" fullname="H. Tschofenig">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="R." surname="Marshall" fullname="R. Marshall">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="J." surname="Winterbottom" fullname="J. Winterbottom">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2016" month="July"/>
          <abstract>
            <t indent="0">When an emergency call is sent to a Public Safety Answering Point (PSAP), the originating device, the access network provider to which the device is connected, and all service providers in the path of the call have information about the call, the caller, or the location, which is helpful for the PSAP to have in handling the emergency. This document describes data structures and mechanisms to convey such data to the PSAP.  The intent is that every emergency call carry as much of the information described here as possible using the mechanisms described here.</t>
            <t indent="0">The mechanisms permit the data to be conveyed by reference (as an external resource) or by value (within the body of a SIP message or a location object).  This follows the tradition of prior emergency services standardization work where data can be conveyed by value within the call signaling (i.e., in the body of the SIP message) or by reference.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="7852"/>
        <seriesInfo name="DOI" value="10.17487/RFC7852"/>
      </reference>
      <reference anchor="RFC7874" target="https://www.rfc-editor.org/info/rfc7874" quoteTitle="true" derivedAnchor="RFC7874">
        <front>
          <title>WebRTC Audio Codec and Processing Requirements</title>
          <author initials="JM." surname="Valin" fullname="JM. Valin">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="C." surname="Bran" fullname="C. Bran">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2016" month="May"/>
          <abstract>
            <t indent="0">This document outlines the audio codec and processing requirements for WebRTC endpoints.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="7874"/>
        <seriesInfo name="DOI" value="10.17487/RFC7874"/>
      </reference>
      <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174" quoteTitle="true" derivedAnchor="RFC8174">
        <front>
          <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
          <author initials="B." surname="Leiba" fullname="B. Leiba">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2017" month="May"/>
          <abstract>
            <t indent="0">RFC 2119 specifies common key words that may be used in protocol  specifications.  This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the  defined special meanings.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="14"/>
        <seriesInfo name="RFC" value="8174"/>
        <seriesInfo name="DOI" value="10.17487/RFC8174"/>
      </reference>
      <reference anchor="RFC8445" target="https://www.rfc-editor.org/info/rfc8445" quoteTitle="true" derivedAnchor="RFC8445">
        <front>
          <title>Interactive Connectivity Establishment (ICE): A Protocol for Network Address Translator (NAT) Traversal</title>
          <author initials="A." surname="Keranen" fullname="A. Keranen">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="C." surname="Holmberg" fullname="C. Holmberg">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="J." surname="Rosenberg" fullname="J. Rosenberg">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2018" month="July"/>
          <abstract>
            <t indent="0">This document describes a protocol for Network Address Translator (NAT) traversal for UDP-based communication.  This protocol is called Interactive Connectivity Establishment (ICE).  ICE makes use of the Session Traversal Utilities for NAT (STUN) protocol and its extension, Traversal Using Relay NAT (TURN).</t>
            <t indent="0">This document obsoletes RFC 5245.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8445"/>
        <seriesInfo name="DOI" value="10.17487/RFC8445"/>
      </reference>
      <reference anchor="RFC8446" target="https://www.rfc-editor.org/info/rfc8446" quoteTitle="true" derivedAnchor="RFC8446">
        <front>
          <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
          <author initials="E." surname="Rescorla" fullname="E. Rescorla">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2018" month="August"/>
          <abstract>
            <t indent="0">This document specifies version 1.3 of the Transport Layer Security (TLS) protocol.  TLS allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.</t>
            <t indent="0">This document updates RFCs 5705 and 6066, and obsoletes RFCs 5077, 5246, and 6961.  This document also specifies new requirements for TLS 1.2 implementations.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8446"/>
        <seriesInfo name="DOI" value="10.17487/RFC8446"/>
      </reference>
      <reference anchor="RFC8599" target="https://www.rfc-editor.org/info/rfc8599" quoteTitle="true" derivedAnchor="RFC8599">
        <front>
          <title>Push Notification with the Session Initiation Protocol (SIP)</title>
          <author initials="C." surname="Holmberg" fullname="C. Holmberg">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="M." surname="Arnold" fullname="M. Arnold">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2019" month="May"/>
          <abstract>
            <t indent="0">This document describes how a Push Notification Service (PNS) can be used to wake a suspended Session Initiation Protocol (SIP) User Agent (UA) with push notifications, and it also describes how the UA can send binding-refresh REGISTER requests and receive incoming SIP requests in an environment in which the UA may be suspended.  The document defines new SIP URI parameters to exchange PNS information between the UA and the SIP entity that will then request that push notifications be sent to the UA.  It also defines the parameters to trigger such push notification requests.  The document also defines new feature-capability indicators that can be used to indicate support of this mechanism.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8599"/>
        <seriesInfo name="DOI" value="10.17487/RFC8599"/>
      </reference>
      <reference anchor="RFC8760" target="https://www.rfc-editor.org/info/rfc8760" quoteTitle="true" derivedAnchor="RFC8760">
        <front>
          <title>The Session Initiation Protocol (SIP) Digest Access Authentication Scheme</title>
          <author initials="R." surname="Shekh-Yusef" fullname="R. Shekh-Yusef">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2020" month="March"/>
          <abstract>
            <t indent="0">This document updates RFC 3261 by modifying the Digest Access Authentication scheme used by the Session Initiation Protocol (SIP) to add support for more secure digest algorithms, e.g., SHA-256 and SHA-512/256, to replace the obsolete MD5 algorithm.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8760"/>
        <seriesInfo name="DOI" value="10.17487/RFC8760"/>
      </reference>
      <reference anchor="RFC8825" target="https://www.rfc-editor.org/info/rfc8825" quoteTitle="true" derivedAnchor="RFC8825">
        <front>
          <title>Overview: Real-Time Protocols for Browser-Based Applications</title>
          <author initials="H." surname="Alvestrand" fullname="H. Alvestrand">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2021" month="January"/>
          <abstract>
            <t indent="0">This document gives an overview and context of a protocol suite intended for use with real-time applications that can be deployed in browsers -- "real-time communication on the Web".</t>
            <t indent="0">It intends to serve as a starting and coordination point to make sure that (1) all the parts that are needed to achieve this goal are findable and (2) the parts that belong in the Internet protocol suite are fully specified and on the right publication track.</t>
            <t indent="0">This document is an applicability statement -- it does not itself specify any protocol, but it specifies which other specifications implementations are supposed to follow to be compliant with Web Real-Time Communication (WebRTC).</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8825"/>
        <seriesInfo name="DOI" value="10.17487/RFC8825"/>
      </reference>
      <reference anchor="RFC8827" target="https://www.rfc-editor.org/info/rfc8827" quoteTitle="true" derivedAnchor="RFC8827">
        <front>
          <title>WebRTC Security Architecture</title>
          <author initials="E." surname="Rescorla" fullname="E. Rescorla">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2021" month="January"/>
          <abstract>
            <t indent="0">This document defines the security architecture for WebRTC, a protocol suite intended for use with real-time applications that can be deployed in browsers -- "real-time communication on the Web".</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8827"/>
        <seriesInfo name="DOI" value="10.17487/RFC8827"/>
      </reference>
      <reference anchor="RFC8829" target="https://www.rfc-editor.org/info/rfc8829" quoteTitle="true" derivedAnchor="RFC8829">
        <front>
          <title>JavaScript Session Establishment Protocol (JSEP)</title>
          <author initials="J." surname="Uberti" fullname="J. Uberti">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="C." surname="Jennings" fullname="C. Jennings">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="E." surname="Rescorla" fullname="E. Rescorla" role="editor">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2021" month="January"/>
          <abstract>
            <t indent="0">This document describes the mechanisms for allowing a JavaScript application to control the signaling plane of a multimedia session via the interface specified in the W3C RTCPeerConnection API and discusses how this relates to existing signaling protocols.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8829"/>
        <seriesInfo name="DOI" value="10.17487/RFC8829"/>
      </reference>
      <reference anchor="RFC8834" target="https://www.rfc-editor.org/info/rfc8834" quoteTitle="true" derivedAnchor="RFC8834">
        <front>
          <title>Media Transport and Use of RTP in WebRTC</title>
          <author initials="C." surname="Perkins" fullname="C. Perkins">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="M." surname="Westerlund" fullname="M. Westerlund">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="J." surname="Ott" fullname="J. Ott">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2021" month="January"/>
          <abstract>
            <t indent="0">The framework for Web Real-Time Communication (WebRTC) provides support for direct interactive rich communication using audio, video, text, collaboration, games, etc. between two peers' web browsers. This memo describes the media transport aspects of the WebRTC framework. It specifies how the Real-time Transport Protocol (RTP) is used in the WebRTC context and gives requirements for which RTP features, profiles, and extensions need to be supported.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8834"/>
        <seriesInfo name="DOI" value="10.17487/RFC8834"/>
      </reference>
      <reference anchor="RFC8835" target="https://www.rfc-editor.org/info/rfc8835" quoteTitle="true" derivedAnchor="RFC8835">
        <front>
          <title>Transports for WebRTC</title>
          <author initials="H." surname="Alvestrand" fullname="H. Alvestrand">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2021" month="January"/>
          <abstract>
            <t indent="0">This document describes the data transport protocols used by Web Real-Time Communication (WebRTC), including the protocols used for interaction with intermediate boxes such as firewalls, relays, and NAT boxes.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8835"/>
        <seriesInfo name="DOI" value="10.17487/RFC8835"/>
      </reference>
      <reference anchor="RFC8839" target="https://www.rfc-editor.org/info/rfc8839" quoteTitle="true" derivedAnchor="RFC8839">
        <front>
          <title>Session Description Protocol (SDP) Offer/Answer Procedures for Interactive Connectivity Establishment (ICE)</title>
          <author initials="M." surname="Petit-Huguenin" fullname="M. Petit-Huguenin">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="S." surname="Nandakumar" fullname="S. Nandakumar">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="C." surname="Holmberg" fullname="C. Holmberg">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="A." surname="Keränen" fullname="A. Keränen">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="R." surname="Shpount" fullname="R. Shpount">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2021" month="January"/>
          <abstract>
            <t indent="0">This document describes Session Description Protocol (SDP) Offer/Answer procedures for carrying out Interactive Connectivity Establishment (ICE) between the agents. </t>
            <t indent="0">This document obsoletes RFCs 5245 and 6336.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8839"/>
        <seriesInfo name="DOI" value="10.17487/RFC8839"/>
      </reference>
      <reference anchor="RFC8865" target="https://www.rfc-editor.org/info/rfc8865" quoteTitle="true" derivedAnchor="RFC8865">
        <front>
          <title>T.140 Real-Time Text Conversation over WebRTC Data Channels</title>
          <author initials="C." surname="Holmberg" fullname="C. Holmberg">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="G." surname="Hellström" fullname="G. Hellström">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2021" month="January"/>
          <abstract>
            <t indent="0">This document specifies how a Web Real-Time Communication (WebRTC) data channel can be used as a transport mechanism for real-time text using the ITU-T Protocol for multimedia application text conversation (Recommendation ITU-T T.140) and how the Session Description Protocol (SDP) offer/answer mechanism can be used to negotiate such a data channel, referred to as a T.140 data channel. This document updates RFC 8373 to specify its use with WebRTC data channels.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8865"/>
        <seriesInfo name="DOI" value="10.17487/RFC8865"/>
      </reference>
      <reference anchor="RFC8866" target="https://www.rfc-editor.org/info/rfc8866" quoteTitle="true" derivedAnchor="RFC8866">
        <front>
          <title>SDP: Session Description Protocol</title>
          <author initials="A." surname="Begen" fullname="A. Begen">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="P." surname="Kyzivat" fullname="P. Kyzivat">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="C." surname="Perkins" fullname="C. Perkins">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="M." surname="Handley" fullname="M. Handley">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2021" month="January"/>
          <abstract>
            <t indent="0">This memo defines the Session Description Protocol (SDP). SDP is intended for describing multimedia sessions for the purposes of session announcement, session invitation, and other forms of multimedia session initiation. This document obsoletes RFC 4566.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8866"/>
        <seriesInfo name="DOI" value="10.17487/RFC8866"/>
      </reference>
      <reference anchor="RFC9071" target="https://www.rfc-editor.org/info/rfc9071" quoteTitle="true" derivedAnchor="RFC9071">
        <front>
          <title>RTP-Mixer Formatting of Multiparty Real-Time Text</title>
          <author initials="G." surname="Hellström" fullname="G. Hellström">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2021" month="July"/>
          <abstract>
            <t indent="0">This document provides enhancements of real-time text (as specified in RFC 4103) suitable for mixing in a centralized conference model, enabling source identification and rapidly interleaved transmission of text from different sources. The intended use is for real-time text mixers and participant endpoints capable of providing an efficient presentation or other treatment of a multiparty real-time text session. The specified mechanism builds on the standard use of the Contributing Source (CSRC) list in the Real-time Transport Protocol (RTP) packet for source identification. The method makes use of the same "text/t140" and "text/red" formats as for two-party sessions. </t>
            <t indent="0">Solutions using multiple RTP streams in the same RTP session are briefly mentioned, as they could have some benefits over the RTP-mixer model. The RTP-mixer model was selected to be used for the fully specified solution in this document because it can be applied to a wide range of existing RTP implementations. </t>
            <t indent="0">A capability exchange is specified so that it can be verified that a mixer and a participant can handle the multiparty-coded real-time text stream using the RTP-mixer method. The capability is indicated by the use of a Session Description Protocol (SDP) (RFC 8866) media attribute, "rtt-mixer". </t>
            <t indent="0">This document updates RFC 4103 ("RTP Payload for Text Conversation").</t>
            <t indent="0"> A specification for how a mixer can format text for the case when the endpoint is not multiparty aware is also provided.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9071"/>
        <seriesInfo name="DOI" value="10.17487/RFC9071"/>
      </reference>
      <reference anchor="RFC9110" target="https://www.rfc-editor.org/info/rfc9110" quoteTitle="true" derivedAnchor="RFC9110">
        <front>
          <title>HTTP Semantics</title>
          <author initials="R." surname="Fielding" fullname="R. Fielding" role="editor">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="M." surname="Nottingham" fullname="M. Nottingham" role="editor">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="J." surname="Reschke" fullname="J. Reschke" role="editor">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2022" month="June"/>
          <abstract>
            <t indent="0">The Hypertext Transfer Protocol (HTTP) is a stateless application-level protocol for distributed, collaborative, hypertext information systems. This document describes the overall architecture of HTTP, establishes common terminology, and defines aspects of the protocol that are shared by all versions. In this definition are core protocol elements, extensibility mechanisms, and the "http" and "https" Uniform Resource Identifier (URI) schemes. </t>
            <t indent="0">This document updates RFC 3864 and obsoletes RFCs 2818, 7231, 7232, 7233, 7235, 7538, 7615, 7694, and portions of 7230.</t>
          </abstract>
        </front>
        <seriesInfo name="STD" value="97"/>
        <seriesInfo name="RFC" value="9110"/>
        <seriesInfo name="DOI" value="10.17487/RFC9110"/>
      </reference>
      <reference anchor="RFC9112" target="https://www.rfc-editor.org/info/rfc9112" quoteTitle="true" derivedAnchor="RFC9112">
        <front>
          <title>HTTP/1.1</title>
          <author initials="R." surname="Fielding" fullname="R. Fielding" role="editor">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="M." surname="Nottingham" fullname="M. Nottingham" role="editor">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="J." surname="Reschke" fullname="J. Reschke" role="editor">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2022" month="June"/>
          <abstract>
            <t indent="0">The Hypertext Transfer Protocol (HTTP) is a stateless application-level protocol for distributed, collaborative, hypertext information systems. This document specifies the HTTP/1.1 message syntax, message parsing, connection management, and related security concerns. </t>
            <t indent="0">This document obsoletes portions of RFC 7230.</t>
          </abstract>
        </front>
        <seriesInfo name="STD" value="99"/>
        <seriesInfo name="RFC" value="9112"/>
        <seriesInfo name="DOI" value="10.17487/RFC9112"/>
      </reference>
    </references>
    <references pn="section-13">
      <name slugifiedName="name-informative-references">Informative References</name>
      <reference anchor="RFC3665" target="https://www.rfc-editor.org/info/rfc3665" quoteTitle="true" derivedAnchor="RFC3665">
        <front>
          <title>Session Initiation Protocol (SIP) Basic Call Flow Examples</title>
          <author initials="A." surname="Johnston" fullname="A. Johnston">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="S." surname="Donovan" fullname="S. Donovan">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="R." surname="Sparks" fullname="R. Sparks">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="C." surname="Cunningham" fullname="C. Cunningham">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="K." surname="Summers" fullname="K. Summers">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2003" month="December"/>
          <abstract>
            <t indent="0">This document gives examples of Session Initiation Protocol (SIP) call flows.  Elements in these call flows include SIP User Agents and Clients, SIP Proxy and Redirect Servers.  Scenarios include SIP Registration and SIP session establishment.  Call flow diagrams and message details are shown.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="75"/>
        <seriesInfo name="RFC" value="3665"/>
        <seriesInfo name="DOI" value="10.17487/RFC3665"/>
      </reference>
      <reference anchor="RFC8126" target="https://www.rfc-editor.org/info/rfc8126" quoteTitle="true" derivedAnchor="RFC8126">
        <front>
          <title>Guidelines for Writing an IANA Considerations Section in RFCs</title>
          <author initials="M." surname="Cotton" fullname="M. Cotton">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="B." surname="Leiba" fullname="B. Leiba">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="T." surname="Narten" fullname="T. Narten">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2017" month="June"/>
          <abstract>
            <t indent="0">Many protocols make use of points of extensibility that use constants to identify various protocol parameters.  To ensure that the values in these fields do not have conflicting uses and to promote interoperability, their allocations are often coordinated by a central record keeper.  For IETF protocols, that role is filled by the Internet Assigned Numbers Authority (IANA).</t>
            <t indent="0">To make assignments in a given registry prudently, guidance describing the conditions under which new values should be assigned, as well as when and how modifications to existing values can be made, is needed.  This document defines a framework for the documentation of these guidelines by specification authors, in order to assure that the provided guidance for the IANA Considerations is clear and addresses the various issues that are likely in the operation of a registry.</t>
            <t indent="0">This is the third edition of this document; it obsoletes RFC 5226.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="26"/>
        <seriesInfo name="RFC" value="8126"/>
        <seriesInfo name="DOI" value="10.17487/RFC8126"/>
      </reference>
    </references>
    <section anchor="Acknowledgements" numbered="false" toc="include" removeInRFC="false" pn="section-appendix.a">
      <name slugifiedName="name-acknowledgements">Acknowledgements</name>
      <t indent="0" pn="section-appendix.a-1"><contact fullname="Brett Henderson"/> and <contact fullname="Jim Malloy"/> provided many helpful edits to prior draft versions of this document.  <contact fullname="Paul Kyzivat"/> provided extensive reviews and comments.</t>
    </section>
    <section anchor="authors-addresses" numbered="false" removeInRFC="false" toc="include" pn="section-appendix.b">
      <name slugifiedName="name-authors-address">Author's Address</name>
      <author fullname="Brian Rosen" initials="B." surname="Rosen">
        <address>
          <postal>
            <street>470 Conrad Dr</street>
            <city>Mars</city>
            <region>PA</region>
            <code>16046</code>
            <country>United States of America</country>
          </postal>
          <email>br@brianrosen.net</email>
        </address>
      </author>
    </section>
  </back>
</rfc>
