idnits 2.17.1 draft-ietf-slim-negotiating-human-language-20.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 seems to lack the recommended RFC 2119 boilerplate, even if it appears to use RFC 2119 keywords -- however, there's a paragraph with a matching beginning. Boilerplate error? (The document does seem to have the reference to RFC 2119 which the ID-Checklist requires). -- The document date (January 8, 2018) is 2293 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) ** Obsolete normative reference: RFC 4566 (Obsoleted by RFC 8866) Summary: 1 error (**), 0 flaws (~~), 2 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 January 8, 2018 5 Expires: July 12, 2018 7 Negotiating Human Language in Real-Time Communications 8 draft-ietf-slim-negotiating-human-language-20 10 Abstract 12 Users have various human (natural) language needs, abilities, and 13 preferences regarding spoken, written, and signed languages. This 14 document adds new SDP media-level attributes so that when 15 establishing interactive communication sessions ("calls"), it is 16 possible to negotiate (communicate and match) the caller's language 17 and media needs with the capabilities of the called party. This is 18 especially important with emergency calls, where a call can be 19 handled by a call taker capable of communicating with the user, or a 20 translator or relay operator can be bridged into the call during 21 setup, but this applies to non-emergency calls as well (as an 22 example, when calling a company call center). 24 This document describes the need and a solution using new Session 25 Description Protocol (SDP) media attributes. 27 Status of This Memo 29 This Internet-Draft is submitted in full conformance with the 30 provisions of BCP 78 and BCP 79. 32 Internet-Drafts are working documents of the Internet Engineering 33 Task Force (IETF). Note that other groups may also distribute 34 working documents as Internet-Drafts. The list of current Internet- 35 Drafts is at http://datatracker.ietf.org/drafts/current/. 37 Internet-Drafts are draft documents valid for a maximum of six months 38 and may be updated, replaced, or obsoleted by other documents at any 39 time. It is inappropriate to use Internet-Drafts as reference 40 material or to cite them other than as "work in progress." 42 This Internet-Draft will expire on July 12, 2018. 44 Copyright Notice 46 Copyright (c) 2018 IETF Trust and the persons identified as the 47 document authors. All rights reserved. 49 This document is subject to BCP 78 and the IETF Trust's Legal 50 Provisions Relating to IETF Documents 51 (http://trustee.ietf.org/license-info) in effect on the date of 52 publication of this document. Please review these documents 53 carefully, as they describe your rights and restrictions with respect 54 to this document. Code Components extracted from this document must 55 include Simplified BSD License text as described in Section 4.e of 56 the Trust Legal Provisions and are provided without warranty as 57 described in the Simplified BSD License. 59 Table of Contents 61 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 62 1.1. Applicability . . . . . . . . . . . . . . . . . . . . . . 4 63 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 5 64 3. Desired Semantics . . . . . . . . . . . . . . . . . . . . . . 5 65 4. The existing 'lang' attribute . . . . . . . . . . . . . . . . 5 66 5. Solution . . . . . . . . . . . . . . . . . . . . . . . . . . 5 67 5.1. Rationale . . . . . . . . . . . . . . . . . . . . . . . . 5 68 5.2. The 'hlang-send' and 'hlang-recv' attributes . . . . . . 6 69 5.3. No Language in Common . . . . . . . . . . . . . . . . . . 7 70 5.4. Usage Notes . . . . . . . . . . . . . . . . . . . . . . . 8 71 5.5. Examples . . . . . . . . . . . . . . . . . . . . . . . . 8 72 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10 73 6.1. att-field Table in SDP Parameters . . . . . . . . . . . . 10 74 6.2. Warn-Codes Sub-Registry of SIP Parameters . . . . . . . . 11 75 7. Security Considerations . . . . . . . . . . . . . . . . . . . 12 76 8. Privacy Considerations . . . . . . . . . . . . . . . . . . . 12 77 9. Changes from Previous Versions . . . . . . . . . . . . . . . 12 78 9.1. Changes from draft-ietf-slim-...-04 to draft-ietf- 79 slim-...-06 . . . . . . . . . . . . . . . . . . . . . . . 12 80 9.2. Changes from draft-ietf-slim-...-02 to draft-ietf- 81 slim-...-03 . . . . . . . . . . . . . . . . . . . . . . . 12 82 9.3. Changes from draft-ietf-slim-...-01 to draft-ietf- 83 slim-...-02 . . . . . . . . . . . . . . . . . . . . . . . 13 84 9.4. Changes from draft-ietf-slim-...-00 to draft-ietf- 85 slim-...-01 . . . . . . . . . . . . . . . . . . . . . . . 13 86 9.5. Changes from draft-gellens-slim-...-03 to draft-ietf- 87 slim-...-00 . . . . . . . . . . . . . . . . . . . . . . . 13 88 9.6. Changes from draft-gellens-slim-...-02 to draft-gellens- 89 slim-...-03 . . . . . . . . . . . . . . . . . . . . . . . 13 90 9.7. Changes from draft-gellens-slim-...-01 to draft-gellens- 91 slim-...-02 . . . . . . . . . . . . . . . . . . . . . . . 13 92 9.8. Changes from draft-gellens-slim-...-00 to draft-gellens- 93 slim-...-01 . . . . . . . . . . . . . . . . . . . . . . . 13 94 9.9. Changes from draft-gellens-mmusic-...-02 to draft- 95 gellens-slim-...-00 . . . . . . . . . . . . . . . . . . . 13 96 9.10. Changes from draft-gellens-mmusic-...-01 to -02 . . . . . 14 97 9.11. Changes from draft-gellens-mmusic-...-00 to -01 . . . . . 14 98 9.12. Changes from draft-gellens-...-02 to draft-gellens- 99 mmusic-...-00 . . . . . . . . . . . . . . . . . . . . . . 14 100 9.13. Changes from draft-gellens-...-01 to -02 . . . . . . . . 15 101 9.14. Changes from draft-gellens-...-00 to -01 . . . . . . . . 15 102 10. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 16 103 11. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 16 104 12. References . . . . . . . . . . . . . . . . . . . . . . . . . 16 105 12.1. Normative References . . . . . . . . . . . . . . . . . . 16 106 12.2. Informational References . . . . . . . . . . . . . . . . 16 107 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 17 109 1. Introduction 111 A mutually comprehensible language is helpful for human 112 communication. This document addresses the negotiation of human 113 (natural) language and media modality (spoken, signed, written) in 114 real-time communications. A companion document [RFC8255] addresses 115 language selection in email. 117 Unless the caller and callee know each other or there is contextual 118 or out-of- band information from which the language(s) and media 119 modalities can be determined, there is a need for spoken, signed, or 120 written languages to be negotiated based on the caller's needs and 121 the callee's capabilities. This need applies to both emergency and 122 non-emergency calls. For example, it is helpful for a caller to a 123 company call center or a Public Safety Answering Point (PSAP) to be 124 able to indicate preferred signed, written, and/or spoken languages, 125 and for the callee to be able to indicate its capabilities in this 126 area, allowing the call to proceed using the language(s) and media 127 forms supported by both. 129 For various reasons, including the ability to establish multiple 130 streams using different media (e.g., voice, text, video), it makes 131 sense to use a per-stream negotiation mechanism known as the Session 132 Description Protocol (SDP). Utilizing Session Description Protocol 133 (SDP) [RFC4566] enables the solution described in this document to be 134 applied to all interactive communications negotiated using SDP, in 135 emergency as well as non-emergency scenarios. 137 By treating language as another SDP attribute that is negotiated 138 along with other aspects of a media stream, it becomes possible to 139 accommodate a range of users' needs and called party facilities. For 140 example, some users may be able to speak several languages, but have 141 a preference. Some called parties may support some of those 142 languages internally but require the use of a translation service for 143 others, or may have a limited number of call takers able to use 144 certain languages. Another example would be a user who is able to 145 speak but is deaf or hard-of-hearing and and desires a voice stream 146 to send spoken language plus a text stream to receive written 147 language. Making language a media attribute allows the standard 148 session negotiation mechanism to handle this by providing the 149 information and mechanism for the endpoints to make appropriate 150 decisions. 152 The term "negotiation" is used here rather than "indication" because 153 human language (spoken/written/signed) can be negotiated in the same 154 manner as media (audio/text/video) and codecs. For example, if we 155 think of a user calling an airline reservation center, the user may 156 have a set of languages he or she speaks, with perhaps preferences 157 for one or a few, while the airline reservation center will support a 158 fixed set of languages. Negotiation should select the user's most 159 preferred language that is supported by the call center. Both sides 160 should be aware of which language was negotiated. This is 161 conceptually similar to the way other aspects of each media stream 162 are negotiated using SDP (e.g., media type and codecs). 164 In the offer/answer model used here, the offer contains a set of 165 languages per media (and direction) that the offerer is capable of 166 using, and the answer contains one language per media (and direction) 167 that the answerer will support. Supporting languages and/or 168 modalities can require taking extra steps, such as having a call 169 handled by an agent who speaks a requested language and/or with the 170 ability to use a requested modality, or bridging external translation 171 or relay resources into the call, etc. The answer indicates the 172 media and languages that the answerer is committing to support 173 (possibly after additional steps have been taken). This model also 174 provides knowledge so both ends know what has been negotiated. Note 175 that additional steps required to support the indicated languages or 176 modalities may or may not be in place in time for any early media. 178 Since this is a protocol mechanism, the user equipment (UE client) 179 needs to know the user's preferred languages; while this document 180 does not address how clients determine this, reasonable techniques 181 could include a configuration mechanism with a default of the 182 language of the user interface; in some cases, a UE could tie 183 language and media preferences, such as a preference for a video 184 stream using a signed language and/or a text or audio stream using a 185 written/spoken language. 187 1.1. Applicability 189 Within this document, it is assumed that the negotiating endpoints 190 have already been determined, so that a per-stream negotiation based 191 on the Session Description Protocol (SDP) can proceed. 193 When setting up interactive communications sessions it is necessary 194 to route signaling messages to the appropriate endpoint(s). This 195 document does not address the problem of language-based routing. 197 2. Terminology 199 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 200 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 201 "OPTIONAL" in this document are to be interpreted as described in BCP 202 14 RFC 8174 [RFC8174] when, and only when, they appear in all 203 capitals, as shown here. 205 3. Desired Semantics 207 The desired solution is a media attribute (preferably per direction) 208 that may be used within an offer to indicate the preferred 209 language(s) of each (direction of a) media stream, and within an 210 answer to indicate the accepted language. The semantics of including 211 multiple languages for a media stream within an offer is that the 212 languages are listed in order of preference. 214 (Negotiating multiple simultaneous languages within a media stream is 215 out of scope of this document.) 217 4. The existing 'lang' attribute 219 RFC 4566 [RFC4566] specifies an attribute 'lang' which appears 220 similar to what is needed here, but is not sufficiently specific or 221 flexible for the needs of this document. In addition, 'lang' is not 222 mentioned in [RFC3264] and there are no known implementations in SIP. 223 Further, it is useful to be able to specify language per direction 224 (sending and receiving). This document therefore defines two new 225 attributes. 227 5. Solution 229 An SDP attribute (per direction) seems the natural choice to 230 negotiate human (natural) language of an interactive media stream, 231 using the language tags of BCP 47 [RFC5646]. 233 5.1. Rationale 235 The decision to base the proposal at the media negotiation level, and 236 specifically to use SDP, came after significant debate and 237 discussion. From an engineering standpoint, it is possible to meet 238 the objectives using a variety of mechanisms, but none are perfect. 239 None of the proposed alternatives was clearly better technically in 240 enough ways to win over proponents of the others, and none were 241 clearly so bad technically as to be easily rejected. As is often the 242 case in engineering, choosing the solution is a matter of balancing 243 trade-offs, and ultimately more a matter of taste than technical 244 merit. The two main proposals were to use SDP and SIP. SDP has the 245 advantage that the language is negotiated with the media to which it 246 applies, while SIP has the issue that the languages expressed may not 247 match the SDP media negotiated (for example, a session could 248 negotiate a signed language at the SIP level but fail to negotiate a 249 video media stream at the SDP layer). 251 The mechanism described here for SDP can be adapted to media 252 negotiation protocols other than SDP. 254 5.2. The 'hlang-send' and 'hlang-recv' attributes 256 This document defines two media-level attributes starting with 257 'hlang' (short for "human interactive language") to negotiate which 258 human language is selected for use in each interactive media stream. 259 (Note that not all streams will necessarily be used.) There are two 260 attributes, one ending in "-send" and the other in "-recv", 261 registered in Section 6. Each can appear in offers and answers for 262 media streams. 264 In an offer, the 'hlang-send' value is a list of one or more 265 language(s) the offerer is willing to use when sending using the 266 media, and the 'hlang-recv' value is a list of one or more 267 language(s) the offerer is willing to use when receiving using the 268 media. The list of languages is in preference order (first is most 269 preferred). When a media is intended for interactive communication 270 using a language in one direction only (e.g., a user with difficulty 271 speaking but able to hear who indicates a desire to send using text 272 and receive using audio), either hlang-send or hlang-recv MAY be 273 omitted. When a media is not primarily intended for language (for 274 example, a video or audio stream intended for background only) both 275 SHOULD be omitted. Otherwise, both SHOULD have the same value. Note 276 that specifying different languages for each direction (as opposed to 277 the same or essentially the same language in different modalities) 278 can make it difficult to complete the call (e.g., specifying a desire 279 to send audio in Hungarian and receive audio in Portuguese). 281 In an answer, 'hlang-send' is the language the answerer will send if 282 using the media for language (which in most cases is one of the 283 languages in the offer's 'hlang-recv'), and 'hlang-recv' is the 284 language the answerer expects to receive if using the media for 285 language (which in most cases is one of the languages in the offer's 286 'hlang-send'). 288 In an offer, each value MUST be a list of one or more language tags 289 per BCP 47 [RFC5646], separated by white space. In an answer, each 290 value MUST be one language tag per BCP 47. BCP 47 describes 291 mechanisms for matching language tags. Note that [RFC5646] 292 Section 4.1 advises to "tag content wisely" and not include 293 unnecessary subtags. 295 When placing an emergency call, and in any other case where the 296 language cannot be inferred from context, in an offer each media 297 stream primarily intended for human language communication SHOULD 298 specify both (or for asymmetrical language use, one of) the 'hlang- 299 send' and 'hlang-recv' attributes. 301 Clients acting on behalf of end users are expected to set one or both 302 'hlang-send' and 'hlang-recv' attributes on each media stream 303 primarily intended for human communication in an offer when placing 304 an outgoing session, and either ignore or take into consideration the 305 attributes when receiving incoming calls, based on local 306 configuration and capabilities. Systems acting on behalf of call 307 centers and PSAPs are expected to take into account the attributes 308 when processing inbound calls. 310 Note that media and language negotiation might result in more media 311 streams being accepted than are needed by the users (e.g., if more 312 preferred and less preferred combinations of media and language are 313 all accepted). This is not a problem. 315 5.3. No Language in Common 317 A consideration with the ability to negotiate language is if the call 318 proceeds or fails if the callee does not support any of the languages 319 requested by the caller. This document does not mandate either 320 behavior. 322 If the call is rejected due to lack of any languages in common, it is 323 suggested to use SIP response code 488 (Not Acceptable Here) or 606 324 (Not Acceptable) [RFC3261] and include a Warning header field 325 [RFC3261] in the SIP response. The Warning header field contains a 326 warning code of [TBD: IANA VALUE, e.g., 308] and a warning text 327 indicating that there are no mutually-supported languages; the text 328 SHOULD also contain the supported languages and media. 330 Example: 332 Warning: [TBD: IANA VALUE, e.g., 308] proxy.example.com 333 "Incompatible language specification: Requested languages not 334 supported. Supported languages are: es, en; supported media 335 are: audio, text." 337 5.4. Usage Notes 339 A sign-language tag with a video media stream is interpreted as an 340 indication for sign language in the video stream. A non-sign- 341 language tag with a text media stream is interpreted as an indication 342 for written language in the text stream. A non-sign-language tag 343 with an audio media stream is interpreted as an indication for spoken 344 language in the audio stream. 346 This document does not define any other use for language tags in 347 video media (such as how to indicate visible captions in the video 348 stream). 350 In the IANA registry of language subtags per BCP 47 [RFC5646], a 351 language subtag with a Type field "extlang" combined with a Prefix 352 field value "sgn" indicates a sign-language tag. The absence of such 353 "sgn" prefix indicates a non-sign-language tag. 355 This document does not define the use of sign-language tags in text 356 or audio media. 358 This document does not define the use of language tags in media other 359 than interactive streams of audio, video, and text (such as "message" 360 or "application"). Such use could be supported by future work or by 361 application agreement. 363 5.5. Examples 365 Some examples are shown below. For clarity, only the most directly 366 relevant portions of the SDP block are shown. 368 An offer or answer indicating spoken English both ways: 370 m=audio 49170 RTP/AVP 0 371 a=hlang-send:en 372 a=hlang-recv:en 374 An offer indicating American Sign Language both ways: 376 m=video 51372 RTP/AVP 31 32 377 a=hlang-send:ase 378 a=hlang-recv:ase 380 An offer requesting spoken Spanish both ways (most preferred), spoken 381 Basque both ways (second preference), or spoken English both ways 382 (third preference): 384 m=audio 49250 RTP/AVP 20 385 a=hlang-send:es eu en 386 a=hlang-recv:es eu en 388 An answer to the above offer indicating spoken Spanish both ways: 390 m=audio 49250 RTP/AVP 20 391 a=hlang-send:es 392 a=hlang-recv:es 394 An alternative answer to the above offer indicating spoken Italian 395 both ways (as the callee does not support any of the requested 396 languages but chose to proceed with the call): 398 m=audio 49250 RTP/AVP 20 399 a=hlang-send:it 400 a=hlang-recv:it 402 An offer or answer indicating written Greek both ways: 404 m=text 45020 RTP/AVP 103 104 405 a=hlang-send:gr 406 a=hlang-recv:gr 408 An offer requesting the following media streams: video for the caller 409 to send using Argentine Sign Language, text for the caller to send 410 using written Spanish (most preferred) or written Portuguese, audio 411 for the caller to receive spoken Spanish (most preferred) or spoken 412 Portuguese: 414 m=video 51372 RTP/AVP 31 32 415 a=hlang-send:aed 417 m=text 45020 RTP/AVP 103 104 418 a=hlang-send:sp pt 420 m=audio 49250 RTP/AVP 20 421 a=hlang-recv:sp pt 423 An answer for the above offer, indicating text in which the callee 424 will receive written Spanish, and audio in which the callee will send 425 spoken Spanish. The answering party had no video capability: 427 m=video 0 RTP/AVP 31 32 428 m=text 45020 RTP/AVP 103 104 429 a=hlang-recv:sp 431 m=audio 49250 RTP/AVP 20 432 a=hlang-send:sp 434 An offer requesting the following media streams: text for the caller 435 to send using written English (most preferred) or written Spanish, 436 audio for the caller to receive spoken English (most preferred) or 437 spoken Spanish, supplemental video: 439 m=text 45020 RTP/AVP 103 104 440 a=hlang-send:en sp 442 m=audio 49250 RTP/AVP 20 443 a=hlang-recv:en sp 445 m=video 51372 RTP/AVP 31 32 447 An answer for the above offer, indicating text in which the callee 448 will receive written Spanish, audio in which the callee will send 449 spoken Spanish, and supplemental video: 451 m=text 45020 RTP/AVP 103 104 452 a=hlang-recv:sp 454 m=audio 49250 RTP/AVP 20 455 a=hlang-send:sp 457 m=video 51372 RTP/AVP 31 32 459 Note that, even though the examples show the same (or essentially the 460 same) language being used in both directions (even when the modality 461 differs), there is no requirement that this be the case. However, in 462 practice, doing so is likely to increase the chances of successful 463 matching. 465 6. IANA Considerations 467 6.1. att-field Table in SDP Parameters 469 IANA is kindly requested to add two entries to the 'att-field (media 470 level only)' table of the SDP parameters registry: 472 The first entry is for hlang-recv: 474 Attribute Name: hlang-recv 475 Contact Name: Randall Gellens 476 Contact Email Address: rg+ietf@coretechnologyconsulting.com 477 Attribute Value: hlang-value 478 Attribute Syntax: 480 hlang-value = hlang-offv / hlang-ansv 481 ; hlang-offv used in offers 482 ; hlang-ansv used in answers 483 hlang-offv = Language-Tag *( SP Language-Tag ) 484 ; Language-Tag as defined in BCP 47 485 SP = 1*" " ; one or more space (%x20) characters 486 hlang-ansv = Language-Tag 488 Attribute Semantics: Described in Section 5.2 of TBD: THIS 489 DOCUMENT 490 Usage Level: media 491 Mux Category: NORMAL 492 Charset Dependent: No 493 Purpose: See Section 5.2 of TBD: THIS DOCUMENT 494 O/A Procedures: See Section 5.2 of TBD: THIS DOCUMENT 495 Reference: TBD: THIS DOCUMENT 497 The second entry is for hlang-send: 499 Attribute Name: hlang-send 500 Contact Name: Randall Gellens 501 Contact Email Address: rg+ietf@coretechnologyconsulting.com 502 Attribute Value: hlang-value 503 Attribute Syntax: 505 hlang-value = hlang-offv / hlang-ansv 507 Attribute Semantics: Described in Section 5.2 of TBD: THIS 508 DOCUMENT 509 Usage Level: media 510 Mux Category: NORMAL 511 Charset Dependent: No 512 Purpose: See Section 5.2 of TBD: THIS DOCUMENT 513 O/A Procedures: See Section 5.2 of TBD: THIS DOCUMENT 514 Reference: TBD: THIS DOCUMENT 516 6.2. Warn-Codes Sub-Registry of SIP Parameters 518 IANA is requested to add a new value in the warn-codes sub-registry 519 of SIP parameters in the 300 through 329 range that is allocated for 520 indicating problems with keywords in the session description. The 521 reference is to this document. The warn text is "Incompatible 522 language specification: Requested languages not supported. Supported 523 languages and media are: [list of supported languages and media]." 525 7. Security Considerations 527 The Security Considerations of BCP 47 [RFC5646] apply here. In 528 addition, if the 'hlang-send' or 'hlang-recv' values are altered or 529 deleted en route, the session could fail or languages 530 incomprehensible to the caller could be selected; however, this is 531 also a risk if any SDP parameters are modified en route. 533 8. Privacy Considerations 535 Language and media information can suggest a user's nationality, 536 background, abilities, disabilities, etc. 538 9. Changes from Previous Versions 540 RFC EDITOR: Please remove this section prior to publication. 542 9.1. Changes from draft-ietf-slim-...-04 to draft-ietf-slim-...-06 544 o Deleted Section 3 ("Expected Use") 546 o Reworded modalities in Introduction from "voice, video, text" to 547 "spoken, signed, written" 549 o Reworded text about "increasingly fine-grained distinctions" to 550 instead merely point to BCP 47 Section 4.1's advice to "tag 551 content wisely" and not include unnecessary subtags 553 o Changed IANA registration of new SDP attributes to follow RFC 4566 554 template with extra fields suggested in 4566-bis (expired draft) 556 o Deleted "(known as voice carry over)" 558 o Changed textual instanced of RFC 5646 to BCP 47, although actual 559 reference remains RFC due to xml2rfc limitations 561 9.2. Changes from draft-ietf-slim-...-02 to draft-ietf-slim-...-03 563 o Added Examples 565 o Added Privacy Considerations section 567 o Other editorial changes for clarity 569 9.3. Changes from draft-ietf-slim-...-01 to draft-ietf-slim-...-02 571 o Deleted most of Section 4 and replaced with a very short summary 573 o Replaced "wishes to" with "is willing to" in Section 5.2 575 o Reworded description of attribute usage to clarify when to set 576 both, only one, or neither 578 o Deleted all uses of "IMS" 580 o Other editorial changes for clarity 582 9.4. Changes from draft-ietf-slim-...-00 to draft-ietf-slim-...-01 584 o Editorial changes to wording in Section 5. 586 9.5. Changes from draft-gellens-slim-...-03 to draft-ietf-slim-...-00 588 o Updated title to reflect WG adoption 590 9.6. Changes from draft-gellens-slim-...-02 to draft-gellens- 591 slim-...-03 593 o Removed Use Cases section, per face-to-face discussion at IETF 93 595 o Removed discussion of routing, per face-to-face discussion at IETF 596 93 598 9.7. Changes from draft-gellens-slim-...-01 to draft-gellens- 599 slim-...-02 601 o Updated NENA usage mention 603 o Removed background text reference to draft-saintandre-sip-xmpp- 604 chat-04 since that draft expired 606 9.8. Changes from draft-gellens-slim-...-00 to draft-gellens- 607 slim-...-01 609 o Revision to keep draft from expiring 611 9.9. Changes from draft-gellens-mmusic-...-02 to draft-gellens- 612 slim-...-00 614 o Changed name from -mmusic- to -slim- to reflect proposed WG name 615 o As a result of the face-to-face discussion in Toronto, the SDP vs 616 SIP issue was resolved by going back to SDP, taking out the SIP 617 hint, and converting what had been a set of alternate proposals 618 for various ways of doing it within SIP into an informative annex 619 section which includes background on why SDP is the proposal 621 o Added mention that enabling a mutually comprehensible language is 622 a general problem of which this document addresses the real-time 623 side, with reference to [RFC8255] which addresses the non-real- 624 time side. 626 9.10. Changes from draft-gellens-mmusic-...-01 to -02 628 o Added clarifying text on leaving attributes unset for media not 629 primarily intended for human language communication (e.g., 630 background audio or video). 632 o Added new section ("Alternative Proposal: Caller-prefs") 633 discussing use of SIP-level Caller-prefs instead of SDP-level. 635 9.11. Changes from draft-gellens-mmusic-...-00 to -01 637 o Relaxed language on setting -send and -receive to same values; 638 added text on leaving on empty to indicate asymmetric usage. 640 o Added text that clients on behalf of end users are expected to set 641 the attributes on outgoing calls and ignore on incoming calls 642 while systems on behalf of call centers and PSAPs are expected to 643 take the attributes into account when processing incoming calls. 645 9.12. Changes from draft-gellens-...-02 to draft-gellens-mmusic-...-00 647 o Updated text to refer to RFC 5646 rather than the IANA language 648 subtags registry directly. 650 o Moved discussion of existing 'lang' attribute out of "Proposed 651 Solution" section and into own section now that it is not part of 652 proposal. 654 o Updated text about existing 'lang' attribute. 656 o Added example use cases. 658 o Replaced proposed single 'hlang' attribute with 'hlang-send' and 659 'hlang-recv' per Harald's request/information that it was a misuse 660 of SDP to use the same attribute for sending and receiving. 662 o Added section describing usage being advisory vs required and text 663 in attribute section. 665 o Added section on SIP "hint" header (not yet nailed down between 666 new and existing header). 668 o Added text discussing usage in policy-based routing function or 669 use of SIP header "hint" if unable to do so. 671 o Added SHOULD that the value of the parameters stick to the largest 672 granularity of language tags. 674 o Added text to Introduction to be try and be more clear about 675 purpose of document and problem being solved. 677 o Many wording improvements and clarifications throughout the 678 document. 680 o Filled in Security Considerations. 682 o Filled in IANA Considerations. 684 o Added to Acknowledgments those who participated in the Orlando ad- 685 hoc discussion as well as those who participated in email 686 discussion and side one-on-one discussions. 688 9.13. Changes from draft-gellens-...-01 to -02 690 o Updated text for (possible) new attribute "hlang" to reference RFC 691 5646 693 o Added clarifying text for (possible) re-use of existing 'lang' 694 attribute saying that the registration would be updated to reflect 695 different semantics for multiple values for interactive versus 696 non-interactive media. 698 o Added clarifying text for (possible) new attribute "hlang" to 699 attempt to better describe the role of language tags in media in 700 an offer and an answer. 702 9.14. Changes from draft-gellens-...-00 to -01 704 o Changed name of (possible) new attribute from 'humlang" to "hlang" 705 o Added discussion of silly state (language not appropriate for 706 media type) 707 o Added Voice Carry Over example 708 o Added mention of multilingual people and multiple languages 709 o Minor text clarifications 711 10. Contributors 713 Gunnar Hellstrom deserves special mention for his reviews and 714 assistance. 716 11. Acknowledgments 718 Many thanks to Bernard Aboba, Harald Alvestrand, Flemming Andreasen, 719 Francois Audet, Eric Burger, Keith Drage, Doug Ewell, Christian 720 Groves, Andrew Hutton, Hadriel Kaplan, Ari Keranen, John Klensin, 721 Paul Kyzivat, John Levine, Alexey Melnikov, Addison Phillips, James 722 Polk, Pete Resnick, Natasha Rooney, Brian Rosen, Peter Saint-Andre, 723 and Dale Worley for reviews, corrections, suggestions, and 724 participating in in-person and email discussions. 726 12. References 728 12.1. Normative References 730 [RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, 731 A., Peterson, J., Sparks, R., Handley, M., and E. 732 Schooler, "SIP: Session Initiation Protocol", RFC 3261, 733 DOI 10.17487/RFC3261, June 2002, . 736 [RFC4566] Handley, M., Jacobson, V., and C. Perkins, "SDP: Session 737 Description Protocol", RFC 4566, DOI 10.17487/RFC4566, 738 July 2006, . 740 [RFC5646] Phillips, A., Ed. and M. Davis, Ed., "Tags for Identifying 741 Languages", BCP 47, RFC 5646, DOI 10.17487/RFC5646, 742 September 2009, . 744 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 745 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 746 May 2017, . 748 12.2. Informational References 750 [RFC3264] Rosenberg, J. and H. Schulzrinne, "An Offer/Answer Model 751 with Session Description Protocol (SDP)", RFC 3264, 752 DOI 10.17487/RFC3264, June 2002, . 755 [RFC8255] Tomkinson, N. and N. Borenstein, "Multiple Language 756 Content Type", RFC 8255, DOI 10.17487/RFC8255, October 757 2017, . 759 Author's Address 761 Randall Gellens 762 Core Technology Consulting 764 Email: rg+ietf@coretechnologyconsulting.com 765 URI: http://www.coretechnologyconsulting.com