idnits 2.17.1 draft-ietf-stox-chat-02.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 (September 19, 2013) is 3869 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) == Outdated reference: A later version (-11) exists of draft-ietf-stox-core-04 -- Possible downref: Non-RFC (?) normative reference: ref. 'XEP-0085' -- Possible downref: Non-RFC (?) normative reference: ref. 'XEP-0184' == Outdated reference: A later version (-13) exists of draft-ietf-stox-im-03 Summary: 0 errors (**), 0 flaws (~~), 3 warnings (==), 3 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group P. Saint-Andre 3 Internet-Draft Cisco Systems, Inc. 4 Intended status: Standards Track S. Loreto 5 Expires: March 23, 2014 E. Gavita 6 N. Hossain 7 Ericsson 8 September 19, 2013 10 Interworking between the Session Initiation Protocol (SIP) and the 11 Extensible Messaging and Presence Protocol (XMPP): One-to-One Text Chat 12 Sessions 13 draft-ietf-stox-chat-02 15 Abstract 17 This document defines a bidirectional protocol mapping for the 18 exchange of instant messages in the context of a one-to-one chat 19 session between a user of the Session Initiation Protocol (SIP) and a 20 user of the Extensible Messaging and Presence Protocol (XMPP). 21 Specifically for SIP text chat, this document specifies a mapping to 22 the Message Session Relay Protocol (MSRP). 24 Status of this Memo 26 This Internet-Draft is submitted in full conformance with the 27 provisions of BCP 78 and BCP 79. 29 Internet-Drafts are working documents of the Internet Engineering 30 Task Force (IETF). Note that other groups may also distribute 31 working documents as Internet-Drafts. The list of current Internet- 32 Drafts is at http://datatracker.ietf.org/drafts/current/. 34 Internet-Drafts are draft documents valid for a maximum of six months 35 and may be updated, replaced, or obsoleted by other documents at any 36 time. It is inappropriate to use Internet-Drafts as reference 37 material or to cite them other than as "work in progress." 39 This Internet-Draft will expire on March 23, 2014. 41 Copyright Notice 43 Copyright (c) 2013 IETF Trust and the persons identified as the 44 document authors. All rights reserved. 46 This document is subject to BCP 78 and the IETF Trust's Legal 47 Provisions Relating to IETF Documents 48 (http://trustee.ietf.org/license-info) in effect on the date of 49 publication of this document. Please review these documents 50 carefully, as they describe your rights and restrictions with respect 51 to this document. Code Components extracted from this document must 52 include Simplified BSD License text as described in Section 4.e of 53 the Trust Legal Provisions and are provided without warranty as 54 described in the Simplified BSD License. 56 Table of Contents 58 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 59 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 60 3. XMPP to MSRP . . . . . . . . . . . . . . . . . . . . . . . . . 4 61 4. MSRP to XMPP . . . . . . . . . . . . . . . . . . . . . . . . . 8 62 5. Composing Events . . . . . . . . . . . . . . . . . . . . . . . 11 63 6. Delivery Reports . . . . . . . . . . . . . . . . . . . . . . . 13 64 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 15 65 8. Security Considerations . . . . . . . . . . . . . . . . . . . 15 66 9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 15 67 9.1. Normative References . . . . . . . . . . . . . . . . . . . 15 68 9.2. Informative References . . . . . . . . . . . . . . . . . . 16 69 Appendix A. Acknowledgements . . . . . . . . . . . . . . . . . . 16 70 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 17 72 1. Introduction 74 Both the Session Initiation Protocol [RFC3261] and the Extensible 75 Messaging and Presence Protocol [RFC6120] can be used for the purpose 76 of one-to-one text chat over the Internet. To ensure interworking 77 between these technologies, it is important to define bidirectional 78 protocol mappings. 80 The architectural assumptions underlying such protocol mappings are 81 provided in [I-D.ietf-stox-core], including mapping of addresses and 82 error conditions. This document specifies mappings for one-to-one 83 text chat sessions (sometimes called "session-mode" messaging); in 84 particular, this document specifies mappings between XMPP messages of 85 type "chat" and the Message Session Relay Protocol [RFC4975]. 86 Mappings for single instant messages and groupchat are provided in 87 separate documents. 89 The approach taken here is to directly map syntax and semantics from 90 one protocol to another. The mapping described herein depends on the 91 protocols defined in the following specifications: 93 o XMPP chat sessions using message stanzas of type "chat" are 94 specified in [RFC6121]. 95 o SIP-based chat sessions using the SIP INVITE and SEND request 96 types are specified in [RFC4975]. 98 In SIMPLE, a chat session is formally negotiated just as any other 99 session type is using SIP. By contrast, a one-to-one chat "session" 100 in XMPP is an informal construct and is not formally negotiated: a 101 user simply sends a message of type "chat" to a contact, the contact 102 then replies to the message, and the sum total of such messages 103 exchanged during a defined period of time is considered to be a chat 104 session. To overcome the disparity between these approaches, a 105 gateway that wishes to map between SIP and XMPP for one-to-one chat 106 sessions needs to maintain some additional state, as described below. 108 The discussion venue for this document is the mailing list of the 109 STOX WG; visit https://www.ietf.org/mailman/listinfo/stox for 110 subscription information and discussion archives. 112 2. Terminology 114 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 115 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 116 "OPTIONAL" in this document are to be interpreted as described in 117 [RFC2119]. 119 3. XMPP to MSRP 121 In XMPP, the "informal session" approach is to simply send someone a 122 of type "chat" without starting any session negotiation 123 ahead of time (as described in [RFC6121]). The XMPP "informal 124 session" approach maps very well into a SIP MESSAGE request, as 125 described in [I-D.ietf-stox-core]. However, the XMPP informal 126 session approach can also be mapped to MSRP if the XMPP-to-SIP 127 gateway maintains additional state. 129 The order of events is as follows. 131 XMPP User GW SIP User 132 | | | 133 |(F1) (XMPP) Chat message | | 134 |------------------------->| | 135 | |(F2) (SIP) INVITE | 136 | |------------------------->| 137 | |(F3) (SIP) 200 OK | 138 | |<-------------------------| 139 | |(F4) (SIP) ACK | 140 | |------------------------->| 141 | |(F5) (MSRP) SEND | 142 | |------------------------->| 143 | |(F6) (MSRP) A reply | 144 | |<-------------------------| 145 |(F7) (XMPP) A reply | | 146 |<-------------------------| | 147 | | | 148 . . . 149 . . . 150 . . . 151 | | | 152 | |(F8) (SIP) BYE | 153 | |<-------------------------| 154 | |(F9) (SIP) 200 OK | 155 | |------------------------->| 156 | | | 158 The mapping of XMPP syntax to SIP syntax SHOULD be as shown in the 159 following table. (Mappings for several aspects not mentioned here 160 are specified in [I-D.ietf-stox-im].) 161 Table 1: Message syntax mapping from XMPP to SIP 163 +-----------------------------+--------------------------+ 164 | XMPP Element or Attribute | SIP Header or Contents | 165 +-----------------------------+--------------------------+ 166 | | Call-ID | 167 | id | transaction identifier | 168 +-----------------------------+--------------------------+ 170 First the XMPP user would generate an XMPP chat message. 172 Example 1: Juliet sends XMPP message (F1) 174 | 178 | 29377446-0CBB-4296-8958-590D79094C50 179 | Art thou not Romeo, and a Montague? 180 | 182 The local SIP-to-XMPP gateway at the SIMPLE server would then 183 initiate an MSRP session with Romeo on Juliet's behalf (since there 184 is no reliable way for the SIMPLE server to determine if Romeo's user 185 agent supports MSRP, it simply needs to guess). 187 Example 2: Gateway starts SIP session on behalf of Juliet (F2) 189 | INVITE sip:romeo@example.net SIP/2.0 190 | To: 191 | From: 192 | Contact: ;gr=balcony 193 | Subject: Open chat with Juliet? 194 | Call-ID: 29377446-0CBB-4296-8958-590D79094C50 195 | Content-Type: application/sdp 196 | 197 | c=IN IP4 x2s.example.com 198 | m=message 7654 TCP/MSRP * 199 | a=accept-types:text/plain 200 | a=lang:en 201 | a=lang:it 202 | a=path:msrp://x2s.example.com:7654/jshA7weztas;tcp 204 Here we assume that Romeo accepts the MSRP session request. 206 Example 3: Romeo accepts session request (F3) 208 | SIP/2.0 200 OK 209 | To: ;gr=balcony 210 | From: 211 | Contact: ;gr=orchard 212 | Call-ID: 29377446-0CBB-4296-8958-590D79094C50 213 | Content-Type: application/sdp 214 | 215 | c=IN IP4 s2x.example.net 216 | m=message 12763 TCP/MSRP * 217 | a=accept-types:text/plain 218 | a=lang:it 219 | a=path:msrp://s2x.example.net:12763/kjhd37s2s20w2a;tcp 221 The XMPP-to-SIP gateway then acknowledges the session acceptance on 222 behalf of Juliet. 224 Example 4: Gateway sends ACK to Romeo (F4) 226 | ACK sip:juliet@example.com SIP/2.0 227 | To: ;gr=orchard 228 | From: 229 | Contact: ;gr=balcony 230 | Call-ID: 29377446-0CBB-4296-8958-590D79094C50 232 The XMPP-to-SIP gateway then transforms the original XMPP chat 233 message into MSRP. 235 Example 5: Gateway maps XMPP message to MSRP (F5) 237 | MSRP a786hjs2 SEND 238 | From-Path: msrp://x2s.example.com:7654/jshA7weztas;tcp 239 | To-Path: msrp://s2x.example.net:12763/kjhd37s2s20w2a;tcp 240 | Message-ID: 54C6F4F1-A39C-47D6-8718-FA65B3D0414A 241 | Byte-Range: 1-25/25 242 | Content-Type: text/plain 243 | 244 | Art thou not Romeo, and a Montague? 245 | -------a786hjs2$ 247 Romeo can then send a reply using his MSRP user agent. 249 Example 6: Romeo sends reply (F6) 251 | MSRP di2fs53v SEND 252 | To-Path: msrp://x2s.example.com:7654/jshA7weztas;tcp 253 | From-Path: msrp://s2x.example.net:12763/kjhd37s2s20w2a;tcp 254 | Message-ID: 6480C096-937A-46E7-BF9D-1353706B60AA 255 | Byte-Range: 1-25/25 256 | Failure-Report: no 257 | Content-Type: text/plain 258 | 259 | Neither, fair saint, if either thee dislike. 260 | -------di2fs53v$ 262 The SIP-to-XMPP gateway would then transform that message into 263 appropriate XMPP syntax for routing to the intended recipient. 265 Example 7: Gateway maps MSRP message to XMPP (F7) 267 | 271 | 29377446-0CBB-4296-8958-590D79094C50 272 | Neither, fair saint, if either thee dislike. 273 | 275 When the MSRP user wishes to end the chat session, the user's MSRP 276 client sends a SIP BYE. 278 Example 8: Romeo terminates chat session (F8) 280 | BYE juliet@example.com sip: SIP/2.0 281 | Max-Forwards: 70 282 | From: ;tag=087js 283 | To: ;tag=786 284 | Call-ID: 29377446-0CBB-4296-8958-590D79094C50 285 | Cseq: 1 BYE 286 | Content-Length: 0 288 The BYE is then acknowledged by the XMPP-to-SIP gateway. 290 Example 9: Gateway acknowledges termination (F9) 292 | SIP/2.0 200 OK 293 | From: ;tag=786 294 | To: ;tag=087js 295 | Call-ID: 29377446-0CBB-4296-8958-590D79094C50 296 | CSeq: 1 BYE 297 | Content-Length: 0 299 4. MSRP to XMPP 301 When an MSRP client sends messages through a gateway to an XMPP 302 client that does not support formal sessions, the order of events is 303 as follows. 305 SIP User GW XMPP User 306 | | | 307 |(F1)(SIP) INVITE | | 308 |------------------------>| | 309 |(F2)(SIP) 200 OK | | 310 |<------------------------| | 311 |(F3)(SIP) ACK | | 312 |------------------------>| | 313 |(F4)(MSRP) SEND | | 314 |------------------------>| | 315 | |(F5)(XMPP) A chat message | 316 | |------------------------->| 317 | |(F6)(XMPP) A reply | 318 | |<-------------------------| 319 | | | 320 |(F7)(MSRP) SEND | | 321 |<------------------------| | 322 | | | 323 . . . 324 . . . 325 . . . 326 | | | 327 |(F8)(SIP) BYE | | 328 |------------------------>| | 329 |(F9)(SIP) 200 OK | | 330 |<------------------------| | 331 | | | 333 The mapping of SIP syntax to XMPP syntax SHOULD be as shown in the 334 following table. (Mappings for several aspects not mentioned here 335 are specified in [I-D.ietf-stox-im].) 336 Table 2: Message syntax mapping from SIP to XMPP 338 +--------------------------+-----------------------------+ 339 | SIP Header or Contents | XMPP Element or Attribute | 340 +--------------------------+-----------------------------+ 341 | Call-ID | | 342 | transaction identifier | id | 343 +--------------------------+-----------------------------+ 345 Example 10: Romeo starts chat session (F1) 347 | INVITE sip:juliet@example.com SIP/2.0 348 | To: 349 | From: 350 | Contact: ;gr=orchard 351 | Subject: Open chat with Romeo? 352 | Call-ID: F6989A8C-DE8A-4E21-8E07-F0898304796F 353 | Content-Type: application/sdp 354 | 355 | c=IN IP4 s2x.example.net 356 | m=message 7313 TCP/MSRP * 357 | a=accept-types:text/plain 358 | a=lang:en 359 | a=lang:it 360 | a=path:msrp://s2x.example.net:7313/ansp71weztas;tcp 362 Example 11: Gateway accepts session on Juliet's behalf (F2) 364 | SIP/2.0 200 OK 365 | To: ;gr=orchard 366 | From: 367 | Contact: ;gr=balcony 368 | Call-ID: F6989A8C-DE8A-4E21-8E07-F0898304796F 369 | Content-Type: application/sdp 370 | 371 | c=IN IP4 x2s.example.com 372 | m=message 8763 TCP/MSRP * 373 | a=accept-types:text/plain 374 | a=lang:it 375 | a=path:msrp://x2s.example.com:8763/lkjh37s2s20w2a;tcp 376 Example 12: Romeo sends ACK (F3) 378 | ACK sip:juliet@example.com SIP/2.0 379 | To: ;gr=balcony 380 | From: 381 | Contact: ;gr=orchard 382 | Call-ID: F6989A8C-DE8A-4E21-8E07-F0898304796F 384 Example 13: Romeo sends message (F4) 386 | MSRP ad49kswow SEND 387 | To-Path: msrp://x2s.example.com:8763/lkjh37s2s20w2a;tcp 388 | From-Path: msrp://s2x.example.net:7313/ansp71weztas;tcp 389 | Message-ID: 676FDB92-7852-443A-8005-2A1B9FE44F4E 390 | Byte-Range: 1-32/32 391 | Failure-Report: no 392 | Content-Type: text/plain 393 | 394 | I take thee at thy word ... 395 | -------ad49kswow$ 397 Example 14: SIP-XMPP gateway maps MSRP message to XMPP (F5) 399 | 403 | F6989A8C-DE8A-4E21-8E07-F0898304796F 404 | I take thee at thy word ... 405 | 407 Example 15: Juliet sends reply (F6) 409 | 413 | 29377446-0CBB-4296-8958-590D79094C50 414 | What man art thou ...? 415 | 416 Example 16: Gateway maps XMPP message to MSRP (F8) 418 | MSRP ms53b7z9 SEND 419 | To-Path: msrp://s2x.example.net:7313/jshA7weztas;tcp 420 | From-Path: msrp://x2s.example.com:8763/lkjh37s2s20w2a;tcp 421 | Message-ID: 17EBA17B-94C0-463B-AD84-DE405C4C9D41 422 | Byte-Range: 1-25/25 423 | Failure-Report: no 424 | Content-Type: text/plain 425 | 426 | What man art thou ...? 427 | -------ms53b7z9$ 429 Example 17: Romeo terminates chat session (F9) 431 | BYE juliet@example.com sip: SIP/2.0 432 | Max-Forwards: 70 433 | To: ;gr=balcony 434 | From: 435 | Contact: ;gr=orchard 436 | Call-ID: F6989A8C-DE8A-4E21-8E07-F0898304796F 437 | Cseq: 1 BYE 438 | Content-Length: 0 440 Example 18: Gateway acknowledges termination of session on behalf of 441 Juliet (F10) 443 | SIP/2.0 200 OK 444 | To: ;gr=balcony 445 | From: 446 | Contact: ;gr=orchard 447 | Call-ID: F6989A8C-DE8A-4E21-8E07-F0898304796F 448 | CSeq: 1 BYE 450 5. Composing Events 452 Both XMPP and MSRP enable a user agent to receive notifications when 453 a person's conversation partner is composing an instant message 454 within the context of a chat session. 456 For XMPP, the Chat State Notifications specification [XEP-0085] 457 defines five states: active, inactive, gone, composing, and paused. 458 Some of these states are related to the act of message composition 459 (composing, paused), whereas others are related to the sender's 460 involvement with the chat session (active, inactive, gone). 462 For MSRP (and SIMPLE in general), the Indication of Message 463 Composition for Instant Messaging specification [RFC3994] defines two 464 states: idle and active. Here the idle state indicates that the 465 sender is not actively composing a message, and the active state 466 indicates that the sender is indeed actively composing a message (the 467 sending user agent simply toggles between the two states, changing to 468 active if the user is actively composing a message and changing to 469 idle if the user is no longer actively composing a message). 471 Because the XEP-0085 states can represent information that is not 472 captured in RFC 3994, gateways can either (a) map only the composing- 473 related states or (b) map all the XEP-0085 states. 475 The following mappings are suggested. 477 Table 3: Mapping of SIMPLE isComposing events to XMPP chat states 479 +-------------------+--------------------+ 480 | isComposing Event | Chat State | 481 +-------------------+--------------------+ 482 | active | composing | 483 | idle | active | 484 +-------------------+--------------------+ 486 Table 4: Mapping of XMPP chat states to SIMPLE isComposing events 488 +-------------------+--------------------+ 489 | Chat State | isComposing Event | 490 +-------------------+--------------------+ 491 | active | idle | 492 | inactive | idle | 493 | gone | [none, see note] | 494 | composing | active | 495 | paused | idle | 496 +-------------------+--------------------+ 498 Although there is no direct mapping for the "gone" chat state (which 499 is not to be confused with the stanza error condition defined 500 in [RFC6120]) to an isComposing event, receipt of the "gone" state 501 can be used as a trigger for terminating the formal chat session 502 within MSRP, i.e., for sending a SIP BYE for the session from the 503 XMPP-SIP gateway to the SIP user. The following examples illustrate 504 this indirect mapping. 506 Example 19: Juliet sends gone chat state 508 | 512 | 29377446-0CBB-4296-8958-590D79094C50 513 | 514 | 516 Example 20: XMPP-SIP gateway maps gone chat state to SIP BYE 518 | BYE romeo@example.net sip: SIP/2.0 519 | Max-Forwards: 70 520 | From: ;tag=786 521 | To: ;tag=087js 522 | Call-ID: 29377446-0CBB-4296-8958-590D79094C50 523 | Cseq: 1 BYE 524 | Content-Length: 0 526 6. Delivery Reports 528 Both XMPP and MSRP enable a user agent to receive notifications when 529 a message has been received by the intended recipient. 531 For XMPP, the Message Receipts specification [XEP-0184] defines a 532 method and XML namespace for requesting and returning indications 533 that a message has been received by a client controlled by the 534 intended recipient. 536 For MSRP, a native reporting feature is included, in the form of 537 report chunks (see Sections 7.1.2 and 7.1.3 of [RFC4975]). 539 Examples follow. 541 First, the XMPP user sends a message containing a request for 542 delivery notification. 544 Example 21: Juliet sends XMPP message with receipt request 546 | 550 | 29377446-0CBB-4296-8958-590D79094C50 551 | What man art thou ...? 552 | 553 | 555 Example 22: Gateway maps XMPP message to MSRP 557 | MSRP bf9m36d5 SEND 558 | To-Path: msrp://s2x.example.net:7313/jshA7weztas;tcp 559 | From-Path: msrp://x2s.example.com:8763/lkjh37s2s20w2a;tcp 560 | Message-ID: 6187CF9B-317A-41DA-BB6A-5E48A9C794EF 561 | Byte-Range: 1-25/25 562 | Success-Report: yes 563 | Failure-Report: no 564 | Content-Type: text/plain 565 | 566 | What man art thou ...? 567 | -------bf9m36d5$ 569 Next, the recipient returns a report. 571 Example 23: Romeo returns MSRP receipt 573 | MSRP hx74g336 REPORT 574 | To-Path: msrp://x2s.example.com:8763/lkjh37s2s20w2a;tcp 575 | From-Path: msrp://s2x.example.net:7313/jshA7weztas;tcp 576 | Message-ID: 6187CF9B-317A-41DA-BB6A-5E48A9C794EF 577 | Byte-Range: 1-106/106 578 | Status: 000 200 OK 579 | -------hx74g336$ 581 Example 24: SIP-XMPP gateway maps receipt to XMPP 583 | 586 | 587 | 589 7. IANA Considerations 591 This document requests no actions of IANA. 593 8. Security Considerations 595 Detailed security considerations for instant messaging protocols are 596 given in [RFC2779], for SIP-based instant messaging in [RFC3428] (see 597 also [RFC3261]), and for XMPP-based instant messaging in [RFC6121] 598 (see also [RFC6120]). 600 This document specifies methods for exchanging instant messages 601 through a gateway that translates between SIP and XMPP. Such a 602 gateway MUST be compliant with the minimum security requirements of 603 the instant messaging protocols for which it translates (i.e., SIP 604 and XMPP). The addition of gateways to the security model of instant 605 messaging specified in [RFC2779] introduces some new risks. In 606 particular, end-to-end security properties (especially 607 confidentiality and integrity) between instant messaging user agents 608 that interface through a SIMPLE-XMPP gateway can be provided only if 609 common formats are supported. Specification of those common formats 610 is out of scope for this document, although it is recommended to use 611 [RFC3862] for instant messages. 613 9. References 615 9.1. Normative References 617 [I-D.ietf-stox-core] 618 Saint-Andre, P., Houri, A., and J. Hildebrand, 619 "Interworking between the Session Initiation Protocol 620 (SIP) and the Extensible Messaging and Presence Protocol 621 (XMPP): Core", draft-ietf-stox-core-04 (work in progress), 622 July 2013. 624 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 625 Requirement Levels", BCP 14, RFC 2119, March 1997. 627 [RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, 628 A., Peterson, J., Sparks, R., Handley, M., and E. 629 Schooler, "SIP: Session Initiation Protocol", RFC 3261, 630 June 2002. 632 [RFC3862] Klyne, G. and D. Atkins, "Common Presence and Instant 633 Messaging (CPIM): Message Format", RFC 3862, August 2004. 635 [RFC3994] Schulzrinne, H., "Indication of Message Composition for 636 Instant Messaging", RFC 3994, January 2005. 638 [RFC4975] Campbell, B., Mahy, R., and C. Jennings, "The Message 639 Session Relay Protocol (MSRP)", RFC 4975, September 2007. 641 [RFC6120] Saint-Andre, P., "Extensible Messaging and Presence 642 Protocol (XMPP): Core", RFC 6120, March 2011. 644 [RFC6121] Saint-Andre, P., "Extensible Messaging and Presence 645 Protocol (XMPP): Instant Messaging and Presence", 646 RFC 6121, March 2011. 648 [XEP-0085] 649 Saint-Andre, P. and D. Smith, "Chat State Notifications", 650 XSF XEP 0085, September 2009. 652 [XEP-0184] 653 Saint-Andre, P. and J. Hildebrand, "Message Delivery 654 Receipts", XSF XEP 0184, March 2011. 656 9.2. Informative References 658 [I-D.ietf-stox-im] 659 Saint-Andre, P., Houri, A., and J. Hildebrand, 660 "Interworking between the Session Initiation Protocol 661 (SIP) and the Extensible Messaging and Presence Protocol 662 (XMPP): Instant Messaging", draft-ietf-stox-im-03 (work in 663 progress), September 2013. 665 [RFC2779] Day, M., Aggarwal, S., and J. Vincent, "Instant Messaging 666 / Presence Protocol Requirements", RFC 2779, 667 February 2000. 669 [RFC3428] Campbell, B., Rosenberg, J., Schulzrinne, H., Huitema, C., 670 and D. Gurle, "Session Initiation Protocol (SIP) Extension 671 for Instant Messaging", RFC 3428, December 2002. 673 Appendix A. Acknowledgements 675 Some text in this document was borrowed from [I-D.ietf-stox-core]. 677 Thanks to Adrian Georgescu, Philipp Hancke, Saul Ibarra Corretge, and 678 Tory Patnoe for their feedback. 680 Authors' Addresses 682 Peter Saint-Andre 683 Cisco Systems, Inc. 684 1899 Wynkoop Street, Suite 600 685 Denver, CO 80202 686 USA 688 Phone: +1-303-308-3282 689 Email: psaintan@cisco.com 691 Salvatore Loreto 692 Ericsson 693 Hirsalantie 11 694 Jorvas 02420 695 Finland 697 Email: Salvatore.Loreto@ericsson.com 699 Eddy Gavita 700 Ericsson 701 Decarie Boulevard 702 Town of Mount Royal, Quebec 703 Canada 705 Email: eddy.gavita@ericsson.com 707 Nazin Hossain 708 Ericsson 709 Decarie Boulevard 710 Town of Mount Royal, Quebec 711 Canada 713 Email: Nazin.Hossain@ericsson.com