Changeset 72


Ignore:
Timestamp:
11/03/14 23:03:50 (9 years ago)
Author:
stpeter@…
Message:

06

File:
1 edited

Legend:

Unmodified
Added
Removed
  • draft-ietf-stox-chat.xml

    r60 r72  
    77<?rfc toc="yes"?>
    88<?rfc tocdepth="1"?>
    9 <rfc category="std" docName="draft-ietf-stox-chat-05" ipr="trust200902">
     9<rfc category="std" docName="draft-ietf-stox-chat-06" ipr="trust200902">
    1010
    1111  <front>
    1212    <title abbrev="SIP-XMPP Interworking: Chat">Interworking between the Session Initiation Protocol (SIP) and the Extensible Messaging and Presence Protocol (XMPP): One-to-One Text Chat Sessions</title>
    1313    <author initials="P." surname="Saint-Andre" fullname="Peter Saint-Andre">
    14       <organization/>
     14      <organization>&amp;yet</organization>
    1515      <address>
     16        <postal>
     17          <street>P.O. Box 787</street>
     18          <city>Parker</city>
     19          <region>CO</region>
     20          <code>80134</code>
     21          <country>USA</country>
     22        </postal>
    1623        <email>ietf@stpeter.im</email>
    1724      </address>
     
    5966    </section>
    6067
     68    <section title="Intended Audience" anchor="audience">
     69      <t>The documents in this series are intended for use by software developers who have an existing system based on one of these technologies (e.g., SIP), and would like to enable communication from that existing system to systems based on the other technology (e.g., XMPP).  We assume that readers are familiar with the core specifications for both SIP <xref target='RFC3261'/> and XMPP <xref target='RFC6120'/>, with the base document for this series <xref target='I-D.ietf-stox-core'/>, and with the following chat-related specifications:</t>
     70      <t>
     71        <list style='symbols'>
     72          <t>The Message Session Relay Protocol (MSRP) <xref target='RFC4975'/></t>
     73          <t>Extensible Messaging and Presence Protocol: Instant Messaging and Presence <xref target='RFC6121'/></t>
     74          <t>Indication of Message Composition for Instant Messaging <xref target='RFC3994'/></t>
     75          <t>Chat State Notifications <xref target='XEP-0085'/></t>
     76        </list>
     77      </t>
     78    </section>
     79
    6180    <section title="Terminology" anchor="terms">
     81      <t>A number of terms used here are explained in <xref target='RFC3261'/>, <xref target='RFC4975'/>, <xref target='RFC6120'/>, and <xref target='RFC6121'/>.</t>
     82      <t>In flow diagrams, SIP/MSRP traffic is shown using arrows such as "***&gt;" whereas XMPP traffic is shown using arrows such as "...&gt;".</t>
    6283      <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in <xref target='RFC2119'/>.</t>
    6384    </section>
     
    6889      <figure>
    6990        <artwork><![CDATA[
    70 XMPP User                      GW                      SIP User
    71     |                          |                          |
    72     |(F1) (XMPP) Chat message  |                          |
    73     |------------------------->|                          |
    74     |                          |(F2) (SIP) INVITE         |
    75     |                          |------------------------->|
    76     |                          |(F3) (SIP) 200 OK         |
    77     |                          |<-------------------------|
    78     |                          |(F4) (SIP) ACK            |
    79     |                          |------------------------->|
    80     |                          |(F5) (MSRP) SEND          |
    81     |                          |------------------------->|
    82     |                          |(F6) (MSRP) A reply       |
    83     |                          |<-------------------------|
    84     |(F7) (XMPP) A reply       |                          |
    85     |<-------------------------|                          |
    86     |                          |                          |
    87     .                          .                          .
    88     .                          .                          .
    89     .                          .                          .
    90     |                          |                          |
    91     |                          |(F8) (SIP) BYE            |
    92     |                          |<-------------------------|
    93     |                          |(F9) (SIP) 200 OK         |
    94     |                          |------------------------->|
    95     |                          |                          |
     91XMPP       XMPP      XMPP-to-SIP    SIP-to-XMPP     SIP         SIP
     92User      Server      Gateway        Gateway       Server       User
     93 |           |            |              |            |          |
     94 | (F1) XMPP |            |              |            |          |
     95 | message   |            |              |            |          |
     96 |..........>|            |              |            |          |
     97 |           | (F2) XMPP  |              |            |          |
     98 |           | message    |              |            |          |
     99 |           |...........>|              |            |          |
     100 |           |            | (F3) SIP INVITE           |          |
     101 |           |            |**************************>|          |
     102 |           |            |              |            | (F4) SIP |
     103 |           |            |              |            | INVITE   |
     104 |           |            |              |            |*********>|
     105 |           |            |              |            | (F5) SIP |
     106 |           |            |              |            | 200 OK   |
     107 |           |            |              |            |<*********|
     108 |           |            |              | (F6) SIP   |          |
     109 |           |            |              | 200 OK     |          |
     110 |           |            |              |<***********|          |
     111 |           |            |              | (F7) SIP   |          |
     112 |           |            |              | ACK        |          |
     113 |           |            |              |***********>|          |
     114 |           |            |              | (F8) MSRP  |          |
     115 |           |            |              | SEND       |          |
     116 |           |            |              |***********>|          |
     117 |           |            |              |            | (F9) SIP |
     118 |           |            |              |            | ACK      |
     119 |           |            |              |            |*********>|
     120 |           |            |              |            |(F10) MSRP|
     121 |           |            |              |            | SEND     |
     122 |           |            |              |            |*********>|
     123 .           .            .              .            .          .
     124 .           .            .              .            .          .
     125 |           |            |              |            |(F11) MSRP|
     126 |           |            |              |            | SEND     |
     127 |           |            |              |            |<*********|
     128 |           |            |              | (F12) MSRP |          |
     129 |           |            |              | SEND       |          |
     130 |           |            |              |<***********|          |
     131 |           | (F13) XMPP message        |            |          |
     132 |           |<..........................|            |          |
     133 |(F14) XMPP |            |              |            |          |
     134 | message   |            |              |            |          |
     135 |<..........|            |              |            |          |
     136 .           .            .              .            .          .
     137 .           .            .              .            .          .
     138 |           |            |              |            |(F15) SIP |
     139 |           |            |              |            | BYE      |
     140 |           |            |              |            |<*********|
     141 |           |            |              | (F16) SIP  |          |
     142 |           |            |              | BYE        |          |
     143 |           |            |              |<***********|          |
     144 |           |            |              | (F17) SIP  |          |
     145 |           |            |              | 200 OK     |          |
     146 |           |            |              |***********>|          |
     147 |           |            |              |            |(F18) SIP |
     148 |           |            |              |            | 200 OK   |
     149 |           |            |              |            |*********>|
    96150        ]]></artwork>
    97151      </figure>
     
    121175        ]]></artwork>
    122176      </figure>
    123       <t>Upon receiving such a message stanza, the XMPP server needs to determine the identity of the domainpart in the 'to' address, which it does by following the procedures explained in Section 5 of <xref target='I-D.ietf-stox-core'/>.  Here we assume that the XMPP server has determined the domain is serviced by an MSRP server, that it contains or has available to it an XMPP-to-SIP gateway or connection manager (which enables it to speak natively to MSRP servers), and that it hands off the message stanza to the XMPP-SIP gateway.</t>
     177      <t>Upon receiving such a message stanza, the XMPP server needs to determine the identity of the domainpart in the 'to' address, which it does by following the procedures explained in Section 5 of <xref target='I-D.ietf-stox-core'/>.  If the domain is a SIP domain, the XMPP server will hand off the message stanza to an XMPP-to-SIP gateway or connection manager that natively communicates with MSRP-aware SIP servers.</t>
    124178      <t>The XMPP-to-SIP gateway at the XMPP server would then initiate an MSRP session with Romeo on Juliet's behalf (since there is no reliable way for the gateway to determine if Romeo's client supports MSRP, it simply needs to guess).</t>
    125179      <figure>
    126         <preamble>Example 2: Gateway starts SIP session on behalf of Juliet (F2)</preamble>
     180        <preamble>Example 2: Gateway starts SIP session on behalf of Juliet (F3)</preamble>
    127181        <artwork><![CDATA[
    128182| INVITE sip:romeo@example.net SIP/2.0
     
    142196      <t>Here we assume that Romeo accepts the MSRP session request.</t>
    143197      <figure>
    144         <preamble>Example 3: Romeo accepts session request (F3)</preamble>
     198        <preamble>Example 3: Romeo accepts session request (F5)</preamble>
    145199        <artwork><![CDATA[
    146200| SIP/2.0 200 OK
     
    159213      <t>The XMPP-to-SIP gateway then acknowledges the session acceptance on behalf of Juliet.</t>
    160214      <figure>
    161         <preamble>Example 4: Gateway sends ACK to Romeo (F4)</preamble>
     215        <preamble>Example 4: Gateway sends ACK to Romeo (F7)</preamble>
    162216        <artwork><![CDATA[
    163217| ACK sip:juliet@example.com SIP/2.0
     
    170224      <t>The XMPP-to-SIP gateway then transforms the original XMPP chat message into MSRP.</t>
    171225      <figure>
    172         <preamble>Example 5: Gateway maps XMPP message to MSRP (F5)</preamble>
     226        <preamble>Example 5: Gateway maps XMPP message to MSRP (F8)</preamble>
    173227        <artwork><![CDATA[
    174228| MSRP a786hjs2 SEND
     
    185239      <t>Romeo can then send a reply using his MSRP client.</t>
    186240      <figure>
    187         <preamble>Example 6: Romeo sends reply (F6)</preamble>
     241        <preamble>Example 6: Romeo sends reply (F11)</preamble>
    188242        <artwork><![CDATA[
    189243| MSRP di2fs53v SEND
     
    201255      <t>The SIP-to-XMPP gateway would then transform that message into appropriate XMPP syntax for routing to the intended recipient.</t>
    202256      <figure>
    203         <preamble>Example 7: Gateway maps MSRP message to XMPP (F7)</preamble>
     257        <preamble>Example 7: Gateway maps MSRP message to XMPP (F13)</preamble>
    204258        <artwork><![CDATA[
    205259| <message from='romeo@example.net/orchard'
     
    214268      <t>When the MSRP user wishes to end the chat session, the user's MSRP client sends a SIP BYE.</t>
    215269      <figure>
    216         <preamble>Example 8: Romeo terminates chat session (F8)</preamble>
     270        <preamble>Example 8: Romeo terminates chat session (F15)</preamble>
    217271        <artwork><![CDATA[
    218272| BYE juliet@example.com sip: SIP/2.0
     
    226280      <t>The BYE is then acknowledged by the XMPP-to-SIP gateway.</t>
    227281      <figure>
    228         <preamble>Example 9: Gateway acknowledges termination (F9)</preamble>
     282        <preamble>Example 9: Gateway acknowledges termination (F17)</preamble>
    229283        <artwork><![CDATA[
    230284| SIP/2.0 200 OK
     
    242296      <figure>
    243297        <artwork><![CDATA[
    244 SIP User                     GW                     XMPP User
    245    |                         |                          |
    246    |(F1)(SIP) INVITE         |                          |
    247    |------------------------>|                          |
    248    |(F2)(SIP) 200 OK         |                          |
    249    |<------------------------|                          |
    250    |(F3)(SIP) ACK            |                          |
    251    |------------------------>|                          |
    252    |(F4)(MSRP) SEND          |                          |
    253    |------------------------>|                          |
    254    |                         |(F5)(XMPP) A chat message |
    255    |                         |------------------------->|
    256    |                         |(F6)(XMPP) A reply        |
    257    |                         |<-------------------------|
    258    |                         |                          |
    259    |(F7)(MSRP) SEND          |                          |
    260    |<------------------------|                          |
    261    |                         |                          |
    262    .                         .                          .
    263    .                         .                          .
    264    .                         .                          .
    265    |                         |                          |
    266    |(F8)(SIP) BYE            |                          |
    267    |------------------------>|                          |
    268    |(F9)(SIP) 200 OK         |                          |
    269    |<------------------------|                          |
    270    |                         |                          |
     298SIP        SIP      SIP-to-XMPP    XMPP-to-SIP      XMPP         XMPP
     299User      Server      Gateway        Gateway       Server        User
     300 |           |            |              |            |           |
     301 | (F19) SIP |            |              |            |           |
     302 | INVITE    |            |              |            |           |
     303 |**********>|            |              |            |           |
     304 |           | (F20) SIP  |              |            |           |
     305 |           | INVITE     |              |            |           |
     306 |           |***********>|              |            |           |
     307 |           | (F21) SIP  |              |            |           |
     308 |           | 200 OK     |              |            |           |
     309 |           |<***********|              |            |           |
     310 | (F22) SIP |            |              |            |           |
     311 | 200 OK    |            |              |            |           |
     312 |<**********|            |              |            |           |
     313 | (F23) SIP |            |              |            |           |
     314 | ACK       |            |              |            |           |
     315 |**********>|            |              |            |           |
     316 | (F24) MSRP|            |              |            |           |
     317 | SEND      |            |              |            |           |
     318 |**********>|            |              |            |           |
     319 |           | (F25) SIP  |              |            |           |
     320 |           | ACK        |              |            |           |
     321 |           |***********>|              |            |           |
     322 |           | (F26) MSRP |              |            |           |
     323 |           | SEND       |              |            |           |
     324 |           |***********>|              |            |           |
     325 |           |            | (F27) XMPP message        |           |
     326 |           |            |..........................>|           |
     327 |           |            |              |            | (F28) XMPP|
     328 |           |            |              |            | message   |
     329 |           |            |              |            |..........>|
     330 .           .            .              .            .           .
     331 .           .            .              .            .           .
     332 |           |            |              |            | (F29) XMPP|
     333 |           |            |              |            | message   |
     334 |           |            |              |            |<..........|
     335 |           |            |              | (F30) XMPP |           |
     336 |           |            |              | message    |           |
     337 |           |            |              |<...........|           |
     338 |           | (F31) MSRP SEND           |            |           |
     339 |           |<**************************|            |           |
     340 | (F32) MSRP|            |              |            |           |
     341 | SEND      |            |              |            |           |
     342 |<**********|            |              |            |           |
     343 .           .            .              .            .           .
     344 .           .            .              .            .           .
     345 |           |            |              |            |           |
     346 |           |            |              |            |           |
     347 | (F33) SIP |            |              |            |           |
     348 | BYE       |            |              |            |           |
     349 |**********>|            |              |            |           |
     350 |           | (F34) SIP  |              |            |           |
     351 |           | BYE        |              |            |           |
     352 |           |***********>|              |            |           |
     353 |           | (F35) SIP  |              |            |           |
     354 |           | 200 OK     |              |            |           |
     355 |           |<***********|              |            |           |
     356 | (F36) SIP |            |              |            |           |
     357 | 200 OK    |            |              |            |           |
     358 |<**********|            |              |            |           |
    271359        ]]></artwork>
    272360      </figure>
     
    285373      <t>The protocol flow begins when Romeo starts a chat session with Juliet.</t>
    286374      <figure>
    287         <preamble>Example 10: Romeo starts chat session (F1)</preamble>
     375        <preamble>Example 10: Romeo starts chat session (F19)</preamble>
    288376        <artwork><![CDATA[
    289377| INVITE sip:juliet@example.com SIP/2.0
     
    301389        ]]></artwork>
    302390      </figure>
    303       <t>Upon receiving the INVITE, the SIP (MSRP) server needs to determine the identity of the domain portion of the Request-URI or To header, which it does by following the procedures explained in Section 5 of <xref target='I-D.ietf-stox-core'/>.  Here we assume that the SIP server has determined that the domain is serviced by an XMPP server, that it contains or has available to it a SIP-to-XMPP gateway or connection manager (which enables it to speak natively to XMPP servers), and that it hands off the message to the gateway.</t>
    304       <figure>
    305         <preamble>Example 11: Gateway accepts session on Juliet's behalf (F2)</preamble>
     391      <t>Upon receiving the INVITE, the SIP (MSRP) server needs to determine the identity of the domain portion of the Request-URI or To header, which it does by following the procedures explained in Section 5 of <xref target='I-D.ietf-stox-core'/>.  If the domain is an XMPP domain, the SIP server will hand off the INVITE to an associated SIP-XMPP gateway or connection manager that natively communicates with XMPP servers.</t>
     392      <figure>
     393        <preamble>Example 11: Gateway accepts session on Juliet's behalf (F21)</preamble>
    306394          <artwork><![CDATA[
    307395| SIP/2.0 200 OK
     
    319407        </figure>
    320408        <figure>
    321           <preamble>Example 12: Romeo sends ACK (F3)</preamble>
     409          <preamble>Example 12: Romeo sends ACK (F23)</preamble>
    322410          <artwork><![CDATA[
    323411| ACK sip:juliet@example.com SIP/2.0
     
    329417        </figure>
    330418        <figure>
    331           <preamble>Example 13: Romeo sends message (F4)</preamble>
     419          <preamble>Example 13: Romeo sends message (F24)</preamble>
    332420          <artwork><![CDATA[
    333421| MSRP ad49kswow SEND
     
    344432        </figure>
    345433        <figure>
    346           <preamble>Example 14: SIP-XMPP gateway maps MSRP message to XMPP (F5)</preamble>
     434          <preamble>Example 14: SIP-XMPP gateway maps MSRP message to XMPP (F27)</preamble>
    347435          <artwork><![CDATA[
    348436| <message from='romeo@example.net'
     
    356444        </figure>
    357445        <figure>
    358           <preamble>Example 15: Juliet sends reply (F6)</preamble>
     446          <preamble>Example 15: Juliet sends reply (F29)</preamble>
    359447          <artwork><![CDATA[
    360448| <message from='juliet@example.com'
     
    368456        </figure>
    369457        <figure>
    370           <preamble>Example 16: Gateway maps XMPP message to MSRP (F7)</preamble>
     458          <preamble>Example 16: Gateway maps XMPP message to MSRP (F31)</preamble>
    371459          <artwork><![CDATA[
    372460| MSRP ms53b7z9 SEND
     
    383471        </figure>
    384472        <figure>
    385           <preamble>Example 17: Romeo terminates chat session (F8)</preamble>
     473          <preamble>Example 17: Romeo terminates chat session (F33)</preamble>
    386474          <artwork><![CDATA[
    387475| BYE juliet@example.com sip: SIP/2.0
     
    395483        </figure>
    396484        <figure>
    397           <preamble>Example 18: Gateway acknowledges termination of session on behalf of Juliet (F9)</preamble>
     485          <preamble>Example 18: Gateway acknowledges termination of session on behalf of Juliet (F35)</preamble>
    398486          <artwork><![CDATA[
    399487| SIP/2.0 200 OK
     
    554642    <organization />
    555643</author>
    556 <date month='December' day='19' year='2013' />
     644<date month='February' day='11' year='2014' />
    557645<abstract><t>As a foundation for the definition of application-specific, bi-directional protocol mappings between the Session Initiation Protocol (SIP) and the Extensible Messaging and Presence Protocol (XMPP), this document specifies the architectural assumptions underlying such mappings as well as the mapping of addresses and error conditions.</t></abstract>
    558646</front>
    559 <seriesInfo name='Internet-Draft' value='draft-ietf-stox-core-09' />
     647<seriesInfo name='Internet-Draft' value='draft-ietf-stox-core-11' />
    560648<format type='TXT'
    561         target='http://www.ietf.org/internet-drafts/draft-ietf-stox-core-09.txt' />
     649        target='http://www.ietf.org/internet-drafts/draft-ietf-stox-core-11.txt' />
    562650</reference>
    563651
     
    752840    <organization />
    753841</author>
    754 <date month='December' day='10' year='2013' />
     842<date month='March' day='11' year='2014' />
    755843<abstract><t>This document defines a bidirectional protocol mapping for the exchange of single instant messages between the Session Initiation Protocol (SIP) and the Extensible Messaging and Presence Protocol (XMPP).</t></abstract>
    756844</front>
    757 <seriesInfo name='Internet-Draft' value='draft-ietf-stox-im-06' />
     845<seriesInfo name='Internet-Draft' value='draft-ietf-stox-im-08' />
    758846<format type='TXT'
    759         target='http://www.ietf.org/internet-drafts/draft-ietf-stox-im-06.txt' />
     847        target='http://www.ietf.org/internet-drafts/draft-ietf-stox-im-08.txt' />
    760848</reference>
    761849
     
    804892
    805893    <section title="Acknowledgements" anchor="acks">
    806       <t>Special thanks to Eddy Gavita and Nazin Hossain for their co-authorship of an early version of this document.</t>
    807       <t>Thanks to Mary Barnes, Adrian Georgescu, Philipp Hancke, Saul Ibarra Corretge, and Tory Patnoe for their feedback.</t>
    808       <t>The authors gratefully acknowledge the assistance of Markus Isomaki and Yana Stamcheva as the working group chairs and Gonzalo Camarillo as the sponsoring Area Director.</t>
     894      <t>Special thanks to Eddy Gavita and Nazin Hossain for co-authoring an early version of this document.</t>
     895      <t>Thanks to Mary Barnes, Dave Crocker, Adrian Georgescu, Philipp Hancke, Saul Ibarra Corretge, and Tory Patnoe for their feedback.</t>
     896      <t>The authors gratefully acknowledge the assistance of Markus Isomaki and Yana Stamcheva as the working group chairs and Gonzalo Camarillo and Alissa Cooper as the sponsoring Area Directors.</t>
     897      <t>Peter Saint-Andre wishes to acknowledge Cisco Systems, Inc., for employing him during his work on earlier versions of this document.</t>
    809898    </section>
    810899
Note: See TracChangeset for help on using the changeset viewer.