<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.6.17 (Ruby 3.0.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-rosenberg-mimi-spin-00" category="std" consensus="true" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.15.1 -->
  <front>
    <title abbrev="SPIN">Simple Protocol for Inviting Numbers (SPIN)</title>
    <seriesInfo name="Internet-Draft" value="draft-rosenberg-mimi-spin-00"/>
    <author initials="J." surname="Rosenberg" fullname="Jonathan Rosenberg">
      <organization>Five9</organization>
      <address>
        <email>jdrosen@jdrosen.net</email>
      </address>
    </author>
    <author initials="C." surname="Jennings" fullname="Cullen Jennings">
      <organization>Cisco</organization>
      <address>
        <email>fluffy@cisco.com</email>
      </address>
    </author>
    <author initials="A." surname="Cooper" fullname="Alissa Cooper">
      <organization>Cisco</organization>
      <address>
        <email>alissa@cooperw.in</email>
      </address>
    </author>
    <author initials="J." surname="Peterson" fullname="Jon Peterson">
      <organization>Neustar</organization>
      <address>
        <email>jon.peterson@neustar.biz</email>
      </address>
    </author>
    <date year="2022" month="October" day="24"/>
    <area>Applications</area>
    <workgroup>Mimi</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <t>This document introduces a framework and a protocol for facilitating voice, video and messaging interoperability between application providers. This work is motivated by the recent passage of regulation in the European Union - the Digital Markets Act (DMA) - which, amongst many other provisions, requires that vendors of applications with a large number of users enable interoperability with applications made by other vendors. While such interoperability is broadly present within the public switched telephone network, it is not yet commonplace between over-the-top applications, such as Facetime, WhatsApp, and Facebook Messenger. This document specifically defines the Simple Protocol for Inviting Numbers (SPIN) which is used to deliver invitations to mobile phone numbers that can bootstrap subsequent communications over the Internet.</t>
    </abstract>
  </front>
  <middle>
    <section anchor="problems">
      <name>Introduction</name>
      <t>Voice, video and messaging today is commonplace on the Internet, enabled by two distinct classes of software. The first are those provided by telecommunications carriers that make heavy use of standards, such as the Session Initiation Protocol (SIP) <xref target="RFC3261"/>. In this approach - which we call the telco model - there is interoperability between different telcos, but the set of features and functionality is limited by the rate of definition and adoption of standards, often measured in years or decades. The second model - the app model - allows a single entity to offer an application, delivering both the server side software and its corresponding client-side software. The client-side software is delivered either as a web application, or as a mobile application through a mobile operating system app store. The app model has proven incredibly successful by any measure. It trades off interoperability for innovation and velocity.</t>
      <t>The downside of the loss of interoperability is that entry into the market place by new providers is difficult. Applications like WhatsApp, Facebook Messenger, and Facetime, have user bases numbering in the hundreds of millions to billions of users. Any new application cannot connect with these user bases, requiring the vendor of the new app to bootstrap its own network effects.</t>
      <t>This situation has recently drawn the attention of regulators, and was one of the motivations behind the Digital Markets Act (DMA) in the European Union. Amongst its many provisions, it requires vendors of large communications platforms to enable interoperability with third party vendors. It does not, of course, specify an actual set of protocols or technologies for enabling that interoperability.</t>
      <t>This document seeks to fill that void, by defining a framework - the SPIN Framework - for such interoperability. This framework seeks to strike a balance between innovation and standardization, by identifying only those portions of the protocol stack that must be standardized in order to achieve end-to-end security for a minimum feature set between providers, and leaving everything else to APIs and protocols which each vendor can define on it's own.</t>
      <t>This framework identifies the need for a new protocol to solve the identity mapping problem - the SPIN Protocol. Specifically, how does an originating user using one application identify a target user in a different application with which they wish to communicate, and then obtain an identifier for the target user in the target application that is utilized by that target user? Consider the following example. User Alice is a user of Facebook Messenger, and wishes to send a 1-1 chat message to her friend Bob. Bob is a user of a different application for messaging - Signal for example - but this fact is not known to Alice. Alice needs to somehow obtain a URI that can be used to send messages to the Signal application targeted at Bob. This is the identity mapping problem, and is addressed by the SPIN protocol defined here.</t>
    </section>
    <section anchor="implications-of-no-standards-action">
      <name>Implications of no Standards Action</name>
      <t>In theory the application interoperability envisioned in the DMA could be achieved entirely through the publication of vendor-specific APIs and without standardization. However, this would yield a suboptimal outcome for both users and app developers, as supporting the matrix of pairwise communication flows between all of the affected voice, video, and messaging applications in the market via vendor-specific APIs will create a patchwork of inconsistent user experiences and likely lead to buggy implementations. Using a minimal standardized framework to bootstrap cross-app commmunications will provide more consistency while leaving app developers freedom to continue to make their own design choices.</t>
      <t>Furthermore, the usage of a standards-based solution ensures that end-to-end messaging, voice, and video can happen between providers. Without a standard, each vendor subject to the DMA will publish APIs for access to their services. These APIs have traditionally provided access to messages, voice and video that are not protected by e2e crypto. While it is possible, in theory, that each application provider could amend their APIs to provide access to e2e encrypted content, doing so without an agreed-upon standard will almost certainly lead to third parties decrypting in the cloud to avoid implementing N variations in each client, one for each provider they interop with.</t>
    </section>
    <section anchor="affected-actors">
      <name>Affected Actors</name>
      <t>The solution defined by the SPIN framework requires participation from multiple actors, and thus requires coordination through standards. These actors are:</t>
      <ul spacing="normal">
        <li>Mobile OS Vendors: Most notable Apple and Google. It requires them to implement new APIs in their operating systems, new user preference capabilities, and support for user identity through certificates.</li>
        <li>App Developers: App developers, such as a Signal or Facebook Messenger, are required to change. They are required to utilize the APIs exposed by the mobile OSs, and also implement the voice, video and/or chat protocols specified by the SPIN Framework.</li>
        <li>STIR/SHAKEN PA/CA: The SPIN framework suggests that it be possible for the mobile OS vendors to generate STIR certificates for the device. This requires that these vendors be supported as valid CAs for STIR.</li>
      </ul>
      <t>Note that the SPIN Framework described here does not require any support or changes from the carriers themselves (Note however, the open issue discussed below where we discuss an alternative certification model where the telcos perform delegation to the mobile OS vendors to install a cert on the phone).</t>
    </section>
    <section anchor="framework">
      <name>SPIN Framework</name>
      <t>The framework for SPIN is shown in the figure below:</t>
      <artwork><![CDATA[
+---------------+               +---------------+
|               | Comm Protocol |               |
|Originating Svc+---------------+Terminating Svc|
|               |               |               |
+-------+-------+               +-------+-------+
        |                               |
        |                               |
        |                               |
        |                               |
+-------+-------+               +-------+-------+
|               |               |               |
|Originating App|               |Terminating App|
|               |               |               |
+-------+-------+               +-------+-------+
        |                               |
+-------+-------+    +-----+    +-------+-------+
|Originating OS +----+ SMS +----+Terminating OS |
+---------------+    +-----+    +---------------+


]]></artwork>
      <t>In the framework, we have two users - the originating and terminating. The originating user wishes to send a message, make a video call, or make a voice call, to the terminating user. A fundamental assumption of SPIN is that the originating and terminating users are both identifiable by telephone numbers on the Public Switched Telephone Network (PSTN), and that the terminating user can be reached via SMS. The originating user knows the telephone number for the terminating user. The originating user is using an app running on an operating system. The operating system can be a mobile OS, such as iOS or Android. The originating OS exposes APIs towards the application, which allow the originating app to request communication to a user with the specified number. The originating app is associated with a service running on the Internet, and can connect to it for communications services. There is a similar setup on the terminating side - the user has an application running on an operating system which can receive SMS messages, and their app is associated with a service reachable over the Internet.</t>
      <t>The role of the operating systems in this framework is to act as a trust anchor. The OS is responsible for authenticating the applications and vetting their behaviors, as they normally do on mobile OSs.</t>
      <t>The goal of the SPIN protocol is to allow a user of the originating app to select a service (voice, video or messaging), and select a phone number to which they communicate, and then receive a URI which corresponds to the terminating service which can be used to perform that communication. The URIs of course correspond to protocols for that form of communication.</t>
      <t>Once the SPIN Protocol has run, the originating service now has a protocol URI for the particular media type - voice, video or chat, and can initiate it towards the terminating service. The SPIN Framework recommends specific protocols for voice, video and chat. For voice and video, the SPIN Framework suggests SIP <xref target="RFC3261"/>, with <xref target="I-D.rosenberg-dispatch-cloudsip"/>, <xref target="RFC8224"/> and the webRTC media stack. For messaging, it suggests creation of a new REST-based protocol for 1-1 messaging, including e2e encryption using STIR-based certificates, and features such as delivery and read receipts, emojis, stickers, reactions, threads, images, URLs, contacts, and so on, forming a baseline set of minimum viable 1-1 messaging. For the initial phase of SPIN, group communications would be out of scope.</t>
      <t>Though the framework is expressed in terms that align with mobile operating systems, the same framework can apply in other cases. For example, the terminating service, app and OS can logically be a single entity. As an example, the terminating service, app and OS could be associated with a Contact Center as a Service (CCaaS) provider. In that setup, the SMS messages are delivered directly to the CCaaS provider, and there is not a mobile operating system involved to receive them.</t>
    </section>
    <section anchor="spin-protocol-overview">
      <name>SPIN Protocol Overview</name>
      <t>The behavior of the SPIN Protocol is best understood through a high level sequence diagram:</t>
      <artwork><![CDATA[
+-----------+         +---------+ +-----------+ +-----+  +---------+           +-----------+ +-----------+
| orig_app  |         | orig_os | | orig_svc  | | sms |  | term_os |           | term_app  | | term_svc  |
+-----------+         +---------+ +-----------+ +-----+  +---------+           +-----------+ +-----------+
      |                    |            |          |          |                      |             |
      |                    |            |          |          |             register |             |
      |                    |            |          |          |<---------------------|             |
      |                    |            |          |          |                      |             |
      | call {number}      |            |          |          |                      |             |
      |------------------->|            |          |          |                      |             |
      |                    |            |          |          |                      |             |
      |                    | inv        |          |          |                      |             |
      |                    |---------------------->|          |                      |             |
      |                    |            |          |          |                      |             |
      |                    |            |          | inv      |                      |             |
      |                    |            |          |--------->|                      |             |
      |                    |            |          |          | -------------\       |             |
      |                    |            |          |          |-| verify sig |       |             |
      |                    |            |          |          | |------------|       |             |
      |                    |            |          |          | ---------------\     |             |
      |                    |            |          |          |-| verify hndlr |     |             |
      |                    |            |          |          | |--------------|     |             |
      |                    |            |          |          |                      |             |
      |                    |            |          | send URI |                      |             |
      |                    |<---------------------------------|                      |             |
      |                    |            |          |          |                      |             |
      |                URI |            |          |          |                      |             |
      |<-------------------|            |          |          |                      |             |
      |                    |            |          |          |                      |             |
      | req passport       |            |          |          |                      |             |
      |------------------->|            |          |          |                      |             |
      |                    |            |          |          |                      |             |
      |           passport |            |          |          |                      |             |
      |<-------------------|            |          |          |                      |             |
      |                    |            |          |          |                      |             |
      | call               |            |          |          |                      |             |
      |-------------------------------->|          |          |                      |             |
      |                    |            |          |          |                      |             |
      |                    |            | INVITE   |          |                      |             |
      |                    |            |--------------------------------------------------------->|
      |                    |            |          |          |                      |             |


      
]]></artwork>
      <t>On the terminating side, the terminating user at some point installs an application which is capable of handling communications for one or more media types (voice, video or messaging). The application will register with the terminating OS, using APIs exposed in the OS, that it is capable of acting as a SPIN handler. As part of the registration, the application provides the OS with a URI for the service it provides of that media type. As discussed below, this can be a proprietary API, or can be a baseline standard protocol. In the case of voice, that baseline standard is SIP, and in particular, cloud SIP <xref target="I-D.rosenberg-dispatch-cloudsip"/>.</t>
      <t>Later on, a user in an originating application decides to place a call to a number. The originating application does not have a user with that number as part of its own service, so it knows it needs to use SPIN to route the call. It goes to the operating system on the mobile phone, and requests it to provide a URI for voice communications to the specified phone number. The originating OS then prepares an SPINvitation object. This is a JWT which contains several fields. THe fields include the phone number of the originating user (which must be known and verified by the mobile OS), and an HTTP URI that can be used by the terminating OS to send the results back, and the communications service that is requested. This HTTP URI will normally contain an embedded Authorization header field that contains a short-lived token, valid to send the results back. It then signs the JWT and sends an SMS (more likely, an MMS given the size of the signed object), to the target user's phone number. The terminating OS receives the SMS/MMS, and notices that it contains an SPINvitation object, and thus should not be rendered to the user. Should the terminating user and its OS not support this protocol, it will end up rendering the MMS. The MMS includes some plain text, which can be rendered to the user, indicating that the caller wishes to speak with them, so that the human user can take some action (like a return voice call over the PSTN).</t>
      <t>Assuming the terminating OS supports this protocol, the MMS is absorbed and decoded. THe signature is verified and then the communications service is obtained. In this example use case, it is for a voice call. The terminating OS has an application that has registered itself as a handler for voice. Note that, the terminating user might have multiple applications on their OS which can act as handlers for voice. In such a case, the mobile OS would offer the user a configuration setting to choose one as a default.</t>
      <t>The app had previously registered itself as a handler and provided a SIP URI for the receipt of calls, something like sip:{number}@provider.com. This URI is sent back to the originating OS. Rather than sending this back via SMS/MMS, IP communications are used. The invitation object contained an HTTP URI which can be used by the terminating OS to send the SIP URI. The SPIN protocol defines the exact syntax and semantics of this HTTP POST operation. This is received by the originating OS, which then informs the app that it was able to locate the user. The originating OS provides the communications URI (in this case, a SIP URI for voice calls).</t>
      <t>Next - the originating app places a SIP call. Because we are now dealing with inter-domain and inter-provider calls, secure caller ID is required. SPIN requires that STIR passports <xref target="RFC8225"/> are included, sent using <xref target="RFC8224"/>. The originating OS is required to obtain a passport that is valid for the originating user. In this framework, this is done by virtue of the mobile OS having a certificate by which it can perform the signing operation directly.</t>
      <t>There are two ways in which the originating OS can obtain such a certificate. In one approach, the mobile OS would perform SMS verification (again, invisibly, by absorbing the SMS it sends to itself), and add an additional check of comparing it agaisnt the mobile numnber the user claimed they owned during provisioning time of the device. The mobile OS vendor would be a valid CA, and then generte a certificate valid for that individual phone number. In an alternative model, the telco uses certificate delegation <xref target="RFC9060"/>, and generates a certificate that is handed to the phone during device provisioning. The latter approach is more secure in some ways (as it would no longer depend on SMS forward routability for authentication of a user), but is much harder to deploy.</t>
      <t>The originating app makes an API call into the OS to obtain the passport, which is then returned to the app. The app uses its own app-specific protocols to communicate with its servers, and will send the passport and the terminating user's phone number to its service. Its service will then send a SIP INVITE to the target number, including the passport in the SIP Identity header field. From there, the terminating service can alert its app using the mobile OS push techniques, and a call has been placed.</t>
      <t>The SPIN framework therefore consists of the following:</t>
      <ol spacing="normal" type="1"><li>A standardized syntax for the SPINvitation object that can be sent via MMS</li>
        <li>A standardized HTTP-based protocol for providing URIs for communications - the actual SPIN on the wire protocol</li>
        <li>Recommendations for mobile OS vendors on APIs they should provide to enable SPIN, without actually specifying any details of what those APIs look like</li>
        <li>Specifications for communications protocols needed for voice, video and messaging between app providers</li>
      </ol>
    </section>
    <section anchor="spinvitation-object-syntax">
      <name>SPINvitation Object Syntax</name>
      <t>This will be a JWT that contains:</t>
      <ul spacing="normal">
        <li>The desired media type, one of an enumerated set</li>
        <li>An HTTP URI for a callback</li>
      </ul>
      <t>Details TBD.</t>
    </section>
    <section anchor="spin-protocol-for-providing-uris">
      <name>SPIN Protocol for Providing URIs</name>
      <t>To be filled in</t>
    </section>
    <section anchor="mobile-os-vendor-api-recommendations">
      <name>Mobile OS vendor API Recommendations</name>
      <t>To be filled in</t>
    </section>
    <section anchor="specifications-of-communications-protocols">
      <name>Specifications of Communications Protocols</name>
      <t>There are several ways in which the communications protocols could be specified. On one extreme, the standard could leave this entirely up to the terminating provider to define its protocol or API and document it publically. It would then be the responsibility of the originating service to implement each of these APIs for every terminating provider it wishes to speak to. On the other extreme, we can fully specify a protocol - most likely with reference to existing standards.</t>
      <t>SPIN tries to take a middle ground. It allows terminating providers to choose whether their interface is proprietary, or, whether it follows a minimum baseline protocol specified here.</t>
      <section anchor="voice-and-video">
        <name>Voice and Video</name>
        <t>Because the communications are between providers that may not have previously had an established bilateral relationship, we want the communications to be possible without any kind of manual configuration. For this reason, SPIN specifies that the default voice and video communications protocol is SIP <xref target="RFC3261"/>, along with it's extension for cloud SIP <xref target="I-D.rosenberg-dispatch-cloudsip"/>, and it utilizes the media protocols standardized by webRTC. The usage of cloud SIP allows scalable, reliable, inter-provider SIP over the Internet, and the usage of the webRTC media stack provides a well-defined baseline media stack that is already widely implemented. The SIP messaging MUST utilize <xref target="RFC8224"/> to ensure secure user identity. Media between the originating and terminating service will be DTLS-SRTP by virtue of using webRTC, and e2e media encryption is supported and bootstrapped using a certificate bound to the user's phone numbers. The mobile OS would hold the STIR certificate, and allow the application to request a signature over the keying material for driving DTLS-SRTP.</t>
        <t>Details to be filled out.</t>
      </section>
      <section anchor="messaging">
        <name>Messaging</name>
        <t>For messaging, 1-1 messaging will be supported in the initial specification. All messages will be e2e encrypted, using the STIR certificate as well. A specification will be produced that defines a REST-based protocol for basic 1-1 messaging features, including read receipts, delivery notifications, typing indicators, images, videos, contact cards, and so on. A baseline set of capabilities would be provided, along with an extensibility framework for future content that would allow users to pop out to a browser in cases where some new content is added, that is not yet supported.</t>
        <t>Details TBD.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The SPIN protocol defined here is meant to address the following threats:</t>
      <ul spacing="normal">
        <li>A malicious application that "steals" incoming calls or chats against user wishes. To prevent this, this protocol enlists the mobile operating system as a trusted third party that governs dispatch of communication requests to the right application based on user preferences.</li>
        <li>A malicious application that spams target users with requests for communication. This is mitigated by enlisting the aid of the mobile operating system on the terminating side to absorb SMS's conforming to this specification, and not presenting them to the user. Digital signatures are used over the content of the SMS messages, and the terminating OS can validate that it trusts the sender before taking further action.</li>
        <li>Intermediates that eavesdrop on communications between app providers. This is mitigated by using e2e encryption across messaging, voice and video, ensuring it can be retained when crossing provider boundaries.</li>
      </ul>
    </section>
  </middle>
  <back>
    <references>
      <name>Normative References</name>
      <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
        <front>
          <title>Key words for use in RFCs to Indicate Requirement Levels</title>
          <author fullname="S. Bradner" initials="S." surname="Bradner"/>
          <date month="March" year="1997"/>
          <abstract>
            <t>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="RFC3261" target="https://www.rfc-editor.org/info/rfc3261" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3261.xml">
        <front>
          <title>SIP: Session Initiation Protocol</title>
          <author fullname="J. Rosenberg" initials="J." surname="Rosenberg"/>
          <author fullname="H. Schulzrinne" initials="H." surname="Schulzrinne"/>
          <author fullname="G. Camarillo" initials="G." surname="Camarillo"/>
          <author fullname="A. Johnston" initials="A." surname="Johnston"/>
          <author fullname="J. Peterson" initials="J." surname="Peterson"/>
          <author fullname="R. Sparks" initials="R." surname="Sparks"/>
          <author fullname="M. Handley" initials="M." surname="Handley"/>
          <author fullname="E. Schooler" initials="E." surname="Schooler"/>
          <date month="June" year="2002"/>
          <abstract>
            <t>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="RFC8224" target="https://www.rfc-editor.org/info/rfc8224" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8224.xml">
        <front>
          <title>Authenticated Identity Management in the Session Initiation Protocol (SIP)</title>
          <author fullname="J. Peterson" initials="J." surname="Peterson"/>
          <author fullname="C. Jennings" initials="C." surname="Jennings"/>
          <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
          <author fullname="C. Wendt" initials="C." surname="Wendt"/>
          <date month="February" year="2018"/>
          <abstract>
            <t>The baseline security mechanisms in the Session Initiation Protocol (SIP) are inadequate for cryptographically assuring the identity of the end users that originate SIP requests, especially in an interdomain context. This document defines a mechanism for securely identifying originators of SIP requests. It does so by defining a SIP header field for conveying a signature used for validating the identity and for conveying a reference to the credentials of the signer.</t>
            <t>This document obsoletes RFC 4474.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8224"/>
        <seriesInfo name="DOI" value="10.17487/RFC8224"/>
      </reference>
      <reference anchor="RFC8225" target="https://www.rfc-editor.org/info/rfc8225" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8225.xml">
        <front>
          <title>PASSporT: Personal Assertion Token</title>
          <author fullname="C. Wendt" initials="C." surname="Wendt"/>
          <author fullname="J. Peterson" initials="J." surname="Peterson"/>
          <date month="February" year="2018"/>
          <abstract>
            <t>This document defines a method for creating and validating a token that cryptographically verifies an originating identity or, more generally, a URI or telephone number representing the originator of personal communications.  The Personal Assertion Token, PASSporT, is cryptographically signed to protect the integrity of the identity of the originator and to verify the assertion of the identity information at the destination.  The cryptographic signature is defined with the intention that it can confidently verify the originating persona even when the signature is sent to the destination party over an insecure channel.  PASSporT is particularly useful for many personal-communications applications over IP networks and other multi-hop interconnection scenarios where the originating and destination parties may not have a direct trusted relationship.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8225"/>
        <seriesInfo name="DOI" value="10.17487/RFC8225"/>
      </reference>
      <reference anchor="RFC9060" target="https://www.rfc-editor.org/info/rfc9060" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9060.xml">
        <front>
          <title>Secure Telephone Identity Revisited (STIR) Certificate Delegation</title>
          <author fullname="J. Peterson" initials="J." surname="Peterson"/>
          <date month="September" year="2021"/>
          <abstract>
            <t>The Secure Telephone Identity Revisited (STIR) certificate profile provides a way to attest authority over telephone numbers and related identifiers for the purpose of preventing telephone number spoofing.  This specification details how that authority can be delegated from a parent certificate to a subordinate certificate.  This supports a number of use cases, including those where service providers grant credentials to enterprises or other customers capable of signing calls with STIR.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9060"/>
        <seriesInfo name="DOI" value="10.17487/RFC9060"/>
      </reference>
      <reference anchor="I-D.rosenberg-dispatch-cloudsip" target="https://www.ietf.org/archive/id/draft-rosenberg-dispatch-cloudsip-00.txt" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.rosenberg-dispatch-cloudsip.xml">
        <front>
          <title>SIP Extensions for High Availability and Load Balancing for Public Cloud</title>
          <author fullname="Jonathan Rosenberg" surname="Jonathan Rosenberg">
            <organization>Five9</organization>
          </author>
          <author fullname="Cullen Jennings" surname="Cullen Jennings">
            <organization>Cisco</organization>
          </author>
          <author fullname="Tolga Asveren" surname="Tolga Asveren">
            <organization>Ribbon Communications</organization>
          </author>
          <date day="21" month="February" year="2021"/>
          <abstract>
            <t>Software making use of the Session Initiation Protocol (SIP) faces challenges in achieving high availability, especially for call stateful applications like softswitches, Session Border Controllers (SBCs), and IP-based call centers applications. The state maintained in the SIP, SDP and SRTP layers changes frequently, and is difficult to replicate. For this reason, commercial systems have often relied on complex active-standby configurations making use of IP address takeover. These solutions are also ill-suited for usage in modern public cloud environments. This document defines a SIP extension facilitating HA, including keeping calls active, which is optimized for server-to-server communication where one or both sides are in public cloud.</t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-rosenberg-dispatch-cloudsip-00"/>
      </reference>
      <reference anchor="I-D.ietf-mls-architecture" target="https://www.ietf.org/archive/id/draft-ietf-mls-architecture-09.txt" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-mls-architecture.xml">
        <front>
          <title>The Messaging Layer Security (MLS) Architecture</title>
          <author fullname="Benjamin Beurdouche" surname="Benjamin Beurdouche">
            <organization>Inria &amp; Mozilla</organization>
          </author>
          <author fullname="Eric Rescorla" surname="Eric Rescorla">
            <organization>Mozilla</organization>
          </author>
          <author fullname="Emad Omara" surname="Emad Omara">
            <organization>Google</organization>
          </author>
          <author fullname="Srinivas Inguva" surname="Srinivas Inguva">
            <organization>Twitter</organization>
          </author>
          <author fullname="Albert Kwon" surname="Albert Kwon">
            <organization>MIT</organization>
          </author>
          <author fullname="Alan Duric" surname="Alan Duric">
            <organization>Wire</organization>
          </author>
          <date day="19" month="August" year="2022"/>
          <abstract>
            <t>The Messaging Layer Security (MLS) protocol [I-D.ietf-mls-protocol] specification has the role of defining a Group Key Agreement protocol, including all the cryptographic operations and serialization/deserialization functions necessary for scalable and secure group messaging. The MLS protocol is meant to protect against eavesdropping, tampering, message forgery, and provide further properties such as Forward Secrecy (FS) and Post-Compromise Security (PCS) in the case of past or future device compromises. This document describes a general secure group messaging infrastructure and its security goals. It provides guidance on building a group messaging system and discusses security and privacy tradeoffs offered by multiple security mechanisms that are part of the MLS protocol (e.g., frequency of public encryption key rotation). The document also provides guidance for parts of the infrastructure that are not standardized by the MLS Protocol document and left to the application or the infrastructure architects to design. While the recommendations of this document are not mandatory to follow in order to interoperate at the protocol level, they affect the overall security guarantees that are achieved by a messaging application. This is especially true in case of active adversaries that are able to compromise clients, the delivery service, or the authentication service.</t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-mls-architecture-09"/>
      </reference>
    </references>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
