idnits 2.17.1 draft-ietf-slim-negotiating-human-language-12.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 1, 2017) is 2491 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 792, 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 1, 2017 5 Expires: January 2, 2018 7 Negotiating Human Language in Real-Time Communications 8 draft-ietf-slim-negotiating-human-language-12 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 2, 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 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 5 63 3. Desired Semantics . . . . . . . . . . . . . . . . . . . . . . 5 64 4. The existing 'lang' attribute . . . . . . . . . . . . . . . . 5 65 5. Solution . . . . . . . . . . . . . . . . . . . . . . . . . . 6 66 5.1. Rationale . . . . . . . . . . . . . . . . . . . . . . . . 6 67 5.2. The 'hlang-send' and 'hlang-recv' attributes . . . . . . 6 68 5.3. No Language in Common . . . . . . . . . . . . . . . . . . 8 69 5.4. Undefined Combinations . . . . . . . . . . . . . . . . . 9 70 5.5. Examples . . . . . . . . . . . . . . . . . . . . . . . . 9 71 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11 72 6.1. att-field Table in SDP Parameters . . . . . . . . . . . . 11 73 6.2. Warn-Codes Sub-Registry of SIP Parameters . . . . . . . . 12 74 7. Security Considerations . . . . . . . . . . . . . . . . . . . 12 75 8. Privacy Considerations . . . . . . . . . . . . . . . . . . . 13 76 9. Changes from Previous Versions . . . . . . . . . . . . . . . 13 77 9.1. Changes from draft-ietf-slim-...-04 to draft-ietf- 78 slim-...-06 . . . . . . . . . . . . . . . . . . . . . . . 13 79 9.2. Changes from draft-ietf-slim-...-02 to draft-ietf- 80 slim-...-03 . . . . . . . . . . . . . . . . . . . . . . . 13 81 9.3. Changes from draft-ietf-slim-...-01 to draft-ietf- 82 slim-...-02 . . . . . . . . . . . . . . . . . . . . . . . 13 83 9.4. Changes from draft-ietf-slim-...-00 to draft-ietf- 84 slim-...-01 . . . . . . . . . . . . . . . . . . . . . . . 14 85 9.5. Changes from draft-gellens-slim-...-03 to draft-ietf- 86 slim-...-00 . . . . . . . . . . . . . . . . . . . . . . . 14 87 9.6. Changes from draft-gellens-slim-...-02 to draft-gellens- 88 slim-...-03 . . . . . . . . . . . . . . . . . . . . . . . 14 89 9.7. Changes from draft-gellens-slim-...-01 to draft-gellens- 90 slim-...-02 . . . . . . . . . . . . . . . . . . . . . . . 14 91 9.8. Changes from draft-gellens-slim-...-00 to draft-gellens- 92 slim-...-01 . . . . . . . . . . . . . . . . . . . . . . . 14 93 9.9. Changes from draft-gellens-mmusic-...-02 to draft- 94 gellens-slim-...-00 . . . . . . . . . . . . . . . . . . . 14 95 9.10. Changes from draft-gellens-mmusic-...-01 to -02 . . . . . 15 96 9.11. Changes from draft-gellens-mmusic-...-00 to -01 . . . . . 15 97 9.12. Changes from draft-gellens-...-02 to draft-gellens- 98 mmusic-...-00 . . . . . . . . . . . . . . . . . . . . . . 15 99 9.13. Changes from draft-gellens-...-01 to -02 . . . . . . . . 16 100 9.14. Changes from draft-gellens-...-00 to -01 . . . . . . . . 16 101 10. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 16 102 11. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 16 103 12. References . . . . . . . . . . . . . . . . . . . . . . . . . 17 104 12.1. Normative References . . . . . . . . . . . . . . . . . . 17 105 12.2. Informational References . . . . . . . . . . . . . . . . 17 106 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 17 108 1. Introduction 110 A mutually comprehensible language is helpful for human 111 communication. This document addresses the real-time, interactive 112 side of the issue. A companion document on language selection in 113 email [I-D.ietf-slim-multilangcontent] addresses the non-real-time 114 side. 116 When setting up interactive communication sessions (using SIP or 117 other protocols), human (natural) language and media modality 118 (spoken, signed, written) negotiation may be needed. Unless the 119 caller and callee know each other or there is contextual or out-of- 120 band information from which the language(s) and media modalities can 121 be determined, there is a need for spoken, signed, or written 122 languages to be negotiated based on the caller's needs and the 123 callee's capabilities. This need applies to both emergency and non- 124 emergency calls. For various reasons, including the ability to 125 establish multiple streams using different media (e.g., voice, text, 126 video), it makes sense to use a per-stream negotiation mechanism, in 127 this case, SDP. 129 This approach has a number of benefits, including that it is generic 130 (applies to all interactive communications negotiated using SDP) and 131 is not limited to emergency calls. In some cases such a facility 132 isn't needed, because the language is known from the context (such as 133 when a caller places a call to a sign language relay center, to a 134 friend, or colleague). But it is clearly useful in many other cases. 135 For example, it is helpful that someone calling a company call center 136 or a Public Safety Answering Point (PSAP) be able to indicate 137 preferred signed, written, and/or spoken languages, the callee be 138 able to indicate its capabilities in this area, and the call proceed 139 using the language(s) and media forms supported by both. 141 Since this is a protocol mechanism, the user equipment (UE client) 142 needs to know the user's preferred languages; a reasonable technique 143 could include a configuration mechanism with a default of the 144 language of the user interface. In some cases, a UE could tie 145 language and media preferences, such as a preference for a video 146 stream using a signed language and/or a text or audio stream using a 147 written/spoken language. 149 Including the user's human (natural) language preferences in the 150 session establishment negotiation is independent of the use of a 151 relay service and is transparent to a voice or other service 152 provider. For example, assume a user within the United States who 153 speaks Spanish but not English places a voice call. The call could 154 be an emergency call or perhaps to an airline reservation desk. The 155 language information is transparent to the voice service provider, 156 but is part of the session negotiation between the UE and the 157 terminating entity. In the case of a call to e.g., an airline, the 158 call could be automatically handled by a Spanish-speaking agent. In 159 the case of an emergency call, the Emergency Services IP network 160 (ESInet) and the PSAP may choose to take the language and media 161 preferences into account when determining how to process the call. 163 By treating language as another attribute that is negotiated along 164 with other aspects of a media stream, it becomes possible to 165 accommodate a range of users' needs and called party facilities. For 166 example, some users may be able to speak several languages, but have 167 a preference. Some called parties may support some of those 168 languages internally but require the use of a translation service for 169 others, or may have a limited number of call takers able to use 170 certain languages. Another example would be a user who is able to 171 speak but is deaf or hard-of-hearing and requires a voice stream plus 172 a text stream. Making language a media attribute allows the standard 173 session negotiation mechanism to handle this by providing the 174 information and mechanism for the endpoints to make appropriate 175 decisions. 177 Regarding relay services, in the case of an emergency call requiring 178 sign language such as ASL, there are currently two common approaches: 179 the caller initiates the call to a relay center, or the caller places 180 the call to emergency services (e.g., 911 in the U.S. or 112 in 181 Europe). (In a variant of the second case, the voice service 182 provider invokes a relay service as well as emergency services.) In 183 the former case, the language need is ancillary and supplemental. In 184 the non-variant second case, the ESInet and/or PSAP may take the need 185 for sign language into account and bridge in a relay center. In this 186 case, the ESInet and PSAP have all the standard information available 187 (such as location) but are able to bridge the relay sooner in the 188 call processing. 190 By making this facility part of the end-to-end negotiation, the 191 question of which entity provides or engages the relay service 192 becomes separate from the call processing mechanics; if the caller 193 directs the call to a relay service then the human language 194 negotiation facility provides extra information to the relay service 195 but calls will still function without it; if the caller directs the 196 call to emergency services, then the ESInet/PSAP are able to take the 197 user's human language needs into account, e.g., by assigning to a 198 specific queue or call taker or bridging in a relay service or 199 translator. 201 The term "negotiation" is used here rather than "indication" because 202 human language (spoken/written/signed) is something that can be 203 negotiated in the same way as which forms of media (audio/text/video) 204 or which codecs. For example, if we think of non-emergency calls, 205 such as a user calling an airline reservation center, the user may 206 have a set of languages he or she speaks, with perhaps preferences 207 for one or a few, while the airline reservation center will support a 208 fixed set of languages. Negotiation should select the user's most 209 preferred language that is supported by the call center. Both sides 210 should be aware of which language was negotiated. This is 211 conceptually similar to the way other aspects of each media stream 212 are negotiated using SDP (e.g., media type and codecs). 214 To reduce the complexity of the solution, this document focuses on 215 negotiating language per media; routing is out of scope. 217 2. Terminology 219 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 220 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 221 document are to be interpreted as described in RFC 2119 [RFC2119]. 223 3. Desired Semantics 225 The desired solution is a media attribute (preferably per direction) 226 that may be used within an offer to indicate the preferred 227 language(s) of each (direction of a) media stream, and within an 228 answer to indicate the accepted language. The semantics of including 229 multiple languages for a media stream within an offer is that the 230 languages are listed in order of preference. 232 (Negotiating multiple simultaneous languages within a media stream is 233 out of scope of this document.) 235 4. The existing 'lang' attribute 237 RFC 4566 [RFC4566] specifies an attribute 'lang' which appears 238 similar to what is needed here, but is not sufficiently specific or 239 flexible for the needs of this document. In addition, 'lang' is not 240 mentioned in [RFC3264] and there are no known implementations in SIP. 242 Further, it is useful to be able to specify language per direction 243 (sending and receiving). This document therefore defines two new 244 attributes. 246 5. Solution 248 An SDP attribute (per direction) seems the natural choice to 249 negotiate human (natural) language of an interactive media stream, 250 using the language tags of BCP 47 [RFC5646]. 252 5.1. Rationale 254 The decision to base the proposal at the media negotiation level, and 255 specifically to use SDP, came after significant debate and 256 discussion. From an engineering standpoint, it is possible to meet 257 the objectives using a variety of mechanisms, but none are perfect. 258 None of the proposed alternatives was clearly better technically in 259 enough ways to win over proponents of the others, and none were 260 clearly so bad technically as to be easily rejected. As is often the 261 case in engineering, choosing the solution is a matter of balancing 262 trade-offs, and ultimately more a matter of taste than technical 263 merit. The two main proposals were to use SDP and SIP. SDP has the 264 advantage that the language is negotiated with the media to which it 265 applies, while SIP has the issue that the languages expressed may not 266 match the SDP media negotiated (for example, a session could 267 negotiate a signed language at the SIP level but fail to negotiate a 268 video media stream at the SDP layer). 270 The mechanism described here for SDP can be adapted to media 271 negotiation protocols other than SDP. 273 5.2. The 'hlang-send' and 'hlang-recv' attributes 275 This document defines two media-level attributes starting with 276 'hlang' (short for "human interactive language") to negotiate which 277 human language is selected for use in each interactive media stream. 278 There are two attributes, one ending in "-send" and the other in 279 "-recv", registered in Section 6. Each can appear in offers and 280 answers for media streams. 282 In an offer, the 'hlang-send' value is a list of one or more 283 language(s) the offerer is willing to use when sending using the 284 media, and the 'hlang-recv' value is a list of one or more 285 language(s) the offerer is willing to use when receiving using the 286 media. The list of languages is in preference order (first is most 287 preferred). When a media is intended for interactive communication 288 using a language in one direction only (such as a user sending using 289 text and receiving using audio), either hlang-send or hlang-recv MAY 290 be omitted. When a media is not primarily intended for language (for 291 example, a video or audio stream intended for background only) both 292 SHOULD be omitted. Otherwise, both SHOULD have the same value. The 293 two SHOULD NOT be set to languages which are difficult to match 294 together (e.g., specifying a desire to send audio in Hungarian and 295 receive audio in Portuguese will make it difficult to successfully 296 complete the call). 298 In an answer, 'hlang-send' is the language the answerer will send if 299 using the media for language (which in most cases is one of the 300 languages in the offer's 'hlang-recv'), and 'hlang-recv' is the 301 language the answerer expects to receive in the media (which in most 302 cases is one of the languages in the offer's 'hlang-send'). 304 Each value MUST be a list of one or more language tags per BCP 47 305 [RFC5646], separated by white space. BCP 47 describes mechanisms for 306 matching language tags. Note that [RFC5646] Section 4.1 advises to 307 "tag content wisely" and not include unnecessary subtags. 309 In an offer, a list of language tags MAY have an asterisk appended at 310 the end. An asterisk appended to any value in any media in an offer 311 indicates a request by the caller to the callee to not fail the call 312 if there is no language in common. See Section 5.3 for more 313 information and discussion. 315 An asterisk appended to any value in any media in an answer is 316 undefined. 318 Note that separate work may introduce additional information 319 regarding language/modality preferences among media. 321 When placing an emergency call, and in any other case where the 322 language cannot be inferred from context, in an offer each media 323 stream primarily intended for human language communication SHOULD 324 specify both (or for asymmetrical language use, one of) the 'hlang- 325 send' and 'hlang-recv' attributes. 327 Note that while signed language tags are used with a video stream to 328 indicate sign language, a spoken language tag for a video stream in 329 parallel with an audio stream with the same spoken language tag 330 indicates a request for a supplemental video stream to see the 331 speaker. 333 Clients acting on behalf of end users are expected to set one or both 334 'hlang-send' and 'hlang-recv' attributes on each media stream 335 primarily intended for human communication in an offer when placing 336 an outgoing session, and either ignore or take into consideration the 337 attributes when receiving incoming calls, based on local 338 configuration and capabilities. Systems acting on behalf of call 339 centers and PSAPs are expected to take into account the attributes 340 when processing inbound calls. 342 Note that media and language negotiation might result in more media 343 streams being accepted than are needed by the users (e.g., if more 344 preferred and less preferred combinations of media and language are 345 all accepted). This is not a problem. 347 5.3. No Language in Common 349 A consideration with the ability to negotiate language is if the call 350 proceeds or fails if the callee does not support any of the languages 351 requested by the caller. This document does not mandate either 352 behavior, although it does provide a way for the caller to indicate a 353 preference for the call succeeding when there is no language in 354 common. It is OPTIONAL for the callee to honor this preference. For 355 example, a PSAP is likely to attempt the call even without an 356 indicated preference when there is no language in common, while a 357 call center might choose to fail the call. 359 The mechanism for indicating this preference is that, in an offer, if 360 the last token of any 'hlang-recv' or 'hlang-send' value for any 361 media is an asterisk, this indicates a request to not fail the call. 362 The called party MAY ignore the indication, e.g., for the emergency 363 services use case, regardless of the absence of an asterisk, a PSAP 364 will likely not fail the call; some call centers might reject a call 365 even if the offer contains an asterisk. 367 If the call is rejected due to lack of any languages in common, it is 368 suggested to use SIP response code 488 (Not Acceptable Here) or 606 369 (Not Acceptable) [RFC3261] and include a Warning header field 370 [RFC3261] in the SIP response. The Warning header field contains a 371 warning code of [TBD: IANA VALUE, e.g., 308] and a warning text 372 indicating that there are no mutually-supported languages; the text 373 SHOULD also contain the supported languages and media. 375 Example: 377 Warning: [TBD: IANA VALUE, e.g., 308] proxy.example.com 378 "Incompatible language specification: Requested languages not 379 supported. Supported languages are: es, en; supported media 380 are: audio, text." 382 5.4. Undefined Combinations 384 With the exception of the case mentioned in Section 5.2 (a spoken 385 language tag for a video stream in parallel with an audio stream with 386 the same spoken language tag), the behavior when specifying a spoken/ 387 written language tag for a video media stream, or a signed language 388 tag for an audio or text media stream, is not defined. 390 5.5. Examples 392 Some examples are shown below. For clarity, only the most directly 393 relevant portions of the SDP block are shown. 395 An offer or answer indicating spoken English both ways: 397 m=audio 49170 RTP/AVP 0 398 a=hlang-send:en 399 a=hlang-recv:en 401 An offer indicating American Sign Language both ways, and requesting 402 that the call proceed even if the callee does not support the 403 language: 405 m=video 51372 RTP/AVP 31 32 406 a=hlang-send:ase 407 a=hlang-recv:ase * 409 An offer requesting spoken Spanish both ways (most preferred), spoken 410 Basque both ways (second preference), or spoken English both ways 411 (third preference). The offer further requests that the call proceed 412 even if the callee does not support any of the languages: 414 m=audio 49250 RTP/AVP 20 415 a=hlang-send:es eu en 416 a=hlang-recv:es eu en * 418 An answer to the above offer indicating spoken Spanish both ways: 420 m=audio 49250 RTP/AVP 20 421 a=hlang-send:es 422 a=hlang-recv:es 424 An alternative answer to the above offer indicating spoken Italian 425 both ways (as the callee does not support any of the requested 426 languages but chose to proceed with the call): 428 m=audio 49250 RTP/AVP 20 429 a=hlang-send:it 430 a=hlang-recv:it 432 An offer or answer indicating written Greek both ways: 434 m=text 45020 RTP/AVP 103 104 435 a=hlang-send:gr 436 a=hlang-recv:gr 438 An offer requesting the following media streams: video for the caller 439 to send using Argentine Sign Language, text for the caller to send 440 using written Spanish (most preferred) or written Portuguese, audio 441 for the caller to receive spoken Spanish (most preferred) or spoken 442 Portuguese. The offer also requests that the call proceed even if 443 the callee does not support any of the languages: 445 m=video 51372 RTP/AVP 31 32 446 a=hlang-send:aed 448 m=text 45020 RTP/AVP 103 104 449 a=hlang-send:sp pt 451 m=audio 49250 RTP/AVP 20 452 a=hlang-recv:sp pt * 454 An answer for the above offer, indicating text in which the callee 455 will receive written Spanish, and audio in which the callee will send 456 spoken Spanish. The answering party had no video capability: 458 m=video 0 RTP/AVP 31 32 459 m=text 45020 RTP/AVP 103 104 460 a=hlang-recv:sp 462 m=audio 49250 RTP/AVP 20 463 a=hlang-send:sp 465 An offer requesting the following media streams: text for the caller 466 to send using written English (most preferred) or written Spanish, 467 audio for the caller to receive spoken English (most preferred) or 468 spoken Spanish, supplemental video. The offer also requests that the 469 call proceed even if the callee does not support any of the 470 languages: 472 m=text 45020 RTP/AVP 103 104 473 a=hlang-send:en sp 475 m=audio 49250 RTP/AVP 20 476 a=hlang-recv:en sp * 477 m=video 51372 RTP/AVP 31 32 479 An answer for the above offer, indicating text in which the callee 480 will receive written Spanish, audio in which the callee will send 481 spoken Spanish, and supplemental video: 483 m=text 45020 RTP/AVP 103 104 484 a=hlang-recv:sp 486 m=audio 49250 RTP/AVP 20 487 a=hlang-send:sp 489 m=video 51372 RTP/AVP 31 32 491 Note that, even though the examples show the same (or essentially the 492 same) language being used in both directions (even when the modality 493 differs), there is no requirement that this be the case. However, in 494 practice, doing so is likely to increase the chances of successful 495 matching. 497 6. IANA Considerations 499 6.1. att-field Table in SDP Parameters 501 IANA is kindly requested to add two entries to the 'att-field (media 502 level only)' table of the SDP parameters registry: 504 Attribute Name: hlang-recv 506 Contact Name: Randall Gellens 508 Contact Email Address: rg+ietf@randy.pensive.org 510 Attribute Value: hlang-value 512 Attribute Syntax: 514 hlang-value = Language-Tag *( SP Language-tag ) [ SP asterisk ] 516 ; Language-Tag as defined in BCP 47 518 asterisk = "*" ; an asterisk (%x2A) character 520 SP = 1*" " ; one or more space (%x20) characters 522 Attribute Semantics: Described in Section 5.2 of TBD: THIS DOCUMENT 523 Usage Level: media 525 Mux Category: NORMAL 527 Charset Dependent: No 529 Purpose: See Section 5.2 of TBD: THIS DOCUMENT 531 O/A Procedures: See Section 5.2 of TBD: THIS DOCUMENT 533 Reference: TBD: THIS DOCUMENT 535 Attribute Name: hlang-send 537 Contact Name: Randall Gellens 539 Contact Email Address: rg+ietf@randy.pensive.org 541 Attribute Value: hlang-value 543 Attribute Semantics: Described in Section 5.2 of TBD: THIS DOCUMENT 545 Usage Level: media 547 Mux Category: NORMAL 549 Charset Dependent: No 551 Purpose: See Section 5.2 of TBD: THIS DOCUMENT 553 O/A Procedures: See Section 5.2 of TBD: THIS DOCUMENT 555 Reference: TBD: THIS DOCUMENT 557 6.2. Warn-Codes Sub-Registry of SIP Parameters 559 IANA is requested to add a new value in the warn-codes sub-registry 560 of SIP parameters in the 300 through 329 range that is allocated for 561 indicating problems with keywords in the session description. The 562 reference is to this document. The warn text is "Incompatible 563 language specification: Requested languages not supported. Supported 564 languages and media are: [list of supported languages and media]." 566 7. Security Considerations 568 The Security Considerations of BCP 47 [RFC5646] apply here. In 569 addition, if the 'hlang-send' or 'hlang-recv' values are altered or 570 deleted en route, the session could fail or languages 571 incomprehensible to the caller could be selected; however, this is 572 also a risk if any SDP parameters are modified en route. 574 8. Privacy Considerations 576 Language and media information can suggest a user's nationality, 577 background, abilities, disabilities, etc. 579 9. Changes from Previous Versions 581 RFC EDITOR: Please remove this section prior to publication. 583 9.1. Changes from draft-ietf-slim-...-04 to draft-ietf-slim-...-06 585 o Deleted Section 3 ("Expected Use") 587 o Reworded modalities in Introduction from "voice, video, text" to 588 "spoken, signed, written" 590 o Reworded text about "increasingly fine-grained distinctions" to 591 instead merely point to BCP 47 Section 4.1's advice to "tag 592 content wisely" and not include unnecessary subtags 594 o Changed IANA registration of new SDP attributes to follow RFC 4566 595 template with extra fields suggested in 4566-bis (expired draft) 597 o Deleted "(known as voice carry over)" 599 o Changed textual instanced of RFC 5646 to BCP 47, although actual 600 reference remains RFC due to xml2rfc limitations 602 9.2. Changes from draft-ietf-slim-...-02 to draft-ietf-slim-...-03 604 o Added Examples 606 o Added Privacy Considerations section 608 o Other editorial changes for clarity 610 9.3. Changes from draft-ietf-slim-...-01 to draft-ietf-slim-...-02 612 o Deleted most of Section 4 and replaced with a very short summary 614 o Replaced "wishes to" with "is willing to" in Section 5.2 616 o Reworded description of attribute usage to clarify when to set 617 both, only one, or neither 619 o Deleted all uses of "IMS" 621 o Other editorial changes for clarity 623 9.4. Changes from draft-ietf-slim-...-00 to draft-ietf-slim-...-01 625 o Editorial changes to wording in Section 5. 627 9.5. Changes from draft-gellens-slim-...-03 to draft-ietf-slim-...-00 629 o Updated title to reflect WG adoption 631 9.6. Changes from draft-gellens-slim-...-02 to draft-gellens- 632 slim-...-03 634 o Removed Use Cases section, per face-to-face discussion at IETF 93 636 o Removed discussion of routing, per face-to-face discussion at IETF 637 93 639 9.7. Changes from draft-gellens-slim-...-01 to draft-gellens- 640 slim-...-02 642 o Updated NENA usage mention 644 o Removed background text reference to draft-saintandre-sip-xmpp- 645 chat-04 since that draft expired 647 9.8. Changes from draft-gellens-slim-...-00 to draft-gellens- 648 slim-...-01 650 o Revision to keep draft from expiring 652 9.9. Changes from draft-gellens-mmusic-...-02 to draft-gellens- 653 slim-...-00 655 o Changed name from -mmusic- to -slim- to reflect proposed WG name 657 o As a result of the face-to-face discussion in Toronto, the SDP vs 658 SIP issue was resolved by going back to SDP, taking out the SIP 659 hint, and converting what had been a set of alternate proposals 660 for various ways of doing it within SIP into an informative annex 661 section which includes background on why SDP is the proposal 663 o Added mention that enabling a mutually comprehensible language is 664 a general problem of which this document addresses the real-time 665 side, with reference to [I-D.ietf-slim-multilangcontent] which 666 addresses the non-real-time side. 668 9.10. Changes from draft-gellens-mmusic-...-01 to -02 670 o Added clarifying text on leaving attributes unset for media not 671 primarily intended for human language communication (e.g., 672 background audio or video). 674 o Added new section ("Alternative Proposal: Caller-prefs") 675 discussing use of SIP-level Caller-prefs instead of SDP-level. 677 9.11. Changes from draft-gellens-mmusic-...-00 to -01 679 o Relaxed language on setting -send and -receive to same values; 680 added text on leaving on empty to indicate asymmetric usage. 682 o Added text that clients on behalf of end users are expected to set 683 the attributes on outgoing calls and ignore on incoming calls 684 while systems on behalf of call centers and PSAPs are expected to 685 take the attributes into account when processing incoming calls. 687 9.12. Changes from draft-gellens-...-02 to draft-gellens-mmusic-...-00 689 o Updated text to refer to RFC 5646 rather than the IANA language 690 subtags registry directly. 692 o Moved discussion of existing 'lang' attribute out of "Proposed 693 Solution" section and into own section now that it is not part of 694 proposal. 696 o Updated text about existing 'lang' attribute. 698 o Added example use cases. 700 o Replaced proposed single 'hlang' attribute with 'hlang-send' and 701 'hlang-recv' per Harald's request/information that it was a misuse 702 of SDP to use the same attribute for sending and receiving. 704 o Added section describing usage being advisory vs required and text 705 in attribute section. 707 o Added section on SIP "hint" header (not yet nailed down between 708 new and existing header). 710 o Added text discussing usage in policy-based routing function or 711 use of SIP header "hint" if unable to do so. 713 o Added SHOULD that the value of the parameters stick to the largest 714 granularity of language tags. 716 o Added text to Introduction to be try and be more clear about 717 purpose of document and problem being solved. 719 o Many wording improvements and clarifications throughout the 720 document. 722 o Filled in Security Considerations. 724 o Filled in IANA Considerations. 726 o Added to Acknowledgments those who participated in the Orlando ad- 727 hoc discussion as well as those who participated in email 728 discussion and side one-on-one discussions. 730 9.13. Changes from draft-gellens-...-01 to -02 732 o Updated text for (possible) new attribute "hlang" to reference RFC 733 5646 735 o Added clarifying text for (possible) re-use of existing 'lang' 736 attribute saying that the registration would be updated to reflect 737 different semantics for multiple values for interactive versus 738 non-interactive media. 740 o Added clarifying text for (possible) new attribute "hlang" to 741 attempt to better describe the role of language tags in media in 742 an offer and an answer. 744 9.14. Changes from draft-gellens-...-00 to -01 746 o Changed name of (possible) new attribute from 'humlang" to "hlang" 747 o Added discussion of silly state (language not appropriate for 748 media type) 749 o Added Voice Carry Over example 750 o Added mention of multilingual people and multiple languages 751 o Minor text clarifications 753 10. Contributors 755 Gunnar Hellstrom deserves special mention for his reviews and 756 assistance. 758 11. Acknowledgments 760 Many thanks to Bernard Aboba, Harald Alvestrand, Flemming Andreasen, 761 Francois Audet, Eric Burger, Keith Drage, Doug Ewell, Christian 762 Groves, Andrew Hutton, Hadriel Kaplan, Ari Keranen, John Klensin, 763 Paul Kyzivat, John Levine, Alexey Melnikov, James Polk, Pete Resnick, 764 Peter Saint-Andre, and Dale Worley for reviews, corrections, 765 suggestions, and participating in in-person and email discussions. 767 12. References 769 12.1. Normative References 771 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 772 Requirement Levels", BCP 14, RFC 2119, 773 DOI 10.17487/RFC2119, March 1997, 774 . 776 [RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, 777 A., Peterson, J., Sparks, R., Handley, M., and E. 778 Schooler, "SIP: Session Initiation Protocol", RFC 3261, 779 DOI 10.17487/RFC3261, June 2002, 780 . 782 [RFC4566] Handley, M., Jacobson, V., and C. Perkins, "SDP: Session 783 Description Protocol", RFC 4566, DOI 10.17487/RFC4566, 784 July 2006, . 786 [RFC5646] Phillips, A., Ed. and M. Davis, Ed., "Tags for Identifying 787 Languages", BCP 47, RFC 5646, DOI 10.17487/RFC5646, 788 September 2009, . 790 12.2. Informational References 792 [I-D.hellstrom-slim-modalitypref] 793 Hellstrom, G., "Negotiating Modality in Real-Time 794 Communications", draft-hellstrom-slim-modalitypref-02 795 (work in progress), June 2017. 797 [I-D.ietf-slim-multilangcontent] 798 Tomkinson, N. and N. Borenstein, "Multiple Language 799 Content Type", draft-ietf-slim-multilangcontent-08 (work 800 in progress), June 2017. 802 [RFC3264] Rosenberg, J. and H. Schulzrinne, "An Offer/Answer Model 803 with Session Description Protocol (SDP)", RFC 3264, 804 DOI 10.17487/RFC3264, June 2002, 805 . 807 Author's Address 808 Randall Gellens 809 Core Technology Consulting 811 Email: rg+ietf@coretechnologyconsulting.com 812 URI: http://www.coretechnologyconsulting.com