idnits 2.17.1 draft-ietf-slim-negotiating-human-language-13.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 (July 14, 2017) is 2471 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: 'I-D.hellstrom-slim-modalitypref' is defined on line 757, 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-08 Summary: 1 error (**), 0 flaws (~~), 3 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 July 14, 2017 5 Expires: January 15, 2018 7 Negotiating Human Language in Real-Time Communications 8 draft-ietf-slim-negotiating-human-language-13 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 SDP media 25 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 January 15, 2018. 44 Copyright Notice 46 Copyright (c) 2017 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 . . . . . . . . . . . . . . . . . . . . . . . . . 4 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. Undefined Combinations . . . . . . . . . . . . . . . . . 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 . . . . . . . . 12 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 . . . . . . . . . . . . . . . . . . . . . . . 13 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 . . . . . . . . . . . . . . . . . . . . . . . 14 94 9.9. Changes from draft-gellens-mmusic-...-02 to draft- 95 gellens-slim-...-00 . . . . . . . . . . . . . . . . . . . 14 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 . . . . . . . . 16 102 10. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 16 103 11. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 16 104 12. References . . . . . . . . . . . . . . . . . . . . . . . . . 16 105 12.1. Normative References . . . . . . . . . . . . . . . . . . 16 106 12.2. Informational References . . . . . . . . . . . . . . . . 17 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 115 [I-D.ietf-slim-multilangcontent] addresses language selection in 116 email. 118 Unless the caller and callee know each other or there is contextual 119 or out-of- band information from which the language(s) and media 120 modalities can be determined, there is a need for spoken, signed, or 121 written languages to be negotiated based on the caller's needs and 122 the callee's capabilities. This need applies to both emergency and 123 non-emergency calls. For example, it is helpful for a caller to a 124 company call center or a Public Safety Answering Point (PSAP) to be 125 able to indicate preferred signed, written, and/or spoken languages, 126 and for the callee to be able to indicate its capabilities in this 127 area, allowing the call to proceed using the language(s) and media 128 forms supported by both. 130 For various reasons, including the ability to establish multiple 131 streams using different media (e.g., voice, text, video), it makes 132 sense to use a per-stream negotiation mechanism known as the Session 133 Description Protocol (SDP). Utilizing SDP enables the solution 134 described in this document to be applied to all interactive 135 communications negotiated using SDP, in emergency as well as non- 136 emergency scenarios. 138 By treating language as another SDP attribute that is negotiated 139 along with other aspects of a media stream, it becomes possible to 140 accommodate a range of users' needs and called party facilities. For 141 example, some users may be able to speak several languages, but have 142 a preference. Some called parties may support some of those 143 languages internally but require the use of a translation service for 144 others, or may have a limited number of call takers able to use 145 certain languages. Another example would be a user who is able to 146 speak but is deaf or hard-of-hearing and requires a voice stream plus 147 a text stream. 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 Since this is a protocol mechanism, the user equipment (UE client) 165 needs to know the user's preferred languages; while this document 166 does not address how clients determine this, reasonable techniques 167 could include a configuration mechanism with a default of the 168 language of the user interface; in some cases, a UE could tie 169 language and media preferences, such as a preference for a video 170 stream using a signed language and/or a text or audio stream using a 171 written/spoken language. 173 1.1. Applicability 175 Within this document, it is assumed that the negotiating endpoints 176 have already been determined, so that a per-stream negotiation based 177 on the Session Description Protocol (SDP) can proceed. 179 When setting up interactive communications sessions it is necessary 180 to route signaling messages to the appropriate endpoint(s). This 181 document does not address the problem of language-based routing. 183 2. Terminology 185 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 186 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 187 document are to be interpreted as described in RFC 2119 [RFC2119]. 189 3. Desired Semantics 191 The desired solution is a media attribute (preferably per direction) 192 that may be used within an offer to indicate the preferred 193 language(s) of each (direction of a) media stream, and within an 194 answer to indicate the accepted language. The semantics of including 195 multiple languages for a media stream within an offer is that the 196 languages are listed in order of preference. 198 (Negotiating multiple simultaneous languages within a media stream is 199 out of scope of this document.) 201 4. The existing 'lang' attribute 203 RFC 4566 [RFC4566] specifies an attribute 'lang' which appears 204 similar to what is needed here, but is not sufficiently specific or 205 flexible for the needs of this document. In addition, 'lang' is not 206 mentioned in [RFC3264] and there are no known implementations in SIP. 207 Further, it is useful to be able to specify language per direction 208 (sending and receiving). This document therefore defines two new 209 attributes. 211 5. Solution 213 An SDP attribute (per direction) seems the natural choice to 214 negotiate human (natural) language of an interactive media stream, 215 using the language tags of BCP 47 [RFC5646]. 217 5.1. Rationale 219 The decision to base the proposal at the media negotiation level, and 220 specifically to use SDP, came after significant debate and 221 discussion. From an engineering standpoint, it is possible to meet 222 the objectives using a variety of mechanisms, but none are perfect. 223 None of the proposed alternatives was clearly better technically in 224 enough ways to win over proponents of the others, and none were 225 clearly so bad technically as to be easily rejected. As is often the 226 case in engineering, choosing the solution is a matter of balancing 227 trade-offs, and ultimately more a matter of taste than technical 228 merit. The two main proposals were to use SDP and SIP. SDP has the 229 advantage that the language is negotiated with the media to which it 230 applies, while SIP has the issue that the languages expressed may not 231 match the SDP media negotiated (for example, a session could 232 negotiate a signed language at the SIP level but fail to negotiate a 233 video media stream at the SDP layer). 235 The mechanism described here for SDP can be adapted to media 236 negotiation protocols other than SDP. 238 5.2. The 'hlang-send' and 'hlang-recv' attributes 240 This document defines two media-level attributes starting with 241 'hlang' (short for "human interactive language") to negotiate which 242 human language is selected for use in each interactive media stream. 243 There are two attributes, one ending in "-send" and the other in 244 "-recv", registered in Section 6. Each can appear in offers and 245 answers for media streams. 247 In an offer, the 'hlang-send' value is a list of one or more 248 language(s) the offerer is willing to use when sending using the 249 media, and the 'hlang-recv' value is a list of one or more 250 language(s) the offerer is willing to use when receiving using the 251 media. The list of languages is in preference order (first is most 252 preferred). When a media is intended for interactive communication 253 using a language in one direction only (such as a user sending using 254 text and receiving using audio), either hlang-send or hlang-recv MAY 255 be omitted. When a media is not primarily intended for language (for 256 example, a video or audio stream intended for background only) both 257 SHOULD be omitted. Otherwise, both SHOULD have the same value. The 258 two SHOULD NOT be set to languages which are difficult to match 259 together (e.g., specifying a desire to send audio in Hungarian and 260 receive audio in Portuguese will make it difficult to successfully 261 complete the call). 263 In an answer, 'hlang-send' is the language the answerer will send if 264 using the media for language (which in most cases is one of the 265 languages in the offer's 'hlang-recv'), and 'hlang-recv' is the 266 language the answerer expects to receive in the media (which in most 267 cases is one of the languages in the offer's 'hlang-send'). 269 Each value MUST be a list of one or more language tags per BCP 47 270 [RFC5646], separated by white space. BCP 47 describes mechanisms for 271 matching language tags. Note that [RFC5646] Section 4.1 advises to 272 "tag content wisely" and not include unnecessary subtags. 274 In an offer, a list of language tags MAY have an asterisk appended at 275 the end. An asterisk appended to any value in any media in an offer 276 indicates a request by the caller to the callee to not fail the call 277 if there is no language in common. See Section 5.3 for more 278 information and discussion. 280 An asterisk appended to any value in any media in an answer is 281 undefined. 283 Note that separate work may introduce additional information 284 regarding language/modality preferences among media. 286 When placing an emergency call, and in any other case where the 287 language cannot be inferred from context, in an offer each media 288 stream primarily intended for human language communication SHOULD 289 specify both (or for asymmetrical language use, one of) the 'hlang- 290 send' and 'hlang-recv' attributes. 292 Note that while signed language tags are used with a video stream to 293 indicate sign language, a spoken language tag for a video stream in 294 parallel with an audio stream with the same spoken language tag 295 indicates a request for a supplemental video stream to see the 296 speaker. 298 Clients acting on behalf of end users are expected to set one or both 299 'hlang-send' and 'hlang-recv' attributes on each media stream 300 primarily intended for human communication in an offer when placing 301 an outgoing session, and either ignore or take into consideration the 302 attributes when receiving incoming calls, based on local 303 configuration and capabilities. Systems acting on behalf of call 304 centers and PSAPs are expected to take into account the attributes 305 when processing inbound calls. 307 Note that media and language negotiation might result in more media 308 streams being accepted than are needed by the users (e.g., if more 309 preferred and less preferred combinations of media and language are 310 all accepted). This is not a problem. 312 5.3. No Language in Common 314 A consideration with the ability to negotiate language is if the call 315 proceeds or fails if the callee does not support any of the languages 316 requested by the caller. This document does not mandate either 317 behavior, although it does provide a way for the caller to indicate a 318 preference for the call succeeding when there is no language in 319 common. It is OPTIONAL for the callee to honor this preference. For 320 example, a PSAP is likely to attempt the call even without an 321 indicated preference when there is no language in common, while a 322 call center might choose to fail the call. 324 The mechanism for indicating this preference is that, in an offer, if 325 the last token of any 'hlang-recv' or 'hlang-send' value for any 326 media is an asterisk, this indicates a request to not fail the call. 327 The called party MAY ignore the indication, e.g., for the emergency 328 services use case, regardless of the absence of an asterisk, a PSAP 329 will likely not fail the call; some call centers might reject a call 330 even if the offer contains an asterisk. 332 If the call is rejected due to lack of any languages in common, it is 333 suggested to use SIP response code 488 (Not Acceptable Here) or 606 334 (Not Acceptable) [RFC3261] and include a Warning header field 335 [RFC3261] in the SIP response. The Warning header field contains a 336 warning code of [TBD: IANA VALUE, e.g., 308] and a warning text 337 indicating that there are no mutually-supported languages; the text 338 SHOULD also contain the supported languages and media. 340 Example: 342 Warning: [TBD: IANA VALUE, e.g., 308] proxy.example.com 343 "Incompatible language specification: Requested languages not 344 supported. Supported languages are: es, en; supported media 345 are: audio, text." 347 5.4. Undefined Combinations 349 With the exception of the case mentioned in Section 5.2 (a spoken 350 language tag for a video stream in parallel with an audio stream with 351 the same spoken language tag), the behavior when specifying a spoken/ 352 written language tag for a video media stream, or a signed language 353 tag for an audio or text media stream, is not defined. 355 5.5. Examples 357 Some examples are shown below. For clarity, only the most directly 358 relevant portions of the SDP block are shown. 360 An offer or answer indicating spoken English both ways: 362 m=audio 49170 RTP/AVP 0 363 a=hlang-send:en 364 a=hlang-recv:en 366 An offer indicating American Sign Language both ways, and requesting 367 that the call proceed even if the callee does not support the 368 language: 370 m=video 51372 RTP/AVP 31 32 371 a=hlang-send:ase 372 a=hlang-recv:ase * 374 An offer requesting spoken Spanish both ways (most preferred), spoken 375 Basque both ways (second preference), or spoken English both ways 376 (third preference). The offer further requests that the call proceed 377 even if the callee does not support any of the languages: 379 m=audio 49250 RTP/AVP 20 380 a=hlang-send:es eu en 381 a=hlang-recv:es eu en * 383 An answer to the above offer indicating spoken Spanish both ways: 385 m=audio 49250 RTP/AVP 20 386 a=hlang-send:es 387 a=hlang-recv:es 389 An alternative answer to the above offer indicating spoken Italian 390 both ways (as the callee does not support any of the requested 391 languages but chose to proceed with the call): 393 m=audio 49250 RTP/AVP 20 394 a=hlang-send:it 395 a=hlang-recv:it 397 An offer or answer indicating written Greek both ways: 399 m=text 45020 RTP/AVP 103 104 400 a=hlang-send:gr 401 a=hlang-recv:gr 403 An offer requesting the following media streams: video for the caller 404 to send using Argentine Sign Language, text for the caller to send 405 using written Spanish (most preferred) or written Portuguese, audio 406 for the caller to receive spoken Spanish (most preferred) or spoken 407 Portuguese. The offer also requests that the call proceed even if 408 the callee does not support any of the languages: 410 m=video 51372 RTP/AVP 31 32 411 a=hlang-send:aed 413 m=text 45020 RTP/AVP 103 104 414 a=hlang-send:sp pt 416 m=audio 49250 RTP/AVP 20 417 a=hlang-recv:sp pt * 419 An answer for the above offer, indicating text in which the callee 420 will receive written Spanish, and audio in which the callee will send 421 spoken Spanish. The answering party had no video capability: 423 m=video 0 RTP/AVP 31 32 424 m=text 45020 RTP/AVP 103 104 425 a=hlang-recv:sp 427 m=audio 49250 RTP/AVP 20 428 a=hlang-send:sp 430 An offer requesting the following media streams: text for the caller 431 to send using written English (most preferred) or written Spanish, 432 audio for the caller to receive spoken English (most preferred) or 433 spoken Spanish, supplemental video. The offer also requests that the 434 call proceed even if the callee does not support any of the 435 languages: 437 m=text 45020 RTP/AVP 103 104 438 a=hlang-send:en sp 440 m=audio 49250 RTP/AVP 20 441 a=hlang-recv:en sp * 443 m=video 51372 RTP/AVP 31 32 445 An answer for the above offer, indicating text in which the callee 446 will receive written Spanish, audio in which the callee will send 447 spoken Spanish, and supplemental video: 449 m=text 45020 RTP/AVP 103 104 450 a=hlang-recv:sp 452 m=audio 49250 RTP/AVP 20 453 a=hlang-send:sp 455 m=video 51372 RTP/AVP 31 32 457 Note that, even though the examples show the same (or essentially the 458 same) language being used in both directions (even when the modality 459 differs), there is no requirement that this be the case. However, in 460 practice, doing so is likely to increase the chances of successful 461 matching. 463 6. IANA Considerations 465 6.1. att-field Table in SDP Parameters 467 IANA is kindly requested to add two entries to the 'att-field (media 468 level only)' table of the SDP parameters registry: 470 Attribute Name: hlang-recv 472 Contact Name: Randall Gellens 474 Contact Email Address: rg+ietf@randy.pensive.org 475 Attribute Value: hlang-value 477 Attribute Syntax: 479 hlang-value = Language-Tag *( SP Language-tag ) [ SP asterisk ] 481 ; Language-Tag as defined in BCP 47 483 asterisk = "*" ; an asterisk (%x2A) character 485 SP = 1*" " ; one or more space (%x20) characters 487 Attribute Semantics: Described in Section 5.2 of TBD: THIS DOCUMENT 489 Usage Level: media 491 Mux Category: NORMAL 493 Charset Dependent: No 495 Purpose: See Section 5.2 of TBD: THIS DOCUMENT 497 O/A Procedures: See Section 5.2 of TBD: THIS DOCUMENT 499 Reference: TBD: THIS DOCUMENT 501 Attribute Name: hlang-send 503 Contact Name: Randall Gellens 505 Contact Email Address: rg+ietf@randy.pensive.org 507 Attribute Value: hlang-value 509 Attribute Semantics: Described in Section 5.2 of TBD: THIS DOCUMENT 511 Usage Level: media 513 Mux Category: NORMAL 515 Charset Dependent: No 517 Purpose: See Section 5.2 of TBD: THIS DOCUMENT 519 O/A Procedures: See Section 5.2 of TBD: THIS DOCUMENT 520 Reference: TBD: THIS DOCUMENT 522 6.2. Warn-Codes Sub-Registry of SIP Parameters 524 IANA is requested to add a new value in the warn-codes sub-registry 525 of SIP parameters in the 300 through 329 range that is allocated for 526 indicating problems with keywords in the session description. The 527 reference is to this document. The warn text is "Incompatible 528 language specification: Requested languages not supported. Supported 529 languages and media are: [list of supported languages and media]." 531 7. Security Considerations 533 The Security Considerations of BCP 47 [RFC5646] apply here. In 534 addition, if the 'hlang-send' or 'hlang-recv' values are altered or 535 deleted en route, the session could fail or languages 536 incomprehensible to the caller could be selected; however, this is 537 also a risk if any SDP parameters are modified en route. 539 8. Privacy Considerations 541 Language and media information can suggest a user's nationality, 542 background, abilities, disabilities, etc. 544 9. Changes from Previous Versions 546 RFC EDITOR: Please remove this section prior to publication. 548 9.1. Changes from draft-ietf-slim-...-04 to draft-ietf-slim-...-06 550 o Deleted Section 3 ("Expected Use") 552 o Reworded modalities in Introduction from "voice, video, text" to 553 "spoken, signed, written" 555 o Reworded text about "increasingly fine-grained distinctions" to 556 instead merely point to BCP 47 Section 4.1's advice to "tag 557 content wisely" and not include unnecessary subtags 559 o Changed IANA registration of new SDP attributes to follow RFC 4566 560 template with extra fields suggested in 4566-bis (expired draft) 562 o Deleted "(known as voice carry over)" 564 o Changed textual instanced of RFC 5646 to BCP 47, although actual 565 reference remains RFC due to xml2rfc limitations 567 9.2. Changes from draft-ietf-slim-...-02 to draft-ietf-slim-...-03 569 o Added Examples 571 o Added Privacy Considerations section 573 o Other editorial changes for clarity 575 9.3. Changes from draft-ietf-slim-...-01 to draft-ietf-slim-...-02 577 o Deleted most of Section 4 and replaced with a very short summary 579 o Replaced "wishes to" with "is willing to" in Section 5.2 581 o Reworded description of attribute usage to clarify when to set 582 both, only one, or neither 584 o Deleted all uses of "IMS" 586 o Other editorial changes for clarity 588 9.4. Changes from draft-ietf-slim-...-00 to draft-ietf-slim-...-01 590 o Editorial changes to wording in Section 5. 592 9.5. Changes from draft-gellens-slim-...-03 to draft-ietf-slim-...-00 594 o Updated title to reflect WG adoption 596 9.6. Changes from draft-gellens-slim-...-02 to draft-gellens- 597 slim-...-03 599 o Removed Use Cases section, per face-to-face discussion at IETF 93 601 o Removed discussion of routing, per face-to-face discussion at IETF 602 93 604 9.7. Changes from draft-gellens-slim-...-01 to draft-gellens- 605 slim-...-02 607 o Updated NENA usage mention 609 o Removed background text reference to draft-saintandre-sip-xmpp- 610 chat-04 since that draft expired 612 9.8. Changes from draft-gellens-slim-...-00 to draft-gellens- 613 slim-...-01 615 o Revision to keep draft from expiring 617 9.9. Changes from draft-gellens-mmusic-...-02 to draft-gellens- 618 slim-...-00 620 o Changed name from -mmusic- to -slim- to reflect proposed WG name 622 o As a result of the face-to-face discussion in Toronto, the SDP vs 623 SIP issue was resolved by going back to SDP, taking out the SIP 624 hint, and converting what had been a set of alternate proposals 625 for various ways of doing it within SIP into an informative annex 626 section which includes background on why SDP is the proposal 628 o Added mention that enabling a mutually comprehensible language is 629 a general problem of which this document addresses the real-time 630 side, with reference to [I-D.ietf-slim-multilangcontent] which 631 addresses the non-real-time side. 633 9.10. Changes from draft-gellens-mmusic-...-01 to -02 635 o Added clarifying text on leaving attributes unset for media not 636 primarily intended for human language communication (e.g., 637 background audio or video). 639 o Added new section ("Alternative Proposal: Caller-prefs") 640 discussing use of SIP-level Caller-prefs instead of SDP-level. 642 9.11. Changes from draft-gellens-mmusic-...-00 to -01 644 o Relaxed language on setting -send and -receive to same values; 645 added text on leaving on empty to indicate asymmetric usage. 647 o Added text that clients on behalf of end users are expected to set 648 the attributes on outgoing calls and ignore on incoming calls 649 while systems on behalf of call centers and PSAPs are expected to 650 take the attributes into account when processing incoming calls. 652 9.12. Changes from draft-gellens-...-02 to draft-gellens-mmusic-...-00 654 o Updated text to refer to RFC 5646 rather than the IANA language 655 subtags registry directly. 657 o Moved discussion of existing 'lang' attribute out of "Proposed 658 Solution" section and into own section now that it is not part of 659 proposal. 661 o Updated text about existing 'lang' attribute. 663 o Added example use cases. 665 o Replaced proposed single 'hlang' attribute with 'hlang-send' and 666 'hlang-recv' per Harald's request/information that it was a misuse 667 of SDP to use the same attribute for sending and receiving. 669 o Added section describing usage being advisory vs required and text 670 in attribute section. 672 o Added section on SIP "hint" header (not yet nailed down between 673 new and existing header). 675 o Added text discussing usage in policy-based routing function or 676 use of SIP header "hint" if unable to do so. 678 o Added SHOULD that the value of the parameters stick to the largest 679 granularity of language tags. 681 o Added text to Introduction to be try and be more clear about 682 purpose of document and problem being solved. 684 o Many wording improvements and clarifications throughout the 685 document. 687 o Filled in Security Considerations. 689 o Filled in IANA Considerations. 691 o Added to Acknowledgments those who participated in the Orlando ad- 692 hoc discussion as well as those who participated in email 693 discussion and side one-on-one discussions. 695 9.13. Changes from draft-gellens-...-01 to -02 697 o Updated text for (possible) new attribute "hlang" to reference RFC 698 5646 700 o Added clarifying text for (possible) re-use of existing 'lang' 701 attribute saying that the registration would be updated to reflect 702 different semantics for multiple values for interactive versus 703 non-interactive media. 705 o Added clarifying text for (possible) new attribute "hlang" to 706 attempt to better describe the role of language tags in media in 707 an offer and an answer. 709 9.14. Changes from draft-gellens-...-00 to -01 711 o Changed name of (possible) new attribute from 'humlang" to "hlang" 712 o Added discussion of silly state (language not appropriate for 713 media type) 714 o Added Voice Carry Over example 715 o Added mention of multilingual people and multiple languages 716 o Minor text clarifications 718 10. Contributors 720 Gunnar Hellstrom deserves special mention for his reviews and 721 assistance. 723 11. Acknowledgments 725 Many thanks to Bernard Aboba, Harald Alvestrand, Flemming Andreasen, 726 Francois Audet, Eric Burger, Keith Drage, Doug Ewell, Christian 727 Groves, Andrew Hutton, Hadriel Kaplan, Ari Keranen, John Klensin, 728 Paul Kyzivat, John Levine, Alexey Melnikov, James Polk, Pete Resnick, 729 Peter Saint-Andre, and Dale Worley for reviews, corrections, 730 suggestions, and participating in in-person and email discussions. 732 12. References 734 12.1. Normative References 736 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 737 Requirement Levels", BCP 14, RFC 2119, 738 DOI 10.17487/RFC2119, March 1997, 739 . 741 [RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, 742 A., Peterson, J., Sparks, R., Handley, M., and E. 743 Schooler, "SIP: Session Initiation Protocol", RFC 3261, 744 DOI 10.17487/RFC3261, June 2002, 745 . 747 [RFC4566] Handley, M., Jacobson, V., and C. Perkins, "SDP: Session 748 Description Protocol", RFC 4566, DOI 10.17487/RFC4566, 749 July 2006, . 751 [RFC5646] Phillips, A., Ed. and M. Davis, Ed., "Tags for Identifying 752 Languages", BCP 47, RFC 5646, DOI 10.17487/RFC5646, 753 September 2009, . 755 12.2. Informational References 757 [I-D.hellstrom-slim-modalitypref] 758 Hellstrom, G., "Negotiating Modality in Real-Time 759 Communications", draft-hellstrom-slim-modalitypref-02 760 (work in progress), June 2017. 762 [I-D.ietf-slim-multilangcontent] 763 Tomkinson, N. and N. Borenstein, "Multiple Language 764 Content Type", draft-ietf-slim-multilangcontent-08 (work 765 in progress), June 2017. 767 [RFC3264] Rosenberg, J. and H. Schulzrinne, "An Offer/Answer Model 768 with Session Description Protocol (SDP)", RFC 3264, 769 DOI 10.17487/RFC3264, June 2002, 770 . 772 Author's Address 774 Randall Gellens 775 Core Technology Consulting 777 Email: rg+ietf@coretechnologyconsulting.com 778 URI: http://www.coretechnologyconsulting.com