rfc-3420

Internet Media Type message/sipfrag

R. Sparks
date2002-11 streamIETF arearai wgsip statusPROPOSED STANDARD pages8 canonicalhttps://www.rfc-editor.org/rfc/rfc3420 doi10.17487/RFC3420 errataview
This document registers the message/sipfrag Multipurpose Internet Mail Extensions (MIME) media type. This type is similar to message/sip, but allows certain subsets of well formed Session Initiation Protocol (SIP) messages to be represented instead of requiring a complete SIP message. In addition to end-to-end security uses, message/sipfrag is used with the REFER method to convey information about the status of a referenced request. [STANDARDS-TRACK]

Extracted elements (12)

design-rationale §4

Protecting only a subset of a SIP message (rather than the whole message) avoids the complexity and potential errors of handling header fields that legitimately change in transit (e.g., Via), and allows cryptographic assertions to be constructed before the full hop-by-hop header is available.

sip, realtime, security, crypto

design-rationale §4

The message/sipfrag type was created because including an entire SIP response as message/sip in a REFER notification has significant negative security implications. message/sipfrag allows the sender to select what information is exposed and to elide mandatory SIP fields not relevant to the notification, reducing message size.

sip, realtime, security

interoperability-note §1

message/sipfrag does NOT provide a mechanism to segment a SIP message into multiple pieces for separate transport and later reassembly. The message/partial type defined in RFC 2046 provides a solution for that separate problem.

sip, realtime

interoperability-note §5

SIP messages must be treated as binary for encoding purposes (8-bit header optionally followed by binary MIME data). Under normal circumstances SIP messages are transported over binary-capable transports, so no special encodings are needed.

sip, realtime

normative-requirement §6 MUST

Any SIP extension that uses message/sipfrag MUST describe the replay and cut-and-paste threats unique to its particular usage, since a captured sipfrag part could be replayed or combined with other message parts in harmful ways.

sip, security, realtime

normative-requirement §2 MUST

If the message/sipfrag part contains a body, it MUST also contain the appropriate header fields describing that body (such as Content-Length) as required by Section 7.4 of RFC 3261, and the null-line separating the header from the body.

sip, realtime

protocol-element §2

A message/sipfrag part is a subset of a valid SIP message, obtained by starting with a well-formed SIP message and optionally deleting the entire start line, one or more entire header fields, and/or the body. All remaining elements must conform to SIP grammar.

sip, realtime

protocol-element §5

The optional 'version' parameter of message/sipfrag carries the SIP-Version number of the enclosed message (e.g., '2.0'). If not present, the version defaults to '2.0'.

sip, realtime

registry §5

This document registers the message/sipfrag MIME media type. Required parameters: none. Optional parameters: version (SIP-Version number, defaulting to '2.0'). Encoding: binary (8-bit header optionally followed by binary MIME data object).

sip, registry, realtime

security-consideration §6

A message/sipfrag part may contain sensitive information or information used to affect processing decisions at the receiver. Protection can be improved using S/MIME mechanisms described in Section 23 of RFC 3261, with the limitations described in Section 26 of that document.

sip, security, realtime

security-consideration §6

Applications using message/sipfrag to represent a subset of SIP header fields must consider replay and cut-and-paste threats, and must include sufficient information in the sipfrag part to mitigate those risks. For example, an identity assertion use case must bind the assertion to the specific request.

sip, security, realtime

wire-format §2

The ABNF grammar for a sipfrag part is: sipfrag = [ start-line ] *message-header [ CRLF [ message-body ] ]. The start-line, message-header, and message-body elements are defined by the SIP grammar in RFC 3261.

sip, realtime