RFC 
Network Working Group  C. Jennings 
INTERNET DRAFT  Cisco Systems 
<draft-jennings-sip-mime-01>   February 2004 
Category: Standards Track   
Expires: August 2004   

Recommendations for using MIME body parts in SIP
draft-jennings-sip-mime-01

Status of this Memo

This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC2026. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet-Drafts.

Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress".

The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt.

The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html.

This Internet-Draft will expire in August 2004.

Copyright Notice

Copyright (C) The Internet Society (2004). All Rights Reserved.

Abstract

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.

This work is being discussed on the sip@ietf.org mailing list.


1  Conventions

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 RFC-2119 [2].

This document adopts the terminology defined in RFC 2045 [1], particularly for the terms "transport encoding" and "binary".


2  Introduction

The Session Initiation Protocol (SIP) [3] protocol makes use of MIME [1] 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.


3  Discussion

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.

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 SIP instant messaging [5] to these other protocols do not have this problem. Gateways to other protocols (for example SMTP [4]) need to modify the content of these messages anyway, regardless of the MIME encoding which is used on the original message.


4  Recommendations

Devices MUST use a content transfer encoding of "binary" for MIME body parts in SIP messages they send.


5  Security Considerations

This document limits options that exist in RFC 3261 so it does not introduce any additional security concerns beyond what is in RFC 3261.


Normative References

[1] Freed, N. and Borenstein, N.S., "Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies", RFC 2045, November 1996.
[2] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.
[3] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A., Peterson, J., Sparks, R., Handley, M. and Schooler, E., "SIP: Session Initiation Protocol", RFC 3261, June 2002.

Informative References

[4] Klensin, J., "Simple Mail Transfer Protocol", RFC 2821, April 2001.
[5] Campbell, B., Rosenberg, J., Schulzrinne, H., Huitema, C. and Gurle, D., "Session Initiation Protocol (SIP) Extension for Instant Messaging", RFC 3428, December 2002.

Author's Address

  Cullen Jennings
  Cisco Systems
  170 West Tasman Drive
MS: SJC-21/2
  San Jose, CA 95134
  USA
Phone:  +1 408 902-3341
EMail:  fluffy@cisco.com
 

Full Copyright Statement

Copyright (C) The Internet Society (2004). All Rights Reserved.

This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English.

The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns.

This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

Acknowledgement

Funding for the RFC editor function is currently provided by the Internet Society.