Network Working Group J. Rosenberg Internet-Draft Five9 Intended status: Standards Track February 7, 2020 Expires: August 10, 2020 RealTime Internet Peering for Telephony (RIPT) Compatibility with webRTC draft-rosenberg-dispatch-ript-webrtc-00 Abstract The Real-Time Internet Peering for Telephony (RIPT) Protocol defines a technique for establishing, terminating and otherwise managing calls between entities in differing administrative domains. The RIPT Inbound extension brings this to end clients, such as a browser. However, it defines a different technique for media that cannot directly use the webRTC APIs, and require a change to them. This specification provides an extension to RIPT for webRTC compatibility, enabling media to flow from browser to server as is done with RIPT, or from browser to browser as is done with webRTC. It also discusses techniques for sending e2e encrypted media. Status of This Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at https://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." This Internet-Draft will expire on August 10, 2020. Copyright Notice Copyright (c) 2020 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents Rosenberg Expires August 10, 2020 [Page 1] Internet-Draft RIPT webRTC February 2020 carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 2. Overview of Operation . . . . . . . . . . . . . . . . . . . . 2 3. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 3 4. Security Considerations . . . . . . . . . . . . . . . . . . . 3 5. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 3 6. Normative References . . . . . . . . . . . . . . . . . . . . 3 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119]. 2. Overview of Operation Basic idea: The TG indicates that this compatibility mode is supported on the TG. The handler is also indicates that this mode is supported. The handler includes its own ICE candidates. This means we provide the ICE candidates at "registration" time and not before the call. This is necessary to facilitate the many call move and other operations in RIPT-inbound. This also means the browser needs to keep them fresh all of the time, rather than just before the call [[is this posible with current API??]]. Since the media is sent by DTLS-SRTP and not embedded as media chunks in a client-to-server HTTPS connection, the browser includes its fingerprint in the handler as well. To initiate this compatibility mode for media, the server indicates as such in the directive. It can only put it in a directive if the handler that is selected, supports the mode. The directive includes the ICE candidates from the peer. This will trigger the client to perform ICE and send media (which will be DTLS-SRTP). RIPT itself doesnt convey the ICE candidates in the server to server link, since its only through handler whih is static for a device and not per-call. So we'd either need to move them, develop a separate way to convey them, or assume SIP or some other technique is used for server to server calls. Rosenberg Expires August 10, 2020 [Page 2] Internet-Draft RIPT webRTC February 2020 Suggest we also require a well-known port for media, and we'll need an RTP headr extension to convey the callID since its included inband in RIPT. 3. IANA Considerations TODO 4. Security Considerations TODO 5. Acknowledgements Thanks to Justin Uberti and Cullen Jennings for the discussion on this concept. 6. Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, . Author's Address Jonathan Rosenberg Five9 Email: jdrosen@jdrosen.net Rosenberg Expires August 10, 2020 [Page 3]