idnits 2.17.1 draft-ietf-rum-rue-08.txt: -(1562): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- == There are 3 instances of lines with non-ascii characters in the document. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (1 October 2021) is 938 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) -- Looks like a reference, but probably isn't: '1' on line 468 -- Looks like a reference, but probably isn't: '2' on line 474 ** Downref: Normative reference to an Informational RFC: RFC 3960 ** Downref: Normative reference to an Informational RFC: RFC 5168 ** Obsolete normative reference: RFC 7525 (Obsoleted by RFC 9325) ** Obsolete normative reference: RFC 8829 (Obsoleted by RFC 9429) Summary: 4 errors (**), 0 flaws (~~), 2 warnings (==), 3 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 rum B. Rosen 3 Internet-Draft 1 October 2021 4 Intended status: Standards Track 5 Expires: 4 April 2022 7 Interoperability Profile for Relay User Equipment 8 draft-ietf-rum-rue-08 10 Abstract 12 Video Relay Service (VRS) is a term used to describe a method by 13 which a hearing person can communicate with a deaf, hard of hearing 14 or hearing impaired user using an interpreter ("Communications 15 Assistant") connected via a videophone to the deaf/HoH user and an 16 audio telephone call to the hearing user. The CA interprets using 17 sign language on the videophone link and voice on the telephone link. 18 Often the interpreters may be employed by a company or agency termed 19 a "provider" in this document. The provider also provides a video 20 service that allows users to connect video devices to their service, 21 and subsequently to CAs and other deaf/HoH users. It is desirable 22 that the videophones used by the deaf, hard of hearing or hearing 23 impaired user conform to a standard so that any device may be used 24 with any provider and that direct video calls between deaf, hard of 25 hearing or hearing impaired users work. This document describes the 26 interface between a videophone and a provider. 28 Status of This Memo 30 This Internet-Draft is submitted in full conformance with the 31 provisions of BCP 78 and BCP 79. 33 Internet-Drafts are working documents of the Internet Engineering 34 Task Force (IETF). Note that other groups may also distribute 35 working documents as Internet-Drafts. The list of current Internet- 36 Drafts is at https://datatracker.ietf.org/drafts/current/. 38 Internet-Drafts are draft documents valid for a maximum of six months 39 and may be updated, replaced, or obsoleted by other documents at any 40 time. It is inappropriate to use Internet-Drafts as reference 41 material or to cite them other than as "work in progress." 43 This Internet-Draft will expire on 4 April 2022. 45 Copyright Notice 47 Copyright (c) 2021 IETF Trust and the persons identified as the 48 document authors. All rights reserved. 50 This document is subject to BCP 78 and the IETF Trust's Legal 51 Provisions Relating to IETF Documents (https://trustee.ietf.org/ 52 license-info) in effect on the date of publication of this document. 53 Please review these documents carefully, as they describe your rights 54 and restrictions with respect to this document. Code Components 55 extracted from this document must include Simplified BSD License text 56 as described in Section 4.e of the Trust Legal Provisions and are 57 provided without warranty as described in the Simplified BSD License. 59 Table of Contents 61 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 62 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 63 3. Requirements Language . . . . . . . . . . . . . . . . . . . . 6 64 4. General Requirements . . . . . . . . . . . . . . . . . . . . 6 65 5. SIP Signaling . . . . . . . . . . . . . . . . . . . . . . . . 6 66 5.1. Registration . . . . . . . . . . . . . . . . . . . . . . 8 67 5.2. Session Establishment . . . . . . . . . . . . . . . . . . 9 68 5.2.1. Normal Call Origination . . . . . . . . . . . . . . . 9 69 5.2.2. Dial-Around Origination . . . . . . . . . . . . . . . 10 70 5.2.3. RUE Contact Information . . . . . . . . . . . . . . . 11 71 5.2.4. Incoming Calls . . . . . . . . . . . . . . . . . . . 11 72 5.2.5. Emergency Calls . . . . . . . . . . . . . . . . . . . 12 73 5.3. Mid Call Signaling . . . . . . . . . . . . . . . . . . . 12 74 5.4. URI Representation of Phone Numbers . . . . . . . . . . . 13 75 5.5. Transport . . . . . . . . . . . . . . . . . . . . . . . . 13 76 6. Media . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 77 6.1. SRTP and SRTCP . . . . . . . . . . . . . . . . . . . . . 14 78 6.2. Text-Based Communication . . . . . . . . . . . . . . . . 14 79 6.3. Video . . . . . . . . . . . . . . . . . . . . . . . . . . 14 80 6.4. Audio . . . . . . . . . . . . . . . . . . . . . . . . . . 14 81 6.5. DTMF Digits . . . . . . . . . . . . . . . . . . . . . . . 15 82 6.6. Session Description Protocol . . . . . . . . . . . . . . 15 83 6.7. Privacy . . . . . . . . . . . . . . . . . . . . . . . . . 15 84 6.8. Negative Acknowledgment, Packet Loss Indicator, and Full 85 Intraframe Request Features . . . . . . . . . . . . . . . 15 86 7. Contacts . . . . . . . . . . . . . . . . . . . . . . . . . . 15 87 7.1. CardDAV Login and Synchronization . . . . . . . . . . . . 15 88 7.2. Contacts Import/Export Service . . . . . . . . . . . . . 16 89 8. Video Mail . . . . . . . . . . . . . . . . . . . . . . . . . 16 90 9. Provisioning and Provider Selection . . . . . . . . . . . . . 17 91 9.1. RUE Provider Selection . . . . . . . . . . . . . . . . . 17 92 9.2. RUE Configuration Service . . . . . . . . . . . . . . . . 19 93 9.2.1. Provider Configuration . . . . . . . . . . . . . . . 20 94 9.2.2. RUE Configuration . . . . . . . . . . . . . . . . . . 21 95 9.2.3. Examples . . . . . . . . . . . . . . . . . . . . . . 22 96 9.2.4. Using the Provider Selection and RUE Configuration 97 Services Together . . . . . . . . . . . . . . . . . . 23 99 9.3. OpenAPI Interface Descriptions . . . . . . . . . . . . . 23 100 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 28 101 10.1. RUE Provider List Registry . . . . . . . . . . . . . . . 28 102 10.2. Registration of rue-owner Value of the purpose 103 Parameter . . . . . . . . . . . . . . . . . . . . . . . 28 104 11. Security Considerations . . . . . . . . . . . . . . . . . . . 29 105 12. Normative References . . . . . . . . . . . . . . . . . . . . 29 106 13. Informative References . . . . . . . . . . . . . . . . . . . 35 107 Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 35 108 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 35 110 1. Introduction 112 Video Relay Service (VRS) is a form of Telecommunications Relay 113 Service (TRS) that enables persons with hearing disabilities who use 114 sign language, such as American Sign Language (ASL), to communicate 115 with voice telephone users through video equipment. These services 116 also enable communication between such individuals directly in 117 suitable modalities, including any combination of sign language via 118 video, real-time text (RTT), and speech. 120 This Interoperability Profile for Relay User Equipment (RUE) is a 121 profile of the Session Initiation Protocol (SIP) and related media 122 protocols that enables end-user equipment registration and calling 123 for VRS calls. It specifies the minimal set of call flows, Internet 124 Engineering Task Force (IETF) and ITU-T standards that must be 125 supported, provides guidance where the standards leave multiple 126 implementation options, and specifies minimal and extended 127 capabilities for RUE calls. 129 Both deaf/HoH to provider (interpreted) and direct deaf/HoH to deaf/ 130 HoH calls are supported on this interface. While there are some 131 accommodations in this document to maximize backwards compatibility 132 with other devices and services that are used to provide VRS service, 133 backwards compatibility is not a requirement, and some interwork may 134 be required to allow direct video calls to older devices. This 135 document only describes the interface between the device and the 136 provider, and not any other interface the provider may have. 138 2. Terminology 140 Communication Assistant (CA): A sign-language interpreter working for 141 a VRS provider, providing functionally equivalent phone service. 143 Communication modality (modality): A specific form of communication 144 that may be employed by two users, e.g., English voice, Spanish 145 voice, American Sign Language, English lip-reading, or French real- 146 time-text. Here, one communication modality is assumed to encompass 147 both the language and the way that language is exchanged. For 148 example, English voice and French voice are two different 149 communication modalities. 151 Default video relay service: The video relay service operated by a 152 subscriber's default VRS provider. 154 Default video relay service provider (default provider): The VRS 155 provider that registers, and assigns a telephone number to a specific 156 subscriber, and by default provides the VRS for incoming voice calls 157 to the user. The default provider also by default provides VRS for 158 outgoing relay calls. The user can have more than one telephone 159 number and each has a default provider. 161 Outbound Dial-around call: A relay call where the subscriber 162 specifies the use of a VRS provider other than the default VRS 163 provider. This can be accomplished by the user dialing a "front- 164 door" number for a VRS provider and signing or texting a phone number 165 to call ("two-stage"). Alternatively, this can be accomplished by 166 the user's RUE software instructing the server of its default VRS 167 provider to automatically route the call through the alternate 168 provider to the desired public switched telephone network (PSTN) 169 directory number ("one-stage"). Dial-around is per-call -- for any 170 call, a user can use the default VRS provider or any dial-around VRS 171 provider. 173 Full Intra Request (FIR): A request to a video media sender, 174 requiring that media sender to send a Decoder Refresh Point at the 175 earliest opportunity. FIR is sometimes known as "instantaneous 176 decoder refresh request", "video fast update request", or "fast 177 update request". 179 Point-to-Point Call (P2P Call): A call between two RUEs, without 180 including a CA. 182 Relay call: A call that allows persons with hearing or speech 183 disabilities to use a RUE to talk to users of traditional voice 184 services with the aid of a communication assistant (CA) to relay the 185 communication. 187 Relay service (RS): A service that allow a registered subscriber to 188 use a RUE to make and receive relay calls, point-to-point calls, and 189 relay-to-relay calls. The functions provided by the relay service 190 include the provision of media links supporting the communication 191 modalities used by the caller and callee, and user registration and 192 validation, authentication, authorization, automatic call distributor 193 (ACD) platform functions, routing (including emergency call routing), 194 call setup, mapping, call features (such as call forwarding and video 195 mail), and assignment of CAs to relay calls. 197 Relay service provider (provider): An organization that operates a 198 relay service. A subscriber selects a relay service provider to 199 assign and register a telephone number for their use, to register 200 with for receipt of incoming calls, and to provide the default 201 service for outgoing calls. 203 Relay user: Please refer to "subscriber". 205 Relay user E.164 Number (user E.164): The telephone number (in ITU-T 206 E.164 format) assigned to the user. 208 Relay user equipment (RUE): A SIP user agent (UA) enhanced with extra 209 features to support a subscriber in requesting, receiving and using 210 relay calls. A RUE may take many forms, including a stand-alone 211 device; an application running on a general-purpose computing device 212 such as a laptop, tablet or smart phone; or proprietary equipment 213 connected to a server that provides the RUE interface. 215 RUE Interface: the interfaces described in this document between a 216 RUE and a VRS provider who supports it 218 Sign language: A language that uses hand gestures and body language 219 to convey meaning including, but not limited to, American Sign 220 Language (ASL). 222 Subscriber: An individual who has registered with a provider and who 223 obtains service by using relay user equipment. This is the 224 traditional telecom term for an end-user customer, which in our case 225 is a relay user. A user may be a subscriber to more than one VRS 226 provider. 228 Video relay service (VRS): A relay service for people with hearing or 229 speech disabilities who use sign language to communicate using video 230 equipment (video RUE) with other people in real time. The video link 231 allows the CA to view and interpret the subscriber's signed 232 conversation and relay the conversation back and forth with the other 233 party. 235 3. Requirements Language 237 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 238 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 239 "OPTIONAL" in this document are to be interpreted as described in BCP 240 14 [RFC2119] [RFC8174] when, and only when, they appear in all 241 capitals, as shown here. Lower- or mixed-case uses of these key 242 words are not to be interpreted as carrying special significance in 243 this memo. 245 4. General Requirements 247 All HTTP/HTTPS connections specified throughout this document MUST 248 use HTTPS. Both HTTPS and all SIP connections MUST use TLS 249 conforming to at least [RFC7525] and MUST support [RFC8446]. 251 All text data payloads not otherwise constrained by a specification 252 in another standards document MUST be encoded as Unicode UTF-8. 254 Implementations MUST support IPv4 and IPv6. Dual stack support is 255 NOT required and provider implementations MAY support separate 256 interfaces for IPv4 and IPv6 by having more than one server in the 257 appropriate SRV record where there is either an A or AAAA record in 258 each server DNS record but not both. The same version of IP MUST be 259 used for both signaling and media of a call unless ICE ([RFC8445]) is 260 used, in which case candidates may explicitly offer IPv4, IPv6 or 261 both for any media stream. 263 5. SIP Signaling 265 Implementations of the RUE Interface MUST conform to the following 266 core SIP standards: 268 * [RFC3261] (Base SIP) 270 * [RFC3263] (Locating SIP Servers) 272 * [RFC3264] (Offer/Answer) 274 * [RFC3840] (User Agent Capabilities) 276 * [RFC5626] (Outbound) 278 * [RFC8866] (Session Description Protocol) 280 * [RFC3323] (Privacy) 282 * [RFC3605] (RTCP Attribute in SDP) 283 * [RFC6665] (SIP Events) 285 * [RFC3311] (UPDATE Method) 287 * [RFC5393] (Loop-Fix) 289 * [RFC5658] (Record Route fix) 291 * [RFC5954] (ABNF fix) 293 * [RFC3960] (Early Media) 295 * [RFC6442] (Geolocation header field) 297 In the above documents the RUE device conforms to the requirements of 298 a SIP user Agent, and the provider conforms to the requirements of 299 Registrar and Proxy Server where the document specifies different 300 behavior for different roles. The only requirement on providers for 301 RFC6655 (Events) is support for the Message Waiting Indicator (See 302 Section 8), which is optional and providers not supporting voicemail 303 need not support RFC6665. 305 In addition, implementation MUST conform to: 307 * [RFC3327] (Path) 309 * [RFC8445] and [RFC8839] (ICE) 311 * [RFC3326] (Reason header field) 313 * [RFC3515] (REFER Method) 315 * [RFC3891] (Replaces Header field) 317 * [RFC3892] (Referred-By) 319 Implementations MUST include a "User-Agent" header field uniquely 320 identifying the RUE application, platform, and version in all SIP 321 requests, and MUST include a "Server" header field with the same 322 content in SIP responses. 324 Implementations intended to support mobile platforms MUST support 325 [RFC8599] and MUST use it as at least one way to support waking up 326 the client from background state. 328 5.1. Registration 330 The RUE MUST register with a SIP registrar, following [RFC3261] and 331 [RFC5626] at a provider it has an account with. If the configuration 332 (see Section 9.2) contains multiple "outbound-proxies", then the RUE 333 MUST use them as specified in [RFC5626] to establish multiple flows. 335 The Request-URI for the REGISTER request MUST contain the "provider- 336 domain" from the configuration. The To-URI and From-URI MUST be 337 identical URIs, formatted as specified in Section 5.4, using the 338 "phone-number" and "provider-domain" from the configuration. 340 The RUE determines the URI to resolve by initially determining if an 341 outbound proxy is configured. If it is, the URI will be that of the 342 outbound proxy. If no outbound proxy is configured, the URI will be 343 the Request-URI from the REGISTER request. The RUE extracts the 344 domain from that URI and consults the DNS record for that domain. 345 The DNS entry MUST contain NAPTR records conforming to RFC3263. One 346 of those NAPTR records MUST specify TLS as the preferred transport 347 for SIP. For example, a DNS NAPTR query for "sip: 348 p1.red.example.net" could return: 350 IN NAPTR 50 50 "s" "SIPS+D2T" "" _sips._tcp.p1.red.example.net 351 IN NAPTR 90 50 "s" "SIP+D2T" "" _sip._tcp.p1.red.example.net 353 If the RUE receives a 439 (First Hop Lacks Outbound Support) response 354 to a REGISTER request, it MUST re-attempt registration without using 355 the outbound mechanism. 357 The registrar MAY authenticate using SIP digest authentication. The 358 credentials to be used (username and password) MUST be supplied 359 within the credentials section of the configuration and identified by 360 the realm the registrar uses in a digest challenge. This username/ 361 password combination SHOULD NOT be the same as that used for other 362 purposes, such as retrieving the RUE configuration or logging into 363 the Provider's customer service portal. [RFC8760] MUST be supported 364 by all implementations and SHA-512 digest algorithms MUST be 365 supported. 367 If the registration request fails with an indication that credentials 368 from the configuration are invalid, then the RUE SHOULD retrieve a 369 fresh version of the configuration. If credentials from a freshly 370 retrieved configuration are found to be invalid, then the RUE MUST 371 cease attempts to register and SHOULD inform the RUE User of the 372 problem. 374 Support for multiple simultaneous registrations with multiple 375 providers by the RUE is OPTIONAL for the RUE (and providers do not 376 need any support for this option). 378 Multiple simultaneous RUE SIP registrations from different RUE 379 devices with the same SIP URI SHOULD be permitted by the provider. 380 The provider MAY limit the total number of simultaneous 381 registrations. When a new registration request is received that 382 results in exceeding the limit on simultaneous registrations, the 383 provider MAY then prematurely terminate another registration; 384 however, it SHOULD NOT do this if it would disconnect an active call. 386 If a provider prematurely terminates a registration to reduce the 387 total number of concurrent registrations with the same URI, it SHOULD 388 take some action to prevent the affected RUE from automatically re- 389 registering and re-triggering the condition. 391 5.2. Session Establishment 393 5.2.1. Normal Call Origination 395 After initial SIP registration, the RUE adheres to SIP [RFC3261] 396 basic call flows, as documented in [RFC3665]. 398 A RUE device MUST route all outbound calls through an outbound proxy 399 if configured. 401 The SIP URIs in the To field and the Request-URI MUST be formatted as 402 specified in subsection Section 5.4 using the destination phone 403 number, or as SIP URIs, as provided in the configuration 404 (Section 9.2). The domain field of the URIs SHOULD be the "provider- 405 domain" from the configuration (e.g., 406 sip:+13115552368@red.example.com;user=phone) except that an anonymous 407 call would not use the provider domain. 409 Anonymous calls MUST be supported by all implementations. An 410 anonymous call is signaled per [RFC3323]. 412 The From-URI MUST be formatted as specified in Section 5.4, using the 413 phone-number and "provider-domain" from the configuration. It SHOULD 414 also contain the display-name from the configuration when present. 415 (Please refer to Section 9.2.) 417 Negotiated media MUST follow the guidelines specified in Section 6 of 418 this document. 420 To allow time to timeout an unanswered call and direct it to a 421 videomail server, the User Agent Client MUST NOT impose a time limit 422 less than the default SIP Invite transaction timeout of 3 minutes. 424 5.2.2. Dial-Around Origination 426 Providers and RUE devices MUST support both One-Stage and Two-Stage 427 dial-around 429 Outbound dial-around calls allow a RUE user to select any provider to 430 provide interpreting services for any call. "Two-stage" dial-around 431 calls involve the RUE calling a telephone number that reaches the 432 dial-around provider and using signing or DTMF to provide the called 433 party telephone number. In two-stage dial-around, the To URI is the 434 front door URI (see Section 9.2) of the dial-around provider and the 435 domain of the URI is the provider domain from the configuration. The 436 provider list service (Section 9.1) can be used by the RUE to obtain 437 a list of providers and then the configuration service 438 (Section 9.2.1) without credentials can be used to find the front 439 door URI for each of these providers. 441 One-stage dial-around is a method where the called party telephone 442 number is provided in the To URI and the Request-URI, using the 443 domain of the dial-around provider. 445 For one-stage dial-around, the RUE MUST follow the procedures in 446 Section 5.2.1 with the following exception: the domain part of the 447 SIP URIs in the To field and the Request-URI MUST be the domain of 448 the dial-around provider, discovered according to Section 9.1. 450 The following is a partial example of a one-stage dial-around call 451 from VRS user +1-555-222-0001 hosted by red.example.com to a hearing 452 user +1-555-123-4567 using dial-around to green.example.com for the 453 relay service. Only important details of the messages are shown and 454 many header fields have been omitted: 456 One-Stage Dial-Around 457 ,-+-. ,----+----. ,-----+-----. 458 |RUE| |Default | |Dial-Around| 459 | | |Provider | | Provider | 460 `-+-' `----+----' `-----+-----' 461 | | | 462 | [1] INVITE | | 463 |-------------->| [2] INVITE | 464 | |-------------->| 466 Message Details: 468 [1] INVITE Rue -> Default Provider 470 INVITE sip:+15551234567@green.example.net;user=phone SIP/2.0 471 To: 472 From: "Bob Smith" 474 [2] INVITE Default Provider -> Dial-Around Provider 476 INVITE sip:+15551234567@green.example.net;user=phone SIP/2.0 477 To: 478 From: "Bob Smith" sip:+18135551212@red.example.net;user=phone 479 P-Asserted-Identity: sip:+18135551212@red.example.net 481 Figure 1 483 5.2.3. RUE Contact Information 485 To identify the owner of a RUE, the initial INVITE for a call from a 486 RUE, or the 200 OK accepting a call by a RUE, identifies the owner by 487 sending a Call-Info header field with a purpose parameter of "rue- 488 owner". The URI MAY be an HTTPS URI or Content-Indirect URL. The 489 latter is defined by [RFC2392] to locate message body parts. This 490 URI type is present in a SIP message to convey the RUE ownership 491 information as a MIME body. The form of the RUE ownership 492 information is a xCard [RFC6351]. Please refer to [RFC6442] for an 493 example of using Content-Indirect URLs in SIP messages. Note that 494 use of the Content-Indirect URL usually implies multiple message 495 bodies ("mime/multipart"). 497 5.2.4. Incoming Calls 499 The RUE MUST only accept inbound calls sent to it by a proxy 500 mentioned in the configuration. 502 If Multiple simultaneous RUE SIP registrations from different RUE 503 devices with the same SIP URI exist, the provider MUST parallel fork 504 the call to all registered RUEs so that they ring at the same time. 505 The first RUE to reply with a 200 OK answers the call and the 506 provider MUST CANCEL other call branches. 508 5.2.5. Emergency Calls 510 Implementations MUST conform to [RFC6881] for handling of emergency 511 calls, except that if the device is unable to determine its own 512 location, it MAY send the emergency call without a Geolocation header 513 field and without a Route header field (since it would be unable to 514 query the LoST server for a route per RFC6881). If an emergency call 515 arrives at the provider without a Geolocation header field, the 516 provider MUST supply location by adding the Geolocation header field, 517 and MUST supply the route by querying the LoST server with that 518 location. 520 If the emergency call is to be handled using existing country 521 specific procedures, the provider is responsible for modifying the 522 INVITE to conform to the country-specific requirements. In this 523 case, location MAY be extracted from the RFC6881 conformant INVITE 524 and used to propagate it to the appropriate country-specific 525 entities. If the configuration specifies it, an implementation of a 526 RUE device MAY send a Geolocation header field containing its 527 location in the REGISTER request. If implemented, users MUST be 528 offered an opt-out. Country-specific procedures might require the 529 location to be pre-loaded in some entity prior to placing an 530 emergency call; however, the RUE may have a more accurate and timely 531 device location than the manual, pre-loaded entry. That information 532 MAY be used to populate the location to appropriate country-specific 533 entities. Re-registration SHOULD be used to update the location, so 534 long as the rate of re-registration is limited if the device is 535 moving. 537 Implementations MUST implement Additional Data, [RFC7852]. RUE 538 devices MUST implement Data Provider, Device Implementation and 539 Owner/Subscriber Information blocks. 541 5.3. Mid Call Signaling 543 Implementations MUST support re-INVITE to renegotiate media session 544 parameters (among other uses). Per Section 6.1, implementations MUST 545 be able to support an INFO request for full frame refresh for devices 546 that do not support RTCP mechanisms (please refer to Section 6.8). 547 Implementations MUST support an in-dialog REFER ([RFC3515] updated by 548 [RFC7647] and including support for norefersub per [RFC4488]) with 549 the Replaces header field [RFC3891] to enable call transfer. 551 5.4. URI Representation of Phone Numbers 553 SIP URIs constructed from non-URI sources (dial strings) and sent to 554 SIP proxies by the RUE MUST be represented as follows, depending on 555 whether they can be represented as an E.164 number. In this section 556 "expressed as an E.164 number" includes numbers such as toll free 557 numbers that are not actually E.164 numbers, but have the same 558 format. 560 A dial string that can be expressed as an E.164 phone number MUST be 561 represented as a SIP URI with a URI ";user=phone" tag. The user part 562 of the URI MUST be in conformance with 'global-number' defined in 563 [RFC3966]. The user part MUST NOT contain any 'visual-separator' 564 characters. 566 Dial strings that cannot be expressed as E.164 numbers MUST be 567 represented as dialstring URIs, as specified by [RFC4967], e.g., 568 sip:411@red.example.net;user=dialstring. 570 The domain part of Relay Service URIs and User Address of Records 571 (AoR) MUST resolve (per [RFC3263]) to globally routable IPv4 and/or 572 IPv6 addresses. 574 5.5. Transport 576 Implementations MUST conform to [RFC8835] except for its guidance on 577 the WebRTC data channel, which this specification does not use. See 578 Section 6.2 for how RUE supports real-time text without the data 579 channel. 581 Implementations MUST support SIP outbound [RFC5626] (please also 582 refer to Section 5.1). 584 6. Media 586 This specification adopts the media specifications for WebRTC 587 ([RFC8825]). Where WebRTC defines how interactive media 588 communications may be established using a browser as a client, this 589 specification assumes a normal SIP call. The RTP, RTCP, SDP and 590 specific media requirements specified for WebRTC are adopted for this 591 document. The RUE is a WebRTC "non-browser" endpoint, except as 592 noted expressly below. 594 The following sections specify the WebRTC documents to which 595 conformance is required. "Mandatory to Implement" means a conforming 596 implementation must implement the specified capability. It does not 597 mean that the capability must be used in every session. For example, 598 OPUS is a mandatory to implement audio codec, and all conforming 599 implementations must support OPUS. However, implementation 600 presenting a call across the RUE Interface where the call originates 601 in the Public Switched Telephone Network, or an older, non-RUE- 602 compatible device, which only offers G.711 audio, does not need to 603 include the OPUS codec in the offer, since it cannot be used with 604 that call. 606 6.1. SRTP and SRTCP 608 Implementations MUST support [RFC8834] except that MediaStreamTracks 609 are not used. Implementations MUST conform to Section 6.4 of 610 [RFC8827]. 612 6.2. Text-Based Communication 614 Implementations MUST support real-time text ([RFC4102] and [RFC4103]) 615 via T.140 media. One original and two redundant generations MUST be 616 transmitted and supported, with a 300 ms transmission interval. 617 Implementations MUST support [RFC8865] especially for emergency 618 calls. Note that RFC4103 is not how real-time text is transmitted in 619 WebRTC and some form of transcoder would be required to interwork 620 real-time text in the data channel of WebRTC to RFC4103 real-time 621 text. 623 Transport of T.140 real-time text in WebRTC is specified in 624 [RFC8865], using the WebRTC data chanel. RFC 8865 also has some 625 advice on how gateways between RFC 4103 and RFC 8865 should operate. 626 It is RECOMMENDED that RFC 8865 is used for communication with 627 browser-based WebRTC implementations. Implementations MUST support 628 [RFC9071]. 630 6.3. Video 632 Implementations MUST conform to [RFC7742] with following exceptions: 633 only H.264, as specified in [RFC7742], is Mandatory to Implement, and 634 VP8 support is OPTIONAL at both the device and providers. This is 635 because backwards compatibility is desirable, and older devices do 636 not support VP8. 638 6.4. Audio 640 Implementations MUST conform to [RFC7874]. 642 6.5. DTMF Digits 644 Implementations MUST support the "audio/telephone-event" [RFC4733] 645 media type. They MUST support conveying event codes 0 through 11 646 (DTMF digits "0"-"9", "*","#") defined in Table 7 of [RFC4733]. 647 Handling of other tones is OPTIONAL. 649 6.6. Session Description Protocol 651 The SDP offers and answers MUST conform to the SDP rules in [RFC8829] 652 except that the RUE interface uses SIP transport for SDP. The SDP 653 for real-time text MUST specify the T.140 payload type [RFC4103]. 655 6.7. Privacy 657 The RUE MUST provide for user privacy by implementing a local one-way 658 mute, without signaling, for both audio and video. However, RUE MUST 659 maintain any NAT bindings by periodically sending media packets on 660 all active media sessions containing silence/comfort noise/black 661 screen/etc. per [RFC6263]. 663 6.8. Negative Acknowledgment, Packet Loss Indicator, and Full 664 Intraframe Request Features 666 NACK SHOULD be used when negotiated and conditions warrant its use. 667 Signaling picture losses as Packet Loss Indicator (PLI) SHOULD be 668 preferred, as described in [RFC5104]. 670 FIR SHOULD be used only in situations where not sending a decoder 671 refresh point would render the video unusable for the users, as per 672 RFC5104 subsection 4.3.1.2. 674 For backwards compatibility with calling devices that do not support 675 the foregoing methods, implementations MUST implement SIP INFO 676 messages to send and receive XML encoded Picture Fast Update messages 677 according to [RFC5168]. 679 7. Contacts 681 7.1. CardDAV Login and Synchronization 683 Support of CardDAV by providers is OPTIONAL. 685 The RUE MUST and providers MAY be able to synchronize the user's 686 contact directory between the RUE endpoint and one maintained by the 687 user's VRS provider using CardDAV ([RFC6352] and [RFC6764]). 689 The configuration MAY supply a username and domain identifying a 690 CardDAV server and address book for this account. 692 To access the CardDAV server and address book, the RUE MUST follow 693 Section 6 of RFC6764, using the chosen username and domain in place 694 of an email address. If the request triggers a challenge for digest 695 authentication credentials, the RUE MUST continue using matching 696 "credentials" from the configuration. If no matching credentials are 697 configured, the RUE MUST use the SIP credentials from the 698 configuration. If the SIP credentials fail, the RUE MUST query the 699 user. 701 Synchronization using CardDAV MUST be a two-way synchronization 702 service, with proper handling of asynchronous adds, changes, and 703 deletes at either end of the transport channel. 705 7.2. Contacts Import/Export Service 707 Implementations MUST be able to export/import the list of contacts in 708 xCard [RFC6351] xml format. 710 The RUE accesses this service via the "contacts" URI in the 711 configuration. The URL MUST resolve to identify a web server 712 resource that imports/exports contact lists for authorized users. 714 The RUE stores/retrieves the contact list (address book) by issuing 715 an HTTPS POST or GET request. If the request triggers a challenge 716 for digest authentication credentials, the RUE MUST attempt to 717 continue using matching "credentials" from the configuration. If no 718 credentials are configured, the RUE MUST query the user. 720 8. Video Mail 722 Support for video mail includes a retrieval mechanism and a Message 723 Waiting Indicator (MWI). Message storage is NOT specified by this 724 document. RUE devices MUST support message retrieval using a SIP 725 call to a specified SIP URI using DTMF to manage the mailbox, as well 726 as a browser based interface reached at a specified HTTPS URI. If a 727 provider supports video mail at least one of these mechansism MUST be 728 supported. RUE devices MUST support both. See Section 9.2 for how 729 the URI to reach the retrieval interface is obtained. 731 Implementations MUST support subscriptions to "message-summary" 732 events [RFC3842] to the URI specified in the configuration. 733 Providers MUST support MWI if they support video mail. RUE devices 734 MUST support MWI. 736 In notification bodies, videomail messages SHOULD be reported using 737 "message-context-class multimedia-message" defined in [RFC3458]. 739 9. Provisioning and Provider Selection 741 To simplify how users interact with RUE devices, the RUE interface 742 separates provisioning into two parts. One provides a directory of 743 providers so that a user interface can allow easy provider selection 744 either for registering or for dial-around. The other provides 745 configuration data for the device for each provider. 747 9.1. RUE Provider Selection 749 To allow the user to select a relay service, the RUE MAY at any time 750 obtain (typically on startup) a list of Providers that provide 751 service in a country. IANA has established a registry that contains 752 a two letter country code and a URI. The URI, when used with the 753 following interface, returns a list of provider names for a country 754 code suitable for display, with a corresponding a URI to obtain 755 information about that provider. The provider URI is the entry point 756 of a simple web service that returns contact information for that 757 provider. 759 Each country that supports video relay service using this 760 specification MAY support the provider list. This document does not 761 specify who maintains the list. Some possibilities are a regulator 762 or entity designated by a regulator, an agreement among providers to 763 provide the list, or a user group. 765 The web service also has a simple version mechanism that returns a 766 list of versions of the web service it supports. This document 767 describes version 1.0. Versions are described as a major version, 768 the period "." and a minor version, where major and minor versions 769 are integers. A backwards compatible change within a major version 770 MAY increment only the minor version number. A non-backwards 771 compatible change MUST increment the major version number. To 772 achieve backwards compatibility, implementations MUST ignore any 773 object members they do not implement. Minor version definitions 774 SHALL only add objects, non-required members of existing objects, and 775 non-mandatory-to use functions and SHALL NOT delete any objects, 776 members of objects or functions. This means an implementation of a 777 specific major version and minor version is backwards compatible with 778 all minor versions of the major version. The versions mechanism 779 returns an array of supported versions, one for each major version 780 supported, with the minor version listed being the highest supported 781 minor version. 783 The V1.0 provider list is a json object consisting of an array where 784 each entry describes one provider. Each entry consists of the 785 following items: 787 * name: This parameter contains the text label identifying the 788 provider and is meant to be displayed to the human VRS user. 790 * domain: The domain parameter is used for configuration purposes by 791 the RUE (as discussed in Section 9.2) 793 The VRS user interacts with the RUE to select from the provider list 794 one or more providers with whom the user has already established an 795 account, wishes to establish an account, or wishes to use the 796 provider for a one-stage dial around. 798 { 799 "providers": [ 800 { 801 "name": "Red", 802 "domain": "red.example.net" 803 }, 804 { 805 "name": "Green", 806 "domain": "green.example.net" 807 }, 808 { 809 "name": "Blue", 810 "domain": "blue.example.net" 811 } 812 ] 813 } 815 Figure 2: Example of a provider list JSON object 817 { 818 "versions": [ 819 { 820 "major": 1, 821 "minor": 6 822 }, 823 { 824 "major": 2, 825 "minor": 13 826 }, 827 { 828 "major": 3, 829 "minor": 2 830 } 831 ] 832 } 834 Figure 3: Example of a Version JSON object 836 9.2. RUE Configuration Service 838 A RUE device may retrieve a provider configuration the using a simple 839 HTTPs web service. There are two entry points. One is used without 840 user credentials or parameters, the response includes configuration 841 data for new user sign up and dial around. The other uses the 842 userid/password to authenticate to the interface and returns 843 configuration data for the RUE. 845 In both the queries, an optional parameter may be provided to the 846 interface which is an API Key. The implementation MAY have an API 847 Key obtained from the provider and specific to the implementation. 848 The method the API Key is obtained is not specified in this document. 849 The provider MAY refuse to provide service to an implementation 850 presenting an API Key it does not recognize. 852 Also in both queries, the RUE device provides a required parameter 853 which contains an instance identifier. This parameter MUST be the 854 same value each time this instance (same implementation on same 855 device) queries the interface. This MAY be used by the provider, for 856 example, to associate a location with the instance for emergency 857 calls. 859 The data returned is a json object consisting of an array of key/ 860 value configuration parameters to be used by the RUE. 862 The configuration API also provides the same version mechanism as 863 specified above in Section 9.1. The version of the configuration 864 service MAY be different than the version of the provider list 865 service. 867 The configuration data payload includes the following data items. 868 Items not noted as (OPTIONAL) are REQUIRED. If other unexpected 869 items are found, they MUST be ignored. 871 9.2.1. Provider Configuration 873 * signup: (OPTIONAL) an array of json objects consisting of: 875 - language: entry from the IANA language subtag registry. 876 Normally, this would be a written language tag. 878 - uri: a URI to the website for creating a new account in the 879 supported language. The new user signup URI may only initiate 880 creation of a new account. Various vetting, approval and other 881 processes may be needed, which could take time, before the 882 account is established. The result of creating a new account 883 would be a username and password, which would be manually 884 entered into the RUE device to allow connection to the 885 provider. 887 * dialAround: an array of json objects consisting of: 889 - language: entry from the IANA language subtag registry. 890 Normally, this would be a sign language tag. 892 - frontDoor: a URI to a queue of interpreters supporting the 893 specified language for a two-stage dial-around 895 - oneStage: a URI that can be used with a one-stage dial-around 896 Section 5.2.2 using an interpreter supporting the specified 897 language 899 * helpDesk: (OPTIONAL) an array of json objects consisting of: 901 - language: entry from the IANA language subtag registry. 902 Normally this would be a sign language tag, although it could 903 be a written language tag if the help desk only supports a chat 904 interface 906 - uri: URI that reaches a help desk for callers supporting the 907 specified language. The URI MAY be a SIP URI for help provided 908 with a SIP call, or MAY be an HTTPS URI for help provided with 909 a browser interface. 911 A list is specified so that the provider can offer multiple 912 choices to users for language and interface styles. 914 9.2.2. RUE Configuration 916 * lifetime: (optional) Specifies how long (in seconds) the RUE MAY 917 cache the configuration values. Values may not be valid when 918 lifetime expires. If the RUE caches configuration values, it MUST 919 cryptographically protect them. The RUE SHOULD retrieve a fresh 920 copy of the configuration before the lifetime expires or as soon 921 as possible after it expires. The lifetime is not guaranteed: the 922 configuration may change before the lifetime value expires. In 923 that case, the Provider MAY indicate this by generating 924 authorization challenges to requests and/or prematurely 925 terminating a registration. Emergency Calls MUST continue to 926 work. If not specified, the RUE MUST fetch new configuration data 927 every time it starts. 929 * sip-password: (optional) a password used for SIP, STUN and TURN 930 authentication. The RUE device retains this data, which must be 931 stored securely. If it is not supplied, but was supplied on a 932 prior invocation of this interface, the most recently supplied 933 password MUST be used. If it was never supplied, the password 934 used to authenticate to the configuration service is used for SIP, 935 STUN and TURN. 937 * phone-number: The telephone number (in E.164 format) assigned to 938 this subscriber. This becomes the user portion of the SIP URI 939 identifying the subscriber. 941 * outbound-proxy: (optional) A URI of a SIP proxy to be used when 942 sending requests to the provider. 944 * mwi: (optional) A URI identifying a SIP event server that 945 generates "message-summary" events for this subscriber. 947 * videomail: (optional) An SIP or HTTPS URI that can be called to 948 retrieve video mail messages. 950 * contacts: (optional) An HTTPS URI that may be used to export 951 (retrieve) the subscriber's complete contact list managed by the 952 provider. MUST be provided if the subscriber has contacts. 954 * carddav: (optional) A username, password and domain name 955 (separated by ""@"") identifying a "CardDAV" server and account 956 that can be used to synchronize the RUE's contact list with the 957 contact list managed by the provider. If username or password are 958 not supplied, the main account credentials are used. 960 * sendLocationWithRegistration: (optional) True if the RUE should 961 send a Geolocation header field with REGISTER, false if it should 962 not. Defaults to false if not present. 964 * ice-servers: (optional) An array of URLs identifying STUN and TURN 965 servers available for use by the RUE for establishing media 966 streams in calls via the provider. 968 9.2.3. Examples 970 Example JSON provider configuration payload 971 { 972 "signUp": [ 973 { "language" : "en", "uri" : "welcome-en.example.net"} , 974 { "language" : "es", "uri" : "welcome-es.example.net"} ] , 975 "dialAround": [ 976 { "language" : "en", "frontDoor" : "fd-en.example.net", 977 "oneStage" : "1stg-eng.example.com" } , 978 { "language" : "es", "frontDoor" : "fd-es.example.net", 979 "oneStage" : "1stg-spn.example.com" } ] , 980 "helpDesk": [ 981 { "language" : "en", "uri" : "help-en.example.net"} , 982 { "language" : "es", "uri" : "help-es.example.net"} ] 983 } 985 Figure 4 987 Example JSON RUE configuration payload 988 { 989 "lifetime": 86400, 990 "display-name" : "Bob Smith", 991 "phone-number": "+18135551212", 992 "provider-domain": "red.example.net", 993 "outbound-proxies": [ 994 "sip:p1.red.example.net", 995 "sip:p2.red.example.net" ], 996 "mwi": "sip:+18135551212@red.example.net", 997 "videomail": "sip:+18135551212@vm.red.example.net", 998 "contacts": "https://red.example.net:443/contacts/1dess45awd", 999 "carddav": "bob@red.example.com" , 1000 "sendLocationWithRegistration": false, 1001 "ice-servers": [ 1002 {"stun":"stun.l.google.com:19302" }, 1003 {"turn":"turn.red.example.net:3478"} 1004 ] 1005 } 1007 Figure 5 1009 9.2.4. Using the Provider Selection and RUE Configuration Services 1010 Together 1012 One way to use these two services is: 1014 * At startup, the RUE retrieves the provider list for the country it 1015 is located in. 1017 * For each provider in the list: 1019 - If the RUE does not have credentials for that provider, use the 1020 configuration service without credentials to obtain signup, 1021 dial around and helpdesk information. 1023 - If the RUE has credentials for that provider, use the 1024 configuration service with credentials to obtain all 1025 configuration data. 1027 9.3. OpenAPI Interface Descriptions 1029 The interfaces in Section 9.1 and Section 9.2 are formally specified 1030 with OpenAPI 3.1 ([OpenApi]) descriptions in yaml form. 1032 openapi: 3.0.1 1033 info: 1034 title: RUM API 1035 version: "1.0" 1036 servers: 1037 - url: http://localhost/rum/v1 1038 paths: 1039 /Providers: 1040 get: 1041 summary: Get a list of providers and domains to get 1042 config data from 1043 operationId: GetProviderList 1044 responses: 1045 '200': 1046 description: List of providers for a country 1047 content: 1048 application/json: 1049 schema: 1050 $ref: '#/components/schemas/ProviderList' 1051 /ProviderConfig: 1052 get: 1053 summary: Configuration data for one provider 1054 operationId: GetProviderConfiguration 1055 parameters: 1056 - in: query 1057 name: apiKey 1058 schema: 1059 type: string 1060 description: API Key assigned to this implementation 1061 - in: query 1062 name: instanceId 1063 schema: 1064 type: string 1065 required: true 1066 description: Unique string for this implementation 1067 on this device 1068 responses: 1069 '200': 1070 description: configuration object 1071 content: 1072 application/json: 1073 schema: 1074 $ref: '#/components/schemas/ProviderConfigurationData' 1075 /RueConfig: 1076 get: 1077 summary: Configuration data for one RUE 1078 operationId: GetRueConfiguration 1079 parameters: 1080 - in: query 1081 name: apiKey 1082 schema: 1083 type: string 1084 description: API Key assigned to this implementation 1085 - in: query 1086 name: instanceId 1087 schema: 1088 type: string 1089 required: true 1090 description: Unique string for this implementation 1091 on this device 1092 responses: 1093 '200': 1094 description: configuration object 1095 content: 1096 application/json: 1097 schema: 1098 $ref: '#/components/schemas/RueConfigurationData' 1099 /Versions: 1100 servers: 1101 - url: https://api.example.com/rum 1102 description: Override base path for Versions query 1103 get: 1104 summary: Retrieves all supported versions 1105 operationId: RetrieveVersions 1106 responses: 1107 '200': 1108 description: Versions supported 1109 content: 1110 application/json: 1111 schema: 1112 $ref: '#/components/schemas/VersionsArray' 1113 components: 1114 schemas: 1115 ProviderList: 1116 type: object 1117 required: 1118 - providers 1119 properties: 1120 providers: 1121 type: array 1122 items: 1123 type: object 1124 required: 1125 - name 1126 - domain 1127 properties: 1128 name: 1129 type: string 1130 description: Human readable provider name 1131 domain: 1132 type: string 1133 description: provider domain for interface 1134 VersionsArray: 1135 type: object 1136 required: 1137 - versions 1138 properties: 1139 versions: 1140 type: array 1141 items: 1142 type: object 1143 required: 1144 - major 1145 - minor 1146 properties: 1147 major: 1148 type: integer 1149 format: int32 1150 description: Version major number 1151 minor: 1152 type: integer 1153 format: int32 1154 description: Version minor number 1155 ProviderConfigurationData: 1156 type: object 1157 properties: 1158 signup: 1159 type: object 1160 required: 1161 - language 1162 - uri 1163 properties: 1164 language: 1165 type: string 1166 description: entry from IANA language-subtag-registry 1167 uri: 1168 type: string 1169 format: uri 1170 description: URI to signup website supporting language 1171 dialAround: 1172 type: object 1173 required: 1174 - language 1175 - frontDoor 1176 - oneStage 1177 properties: 1178 language: 1179 type: string 1180 description: entry from IANA language-subtag-registry 1181 frontDoor: 1182 type: string 1183 format: uri 1184 description: SIP URI for two-stage dial around 1185 oneStage: 1186 type: string 1187 format: uri 1188 description: SIP URI for one-stage dial around 1189 helpDesk: 1190 type: object 1191 required: 1192 - language 1193 - uri 1194 properties: 1195 language: 1196 type: string 1197 description: entry from IANA language-subtag-registry 1198 uri: 1199 type: string 1200 format: uri 1201 description: SIP URI of helpdesk supporting language 1202 RueConfigurationData: 1203 type: object 1204 required: 1205 - phone-number 1206 properties: 1207 lifetime: 1208 type: integer 1209 description: how long (in seconds) the RUE MAY cache the 1210 configuration values 1211 sip-password: 1212 type: string 1213 phone-number: 1214 type: string 1215 description: telephone number assigned this subscriber 1216 outbound-proxy: 1217 type: string 1218 format: uri 1219 description: SIP URI of proxy to be used when sending 1220 requests to the provider 1221 mwi: 1222 type: string 1223 format: uri 1224 description: A URI identifying a SIP event server that 1225 generates "message-summary" events for this subscriber. 1226 videomail: 1227 type: string 1228 format: uri 1229 description: An HTTPS or SIP URI that can be called to 1230 retrieve video mail messages. 1231 contacts: 1232 type: string 1233 format: uri 1234 description: An HTTPS URI that may be used to export 1235 (retrieve) the subscriber's complete contact list 1236 managed by the provider. 1237 carddav: 1238 type: object 1239 description: CardDAV server and user information that can be 1240 used to synchronize the RUE's contact list with the 1241 contact list managed by the provider. 1242 properties: 1243 domain: 1244 type: string 1245 description: CardDAV server address 1246 username: 1247 type: string 1248 description: username for authentication with CardDAV 1249 server. Use provider username if not provided 1250 password: 1251 type: string 1252 description: password for authentication to the CardDAV 1253 server. Use provider password if not provided 1254 sendLocationWithRegistration: 1255 type: boolean 1256 description: True if the RUE should send a Geolocation 1257 header field with REGISTER, false if it should not. 1258 Defaults to false if not present. 1259 ice-servers: 1260 type: array 1261 items: 1262 type: string 1263 format: uri 1264 description: URIs identifying STUN and TURN servers 1265 available for use by the RUE for establishing 1266 media streams in calls via the provider. 1268 Figure 6: Provider List OpenAPI description 1270 10. IANA Considerations 1272 10.1. RUE Provider List Registry 1274 IANA has created the "RUE Provider List" registry. The management 1275 policy for this registry is "Expert Review" [RFC8126]. The expert 1276 should prefer a regulator operated or designated list interface 1277 operator. Otherwise, evidence that the proposed list interface 1278 operator will provide a complete list of providers is required to add 1279 the entry to the registry. Updates to the registry are permitted if 1280 the expert judges the new proposed URI to provide a more accurate 1281 list than the existing entry. Each entry has two fields, values for 1282 both of which MUST be provided when registering or updating an entry: 1284 * country code: a two letter ISO93166 country code 1286 * list uri: a URI that implements the provider list interface for 1287 that country 1289 10.2. Registration of rue-owner Value of the purpose Parameter 1291 This document defines the new predefined value "rue-owner" for the 1292 "purpose" header field parameter of the Call-Info header field. This 1293 modifies the "Header Field Parameters and Parameter Values" 1294 subregistry of the "Session Initiation Protocol (SIP) Parameters" 1295 registry by adding this RFC as a reference to the line for the header 1296 field "Call-Info" and parameter name "purpose" 1297 * Header Field: Call-Info 1299 * Parameter Name: purpose 1301 * Predefined Values: Yes 1303 11. Security Considerations 1305 The RUE is required to communicate with servers on public IP 1306 addresses and specific ports to perform its required functions. If 1307 it is necessary for the RUE to function on a corporate or other 1308 network that operates a default-deny firewall between the RUE and 1309 these services, the user must arrange with their network manager for 1310 passage of traffic through such a firewall in accordance with the 1311 protocols and associated SRV records as exposed by the provider. 1312 Because VRS providers may use different ports for different services, 1313 these port numbers may differ from provider to provider. 1315 12. 1316 Normative References 1318 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 1319 Requirement Levels", BCP 14, RFC 2119, 1320 DOI 10.17487/RFC2119, March 1997, 1321 . 1323 [RFC2392] Levinson, E., "Content-ID and Message-ID Uniform Resource 1324 Locators", RFC 2392, DOI 10.17487/RFC2392, August 1998, 1325 . 1327 [RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, 1328 A., Peterson, J., Sparks, R., Handley, M., and E. 1329 Schooler, "SIP: Session Initiation Protocol", RFC 3261, 1330 DOI 10.17487/RFC3261, June 2002, 1331 . 1333 [RFC3263] Rosenberg, J. and H. Schulzrinne, "Session Initiation 1334 Protocol (SIP): Locating SIP Servers", RFC 3263, 1335 DOI 10.17487/RFC3263, June 2002, 1336 . 1338 [RFC3264] Rosenberg, J. and H. Schulzrinne, "An Offer/Answer Model 1339 with Session Description Protocol (SDP)", RFC 3264, 1340 DOI 10.17487/RFC3264, June 2002, 1341 . 1343 [RFC3311] Rosenberg, J., "The Session Initiation Protocol (SIP) 1344 UPDATE Method", RFC 3311, DOI 10.17487/RFC3311, October 1345 2002, . 1347 [RFC3323] Peterson, J., "A Privacy Mechanism for the Session 1348 Initiation Protocol (SIP)", RFC 3323, 1349 DOI 10.17487/RFC3323, November 2002, 1350 . 1352 [RFC3326] Schulzrinne, H., Oran, D., and G. Camarillo, "The Reason 1353 Header Field for the Session Initiation Protocol (SIP)", 1354 RFC 3326, DOI 10.17487/RFC3326, December 2002, 1355 . 1357 [RFC3327] Willis, D. and B. Hoeneisen, "Session Initiation Protocol 1358 (SIP) Extension Header Field for Registering Non-Adjacent 1359 Contacts", RFC 3327, DOI 10.17487/RFC3327, December 2002, 1360 . 1362 [RFC3458] Burger, E., Candell, E., Eliot, C., and G. Klyne, "Message 1363 Context for Internet Mail", RFC 3458, 1364 DOI 10.17487/RFC3458, January 2003, 1365 . 1367 [RFC3515] Sparks, R., "The Session Initiation Protocol (SIP) Refer 1368 Method", RFC 3515, DOI 10.17487/RFC3515, April 2003, 1369 . 1371 [RFC3605] Huitema, C., "Real Time Control Protocol (RTCP) attribute 1372 in Session Description Protocol (SDP)", RFC 3605, 1373 DOI 10.17487/RFC3605, October 2003, 1374 . 1376 [RFC3840] Rosenberg, J., Schulzrinne, H., and P. Kyzivat, 1377 "Indicating User Agent Capabilities in the Session 1378 Initiation Protocol (SIP)", RFC 3840, 1379 DOI 10.17487/RFC3840, August 2004, 1380 . 1382 [RFC3842] Mahy, R., "A Message Summary and Message Waiting 1383 Indication Event Package for the Session Initiation 1384 Protocol (SIP)", RFC 3842, DOI 10.17487/RFC3842, August 1385 2004, . 1387 [RFC3891] Mahy, R., Biggs, B., and R. Dean, "The Session Initiation 1388 Protocol (SIP) "Replaces" Header", RFC 3891, 1389 DOI 10.17487/RFC3891, September 2004, 1390 . 1392 [RFC3892] Sparks, R., "The Session Initiation Protocol (SIP) 1393 Referred-By Mechanism", RFC 3892, DOI 10.17487/RFC3892, 1394 September 2004, . 1396 [RFC3960] Camarillo, G. and H. Schulzrinne, "Early Media and Ringing 1397 Tone Generation in the Session Initiation Protocol (SIP)", 1398 RFC 3960, DOI 10.17487/RFC3960, December 2004, 1399 . 1401 [RFC3966] Schulzrinne, H., "The tel URI for Telephone Numbers", 1402 RFC 3966, DOI 10.17487/RFC3966, December 2004, 1403 . 1405 [RFC4102] Jones, P., "Registration of the text/red MIME Sub-Type", 1406 RFC 4102, DOI 10.17487/RFC4102, June 2005, 1407 . 1409 [RFC4103] Hellstrom, G. and P. Jones, "RTP Payload for Text 1410 Conversation", RFC 4103, DOI 10.17487/RFC4103, June 2005, 1411 . 1413 [RFC4488] Levin, O., "Suppression of Session Initiation Protocol 1414 (SIP) REFER Method Implicit Subscription", RFC 4488, 1415 DOI 10.17487/RFC4488, May 2006, 1416 . 1418 [RFC4733] Schulzrinne, H. and T. Taylor, "RTP Payload for DTMF 1419 Digits, Telephony Tones, and Telephony Signals", RFC 4733, 1420 DOI 10.17487/RFC4733, December 2006, 1421 . 1423 [RFC4967] Rosen, B., "Dial String Parameter for the Session 1424 Initiation Protocol Uniform Resource Identifier", 1425 RFC 4967, DOI 10.17487/RFC4967, July 2007, 1426 . 1428 [RFC5104] Wenger, S., Chandra, U., Westerlund, M., and B. Burman, 1429 "Codec Control Messages in the RTP Audio-Visual Profile 1430 with Feedback (AVPF)", RFC 5104, DOI 10.17487/RFC5104, 1431 February 2008, . 1433 [RFC5168] Levin, O., Even, R., and P. Hagendorf, "XML Schema for 1434 Media Control", RFC 5168, DOI 10.17487/RFC5168, March 1435 2008, . 1437 [RFC5393] Sparks, R., Ed., Lawrence, S., Hawrylyshen, A., and B. 1438 Campen, "Addressing an Amplification Vulnerability in 1439 Session Initiation Protocol (SIP) Forking Proxies", 1440 RFC 5393, DOI 10.17487/RFC5393, December 2008, 1441 . 1443 [RFC5626] Jennings, C., Ed., Mahy, R., Ed., and F. Audet, Ed., 1444 "Managing Client-Initiated Connections in the Session 1445 Initiation Protocol (SIP)", RFC 5626, 1446 DOI 10.17487/RFC5626, October 2009, 1447 . 1449 [RFC5658] Froment, T., Lebel, C., and B. Bonnaerens, "Addressing 1450 Record-Route Issues in the Session Initiation Protocol 1451 (SIP)", RFC 5658, DOI 10.17487/RFC5658, October 2009, 1452 . 1454 [RFC5954] Gurbani, V., Ed., Carpenter, B., Ed., and B. Tate, Ed., 1455 "Essential Correction for IPv6 ABNF and URI Comparison in 1456 RFC 3261", RFC 5954, DOI 10.17487/RFC5954, August 2010, 1457 . 1459 [RFC6263] Marjou, X. and A. Sollaud, "Application Mechanism for 1460 Keeping Alive the NAT Mappings Associated with RTP / RTP 1461 Control Protocol (RTCP) Flows", RFC 6263, 1462 DOI 10.17487/RFC6263, June 2011, 1463 . 1465 [RFC6351] Perreault, S., "xCard: vCard XML Representation", 1466 RFC 6351, DOI 10.17487/RFC6351, August 2011, 1467 . 1469 [RFC6352] Daboo, C., "CardDAV: vCard Extensions to Web Distributed 1470 Authoring and Versioning (WebDAV)", RFC 6352, 1471 DOI 10.17487/RFC6352, August 2011, 1472 . 1474 [RFC6442] Polk, J., Rosen, B., and J. Peterson, "Location Conveyance 1475 for the Session Initiation Protocol", RFC 6442, 1476 DOI 10.17487/RFC6442, December 2011, 1477 . 1479 [RFC6665] Roach, A.B., "SIP-Specific Event Notification", RFC 6665, 1480 DOI 10.17487/RFC6665, July 2012, 1481 . 1483 [RFC6764] Daboo, C., "Locating Services for Calendaring Extensions 1484 to WebDAV (CalDAV) and vCard Extensions to WebDAV 1485 (CardDAV)", RFC 6764, DOI 10.17487/RFC6764, February 2013, 1486 . 1488 [RFC6881] Rosen, B. and J. Polk, "Best Current Practice for 1489 Communications Services in Support of Emergency Calling", 1490 BCP 181, RFC 6881, DOI 10.17487/RFC6881, March 2013, 1491 . 1493 [RFC7525] Sheffer, Y., Holz, R., and P. Saint-Andre, 1494 "Recommendations for Secure Use of Transport Layer 1495 Security (TLS) and Datagram Transport Layer Security 1496 (DTLS)", BCP 195, RFC 7525, DOI 10.17487/RFC7525, May 1497 2015, . 1499 [RFC7647] Sparks, R. and A.B. Roach, "Clarifications for the Use of 1500 REFER with RFC 6665", RFC 7647, DOI 10.17487/RFC7647, 1501 September 2015, . 1503 [RFC7742] Roach, A.B., "WebRTC Video Processing and Codec 1504 Requirements", RFC 7742, DOI 10.17487/RFC7742, March 2016, 1505 . 1507 [RFC7852] Gellens, R., Rosen, B., Tschofenig, H., Marshall, R., and 1508 J. Winterbottom, "Additional Data Related to an Emergency 1509 Call", RFC 7852, DOI 10.17487/RFC7852, July 2016, 1510 . 1512 [RFC7874] Valin, JM. and C. Bran, "WebRTC Audio Codec and Processing 1513 Requirements", RFC 7874, DOI 10.17487/RFC7874, May 2016, 1514 . 1516 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 1517 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 1518 May 2017, . 1520 [RFC8445] Keranen, A., Holmberg, C., and J. Rosenberg, "Interactive 1521 Connectivity Establishment (ICE): A Protocol for Network 1522 Address Translator (NAT) Traversal", RFC 8445, 1523 DOI 10.17487/RFC8445, July 2018, 1524 . 1526 [RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol 1527 Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018, 1528 . 1530 [RFC8599] Holmberg, C. and M. Arnold, "Push Notification with the 1531 Session Initiation Protocol (SIP)", RFC 8599, 1532 DOI 10.17487/RFC8599, May 2019, 1533 . 1535 [RFC8760] Shekh-Yusef, R., "The Session Initiation Protocol (SIP) 1536 Digest Access Authentication Scheme", RFC 8760, 1537 DOI 10.17487/RFC8760, March 2020, 1538 . 1540 [RFC8825] Alvestrand, H., "Overview: Real-Time Protocols for 1541 Browser-Based Applications", RFC 8825, 1542 DOI 10.17487/RFC8825, January 2021, 1543 . 1545 [RFC8827] Rescorla, E., "WebRTC Security Architecture", RFC 8827, 1546 DOI 10.17487/RFC8827, January 2021, 1547 . 1549 [RFC8829] Uberti, J., Jennings, C., and E. Rescorla, Ed., 1550 "JavaScript Session Establishment Protocol (JSEP)", 1551 RFC 8829, DOI 10.17487/RFC8829, January 2021, 1552 . 1554 [RFC8834] Perkins, C., Westerlund, M., and J. Ott, "Media Transport 1555 and Use of RTP in WebRTC", RFC 8834, DOI 10.17487/RFC8834, 1556 January 2021, . 1558 [RFC8835] Alvestrand, H., "Transports for WebRTC", RFC 8835, 1559 DOI 10.17487/RFC8835, January 2021, 1560 . 1562 [RFC8839] Petit-Huguenin, M., Nandakumar, S., Holmberg, C., Keränen, 1563 A., and R. Shpount, "Session Description Protocol (SDP) 1564 Offer/Answer Procedures for Interactive Connectivity 1565 Establishment (ICE)", RFC 8839, DOI 10.17487/RFC8839, 1566 January 2021, . 1568 [RFC8865] Holmberg, C. and G. Hellström, "T.140 Real-Time Text 1569 Conversation over WebRTC Data Channels", RFC 8865, 1570 DOI 10.17487/RFC8865, January 2021, 1571 . 1573 [RFC8866] Begen, A., Kyzivat, P., Perkins, C., and M. Handley, "SDP: 1574 Session Description Protocol", RFC 8866, 1575 DOI 10.17487/RFC8866, January 2021, 1576 . 1578 [RFC9071] Hellström, G., "RTP-Mixer Formatting of Multiparty Real- 1579 Time Text", RFC 9071, DOI 10.17487/RFC9071, July 2021, 1580 . 1582 13. 1583 Informative References 1585 [OpenApi] Miller, D., Whitlock, J., Gardiner, M., Ralpson, M., 1586 Ratovsky, R., and U. Sarid, "OpenAPI Specification 1587 v3.1.0", February 2021, 1588 . 1590 [RFC3665] Johnston, A., Donovan, S., Sparks, R., Cunningham, C., and 1591 K. Summers, "Session Initiation Protocol (SIP) Basic Call 1592 Flow Examples", BCP 75, RFC 3665, DOI 10.17487/RFC3665, 1593 December 2003, . 1595 [RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for 1596 Writing an IANA Considerations Section in RFCs", BCP 26, 1597 RFC 8126, DOI 10.17487/RFC8126, June 2017, 1598 . 1600 Acknowledgements 1602 Brett Henderson and Jim Malloy provided many helpful edits to prior 1603 versions of this document. 1605 Author's Address 1607 Brian Rosen 1608 470 Conrad Dr 1609 Mars, PA 16046 1610 United States of America 1612 Phone: +1 724 382 1051 1613 Email: br@brianrosen.net