idnits 2.17.1 draft-ietf-slim-negotiating-human-language-07.txt: 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: ---------------------------------------------------------------------------- No issues found here. 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 (February 22, 2017) is 2617 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) == Unused Reference: 'RFC3840' is defined on line 781, but no explicit reference was found in the text == Unused Reference: 'RFC3841' is defined on line 787, but no explicit reference was found in the text ** Obsolete normative reference: RFC 4566 (Obsoleted by RFC 8866) == Outdated reference: A later version (-14) exists of draft-ietf-slim-multilangcontent-06 Summary: 1 error (**), 0 flaws (~~), 4 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group R. Gellens 3 Internet-Draft Core Technology Consulting 4 Intended status: Standards Track February 22, 2017 5 Expires: August 26, 2017 7 Negotiating Human Language in Real-Time Communications 8 draft-ietf-slim-negotiating-human-language-07 10 Abstract 12 Users have various human (natural) language needs, abilities, and 13 preferences regarding spoken, written, and signed languages. When 14 establishing interactive communication ("calls") there needs to be a 15 way to negotiate (communicate and match) the caller's language and 16 media needs with the capabilities of the called party. This is 17 especially important with emergency calls, where a call can be 18 handled by a call taker capable of communicating with the user, or a 19 translator or relay operator can be bridged into the call during 20 setup, but this applies to non-emergency calls as well (as an 21 example, when calling a company call center). 23 This document describes the need and a solution using new SDP media 24 attributes. 26 Status of This Memo 28 This Internet-Draft is submitted in full conformance with the 29 provisions of BCP 78 and BCP 79. 31 Internet-Drafts are working documents of the Internet Engineering 32 Task Force (IETF). Note that other groups may also distribute 33 working documents as Internet-Drafts. The list of current Internet- 34 Drafts is at http://datatracker.ietf.org/drafts/current/. 36 Internet-Drafts are draft documents valid for a maximum of six months 37 and may be updated, replaced, or obsoleted by other documents at any 38 time. It is inappropriate to use Internet-Drafts as reference 39 material or to cite them other than as "work in progress." 41 This Internet-Draft will expire on August 26, 2017. 43 Copyright Notice 45 Copyright (c) 2017 IETF Trust and the persons identified as the 46 document authors. All rights reserved. 48 This document is subject to BCP 78 and the IETF Trust's Legal 49 Provisions Relating to IETF Documents 50 (http://trustee.ietf.org/license-info) in effect on the date of 51 publication of this document. Please review these documents 52 carefully, as they describe your rights and restrictions with respect 53 to this document. Code Components extracted from this document must 54 include Simplified BSD License text as described in Section 4.e of 55 the Trust Legal Provisions and are provided without warranty as 56 described in the Simplified BSD License. 58 Table of Contents 60 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 61 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 5 62 3. Desired Semantics . . . . . . . . . . . . . . . . . . . . . . 5 63 4. The existing 'lang' attribute . . . . . . . . . . . . . . . . 5 64 5. Solution . . . . . . . . . . . . . . . . . . . . . . . . . . 6 65 5.1. Rationale . . . . . . . . . . . . . . . . . . . . . . . . 6 66 5.2. The 'humintlang-send' and 'humintlang-recv' attributes . 6 67 5.3. No Language in Common . . . . . . . . . . . . . . . . . . 7 68 5.4. Undefined Combinations . . . . . . . . . . . . . . . . . 8 69 5.5. Examples . . . . . . . . . . . . . . . . . . . . . . . . 8 70 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11 71 6.1. att-field Table in SDP Parameters . . . . . . . . . . . . 11 72 6.2. Warn-Codes Sub-Registry of SIP Parameters . . . . . . . . 12 73 7. Security Considerations . . . . . . . . . . . . . . . . . . . 12 74 8. Privacy Considerations . . . . . . . . . . . . . . . . . . . 12 75 9. Changes from Previous Versions . . . . . . . . . . . . . . . 12 76 9.1. Changes from draft-ietf-slim-...-04 to draft-ietf- 77 slim-...-06 . . . . . . . . . . . . . . . . . . . . . . . 12 78 9.2. Changes from draft-ietf-slim-...-02 to draft-ietf- 79 slim-...-03 . . . . . . . . . . . . . . . . . . . . . . . 13 80 9.3. Changes from draft-ietf-slim-...-01 to draft-ietf- 81 slim-...-02 . . . . . . . . . . . . . . . . . . . . . . . 13 82 9.4. Changes from draft-ietf-slim-...-00 to draft-ietf- 83 slim-...-01 . . . . . . . . . . . . . . . . . . . . . . . 13 84 9.5. Changes from draft-gellens-slim-...-03 to draft-ietf- 85 slim-...-00 . . . . . . . . . . . . . . . . . . . . . . . 13 86 9.6. Changes from draft-gellens-slim-...-02 to draft-gellens- 87 slim-...-03 . . . . . . . . . . . . . . . . . . . . . . . 13 88 9.7. Changes from draft-gellens-slim-...-01 to draft-gellens- 89 slim-...-02 . . . . . . . . . . . . . . . . . . . . . . . 14 90 9.8. Changes from draft-gellens-slim-...-00 to draft-gellens- 91 slim-...-01 . . . . . . . . . . . . . . . . . . . . . . . 14 92 9.9. Changes from draft-gellens-mmusic-...-02 to draft- 93 gellens-slim-...-00 . . . . . . . . . . . . . . . . . . . 14 94 9.10. Changes from draft-gellens-mmusic-...-01 to -02 . . . . . 14 95 9.11. Changes from draft-gellens-mmusic-...-00 to -01 . . . . . 14 96 9.12. Changes from draft-gellens-...-02 to draft-gellens- 97 mmusic-...-00 . . . . . . . . . . . . . . . . . . . . . . 15 98 9.13. Changes from draft-gellens-...-01 to -02 . . . . . . . . 16 99 9.14. Changes from draft-gellens-...-00 to -01 . . . . . . . . 16 100 10. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 16 101 11. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 16 102 12. References . . . . . . . . . . . . . . . . . . . . . . . . . 16 103 12.1. Normative References . . . . . . . . . . . . . . . . . . 16 104 12.2. Informational References . . . . . . . . . . . . . . . . 17 105 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 17 107 1. Introduction 109 A mutually comprehensible language is helpful for human 110 communication. This document addresses the real-time, interactive 111 side of the issue. A companion document on language selection in 112 email [I-D.ietf-slim-multilangcontent] addresses the non-real-time 113 side. 115 When setting up interactive communication sessions (using SIP or 116 other protocols), human (natural) language and media modality 117 (spoken, signed, written) negotiation may be needed. Unless the 118 caller and callee know each other or there is contextual or out-of- 119 band information from which the language(s) and media modalities can 120 be determined, there is a need for spoken, signed, or written 121 languages to be negotiated based on the caller's needs and the 122 callee's capabilities. This need applies to both emergency and non- 123 emergency calls. For various reasons, including the ability to 124 establish multiple streams using different media (e.g., voice, text, 125 video), it makes sense to use a per-stream negotiation mechanism, in 126 this case, SDP. 128 This approach has a number of benefits, including that it is generic 129 (applies to all interactive communications negotiated using SDP) and 130 is not limited to emergency calls. In some cases such a facility 131 isn't needed, because the language is known from the context (such as 132 when a caller places a call to a sign language relay center, to a 133 friend, or colleague). But it is clearly useful in many other cases. 134 For example, it is helpful that someone calling a company call center 135 or a Public Safety Answering Point (PSAP) be able to indicate 136 preferred signed, written, and/or spoken languages, the callee be 137 able to indicate its capabilities in this area, and the call proceed 138 using the language(s) and media forms supported by both. 140 Since this is a protocol mechanism, the user equipment (UE client) 141 needs to know the user's preferred languages; a reasonable technique 142 could include a configuration mechanism with a default of the 143 language of the user interface. In some cases, a UE could tie 144 language and media preferences, such as a preference for a video 145 stream using a signed language and/or a text or audio stream using a 146 written/spoken language. 148 Including the user's human (natural) language preferences in the 149 session establishment negotiation is independent of the use of a 150 relay service and is transparent to a voice or other service 151 provider. For example, assume a user within the United States who 152 speaks Spanish but not English places a voice call. The call could 153 be an emergency call or perhaps to an airline reservation desk. The 154 language information is transparent to the voice service provider, 155 but is part of the session negotiation between the UE and the 156 terminating entity. In the case of a call to e.g., an airline, the 157 call could be automatically handled by a Spanish-speaking agent. In 158 the case of an emergency call, the Emergency Services IP network 159 (ESInet) and the PSAP may choose to take the language and media 160 preferences into account when determining how to process the call. 162 By treating language as another attribute that is negotiated along 163 with other aspects of a media stream, it becomes possible to 164 accommodate a range of users' needs and called party facilities. For 165 example, some users may be able to speak several languages, but have 166 a preference. Some called parties may support some of those 167 languages internally but require the use of a translation service for 168 others, or may have a limited number of call takers able to use 169 certain languages. Another example would be a user who is able to 170 speak but is deaf or hard-of-hearing and requires a voice stream plus 171 a text stream. Making language a media attribute allows the standard 172 session negotiation mechanism to handle this by providing the 173 information and mechanism for the endpoints to make appropriate 174 decisions. 176 Regarding relay services, in the case of an emergency call requiring 177 sign language such as ASL, there are currently two common approaches: 178 the caller initiates the call to a relay center, or the caller places 179 the call to emergency services (e.g., 911 in the U.S. or 112 in 180 Europe). (In a variant of the second case, the voice service 181 provider invokes a relay service as well as emergency services.) In 182 the former case, the language need is ancillary and supplemental. In 183 the non-variant second case, the ESInet and/or PSAP may take the need 184 for sign language into account and bridge in a relay center. In this 185 case, the ESInet and PSAP have all the standard information available 186 (such as location) but are able to bridge the relay sooner in the 187 call processing. 189 By making this facility part of the end-to-end negotiation, the 190 question of which entity provides or engages the relay service 191 becomes separate from the call processing mechanics; if the caller 192 directs the call to a relay service then the human language 193 negotiation facility provides extra information to the relay service 194 but calls will still function without it; if the caller directs the 195 call to emergency services, then the ESInet/PSAP are able to take the 196 user's human language needs into account, e.g., by assigning to a 197 specific queue or call taker or bridging in a relay service or 198 translator. 200 The term "negotiation" is used here rather than "indication" because 201 human language (spoken/written/signed) is something that can be 202 negotiated in the same way as which forms of media (audio/text/video) 203 or which codecs. For example, if we think of non-emergency calls, 204 such as a user calling an airline reservation center, the user may 205 have a set of languages he or she speaks, with perhaps preferences 206 for one or a few, while the airline reservation center will support a 207 fixed set of languages. Negotiation should select the user's most 208 preferred language that is supported by the call center. Both sides 209 should be aware of which language was negotiated. This is 210 conceptually similar to the way other aspects of each media stream 211 are negotiated using SDP (e.g., media type and codecs). 213 2. Terminology 215 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 216 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 217 document are to be interpreted as described in RFC 2119 [RFC2119]. 219 3. Desired Semantics 221 The desired solution is a media attribute (preferably per direction) 222 that may be used within an offer to indicate the preferred 223 language(s) of each (direction of a) media stream, and within an 224 answer to indicate the accepted language. The semantics of including 225 multiple values for a media stream within an offer is that the 226 languages are listed in order of preference. 228 (Negotiating multiple simultaneous languages within a media stream is 229 out of scope of this document.) 231 4. The existing 'lang' attribute 233 RFC 4566 [RFC4566] specifies an attribute 'lang' which appears 234 similar to what is needed here, but is not sufficiently sufficiently 235 specific or flexible for the needs of this document. In addition, 236 'lang' is not mentioned in [RFC3264] and there are no known 237 implementations in SIP. Further, it is useful to be able to specify 238 language per direction (sending and receiving). This document 239 therefore defines two new attributes. 241 5. Solution 243 An SDP attribute (per direction) seems the natural choice to 244 negotiate human (natural) language of an interactive media stream, 245 using the language tags of BCP 47 [RFC5646]. 247 5.1. Rationale 249 The decision to base the proposal at the media negotiation level, and 250 specifically to use SDP, came after significant debate and 251 discussion. From an engineering standpoint, it is possible to meet 252 the objectives using a variety of mechanisms, but none are perfect. 253 None of the proposed alternatives was clearly better technically in 254 enough ways to win over proponents of the others, and none were 255 clearly so bad technically as to be easily rejected. As is often the 256 case in engineering, choosing the solution is a matter of balancing 257 trade-offs, and ultimately more a matter of taste than technical 258 merit. The two main proposals were to use SDP and SIP. SDP has the 259 advantage that the language is negotiated with the media to which it 260 applies, while SIP has the issue that the languages expressed may not 261 match the SDP media negotiated (for example, a session could 262 negotiate video at the SIP level but fail to negotiate any video 263 media stream at the SDP layer). 265 The mechanism described here for SDP can be adapted to media 266 negotiation protocols other than SDP. 268 5.2. The 'humintlang-send' and 'humintlang-recv' attributes 270 This document defines two new media-level attributes starting with 271 'humintlang' (short for "human interactive language") to negotiate 272 which human language is used in each interactive media stream. There 273 are two attributes, one ending in "-send" and the other in "-recv", 274 registered in Section 6. Each can appear multiple times in an offer 275 for a media stream. 277 In an offer, the 'humintlang-send' values indicates the language(s) 278 the offerer is willing to use when sending using the media, and the 279 'humintlang-recv' values indicates the language(s) the offerer is 280 willing to use when receiving using the media. The values from all 281 instances of the attribute constitute a list of languages in 282 preference order (first is most preferred). When a media is intended 283 for use in one direction only (such as a user sending using text and 284 receiving using audio), either humintlang-send or humintlang-recv MAY 285 be omitted. When a media is not primarily intended for language (for 286 example, a video or audio stream intended for background only) both 287 SHOULD be omitted. Otherwise, both SHOULD have the same values in 288 the same order. The two SHOULD NOT be set to languages which are 289 difficult to match together (e.g., specifying a desire to send audio 290 in Hungarian and receive audio in Portuguese will make it difficult 291 to successfully complete the call). 293 In an answer, 'humintlang-send' is the language the answerer will 294 send (which in most cases is one of the languages in the offer's 295 'humintlang-recv'), and 'humintlang-recv' is the language the 296 answerer expects to receive (which in most cases is one of the 297 languages in the offer's 'humintlang-send'). 299 Each value MUST be a language tag per BCP 47 [RFC5646]. BCP 47 300 describes mechanisms for matching language tags. Note that [RFC5646] 301 Section 4.1 advises to "tag content wisely" and not include 302 unnecessary subtags. 304 In an offer, each language tag value MAY have an asterisk appended as 305 the last character. An asterisk appended to any value indicates a 306 request by the caller to not fail the call if there is no language in 307 common. See Section 5.3 for more information and discussion. 309 When placing an emergency call, and in any other case where the 310 language cannot be inferred from context, each media stream in an 311 offer primarily intended for human language communication SHOULD 312 specify both (or for unidirectional streams, one of) the 'humintlang- 313 send' and 'humintlang-recv' attributes. 315 Clients acting on behalf of end users are expected to set one or both 316 'humintlang-send' and 'humintlang-recv' attributes on each media 317 stream primarily intended for human communication in an offer when 318 placing an outgoing session, and either ignore or take into 319 consideration the attributes when receiving incoming calls, based on 320 local configuration and capabilities. Systems acting on behalf of 321 call centers and PSAPs are expected to take into account the values 322 when processing inbound calls. 324 Note that media and language negotiation might result in more media 325 streams being accepted than are needed by the users (e.g., if more 326 and less preferred combinations of media and language are all 327 accepted). This is not a problem. 329 5.3. No Language in Common 331 A consideration with the ability to negotiate language is if the call 332 proceeds or fails if the callee does not support any of the languages 333 requested by the caller. This document does not mandate either 334 behavior, although it does provide a way for the caller to indicate a 335 preference for the call succeeding when there is no language in 336 common. It is OPTIONAL for the callee to honor this preference. For 337 example, a PSAP is likely to attempt the call even without an 338 indicated preference when there is no language in common, while a 339 call center might choose to fail the call. 341 The mechanism for indicating this preference is that, in an offer, if 342 the last character of any of the 'humintlang-recv' or 'humintlang- 343 send' values is an asterisk, this indicates a request to not fail the 344 call. The called party MAY ignore the indication, e.g., for the 345 emergency services use case, regardless of the absence of an 346 asterisk, a PSAP will likely not fail the call; some call centers 347 might reject a call even with an asterisk. 349 If the call is rejected due to lack of any languages in common, it is 350 suggested to use SIP response code 488 (Not Acceptable Here) or 606 351 (Not Acceptable) [RFC3261] and include a Warning header field 352 [RFC3261] in the SIP response to indicate the supported languages. 353 The Warning header field contains a warning code of [TBD: IANA VALUE, 354 e.g., 308] and a warning text indicating that there are no mutually- 355 supported languages and containing a list of supported languages. 357 Example: 359 Warning: [TBD: IANA VALUE, e.g., 308] proxy.example.com 360 "Incompatible language specification: Requested languages not 361 supported. Supported languages are: es, en" 363 5.4. Undefined Combinations 365 The behavior when specifying a non-signed language tag for a video 366 media stream, or a signed language tag for an audio or text media 367 stream, is not defined. 369 5.5. Examples 371 Some examples are shown below. Only the most directly relevant 372 portions of the SDP block are shown, for clarity. 374 An offer or answer indicating spoken English both ways: 376 m=audio 49170 RTP/AVP 0 377 a=humintlang-send:en 378 a=humintlang-recv:en 380 An offer or answer indicating American Sign Language both ways, and 381 requesting that the call proceed even if the callee does not support 382 the language: 384 m=video 51372 RTP/AVP 31 32 385 a=humintlang-send:ase* 386 a=humintlang-recv:ase* 388 An offer requesting spoken Spanish both ways (most preferred), spoken 389 Basque both ways (second preference), or spoken English both ways 390 (third preference). The offer further requests that the call proceed 391 even if the callee does not support any of the languages: 393 m=audio 49250 RTP/AVP 20 394 a=humintlang-send:es* 395 a=humintlang-recv:es* 396 a=humintlang-send:eu* 397 a=humintlang-recv:eu* 398 a=humintlang-send:en* 399 a=humintlang-recv:en* 401 An answer to the above offer indicating spoken Spanish both ways: 403 m=audio 49250 RTP/AVP 20 404 a=humintlang-send:es 405 a=humintlang-recv:es 407 An alternative answer to the above offer indicating spoken Italian 408 both ways (as the callee does not support any of the requested 409 languages but chose to proceed with the call): 411 m=audio 49250 RTP/AVP 20 412 a=humintlang-send:it 413 a=humintlang-recv:it 415 An offer of answer indicating written Greek both ways: 417 m=text 45020 RTP/AVP 103 104 418 a=humintlang-send:gr 419 a=humintlang-recv:gr 421 An offer requesting the following media streams: video for the caller 422 to send using Argentine Sign Language, text for the caller to send 423 using written Spanish (most preferred) or written Portuguese, audio 424 for the caller to receive spoken Spanish (most preferred) or spoken 425 Portuguese. The offer also requests that the call proceed even if 426 the callee does not support any of the languages: 428 m=video 51372 RTP/AVP 31 32 429 a=humintlang-send:aed* 431 m=text 45020 RTP/AVP 103 104 432 a=humintlang-send:sp 433 a=humintlang-send:pt* 435 m=audio 49250 RTP/AVP 20 436 a=humintlang-recv:sp 437 a=humintlang-recv:pt* 439 An answer for the above offer, indicating text in which the callee 440 will receive written Spanish, and audio in which the callee will send 441 spoken Spanish: 443 m=text 45020 RTP/AVP 103 104 444 a=humintlang-recv:sp 446 m=audio 49250 RTP/AVP 20 447 a=humintlang-send:sp 449 An offer requesting the following media streams: text for the caller 450 to send using written English (most preferred) or written Spanish, 451 audio for the caller to receive spoken English (most preferred) or 452 spoken Spanish, supplemental video. The offer also requests that the 453 call proceed even if the callee does not support any of the 454 languages: 456 m=text 45020 RTP/AVP 103 104 457 a=humintlang-send:en 458 a=humintlang-send:sp 460 m=audio 49250 RTP/AVP 20 461 a=humintlang-recv:en 462 a=humintlang-recv:sp* 464 m=video 51372 RTP/AVP 31 32 466 An answer for the above offer, indicating text in which the callee 467 will receive written Spanish, audio in which the callee will send 468 spoken Spanish, and supplemental video: 470 m=text 45020 RTP/AVP 103 104 471 a=humintlang-recv:sp 473 m=audio 49250 RTP/AVP 20 474 a=humintlang-send:sp 476 m=video 51372 RTP/AVP 31 32 478 6. IANA Considerations 480 6.1. att-field Table in SDP Parameters 482 IANA is kindly requested to add two entries to the 'att-field (media 483 level only)' table of the SDP parameters registry: 485 Attribute Name: humintlang-recv 487 Contact Name: Randall Gellens 489 Contact Email Address: rg+ietf@randy.pensive.org 491 Attribute Syntax: 493 humintlang-value = Language-Tag [ asterisk ] 495 ; Language-Tag as defined in BCP 47 497 asterisk = "*" 499 Attribute Semantics: Described in Section 5.2 of TBD: THIS DOCUMENT 501 Usage Level: media 503 MUX Category: normal 505 Charset Dependent: No 507 Purpose: See Section 5.2 of TBD: THIS DOCUMENT 509 O/A Procedures: See Section 5.2 of TBD: THIS DOCUMENT 511 Reference: TBD: THIS DOCUMENT 513 Attribute Name: humintlang-send 515 Contact Name: Randall Gellens 517 Contact Email Address: rg+ietf@randy.pensive.org 519 Attribute Syntax: humintlang-value 521 Attribute Semantics: Described in Section 5.2 of TBD: THIS DOCUMENT 523 Usage Level: media 524 MUX Category: normal 526 Charset Dependent: No 528 Purpose: See Section 5.2 of TBD: THIS DOCUMENT 530 O/A Procedures: See Section 5.2 of TBD: THIS DOCUMENT 532 Reference: TBD: THIS DOCUMENT 534 6.2. Warn-Codes Sub-Registry of SIP Parameters 536 IANA is requested to add a new value in the warn-codes sub-registry 537 of SIP parameters in the 300 through 329 range that is allocated for 538 indicating problems with keywords in the session description. The 539 reference is to this document. The warn text is "Incompatible 540 language specification: Requested languages not supported. Supported 541 languages are: [list of supported languages]." 543 7. Security Considerations 545 The Security Considerations of BCP 47 [RFC5646] apply here. In 546 addition, if the 'humintlang-send' or 'humintlang-recv' values are 547 altered or deleted en route, the session could fail or languages 548 incomprehensible to the caller could be selected; however, this is 549 also a risk if any SDP parameters are modified en route. 551 8. Privacy Considerations 553 Language and media information can suggest a user's nationality, 554 background, abilities, disabilities, etc. 556 9. Changes from Previous Versions 558 RFC EDITOR: Please remove this section prior to publication. 560 9.1. Changes from draft-ietf-slim-...-04 to draft-ietf-slim-...-06 562 o Deleted Section 3 ("Expected Use") 564 o Reworded modalities in Introduction from "voice, video, text" to 565 "spoken, signed, written" 567 o Reworded text about "increasingly fine-grained distinctions" to 568 instead merely point to BCP 47 Section 4.1's advice to "tag 569 content wisely" and not include unnecessary subtags 571 o Changed IANA registration of new SDP attributes to follow RFC 4566 572 template with extra fields suggested in 4566-bis (expired draft) 574 o Deleted "(known as voice carry over)" 576 o Changed textual instanced of RFC 5646 to BCP 47, although actual 577 reference remains RFC due to xml2rfc limitations 579 9.2. Changes from draft-ietf-slim-...-02 to draft-ietf-slim-...-03 581 o Added Examples 583 o Added Privacy Considerations section 585 o Other editorial changes for clarity 587 9.3. Changes from draft-ietf-slim-...-01 to draft-ietf-slim-...-02 589 o Deleted most of Section 4 and replaced with a very short summary 591 o Replaced "wishes to" with "is willing to" in Section 5.2 593 o Reworded description of attribute usage to clarify when to set 594 both, only one, or neither 596 o Deleted all uses of "IMS" 598 o Other editorial changes for clarity 600 9.4. Changes from draft-ietf-slim-...-00 to draft-ietf-slim-...-01 602 o Editorial changes to wording in Section 5. 604 9.5. Changes from draft-gellens-slim-...-03 to draft-ietf-slim-...-00 606 o Updated title to reflect WG adoption 608 9.6. Changes from draft-gellens-slim-...-02 to draft-gellens- 609 slim-...-03 611 o Removed Use Cases section, per face-to-face discussion at IETF 93 613 o Removed discussion of routing, per face-to-face discussion at IETF 614 93 616 9.7. Changes from draft-gellens-slim-...-01 to draft-gellens- 617 slim-...-02 619 o Updated NENA usage mention 621 o Removed background text reference to draft-saintandre-sip-xmpp- 622 chat-04 since that draft expired 624 9.8. Changes from draft-gellens-slim-...-00 to draft-gellens- 625 slim-...-01 627 o Revision to keep draft from expiring 629 9.9. Changes from draft-gellens-mmusic-...-02 to draft-gellens- 630 slim-...-00 632 o Changed name from -mmusic- to -slim- to reflect proposed WG name 634 o As a result of the face-to-face discussion in Toronto, the SDP vs 635 SIP issue was resolved by going back to SDP, taking out the SIP 636 hint, and converting what had been a set of alternate proposals 637 for various ways of doing it within SIP into an informative annex 638 section which includes background on why SDP is the proposal 640 o Added mention that enabling a mutually comprehensible language is 641 a general problem of which this document addresses the real-time 642 side, with reference to [I-D.ietf-slim-multilangcontent] which 643 addresses the non-real-time side. 645 9.10. Changes from draft-gellens-mmusic-...-01 to -02 647 o Added clarifying text on leaving attributes unset for media not 648 primarily intended for human language communication (e.g., 649 background audio or video). 651 o Added new section ("Alternative Proposal: Caller-prefs") 652 discussing use of SIP-level Caller-prefs instead of SDP-level. 654 9.11. Changes from draft-gellens-mmusic-...-00 to -01 656 o Relaxed language on setting -send and -receive to same values; 657 added text on leaving on empty to indicate asymmetric usage. 659 o Added text that clients on behalf of end users are expected to set 660 the attributes on outgoing calls and ignore on incoming calls 661 while systems on behalf of call centers and PSAPs are expected to 662 take the attributes into account when processing incoming calls. 664 9.12. Changes from draft-gellens-...-02 to draft-gellens-mmusic-...-00 666 o Updated text to refer to RFC 5646 rather than the IANA language 667 subtags registry directly. 669 o Moved discussion of existing 'lang' attribute out of "Proposed 670 Solution" section and into own section now that it is not part of 671 proposal. 673 o Updated text about existing 'lang' attribute. 675 o Added example use cases. 677 o Replaced proposed single 'humintlang' attribute with 'humintlang- 678 send' and 'humintlang-recv' per Harald's request/information that 679 it was a misuse of SDP to use the same attribute for sending and 680 receiving. 682 o Added section describing usage being advisory vs required and text 683 in attribute section. 685 o Added section on SIP "hint" header (not yet nailed down between 686 new and existing header). 688 o Added text discussing usage in policy-based routing function or 689 use of SIP header "hint" if unable to do so. 691 o Added SHOULD that the value of the parameters stick to the largest 692 granularity of language tags. 694 o Added text to Introduction to be try and be more clear about 695 purpose of document and problem being solved. 697 o Many wording improvements and clarifications throughout the 698 document. 700 o Filled in Security Considerations. 702 o Filled in IANA Considerations. 704 o Added to Acknowledgments those who participated in the Orlando ad- 705 hoc discussion as well as those who participated in email 706 discussion and side one-on-one discussions. 708 9.13. Changes from draft-gellens-...-01 to -02 710 o Updated text for (possible) new attribute "humintlang" to 711 reference RFC 5646 713 o Added clarifying text for (possible) re-use of existing 'lang' 714 attribute saying that the registration would be updated to reflect 715 different semantics for multiple values for interactive versus 716 non-interactive media. 718 o Added clarifying text for (possible) new attribute "humintlang" to 719 attempt to better describe the role of language tags in media in 720 an offer and an answer. 722 9.14. Changes from draft-gellens-...-00 to -01 724 o Changed name of (possible) new attribute from 'humlang" to 725 "humintlang" 726 o Added discussion of silly state (language not appropriate for 727 media type) 728 o Added Voice Carry Over example 729 o Added mention of multilingual people and multiple languages 730 o Minor text clarifications 732 10. Contributors 734 Gunnar Hellstrom deserves special mention for his reviews and 735 assistance. 737 11. Acknowledgments 739 Many thanks to Bernard Aboba, Harald Alvestrand, Flemming Andreasen, 740 Francois Audet, Eric Burger, Keith Drage, Doug Ewell, Christian 741 Groves, Andrew Hutton, Hadriel Kaplan, Ari Keranen, John Klensin, 742 Paul Kyzivat, John Levine, Alexey Melnikov, James Polk, Pete Resnick, 743 Peter Saint-Andre, and Dale Worley for reviews, corrections, 744 suggestions, and participating in in-person and email discussions. 746 12. References 748 12.1. Normative References 750 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 751 Requirement Levels", BCP 14, RFC 2119, 752 DOI 10.17487/RFC2119, March 1997, 753 . 755 [RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, 756 A., Peterson, J., Sparks, R., Handley, M., and E. 757 Schooler, "SIP: Session Initiation Protocol", RFC 3261, 758 DOI 10.17487/RFC3261, June 2002, 759 . 761 [RFC4566] Handley, M., Jacobson, V., and C. Perkins, "SDP: Session 762 Description Protocol", RFC 4566, DOI 10.17487/RFC4566, 763 July 2006, . 765 [RFC5646] Phillips, A., Ed. and M. Davis, Ed., "Tags for Identifying 766 Languages", BCP 47, RFC 5646, DOI 10.17487/RFC5646, 767 September 2009, . 769 12.2. Informational References 771 [I-D.ietf-slim-multilangcontent] 772 Tomkinson, N. and N. Borenstein, "Multiple Language 773 Content Type", draft-ietf-slim-multilangcontent-06 (work 774 in progress), October 2016. 776 [RFC3264] Rosenberg, J. and H. Schulzrinne, "An Offer/Answer Model 777 with Session Description Protocol (SDP)", RFC 3264, 778 DOI 10.17487/RFC3264, June 2002, 779 . 781 [RFC3840] Rosenberg, J., Schulzrinne, H., and P. Kyzivat, 782 "Indicating User Agent Capabilities in the Session 783 Initiation Protocol (SIP)", RFC 3840, 784 DOI 10.17487/RFC3840, August 2004, 785 . 787 [RFC3841] Rosenberg, J., Schulzrinne, H., and P. Kyzivat, "Caller 788 Preferences for the Session Initiation Protocol (SIP)", 789 RFC 3841, DOI 10.17487/RFC3841, August 2004, 790 . 792 Author's Address 794 Randall Gellens 795 Core Technology Consulting 797 Email: rg+ietf@randy.pensive.org