<?xml version="1.0"?><!DOCTYPE rfc SYSTEM "rfc2629.dtd"><?rfc toc="no" ?><?rfc compact="yes" ?><?rfc sortrefs="no" ?><rfc category="std" ipr="full2026" docName="draft-jennings-sip-mime-01">  <front>    <title abbrev="MIME in SIP">      Recommendations for using MIME body parts in SIP    </title>    <author initials="C." surname="Jennings" fullname="Cullen Jennings">      <organization>Cisco Systems</organization>      <address>	<postal>	  <street>170 West Tasman Drive</street>	  <street>MS: SJC-21/2</street>	  <city>San Jose</city>	  <region>CA</region>	  <code>95134</code>	  <country>USA</country>	</postal>	<phone>+1 408 902-3341</phone>	<email>fluffy@cisco.com</email>      </address>    </author>            <date month="February" day="14" year="2004"/>    <area>Transport</area>    <workgroup>SIP WG</workgroup>    <keyword>I-D</keyword>    <keyword>Internet-Draft</keyword>    <keyword>Mime</keyword>    <abstract>      <t>        This document describes conventions for using MIME body parts in SIP        messages. It recommends a transport encoding of "binary" since SIP messages        are always passed over an 8bit clean transport.      </t>      <t>        This work is being discussed on the sip@ietf.org mailing list.      </t>    </abstract>  </front>  <middle>        <section title="Conventions">			      <t>        The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",        "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this        document are to be interpreted as described in        <xref target="RFC2119">RFC-2119</xref>.</t>      <t>        This document adopts the terminology defined in <xref          target="RFC2045">RFC 2045</xref>, particularly for the terms          "transport encoding" and "binary".      </t>          </section>        <section title="Introduction">      <t>        The Session Initiation Protocol <xref target="RFC3261">(SIP)</xref>        protocol makes use of <xref target="RFC2045">MIME</xref> body        parts. MIME provides several alternatives that were required given the        characteristics of existing mail transport protocols and mail gateways        that MIME operates through. SIP is always transported over an 8bit safe        transport and thus does not need all the options available. This draft        clarifies what should be used in the SIP context. </t>    </section>        <section title="Discussion">      <t>        MIME offers several transport encoding options and any of them will work        in SIP. However, having several options where one is needed does not        contribute to interoperability. Binary encoding is faster to encode and        decode, requires less code, and results in smaller messages than the        other options. There has been a practice in the published SIP examples        of using a base64 encoding due to the ease of displaying the examples in        publication. Some SIP implementers have taken this to mean that this is        the preferred encoding and as a result only work with base64. Given the        need to improve interoperability, it is reasonable to suggest that SIP        implementations send one type of encoding.      </t>      <t>        There are situations in which the body from a SIP message might be        passed to another non SIP transport that might expose additional        limitations.  Currently the only example of this is the transfer of        bodies from instant messaging messages to other instant messaging        systems.  Since other instant messaging protocols are also 8bit clean,        gateways from <xref target="RFC3428">SIP instant messaging</xref> to        these other protocols do not have this problem.  Gateways to other        protocols (for example <xref target="RFC2821">SMTP</xref>) need to        modify the content of these messages anyway, regardless of the MIME        encoding which is used on the original message.      </t>    </section>    <section title="Recommendations">      <t>        Devices MUST use a content transfer encoding of "binary" for MIME body	parts in SIP messages they send.      </t>     </section>    <section title="Security Considerations">      <t>        This document limits options that exist in RFC 3261 so it does not        introduce any additional security concerns beyond what is in RFC        3261.       </t>    </section>    <!--	<section title="Open Issues">	  <t>             Should we bother to do this or just write it up as a            bug on RFC 3261? </t>	  	</section>        -->    <!--	<section title="Acknowledgements">	  <t>  </t>	</section>        -->  </middle>  <back>    <references title="Normative References">      <reference anchor='RFC2045'>        <front>          <title abbrev='Internet Message Bodies'>Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies</title>          <author initials='N.' surname='Freed' fullname='Ned Freed'>            <organization>Innosoft International, Inc.</organization>            <address>              <postal>                <street>1050 East Garvey Avenue South</street>                <city>West Covina</city>                <region>CA</region>                <code>91790</code>                <country>US</country></postal>              <phone>+1 818 919 3600</phone>              <facsimile>+1 818 919 3614</facsimile>              <email>ned@innosoft.com</email></address></author>          <author initials='N.S.' surname='Borenstein' fullname='Nathaniel S. Borenstein'>            <organization>First Virtual Holdings</organization>            <address>              <postal>                <street>25 Washington Avenue</street>                <city>Morristown</city>                <region>NJ</region>                <code>07960</code>                <country>US</country></postal>              <phone>+1 201 540 8967</phone>              <facsimile>+1 201 993 3032</facsimile>              <email>nsb@nsb.fv.com</email></address></author>          <date month='November' year='1996' />          <abstract>            <t>STD 11, RFC 822, defines a message representation protocol specifying considerable detail about US-ASCII message headers, and leaves the message content, or message body, as flat US-ASCII text.  This set of documents, collectively called the Multipurpose Internet Mail Extensions, or MIME, redefines the format of messages to allow for</t>            <t>(1)   textual message bodies in character sets other than US-ASCII,</t>            <t>(2)   an extensible set of different formats for non-textual message bodies,</t>            <t>(3)   multi-part message bodies, and</t>            <t>(4)   textual header information in character sets other than US-ASCII.</t>            <t>These documents are based on earlier work documented in RFC 934, STD 11, and RFC 1049, but extends and revises them.  Because RFC 822 said so little about message bodies, these documents are largely orthogonal to (rather than a revision of) RFC 822.</t>            <t>This initial document specifies the various headers used to describe the structure of MIME messages. The second document, RFC 2046, defines the general structure of the MIME media typing system and defines an initial set of media types. The third document, RFC 2047, describes extensions to RFC 822 to allow non-US-ASCII text data in Internet mail header fields. The fourth document, RFC 2048, specifies various IANA registration procedures for MIME-related facilities. The fifth and final document, RFC 2049, describes MIME conformance              criteria as well as providing some illustrative examples of MIME message formats, acknowledgements, and the bibliography.</t>            <t>These documents are revisions of RFCs 1521, 1522, and 1590, which themselves were revisions of RFCs 1341 and 1342.  An appendix in RFC 2049 describes differences and changes from previous versions.</t></abstract></front>        <seriesInfo name='RFC' value='2045' />        <format type='TXT' octets='72932' target='ftp://ftp.isi.edu/in-notes/rfc2045.txt' />      </reference>      <reference anchor='RFC2119'>        <front>          <title abbrev='RFC Key Words'>Key words for use in RFCs to Indicate Requirement Levels</title>          <author initials='S.' surname='Bradner' fullname='Scott Bradner'>            <organization>Harvard University</organization>            <address>              <postal>                <street>1350 Mass. Ave.</street>                <street>Cambridge</street>                <street>MA 02138</street></postal>              <phone>- +1 617 495 3864</phone>              <email>sob@harvard.edu</email></address></author>          <date month='March' year='1997' />          <area>General</area>          <keyword>keyword</keyword>          <abstract>            <t>              In many standards track documents several words are used to signify              the requirements in the specification.  These words are often              capitalized.  This document defines these words as they should be              interpreted in IETF documents.  Authors who follow these guidelines              should incorporate this phrase near the beginning of their document:              <list>                <t>                  The key words &quot;MUST&quot;, &quot;MUST NOT&quot;, &quot;REQUIRED&quot;, &quot;SHALL&quot;, &quot;SHALL                  NOT&quot;, &quot;SHOULD&quot;, &quot;SHOULD NOT&quot;, &quot;RECOMMENDED&quot;,  &quot;MAY&quot;, and                  &quot;OPTIONAL&quot; in this document are to be interpreted as described in                  RFC 2119.            </t></list></t>            <t>              Note that the force of these words is modified by the requirement              level of the document in which they are used.        </t></abstract></front>        <seriesInfo name='BCP' value='14' />        <seriesInfo name='RFC' value='2119' />        <format type='TXT' octets='4723' target='ftp://ftp.isi.edu/in-notes/rfc2119.txt' />        <format type='HTML' octets='15905' target='http://xml.resource.org/public/rfc/html/rfc2119.html' />        <format type='XML' octets='5661' target='http://xml.resource.org/public/rfc/xml/rfc2119.xml' />      </reference>            <reference anchor='RFC3261'>        <front>          <title>SIP: Session Initiation Protocol</title>          <author initials='J.' surname='Rosenberg' fullname='J. Rosenberg'>            <organization /></author>          <author initials='H.' surname='Schulzrinne' fullname='H. Schulzrinne'>            <organization /></author>          <author initials='G.' surname='Camarillo' fullname='G. Camarillo'>            <organization /></author>          <author initials='A.' surname='Johnston' fullname='A. Johnston'>            <organization /></author>          <author initials='J.' surname='Peterson' fullname='J. Peterson'>            <organization /></author>          <author initials='R.' surname='Sparks' fullname='R. Sparks'>            <organization /></author>          <author initials='M.' surname='Handley' fullname='M. Handley'>            <organization /></author>          <author initials='E.' surname='Schooler' fullname='E. Schooler'>            <organization /></author>          <date month='June' year='2002' /></front>        <seriesInfo name='RFC' value='3261' />        <format type='TXT' octets='647976' target='ftp://ftp.isi.edu/in-notes/rfc3261.txt' />      </reference>    </references>    <references title='Informative References'>      <reference anchor='RFC2821'>        <front>          <title>Simple Mail Transfer Protocol</title>          <author initials='J.' surname='Klensin' fullname='J. Klensin'>            <organization /></author>          <date month='April' year='2001' /></front>        <seriesInfo name='RFC' value='2821' />        <format type='TXT' octets='192504' target='ftp://ftp.isi.edu/in-notes/rfc2821.txt' />      </reference>      <reference anchor='RFC3428'>        <front>          <title>Session Initiation Protocol (SIP) Extension for Instant Messaging</title>          <author initials='B.' surname='Campbell' fullname='B. Campbell'>            <organization /></author>          <author initials='J.' surname='Rosenberg' fullname='J. Rosenberg'>            <organization /></author>          <author initials='H.' surname='Schulzrinne' fullname='H. Schulzrinne'>            <organization /></author>          <author initials='C.' surname='Huitema' fullname='C. Huitema'>            <organization /></author>          <author initials='D.' surname='Gurle' fullname='D. Gurle'>            <organization /></author>          <date month='December' year='2002' /></front>        <seriesInfo name='RFC' value='3428' />        <format type='TXT' octets='41475' target='ftp://ftp.isi.edu/in-notes/rfc3428.txt' />      </reference>    </references>      </back></rfc>
