<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body><blockquote><p><strong>Internet Media Type message/sipfrag</strong><ul><li>Network Working Group                                          </li><li>Request for Comments: 3420                                   </li><li>Category: Standards Track                                  </li><li>R. Sparks</li><li>dynamicsoft</li><li>November 2002</li></ul></p></blockquote><section><h1>Status of this Memo</h1><blockquote><p>This document specifies an Internet standards track protocol for the
Internet community, and requests discussion and suggestions for
improvements.  Please refer to the current edition of the &quot;Internet
Official Protocol Standards&quot; (STD 1) for the standardization state
and status of this protocol.  Distribution of this memo is unlimited.</p></blockquote></section><section><h1>Copyright Notice</h1><blockquote><p>Copyright (C) The Internet Society (2002).  All Rights Reserved.</p></blockquote></section><section><h1>Abstract</h1><blockquote><p>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.</p></blockquote><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8]</anchor-end> この文書は、 message/sipfrag 多目的 Internet メイル拡張 (MIME)
媒体型を登録します。この型は message/sip と似ていますが、完全な
Session 初期化プロトコル (SIP) メッセージであることを要求する代わりに、整形式
SIP メッセージのある部分集合で表現することを認めています。
末端対末端の安全性の用途に用いるのに加えて、 message/sipfrag
は REFER 方式で被参照要求の状態についての情報を伝えるのに使います。</p></section><section><h1>Table of Contents</h1><pre>   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  2
   2.  Definition: message/sipfrag  . . . . . . . . . . . . . . . . .  2
   3.  Examples . . . . . . . . . . . . . . . . . . . . . . . . . . .  3
       3.1 Valid message/sipfrag parts  . . . . . . . . . . . . . . .  3
       3.2 Invalid message/sipfrag parts  . . . . . . . . . . . . . .  4
   4.  Discussion . . . . . . . . . . . . . . . . . . . . . . . . . .  5
   5.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . .  6
   6.  Security Considerations  . . . . . . . . . . . . . . . . . . .  6
       Normative References . . . . . . . . . . . . . . . . . . . . .  7
       Non-Normative References . . . . . . . . . . . . . . . . . . .  7
       Author's Address . . . . . . . . . . . . . . . . . . . . . . .  7
       Full Copyright Statement . . . . . . . . . . . . . . . . . . .  8</pre></section><section><h1>1. Introduction</h1><blockquote><p>The message/sip MIME media type defined in [1] carries an entire well
formed SIP message.  Section 23.4 of [1] describes the use of
message/sip in concert with S/MIME  to enhance end-to-end security.
The concepts in that section can be extended to allow SIP entities to
make assertions about a subset of a SIP message (for example, as
described in [6]).  The message/sipfrag type defined in this document
is used to represent this subset.</p></blockquote><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[9]</anchor-end> <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;1</anchor-internal> で定義された <code>message/sip</code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">MIME</anchor>
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">媒体型</anchor>は、完全に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">整形式</anchor>の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SIP</anchor>
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">メッセージ</anchor>を伝えます。 <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;1</anchor-internal> の23.4章は <code>message/sip</code>
を <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">S/MIME</anchor> 
と一緒に使って末端対末端安全性を向上させる方法を説明しています。
この章の概念は、 SIP メッセージの部分集合について SIP 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">実体</anchor>が断言することを認めるように拡張出来ます
(例えば <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="6" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;6</anchor-internal> で説明されているように)。この文書で定義する
<code>message/sipfrag</code> 型はこの部分集合を表現するのに使います。</p><blockquote><p>A subset of a SIP message is also used by the REFER method defined 
in [5] to carry the status of referenced requests.  Allowing only a
portion of a SIP message to be carried allows information that could
compromise privacy and confidentiality to be protected by removal.</p></blockquote><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="10" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[10]</anchor-end> SIP メッセージの部分集合は <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;5</anchor-internal> で定義された <code>REFER</code> 
方式でも被参照要求の状態を伝えるのに使います。 SIP
メッセージの一部分のみを伝えることを可能にすることで、
privacy や秘密性を侵害し得る情報を削除して保護出来ます。</p><blockquote><p>This document does NOT provide a mechanism to segment a SIP message
into multiple pieces for separate transport and later reassemble.
The message/partial type defined in [2] provides a solution for that
problem.</p></blockquote><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="11" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[11]</anchor-end> この文書は SIP 
メッセージを複数の破片に分割して分割配送して後で際結合する仕組みは提供<strong>しません</strong>。
<anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;2</anchor-internal> で定義された <code>message/partial</code> 
型がこの問題の解法を提供しています。</p><blockquote><p>The key words &quot;MUST&quot;, &quot;MUST NOT&quot;, REQUIRED&quot;, &quot;SHALL&quot;, &quot;SHALL NOT&quot;,
&quot;SHOULD&quot;, &quot;SHOULD NOT&quot;, &quot;RECOMMEND&quot;, &quot;MAY&quot;, and &quot;OPTIONAL&quot; in this
document are to be interpreted as described in [4].
<anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="12" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[12]</anchor-end></p></blockquote></section><section><h1>2. Definition: message/sipfrag</h1><blockquote><p>A valid message/sipfrag part is one that could be obtained by
starting with some valid SIP message and deleting any of the
following:</p></blockquote><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="13" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[13]</anchor-end> 妥当な <code>message/sipfrag</code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">部分</anchor>は妥当な SIP
メッセージを用意して、次のいずれかを削除することで得られるものです。</p><ul><li>the entire start line</li><li>one or more entire header fields</li><li>the body</li></ul><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="14" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[14]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">開始行</anchor>全体</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="15" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[15]</anchor-end> 1つ以上の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">実体頭欄</anchor></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="16" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[16]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">本体</anchor></li></ul><blockquote><p>The following Augmented Backus-Naur Form (ABNF) [3] rule describes a
message/sipfrag part using the SIP grammar elements defined in [1].
The expansion of any element is subject to the restrictions on valid
SIP messages defined there.</p></blockquote><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="17" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[17]</anchor-end> 次に示す増補 Backus-Naur 法 (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ABNF</anchor>) 規則は <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;1</anchor-internal>
で定義された SIP 文法要素を使って <code>message/sipfrag</code>
部分を説明したものです。
各要素の拡張はそこで定義された妥当な SIP メッセージの制限の対象になります。</p><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="18" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[18]</anchor-end> sipfrag = [ start-line ] *message-header [ CRLF [ message-body ] ]</li></ul><blockquote><p>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 [1] and the null-line
separating the header from the body.</p></blockquote><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="19" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[19]</anchor-end> <code>message/sipfrag</code> 部分が本体を含む場合、本体を説明した適切な頭欄
(例えば <code>Content-Length</code>) を <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;1</anchor-internal>
の7.4章が要求しているように含め<strong>なければなりません</strong>し、頭と本体を区切る空行を含め<strong>なければなりません</strong>。</p></section><section><h1>3. Examples</h1><section><h1>3.1 Valid message/sipfrag parts</h1><blockquote><p>This section uses a vertical bar and a space to the left of each
example to illustrate the example's extent.  Each line of the
message/sipfrag element begins with the first character after the &quot;|&quot;
pair.</p></blockquote><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="20" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[20]</anchor-end> この章では例の範囲を説明するために垂直線と<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">間隔</anchor>を各例の左に入れています。
<code>message/sipfrag</code> 要素の各行は「|」組の後の最初の文字から始まります。</p><blockquote><p>The first two examples show that a message/sipfrag part can consist
of only a start line.</p></blockquote><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="21" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[21]</anchor-end> 最初の2つの例は <code>message/sipfrag</code> 
部分が開始行だけで構成できることを示します。</p><pre>         | INVITE sip:alice@atlanta.com SIP/2.0
&gt;      or
         | SIP/2.0 603 Declined</pre><blockquote><p>The next two show that Subsets of a full SIP message may be
represented.</p></blockquote><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="22" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[22]</anchor-end> 次の2つの例は完全な SIP メッセージの部分集合を表現できることを示します。</p><pre>      | REGISTER sip:atlanta.com SIP/2.0
      | To: sip:alice@atlanta.com
      | Contact: <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="sip:alicepc@atlanta.com">sip:alicepc@atlanta.com</anchor-external>;q=0.9,
      |          <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="sip:alicemobile@atlanta.com">sip:alicemobile@atlanta.com</anchor-external>;q=0.1</pre><pre>      | SIP/2.0 400 Bad Request
      | Warning: 399 atlanta.com Your Event header field was malformed</pre><blockquote><p>A message/sipfrag part does not have to contain a start line.  This
example shows a part that might be signed to make assertions about a
particular message.  (See [6].)</p></blockquote><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="23" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[23]</anchor-end> <code>message/sipfrag</code> 部分は開始行を持つ必要がありません。
この例は特定メッセージについて断言するため署名されている部分を示します。</p><pre>         | From: Alice <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="sip:alice@atlanta.com">sip:alice@atlanta.com</anchor-external>
         | To: Bob <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="sip:bob@biloxi.com">sip:bob@biloxi.com</anchor-external>
         | Contact: <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="sip:alice@pc33.atlanta.com">sip:alice@pc33.atlanta.com</anchor-external>
         | Date: Thu, 21 Feb 2002 13:02:03 GMT
         | Call-ID: a84b4c76e66710
         | Cseq: 314159 INVITE</pre><blockquote><p>The next two examples show message/sipfrag parts that contain bodies.</p></blockquote><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="24" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[24]</anchor-end> 次の2つの例は <code>message/sipfrag</code> 
が本体を含められることを示します。</p><pre>         | SIP/2.0 200 OK
         | Content-Type: application/sdp
         | Content-Length: 247
         |
         | v=0
         | o=alice 2890844526 2890844526 IN IP4 host.anywhere.com
         | s=
         | c=IN IP4 host.anywhere.com
         | t=0 0
         | m=audio 49170 RTP/AVP 0
         | a=rtpmap:0 PCMU/8000
         | m=video 51372 RTP/AVP 31
         | a=rtpmap:31 H261/90000
         | m=video 53000 RTP/AVP 32
         | a=rtpmap:32 MPV/90000</pre><pre>         | Content-Type: text/plain
         | Content-Length: 11
         |
         | Hi There!</pre></section></section><section><h1>3.2 Invalid message/sipfrag parts</h1><blockquote><p>This section uses the character &quot;X&quot; followed by a space to the left
of each example to illustrate the example's extent.  Each line of the
invalid message/sipfrag element begins with the first character after
the &quot;X &quot; pair.</p></blockquote><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="25" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[25]</anchor-end> この章では例の範囲を説明するために文字「X」と<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">間隔</anchor>を各例の左に入れています。
不正な <code>message/sipfrag</code> 要素の各行は「X」組の後の最初の文字から始まります。</p><blockquote><p>The start line, if present, must be complete and valid per [1].</p></blockquote><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="26" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[26]</anchor-end> 開始行がある場合、完全で <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;1</anchor-internal> に照らして妥当でないといけません。</p><pre>         X INVITE</pre><pre>         X INVITE sip:alice@atlanta.com SIP/1.09</pre><pre>         X SIP/2.0</pre><pre>         X 404 Not Found</pre><blockquote><p>All header fields must be valid per [1].</p></blockquote><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="27" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[27]</anchor-end> 全ての頭欄は <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;1</anchor-internal> に照らして妥当でなければなりません。</p><pre>         X INVITE sip:alice@atlanta.com SIP/2.0
         X Via: SIP/2.0/UDP ;branch=z9hG4bK29342a
         X To: &lt;&gt;;tag=39234</pre><pre>         X To: sip:alice@atlanta.com
         X From: sip:bob@biloxi.com;tag=1992312</pre><pre>         X Call-ID: this is invalid</pre><pre>         X INVITE sip:alice@atlanta.com SIP/2.0
         X From: <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="sip:bob@biloxi.com">sip:bob@biloxi.com</anchor-external>;tag=z9hG4bK2912;tag=z9hG4bK99234</pre><blockquote><p>If a body is present in the message/sipfrag part, the headers
required by Section 7.4 of [1] and the null-line separating the
header from the body.</p></blockquote><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="28" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[28]</anchor-end> 本体が <code>message/sipfrag</code> 部分中にある場合、頭は <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;1</anchor-internal>
の7.4章により必須とされており、頭と本体を分ける空行も必要です。</p><pre>         X MESSAGE sip:alice@atlanta.com SIP/2.0
         X Hi There!</pre></section><section><h1>4. Discussion</h1><blockquote><p>Section 23 of [1], and memos [5] and [6] provide motivation and
detailed examples of carrying all or part of a SIP message in a MIME
part.  Briefly, using this representation along with S/MIME enables
protecting and making assertions about portions of a SIP message
header.  It also enables applications to describe the messaging
involved in a SIP transaction using portions of the messages
themselves.</p></blockquote><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="29" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[29]</anchor-end>  <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;1</anchor-internal> の 23章とメモ <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;5</anchor-internal> 及び <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="6" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;6</anchor-internal> は MIME 部分で SIP
メッセージの全部または一部を伝える動機及び詳細な例を提供しています。
簡単に言えば、この表現を S/MIME と共に使うことで SIP 
メッセージ頭の一部分について保護及び断言出来ます。
またこれは応用がそのメッセージ自体を一部に使う SIP
通信中のメッセージを説明することを可能にします。</p><blockquote><p>The SIP REFER method [5], for instance, uses this to report the
result of a SIP request to an authorized third party.  However, as
that document details, it is rarely desirable to include the entire
SIP response message in this report as a message/sip MIME part.
Doing so has significant negative security implications.  The
message/sipfrag type, on the other hand, allows a sender to select
what information is exposed.  Further, it allows information required
in a full SIP message that is not pertinent to a description of that
message to be elided, reducing message size.  For instance, this
allows a SIP element responding to a REFER to say &quot;I got a 400 Bad
Request with this Warning header field&quot; without having to include the
Via, To, From, Call-ID, CSeq and Content-Length header fields
mandatory in a full SIP message.</p></blockquote><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="30" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[30]</anchor-end> 例えば SIP <code>REFERER</code> 方式は認証された第三者への SIP
要求の結果を報告するためにこれを使います。
しかし、この文書が説明するように、この報告には <code>message/sip</code>
MIME 部分として SIP 応答全体が含まれるのが望ましいことは稀です。
そうすることは重大な安全上の悪い含みを持ちます。他方で
<code>message/sipfrag</code> 型は送信者にどの情報が開示されるかを選択することが出来ます。
更に、完全な SIP 
メッセージでは必要とされる情報でそのメッセージの説明には適当でないものをメッセージ長の削減のために省略できます。
例えば、 <code>REFER</code> に対応する SIP 要素で「私は 400 悪しき要求をこの
<code>Warning</code> 頭欄と共に受け取りました」と言うことが、完全な SIP
メッセージで必須である Via, To, From, Call-ID, CSeq, Content-Length
各頭欄を含めること無しに出来ます。</p><blockquote><p>The message protection mechanism discussed in Section 23 of [1]
assumes an entire SIP message is being protected.  However, there are
several header fields in a full SIP message that necessarily change
during transport.  [1] discusses how to inspect and ignore those
changes.  This idea is refined in [6] to allow protection of a subset
of the entire message, avoiding the extra work and potential errors
involved in ignoring parts of the message that may legitimately
change in transit.  That document also describes constructing
cryptographic assertions about pertinent subsets of a SIP message
header before the full header (including hop-by-hop transport
specific information) may be available.</p></blockquote><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="31" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[31]</anchor-end> <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;1</anchor-internal> の23章で議論されているメッセージ保護の仕組みは SIP
メッセージ全体が保護されることを想定しています。しかし転送の過程で変更される必要がある頭欄が完全な
SIP メッセージには幾つかあります。 <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;1</anchor-internal> 
はそうした変更をどう調べてどう無視するかを議論しています。
この考え方は <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="6" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;6</anchor-internal> で洗練されていて、メッセージ全体の一部の保護を可能にしています。
これによって転送において正当に変更され得るメッセージの部分を無視することに要する余計な作業とエラーの可能性を避けることが出来ます。
この文書は完全な頭 (hop-by-hop 転送特有情報を含む。)
が利用可能になる以前に SIP
メッセージ頭の適切な部分について暗号断言を構築することも説明しています。</p></section><section><h1>5. IANA Considerations</h1><blockquote><p>The message/sipfrag media type is defined by the following
information:</p></blockquote><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="32" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[32]</anchor-end> <code>message/sipfrag</code> 媒体型は次の情報のように定義します。</p><pre>   Media type name: message
   Media subtype name: sipfrag
   Required parameters: none
   Optional parameters: version
     Version: The SIP-Version number of the enclosed message (e.g.,
     &quot;2.0&quot;). If not present, the version defaults to &quot;2.0&quot;.
   Encoding scheme: SIP messages consist of an 8-bit header optionally
     followed by a binary MIME data object. As such, SIP messages must
     be treated as binary. Under normal circumstances SIP messages are
     transported over binary-capable transports, no special encodings
     are needed.
   Security considerations: see below
<anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="33" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[33]</anchor-end>
:媒体型名: <code>message</code>
:媒体亜型名: <code>sipfrag</code>
:必須パラメーター: なし
;省略可能パラメーター: <code>version</code>  <code>Version</code>: 囲まれたメッセージの <code>SIP-VERSION</code> 番号 (例えば <code class="ABNF">&quot;2.0&quot;</code>)。存在しない場合版の既定値は <code class="ABNF">&quot;2.0&quot;</code>。
:符号化方式: SIP メッセージは8ビット頭及び省略可能なバイナリ MIME データ物体で構成されます。通常の場合は SIP メッセージはバイナリ転送路上で転送しますから、特別な符号化は必要ありません。
:安全性に関して: 下記参照。</pre></section><section><h1>6. Security Considerations</h1><blockquote><p>A message/sipfrag mime-part may contain sensitive information or
information used to affect processing decisions at the receiver.
When exposing that information or modifying it during transport would
do harm, its level of protection can be improved using the S/MIME
mechanisms described in section 23 of [1], with the limitations
described in section 26 of that document, and the mechanisms
described in [6].</p></blockquote><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="34" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[34]</anchor-end> <code>message/sipfrag</code> mime 部分は繊細な情報や受信者が処理決定に使う情報を含むかもしれません。
転送の過程で情報を公開したり修正したりすることが害になる時は、 <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;1</anchor-internal>
の23章で説明されている S/MIME とその文書の26章で説明されている制限及び
<anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="6" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;6</anchor-internal> で説明されている仕組みを使って保護の段階を上げることが出来ます。</p><blockquote><p>Applications using message/sipfrag to represent a subset of the
header fields from a SIP message must consider the implications of
the message/sipfrag part being captured and replayed and include
sufficient information to mitigate risk.  Any SIP extension which
uses message/sipfrag MUST describe the replay and cut and paste
threats unique to its particular usage.  For example, [6] discusses
how a subset of a SIP message can be used to assert the identity of
the entity making a SIP request.  The draft details what information
must be contained in the subset to bind the assertion to the request.</p></blockquote><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="35" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[35]</anchor-end> SIP メッセージの頭欄の部分集合を表現するのに <code>message/sipfrag</code>
を使う応用は、記録・再生される <code>messag/sipfrag</code>
部分を含めるのを熟慮し、危険を和らげるために十分な情報を含めなければなりません。
<code>message/sipfrag</code> を使用する SIP 
拡張はすべて、その特定の用法に固有の再生及び切り取り・貼り付けの脅威を説明し<strong>なければなりません</strong>。
例えば、 <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="6" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;6</anchor-internal> は SIP メッセージが SIP 要求を作る実体の識別を断言するのに
SIP メッセージの部分集合をどう使用出来るかを議論しています。
この原案は要求への断言を束ねるためにどういう情報を部分集合に含めなければならないかを詳述しています。</p></section><section><h1>Normative References</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[1]</anchor-end>  Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A.,
Peterson, J., Sparks, R., Handley, M. and E. Schooler, &quot;SIP:
Session Initiation Protocol&quot;, RFC 3265, June 2002.</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[2]</anchor-end>  Freed, N. and N. Borenstein, &quot;Multipurpose Internet Mail
Extensions (MIME) Part Two: Media Types&quot;, RFC 2046, November
1996.</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[3]</anchor-end>  Crocker, D. and P. Overell, &quot;Augmented BNF for Syntax
Specifications: ABNF&quot;, RFC 2234, November 1997.</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[4]</anchor-end>  Bradner, S., &quot;Key words for use in RFCs to Indicate Requirement
Levels&quot;, BCP 14, RFC 2119, March 1997.</p></section><section><h1>Non-Normative References</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[5]</anchor-end>  Sparks, R., &quot;The SIP Refer Method&quot;, Work in Progress.</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="6" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[6]</anchor-end>  Peterson, J., &quot;Enhancements for Authenticated Identity
Management in the Session Initiation Protocol (SIP)&quot;, Work in
Progress.</p></section><section><h1>Author's Address</h1><pre>   Robert J. Sparks
   dynamicsoft
   5100 Tennyson Parkway
   Suite 1200
   Plano, TX  75024</pre><pre>   EMail: rsparks@dynamicsoft.com</pre></section><section><h1>Full Copyright Statement</h1><blockquote><p>Copyright (C) The Internet Society (2002).  All Rights Reserved.</p></blockquote><insert xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="36" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[36]</anchor-end> 注: 原文の著作権声明の全文及び訳文については、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFCのライセンス</anchor>を参照。</p></insert></section><section><h1>Acknowledgement</h1><blockquote><p>Funding for the RFC Editor function is currently provided by the
Internet Society.</p></blockquote></section><section><h1>License</h1><p><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFCのライセンス</anchor>。</p></section><section><h1>メモ</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="37" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[37]</anchor-end>
<cite>RFC ERRATA</cite> 
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.rfc-editor.org/cgi-bin/errata.pl#rfc3420">http://www.rfc-editor.org/cgi-bin/errata.pl#rfc3420</anchor-external></p><p>原文の頁見出しの文字の欠落が訂正されています。</p></section></body></html>