RFC2543 日本語訳
2543 SIP: Session Initiation Protocol. M. Handley, H. Schulzrinne, E.Schooler, J. Rosenberg. March 1999. (Format: TXT=338861 bytes) (Obsoleted by RFC3261, RFC3262, RFC3263, RFC3264, RFC3265) (Status: PROPOSED STANDARD)
プログラムでの自動翻訳です。
英語原文
Network Working Group M. Handley Request for Comments: 2543 ACIRI Category: Standards Track H. Schulzrinne Columbia U. E. Schooler Cal Tech J. Rosenberg Bell Labs March 1999
コメントを求めるワーキンググループM.ハンドレー要求をネットワークでつないでください: 2543年のACIRIカテゴリ: 規格は1999年の科学技術のJ.ローゼンバーグのベル研究所の行進のときにH.SchulzrinneコロンビアU.E.学生のカルを追跡します。
SIP: Session Initiation Protocol
一口: セッション開始プロトコル
Status of this Memo
このMemoの状態
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 "Internet Official Protocol Standards" (STD 1) for the standardization state and status of this protocol. Distribution of this memo is unlimited.
このドキュメントは、インターネットコミュニティにインターネット標準化過程プロトコルを指定して、改良のために議論と提案を要求します。 このプロトコルの標準化状態と状態への「インターネット公式プロトコル標準」(STD1)の現行版を参照してください。 このメモの分配は無制限です。
Copyright Notice
版権情報
Copyright (C) The Internet Society (1999). All Rights Reserved.
Copyright(C)インターネット協会(1999)。 All rights reserved。
IESG Note
IESG注意
The IESG intends to charter, in the near future, one or more working groups to produce standards for "name lookup", where such names would include electronic mail addresses and telephone numbers, and the result of such a lookup would be a list of attributes and characteristics of the user or terminal associated with the name. Groups which are in need of a "name lookup" protocol should follow the development of these new working groups rather than using SIP for this function. In addition it is anticipated that SIP will migrate towards using such protocols, and SIP implementors are advised to monitor these efforts.
IESGは、近い将来、そのような名前が電子メールアドレスと電話番号を含んで、そのようなルックアップの結果が名前に関連しているユーザか端末の属性と特性のリストであるだろう「名前ルックアップ」の規格を生産するために1つ以上のワーキンググループをチャーターするつもりです。 「名前ルックアップ」プロトコルを必要としているグループはこの機能にSIPを使用するよりむしろこれらの新しいワーキンググループの発展に続くべきです。 さらに、そのようなプロトコルを使用することに向かってSIPが移動すると予期されて、SIP作成者がこれらの努力をモニターするようにアドバイスされます。
Abstract
要約
The Session Initiation Protocol (SIP) is an application-layer control (signaling) protocol for creating, modifying and terminating sessions with one or more participants. These sessions include Internet multimedia conferences, Internet telephone calls and multimedia distribution. Members in a session can communicate via multicast or via a mesh of unicast relations, or a combination of these.
Session Initiationプロトコル(SIP)は作成(1人以上の関係者との変更と終わりセッション)のための応用層規制(シグナリング)プロトコルです。 これらのセッションはインターネットマルチメディア会議、インターネット通話、およびマルチメディア分配を含んでいます。 セッションにおけるメンバーはマルチキャストユニキャスト関係のメッシュ、またはこれらの組み合わせで交信できます。
Handley, et al. Standards Track [Page 1] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[1ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
SIP invitations used to create sessions carry session descriptions which allow participants to agree on a set of compatible media types. SIP supports user mobility by proxying and redirecting requests to the user's current location. Users can register their current location. SIP is not tied to any particular conference control protocol. SIP is designed to be independent of the lower-layer transport protocol and can be extended with additional capabilities.
セッションを作成するのに使用されるSIP招待状は関係者が1セットのコンパチブルメディアタイプに同意できるセッション記述を運びます。 SIPは、ユーザの現在の位置に要求をproxyingして、向け直すことによって、ユーザの移動性を支持します。 ユーザは彼らの現在の位置を登録できます。 SIPはどんな特定の会議制御プロトコルにも結ばれません。 SIPを下層トランスポート・プロトコルから独立しているように設計して、追加能力で広げることができます。
Table of Contents
目次
1 Introduction ........................................ 7 1.1 Overview of SIP Functionality ....................... 7 1.2 Terminology ......................................... 8 1.3 Definitions ......................................... 9 1.4 Overview of SIP Operation ........................... 12 1.4.1 SIP Addressing ...................................... 12 1.4.2 Locating a SIP Server ............................... 13 1.4.3 SIP Transaction ..................................... 14 1.4.4 SIP Invitation ...................................... 15 1.4.5 Locating a User ..................................... 17 1.4.6 Changing an Existing Session ........................ 18 1.4.7 Registration Services ............................... 18 1.5 Protocol Properties ................................. 18 1.5.1 Minimal State ....................................... 18 1.5.2 Lower-Layer-Protocol Neutral ........................ 18 1.5.3 Text-Based .......................................... 20 2 SIP Uniform Resource Locators ....................... 20 3 SIP Message Overview ................................ 24 4 Request ............................................. 26 4.1 Request-Line ........................................ 26 4.2 Methods ............................................. 27 4.2.1 INVITE .............................................. 28 4.2.2 ACK ................................................. 29 4.2.3 OPTIONS ............................................. 29 4.2.4 BYE ................................................. 30 4.2.5 CANCEL .............................................. 30 4.2.6 REGISTER ............................................ 31 4.3 Request-URI ......................................... 34 4.3.1 SIP Version ......................................... 35 4.4 Option Tags ......................................... 35 4.4.1 Registering New Option Tags with IANA ............... 35 5 Response ............................................ 36 5.1 Status-Line ......................................... 36 5.1.1 Status Codes and Reason Phrases ..................... 37 6 Header Field Definitions ............................ 39 6.1 General Header Fields ............................... 41 6.2 Entity Header Fields ................................ 42 6.3 Request Header Fields ............................... 43
1つの序論… 7 一口の機能性の1.1概観… 7 1.2用語… 8 1.3の定義… 9 一口操作の1.4概観… 12 1.4 .1 アドレシングをちびちび飲んでください… 12 1.4 .2 一口サーバの場所を見つけます… 13 1.4 .3 取引をちびちび飲んでください… 14 1.4 .4 招待をちびちび飲んでください… 15 1.4 .5 ユーザの居場所を見つけます… 17 1.4 .6 既存のセッションを変えます… 18 1.4 .7 登録サービス… 18 1.5 特性について議定書の中で述べてください… 18 1.5 .1 最小量の状態… 18 1.5 .2 下位層プロトコル中立… 18 1.5 .3 テキストベース… 20 2 Uniform Resource Locatorをちびちび飲んでください… 20 3 メッセージ概観をちびちび飲んでください… 24 4 要求します。 26 4.1 要求線… 26 4.2の方法… 27 4.2 .1 招待します。 28 4.2 .2ACK… 29 4.2 .3のオプション… 29 4.2 .4 さようなら… 30 4.2 .5 取り消してください… 30 4.2 .6 登録してください… 31 4.3要求URI… 34 4.3 .1 バージョンをちびちび飲んでください… 35 4.4 オプションタグ… 35 4.4 .1 新しいオプションタグをIANAに登録します… 35 5応答… 36 5.1状況表示行… 36 5.1 .1 状態コードと理由句… 37 6 ヘッダーフィールド定義… 39 6.1 一般ヘッダーフィールド… 41 6.2 実体ヘッダーフィールド… 42 6.3 ヘッダーフィールドを要求してください… 43
Handley, et al. Standards Track [Page 2] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[2ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
6.4 Response Header Fields .............................. 43 6.5 End-to-end and Hop-by-hop Headers ................... 43 6.6 Header Field Format ................................. 43 6.7 Accept .............................................. 44 6.8 Accept-Encoding ..................................... 44 6.9 Accept-Language ..................................... 45 6.10 Allow ............................................... 45 6.11 Authorization ....................................... 45 6.12 Call-ID ............................................. 46 6.13 Contact ............................................. 47 6.14 Content-Encoding .................................... 50 6.15 Content-Length ...................................... 51 6.16 Content-Type ........................................ 51 6.17 CSeq ................................................ 52 6.18 Date ................................................ 53 6.19 Encryption .......................................... 54 6.20 Expires ............................................. 55 6.21 From ................................................ 56 6.22 Hide ................................................ 57 6.23 Max-Forwards ........................................ 59 6.24 Organization ........................................ 59 6.25 Priority ............................................ 60 6.26 Proxy-Authenticate .................................. 60 6.27 Proxy-Authorization ................................. 61 6.28 Proxy-Require ....................................... 61 6.29 Record-Route ........................................ 62 6.30 Require ............................................. 63 6.31 Response-Key ........................................ 63 6.32 Retry-After ......................................... 64 6.33 Route ............................................... 65 6.34 Server .............................................. 65 6.35 Subject ............................................. 65 6.36 Timestamp ........................................... 66 6.37 To .................................................. 66 6.38 Unsupported ......................................... 68 6.39 User-Agent .......................................... 68 6.40 Via ................................................. 68 6.40.1 Requests ............................................ 68 6.40.2 Receiver-tagged Via Header Fields ................... 69 6.40.3 Responses ........................................... 70 6.40.4 User Agent and Redirect Servers ..................... 70 6.40.5 Syntax .............................................. 71 6.41 Warning ............................................. 72 6.42 WWW-Authenticate .................................... 74 7 Status Code Definitions ............................. 75 7.1 Informational 1xx ................................... 75 7.1.1 100 Trying .......................................... 75 7.1.2 180 Ringing ......................................... 75
6.4 応答ヘッダーフィールド… 43 6.5 終わりから終わりとホップごとのヘッダー… 43 6.6 ヘッダーフィールド形式… 43 6.7 受け入れてください… 44 6.8 コード化を受け入れます… 44 6.9 言語を受け入れます… 45 6.10 許容します。 45 6.11認可… 45 6.12呼び出しID… 46 6.13 連絡します。 47 6.14 内容をコード化しています… 50 6.15 満足している長さ… 51 6.16コンテントタイプ… 51 6.17CSeq… 52 6.18 デートしてください… 53 6.19暗号化… 54 6.20 期限が切れます… 55 6.21、… 56 6.22 隠れてください… 57 6.23 マックス-フォワード… 59 6.24組織… 59 6.25優先権… 60 6.26 …をプロキシで認証してください… 60 6.27プロキシ認可… 61 6.28 …をプロキシで必要としてください… 61 6.29 記録的なルート… 62 6.30 必要です。 63 6.31応答キー… 63 6.32 -後に再試行してください… 64 6.33 発送します。 65 6.34サーバ… 65 6.35 かけます。 65 6.36タイムスタンプ… 66 6.37、… 66 6.38 サポートされない… 68 6.39ユーザエージェント… を通して68 6.40、… 68 6.40.1 要求… 68 6.40.2 受信機でヘッダーフィールドを通してタグ付けされる… 69 6.40.3 応答… 70 6.40.4 ユーザエージェントと再直接のサーバ… 70 6.40.5 構文… 71 6.41 警告… 72 6.42 …をWWW認証してください… 74 7 ステータスコード定義… 75 7.1 情報の1xx… 75 7.1.1 100 試みること… 75 7.1.2 180 鳴ること… 75
Handley, et al. Standards Track [Page 3] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[3ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
7.1.3 181 Call Is Being Forwarded ......................... 75 7.1.4 182 Queued .......................................... 76 7.2 Successful 2xx ...................................... 76 7.2.1 200 OK .............................................. 76 7.3 Redirection 3xx ..................................... 76 7.3.1 300 Multiple Choices ................................ 77 7.3.2 301 Moved Permanently ............................... 77 7.3.3 302 Moved Temporarily ............................... 77 7.3.4 305 Use Proxy ....................................... 77 7.3.5 380 Alternative Service ............................. 78 7.4 Request Failure 4xx ................................. 78 7.4.1 400 Bad Request ..................................... 78 7.4.2 401 Unauthorized .................................... 78 7.4.3 402 Payment Required ................................ 78 7.4.4 403 Forbidden ....................................... 78 7.4.5 404 Not Found ....................................... 78 7.4.6 405 Method Not Allowed .............................. 78 7.4.7 406 Not Acceptable .................................. 79 7.4.8 407 Proxy Authentication Required ................... 79 7.4.9 408 Request Timeout ................................. 79 7.4.10 409 Conflict ........................................ 79 7.4.11 410 Gone ............................................ 79 7.4.12 411 Length Required ................................. 79 7.4.13 413 Request Entity Too Large ........................ 80 7.4.14 414 Request-URI Too Long ............................ 80 7.4.15 415 Unsupported Media Type .......................... 80 7.4.16 420 Bad Extension ................................... 80 7.4.17 480 Temporarily Unavailable ......................... 80 7.4.18 481 Call Leg/Transaction Does Not Exist ............. 81 7.4.19 482 Loop Detected ................................... 81 7.4.20 483 Too Many Hops ................................... 81 7.4.21 484 Address Incomplete .............................. 81 7.4.22 485 Ambiguous ....................................... 81 7.4.23 486 Busy Here ....................................... 82 7.5 Server Failure 5xx .................................. 82 7.5.1 500 Server Internal Error ........................... 82 7.5.2 501 Not Implemented ................................. 82 7.5.3 502 Bad Gateway ..................................... 82 7.5.4 503 Service Unavailable ............................. 83 7.5.5 504 Gateway Time-out ................................ 83 7.5.6 505 Version Not Supported ........................... 83 7.6 Global Failures 6xx ................................. 83 7.6.1 600 Busy Everywhere ................................. 83 7.6.2 603 Decline ......................................... 84 7.6.3 604 Does Not Exist Anywhere ......................... 84 7.6.4 606 Not Acceptable .................................. 84 8 SIP Message Body .................................... 84 8.1 Body Inclusion ...................................... 84
7.1.3 181 呼び出しを進めています… 75 7.1.4 182は列を作りました… 76 7.2 うまくいっている2xx… 76 7.2.1 200 OK… 76 7.3リダイレクション3xx… 76 7.3.1 300 選択式… 77 7.3.2 301は永久に、動きました… 77 7.3.3 302は一時動きました… 77 7.3.4 305 プロキシを使用してください… 77 7.3.5 380代替手段サービス… 78 7.4 失敗4xxを要求してください… 78の7.4.1 400の悪い要求… 78 7.4.2 401 権限のない… 78 7.4.3 402支払いが必要です… 78 7.4.4 403 禁じられます… 78 7.4.5 404 見つけられません… 78 7.4.6 405 許容されなかった方法… 78 7.4.7 406 許容できない… 79 7.4.8 407プロキシ認証が必要です… 79 7.4.9 408 タイムアウトを要求してください… 79 7.4.10 409 闘争してください… 79 7.4.11 410 行きます… 79 7.4.12 411長さが必要です… 79 7.4.13 413 大き過ぎる状態で実体を要求してください… 80 7.4.14 414要求URIも長さ………………………。 80 7.4.15 415 サポートされないメディアタイプ… 80 7.4.16 420 悪い拡大… 80 7.4.17 480 一時入手できません… 80 7.4.18 481呼び出し脚/取引は存在していません… 81 7.4.19 482 検出されていた状態で、輪にしてください… 81 7.4.20 483 多く過ぎるのが跳びます… 81 7.4.21 484アドレス不完全… 81 7.4.22 485 あいまい… 81 7.4.23 486 ここで忙しい… 82 7.5 サーバ失敗5xx… 82 7.5.1 500サーバ内部エラー… 82 7.5.2 501 実行されません… 82 7.5.3 502 悪いゲートウェイ… 入手できない82 7.5.4 503サービス… 83 7.5.5 504ゲートウェイタイムアウト… 83 7.5.6 505 支持されなかったバージョン… 83 7.6 グローバルな失敗6xx… 83 7.6.1 600 いたる所で忙しい… 83 7.6.2 603 減退してください… 84 7.6.3 604 何処にも、存在していません… 84 7.6.4 606 許容できない… 84 8 メッセージ本体をちびちび飲んでください… 84 8.1 ボディー包含… 84
Handley, et al. Standards Track [Page 4] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[4ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
8.2 Message Body Type ................................... 85 8.3 Message Body Length ................................. 85 9 Compact Form ........................................ 85 10 Behavior of SIP Clients and Servers ................. 86 10.1 General Remarks ..................................... 86 10.1.1 Requests ............................................ 86 10.1.2 Responses ........................................... 87 10.2 Source Addresses, Destination Addresses and Connections ......................................... 88 10.2.1 Unicast UDP ......................................... 88 10.2.2 Multicast UDP ....................................... 88 10.3 TCP ................................................. 89 10.4 Reliability for BYE, CANCEL, OPTIONS, REGISTER Requests ............................................ 90 10.4.1 UDP ................................................. 90 10.4.2 TCP ................................................. 91 10.5 Reliability for INVITE Requests ..................... 91 10.5.1 UDP ................................................. 92 10.5.2 TCP ................................................. 95 10.6 Reliability for ACK Requests ........................ 95 10.7 ICMP Handling ....................................... 95 11 Behavior of SIP User Agents ......................... 95 11.1 Caller Issues Initial INVITE Request ................ 96 11.2 Callee Issues Response .............................. 96 11.3 Caller Receives Response to Initial Request ......... 96 11.4 Caller or Callee Generate Subsequent Requests ....... 97 11.5 Receiving Subsequent Requests ....................... 97 12 Behavior of SIP Proxy and Redirect Servers .......... 97 12.1 Redirect Server ..................................... 97 12.2 User Agent Server ................................... 98 12.3 Proxy Server ........................................ 98 12.3.1 Proxying Requests ................................... 98 12.3.2 Proxying Responses .................................. 99 12.3.3 Stateless Proxy: Proxying Responses ................. 99 12.3.4 Stateful Proxy: Receiving Requests .................. 99 12.3.5 Stateful Proxy: Receiving ACKs ...................... 99 12.3.6 Stateful Proxy: Receiving Responses ................. 100 12.3.7 Stateless, Non-Forking Proxy ........................ 100 12.4 Forking Proxy ....................................... 100 13 Security Considerations ............................. 104 13.1 Confidentiality and Privacy: Encryption ............. 104 13.1.1 End-to-End Encryption ............................... 104 13.1.2 Privacy of SIP Responses ............................ 107 13.1.3 Encryption by Proxies ............................... 108 13.1.4 Hop-by-Hop Encryption ............................... 108 13.1.5 Via field encryption ................................ 108 13.2 Message Integrity and Access Control: Authentication ...................................... 109
8.2 メッセージボディータイプ… 85 8.3 メッセージボディーの長さ… 85 9コンパクト形… 一口クライアントとサーバの85 10働き… 86 10.1 一般所見… 86 10.1.1 要求… 86 10.1.2 応答… 87 10.2のソースアドレス、送付先アドレス、およびコネクションズ… 88 10.2.1 ユニキャストUDP… 88 10.2.2 マルチキャストUDP… 88 10.3TCP… 89 10.4 さようなら信頼性、キャンセル、オプションは要求を登録します… 90 10.4.1 UDP… 90 10.4.2 TCP… 招待要求のための91 10.5の信頼性… 91 10.5.1 UDP… 92 10.5.2 TCP… ACK要求のための95 10.6の信頼性… 95 10.7 ICMP取り扱い… 一口ユーザエージェントの95 11の振舞い… 問題が頭文字をつける95 11.1訪問者は要求を招待します… 96 11.2訪問される人は応答を発行します… 96 11.3訪問者は要求に頭文字をつけるために応答を受けます… 96 11.4の訪問者か訪問される人がその後の要求を発生させます… 97 11.5 その後の要求を受け取ります… 一口プロキシと再直接のサーバの97 12働き… 97 12.1 サーバを向け直してください… 97 12.2ユーザエージェントサーバ… 98 12.3Proxyサーバ… 98 12.3.1 要求をProxyingします… 98 12.3.2 応答をProxyingします… 99 12.3.3 国がないプロキシ: 応答をProxyingします… 99 12.3.4 Statefulプロキシ: 要求を受け取ります… 99 12.3.5 Statefulプロキシ: ACKsを受けます… 99 12.3.6 Statefulプロキシ: 応答を受けます… 100 12.3 .7 国がなくて、非分岐しているプロキシ… 100 12.4 プロキシを分岐させます… 100 13 セキュリティ問題… 104 13.1 秘密性とプライバシー: 暗号化… 104 13.1 .1終端間暗号化… 104 13.1 .2 一口応答のプライバシー… 107 13.1 プロキシによる.3暗号化… 108 13.1 ホップごとの.4暗号化… 108 13.1 .5 分野暗号化で… 108 13.2のメッセージの保全とアクセスは制御されます: 認証… 109
Handley, et al. Standards Track [Page 5] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[5ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
13.2.1 Trusting responses .................................. 112 13.3 Callee Privacy ...................................... 113 13.4 Known Security Problems ............................. 113 14 SIP Authentication using HTTP Basic and Digest Schemes ............................................. 113 14.1 Framework ........................................... 113 14.2 Basic Authentication ................................ 114 14.3 Digest Authentication ............................... 114 14.4 Proxy-Authentication ................................ 115 15 SIP Security Using PGP .............................. 115 15.1 PGP Authentication Scheme ........................... 115 15.1.1 The WWW-Authenticate Response Header ................ 116 15.1.2 The Authorization Request Header .................... 117 15.2 PGP Encryption Scheme ............................... 118 15.3 Response-Key Header Field for PGP ................... 119 16 Examples ............................................ 119 16.1 Registration ........................................ 119 16.2 Invitation to a Multicast Conference ................ 121 16.2.1 Request ............................................. 121 16.2.2 Response ............................................ 122 16.3 Two-party Call ...................................... 123 16.4 Terminating a Call .................................. 125 16.5 Forking Proxy ....................................... 126 16.6 Redirects ........................................... 130 16.7 Negotiation ......................................... 131 16.8 OPTIONS Request ..................................... 132 A Minimal Implementation .............................. 134 A.1 Client .............................................. 134 A.2 Server .............................................. 135 A.3 Header Processing ................................... 135 B Usage of the Session Description Protocol (SDP)...... 136 B.1 Configuring Media Streams ........................... 136 B.2 Setting SDP Values for Unicast ...................... 138 B.3 Multicast Operation ................................. 139 B.4 Delayed Media Streams ............................... 139 B.5 Putting Media Streams on Hold ....................... 139 B.6 Subject and SDP "s=" Line ........................... 140 B.7 The SDP "o=" Line ................................... 140 C Summary of Augmented BNF ............................ 141 C.1 Basic Rules ......................................... 143 D Using SRV DNS Records ............................... 146 E IANA Considerations ................................. 148 F Acknowledgments ..................................... 149 G Authors' Addresses .................................. 149 H Bibliography ........................................ 150 I Full Copyright Statement ............................ 153
13.2.1 応答を信じます… 112 13.3 訪問される人プライバシー… 113 13.4 警備上の問題を知っています… 113 14 基本的にHTTPを使用する認証をちびちび飲んでください、そして、計画を読みこなしてください… 113 14.1枠組み… 113 14.2 基本的な認証… 114 14.3 認証を読みこなしてください… 114 14.4プロキシ認証… 115 15 PGPを使用して、セキュリティをちびちび飲んでください… 115 15.1PGP認証計画… 115 15.1 .1、応答ヘッダをWWW認証してください… 116 15.1 .2 認可要求ヘッダー… 117 15.2PGP暗号化計画… 118 15.3 PGPに、応答主要なヘッダーフィールド… 119 16の例… 119 16.1登録… 119 マルチキャストコンファレンスへの16.2招待… 121 16.2 .1 要求します。 121 16.2 .2応答… 122 16.3 2パーティーが電話をします… 123 16.4 呼び出しを終えます… 125 16.5 プロキシを分岐させます… 126 16.6 向け直します。 130 16.7交渉… 16.8のオプションが要求する131… 132 最小限の器具… 134A.1クライアント… 134A.2サーバ… 135 A.3ヘッダー処理… 135 セッション記述プロトコル(SDP)のB用法… 136 メディアを構成するB.1が流れます… 136 ユニキャストのためのB.2設定SDP値… 138 B.3マルチキャスト操作… 139 B.4はメディアの流れを遅らせました… 139 メディアの流れを置くB.5が成立します… 139B.6対象とSDP「s=」は立ち並んでいます… 140 B.7SDP「o=」線… 増大しているBNFの140C概要… 141 C.1基本的なルール… 143 SRV DNSを使用するDが記録します… 146EのIANA問題… 148のF承認… 149 G作者のアドレス… 149時間の図書目録… 150 私は著作権宣言文を洗い張りします… 153
Handley, et al. Standards Track [Page 6] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[6ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
1 Introduction
1つの序論
1.1 Overview of SIP Functionality
1.1 一口の機能性の概観
The Session Initiation Protocol (SIP) is an application-layer control protocol that can establish, modify and terminate multimedia sessions or calls. These multimedia sessions include multimedia conferences, distance learning, Internet telephony and similar applications. SIP can invite both persons and "robots", such as a media storage service. SIP can invite parties to both unicast and multicast sessions; the initiator does not necessarily have to be a member of the session to which it is inviting. Media and participants can be added to an existing session.
Session Initiationプロトコル(SIP)は、マルチメディアセッションを確立して、変更して、終えることができる応用層制御プロトコルであるか呼びます。 これらのマルチメディアセッションはマルチメディア会議、通信教育、インターネット電話、および同様のアプリケーションを含んでいます。 SIPは人々とメディア格納サービスなどの「ロボット」の両方を招待できます。 SIPはユニキャストとマルチキャストセッションの両方にパーティーを招くことができます。 創始者は必ずそれが誘っているセッションのメンバーである必要はありません。 既存のセッションにメディアと関係者を加えることができます。
SIP can be used to initiate sessions as well as invite members to sessions that have been advertised and established by other means. Sessions can be advertised using multicast protocols such as SAP, electronic mail, news groups, web pages or directories (LDAP), among others.
他の手段で広告を出して、確立されたセッションにセッションを開始して、メンバーを招待するのにSIPを使用できます。 SAP、電子メール、ニュース・グループ、ウェブページまたはディレクトリ(LDAP)などのマルチキャストプロトコルを特に使用することでセッションの広告を出すことができます。
SIP transparently supports name mapping and redirection services, allowing the implementation of ISDN and Intelligent Network telephony subscriber services. These facilities also enable personal mobility. In the parlance of telecommunications intelligent network services, this is defined as: "Personal mobility is the ability of end users to originate and receive calls and access subscribed telecommunication services on any terminal in any location, and the ability of the network to identify end users as they move. Personal mobility is based on the use of a unique personal identity (i.e., personal number)." [1]. Personal mobility complements terminal mobility, i.e., the ability to maintain communications when moving a single end system from one subnet to another.
ISDNの、そして、Intelligent Network電話加入者サービスの実現を許して、SIPは透明に名前マッピングとリダイレクションサービスを支持します。 また、これらの施設は個人的な移動性を可能にします。 テレコミュニケーションインテリジェントネットワークサービスの話法では、これは以下と定義されます。 「個人的な移動性はエンドユーザが呼び出しを溯源して、受け取る能力です、そして、アクセスはどんな端末でも彼らが動くときネットワークがエンドユーザを特定するどんな位置、および能力でも電気通信サービスを申し込みました。」 「個人的な移動性はユニークな個人的なアイデンティティ(すなわち、国民背番号)の使用に基づいています。」 [1]. 個人的な移動性は端末の移動性(すなわち、1つのサブネットから別のものへシングルエンドのシステムを移すときコミュニケーションを維持する能力)の補足となります。
SIP supports five facets of establishing and terminating multimedia communications:
SIPはマルチメディア通信を確立して、終える5つの一面を支持します:
User location: determination of the end system to be used for communication;
ユーザ位置: エンドシステムのコミュニケーションに使用されるべき決断。
User capabilities: determination of the media and media parameters to be used;
ユーザ能力: メディアとメディアパラメタの使用されるべき決断。
User availability: determination of the willingness of the called party to engage in communications;
ユーザの有用性: 被呼者がコミュニケーションに従事する意欲の決断。
Call setup: "ringing", establishment of call parameters at both called and calling party;
セットアップに電話をしてください: 「鳴る」呼ばれて、パーティーを召集することにおける呼び出しパラメタの確立。
Handley, et al. Standards Track [Page 7] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[7ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
Call handling: including transfer and termination of calls.
取り扱いに電話をしてください: 呼び出しの転送と終了を含んでいます。
SIP can also initiate multi-party calls using a multipoint control unit (MCU) or fully-meshed interconnection instead of multicast. Internet telephony gateways that connect Public Switched Telephone Network (PSTN) parties can also use SIP to set up calls between them.
また、SIPは、マルチキャストの代わりに多点制御装置(MCU)か完全にかみ合っているインタコネクトを使用することでマルチパーティ呼び出しを開始できます。 また、Public Switched Telephone Network(PSTN)パーティーに接するインターネット電話ゲートウェイは、それらの間の呼び出しをセットアップするのにSIPを使用できます。
SIP is designed as part of the overall IETF multimedia data and control architecture currently incorporating protocols such as RSVP (RFC 2205 [2]) for reserving network resources, the real-time transport protocol (RTP) (RFC 1889 [3]) for transporting real-time data and providing QOS feedback, the real-time streaming protocol (RTSP) (RFC 2326 [4]) for controlling delivery of streaming media, the session announcement protocol (SAP) [5] for advertising multimedia sessions via multicast and the session description protocol (SDP) (RFC 2327 [6]) for describing multimedia sessions. However, the functionality and operation of SIP does not depend on any of these protocols.
SIPが現在RSVPなどのプロトコルを取り入れる総合的なIETFマルチメディアデータと規制構造の一部として設計されている、(RFC、2205、2、)、ネットワーク資源、リアルタイムのトランスポート・プロトコル(RTP)を予約する、(RFC、1889、3、)、リアルタイムデータを輸送して、フィードバックをQOSに供給するために; リアルタイムのストリーミングのプロトコル(RTSP)、(RFC、2326、4、)、ストリーミング・メディアの配送を制御するために、マルチキャストを通した広告マルチメディアセッションとセッション記述のためのセッション発表プロトコル(SAP)5が(SDP)について議定書の中で述べる、(RFC、2327、6、)、マルチメディアセッションについて説明するために。 しかしながら、SIPの機能性と操作はこれらのプロトコルのどれかに依存しません。
SIP can also be used in conjunction with other call setup and signaling protocols. In that mode, an end system uses SIP exchanges to determine the appropriate end system address and protocol from a given address that is protocol-independent. For example, SIP could be used to determine that the party can be reached via H.323 [7], obtain the H.245 [8] gateway and user address and then use H.225.0 [9] to establish the call.
また、他の呼び出しセットアップとプロトコルに合図することに関連してSIPを使用できます。 そのモードで、エンドシステムは、プロトコルから独立している与えられたアドレスから適切な終わりのシステムアドレスとプロトコルを決定するのにSIP交換を使用します。 例えば、H.323[7]を通してパーティーに連絡できることを決定して、H.245[8]ゲートウェイとユーザアドレスを入手して、次に、呼び出しを証明するのにH.225.0[9]を使用するのにSIPを使用できました。
In another example, SIP might be used to determine that the callee is reachable via the PSTN and indicate the phone number to be called, possibly suggesting an Internet-to-PSTN gateway to be used.
別の例では、SIPは訪問される人がPSTNを通して届いていることを決定して、呼ばれるために電話番号を示すのに使用されるかもしれません、使用されるためにことによるとインターネットからPSTNへのゲートウェイを示して。
SIP does not offer conference control services such as floor control or voting and does not prescribe how a conference is to be managed, but SIP can be used to introduce conference control protocols. SIP does not allocate multicast addresses.
SIPは床のコントロールか票などの会議コントロールサービスを提供しないで、また会議が経営されることになっていますが、会議制御プロトコルを紹介するのにどうSIPを使用できるかを処方しません。 SIPはマルチキャストアドレスを割り当てません。
SIP can invite users to sessions with and without resource reservation. SIP does not reserve resources, but can convey to the invited system the information necessary to do this.
SIPは資源予約のあるなしにかかわらずセッションにユーザを招待できます。 SIPは、リソースを予約しませんが、これをするために招待されたシステムに必要情報を伝えることができます。
1.2 Terminology
1.2 用語
In this document, the key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" are to be interpreted as described in RFC 2119 [10] and indicate requirement levels for compliant SIP implementations.
本書では、キーワード“MUST"、「必須NOT」が「必要です」、“SHALL"、「」、“SHOULD"、「「推薦され」て、「5月」の、そして、「任意」のNOTはRFCで2119[10]について説明して、対応する一口実装のために要件レベルを示すとき解釈されることであるべきですか?
Handley, et al. Standards Track [Page 8] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[8ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
1.3 Definitions
1.3 定義
This specification uses a number of terms to refer to the roles played by participants in SIP communications. The definitions of client, server and proxy are similar to those used by the Hypertext Transport Protocol (HTTP) (RFC 2068 [11]). The terms and generic syntax of URI and URL are defined in RFC 2396 [12]. The following terms have special significance for SIP.
この仕様は、SIPコミュニケーションの関係者によって果たされた役割について言及するのに項数を使用します。 クライアント、サーバ、およびプロキシの定義はハイパーテキストTransportプロトコル(HTTP)によって使用されるものと同様です。(RFC2068[11])。 URIとURLの用語とジェネリック構文はRFC2396[12]で定義されます。 次の用語には、SIPに、特別な意味があります。
Call: A call consists of all participants in a conference invited by a common source. A SIP call is identified by a globally unique call-id (Section 6.12). Thus, if a user is, for example, invited to the same multicast session by several people, each of these invitations will be a unique call. A point-to-point Internet telephony conversation maps into a single SIP call. In a multiparty conference unit (MCU) based call-in conference, each participant uses a separate call to invite himself to the MCU.
以下に電話をしてください。 呼び出しは共通ソースによって招待された会議のすべての関係者から成ります。 グローバルにユニークな呼び出しイド(セクション6.12)によってSIP呼び出しは特定されます。 したがって、例えば、ユーザが数人によって同じマルチキャストセッションに招待されると、それぞれのこれらの招待状はユニークな呼び出しでしょう。 インターネット電話の会話がただ一つのSIP呼び出しに写像するポイントツーポイント。 「マルチ-パーティー」の会議のユニットの(MCU)ベースの視聴者電話参加番組会議では、各関係者はMCUに自分を招待するという別々の要求を使用します。
Call leg: A call leg is identified by the combination of Call-ID, To and From.
脚に電話をしてください: 呼び出し脚はCall-ID、To、およびFromの組み合わせで特定されます。
Client: An application program that sends SIP requests. Clients may or may not interact directly with a human user. User agents and proxies contain clients (and servers).
クライアント: 要求をSIPに送るアプリケーション・プログラム。 クライアントは直接人間のユーザと対話するかもしれません。 ユーザエージェントとプロキシはクライアント(そして、サーバ)を含みます。
Conference: A multimedia session (see below), identified by a common session description. A conference can have zero or more members and includes the cases of a multicast conference, a full-mesh conference and a two-party "telephone call", as well as combinations of these. Any number of calls can be used to create a conference.
コンファレンス: 一般的なセッション記述で特定されたマルチメディアセッション(以下を見ます)。 会議は、ゼロか、より多くのメンバーを持つことができて、マルチキャスト会議、完全なメッシュ会議、および2パーティー「通話」に関するケースを含んでいます、これらの組み合わせと同様に。 会議を創設するのにいろいろな呼び出しを使用できます。
Downstream: Requests sent in the direction from the caller to the callee (i.e., user agent client to user agent server).
川下: 要求は訪問者から訪問される人(すなわち、ユーザエージェントサーバへのユーザエージェントのクライアント)への方向を送りました。
Final response: A response that terminates a SIP transaction, as opposed to a provisional response that does not. All 2xx, 3xx, 4xx, 5xx and 6xx responses are final.
最終的な応答: 暫定的なそうしない応答と対照的にSIPトランザクションを終える応答。 すべての2xx、3xx、4xx、5xx、および6xx応答は最終的です。
Initiator, calling party, caller: The party initiating a conference invitation. Note that the calling party does not have to be the same as the one creating the conference.
創始者、起呼側、訪問者: 会議招待状を開始するパーティー。 起呼側が会議を創設するものと同じである必要はないことに注意してください。
Invitation: A request sent to a user (or service) requesting participation in a session. A successful SIP invitation consists of two transactions: an INVITE request followed by an ACK request.
招待: 要求は、セッションにおける参加を要求しながら、ユーザ(または、サービス)に発信しました。 うまくいっているSIP招待状は2つのトランザクションから成ります: ACK要求でINVITE要求は続きました。
Handley, et al. Standards Track [Page 9] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[9ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
Invitee, invited user, called party, callee: The person or service that the calling party is trying to invite to a conference.
招待参加者(招待されたユーザ)は、パーティー、訪問される人と呼びました: 起呼側が会議に招待しようとしている人かサービス。
Isomorphic request or response: Two requests or responses are defined to be isomorphic for the purposes of this document if they have the same values for the Call-ID, To, From and CSeq header fields. In addition, isomorphic requests have to have the same Request-URI.
同型の要求か応答: それらにCall-ID、To、From、およびCSeqヘッダーフィールドのための同じ値があるなら、2つの要求か応答が、このドキュメントの目的のための同型であるために定義されます。 さらに、同型の要求には、同じRequest-URIがなければなりません。
Location server: See location service.
位置のサーバ: 位置のサービスを見てください。
Location service: A location service is used by a SIP redirect or proxy server to obtain information about a callee's possible location(s). Location services are offered by location servers. Location servers MAY be co-located with a SIP server, but the manner in which a SIP server requests location services is beyond the scope of this document.
位置のサービス: 位置のサービスは再直接でSIPによって利用されます。または、訪問される人の可能な位置の情報を得るプロキシサーバ。 位置のサーバは位置のサービスを提供します。 位置のサーバはSIPサーバで共同見つけられるかもしれませんが、SIPサーバが位置のサービスを要求する方法はこのドキュメントの範囲を超えています。
Parallel search: In a parallel search, a proxy issues several requests to possible user locations upon receiving an incoming request. Rather than issuing one request and then waiting for the final response before issuing the next request as in a sequential search , a parallel search issues requests without waiting for the result of previous requests.
検索に沿ってください: 平行な検索では、入って来る要求を受け取るとき、プロキシは可能なユーザ位置にいくつかの要求を出します。 連続した検索のように次の要求を出す前に1つの要求を出して、次に、最終的な応答を待つよりむしろ、前の要求の結果を待たないで、平行な検索は要求を出します。
Provisional response: A response used by the server to indicate progress, but that does not terminate a SIP transaction. 1xx responses are provisional, other responses are considered final.
暫定的な応答: SIPトランザクションを終えないサーバによって使用される、進歩を示す応答。 1xx応答が暫定的である、他の応答は最終的であると考えられます。
Proxy, proxy server: An intermediary program that acts as both a server and a client for the purpose of making requests on behalf of other clients. Requests are serviced internally or by passing them on, possibly after translation, to other servers. A proxy interprets, and, if necessary, rewrites a request message before forwarding it.
プロキシ、プロキシサーバ: 他のクライアントを代表して要求をする目的のためのサーバとクライアントの両方として作動する仲介者プログラム。 要求は、内部的か翻訳のことによると後に他のサーバにそれらを伝えることによって、修理されます。 プロキシは、解釈して、それを進める前に、必要なら、要求メッセージを書き直します。
Redirect server: A redirect server is a server that accepts a SIP request, maps the address into zero or more new addresses and returns these addresses to the client. Unlike a proxy server , it does not initiate its own SIP request. Unlike a user agent server , it does not accept calls.
サーバを向け直してください: 再直接のサーバはSIP要求を受け入れて、ゼロか、より新しいアドレスにアドレスを写像して、これらのアドレスをクライアントに返すサーバです。 プロキシサーバと異なって、それはそれ自身のSIP要求を開始しません。 ユーザエージェントサーバと異なって、それは呼び出しを受け入れません。
Registrar: A registrar is a server that accepts REGISTER requests. A registrar is typically co-located with a proxy or redirect server and MAY offer location services.
記録係: 記録係はREGISTER要求を受け入れるサーバです。 記録係は、プロキシか再直接のサーバで通常共同見つけられていて、位置のサービスを提供するかもしれません。
Handley, et al. Standards Track [Page 10] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[10ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
Ringback: Ringback is the signaling tone produced by the calling client's application indicating that a called party is being alerted (ringing).
Ringback: Ringbackは被呼者が警告されているのを示す呼んでいるクライアントのアプリケーション(鳴る)で作り出されたシグナリングトーンです。
Server: A server is an application program that accepts requests in order to service requests and sends back responses to those requests. Servers are either proxy, redirect or user agent servers or registrars.
サーバ: サーバは要求を修理するために要求を受け入れて、それらの要求への応答を返送するアプリケーション・プログラムです。 サーバは、プロキシ、再直接かユーザエージェントサーバか記録係のどちらかです。
Session: From the SDP specification: "A multimedia session is a set of multimedia senders and receivers and the data streams flowing from senders to receivers. A multimedia conference is an example of a multimedia session." (RFC 2327 [6]) (A session as defined for SDP can comprise one or more RTP sessions.) As defined, a callee can be invited several times, by different calls, to the same session. If SDP is used, a session is defined by the concatenation of the user name , session id , network type , address type and address elements in the origin field.
セッション: SDP仕様から: 「マルチメディアセッションは、1セットのマルチメディア送付者と受信機と送付者から受信機まで流れるデータ・ストリームです。」 「マルチメディア会議はマルチメディアセッションに関する例です。」 (RFC2327[6]) (SDPのために定義されるセッションは1つ以上のRTPセッションを包括できます。) 定義されるように、異なった呼び出しで同じセッションに訪問される人を何度か招待できます。 SDPが使用されているなら、セッションは発生源分野でユーザ名、セッションイド、ネットワークタイプ、アドレスタイプ、およびアドレス要素の連結で定義されます。
(SIP) transaction: A SIP transaction occurs between a client and a server and comprises all messages from the first request sent from the client to the server up to a final (non-1xx) response sent from the server to the client. A transaction is identified by the CSeq sequence number (Section 6.17) within a single call leg. The ACK request has the same CSeq number as the corresponding INVITE request, but comprises a transaction of its own.
(SIP)トランザクション: SIPトランザクションは、サーバからクライアントに送られた最終的な(非1xxの)応答まで、クライアントとサーバの間に起こって、クライアントからサーバに送られた最初の要求からすべてのメッセージを包括します。 CSeq一連番号(セクション6.17)によってトランザクションはただ一つの呼び出し脚の中で特定されます。ACK要求は、対応するINVITE要求と同じCSeq番号を持っていますが、それ自身のトランザクションを包括します。
Upstream: Responses sent in the direction from the user agent server to the user agent client.
上流: 応答はユーザエージェントサーバからユーザエージェントのクライアントへの方向を送りました。
URL-encoded: A character string encoded according to RFC 1738, Section 2.2 [13].
URLでコード化される: RFCによると、文字列はセクション2.2 1738、[13]をコード化しました。
User agent client (UAC), calling user agent: A user agent client is a client application that initiates the SIP request.
ユーザをエージェントと呼ぶユーザエージェントクライアント(UAC): ユーザエージェントのクライアントはSIP要求を開始するクライアントアプリケーションです。
User agent server (UAS), called user agent: A user agent server is a server application that contacts the user when a SIP request is received and that returns a response on behalf of the user. The response accepts, rejects or redirects the request.
ユーザエージェントと呼ばれるユーザエージェントサーバ(UAS): ユーザエージェントサーバはSIP要求が受信されていて、ユーザを代表して応答を返すユーザに連絡するサーバ・アプリケーションです。 応答は、要求を受け入れるか、拒絶するか、または向け直します。
User agent (UA): An application which contains both a user agent client and user agent server.
ユーザエージェント(UA): ユーザエージェントのクライアントとユーザエージェントサーバの両方を含むアプリケーション。
An application program MAY be capable of acting both as a client and a server. For example, a typical multimedia conference control application would act as a user agent client to initiate calls or to
アプリケーション・プログラムはクライアントとサーバとして機能できるかもしれません。または例えば、開始するユーザエージェントのクライアントが電話をするように典型的なマルチメディア会議制御アプリケーションが行動するだろう。
Handley, et al. Standards Track [Page 11] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[11ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
invite others to conferences and as a user agent server to accept invitations. The properties of the different SIP server types are summarized in Table 1.
会議とユーザエージェントサーバとした他のものが招待状に応じるよう誘ってください。 異なったSIPサーバタイプの特性はTable1にまとめられます。
property redirect proxy user agent registrar server server server __________________________________________________________________ also acts as a SIP client no yes no no returns 1xx status yes yes yes yes returns 2xx status no yes yes yes returns 3xx status yes yes yes yes returns 4xx status yes yes yes yes returns 5xx status yes yes yes yes returns 6xx status no yes yes yes inserts Via header no yes no no accepts ACK yes yes yes no
再直接の特性のユーザエージェント記録係サーバサーバプロキシサーバ__________________________________________________________________ 行為、もSIPクライアントとして、少しもはいが少しもいいえが状態はいはいはいはいがどんなはいはいはいも4xx状態はいはいはいはいが状態はいはいはいはいがはいはいはい6xx状態ノー、を返す5xxを返す3xx状態はいはいはいはいリターンを返さない2xx状態を返す1xxを返さないViaヘッダーのために、はいを少しもいいえが受け入れない全く挿入しない、ACKはいはいはいノー
Table 1: Properties of the different SIP server types
テーブル1: 異なったSIPサーバの特性はタイプされます。
1.4 Overview of SIP Operation
1.4 一口操作の概要
This section explains the basic protocol functionality and operation. Callers and callees are identified by SIP addresses, described in Section 1.4.1. When making a SIP call, a caller first locates the appropriate server (Section 1.4.2) and then sends a SIP request (Section 1.4.3). The most common SIP operation is the invitation (Section 1.4.4). Instead of directly reaching the intended callee, a SIP request may be redirected or may trigger a chain of new SIP requests by proxies (Section 1.4.5). Users can register their location(s) with SIP servers (Section 4.2.6).
このセクションは基本プロトコルの機能性と操作について説明します。 訪問者と訪問される人はセクション1.4.1で説明されたSIPアドレスによって特定されます。 SIP電話をかけると、訪問者は、最初に、適切なサーバ(セクション1.4.2)の場所を見つけて、SIP要求(セクション1.4.3)を送ります。 最も一般的なSIP操作は招待(セクション1.4.4)です。 直接意図している訪問される人に達することの代わりに、SIP要求は、向け直されるか、またはプロキシ(セクション1.4.5)による新しいSIP要求のチェーンの引き金となるかもしれません。 ユーザはSIPサーバ(セクション4.2.6)に彼らの位置を登録できます。
1.4.1 SIP Addressing
1.4.1 一口アドレシング
The "objects" addressed by SIP are users at hosts, identified by a SIP URL. The SIP URL takes a form similar to a mailto or telnet URL, i.e., user@host. The user part is a user name or a telephone number. The host part is either a domain name or a numeric network address. See section 2 for a detailed discussion of SIP URL's.
SIPによって扱われた「オブジェクト」はSIP URLによって特定されたホストのユーザです。 SIP URLはmailtoかtelnet URLと同様のフォーム、すなわち、 user@host を取ります。 ユーザ部分は、ユーザ名か電話番号です。 ホスト部分は、ドメイン名か数値ネットワーク・アドレスのどちらかです。 SIP URLの詳細な論議に関してセクション2を見てください。
A user's SIP address can be obtained out-of-band, can be learned via existing media agents, can be included in some mailers' message headers, or can be recorded during previous invitation interactions. In many cases, a user's SIP URL can be guessed from their email address.
ユーザのSIPアドレスをバンドの外で得ることができるか、既存のメディアエージェントを通して学習できるか、何人かの郵送者のメッセージヘッダーに含むことができるか、または前の招待相互作用の間、記録できます。 多くの場合、それらのEメールアドレスからユーザのSIP URLを推測できます。
Handley, et al. Standards Track [Page 12] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[12ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
A SIP URL address can designate an individual (possibly located at one of several end systems), the first available person from a group of individuals or a whole group. The form of the address, for example, sip:sales@example.com , is not sufficient, in general, to determine the intent of the caller.
SIP URLアドレスは個人(ことによると数個のエンドシステムの1つで見つけられています)(個体群か全体のグループからの最初の手があいている人)を任命できます。 一般に、アドレスのフォーム一口: (例えば、 sales@example.com )は、訪問者の意図を決定するために十分ではありません。
If a user or service chooses to be reachable at an address that is guessable from the person's name and organizational affiliation, the traditional method of ensuring privacy by having an unlisted "phone" number is compromised. However, unlike traditional telephony, SIP offers authentication and access control mechanisms and can avail itself of lower-layer security mechanisms, so that client software can reject unauthorized or undesired call attempts.
ユーザかサービスが、人の名前と組織的な所属によって推測可能なアドレスで届くのを選ぶなら、非記載された「電話」番号を持っていることによって秘密を守る伝統的方法は感染されます。 しかしながら、SIPは伝統的な電話と異なって、認証とアクセス管理機構を提供して、下層セキュリティー対策をそれ自体に利用できます、クライアントソフトウェアが権限のないか望まれない呼び出し試みを拒絶できるように。
1.4.2 Locating a SIP Server
1.4.2 一口サーバの場所を見つけること。
When a client wishes to send a request, the client either sends it to a locally configured SIP proxy server (as in HTTP), independent of the Request-URI, or sends it to the IP address and port corresponding to the Request-URI.
クライアントが要求を送りたがっているとき、クライアントは、Request-URIの如何にかかわらず局所的に構成されたSIPプロキシサーバ(HTTPのように)にそれを送るか、またはRequest-URIに対応するIPアドレスとポートにそれを送ります。
For the latter case, the client must determine the protocol, port and IP address of a server to which to send the request. A client SHOULD follow the steps below to obtain this information, but MAY follow the alternative, optional procedure defined in Appendix D. At each step, unless stated otherwise, the client SHOULD try to contact a server at the port number listed in the Request-URI. If no port number is present in the Request-URI, the client uses port 5060. If the Request-URI specifies a protocol (TCP or UDP), the client contacts the server using that protocol. If no protocol is specified, the client tries UDP (if UDP is supported). If the attempt fails, or if the client doesn't support UDP but supports TCP, it then tries TCP.
後者のケースのために、クライアントは要求を送るサーバのプロトコル、ポート、およびIPアドレスを決定しなければなりません。 別の方法で述べられない場合SHOULDがAppendix D.Atで各ステップで定義された代替の、そして、任意の手順に従うかもしれないのを除いて、この情報を得るために方法に従うクライアント、クライアントSHOULDはRequest-URIで記載されたポートナンバーでサーバに連絡しようとします。 どんなポートナンバーもRequest-URIで存在していないなら、クライアント用途は5060を移植します。 Request-URIがプロトコル(TCPかUDP)を指定するなら、そのプロトコルを使用することでクライアントはサーバに連絡します。 プロトコルが全く指定されないなら、クライアントはUDPを試みます(UDPがサポートされるなら)。 クライアントが試みが失敗するか、UDPをサポートしませんが、またはTCPをサポートするなら、それはTCPを試みます。
A client SHOULD be able to interpret explicit network notifications (such as ICMP messages) which indicate that a server is not reachable, rather than relying solely on timeouts. (For socket-based programs: For TCP, connect() returns ECONNREFUSED if the client could not connect to a server at that address. For UDP, the socket needs to be bound to the destination address using connect() rather than sendto() or similar so that a second write() fails with ECONNREFUSED if there is no server listening) If the client finds the server is not reachable at a particular address, it SHOULD behave as if it had received a 400-class error response to that request.
クライアントSHOULD、サーバが唯一タイムアウトを当てにするよりむしろ届いていないのを示す明白なネットワーク通知(ICMPメッセージなどの)は解釈できてください。 (ソケットベースのプログラムのために: TCPに関しては、接続してください。()、クライアントがおまけにサーバにアドレスを接続できないなら、ECONNREFUSEDを返します。 UDPに関しては、目的地アドレス使用に縛られるべきソケットの必要性は接続します。()、sendtoよりむしろ。()、2分の1が書く同様のそう()、サーバが全くなければ、ECONNREFUSEDと共に聴くのに失敗します。) サーバはクライアント掘り出し物であるなら特定のアドレスで届いていません、それ。まるでそれへの誤り応答が要求する400クラスを受けたかのようにSHOULDは振る舞います。
The client tries to find one or more addresses for the SIP server by querying DNS. The procedure is as follows:
クライアントは、DNSについて質問することによって、SIPサーバのための1つ以上のアドレスを見つけようとします。 手順は以下の通りです:
Handley, et al. Standards Track [Page 13] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[13ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
1. If the host portion of the Request-URI is an IP address, the client contacts the server at the given address. Otherwise, the client proceeds to the next step.
1. Request-URIのホスト部分がIPアドレスであるなら、クライアントは与えられたアドレスでサーバに連絡します。 さもなければ、クライアントは次のステップに進みます。
2. The client queries the DNS server for address records for the host portion of the Request-URI. If the DNS server returns no address records, the client stops, as it has been unable to locate a server. By address record, we mean A RR's, AAAA RR's, or other similar address records, chosen according to the client's network protocol capabilities.
2. クライアントはRequest-URIのホスト部分のためのアドレス記録のためにDNSサーバについて質問します。 DNSサーバがアドレス記録を全く返さないなら、クライアントは止まります、サーバの場所を見つけることができないとき。アドレス記録で、私たちはA RRのもの、AAAA RR、またはクライアントのネットワーク・プロトコル能力に従って選ばれた他の同様のアドレス記録を言っています。
There are no mandatory rules on how to select a host name for a SIP server. Users are encouraged to name their SIP servers using the sip.domainname (i.e., sip.example.com) convention, as specified in RFC 2219 [16]. Users may only know an email address instead of a full SIP URL for a callee, however. In that case, implementations may be able to increase the likelihood of reaching a SIP server for that domain by constructing a SIP URL from that email address by prefixing the host name with "sip.". In the future, this mechanism is likely to become unnecessary as better DNS techniques, such as the one in Appendix D, become widely available.
SIPサーバのためにどうホスト名を選択するかに関する委任統治が全くありません。ユーザが、sip.domainname(すなわち、sip.example.com)コンベンションを使用すると彼らのSIPサーバを命名するよう奨励されます、RFC2219[16]で指定されるように。 しかしながら、ユーザは訪問される人のための完全なSIP URLの代わりにEメールアドレスを知っているだけであるかもしれません。その場合、実装は、そのEメールアドレスから「一口」のホスト名を前に置くことによってSIP URLを組み立てることによって、SIPサーバに達する可能性をそのドメインに広げることができるかもしれません。 将来、Appendix Dのものなどの、より良いDNSのテクニックが広く利用可能になるとき、このメカニズムは不要になりそうです。
A client MAY cache a successful DNS query result. A successful query is one which contained records in the answer, and a server was contacted at one of the addresses from the answer. When the client wishes to send a request to the same host, it MUST start the search as if it had just received this answer from the name server. The client MUST follow the procedures in RFC1035 [15] regarding DNS cache invalidation when the DNS time-to-live expires.
クライアントはうまくいっているDNS質問結果をキャッシュするかもしれません。 うまくいっている質問は答えにおける記録を含んだものです、そして、サーバはアドレスの1つで答えから連絡されました。 クライアントが同じホストに要求を送りたがっているとき、それはまるでネームサーバからこの答えをちょうど受けたかのように検索を始めなければなりません。生きるDNS時間が期限が切れるとき、クライアントはRFC1035[15]でDNSキャッシュ無効にするのに関して手順に従わなければなりません。
1.4.3 SIP Transaction
1.4.3 一口トランザクション
Once the host part has been resolved to a SIP server, the client sends one or more SIP requests to that server and receives one or more responses from the server. A request (and its retransmissions) together with the responses triggered by that request make up a SIP transaction. All responses to a request contain the same values in the Call-ID, CSeq, To, and From fields (with the possible addition of a tag in the To field (section 6.37)). This allows responses to be matched with requests. The ACK request following an INVITE is not part of the transaction since it may traverse a different set of hosts.
ホスト部分がいったんSIPサーバに決議されていると、クライアントは、1つ以上のSIP要求をそのサーバに送って、サーバから1つ以上の応答を受けます。応答に伴う要求(そして、「再-トランスミッション」)はその要求化粧によるSIPトランザクションの引き金となりました。 要求へのすべての応答がCall-ID、CSeq、To、およびFrom分野(To分野(セクション6.37)のタグの可能な追加がある)に同じ値を保管しています。 これで、応答は要求に合っています。 ACKは、異なったセットのホストを横断するかもしれないのでINVITEに続くのが、トランザクションの一部でないよう要求します。
Handley, et al. Standards Track [Page 14] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[14ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
If TCP is used, request and responses within a single SIP transaction are carried over the same TCP connection (see Section 10). Several SIP requests from the same client to the same server MAY use the same TCP connection or MAY use a new connection for each request.
ただ一つのSIPトランザクションの中のTCPが使用されているか、そして、要求と応答は同じTCP接続の上まで運ばれます(セクション10を見てください)。 いくつかの同じクライアントから同じサーバまでのSIP要求が、同じTCP接続を使用するか、または各要求に新しい接続を使用するかもしれません。
If the client sent the request via unicast UDP, the response is sent to the address contained in the next Via header field (Section 6.40) of the response. If the request is sent via multicast UDP, the response is directed to the same multicast address and destination port. For UDP, reliability is achieved using retransmission (Section 10).
クライアントがユニキャストUDPを通して要求を送ったなら、応答の次のViaヘッダーフィールド(セクション6.40)に含まれたアドレスに応答を送ります。 マルチキャストUDPを通して要求を送るなら、同じマルチキャストアドレスと仕向港に応答を向けます。 UDPに関しては、信頼性は、「再-トランスミッション」(セクション10)を使用することで獲得されます。
The SIP message format and operation is independent of the transport protocol.
SIPメッセージ・フォーマットと操作はトランスポート・プロトコルから独立しています。
1.4.4 SIP Invitation
1.4.4 一口招待
A successful SIP invitation consists of two requests, INVITE followed by ACK. The INVITE (Section 4.2.1) request asks the callee to join a particular conference or establish a two-party conversation. After the callee has agreed to participate in the call, the caller confirms that it has received that response by sending an ACK (Section 4.2.2) request. If the caller no longer wants to participate in the call, it sends a BYE request instead of an ACK.
INVITEは、ACKでうまくいっているSIP招待状が2つの要求から成るのに続きました。 (セクション4.2.1)が要求するINVITEは、特定の会議に参加するか、または2パーティーの会話を確立するように訪問される人に頼みます。 訪問される人が、呼び出しに参加するのに同意した後に、訪問者は、ACK(セクション4.2.2)要求を送ることによってその応答を受けたと確認します。 訪問者がもう呼び出しに参加したくないなら、それはACKの代わりにBYE要求を送ります。
The INVITE request typically contains a session description, for example written in SDP (RFC 2327 [6]) format, that provides the called party with enough information to join the session. For multicast sessions, the session description enumerates the media types and formats that are allowed to be distributed to that session. For a unicast session, the session description enumerates the media types and formats that the caller is willing to use and where it wishes the media data to be sent. In either case, if the callee wishes to accept the call, it responds to the invitation by returning a similar description listing the media it wishes to use. For a multicast session, the callee SHOULD only return a session description if it is unable to receive the media indicated in the caller's description or wants to receive data via unicast.
INVITE要求が例えばSDPに書かれたセッション記述を通常含んでいる、(2327年のRFC[6])形式、それはセッションに参加できるくらいの情報を被呼者に提供します。 マルチキャストセッションのために、セッション記述はそのセッションまで分配できるメディアタイプと形式を数え上げます。 ユニキャストセッションのために、セッション記述は訪問者が使用しても構わないと思っているメディアタイプと形式をそれがメディアが送られるデータであることを願っているところに数え上げます。 どちらの場合ではも、それは、呼び出しを受け入れるという訪問される人願望であるなら、招待にそれが使用したがっているメディアを記載する同様の記述を返すことによって、応じます。 マルチキャストセッションのために、訪問者の記述で示されたメディアを受け取りたいか、またはユニキャストでデータを受け取りたい場合にだけ、訪問される人SHOULDはセッション記述を返します。
The protocol exchanges for the INVITE method are shown in Fig. 1 for a proxy server and in Fig. 2 for a redirect server. (Note that the messages shown in the figures have been abbreviated slightly.) In Fig. 1, the proxy server accepts the INVITE request (step 1), contacts the location service with all or parts of the address (step 2) and obtains a more precise location (step 3). The proxy server then issues a SIP INVITE request to the address(es) returned by the location service (step 4). The user agent server alerts the user (step 5) and returns a success indication to the proxy server (step
INVITEメソッドがプロキシサーバのために図1に示されてa再直接のサーバ(数字に示されたメッセージがわずかに簡略化されたというメモ)のための図2におけるプロトコル交換 図1では、プロキシサーバは、INVITE要求(ステップ1)を受け入れて、すべてかアドレス(ステップ2)の部分で位置のサービスに連絡して、より正確な位置(ステップ3)を得ます。 そして、プロキシサーバは位置のサービス(ステップ4)で返されたアドレス(es)にSIP INVITE要求を出します。 ユーザエージェントサーバがユーザ(ステップ5)の注意を喚起して、成功指示をプロキシサーバに返す、(ステップ
Handley, et al. Standards Track [Page 15] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[15ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
6). The proxy server then returns the success result to the original caller (step 7). The receipt of this message is confirmed by the caller using an ACK request, which is forwarded to the callee (steps 8 and 9). Note that an ACK can also be sent directly to the callee, bypassing the proxy. All requests and responses have the same Call- ID.
6). そして、プロキシサーバはオリジナルの訪問者(ステップ7)に成功結果を返します。 このメッセージの領収書は、ACK要求(訪問される人(ステップ8と9)に転送される)を使用することで訪問者によって確認されます。 プロキシを迂回させて、また、直接訪問される人にACKを送ることができることに注意してください。 すべての要求と応答には、同じCall IDがあります。
+....... cs.columbia.edu .......+ : : : (~~~~~~~~~~) : : ( location ) : : ( service ) : : (~~~~~~~~~~) : : ^ | : : | hgs@lab : : 2| 3| : : | | : : henning | : +.. cs.tu-berlin.de ..+ 1: INVITE : | | : : : henning@cs.col: | \/ 4: INVITE 5: ring : : cz@cs.tu-berlin.de ========================>(~~~~~~)=========>(~~~~~~) : : <........................( )<.........( ) : : : 7: 200 OK : ( )6: 200 OK ( ) : : : : ( work ) ( lab ) : : : 8: ACK : ( )9: ACK ( ) : : ========================>(~~~~~~)=========>(~~~~~~) : +.....................+ +...............................+
+ …… cs.columbia.edu、…+ : : : (~~~~~~~~~~) : : (位置) : : (サービス) : : (~~~~~~~~~~) : : ^ | : : | hgs@lab : : 2| 3| : : | | : : henningします。| : + cs.tu-berlin.de。+ 1: 招待します: | | : : : henning@cs.col : | \/ 4: 5を招待してください: 以下を鳴らしてください。 : cz@cs.tu-berlin.de ========================>(~~~~~~)=========>(~~~~~~) : : <…( )<…( ) : : : 7: 200 OK: ( )6: 200 OK( ): : : : (仕事) (研究室) : : : 8: ACK: ( )9: ACK( ): : ========================>(~~~~~~)=========>(~~~~~~) : +.....................+ +...............................+
====> SIP request ....> SIP response
====>SIP要求…>SIP応答
^ | non-SIP protocols |
^ | 非SIPプロトコル|
Figure 1: Example of SIP proxy server
図1: SIPプロキシサーバに関する例
The redirect server shown in Fig. 2 accepts the INVITE request (step 1), contacts the location service as before (steps 2 and 3) and, instead of contacting the newly found address itself, returns the address to the caller (step 4), which is then acknowledged via an ACK
新たに見つけられたアドレス自体に連絡することの代わりに、図2に示された再直接のサーバは、INVITE要求(ステップ1)を受け入れて、従来と同様(ステップ2と3)位置のサービスに連絡して、訪問者(ステップ4)にアドレスを返します。(次に、その訪問者は、ACKを通して承認されます)。
Handley, et al. Standards Track [Page 16] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[16ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
request (step 5). The caller issues a new request, with the same call-ID but a higher CSeq, to the address returned by the first server (step 6). In the example, the call succeeds (step 7). The caller and callee complete the handshake with an ACK (step 8).
(ステップ5)を要求してください。 訪問者は新しい要求を出します、同じ呼び出しIDにもかかわらず、より高いCSeqと共に、最初のサーバ(ステップ6)によって返されたアドレスに。 例では、呼び出しは(ステップ7)を引き継ぎます。 訪問者と訪問される人はACK(ステップ8)との握手を終了します。
The next section discusses what happens if the location service returns more than one possible alternative.
次のセクションは、位置のサービスが1つ以上の可能な選択肢を返すなら何が起こるかを論じます。
1.4.5 Locating a User
1.4.5 ユーザの居場所を見つけること。
A callee may move between a number of different end systems over time. These locations can be dynamically registered with the SIP server (Sections 1.4.7, 4.2.6). A location server MAY also use one or more other protocols, such as finger (RFC 1288 [17]), rwhois (RFC 2167 [18]), LDAP (RFC 1777 [19]), multicast-based protocols [20] or operating-system dependent mechanisms to actively determine the end system where a user might be reachable. A location server MAY return several locations because the user is logged in at several hosts simultaneously or because the location server has (temporarily) inaccurate information. The SIP server combines the results to yield a list of a zero or more locations.
訪問される人は時間がたつにつれて、多くの異なったエンドシステムの間で移行するかもしれません。 ダイナミックにSIPサーバにこれらの位置を登録できる、(セクション1.4 .7 4.2 .6)。 また、位置のサーバは他の1つ以上のプロトコルを使用するかもしれません、指などのように(RFC1288[17])、rwhois、(RFC2167[18])、LDAP、(活発に、ユーザが届くかもしれないエンドシステムを決定するRFC1777[19])、マルチキャストベースのプロトコル[20]またはオペレーティングシステム依存性機序。 ユーザが同時に、数人のホストでログインされるか、または位置のサーバには不正確な情報があるので(一時)、位置のサーバは数個の位置を返すかもしれません。 SIPサーバは、ゼロか、より多くの位置のリストをもたらすために結果を結合します。
The action taken on receiving a list of locations varies with the type of SIP server. A SIP redirect server returns the list to the client as Contact headers (Section 6.13). A SIP proxy server can sequentially or in parallel try the addresses until the call is successful (2xx response) or the callee has declined the call (6xx response). With sequential attempts, a proxy server can implement an "anycast" service.
SIPサーバのタイプに従って、位置のリストを受け取りながら帯びられた動作は異なります。SIPの再直接のサーバはContactヘッダー(セクション6.13)としてリストをクライアントに返します。 SIPプロキシサーバが連続して断つことができますか、呼び出しがうまくいくまで(2xx応答)アドレスが平行で試みるか、または訪問される人は要求(6xx応答)を断ちました。 連続した試みで、プロキシサーバは、"anycast"がサービスであると実装することができます。
If a proxy server forwards a SIP request, it MUST add itself to the beginning of the list of forwarders noted in the Via (Section 6.40) headers. The Via trace ensures that replies can take the same path back, ensuring correct operation through compliant firewalls and avoiding request loops. On the response path, each host MUST remove its Via, so that routing internal information is hidden from the callee and outside networks. A proxy server MUST check that it does not generate a request to a host listed in the Via sent-by, via- received or via-maddr parameters (Section 6.40). (Note: If a host has several names or network addresses, this does not always work. Thus, each host also checks if it is part of the Via list.)
プロキシサーバがSIP要求を転送するなら、それはVia(セクション6.40)ヘッダーに述べられた混載業者のリストの始まりにそれ自体を加えなければなりません。 Via跡は、回答が同じ経路を取り消すことができるのを確実にします、対応するファイアウォールを通した正しい操作を確実にして、要求輪を避けて。 応答経路では、各ホストはViaを取り外さなければなりません、内部の情報を発送するのが訪問される人とネットワークの外に隠されるように。 を通してプロキシサーバが、Viaに発信していた状態で記載されたホストに要求を生成しないのをチェックしなければならない、-、受け取るか、maddrのパラメタ(セクション6.40)。 (以下に注意してください。 ホストにいくつかの名前かネットワーク・アドレスがあるなら、これはいつも働いているというわけではありません。 したがって、また、各ホストは、それがViaリストの一部であるかどうかチェックします。)
A SIP invitation may traverse more than one SIP proxy server. If one of these "forks" the request, i.e., issues more than one request in response to receiving the invitation request, it is possible that a client is reached, independently, by more than one copy of the
これらの1つがクライアントがコピー1部以上によって独自に連絡されているのが可能である招待要求を受け取ることに対応してすなわち、1つより多くの問題がそれを要求する要求を「分岐させる」なら、SIP招待状は横断の1SIPのプロキシサーバがそうするかもしれません。
Handley, et al. Standards Track [Page 17] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[17ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
invitation request. Each of these copies bears the same Call-ID. The user agent MUST return the same status response returned in the first response. Duplicate requests are not an error.
招待要求。 それぞれのこれらのコピーは同じCall-IDに堪えます。 ユーザエージェントは最初の応答で返された同じ状態応答を返さなければなりません。 写し要求は誤りではありません。
1.4.6 Changing an Existing Session
1.4.6 既存のセッションを変えること。
In some circumstances, it is desirable to change the parameters of an existing session. This is done by re-issuing the INVITE, using the same Call-ID, but a new or different body or header fields to convey the new information. This re INVITE MUST have a higher CSeq than any previous request from the client to the server.
いくつかの事情では、既存のセッションのパラメタを変えるのは望ましいです。 新情報を伝えるためにINVITE、同じCall-ID、しかし、新しいか異なったボディーを使用するか、またはヘッダーフィールドを再発行することによって、これをします。 このre INVITE MUSTには、どんな前のクライアントからサーバまでの要求よりも高いCSeqがあります。
For example, two parties may have been conversing and then want to add a third party, switching to multicast for efficiency. One of the participants invites the third party with the new multicast address and simultaneously sends an INVITE to the second party, with the new multicast session description, but with the old call identifier.
例えば、2回のパーティーが、話していて、次に、第三者を加えたがっているかもしれません、効率のためにマルチキャストに切り替わって。 関係者のひとりは、新しいマルチキャストアドレスで第三者を招待して、同時に、新しいマルチキャストセッション記述にもかかわらず、古い呼び出し識別子をもっている2番目のパーティーにINVITEを送ります。
1.4.7 Registration Services
1.4.7 登録サービス
The REGISTER request allows a client to let a proxy or redirect server know at which address(es) it can be reached. A client MAY also use it to install call handling features at the server.
REGISTER要求で、クライアントは、それにどのアドレス(es)で達することができるかをプロキシか再直接のサーバに知らせることができます。 また、クライアントは、サーバにおける呼び出し取り扱い機能をインストールするのにそれを使用するかもしれません。
1.5 Protocol Properties
1.5 プロトコルの特性
1.5.1 Minimal State
1.5.1 最小量の状態
A single conference session or call involves one or more SIP request-response transactions. Proxy servers do not have to keep state for a particular call, however, they MAY maintain state for a single SIP transaction, as discussed in Section 12. For efficiency, a server MAY cache the results of location service requests.
ただ一つの会議の話し合いか呼び出しが1つ以上のSIP要求応答トランザクションにかかわります。 しかしながら、Proxyサーバは特定の呼び出しのために状態を維持する必要はなくて、彼らはただ一つのSIPトランザクションのために状態を維持するかもしれません、セクション12で議論するように。 効率のために、サーバは位置のサービスのリクエストの結果をキャッシュするかもしれません。
1.5.2 Lower-Layer-Protocol Neutral
1.5.2 下位層プロトコル中立
SIP makes minimal assumptions about the underlying transport and network-layer protocols. The lower-layer can provide either a packet or a byte stream service, with reliable or unreliable service.
SIPは基本的な輸送とネットワーク層に関する最小量の仮定をプロトコルにします。 下層はパケットかバイト・ストリームサービスのどちらかを信頼できるか頼り無いサービスに提供できます。
In an Internet context, SIP is able to utilize both UDP and TCP as transport protocols, among others. UDP allows the application to more carefully control the timing of messages and their retransmission, to perform parallel searches without requiring TCP connection state for each outstanding request, and to use multicast. Routers can more readily snoop SIP UDP packets. TCP allows easier passage through existing firewalls.
インターネット文脈では、SIPはトランスポート・プロトコルとしてUDPとTCPの両方を特に利用できます。 UDPはアプリケーションにより慎重にメッセージのタイミングとそれらの「再-トランスミッション」を制御して、それぞれの傑出している要求のためにTCP接続状態を必要としないで平行な検索を実行して、マルチキャストを使用させます。 ルータは、より容易にSIP UDPパケットについて詮索できます。 TCPは既存のファイアウォールにより簡単な通路の通ることを許します。
Handley, et al. Standards Track [Page 18] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[18ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
+....... cs.columbia.edu .......+ : : : (~~~~~~~~~~) : : ( location ) : : ( service ) : : (~~~~~~~~~~) : : ^ | : : | hgs@lab : : 2| 3| : : | | : : henning| : +.. cs.tu-berlin.de ..+ 1: INVITE : | | : : : henning@cs.col: | \/ : : cz@cs.tu-berlin.de =======================>(~~~~~~) : : | ^ | <.......................( ) : : | . | : 4: 302 Moved : ( ) : : | . | : hgs@lab : ( work ) : : | . | : : ( ) : : | . | : 5: ACK : ( ) : : | . | =======================>(~~~~~~) : : | . | : : : +.......|...|.........+ : : | . | : : | . | : : | . | : : | . | : : | . | 6: INVITE hgs@lab.cs.columbia.edu (~~~~~~) : | . ==================================================> ( ) : | ..................................................... ( ) : | 7: 200 OK : ( lab ) : | : ( ) : | 8: ACK : ( ) : ======================================================> (~~~~~~) : +...............................+
+ …… cs.columbia.edu、…+ : : : (~~~~~~~~~~) : : (位置) : : (サービス) : : (~~~~~~~~~~) : : ^ | : : | hgs@lab : : 2| 3| : : | | : : henningします。| : + cs.tu-berlin.de。+ 1: 招待します: | | : : : henning@cs.col : | \/ : : cz@cs.tu-berlin.de =======================>(~~~~~~) : : | ^ | <…( ) : : | . | : 4: 302は移行しました: ( ) : : | . | : hgs@lab : (仕事) : : | . | : : ( ) : : | . | : 5: ACK: ( ) : : | . | =======================>(~~~~~~) : : | . | : : : +.......|...|.........+ : : | . | : : | . | : : | . | : : | . | : : | . | 6: hgs@lab.cs.columbia.edu (~~~~~~)を招待してください: | . ==================================================>( ): | ..................................................... ( ) : | 7: 200 OK: (研究室) : | : ( ) : | 8: ACK: ( ) : ======================================================>(~~~~~~): +...............................+
====> SIP request ....> SIP response
====>SIP要求…>SIP応答
^ | non-SIP protocols |
^ | 非SIPプロトコル|
Figure 2: Example of SIP redirect server
図2: SIPの再直接のサーバに関する例
Handley, et al. Standards Track [Page 19] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[19ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
When TCP is used, SIP can use one or more connections to attempt to contact a user or to modify parameters of an existing conference. Different SIP requests for the same SIP call MAY use different TCP connections or a single persistent connection, as appropriate.
TCPが使用されているとき、SIPは、ユーザに連絡するか、または既存の会議のパラメタを変更するのを試みるのに1つ以上の接続を使用できます。 同じSIP呼び出しを求める異なったSIP要求は適宜異なったTCP接続かただ一つのパーシステントコネクションを使用するかもしれません。
For concreteness, this document will only refer to Internet protocols. However, SIP MAY also be used directly with protocols such as ATM AAL5, IPX, frame relay or X.25. The necessary naming conventions are beyond the scope of this document. User agents SHOULD implement both UDP and TCP transport. Proxy, registrar, and redirect servers MUST implement both UDP and TCP transport.
具体性について、このドキュメントはインターネットプロトコルを示すだけでしょう。 しかしながら、SIP MAY、また、直接ATM AAL5、IPX、フレームリレーまたはX.25などのプロトコルと共に使用されてください。 必要な命名規則はこのドキュメントの範囲を超えています。 ユーザエージェントSHOULDはUDPとTCPの両方に輸送を実装します。 プロキシ、記録係、および再直接のサーバはUDPとTCPの両方に輸送を実装しなければなりません。
1.5.3 Text-Based
1.5.3 テキストベースです。
SIP is text-based, using ISO 10646 in UTF-8 encoding throughout. This allows easy implementation in languages such as Java, Tcl and Perl, allows easy debugging, and most importantly, makes SIP flexible and extensible. As SIP is used for initiating multimedia conferences rather than delivering media data, it is believed that the additional overhead of using a text-based protocol is not significant.
あらゆる点でのUTF-8コード化にISO10646を使用して、SIPはテキストベースです。 これで、Java(TclとPerl)が簡単なデバッグを許す言語に、最も重要に簡単な実装を許容して、フレキシブルであって、SIPを広げることができます。 SIPがメディアデータを提供するよりむしろマルチメディア会議を開始するのに使用されるとき、テキストベースのプロトコルを使用する追加オーバーヘッドが重要でないと信じられています。
2 SIP Uniform Resource Locators
2 一口Uniform Resource Locator
SIP URLs are used within SIP messages to indicate the originator (From), current destination (Request-URI) and final recipient (To) of a SIP request, and to specify redirection addresses (Contact). A SIP URL can also be embedded in web pages or other hyperlinks to indicate that a particular user or service can be called via SIP. When used as a hyperlink, the SIP URL indicates the use of the INVITE method.
SIP URLはSIP要求の創始者(From)、現在の目的地(要求URI)、および最終的な受取人(To)を示して、リダイレクションアドレス(接触)を指定するSIPメッセージの中で使用されます。 また、SIPを通して特定のユーザかサービスを呼ぶことができるのを示すためにウェブページか他のハイパーリンクにSIP URLを埋め込むことができます。 ハイパーリンクとして使用されると、SIP URLはINVITEメソッドの使用を示します。
The SIP URL scheme is defined to allow setting SIP request-header fields and the SIP message-body.
SIP URL体系は、SIP要求ヘッダーフィールドとSIPメッセージボディーを設定するのを許容するために定義されます。
This corresponds to the use of mailto: URLs. It makes it possible, for example, to specify the subject, urgency or media types of calls initiated through a web page or as part of an email message.
これはmailtoの使用に対応しています: URL。 それで、ウェブページかメールメッセージの一部として開始された呼び出しの対象、緊急またはメディアタイプを指定するのは例えば、可能になります。
A SIP URL follows the guidelines of RFC 2396 [12] and has the syntax shown in Fig. 3. The syntax is described using Augmented Backus-Naur Form (See Section C). Note that reserved characters have to be escaped and that the "set of characters reserved within any given URI component is defined by that component. In general, a character is reserved if the semantics of the URI changes if the character is replaced with its escaped US-ASCII encoding" [12].
SIP URLはRFC2396[12]のガイドラインに従って、図3に示された構文を持っています。 構文は、Augmented BN記法を使用することで説明されます(セクションCを見てください)。 控え目なキャラクタ逃げられなければならなくて、「どんな与えられたURIコンポーネントの中でも予約されたキャラクタのセットはそのコンポーネントによって定義される」それが逃げられなければならないことに注意してください。 「URIの意味論が、キャラクタが逃げられた米国-ASCIIコード化に取り替えられるかどうかを変えるなら、一般に、キャラクタは控え目であり」[12]。
Handley, et al. Standards Track [Page 20] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[20ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
SIP-URL = "sip:" [ userinfo "@" ] hostport url-parameters [ headers ] userinfo = user [ ":" password ] user = *( unreserved | escaped | "&" | "=" | "+" | "$" | "," ) password = *( unreserved | escaped | "&" | "=" | "+" | "$" | "," ) hostport = host [ ":" port ] host = hostname | IPv4address hostname = *( domainlabel "." ) toplabel [ "." ] domainlabel = alphanum | alphanum *( alphanum | "-" ) alphanum toplabel = alpha | alpha *( alphanum | "-" ) alphanum IPv4address = 1*digit "." 1*digit "." 1*digit "." 1*digit port = *digit url-parameters = *( ";" url-parameter ) url-parameter = transport-param | user-param | method-param | ttl-param | maddr-param | other-param transport-param = "transport=" ( "udp" | "tcp" ) ttl-param = "ttl=" ttl ttl = 1*3DIGIT ; 0 to 255 maddr-param = "maddr=" host user-param = "user=" ( "phone" | "ip" ) method-param = "method=" Method tag-param = "tag=" UUID UUID = 1*( hex | "-" ) other-param = ( token | ( token "=" ( token | quoted-string ))) headers = "?" header *( "&" header ) header = hname "=" hvalue hname = 1*uric hvalue = *uric uric = reserved | unreserved | escaped reserved = ";" | "/" | "?" | ":" | "@" | "&" | "=" | "+" | "$" | "," digits = 1*DIGIT
一口URL=は「以下をちびちび飲みます」。 「[userinfo"@"]hostport url-パラメタ[ヘッダー]userinfoがユーザ[「:」 パスワード]ユーザ=*と等しい、(無遠慮である、| | “&"| 「=」| 「+」 | 「$」から逃げます|、」、」、)、パスワード=*、(無遠慮である、| | “&"| 「=」| 「+」 | 「$」から逃げます|、」、」、)、hostport=ホスト[「:」 ポート]ホスト=ホスト名| 「IPv4addressホスト名=*、(domainlabel、」、」、)、toplabel、[「.」、]、domainlabelはalphanumと等しいです。| alphanum*(alphanum| 「-」)alphanum toplabelはアルファと等しいです。| 「アルファ*(alphanum| 「-」)alphanum IPv4address=1*ケタ」、」 「1*ケタ」、」 「1*ケタ」、」 ; 1*ケタポート=*ケタurl-パラメタが*と等しい、(「」、url-パラメタ) url-パラメタ=輸送-param| ユーザ-param| メソッド-param| ttl-param| maddr-param| 「ttl=」「輸送=」("udp"| "tcp")他のparam輸送-param=ttl-param=ttl ttlは1*3DIGITと等しいです。 等しい..ホスト..ユーザ..ユーザ..電話..メソッド..メソッド..タグ..タグ..十六進法..他..等しい..トークン..トークン..トークン..引用文字列..ヘッダー..ヘッダー..ヘッダー..ヘッダー..尿..尿..尿..予約| 無遠慮| 「予約された=から逃げる」;、」 | "/" | "?" | ":" | "@" | "&" | "=" | "+" | "$" | 「」、ケタは1*DIGITと等しいです。
Figure 3: SIP URL syntax
図3: SIP URL構文
The URI character classes referenced above are described in Appendix C.
上で参照をつけられたURI文字クラスはAppendix Cで説明されます。
The components of the SIP URI have the following meanings.
SIP URIの部品には、以下の意味があります。
Handley, et al. Standards Track [Page 21] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[21ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
telephone-subscriber = global-phone-number | local-phone-number global-phone-number = "+" 1*phonedigit [isdn-subaddress] [post-dial] local-phone-number = 1*(phonedigit | dtmf-digit | pause-character) [isdn-subaddress] [post-dial] isdn-subaddress = ";isub=" 1*phonedigit post-dial = ";postd=" 1*(phonedigit | dtmf-digit | pause-character) phonedigit = DIGIT | visual-separator visual-separator = "-" | "." pause-character = one-second-pause | wait-for-dial-tone one-second-pause = "p" wait-for-dial-tone = "w" dtmf-digit = "*" | "#" | "A" | "B" | "C" | "D"
電話加入者はグローバルな電話番号と等しいです。| 「ローカルの電話番号のグローバルな電話番号は「+ 」 1*phonedigit[isdn-subaddress][ポストダイヤル]ローカルの電話番号=1*(phonedigit| dtmf-ケタ| くぎりキャラクタ)[isdn-subaddress][ポストダイヤル]isdn-subaddress=」と等しいです; 」 1*phonedigitポストダイヤルisub==」; postdは」 1*(phonedigit| dtmf-ケタ| くぎりキャラクタ)phonedigit=ケタと等しいです。| 視覚分離符視覚分離符=「-」| 「. 」 くぎりキャラクタは2分の1つのくぎりと等しいです。| ダイヤルトーンのための待ちの2分の1つのくぎりは「p」ダイヤルトーンのための待ち=「w」dtmf-ケタ=「*」と等しいです。| "#" | 「A」| 「B」| 「C」| 「D」
Figure 4: SIP URL syntax; telephone subscriber
図4: SIP URL構文。 電話加入者
user: If the host is an Internet telephony gateway, the user field MAY also encode a telephone number using the notation of telephone-subscriber (Fig. 4). The telephone number is a special case of a user name and cannot be distinguished by a BNF. Thus, a URL parameter, user, is added to distinguish telephone numbers from user names. The phone identifier is to be used when connecting to a telephony gateway. Even without this parameter, recipients of SIP URLs MAY interpret the pre-@ part as a phone number if local restrictions on the name space for user name allow it.
ユーザ: ホストがインターネット電話ゲートウェイであるなら、また、電話加入者(図4)の記法を使用して、ユーザ分野は電話番号をコード化するかもしれません。 電話番号を、ユーザ名の特別なケースであり、BNFは区別できません。 したがって、URLパラメタ(ユーザ)は、ユーザ名と電話番号を区別するために加えられます。 電話識別子は電話ゲートウェイに接続するとき、使用されていることです。 このパラメタがなくても、ユーザ名のための名前スペースにおけるローカルの制限がそれを許容するなら、SIP URLの受取人は電話番号としてプレ@部分を解釈するかもしれません。
password: The SIP scheme MAY use the format "user:password" in the userinfo field. The use of passwords in the userinfo is NOT RECOMMENDED, because the passing of authentication information in clear text (such as URIs) has proven to be a security risk in almost every case where it has been used.
パスワード: SIP体系はuserinfoの「ユーザ: パスワード」がさばく形式を使用するかもしれません。 クリアテキスト(URIなどの)における、認証情報の通過がセキュリティリスクであると判明したので、userinfoにおけるパスワードの使用はそれが使用されたほとんどあらゆる場合でNOT RECOMMENDEDです。
host: The mailto: URL and RFC 822 email addresses require that numeric host addresses ("host numbers") are enclosed in square brackets (presumably, since host names might be numeric), while host numbers without brackets are used for all other URLs. The SIP URL requires the latter form, without brackets.
以下を接待してください。 mailto: URLとRFC822のEメールアドレスが、数値ホスト・アドレス(「ホスト番号」)が角括弧で同封されるのを必要とします(ホスト名がおそらく数値であるかもしれないので)、括弧のないホスト番号は他のすべてのURLに使用されますが。 SIP URLは括弧なしで後者のフォームを必要とします。
The issue of IPv6 literal addresses in URLs is being looked at elsewhere in the IETF. SIP implementers are advised to keep up to date on that activity.
URLのIPv6の文字通りのアドレスの問題はIETFのほかの場所を見られています。 SIP implementersがその活動のときに最新のままであるようにアドバイスされます。
Handley, et al. Standards Track [Page 22] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[22ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
port: The port number to send a request to. If not present, the procedures outlined in Section 1.4.2 are used to determine the port number to send a request to.
ポート: 要求を送るポートナンバー。 まして、プレゼント、ポートナンバーが要求を送ることを決定するのにおいてセクション1.4.2に概説された手順は使用されています。
URL parameters: SIP URLs can define specific parameters of the request. URL parameters are added after the host component and are separated by semi-colons. The transport parameter determines the the transport mechanism (UDP or TCP). UDP is to be assumed when no explicit transport parameter is included. The maddr parameter provides the server address to be contacted for this user, overriding the address supplied in the host field. This address is typically a multicast address, but could also be the address of a backup server. The ttl parameter determines the time-to-live value of the UDP multicast packet and MUST only be used if maddr is a multicast address and the transport protocol is UDP. The user parameter was described above. For example, to specify to call j.doe@big.com using multicast to 239.255.255.1 with a ttl of 15, the following URL would be used:
URLパラメタ: SIP URLは要求の特定のパラメタを定義できます。 URLパラメタは、ホストコンポーネントの後に加えられて、セミコロンによって切り離されます。 輸送パラメタは移送機構(UDPかTCP)を決定します。 どんな明白な輸送パラメタも含まれていないとき、UDPは想定されることになっています。 maddrパラメタはこのユーザのために連絡されるためにサーバアドレスを提供します、ホスト分野で供給されたアドレスをくつがえして。 このアドレスは、通常マルチキャストアドレスですが、また、バックアップサーバのアドレスであるかもしれません。ttlパラメタをUDPマルチキャストパケットの生きる時間値を決定して、maddrがマルチキャストアドレスであり、トランスポート・プロトコルがUDPであるなら使用するだけでよいです。 ユーザパラメタは上で説明されました。 例えば、.255に239.255への j.doe@big.com 使用マルチキャストに電話をするために指定するために、15のttlがある.1、以下のURLは使用されるでしょう:
sip:j.doe@big.com;maddr=239.255.255.1;ttl=15
一口: j.doe@big.com;maddr =239.255.255.1; ttl=15
The transport, maddr, and ttl parameters MUST NOT be used in the From and To header fields and the Request-URI; they are ignored if present.
From、Toヘッダーフィールド、およびRequest-URIに輸送、maddr、およびttlパラメタを使用してはいけません。 存在しているなら、それらは無視されます。
Headers: Headers of the SIP request can be defined with the "?" mechanism within a SIP URL. The special hname "body" indicates that the associated hvalue is the message-body of the SIP INVITE request. Headers MUST NOT be used in the From and To header fields and the Request-URI; they are ignored if present. hname and hvalue are encodings of a SIP header name and value, respectively. All URL reserved characters in the header names and values MUST be escaped.
ヘッダー: 一口URLの中に“?"メカニズムがある状態で、SIP要求のヘッダーを定義できます。 特別なhname「ボディー」は、関連hvalueがSIP INVITE要求のメッセージ本体であることを示します。 From、Toヘッダーフィールド、およびRequest-URIにヘッダーを使用してはいけません。 それらはプレゼントhnameとhvalueがそれぞれSIPヘッダー名と価値のencodingsであるなら無視されます。 すべてのURLがヘッダー名でキャラクタを予約しました、そして、値から逃げなければなりません。
Method: The method of the SIP request can be specified with the method parameter. This parameter MUST NOT be used in the From and To header fields and the Request-URI; they are ignored if present.
メソッド: メソッドパラメタでSIP要求のメソッドを指定できます。 From、Toヘッダーフィールド、およびRequest-URIにこのパラメタを使用してはいけません。 存在しているなら、それらは無視されます。
Table 2 summarizes where the components of the SIP URL can be used and what default values they assume if not present.
テーブル2はどこでSIP URLの部品を使用できるか、そして、それらが仮定するか、または提示するすべてのデフォルト値をまとめます。
Examples of SIP URLs are:
SIP URLに関する例は以下の通りです。
Handley, et al. Standards Track [Page 23] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[23ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
default Req.-URI To From Contact external user -- x x x x x password -- x x x x host mandatory x x x x x port 5060 x x x x x user-param ip x x x x x method INVITE x x maddr-param -- x x ttl-param 1 x x transp.-param -- x x headers -- x x
デフォルトReq.-URI To From Contact社外利用者(x x x x xパスワード)x x x xホストの義務的なx x x x xポート5060x x x x xユーザ-param ip x x x x xメソッドINVITE x x maddr-param--x x ttl-param1x x transp.-param--x xヘッダー--x x
Table 2: Use and default values of URL components for SIP headers, Request-URI and references
テーブル2: SIPヘッダーのためのURLコンポーネントの使用とデフォルト値、Request-URI、および参照
sip:j.doe@big.com sip:j.doe:secret@big.com;transport=tcp sip:j.doe@big.com?subject=project sip:+1-212-555-1212:1234@gateway.com;user=phone sip:1212@gateway.com sip:alice@10.1.2.3 sip:alice@example.com sip:alice%40example.com@gateway.com sip:alice@registrar.com;method=REGISTER
1234@gateway.com;user は電話一口: 1212@gateway.com 一口: alice@10.1.2.3 一口と等しいです: alice@example.com 一口: alice%40example.com@gateway.com 一口: alice@registrar.com、ちびちび飲んでください: j.doe@big.com 一口: j.doe: secret@big.com;transport はtcp一口と等しいです: j.doe@big.com?subject はプロジェクト一口: +1-212-555-1212と等しいです: メソッドはREGISTERと等しいです。
Within a SIP message, URLs are used to indicate the source and intended destination of a request, redirection addresses and the current destination of a request. Normally all these fields will contain SIP URLs.
SIPメッセージの中では、URLは、要求の要求のソースと意図している目的地、リダイレクションアドレス、および現在の目的地を示すのに使用されます。 通常これらのすべての分野がSIP URLを含むでしょう。
SIP URLs are case-insensitive, so that for example the two URLs sip:j.doe@example.com and SIP:J.Doe@Example.com are equivalent. All URL parameters are included when comparing SIP URLs for equality.
SIP URLが大文字と小文字を区別しないので、例えば2つのURLがちびちび飲まれます: SIP: j.doe@example.com と J.Doe@Example.com は同等です。 平等のためにSIP URLを比較するとき、すべてのURLパラメタが含まれています。
SIP header fields MAY contain non-SIP URLs. As an example, if a call from a telephone is relayed to the Internet via SIP, the SIP From header field might contain a phone URL.
SIPヘッダーフィールドは非SIP URLを含むかもしれません。 例として、電話からの呼び出しがSIPを通してインターネットにリレーされるなら、SIP Fromヘッダーフィールドは電話URLを含むかもしれません。
3 SIP Message Overview
3一口メッセージ概要
SIP is a text-based protocol and uses the ISO 10646 character set in UTF-8 encoding (RFC 2279 [21]). Senders MUST terminate lines with a CRLF, but receivers MUST also interpret CR and LF by themselves as line terminators.
SIPはテキストベースのプロトコルであり、UTF-8コード化にISO10646文字集合を使用します。(RFC2279[21])。 SendersはCRLFと共に系列を終えなければなりませんが、また、受信機は系列ターミネータとして自分たちでCRとLFを解釈しなければなりません。
Handley, et al. Standards Track [Page 24] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[24ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
Except for the above difference in character sets, much of the message syntax is and header fields are identical to HTTP/1.1; rather than repeating the syntax and semantics here we use [HX.Y] to refer to Section X.Y of the current HTTP/1.1 specification (RFC 2068 [11]). In addition, we describe SIP in both prose and an augmented Backus- Naur form (ABNF). See section C for an overview of ABNF.
メッセージ構文の多くが文字集合の上の違い以外のそうです、そして、ヘッダーフィールドはHTTP/1.1と同じです。 ここで構文と意味論を繰り返すよりむしろ、私たちは、現在のHTTP/1.1仕様のセクションX.Yについて言及するのに[HX.Y]を使用します。(RFC2068[11])。 さらに、私たちは散文と増大しているバッカスナウアフォーム(ABNF)の両方でSIPについて説明します。 ABNFの概要に関してセクションCを見てください。
Note, however, that SIP is not an extension of HTTP.
しかしながら、SIPがHTTPの拡大でないことに注意してください。
Unlike HTTP, SIP MAY use UDP. When sent over TCP or UDP, multiple SIP transactions can be carried in a single TCP connection or UDP datagram. UDP datagrams, including all headers, SHOULD NOT be larger than the path maximum transmission unit (MTU) if the MTU is known, or 1500 bytes if the MTU is unknown.
HTTPと異なって、SIP MAYはUDPを使用します。 TCPかUDPの上に送ると、単独のTCP接続かUDPデータグラムで複数のSIPトランザクションを運ぶことができます。 経路より大きいマキシマム・トランスミッション・ユニット(MTU)がMTUが知られているか、そして、1500バイトであったならMTUが未知であるならすべてのヘッダー、SHOULD NOTを含んでいるUDPデータグラム。
The 1500 bytes accommodates encapsulation within the "typical" ethernet MTU without IP fragmentation. Recent studies [22] indicate that an MTU of 1500 bytes is a reasonable assumption. The next lower common MTU values are 1006 bytes for SLIP and 296 for low-delay PPP (RFC 1191 [23]). Thus, another reasonable value would be a message size of 950 bytes, to accommodate packet headers within the SLIP MTU without fragmentation.
1500バイトは「典型的な」イーサネットMTUの中にIP断片化なしでカプセル化を収容します。 最近の研究[22]は、1500バイトのMTUが妥当な想定であることを示します。 次の下側の一般的なMTU値は、SLIPのための1006バイトと低い遅れPPPのための296です。(RFC1191[23])。 したがって、別の適正価値は、SLIP MTUの中に断片化なしでパケットのヘッダーを収容するためには950バイトのメッセージサイズでしょう。
A SIP message is either a request from a client to a server, or a response from a server to a client.
SIPメッセージは、クライアントからサーバまでの要求かサーバからクライアントまで応答のどちらかです。
SIP-message = Request | Response
一口メッセージ=要求| 応答
Both Request (section 4) and Response (section 5) messages use the generic-message format of RFC 822 [24] for transferring entities (the body of the message). Both types of messages consist of a start-line, one or more header fields (also known as "headers"), an empty line (i.e., a line with nothing preceding the carriage-return line-feed (CRLF)) indicating the end of the header fields, and an optional message-body. To avoid confusion with similar-named headers in HTTP, we refer to the headers describing the message body as entity headers. These components are described in detail in the upcoming sections.
Request(セクション4)とResponse(セクション5)メッセージの両方が、実体(メッセージ欄)を移すのにRFC822[24]のジェネリックメッセージ・フォーマットを使用します。 両方のタイプに関するメッセージはスタート系列、1つ以上のヘッダーフィールド(また、「ヘッダー」として、知られている)、ヘッダーフィールドの終わりを示す空の系列(すなわち、何も復帰改行(CRLF)に先行していない系列)、および任意のメッセージ本体から成ります。 HTTPで同様に命名されたヘッダーへの混乱を避けるために、私たちは実体ヘッダーとしてメッセージ本体を記述するヘッダーについて言及します。 これらのコンポーネントは今度のセクションで詳細に説明されます。
generic-message = start-line *message-header
ジェネリックメッセージ=スタート系列*メッセージヘッダー
Handley, et al. Standards Track [Page 25] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[25ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
CRLF [ message-body ]
CRLF[メッセージ本体]
start-line = Request-Line | ;Section 4.1 Status-Line ;Section 5.1
スタート系列=要求線| ; セクション4.1状況表示行; セクション5.1
message-header = ( general-header | request-header | response-header | entity-header )
メッセージヘッダー=(一般的なヘッダー| 要求ヘッダー| 応答ヘッダ| 実体ヘッダー)
In the interest of robustness, any leading empty line(s) MUST be ignored. In other words, if the Request or Response message begins with one or more CRLF, CR, or LFs, these characters MUST be ignored.
丈夫さのために、どんな主な空の系列も無視しなければなりません。 言い換えれば、RequestかResponseメッセージが1CRLF、CR、またはLFsと共に始まるなら、これらのキャラクタを無視しなければなりません。
4 Request
4要求
The Request message format is shown below:
Requestメッセージ・フォーマットは以下に示されます:
Request = Request-Line ; Section 4.1 *( general-header | request-header | entity-header ) CRLF [ message-body ] ; Section 8
=要求線を要求してください。 セクション4.1*(一般的なヘッダー| 要求ヘッダー| 実体ヘッダー)CRLF[メッセージ本体]。 セクション8
4.1 Request-Line
4.1 要求線
The Request-Line begins with a method token, followed by the Request-URI and the protocol version, and ending with CRLF. The elements are separated by SP characters. No CR or LF are allowed except in the final CRLF sequence.
Request-URIとプロトコルバージョンがあとに続いていて、CRLFと共に終わって、Request-線はメソッドトークンで始まります。 要素はSPキャラクタによって切り離されます。 最終的なCRLF系列以外に、どんなCRもLFも許容されていません。
Request-Line = Method SP Request-URI SP SIP-Version CRLF
メソッドSP要求URI SP一口バージョン要求線=CRLF
Handley, et al. Standards Track [Page 26] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[26ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
general-header = Accept ; Section 6.7 | Accept-Encoding ; Section 6.8 | Accept-Language ; Section 6.9 | Call-ID ; Section 6.12 | Contact ; Section 6.13 | CSeq ; Section 6.17 | Date ; Section 6.18 | Encryption ; Section 6.19 | Expires ; Section 6.20 | From ; Section 6.21 | Record-Route ; Section 6.29 | Timestamp ; Section 6.36 | To ; Section 6.37 | Via ; Section 6.40 entity-header = Content-Encoding ; Section 6.14 | Content-Length ; Section 6.15 | Content-Type ; Section 6.16 request-header = Authorization ; Section 6.11 | Contact ; Section 6.13 | Hide ; Section 6.22 | Max-Forwards ; Section 6.23 | Organization ; Section 6.24 | Priority ; Section 6.25 | Proxy-Authorization ; Section 6.27 | Proxy-Require ; Section 6.28 | Route ; Section 6.33 | Require ; Section 6.30 | Response-Key ; Section 6.31 | Subject ; Section 6.35 | User-Agent ; Section 6.39 response-header = Allow ; Section 6.10 | Proxy-Authenticate ; Section 6.26 | Retry-After ; Section 6.32 | Server ; Section 6.34 | Unsupported ; Section 6.38 | Warning ; Section 6.41 | WWW-Authenticate ; Section 6.42
一般的なヘッダー=は受け入れます。 セクション6.7| コード化を受け入れます。 セクション6.8| 言語を受け入れます。 セクション6.9| 呼び出しID。 セクション6.12| 接触。 セクション6.13| CSeq。 セクション6.17| デートしてください。 セクション6.18| 暗号化。 セクション6.19| 期限が切れます。 セクション6.20| 。 セクション6.21| 記録的なルート。 セクション6.29| タイムスタンプ。 セクション6.36| 。 セクション6.37| を通して。 セクション6.40実体ヘッダーは内容コード化と等しいです。 セクション6.14| コンテンツの長さ。 セクション6.15| コンテントタイプ。 セクション6.16要求ヘッダーは承認と等しいです。 セクション6.11| 接触。 セクション6.13| 隠れてください。 セクション6.22| マックス-フォワード。 セクション6.23| 組織。 セクション6.24| 優先権。 セクション6.25| プロキシ承認。 セクション6.27| プロキシで必要です。 セクション6.28| ルート。 セクション6.33| 必要です。 セクション6.30| 応答キー。 セクション6.31| 対象。 セクション6.35| ユーザエージェント。 応答ヘッダ=が許すセクション6.39。 セクション6.10| プロキシで認証します。 セクション6.26| -後に再試行してください。 セクション6.32| サーバ。 セクション6.34| サポートされない。 セクション6.38| 警告。 セクション6.41| WWW認証します。 セクション6.42
Table 3: SIP headers
テーブル3: SIPヘッダー
4.2 Methods
4.2のメソッド
The methods are defined below. Methods that are not supported by a proxy or redirect server are treated by that server as if they were an OPTIONS method and forwarded accordingly. Methods that are not
メソッドは以下で定義されます。 プロキシか再直接のサーバによってサポートされないメソッドを、まるでそれらがOPTIONSメソッドであるかのようにそのサーバで扱って、それに従って、進めます。 そうしないメソッド
Handley, et al. Standards Track [Page 27] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[27ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
supported by a user agent server or registrar cause a 501 (Not Implemented) response to be returned (Section 7). As in HTTP, the Method token is case-sensitive.
ユーザエージェントサーバか記録係で、原因が返される501(Implementedでない)応答(セクション7)であるとサポートしました。 HTTPのように、Methodトークンは大文字と小文字を区別しています。
Method = "INVITE" | "ACK" | "OPTIONS" | "BYE" | "CANCEL" | "REGISTER"
メソッドは「招待」と等しいです。| "ACK"| 「オプション」| 「さようなら」| 「取り消してください」| 「登録してください」
4.2.1 INVITE
4.2.1 招待
The INVITE method indicates that the user or service is being invited to participate in a session. The message body contains a description of the session to which the callee is being invited. For two-party calls, the caller indicates the type of media it is able to receive and possibly the media it is willing to send as well as their parameters such as network destination. A success response MUST indicate in its message body which media the callee wishes to receive and MAY indicate the media the callee is going to send.
INVITEメソッドは、ユーザかサービスが会議に参加するよう誘われているのを示します。 メッセージ本体は訪問される人が招待されているセッションの記述を含んでいます。 2パーティーの呼び出しのために、訪問者はそれが受けることができるメディアのタイプとことによるとそれがネットワークの目的地などのそれらのパラメタと同様に送っても構わないと思っているメディアを示します。 成功応答は、メッセージ本体で訪問される人がどのメディアを受け取りたがっているかを示さなければならなくて、訪問される人が送るメディアを示すかもしれません。
Not all session description formats have the ability to indicate sending media.
すべてのセッション記述形式には、送付メディアを示す能力があるというわけではありません。
A server MAY automatically respond to an invitation for a conference the user is already participating in, identified either by the SIP Call-ID or a globally unique identifier within the session description, with a 200 (OK) response.
A server MAY automatically respond to an invitation for a conference the user is already participating in, identified either by the SIP Call-ID or a globally unique identifier within the session description, with a 200 (OK) response.
If a user agent receives an INVITE request for an existing call leg with a higher CSeq sequence number than any previous INVITE for the same Call-ID, it MUST check any version identifiers in the session description or, if there are no version identifiers, the content of the session description to see if it has changed. It MUST also inspect any other header fields for changes. If there is a change, the user agent MUST update any internal state or information generated as a result of that header. If the session description has changed, the user agent server MUST adjust the session parameters accordingly, possibly after asking the user for confirmation. (Versioning of the session description can be used to accommodate the capabilities of new arrivals to a conference, add or delete media or change from a unicast to a multicast conference.)
If a user agent receives an INVITE request for an existing call leg with a higher CSeq sequence number than any previous INVITE for the same Call-ID, it MUST check any version identifiers in the session description or, if there are no version identifiers, the content of the session description to see if it has changed. It MUST also inspect any other header fields for changes. If there is a change, the user agent MUST update any internal state or information generated as a result of that header. If the session description has changed, the user agent server MUST adjust the session parameters accordingly, possibly after asking the user for confirmation. (Versioning of the session description can be used to accommodate the capabilities of new arrivals to a conference, add or delete media or change from a unicast to a multicast conference.)
This method MUST be supported by SIP proxy, redirect and user agent servers as well as clients.
This method MUST be supported by SIP proxy, redirect and user agent servers as well as clients.
Handley, et al. Standards Track [Page 28] RFC 2543 SIP: Session Initiation Protocol March 1999
Handley, et al. Standards Track [Page 28] RFC 2543 SIP: Session Initiation Protocol March 1999
4.2.2 ACK
4.2.2 ACK
The ACK request confirms that the client has received a final response to an INVITE request. (ACK is used only with INVITE requests.) 2xx responses are acknowledged by client user agents, all other final responses by the first proxy or client user agent to receive the response. The Via is always initialized to the host that originates the ACK request, i.e., the client user agent after a 2xx response or the first proxy to receive a non-2xx final response. The ACK request is forwarded as the corresponding INVITE request, based on its Request-URI. See Section 10 for details.
The ACK request confirms that the client has received a final response to an INVITE request. (ACK is used only with INVITE requests.) 2xx responses are acknowledged by client user agents, all other final responses by the first proxy or client user agent to receive the response. The Via is always initialized to the host that originates the ACK request, i.e., the client user agent after a 2xx response or the first proxy to receive a non-2xx final response. The ACK request is forwarded as the corresponding INVITE request, based on its Request-URI. See Section 10 for details.
The ACK request MAY contain a message body with the final session description to be used by the callee. If the ACK message body is empty, the callee uses the session description in the INVITE request.
The ACK request MAY contain a message body with the final session description to be used by the callee. If the ACK message body is empty, the callee uses the session description in the INVITE request.
A proxy server receiving an ACK request after having sent a 3xx, 4xx, 5xx, or 6xx response must make a determination about whether the ACK is for it, or for some user agent or proxy server further downstream. This determination is made by examining the tag in the To field. If the tag in the ACK To header field matches the tag in the To header field of the response, and the From, CSeq and Call-ID header fields in the response match those in the ACK, the ACK is meant for the proxy server. Otherwise, the ACK SHOULD be proxied downstream as any other request.
A proxy server receiving an ACK request after having sent a 3xx, 4xx, 5xx, or 6xx response must make a determination about whether the ACK is for it, or for some user agent or proxy server further downstream. This determination is made by examining the tag in the To field. If the tag in the ACK To header field matches the tag in the To header field of the response, and the From, CSeq and Call-ID header fields in the response match those in the ACK, the ACK is meant for the proxy server. Otherwise, the ACK SHOULD be proxied downstream as any other request.
It is possible for a user agent client or proxy server to receive multiple 3xx, 4xx, 5xx, and 6xx responses to a request along a single branch. This can happen under various error conditions, typically when a forking proxy transitions from stateful to stateless before receiving all responses. The various responses will all be identical, except for the tag in the To field, which is different for each one. It can therefore be used as a means to disambiguate them.
It is possible for a user agent client or proxy server to receive multiple 3xx, 4xx, 5xx, and 6xx responses to a request along a single branch. This can happen under various error conditions, typically when a forking proxy transitions from stateful to stateless before receiving all responses. The various responses will all be identical, except for the tag in the To field, which is different for each one. It can therefore be used as a means to disambiguate them.
This method MUST be supported by SIP proxy, redirect and user agent servers as well as clients.
This method MUST be supported by SIP proxy, redirect and user agent servers as well as clients.
4.2.3 OPTIONS
4.2.3 OPTIONS
The server is being queried as to its capabilities. A server that believes it can contact the user, such as a user agent where the user is logged in and has been recently active, MAY respond to this request with a capability set. A called user agent MAY return a status reflecting how it would have responded to an invitation, e.g.,
The server is being queried as to its capabilities. A server that believes it can contact the user, such as a user agent where the user is logged in and has been recently active, MAY respond to this request with a capability set. A called user agent MAY return a status reflecting how it would have responded to an invitation, e.g.,
Handley, et al. Standards Track [Page 29] RFC 2543 SIP: Session Initiation Protocol March 1999
Handley, et al. Standards Track [Page 29] RFC 2543 SIP: Session Initiation Protocol March 1999
600 (Busy). Such a server SHOULD return an Allow header field indicating the methods that it supports. Proxy and redirect servers simply forward the request without indicating their capabilities.
600 (Busy). Such a server SHOULD return an Allow header field indicating the methods that it supports. Proxy and redirect servers simply forward the request without indicating their capabilities.
This method MUST be supported by SIP proxy, redirect and user agent servers, registrars and clients.
This method MUST be supported by SIP proxy, redirect and user agent servers, registrars and clients.
4.2.4 BYE
4.2.4 BYE
The user agent client uses BYE to indicate to the server that it wishes to release the call. A BYE request is forwarded like an INVITE request and MAY be issued by either caller or callee. A party to a call SHOULD issue a BYE request before releasing a call ("hanging up"). A party receiving a BYE request MUST cease transmitting media streams specifically directed at the party issuing the BYE request.
The user agent client uses BYE to indicate to the server that it wishes to release the call. A BYE request is forwarded like an INVITE request and MAY be issued by either caller or callee. A party to a call SHOULD issue a BYE request before releasing a call ("hanging up"). A party receiving a BYE request MUST cease transmitting media streams specifically directed at the party issuing the BYE request.
If the INVITE request contained a Contact header, the callee SHOULD send a BYE request to that address rather than the From address.
If the INVITE request contained a Contact header, the callee SHOULD send a BYE request to that address rather than the From address.
This method MUST be supported by proxy servers and SHOULD be supported by redirect and user agent SIP servers.
This method MUST be supported by proxy servers and SHOULD be supported by redirect and user agent SIP servers.
4.2.5 CANCEL
4.2.5 CANCEL
The CANCEL request cancels a pending request with the same Call-ID, To, From and CSeq (sequence number only) header field values, but does not affect a completed request. (A request is considered completed if the server has returned a final status response.)
The CANCEL request cancels a pending request with the same Call-ID, To, From and CSeq (sequence number only) header field values, but does not affect a completed request. (A request is considered completed if the server has returned a final status response.)
A user agent client or proxy client MAY issue a CANCEL request at any time. A proxy, in particular, MAY choose to send a CANCEL to destinations that have not yet returned a final response after it has received a 2xx or 6xx response for one or more of the parallel-search requests. A proxy that receives a CANCEL request forwards the request to all destinations with pending requests.
A user agent client or proxy client MAY issue a CANCEL request at any time. A proxy, in particular, MAY choose to send a CANCEL to destinations that have not yet returned a final response after it has received a 2xx or 6xx response for one or more of the parallel-search requests. A proxy that receives a CANCEL request forwards the request to all destinations with pending requests.
The Call-ID, To, the numeric part of CSeq and From headers in the CANCEL request are identical to those in the original request. This allows a CANCEL request to be matched with the request it cancels. However, to allow the client to distinguish responses to the CANCEL from those to the original request, the CSeq Method component is set to CANCEL. The Via header field is initialized to the proxy issuing the CANCEL request. (Thus, responses to this CANCEL request only reach the issuing proxy.)
The Call-ID, To, the numeric part of CSeq and From headers in the CANCEL request are identical to those in the original request. This allows a CANCEL request to be matched with the request it cancels. However, to allow the client to distinguish responses to the CANCEL from those to the original request, the CSeq Method component is set to CANCEL. The Via header field is initialized to the proxy issuing the CANCEL request. (Thus, responses to this CANCEL request only reach the issuing proxy.)
Once a user agent server has received a CANCEL, it MUST NOT issue a 2xx response for the cancelled original request.
Once a user agent server has received a CANCEL, it MUST NOT issue a 2xx response for the cancelled original request.
Handley, et al. Standards Track [Page 30] RFC 2543 SIP: Session Initiation Protocol March 1999
Handley, et al. Standards Track [Page 30] RFC 2543 SIP: Session Initiation Protocol March 1999
A redirect or user agent server receiving a CANCEL request responds with a status of 200 (OK) if the transaction exists and a status of 481 (Transaction Does Not Exist) if not, but takes no further action. In particular, any existing call is unaffected.
A redirect or user agent server receiving a CANCEL request responds with a status of 200 (OK) if the transaction exists and a status of 481 (Transaction Does Not Exist) if not, but takes no further action. In particular, any existing call is unaffected.
The BYE request cannot be used to cancel branches of a parallel search, since several branches may, through intermediate proxies, find the same user agent server and then terminate the call. To terminate a call instead of just pending searches, the UAC must use BYE instead of or in addition to CANCEL. While CANCEL can terminate any pending request other than ACK or CANCEL, it is typically useful only for INVITE. 200 responses to INVITE and 200 responses to CANCEL are distinguished by the method in the Cseq header field, so there is no ambiguity.
The BYE request cannot be used to cancel branches of a parallel search, since several branches may, through intermediate proxies, find the same user agent server and then terminate the call. To terminate a call instead of just pending searches, the UAC must use BYE instead of or in addition to CANCEL. While CANCEL can terminate any pending request other than ACK or CANCEL, it is typically useful only for INVITE. 200 responses to INVITE and 200 responses to CANCEL are distinguished by the method in the Cseq header field, so there is no ambiguity.
This method MUST be supported by proxy servers and SHOULD be supported by all other SIP server types.
This method MUST be supported by proxy servers and SHOULD be supported by all other SIP server types.
4.2.6 REGISTER
4.2.6 REGISTER
A client uses the REGISTER method to register the address listed in the To header field with a SIP server.
A client uses the REGISTER method to register the address listed in the To header field with a SIP server.
A user agent MAY register with a local server on startup by sending a REGISTER request to the well-known "all SIP servers" multicast address "sip.mcast.net" (224.0.1.75). This request SHOULD be scoped to ensure it is not forwarded beyond the boundaries of the administrative system. This MAY be done with either TTL or administrative scopes [25], depending on what is implemented in the network. SIP user agents MAY listen to that address and use it to become aware of the location of other local users [20]; however, they do not respond to the request. A user agent MAY also be configured with the address of a registrar server to which it sends a REGISTER request upon startup.
A user agent MAY register with a local server on startup by sending a REGISTER request to the well-known "all SIP servers" multicast address "sip.mcast.net" (224.0.1.75). This request SHOULD be scoped to ensure it is not forwarded beyond the boundaries of the administrative system. This MAY be done with either TTL or administrative scopes [25], depending on what is implemented in the network. SIP user agents MAY listen to that address and use it to become aware of the location of other local users [20]; however, they do not respond to the request. A user agent MAY also be configured with the address of a registrar server to which it sends a REGISTER request upon startup.
Requests are processed in the order received. Clients SHOULD avoid sending a new registration (as opposed to a retransmission) until they have received the response from the server for the previous one.
Requests are processed in the order received. Clients SHOULD avoid sending a new registration (as opposed to a retransmission) until they have received the response from the server for the previous one.
Clients may register from different locations, by necessity using different Call-ID values. Thus, the CSeq value cannot be used to enforce ordering. Since registrations are additive, ordering is less of a problem than if each REGISTER request completely replaced all earlier ones.
Clients may register from different locations, by necessity using different Call-ID values. Thus, the CSeq value cannot be used to enforce ordering. Since registrations are additive, ordering is less of a problem than if each REGISTER request completely replaced all earlier ones.
Handley, et al. Standards Track [Page 31] RFC 2543 SIP: Session Initiation Protocol March 1999
Handley, et al. Standards Track [Page 31] RFC 2543 SIP: Session Initiation Protocol March 1999
The meaning of the REGISTER request-header fields is defined as follows. We define "address-of-record" as the SIP address that the registry knows the registrand, typically of the form "user@domain" rather than "user@host". In third-party registration, the entity issuing the request is different from the entity being registered.
The meaning of the REGISTER request-header fields is defined as follows. We define "address-of-record" as the SIP address that the registry knows the registrand, typically of the form "user@domain" rather than "user@host". In third-party registration, the entity issuing the request is different from the entity being registered.
To: The To header field contains the address-of-record whose registration is to be created or updated.
To: The To header field contains the address-of-record whose registration is to be created or updated.
From: The From header field contains the address-of-record of the person responsible for the registration. For first-party registration, it is identical to the To header field value.
From: The From header field contains the address-of-record of the person responsible for the registration. For first-party registration, it is identical to the To header field value.
Request-URI: The Request-URI names the destination of the registration request, i.e., the domain of the registrar. The user name MUST be empty. Generally, the domains in the Request- URI and the To header field have the same value; however, it is possible to register as a "visitor", while maintaining one's name. For example, a traveler sip:alice@acme.com (To) might register under the Request-URI sip:atlanta.hiayh.org , with the former as the To header field and the latter as the Request-URI. The REGISTER request is no longer forwarded once it has reached the server whose authoritative domain is the one listed in the Request-URI.
Request-URI: The Request-URI names the destination of the registration request, i.e., the domain of the registrar. The user name MUST be empty. Generally, the domains in the Request- URI and the To header field have the same value; however, it is possible to register as a "visitor", while maintaining one's name. For example, a traveler sip:alice@acme.com (To) might register under the Request-URI sip:atlanta.hiayh.org , with the former as the To header field and the latter as the Request-URI. The REGISTER request is no longer forwarded once it has reached the server whose authoritative domain is the one listed in the Request-URI.
Call-ID: All registrations from a client SHOULD use the same Call-ID header value, at least within the same reboot cycle.
Call-ID: All registrations from a client SHOULD use the same Call-ID header value, at least within the same reboot cycle.
Cseq: Registrations with the same Call-ID MUST have increasing CSeq header values. However, the server does not reject out-of-order requests.
Cseq: Registrations with the same Call-ID MUST have increasing CSeq header values. However, the server does not reject out-of-order requests.
Contact: The request MAY contain a Contact header field; future non- REGISTER requests for the URI given in the To header field SHOULD be directed to the address(es) given in the Contact header.
Contact: The request MAY contain a Contact header field; future non- REGISTER requests for the URI given in the To header field SHOULD be directed to the address(es) given in the Contact header.
If the request does not contain a Contact header, the registration remains unchanged.
If the request does not contain a Contact header, the registration remains unchanged.
This is useful to obtain the current list of registrations in the response. Registrations using SIP URIs that differ in one or more of host, port, transport-param or maddr- param (see Figure 3) from an existing registration are added to the list of registrations. Other URI types are compared according to the standard URI equivalency rules for the URI schema. If the URIs are equivalent to that of an existing registration, the new registration replaces the
This is useful to obtain the current list of registrations in the response. Registrations using SIP URIs that differ in one or more of host, port, transport-param or maddr- param (see Figure 3) from an existing registration are added to the list of registrations. Other URI types are compared according to the standard URI equivalency rules for the URI schema. If the URIs are equivalent to that of an existing registration, the new registration replaces the
Handley, et al. Standards Track [Page 32] RFC 2543 SIP: Session Initiation Protocol March 1999
Handley, et al. Standards Track [Page 32] RFC 2543 SIP: Session Initiation Protocol March 1999
old one if it has a higher q value or, for the same value of q, if the ttl value is higher. All current registrations MUST share the same action value. Registrations that have a different action than current registrations for the same user MUST be rejected with status of 409 (Conflict).
old one if it has a higher q value or, for the same value of q, if the ttl value is higher. All current registrations MUST share the same action value. Registrations that have a different action than current registrations for the same user MUST be rejected with status of 409 (Conflict).
A proxy server ignores the q parameter when processing non-REGISTER requests, while a redirect server simply returns that parameter in its Contact response header field.
A proxy server ignores the q parameter when processing non-REGISTER requests, while a redirect server simply returns that parameter in its Contact response header field.
Having the proxy server interpret the q parameter is not sufficient to guide proxy behavior, as it is not clear, for example, how long it is supposed to wait between trying addresses.
Having the proxy server interpret the q parameter is not sufficient to guide proxy behavior, as it is not clear, for example, how long it is supposed to wait between trying addresses.
If the registration is changed while a user agent or proxy server processes an invitation, the new information SHOULD be used.
If the registration is changed while a user agent or proxy server processes an invitation, the new information SHOULD be used.
This allows a service known as "directed pick-up". In the telephone network, directed pickup permits a user at a remote station who hears his own phone ringing to pick up at that station, dial an access code, and be connected to the calling user as if he had answered his own phone.
This allows a service known as "directed pick-up". In the telephone network, directed pickup permits a user at a remote station who hears his own phone ringing to pick up at that station, dial an access code, and be connected to the calling user as if he had answered his own phone.
A server MAY choose any duration for the registration lifetime. Registrations not refreshed after this amount of time SHOULD be silently discarded. Responses to a registration SHOULD include an Expires header (Section 6.20) or expires Contact parameters (Section 6.13), indicating the time at which the server will drop the registration. If none is present, one hour is assumed. Clients MAY request a registration lifetime by indicating the time in an Expires header in the request. A server SHOULD NOT use a higher lifetime than the one requested, but MAY use a lower one. A single address (if host-independent) MAY be registered from several different clients.
A server MAY choose any duration for the registration lifetime. Registrations not refreshed after this amount of time SHOULD be silently discarded. Responses to a registration SHOULD include an Expires header (Section 6.20) or expires Contact parameters (Section 6.13), indicating the time at which the server will drop the registration. If none is present, one hour is assumed. Clients MAY request a registration lifetime by indicating the time in an Expires header in the request. A server SHOULD NOT use a higher lifetime than the one requested, but MAY use a lower one. A single address (if host-independent) MAY be registered from several different clients.
A client cancels an existing registration by sending a REGISTER request with an expiration time (Expires) of zero seconds for a particular Contact or the wildcard Contact designated by a "*" for all registrations. Registrations are matched based on the user, host, port and maddr parameters.
A client cancels an existing registration by sending a REGISTER request with an expiration time (Expires) of zero seconds for a particular Contact or the wildcard Contact designated by a "*" for all registrations. Registrations are matched based on the user, host, port and maddr parameters.
The server SHOULD return the current list of registrations in the 200 response as Contact header fields.
The server SHOULD return the current list of registrations in the 200 response as Contact header fields.
It is particularly important that REGISTER requests are authenticated since they allow to redirect future requests (see Section 13.2).
It is particularly important that REGISTER requests are authenticated since they allow to redirect future requests (see Section 13.2).
Handley, et al. Standards Track [Page 33] RFC 2543 SIP: Session Initiation Protocol March 1999
Handley, et al. Standards Track [Page 33] RFC 2543 SIP: Session Initiation Protocol March 1999
Beyond its use as a simple location service, this method is needed if there are several SIP servers on a single host. In that case, only one of the servers can use the default port number.
Beyond its use as a simple location service, this method is needed if there are several SIP servers on a single host. In that case, only one of the servers can use the default port number.
Support of this method is RECOMMENDED.
Support of this method is RECOMMENDED.
4.3 Request-URI
4.3 Request-URI
The Request-URI is a SIP URL as described in Section 2 or a general URI. It indicates the user or service to which this request is being addressed. Unlike the To field, the Request-URI MAY be re-written by proxies.
The Request-URI is a SIP URL as described in Section 2 or a general URI. It indicates the user or service to which this request is being addressed. Unlike the To field, the Request-URI MAY be re-written by proxies.
When used as a Request-URI, a SIP-URL MUST NOT contain the transport-param, maddr-param, ttl-param, or headers elements. A server that receives a SIP-URL with these elements removes them before further processing.
When used as a Request-URI, a SIP-URL MUST NOT contain the transport-param, maddr-param, ttl-param, or headers elements. A server that receives a SIP-URL with these elements removes them before further processing.
Typically, the UAC sets the Request-URI and To to the same SIP URL, presumed to remain unchanged over long time periods. However, if the UAC has cached a more direct path to the callee, e.g., from the Contact header field of a response to a previous request, the To would still contain the long-term, "public" address, while the Request-URI would be set to the cached address.
Typically, the UAC sets the Request-URI and To to the same SIP URL, presumed to remain unchanged over long time periods. However, if the UAC has cached a more direct path to the callee, e.g., from the Contact header field of a response to a previous request, the To would still contain the long-term, "public" address, while the Request-URI would be set to the cached address.
Proxy and redirect servers MAY use the information in the Request-URI and request header fields to handle the request and possibly rewrite the Request-URI. For example, a request addressed to the generic address sip:sales@acme.com is proxied to the particular person, e.g., sip:bob@ny.acme.com , with the To field remaining as sip:sales@acme.com. At ny.acme.com , Bob then designates Alice as the temporary substitute.
Proxy and redirect servers MAY use the information in the Request-URI and request header fields to handle the request and possibly rewrite the Request-URI. For example, a request addressed to the generic address sip:sales@acme.com is proxied to the particular person, e.g., sip:bob@ny.acme.com , with the To field remaining as sip:sales@acme.com. At ny.acme.com , Bob then designates Alice as the temporary substitute.
The host part of the Request-URI typically agrees with one of the host names of the receiving server. If it does not, the server SHOULD proxy the request to the address indicated or return a 404 (Not Found) response if it is unwilling or unable to do so. For example, the Request-URI and server host name can disagree in the case of a firewall proxy that handles outgoing calls. This mode of operation is similar to that of HTTP proxies.
The host part of the Request-URI typically agrees with one of the host names of the receiving server. If it does not, the server SHOULD proxy the request to the address indicated or return a 404 (Not Found) response if it is unwilling or unable to do so. For example, the Request-URI and server host name can disagree in the case of a firewall proxy that handles outgoing calls. This mode of operation is similar to that of HTTP proxies.
If a SIP server receives a request with a URI indicating a scheme other than SIP which that server does not understand, the server MUST return a 400 (Bad Request) response. It MUST do this even if the To
If a SIP server receives a request with a URI indicating a scheme other than SIP which that server does not understand, the server MUST return a 400 (Bad Request) response. It MUST do this even if the To
Handley, et al. Standards Track [Page 34] RFC 2543 SIP: Session Initiation Protocol March 1999
Handley, et al. Standards Track [Page 34] RFC 2543 SIP: Session Initiation Protocol March 1999
header field contains a scheme it does understand. This is because proxies are responsible for processing the Request-URI; the To field is of end-to-end significance.
header field contains a scheme it does understand. This is because proxies are responsible for processing the Request-URI; the To field is of end-to-end significance.
4.3.1 SIP Version
4.3.1 SIP Version
Both request and response messages include the version of SIP in use, and follow [H3.1] (with HTTP replaced by SIP, and HTTP/1.1 replaced by SIP/2.0) regarding version ordering, compliance requirements, and upgrading of version numbers. To be compliant with this specification, applications sending SIP messages MUST include a SIP- Version of "SIP/2.0".
Both request and response messages include the version of SIP in use, and follow [H3.1] (with HTTP replaced by SIP, and HTTP/1.1 replaced by SIP/2.0) regarding version ordering, compliance requirements, and upgrading of version numbers. To be compliant with this specification, applications sending SIP messages MUST include a SIP- Version of "SIP/2.0".
4.4 Option Tags
4.4 Option Tags
Option tags are unique identifiers used to designate new options in SIP. These tags are used in Require (Section 6.30) and Unsupported (Section 6.38) fields.
Option tags are unique identifiers used to designate new options in SIP. These tags are used in Require (Section 6.30) and Unsupported (Section 6.38) fields.
Syntax:
Syntax:
option-tag = token
option-tag = token
See Section C for a definition of token. The creator of a new SIP option MUST either prefix the option with their reverse domain name or register the new option with the Internet Assigned Numbers Authority (IANA). For example, "com.foo.mynewfeature" is an apt name for a feature whose inventor can be reached at "foo.com". Individual organizations are then responsible for ensuring that option names don't collide. Options registered with IANA have the prefix "org.iana.sip.", options described in RFCs have the prefix "org.ietf.rfc.N", where N is the RFC number. Option tags are case- insensitive.
See Section C for a definition of token. The creator of a new SIP option MUST either prefix the option with their reverse domain name or register the new option with the Internet Assigned Numbers Authority (IANA). For example, "com.foo.mynewfeature" is an apt name for a feature whose inventor can be reached at "foo.com". Individual organizations are then responsible for ensuring that option names don't collide. Options registered with IANA have the prefix "org.iana.sip.", options described in RFCs have the prefix "org.ietf.rfc.N", where N is the RFC number. Option tags are case- insensitive.
4.4.1 Registering New Option Tags with IANA
4.4.1 Registering New Option Tags with IANA
When registering a new SIP option, the following information MUST be provided:
When registering a new SIP option, the following information MUST be provided:
o Name and description of option. The name MAY be of any length, but SHOULD be no more than twenty characters long. The name MUST consist of alphanum (See Figure 3) characters only;
o Name and description of option. The name MAY be of any length, but SHOULD be no more than twenty characters long. The name MUST consist of alphanum (See Figure 3) characters only;
Handley, et al. Standards Track [Page 35] RFC 2543 SIP: Session Initiation Protocol March 1999
Handley, et al. Standards Track [Page 35] RFC 2543 SIP: Session Initiation Protocol March 1999
o Indication of who has change control over the option (for example, IETF, ISO, ITU-T, other international standardization bodies, a consortium or a particular company or group of companies);
o Indication of who has change control over the option (for example, IETF, ISO, ITU-T, other international standardization bodies, a consortium or a particular company or group of companies);
o A reference to a further description, if available, for example (in order of preference) an RFC, a published paper, a patent filing, a technical report, documented source code or a computer manual;
o A reference to a further description, if available, for example (in order of preference) an RFC, a published paper, a patent filing, a technical report, documented source code or a computer manual;
o Contact information (postal and email address);
o Contact information (postal and email address);
Registrations should be sent to iana@iana.org
Registrations should be sent to iana@iana.org
This procedure has been borrowed from RTSP [4] and the RTP AVP [26].
This procedure has been borrowed from RTSP [4] and the RTP AVP [26].
5 Response
5 Response
After receiving and interpreting a request message, the recipient responds with a SIP response message. The response message format is shown below:
After receiving and interpreting a request message, the recipient responds with a SIP response message. The response message format is shown below:
Response = Status-Line ; Section 5.1 *( general-header | response-header | entity-header ) CRLF [ message-body ] ; Section 8
Response = Status-Line ; Section 5.1 *( general-header | response-header | entity-header ) CRLF [ message-body ] ; Section 8
SIP's structure of responses is similar to [H6], but is defined explicitly here.
SIP's structure of responses is similar to [H6], but is defined explicitly here.
5.1 Status-Line
5.1 Status-Line
The first line of a Response message is the Status-Line, consisting of the protocol version (Section 4.3.1) followed by a numeric Status-Code and its associated textual phrase, with each element separated by SP characters. No CR or LF is allowed except in the final CRLF sequence.
The first line of a Response message is the Status-Line, consisting of the protocol version (Section 4.3.1) followed by a numeric Status-Code and its associated textual phrase, with each element separated by SP characters. No CR or LF is allowed except in the final CRLF sequence.
Status-Line = SIP-version SP Status-Code SP Reason-Phrase CRLF
Status-Line = SIP-version SP Status-Code SP Reason-Phrase CRLF
Handley, et al. Standards Track [Page 36] RFC 2543 SIP: Session Initiation Protocol March 1999
Handley, et al. Standards Track [Page 36] RFC 2543 SIP: Session Initiation Protocol March 1999
5.1.1 Status Codes and Reason Phrases
5.1.1 Status Codes and Reason Phrases
The Status-Code is a 3-digit integer result code that indicates the outcome of the attempt to understand and satisfy the request. The Reason-Phrase is intended to give a short textual description of the Status-Code. The Status-Code is intended for use by automata, whereas the Reason-Phrase is intended for the human user. The client is not required to examine or display the Reason-Phrase.
The Status-Code is a 3-digit integer result code that indicates the outcome of the attempt to understand and satisfy the request. The Reason-Phrase is intended to give a short textual description of the Status-Code. The Status-Code is intended for use by automata, whereas the Reason-Phrase is intended for the human user. The client is not required to examine or display the Reason-Phrase.
Status-Code = Informational ;Fig. 5 | Success ;Fig. 5 | Redirection ;Fig. 6 | Client-Error ;Fig. 7 | Server-Error ;Fig. 8 | Global-Failure ;Fig. 9 | extension-code extension-code = 3DIGIT Reason-Phrase = *<TEXT-UTF8, excluding CR, LF>
Status-Code = Informational ;Fig. 5 | Success ;Fig. 5 | Redirection ;Fig. 6 | Client-Error ;Fig. 7 | Server-Error ;Fig. 8 | Global-Failure ;Fig. 9 | extension-code extension-code = 3DIGIT Reason-Phrase = *<TEXT-UTF8, excluding CR, LF>
We provide an overview of the Status-Code below, and provide full definitions in Section 7. The first digit of the Status-Code defines the class of response. The last two digits do not have any categorization role. SIP/2.0 allows 6 values for the first digit:
We provide an overview of the Status-Code below, and provide full definitions in Section 7. The first digit of the Status-Code defines the class of response. The last two digits do not have any categorization role. SIP/2.0 allows 6 values for the first digit:
1xx: Informational -- request received, continuing to process the request;
1xx: Informational -- request received, continuing to process the request;
2xx: Success -- the action was successfully received, understood, and accepted;
2xx: Success -- the action was successfully received, understood, and accepted;
3xx: Redirection -- further action needs to be taken in order to complete the request;
3xx: Redirection -- further action needs to be taken in order to complete the request;
4xx: Client Error -- the request contains bad syntax or cannot be fulfilled at this server;
4xx: Client Error -- the request contains bad syntax or cannot be fulfilled at this server;
5xx: Server Error -- the server failed to fulfill an apparently valid request;
5xx: Server Error -- the server failed to fulfill an apparently valid request;
6xx: Global Failure -- the request cannot be fulfilled at any server.
6xx: Global Failure -- the request cannot be fulfilled at any server.
Figures 5 through 9 present the individual values of the numeric response codes, and an example set of corresponding reason phrases for SIP/2.0. These reason phrases are only recommended; they may be replaced by local equivalents without affecting the protocol. Note
Figures 5 through 9 present the individual values of the numeric response codes, and an example set of corresponding reason phrases for SIP/2.0. These reason phrases are only recommended; they may be replaced by local equivalents without affecting the protocol. Note
Handley, et al. Standards Track [Page 37] RFC 2543 SIP: Session Initiation Protocol March 1999
Handley, et al. Standards Track [Page 37] RFC 2543 SIP: Session Initiation Protocol March 1999
that SIP adopts many HTTP/1.1 response codes. SIP/2.0 adds response codes in the range starting at x80 to avoid conflicts with newly defined HTTP response codes, and adds a new class, 6xx, of response codes.
that SIP adopts many HTTP/1.1 response codes. SIP/2.0 adds response codes in the range starting at x80 to avoid conflicts with newly defined HTTP response codes, and adds a new class, 6xx, of response codes.
SIP response codes are extensible. SIP applications are not required to understand the meaning of all registered response codes, though such understanding is obviously desirable. However, applications MUST understand the class of any response code, as indicated by the first digit, and treat any unrecognized response as being equivalent to the x00 response code of that class, with the exception that an unrecognized response MUST NOT be cached. For example, if a client receives an unrecognized response code of 431, it can safely assume that there was something wrong with its request and treat the response as if it had received a 400 (Bad Request) response code. In such cases, user agents SHOULD present to the user the message body returned with the response, since that message body is likely to include human-readable information which will explain the unusual status.
SIP response codes are extensible. SIP applications are not required to understand the meaning of all registered response codes, though such understanding is obviously desirable. However, applications MUST understand the class of any response code, as indicated by the first digit, and treat any unrecognized response as being equivalent to the x00 response code of that class, with the exception that an unrecognized response MUST NOT be cached. For example, if a client receives an unrecognized response code of 431, it can safely assume that there was something wrong with its request and treat the response as if it had received a 400 (Bad Request) response code. In such cases, user agents SHOULD present to the user the message body returned with the response, since that message body is likely to include human-readable information which will explain the unusual status.
Informational = "100" ; Trying | "180" ; Ringing | "181" ; Call Is Being Forwarded | "182" ; Queued Success = "200" ; OK
Informational = "100" ; Trying | "180" ; Ringing | "181" ; Call Is Being Forwarded | "182" ; Queued Success = "200" ; OK
Figure 5: Informational and success status codes
Figure 5: Informational and success status codes
Redirection = "300" ; Multiple Choices | "301" ; Moved Permanently | "302" ; Moved Temporarily | "303" ; See Other | "305" ; Use Proxy | "380" ; Alternative Service
Redirection = "300" ; Multiple Choices | "301" ; Moved Permanently | "302" ; Moved Temporarily | "303" ; See Other | "305" ; Use Proxy | "380" ; Alternative Service
Figure 6: Redirection status codes
Figure 6: Redirection status codes
Handley, et al. Standards Track [Page 38] RFC 2543 SIP: Session Initiation Protocol March 1999
Handley, et al. Standards Track [Page 38] RFC 2543 SIP: Session Initiation Protocol March 1999
Client-Error = "400" ; Bad Request | "401" ; Unauthorized | "402" ; Payment Required | "403" ; Forbidden | "404" ; Not Found | "405" ; Method Not Allowed | "406" ; Not Acceptable | "407" ; Proxy Authentication Required | "408" ; Request Timeout | "409" ; Conflict | "410" ; Gone | "411" ; Length Required | "413" ; Request Entity Too Large | "414" ; Request-URI Too Large | "415" ; Unsupported Media Type | "420" ; Bad Extension | "480" ; Temporarily not available | "481" ; Call Leg/Transaction Does Not Exist | "482" ; Loop Detected | "483" ; Too Many Hops | "484" ; Address Incomplete | "485" ; Ambiguous | "486" ; Busy Here
クライアント誤り=「400」。 悪い要求| "401" ; 権限のない| "402" ; 支払いが必要です。| "403" ; 禁じられます。| "404" ; 見つけられません。| "405" ; 許容されなかったメソッド| "406" ; 許容できない| "407" ; プロキシ認証が必要です。| "408" ; タイムアウトを要求してください。| "409" ; 闘争| "410" ; 行きます。| "411" ; 長さが必要です。| "413" ; 大き過ぎる状態で実体を要求してください。| "414" ; 要求URIも多| "415" ; サポートされないメディアタイプ| "420" ; 悪い拡大| "480" ; 一時利用可能ではありません。| "481" ; 呼び出し脚/トランザクションは存在していません。| "482" ; 検出された輪| "483" ; あまりに多くのホップ| "484" ; アドレス不完全です。| "485" ; あいまい| "486" ; ここで、忙しいです。
Figure 7: Client error status codes
図7: クライアント誤りステータスコード
Server-Error = "500" ; Internal Server Error | "501" ; Not Implemented | "502" ; Bad Gateway | "503" ; Service Unavailable | "504" ; Gateway Time-out | "505" ; SIP Version not supported
サーバ誤り=「500」。 内部サーバーエラー| "501" ; 実装されません。| "502" ; 悪いゲートウェイ| "503" ; 入手できないサービス| "504" ; ゲートウェイタイムアウト| "505" ; バージョンがサポートしなかったSIP
Figure 8: Server error status codes
エイト環: サーバ誤りステータスコード
6 Header Field Definitions
6 ヘッダーフィールド定義
SIP header fields are similar to HTTP header fields in both syntax and semantics. In particular, SIP header fields follow the syntax for message-header as described in [H4.2]. The rules for extending header fields over multiple lines, and use of multiple message-header fields with the same field-name, described in [H4.2] also apply to SIP. The
SIPヘッダーフィールドは構文と意味論の両方のHTTPヘッダ分野と同様です。 特に、SIPヘッダーフィールドは[H4.2]で説明されるようにメッセージヘッダーのための構文に従います。 また、複数の系列の上のヘッダーフィールド、および同じフィールド名による複数のメッセージヘッダーフィールドの使用が説明した広げる規則は[H4.2]でSIPに適用されます。 The
Handley, et al. Standards Track [Page 39] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[39ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
Global-Failure | "600" ; Busy Everywhere | "603" ; Decline | "604" ; Does not exist anywhere | "606" ; Not Acceptable
グローバルな失敗| "600" ; いたる所では、忙しいです。| "603" ; 衰退| "604" ; 何処にも、存在していません。| "606" ; 許容できない
Figure 9: Global failure status codes
図9: グローバルな失敗ステータスコード
rules in [H4.2] regarding ordering of header fields apply to SIP, with the exception of Via fields, see below, whose order matters. Additionally, header fields which are hop-by-hop MUST appear before any header fields which are end-to-end. Proxies SHOULD NOT reorder header fields. Proxies add Via header fields and MAY add other hop- by-hop header fields. They can modify certain header fields, such as Max-Forwards (Section 6.23) and "fix up" the Via header fields with "received" parameters as described in Section 6.40.1. Proxies MUST NOT alter any fields that are authenticated (see Section 13.2).
Via分野を除いて、分野がSIPに適用するヘッダーに注文することに関する[H4.2]の規則は以下を見て、オーダーは問題です。 さらに、ホップホップであるヘッダーフィールドは終わらせる終わりであるどんなヘッダーフィールドの前にも現れなければなりません。 プロキシSHOULD NOT追加注文ヘッダーフィールド。 プロキシは、Viaヘッダーフィールドを加えて、ホップによる他のホップヘッダーフィールドを加えるかもしれません。 彼らは、セクション6.40.1で説明されるように前方へマックスなどのあるヘッダーフィールド(セクション6.23)を変更して、「受け取られていている」パラメタでViaヘッダーフィールドを「修理できます」。 プロキシは認証されるどんな分野も変更してはいけません(セクション13.2を見てください)。
The header fields required, optional and not applicable for each method are listed in Table 4 and Table 5. The table uses "o" to indicate optional, "m" mandatory and "-" for not applicable. A "*" indicates that the header fields are needed only if message body is not empty. See sections 6.15, 6.16 and 8 for details.
各メソッドには、必要で、任意の、そして、適切でないヘッダーフィールドはTable4とTable5に記載されています。 示すテーブルの用途「○」任意で、「m」義務的と「-」、適切ではありません。 「*」は、メッセージ本体が空でない場合にだけヘッダーフィールドが必要であることを示します。 詳細に関してセクション6.15、6.16、および8を見てください。
The "where" column describes the request and response types with which the header field can be used. "R" refers to header fields that can be used in requests (that is, request and general header fields). "r" designates a response or general-header field as applicable to all responses, while a list of numeric values indicates the status codes with which the header field can be used. "g" and "e" designate general (Section 6.1) and entity header (Section 6.2) fields, respectively. If a header field is marked "c", it is copied from the request to the response.
「どこ」コラムはヘッダーフィールドを使用できる要求と応答タイプについて説明するか。 「R」は要求(すなわち、要求と一般的なヘッダーフィールド)で使用できるヘッダーフィールドを示します。 「r」はすべての応答に適切であるとして応答か一般的なヘッダーフィールドを指定します、数値のリストがヘッダーフィールドを使用できるステータスコードを示しますが。 「g」と「e」はそれぞれ一般(セクション6.1)と実体ヘッダー(セクション6.2)分野を指定します。 ヘッダーフィールドが「c」であるとマークされるなら、それは要求から応答までコピーされます。
The "enc." column describes whether this message header field MAY be encrypted end-to-end. A "n" designates fields that MUST NOT be encrypted, while "c" designates fields that SHOULD be encrypted if encryption is used.
このメッセージヘッダーフィールドが暗号化されるかもしれないか否かに関係なく. コラムが説明する"enc"の終わりから終わり。 「n」は暗号化してはいけない分野を指定します、暗号化が使用されているなら暗号化されていて、「c」はそのSHOULDに分野を指定しますが。
The "e-e" column has a value of "e" for end-to-end and a value of "h" for hop-by-hop header fields.
「電子e」コラムには、終わらせる終わりの「e」の値とホップごとのヘッダーフィールドのための「h」の値があります。
Handley, et al. Standards Track [Page 40] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[40ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
where enc. e-e ACK BYE CAN INV OPT REG __________________________________________________________ Accept R e - - - o o o Accept 415 e - - - o o o Accept-Encoding R e - - - o o o Accept-Encoding 415 e - - - o o o Accept-Language R e - o o o o o Accept-Language 415 e - o o o o o Allow 200 e - - - - m - Allow 405 e o o o o o o Authorization R e o o o o o o Call-ID gc n e m m m m m m Contact R e o - - o o o Contact 1xx e - - - o o - Contact 2xx e - - - o o o Contact 3xx e - o - o o o Contact 485 e - o - o o o Content-Encoding e e o - - o o o Content-Length e e o - - o o o Content-Type e e * - - * * * CSeq gc n e m m m m m m Date g e o o o o o o Encryption g n e o o o o o o Expires g e - - - o - o From gc n e m m m m m m Hide R n h o o o o o o Max-Forwards R n e o o o o o o Organization g c h - - - o o o
encどこ電子e ACK BYE CAN INV OPT REG__________________________________________________________ 受け入れる..コード化..コード化..言語..言語..許容..ID..接触;
Table 4: Summary of header fields, A--O
テーブル4: A--ヘッダーフィールドの概要、O
Other header fields can be added as required; a server MUST ignore header fields not defined in this specification that it does not understand. A proxy MUST NOT remove or modify header fields not defined in this specification that it does not understand. A compact form of these header fields is also defined in Section 9 for use over UDP when the request has to fit into a single packet and size is an issue.
必要に応じて他のヘッダーフィールドを加えることができます。 サーバはそれが理解していないこの仕様に基づき定義されなかったヘッダーフィールドを無視しなければなりません。 プロキシは、それが理解していないこの仕様に基づき定義されなかったヘッダーフィールドを、取り除いてはいけませんし、また変更してはいけません。 また、要求が単一のパケットに収まらなければならなくて、サイズが問題であるときに、これらのヘッダーフィールドのコンパクト形はUDPの上の使用のためにセクション9で定義されます。
Table 6 in Appendix A lists those header fields that different client and server types MUST be able to parse.
Appendix Aのテーブル6は異なったクライアントとサーバタイプが分析できなければならないそれらのヘッダーフィールドを記載します。
6.1 General Header Fields
6.1 一般ヘッダーフィールド
General header fields apply to both request and response messages. The "general-header" field names can be extended reliably only in combination with a change in the protocol version. However, new or
一般ヘッダーフィールドは要求と応答メッセージの両方に適用されます。 単にプロトコルバージョンにおける変化と組み合わせて「一般的なヘッダー」フィールド名を確かに広げることができます。 またはしかしながら、新しさ。
Handley, et al. Standards Track [Page 41] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[41ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
where enc. e-e ACK BYE CAN INV OPT REG ___________________________________________________________________ Proxy-Authenticate 407 n h o o o o o o Proxy-Authorization R n h o o o o o o Proxy-Require R n h o o o o o o Priority R c e - - - o - - Require R e o o o o o o Retry-After R c e - - - - - o Retry-After 404,480,486 c e o o o o o o 503 c e o o o o o o 600,603 c e o o o o o o Response-Key R c e - o o o o o Record-Route R h o o o o o o Record-Route 2xx h o o o o o o Route R h o o o o o o Server r c e o o o o o o Subject R c e - - - o - - Timestamp g e o o o o o o To gc(1) n e m m m m m m Unsupported 420 e o o o o o o User-Agent g c e o o o o o o Via gc(2) n e m m m m m m Warning r e o o o o o o WWW-Authenticate 401 c e o o o o o o
encどこ電子e ACK BYE CAN INV OPT REG___________________________________________________________________ プロキシ認証、R n h o o o o o oがProxy必要とする407n h o o o o o o Proxy-承認R n h o o o o o o Priority R c e------o----R e o o o o o o後のRetry R c eが必要であってください----------o後のRetry4億448万486c e o o o o o o503c e o o o o o o600;
Table 5: Summary of header fields, P--Z; (1): copied with possible addition of tag; (2): UAS removes first Via header field
テーブル5: P--ヘッダーフィールドの概要、Z。 (1): タグの可能な追加で、コピーされます。 (2): UASは最初のViaヘッダーフィールドを取り除きます。
experimental header fields MAY be given the semantics of general header fields if all parties in the communication recognize them to be "general-header" fields. Unrecognized header fields are treated as "entity-header" fields.
コミュニケーションにおけるすべてのパーティーが、彼らが「一般的なヘッダー」分野であると認めるなら、一般的なヘッダーフィールドの意味論を実験ヘッダーフィールドに与えるかもしれません。 認識されていないヘッダーフィールドは「実体ヘッダー」分野として扱われます。
6.2 Entity Header Fields
6.2 実体ヘッダーフィールド
The "entity-header" fields define meta-information about the message-body or, if no body is present, about the resource identified by the request. The term "entity header" is an HTTP 1.1 term where the response body can contain a transformed version of the message body. The original message body is referred to as the "entity". We retain the same terminology for header fields but usually refer to the "message body" rather then the entity as the two are the same in SIP.
「実体ヘッダー」分野がメッセージ本体のメタ情報を定義するか、またはボディーはいいえなら存在しています、要求で特定されたリソースに関して。 用語「実体ヘッダー」はHTTPです。応答本体がメッセージ本体の変成しているバージョンを含むことができる1.1用語。 オリジナルのメッセージ本体は「実体」と呼ばれます。 私たちは、ヘッダーフィールドのための同じ用語を保有しますが、通常、むしろ「メッセージ本体」について言及して、次に、2としての実体はSIPで同じです。
Handley, et al. Standards Track [Page 42] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[42ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
6.3 Request Header Fields
6.3 要求ヘッダーフィールド
The "request-header" fields allow the client to pass additional information about the request, and about the client itself, to the server. These fields act as request modifiers, with semantics equivalent to the parameters of a programming language method invocation.
クライアントは「要求ヘッダー」分野で要求、およびクライアント自身に関する追加情報を通過できます、サーバに。これらの分野は要求修飾語として機能します、プログラミング言語メソッド実施のパラメタに同等な意味論で。
The "request-header" field names can be extended reliably only in combination with a change in the protocol version. However, new or experimental header fields MAY be given the semantics of "request- header" fields if all parties in the communication recognize them to be request-header fields. Unrecognized header fields are treated as "entity-header" fields.
単にプロトコルバージョンにおける変化と組み合わせて「要求ヘッダー」フィールド名を確かに広げることができます。 しかしながら、コミュニケーションにおけるすべてのパーティーが、彼らが要求ヘッダーフィールドであると認めるなら、「要求ヘッダー」分野の意味論を新しいか実験しているヘッダーフィールドに与えるかもしれません。 認識されていないヘッダーフィールドは「実体ヘッダー」分野として扱われます。
6.4 Response Header Fields
6.4 応答ヘッダーフィールド
The "response-header" fields allow the server to pass additional information about the response which cannot be placed in the Status- Line. These header fields give information about the server and about further access to the resource identified by the Request-URI.
「応答ヘッダ」分野で、サーバはStatus線に置くことができない応答に関する追加情報を通過できます。 これらのヘッダーフィールドはサーバの周りと、そして、Request-URIによって特定されたリソースへのさらなるアクセスの周りに関して知らせます。
Response-header field names can be extended reliably only in combination with a change in the protocol version. However, new or experimental header fields MAY be given the semantics of "response- header" fields if all parties in the communication recognize them to be "response-header" fields. Unrecognized header fields are treated as "entity-header" fields.
単にプロトコルバージョンにおける変化と組み合わせて応答ヘッダフィールド名を確かに広げることができます。 しかしながら、コミュニケーションにおけるすべてのパーティーが、彼らが「応答ヘッダ」分野であると認めるなら、「応答ヘッダー」分野の意味論を新しいか実験しているヘッダーフィールドに与えるかもしれません。 認識されていないヘッダーフィールドは「実体ヘッダー」分野として扱われます。
6.5 End-to-end and Hop-by-hop Headers
6.5 終わりから終わりとホップごとのヘッダー
End-to-end headers MUST be transmitted unmodified across all proxies, while hop-by-hop headers MAY be modified or added by proxies.
すべてのプロキシの向こう側に変更されていなく終わりから終わりへのヘッダーを伝えなければなりませんが、ホップごとのヘッダーは、プロキシによって変更されるか、または加えられるかもしれません。
6.6 Header Field Format
6.6 ヘッダーフィールド形式
Header fields ("general-header", "request-header", "response-header", and "entity-header") follow the same generic header format as that given in Section 3.1 of RFC 822 [24]. Each header field consists of a name followed by a colon (":") and the field value. Field names are case-insensitive. The field value MAY be preceded by any amount of leading white space (LWS), though a single space (SP) is preferred. Header fields can be extended over multiple lines by preceding each extra line with at least one SP or horizontal tab (HT). Applications MUST follow HTTP "common form" when generating these constructs, since there might exist some implementations that fail to accept anything beyond the common forms.
ヘッダーフィールド(「一般的なヘッダー」、「要求ヘッダー」、「応答ヘッダ」、および「実体ヘッダー」)はRFC822[24]のセクション3.1におけるそんなに与えられるのと同じジェネリックヘッダー形式に続きます。 各ヘッダーフィールドがコロンがあとに続いた名前から成る、(「:」、)、そして、分野値。 フィールド名は大文字と小文字を区別しないです。 どんな量の主な余白(LWS)も分野値に先行するかもしれません、シングルスペース(SP)は好まれますが。 ヘッダーフィールドは、それぞれの付加的な系列に先行することによって複数の系列の上で広げられるか少なくとも1SPと共に水平タブであるかもしれません(HT)。 これらの構造物を生成するとき、アプリケーションはHTTP「一般的なフォーム」に続かなければなりません、何も一般的なフォームを超えたところまで受け入れないいくつかの実装が存在するかもしれないので。
Handley, et al. Standards Track [Page 43] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[43ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
message-header = field-name ":" [ field-value ] CRLF field-name = token field-value = *( field-content | LWS ) field-content = < the OCTETs making up the field-value and consisting of either *TEXT-UTF8 or combinations of token, separators, and quoted-string>
「メッセージヘッダー=フィールド名」:、」 OCTETs作成が分野値と成ることを上げる[分野値]*(分野内容| LWS)分野CRLFフィールド名=トークン分野価値=内容=<*トークンのTEXT-UTF8か組み合わせ、分離符、および引用文字列>。
The relative order of header fields with different field names is not significant. Multiple header fields with the same field-name may be present in a message if and only if the entire field-value for that header field is defined as a comma-separated list (i.e., #(values)). It MUST be possible to combine the multiple header fields into one "field-name: field-value" pair, without changing the semantics of the message, by appending each subsequent field-value to the first, each separated by a comma. The order in which header fields with the same field-name are received is therefore significant to the interpretation of the combined field value, and thus a proxy MUST NOT change the order of these field values when a message is forwarded.
異なったフィールド名があるヘッダーフィールドの相対オーダは重要ではありません。 そして、同じフィールド名がある複数のヘッダーフィールドがメッセージに存在しているかもしれない、そのヘッダーフィールドのための全体の分野値がコンマで切り離されたリスト(すなわち、#値())と定義される場合にだけ。 複数のヘッダーフィールドを1つに結合するのが可能であるに違いない、「フィールド名:」 それぞれのその後の分野値を1日に追加することによってメッセージの意味論を変えないで、「分野値」組はコンマでそれぞれ分離しました。 したがって、同じフィールド名があるヘッダーフィールドが受け取られているオーダーは結合した分野価値の解釈に重要です、そして、メッセージを転送するとき、その結果、プロキシはこれらの分野値の注文を変えてはいけません。
Field names are not case-sensitive, although their values may be.
それらの値は大文字と小文字を区別しますが、フィールド名は大文字と小文字を区別していません。
6.7 Accept
6.7は受け入れます。
The Accept header follows the syntax defined in [H14.1]. The semantics are also identical, with the exception that if no Accept header is present, the server SHOULD assume a default value of application/sdp.
Acceptヘッダーは[H14.1]で定義された構文に従います。 また、意味論も同じです、Acceptヘッダーでないなら存在している例外で、SHOULDがアプリケーション/sdpのデフォルト値であると仮定するサーバ。
This request-header field is used only with the INVITE, OPTIONS and REGISTER request methods to indicate what media types are acceptable in the response.
この要求ヘッダーフィールドは単にINVITE、OPTIONS、およびどんなメディアタイプが応答で許容しているかを示すREGISTER要求メソッドで使用されます。
Example:
例:
Accept: application/sdp;level=1, application/x-private, text/html
受け入れます: アプリケーション/sdp; レベルは1、xアプリケーション/個人的なテキスト/htmlと等しいです。
6.8 Accept-Encoding
6.8、コード化を受け入れます。
The Accept-Encoding request-header field is similar to Accept, but restricts the content-codings [H3.4.1] that are acceptable in the response. See [H14.3]. The syntax of this header is defined in [H14.3]. The semantics in SIP are identical to those defined in [H14.3].
Acceptをコード化している要求ヘッダーフィールドは、Acceptと同様ですが、応答で許容できる満足しているコーディング[H3.4.1]を制限します。 [H14.3]を見てください。 このヘッダーの構文は[H14.3]で定義されます。 SIPの意味論は[H14.3]で定義されたものと同じです。
Handley, et al. Standards Track [Page 44] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[44ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
6.9 Accept-Language
6.9、言語を受け入れます。
The Accept-Language header follows the syntax defined in [H14.4]. The rules for ordering the languages based on the q parameter apply to SIP as well. When used in SIP, the Accept-Language request-header field can be used to allow the client to indicate to the server in which language it would prefer to receive reason phrases, session descriptions or status responses carried as message bodies. A proxy MAY use this field to help select the destination for the call, for example, a human operator conversant in a language spoken by the caller.
Accept-言語ヘッダーは[H14.4]で定義された構文に従います。 言語をqパラメタに基礎づけるよう命令するための規則はまた、SIPに適用されます。 SIPで使用されると、クライアントが、それが、メッセージ本体として運ばれた理由句、セッション記述または状態応答を受け取るのをどの言語で好むかをサーバに示すのを許容するのにAccept-言語要求ヘッダーフィールドを使用できます。 プロキシは、呼び出し、例えば、訪問者によって話された言語で詳しい人間のオペレータのために目的地を選択するのを助けるのにこの分野を使用するかもしれません。
Example:
例:
Accept-Language: da, en-gb;q=0.8, en;q=0.7
言語を受け入れます: da、アン-gb; q=0.8、アン; q=0.7
6.10 Allow
6.10は許容します。
The Allow entity-header field lists the set of methods supported by the resource identified by the Request-URI. The purpose of this field is strictly to inform the recipient of valid methods associated with the resource. An Allow header field MUST be present in a 405 (Method Not Allowed) response and SHOULD be present in an OPTIONS response.
Allow実体ヘッダーフィールドはRequest-URIによって特定されたリソースによってサポートされたメソッドのセットを記載します。 この分野の目的はリソースに関連している有効なメソッドについて厳密に受取人に知らせることです。 AllowヘッダーフィールドはOPTIONSでのプレゼントが応答であったなら405(メソッドNot Allowed)応答とSHOULDに存在していなければなりません。
Allow = "Allow" ":" 1#Method
「=「許容」を許してください」:、」 1#メソッド
6.11 Authorization
6.11 承認
A user agent that wishes to authenticate itself with a server -- usually, but not necessarily, after receiving a 401 response -- MAY do so by including an Authorization request-header field with the request. The Authorization field value consists of credentials containing the authentication information of the user agent for the realm of the resource being requested.
サーバで通常それ自体を認証しますが、401応答--要求でAuthorization要求ヘッダーフィールドを含んでいることによってそうするかもしれないのを受けた後に必ず認証したがっているというわけではないユーザエージェント。 Authorization分野価値は要求されているリソースの分野にユーザエージェントの認証情報を含む資格証明書から成ります。
Section 13.2 overviews the use of the Authorization header, and section 15 describes the syntax and semantics when used with PGP based authentication.
15をAuthorizationヘッダーに使用して、区分してください。セクション13.2 概要、PGPに基づいている認証と共に使用されると、構文と意味論について説明します。
Handley, et al. Standards Track [Page 45] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[45ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
6.12 Call-ID
6.12 呼び出しID
The Call-ID general-header field uniquely identifies a particular invitation or all registrations of a particular client. Note that a single multimedia conference can give rise to several calls with different Call-IDs, e.g., if a user invites a single individual several times to the same (long-running) conference.
Call-IDの一般的なヘッダーフィールドは唯一特定の招待状か特定のクライアントのすべての登録証明書を特定します。 ただ一つのマルチメディア会議が異なったCall-IDとのいくつかの呼び出しをもたらすことができることに注意してください、例えば、ユーザが何度か同じ(長い実行すること)の会議に単独の個人を招待するなら。
For an INVITE request, a callee user agent server SHOULD NOT alert the user if the user has responded previously to the Call-ID in the INVITE request. If the user is already a member of the conference and the conference parameters contained in the session description have not changed, a callee user agent server MAY silently accept the call, regardless of the Call-ID. An invitation for an existing Call-ID or session can change the parameters of the conference. A client application MAY decide to simply indicate to the user that the conference parameters have been changed and accept the invitation automatically or it MAY require user confirmation.
INVITE要求のために、SHOULD NOTがユーザであるならユーザに警告する訪問される人ユーザエージェントサーバは以前に、INVITE要求におけるCall-IDに反応しました。 ユーザが既に会議のメンバーであり、セッション記述に含まれた会議パラメタが変化していないなら、訪問される人ユーザエージェントサーバは静かに呼び出しを受け入れるかもしれません、Call-IDにかかわらず。 既存のCall-IDかセッションのための招待状は会議のパラメタを変えることができます。 クライアントアプリケーションが、会議パラメタが変えられたのを単にユーザに示して、自動的に招待に応じると決めるかもしれませんか、またはそれはユーザ確認を必要とするかもしれません。
A user may be invited to the same conference or call using several different Call-IDs. If desired, the client MAY use identifiers within the session description to detect this duplication. For example, SDP contains a session id and version number in the origin (o) field.
ユーザは、いくつかの異なったCall-IDを使用することで同じ会議か呼び出しに招待されるかもしれません。 望まれているなら、クライアントは、この複製を検出するのにセッション記述の中で識別子を使用するかもしれません。 例えば、SDPは発生源(o)分野にセッションイドとバージョン番号を保管しています。
The REGISTER and OPTIONS methods use the Call-ID value to unambiguously match requests and responses. All REGISTER requests issued by a single client SHOULD use the same Call-ID, at least within the same boot cycle.
REGISTERとOPTIONSメソッドは、明白に要求と応答に合うのにCall-ID値を使用します。 独身のクライアントSHOULDによって出されたすべてのREGISTER要求が少なくとも同じブーツサイクルの中に同じCall-IDを使用します。
Since the Call-ID is generated by and for SIP, there is no reason to deal with the complexity of URL-encoding and case-ignoring string comparison.
Call-IDがSIPとSIPのために生成されるので、URLをコード化していてケースを無視するストリング比較の複雑さに対処する理由が全くありません。
Call-ID = ( "Call-ID" | "i" ) ":" local-id "@" host local-id = 1*uric
「呼び出しID=(「呼び出しID」| 「i」)」:、」 ローカルのイド"@"ホストローカルのイド=1*尿です。
"host" SHOULD be either a fully qualified domain name or a globally routable IP address. If this is the case, the "local-id" SHOULD be an identifier consisting of URI characters that is unique within "host". Use of cryptographically random identifiers [27] is RECOMMENDED. If, however, host is not an FQDN or globally routable IP address (such as a net 10 address), the local-id MUST be globally unique, as opposed
「ホスト」SHOULDはそうです。完全修飾ドメイン名かグローバルに発送可能なIPアドレス。 これであるなら、URIキャラクタの識別子の成るのが「ホスト」の中でユニークであったなら、ケース、「ローカルのイド」はSHOULDですか? 使用、暗号で、無作為の識別子[27]はRECOMMENDEDです。 しかしながら、ホストがFQDNでなくて、またまたはグローバルに発送可能なIPアドレス(ネットの10アドレスなどの)でもないなら、ローカルのイドはグローバルにユニークでなければなりません、反対されるように
Handley, et al. Standards Track [Page 46] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[46ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
to unique within host. These rules guarantee overall global uniqueness of the Call-ID. The value for Call-ID MUST NOT be reused for a different call. Call-IDs are case-sensitive.
ホストの中で特有に。 これらの規則はCall-IDの総合的なグローバルなユニークさを保証します。 異なった呼び出しのためにCall-IDへの値を再利用してはいけません。 呼び出しIDは大文字と小文字を区別しています。
Using cryptographically random identifiers provides some protection against session hijacking. Call-ID, To and From are needed to identify a call leg. The distinction between call and call leg matters in calls with third-party control.
暗号で無作為の識別子を使用すると、セッションハイジャックに対する何らかの保護が提供されます。 呼び出しID、To、およびFromが呼び出し脚を特定するのが必要です。呼び出しと呼び出し脚の区別は第三者コントロールによる呼び出しで重要です。
For systems which have tight bandwidth constraints, many of the mandatory SIP headers have a compact form, as discussed in Section 9. These are alternate names for the headers which occupy less space in the message. In the case of Call-ID, the compact form is i.
義務的なSIPヘッダーの多くには、きつい帯域幅規制を持っているシステムのために、コンパクト形があります、セクション9で議論するように。 これらはメッセージの、より少ないスペースを占めるヘッダーのための別名称です。 Call-IDの場合では、コンパクト形はiです。
For example, both of the following are valid:
例えば、以下の両方が有効です:
Call-ID: f81d4fae-7dec-11d0-a765-00a0c91e6bf6@foo.bar.com
呼び出しID: f81d4fae-7dec-11d0-a765-00a0c91e6bf6@foo.bar.com
or
または
i:f81d4fae-7dec-11d0-a765-00a0c91e6bf6@foo.bar.com
i: f81d4fae-7dec-11d0-a765-00a0c91e6bf6@foo.bar.com
6.13 Contact
6.13 接触
The Contact general-header field can appear in INVITE, ACK, and REGISTER requests, and in 1xx, 2xx, 3xx, and 485 responses. In general, it provides a URL where the user can be reached for further communications.
Contactの一般的なヘッダーフィールドはINVITEと、ACKと、REGISTER要求、1xx、2xx、3xx、および485の応答に現れることができます。 一般に、それはさらにユーザに触れることができるURLにコミュニケーションを提供します。
INVITE and ACK requests: INVITE and ACK requests MAY contain Contact headers indicating from which location the request is originating.
INVITEとACK要求: INVITEとACK要求は要求がどの位置から起因しているかを示すContactヘッダーを含むかもしれません。
This allows the callee to send future requests, such as BYE, directly to the caller instead of through a series of proxies. The Via header is not sufficient since the desired address may be that of a proxy.
これで、訪問される人は一連のプロキシの代わりにBYEなどと、直接訪問者に今後の要求を送ることができます。 Viaヘッダーは、必要なアドレスがプロキシのものであるかもしれないので、十分ではありません。
INVITE 2xx responses: A user agent server sending a definitive, positive response (2xx) MAY insert a Contact response header field indicating the SIP address under which it is reachable most directly for future SIP requests, such as ACK, within the
INVITE 2xx応答: 決定的で、積極的な応答(2xx)を送るユーザエージェントサーバは直接今後のSIP要求において、それが最も届いているSIPアドレスを示すContact応答ヘッダーフィールドを挿入するかもしれません、中のACKなどのように
Handley, et al. Standards Track [Page 47] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[47ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
same Call-ID. The Contact header field contains the address of the server itself or that of a proxy, e.g., if the host is behind a firewall. The value of this Contact header is copied into the Request-URI of subsequent requests for this call if the response did not also contain a Record-Route header. If the response also contains a Record-Route header field, the address in the Contact header field is added as the last item in the Route header field. See Section 6.29 for details.
同じCall-ID。 Contactヘッダーフィールドはサーバ自体のアドレスかプロキシのものを含んでいます、例えば、ホストがファイアウォールの後ろにいるなら。 また、応答がRecord-ルートヘッダーを含まなかったなら、このContactヘッダーの値はこの呼び出しを求めるその後の要求のRequest-URIにコピーされます。 また、応答がRecord-ルートヘッダーフィールドを含んでいるなら、ContactヘッダーフィールドにおけるアドレスはRouteヘッダーフィールドにおける最後の項目として加えられます。 詳細に関してセクション6.29を見てください。
The Contact value SHOULD NOT be cached across calls, as it may not represent the most desirable location for a particular destination address.
表さないかもしれないように、Contact値のSHOULD NOTが呼び出しの向こう側にキャッシュされて、特定の送付先アドレスのために最も望ましい位置を表してください。
INVITE 1xx responses: A UAS sending a provisional response (1xx) MAY insert a Contact response header. It has the same semantics in a 1xx response as a 2xx INVITE response. Note that CANCEL requests MUST NOT be sent to that address, but rather follow the same path as the original request.
INVITE 1xx応答: 暫定的な応答(1xx)を送るUASはContact応答ヘッダを挿入するかもしれません。 それは2xx INVITE応答として1xx応答で同じ意味論を持っています。 キャンセル要求をそのアドレスに送ってはいけないことに注意しなさい、ただし、むしろオリジナルの要求と同じ経路に続いてください。
REGISTER requests: REGISTER requests MAY contain a Contact header field indicating at which locations the user is reachable. The REGISTER request defines a wildcard Contact field, "*", which MUST only be used with Expires: 0 to remove all registrations for a particular user. An optional "expires" parameter indicates the desired expiration time of the registration. If a Contact entry does not have an "expires" parameter, the Expires header field is used as the default value. If neither of these mechanisms is used, SIP URIs are assumed to expire after one hour. Other URI schemes have no expiration times.
REGISTER要求: REGISTER要求はユーザがどの位置で届いているかを示すContactヘッダーフィールドを含むかもしれません。 要求とワイルドカードContact分野、使用するだけでよい「*」を定義するREGISTERは期限が切れます: 0 すべての登録証明書を特定のユーザに移すために。 任意の「期限が切れ」パラメタは登録の必要な満了時間を示します。 Contactエントリーに「期限が切れ」パラメタがないなら、Expiresヘッダーフィールドはデフォルト値として使用されます。 これらのメカニズムのどちらも使用されていないなら、SIP URIが1時間後に期限が切れると思われます。 他のURI体系には、満了時が全くありません。
REGISTER 2xx responses: A REGISTER response MAY return all locations at which the user is currently reachable. An optional "expires" parameter indicates the expiration time of the registration. If a Contact entry does not have an "expires" parameter, the value of the Expires header field indicates the expiration time. If neither mechanism is used, the expiration time specified in the request, explicitly or by default, is used.
REGISTER 2xx応答: REGISTER応答はユーザが現在届いているすべての位置を返すかもしれません。 任意の「期限が切れ」パラメタは登録の満了時間を示します。 Contactエントリーに「期限が切れ」パラメタがないなら、Expiresヘッダーフィールドの値は満了時間を示します。 どちらのメカニズムも使用されていないなら、要求で指定された満了時間は明らかかデフォルトで使用されています。
3xx and 485 responses: The Contact response-header field can be used with a 3xx or 485 (Ambiguous) response codes to indicate one or more alternate addresses to try. It can appear in responses to BYE, INVITE and OPTIONS methods. The Contact header field contains URIs giving the new locations or user names to try, or may simply specify additional transport parameters. A 300 (Multiple Choices), 301 (Moved Permanently), 302 (Moved Temporarily) or 485 (Ambiguous) response SHOULD contain a Contact field containing URIs of new addresses to be tried. A
3xxと485の応答: 試みるために1つ以上の代替アドレスを示すのに3xxか485の(あいまい)の応答コードと共にContact応答ヘッダ分野を使用できます。 それはBYE、INVITE、およびOPTIONSメソッドへの応答に現れることができます。 Contactヘッダーフィールドは、試みるために新しい位置かユーザに名前を与えるURIを含んでいるか、または単に追加輸送パラメタを指定するかもしれません。 300(複数のChoices)、301(Permanentlyを動かす)、302(Temporarilyを動かす)または485(あいまいな)応答SHOULDが試みられるべき新しいアドレスのURIを含むContact分野を含んでいます。 A
Handley, et al. Standards Track [Page 48] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[48ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
301 or 302 response may also give the same location and username that was being tried but specify additional transport parameters such as a different server or multicast address to try or a change of SIP transport from UDP to TCP or vice versa. The client copies the "user", "password", "host", "port" and "user- param" elements of the Contact URI into the Request-URI of the redirected request and directs the request to the address specified by the "maddr" and "port" parameters, using the transport protocol given in the "transport" parameter. If "maddr" is a multicast address, the value of "ttl" is used as the time-to-live value.
301か302応答は、また、試みられていた同じ位置とユーザ名を与えますが、UDPからTCPまでの異なったサーバ、試みるマルチキャストアドレスまたはSIP輸送の変化などの追加輸送パラメタを指定するかもしれませんか、逆もまた同様です。 クライアントは、向け直すことのRequest-URIへのContact URIの要素が要求する「ユーザ」、「パスワード」、「ホスト」、「ポート」、および「ユーザparam」をコピーして、"maddr"と「ポート」パラメタによって指定されたアドレスに要求を向けます、「輸送」パラメタで与えられたトランスポート・プロトコルを使用して。 "maddr"がマルチキャストアドレスであるなら、"ttl"の値は生きる時間値として使用されます。
Note that the Contact header field MAY also refer to a different entity than the one originally called. For example, a SIP call connected to GSTN gateway may need to deliver a special information announcement such as "The number you have dialed has been changed."
また、Contactヘッダーフィールドが元々呼ばれたものと異なった実体について言及するかもしれないことに注意してください。 例えば、GSTNゲートウェイへのSIP接続完了は、「あなたがダイヤルした番号を変えなどだったことなど」の特別な情報発表を提供する必要があるかもしれません。
A Contact response header field can contain any suitable URI indicating where the called party can be reached, not limited to SIP URLs. For example, it could contain URL's for phones, fax, or irc (if they were defined) or a mailto: (RFC 2368, [28]) URL.
Contact応答ヘッダーフィールドはSIP URLに制限されるのではなく、どこに被呼者に連絡できるかを示すどんな適当なURIも含むことができます。 例えば、電話、ファックス、irc(それらが定義されたなら)またはmailtoのためのURLを含むかもしれません: (RFC2368、[28]) URL。
The following parameters are defined. Additional parameters may be defined in other specifications.
以下のパラメタは定義されます。 追加パラメタは他の仕様に基づき定義されるかもしれません。
q: The "qvalue" indicates the relative preference among the locations given. "qvalue" values are decimal numbers from 0 to 1, with higher values indicating higher preference.
q: "qvalue"は与えられた位置の中に相対的選好を示します。 0〜1まで"qvalue"値は、より高い好みを示すより高い値がある10進数です。
action: The "action" parameter is used only when registering with the REGISTER request. It indicates whether the client wishes that the server proxy or redirect future requests intended for the client. If this parameter is not specified the action taken depends on server configuration. In its response, the registrar SHOULD indicate the mode used. This parameter is ignored for other requests.
動作: REGISTER要求とともに記名するときだけ、「動作」パラメタは使用されています。 それは、クライアントが、そのサーバプロキシの、または、再直接の未来が要求することを願っているかどうかをクライアントのために意図していた状態で示します。 このパラメタが指定されないなら、取られた行動はサーバ構成に依存します。 応答では、記録係SHOULDは、モードが使用したのを示します。 このパラメタは他の要求のために無視されます。
expires: The "expires" parameter indicates how long the URI is valid. The parameter is either a number indicating seconds or a quoted string containing a SIP-date. If this parameter is not provided, the value of the Expires header field determines how long the URI is valid. Implementations MAY treat values larger than 2**32-1 (4294967295 seconds or 136 years) as equivalent to 2**32-1.
期限が切れます: 「期限が切れ」パラメタは、URIがどれくらい長い間有効であるかを示します。 パラメタは、SIP-日付を含む秒を示す数か引用文字列のどちらかです。 このパラメタが提供されないなら、Expiresヘッダーフィールドの値は、URIがどれくらい長い間有効であるかを決定します。 実装は2**32-1に同じくらい同等な2**32-1(4294967295秒か136年)より大きい値を扱うかもしれません。
Contact = ( "Contact" | "m" ) ":" ("*" | (1# (( name-addr | addr-spec ) [ *( ";" contact-params ) ] [ comment ] )))
「接触=(「接触」| 「m」)」:、」 ; (「*」|、(1#名前-addr(| addr-仕様)、[*、(「」、接触-params] [コメント)
name-addr = [ display-name ] "<" addr-spec ">" addr-spec = SIP-URL | URI display-name = *token | quoted-string
名前-addrは"<"addr-仕様">"addr-仕様=一口URLと等しいです[ディスプレイ名]。| URIディスプレイ名の=*トークン| 引用文字列
contact-params = "q" "=" qvalue | "action" "=" "proxy" | "redirect" | "expires" "=" delta-seconds | <"> SIP-date <"> | extension-attribute
接触-params=「q」はqvalueと「等しいです」。| 「動作」は「プロキシ」と「等しいです」。| 「再直接です」。| 「=」デルタ秒を「吐き出します」。| <、「>一口日付の<">"| 拡大属性
extension-attribute = extension-name [ "=" extension-value ]
拡大属性=拡大名[「=」拡大価値]
only allows one address, unquoted. Since URIs can contain commas and semicolons as reserved characters, they can be mistaken for header or parameter delimiters, respectively. The current syntax corresponds to that for the To and From header, which also allows the use of display names.
引用を終わられて、1つのアドレスしか許容しません。 URIが控え目なキャラクタとしてコンマとセミコロンを含むことができるので、それぞれヘッダーかパラメタデリミタに彼らを間違えることができます。 現在の構文はToとFromヘッダーのためのそれに対応しています。(また、それは、ディスプレイ名の使用を許します)。
Example:
例:
Contact: "Mr. Watson" <sip:watson@worcester.bell-telephone.com> ;q=0.7; expires=3600, "Mr. Watson" <mailto:watson@bell-telephone.com> ;q=0.1
接触: 「ワトソンさん」<一口: watson@worcester.bell-telephone.com 、gt;、; q=0.7。 「ワトソンさん」<mailto: =3600、 watson@bell-telephone.com を吐き出す、gt;、;、q=0.1
6.14 Content-Encoding
6.14 内容コード化
Content-Encoding = ( "Content-Encoding" | "e" ) ":" 1#content-coding
「内容をコード化する=(| 「e」を「内容でコード化する」)」:、」 1#内容をコード化しています。
The Content-Encoding entity-header field is used as a modifier to the "media-type". When present, its value indicates what additional content codings have been applied to the entity-body, and thus what decoding mechanisms MUST be applied in order to obtain the media-type referenced by the Content-Type header field. Content-Encoding is primarily used to allow a body to be compressed without losing the identity of its underlying media type.
Contentをコード化している実体ヘッダーフィールドは修飾語として「メディアタイプ」に使用されます。 存在しているとき、値はどんな追加満足しているコーディングが実体本体に適用されるか、そして、その結果、コンテントタイプヘッダーフィールドによって参照をつけられるメディアタイプを得るためにどんな解読メカニズムを適用しなければならないかを示します。 内容コード化は、ボディーが基本的なメディアタイプのアイデンティティを失わないで圧縮されるのを許容するのに主として使用されます。
If multiple encodings have been applied to an entity, the content codings MUST be listed in the order in which they were applied.
複数のencodingsが実体に適用されたなら、それらが適用されたオーダーに満足しているコーディングを記載しなければなりません。
All content-coding values are case-insensitive. The Internet Assigned Numbers Authority (IANA) acts as a registry for content-coding value tokens. See [3.5] for a definition of the syntax for content-coding.
すべての内容をコード化する値が大文字と小文字を区別しないです。 インターネットAssigned民数記Authority(IANA)は内容をコード化する値のトークンのための登録として機能します。 内容でコード化するための構文の定義のための[3.5]を見てください。
Clients MAY apply content encodings to the body in requests. If the server is not capable of decoding the body, or does not recognize any of the content-coding values, it MUST send a 415 "Unsupported Media Type" response, listing acceptable encodings in the Accept-Encoding
クライアントは内容encodingsを要求におけるボディーに当てるかもしれません。 サーバがボディーを解読できませんし、内容をコード化する値のいずれも認識もしないなら、415「サポートされないメディアタイプ」応答を送らなければなりません、Accept-コード化で許容できるencodingsを記載して
Handley, et al. Standards Track [Page 50] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[50ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
header. A server MAY apply content encodings to the bodies in responses. The server MUST only use encodings listed in the Accept- Encoding header in the request.
ヘッダー。 サーバは応答で内容encodingsをボディーに当てるかもしれません。 サーバは要求でヘッダーをコード化しながらAcceptに記載されたencodingsを使用するだけでよいです。
6.15 Content-Length
6.15 コンテンツの長さ
The Content-Length entity-header field indicates the size of the message-body, in decimal number of octets, sent to the recipient.
Content-長さの実体ヘッダーフィールドは、八重奏の10進数における、メッセージ本体のサイズが受取人に発信したのを示します。
Content-Length = ( "Content-Length" | "l" ) ":" 1*DIGIT
「コンテンツの長さ=(「コンテンツの長さ」| 「l」)」:、」 1*ケタ
An example is
例はそうです。
Content-Length: 3495
コンテンツの長さ: 3495
Applications SHOULD use this field to indicate the size of the message-body to be transferred, regardless of the media type of the entity. Any Content-Length greater than or equal to zero is a valid value. If no body is present in a message, then the Content-Length header field MUST be set to zero. If a server receives a UDP request without Content-Length, it MUST assume that the request encompasses the remainder of the packet. If a server receives a UDP request with a Content-Length, but the value is larger than the size of the body sent in the request, the client SHOULD generate a 400 class response. If there is additional data in the UDP packet after the last byte of the body has been read, the server MUST treat the remaining data as a separate message. This allows several messages to be placed in a single UDP packet.
アプリケーションSHOULDは移すためにメッセージ本体のサイズを示すのにこの分野を使用します、実体のメディアタイプにかかわらず。 どんなゼロ以上のContent-長さも有効値です。 どんなボディーもメッセージに存在していないなら、Content-長さのヘッダーフィールドをゼロに設定しなければなりません。 サーバがContent-長さなしでUDP要求を受け取るなら、それは、要求がパケットの残りを取り囲むと仮定しなければなりません。 サーバがContent-長さとのUDP要求を受け取りますが、値がボディーのサイズが要求を送ったより大きいなら、クライアントSHOULDは400クラス応答を生成します。 ボディーの最後のバイトを読んである後に追加データがUDPパケットにあれば、サーバは別々のメッセージとして残っているデータを扱わなければなりません。 これは単一のUDPパケットに置かれるべきいくつかのメッセージを許容します。
If a response does not contain a Content-Length, the client assumes that it encompasses the remainder of the UDP packet or the data until the TCP connection is closed, as applicable. Section 8 describes how to determine the length of the message body.
応答がContent-長さを含んでいないなら、クライアントは、TCP接続が閉じられるまでUDPパケットかデータの残りを取り囲むと仮定します、適切であるとして。 セクション8はメッセージ本体の長さを測定する方法を説明します。
6.16 Content-Type
6.16 コンテントタイプ
The Content-Type entity-header field indicates the media type of the message-body sent to the recipient. The "media-type" element is defined in [H3.7].
コンテントタイプ実体ヘッダーフィールドは、メッセージ本体のメディアタイプが受取人に発信したのを示します。 「メディアタイプ」要素は[H3.7]で定義されます。
Content-Type = ( "Content-Type" | "c" ) ":" media-type
「コンテントタイプ=(「コンテントタイプ」| 「c」)」:、」 メディアタイプ
Handley, et al. Standards Track [Page 51] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[51ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
Examples of this header field are
このヘッダーフィールドに関する例はそうです。
Content-Type: application/sdp Content-Type: text/html; charset=ISO-8859-4
コンテントタイプ: アプリケーション/sdpコンテントタイプ: テキスト/html。 charset=ISO-8859-4
6.17 CSeq
6.17 CSeq
Clients MUST add the CSeq (command sequence) general-header field to every request. A CSeq header field in a request contains the request method and a single decimal sequence number chosen by the requesting client, unique within a single value of Call-ID. The sequence number MUST be expressible as a 32-bit unsigned integer. The initial value of the sequence number is arbitrary, but MUST be less than 2**31. Consecutive requests that differ in request method, headers or body, but have the same Call-ID MUST contain strictly monotonically increasing and contiguous sequence numbers; sequence numbers do not wrap around. Retransmissions of the same request carry the same sequence number, but an INVITE with a different message body or different header fields (a "re-invitation") acquires a new, higher sequence number. A server MUST echo the CSeq value from the request in its response. If the Method value is missing in the received CSeq header field, the server fills it in appropriately.
クライアントはCSeq(コマンド・シーケンス)の一般的なヘッダーフィールドをあらゆる要求に追加しなければなりません。 要求におけるCSeqヘッダーフィールドは要求しているクライアントによって選ばれた要求メソッドとただ一つの10進一連番号を含んでいます、Call-IDのただ一つの値の中でユニークです。 一連番号は32ビットの符号のない整数として表現できるに違いありません。 一連番号の初期の値は、任意ですが、2**31以下でなければなりません。 同じCall-IDを持っているのを除いて、要求メソッド、ヘッダーまたはボディーにおいて異なる連続した要求はそうしなければなりません。厳密に単調に増加して隣接の一連番号を含んでください。 一連番号は巻きつけられません。 同じ要求のRetransmissionsは同じ一連番号を運びますが、異なったメッセージ本体か異なったヘッダーフィールド(「再招待」)があるINVITEは新しくて、より高い一連番号を取得します。 サーバは応答における要求からCSeq値を反響しなければなりません。 Method値が容認されたCSeqヘッダーフィールドでなくなるなら、サーバは中に適切にそれをいっぱいにしています。
The ACK and CANCEL requests MUST contain the same CSeq value as the INVITE request that it refers to, while a BYE request cancelling an invitation MUST have a higher sequence number. A BYE request with a CSeq that is not higher should cause a 400 response to be generated.
ACKとキャンセル要求はそれが示すINVITE要求と同じCSeq値を含まなければなりません、招待を取り消すBYE要求が、より高い一連番号を持たなければなりませんが。 より高くないCSeqとのBYE要求で、400応答を生成するべきです。
A user agent server MUST remember the highest sequence number for any INVITE request with the same Call-ID value. The server MUST respond to, and then discard, any INVITE request with a lower sequence number.
ユーザエージェントサーバは同じCall-ID値があるどんなINVITE要求のためにも最も高い一連番号を覚えていなければなりません。 サーバが応じなければならない、次に、破棄、下側の一連番号があるどんなINVITE要求
All requests spawned in a parallel search have the same CSeq value as the request triggering the parallel search.
平行な検索で生じるすべての要求が平行な検索の引き金となる要求と同じCSeq値を持っています。
CSeq = "CSeq" ":" 1*DIGIT Method
「CSeqは"CSeq"と等しい」:、」 1*ケタメソッド
Strictly speaking, CSeq header fields are needed for any SIP request that can be cancelled by a BYE or CANCEL request or where a client can issue several requests for the same Call-ID in close succession. Without a sequence
厳密に言うと、CSeqヘッダーフィールドがBYEかキャンセル要求で中止できるか、またはクライアントが厳密な継承における同じCall-IDを求めるいくつかの要求を出すことができるどんなSIP要求にも必要です。 系列なしで
Handley, et al. Standards Track [Page 52] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[52ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
number, the response to an INVITE could be mistaken for the response to the cancellation (BYE or CANCEL). Also, if the network duplicates packets or if an ACK is delayed until the server has sent an additional response, the client could interpret an old response as the response to a re- invitation issued shortly thereafter. Using CSeq also makes it easy for the server to distinguish different versions of an invitation, without comparing the message body.
キャンセル(BYEかキャンセル)への応答に数、INVITEへの応答を間違えることができました。 また、ネットワークがパケットをコピーするか、またはサーバが追加応答を送るまでACKが遅らせられるなら、再招待状への応答がその後まもなく発行したようにクライアントは古い応答を解釈するかもしれません。 また、CSeqを使用するのに、サーバが招待状の異なった見解を区別するのが簡単になります、メッセージ本体を比較しないで。
The Method value allows the client to distinguish the response to an INVITE request from that of a CANCEL response. CANCEL requests can be generated by proxies; if they were to increase the sequence number, it might conflict with a later request issued by the user agent for the same call.
Method値で、クライアントはキャンセル応答のものとINVITE要求への応答を区別できます。 プロキシはキャンセル要求を生成することができます。 彼らが一連番号を増強するなら、それは同じ呼び出しのためにユーザエージェントによって出される後の要求と闘争するでしょうに。
With a length of 32 bits, a server could generate, within a single call, one request a second for about 136 years before needing to wrap around. The initial value of the sequence number is chosen so that subsequent requests within the same call will not wrap around. A non-zero initial value allows to use a time-based initial sequence number, if the client desires. A client could, for example, choose the 31 most significant bits of a 32-bit second clock as an initial sequence number.
32ビットの長さで、サーバは巻きつけるのが必要である前に、およそ136年間ただ一つの呼び出しの中で1秒あたり1つの要求を生成するかもしれません。 一連番号の初期の値は、同じ呼び出しの中のその後の要求が巻きつけられないように、選ばれています。 非ゼロの初期の値はクライアント願望であるなら時間ベースの初期シーケンス番号を使用に許容します。 例えば、クライアントは初期シーケンス番号として2番目の32ビットの時計の31の最上位ビットを選ぶことができました。
Forked requests MUST have the same CSeq as there would be ambiguity otherwise between these forked requests and later BYE issued by the client user agent.
股状の要求には、そうでなければ、クライアントユーザエージェントによって出されたこれらの股状の要求と、より遅いBYEの間には、あいまいさがあって、同じCSeqがなければなりません。
Example:
例:
CSeq: 4711 INVITE
CSeq: 4711年の招待
6.18 Date
6.18 日付
Date is a general-header field. Its syntax is:
日付は一般的なヘッダーフィールドです。 構文は以下の通りです。
SIP-date = rfc1123-date
SIP-日付=rfc1123-日付
See [H14.19] for a definition of rfc1123-date. Note that unlike HTTP/1.1, SIP only supports the most recent RFC1123 [29] formatting for dates.
rfc1123-日付の定義に関して[H14.19]を見てください。 HTTP/1.1と異なって、SIPが、日付に最新のRFC1123[29]が形式であるとサポートするだけであることに注意してください。
Handley, et al. Standards Track [Page 53] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[53ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
The Date header field reflects the time when the request or response is first sent. Thus, retransmissions have the same Date header field value as the original.
Dateヘッダーフィールドは要求か応答が最初に送られる時を反映します。 したがって、「再-トランスミッション」には、オリジナルと同じDateヘッダーフィールド価値があります。
The Date header field can be used by simple end systems without a battery-backed clock to acquire a notion of current time.
Dateヘッダーフィールドは簡単なエンドシステムによってバッテリーで支持された時計なしで使用されて、現在の時間の概念を帯びることができます。
6.19 Encryption
6.19 暗号化
The Encryption general-header field specifies that the content has been encrypted. Section 13 describes the overall SIP security architecture and algorithms. This header field is intended for end- to-end encryption of requests and responses. Requests are encrypted based on the public key belonging to the entity named in the To header field. Responses are encrypted based on the public key conveyed in the Response-Key header field. Note that the public keys themselves may not be used for the encryption. This depends on the particular algorithms used.
Encryptionの一般的なヘッダーフィールドは、内容を暗号化してあると指定します。 セクション13は総合的なSIPセキュリティー体系とアルゴリズムを説明します。このヘッダーフィールドは要求と応答の終わりまでの終わりの暗号化のために意図します。 要求はToヘッダーフィールドで指定された実体に属す公開鍵に基づいて暗号化されます。 応答はResponse主要なヘッダーフィールドで伝えられた公開鍵に基づいて暗号化されます。 公開鍵自体が暗号化に使用されないかもしれないことに注意してください。 これは使用される特定のアルゴリズムによります。
For any encrypted message, at least the message body and possibly other message header fields are encrypted. An application receiving a request or response containing an Encryption header field decrypts the body and then concatenates the plaintext to the request line and headers of the original message. Message headers in the decrypted part completely replace those with the same field name in the plaintext part. (Note: If only the body of the message is to be encrypted, the body has to be prefixed with CRLF to allow proper concatenation.) Note that the request method and Request-URI cannot be encrypted.
どんな暗号化メッセージに関してはも、少なくともメッセージ本体とことによると他のメッセージヘッダーフィールドは暗号化されています。 要求を受け取るアプリケーションかEncryptionヘッダーフィールドを含む応答が、オリジナルのメッセージの要求系列とヘッダーにボディーを解読して、次に、平文を連結します。 解読された部分のメッセージヘッダーは平文部分でそれらを同じフィールド名に完全に取り替えます。 (注意: メッセージ欄だけが暗号化されているつもりであるなら、ボディーは適切な連結を許容するためにCRLFと共に前に置かれなければなりません。) 要求メソッドとRequest-URIを暗号化できないことに注意してください。
Encryption only provides privacy; the recipient has no guarantee that the request or response came from the party listed in the From message header, only that the sender used the recipient's public key. However, proxies will not be able to modify the request or response.
暗号化はプライバシーを提供するだけです。 受取人には、要求か応答がFromメッセージヘッダーに記載されたパーティーから来て、送付者が受取人の公開鍵を使用しただけであるという保証が全くありません。 しかしながら、プロキシは要求か応答を変更できないでしょう。
Encryption = "Encryption" ":" encryption-scheme 1*SP #encryption-params encryption-scheme = token encryption-params = token "=" ( token | quoted-string )
「暗号化=「暗号化」」:、」 暗号化体系1*SP#暗号化params暗号化体系=トークン暗号化-paramsはトークン「=」と等しいです。(トークン| 引用文字列)
The token indicates the form of encryption used; it is described in section 13.
トークンは、暗号化のフォームが使用したのを示します。 それはセクション13で説明されます。
Handley, et al. Standards Track [Page 54] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[54ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
The example in Figure 10 shows a message encrypted with ASCII-armored PGP that was generated by applying "pgp -ea" to the payload to be encrypted.
図10の例は、"pgp -ea"をペイロードに適用することによって生成されたASCII武具のPGPと共に暗号化されたメッセージが暗号化されているのを示します。
INVITE sip:watson@boston.bell-telephone.com SIP/2.0 Via: SIP/2.0/UDP 169.130.12.5 From: <sip:a.g.bell@bell-telephone.com> To: T. A. Watson <sip:watson@bell-telephone.com> Call-ID: 187602141351@worcester.bell-telephone.com Content-Length: 885 Encryption: PGP version=2.6.2,encoding=ascii
INVITE一口: watson@boston.bell-telephone.com SIP/2.0Via: UDP169.130.12.5一口/2.0/From: <一口: a.g.bell@bell-telephone.com 、gt;、To: T。 A。 ワトソン<一口: watson@bell-telephone.com 、gt;、呼び出しID: 187602141351@worcester.bell-telephone.com コンテンツの長さ: 885暗号化: PGPバージョン= 2.6 =ASCIIをコード化する.2
hQEMAxkp5GPd+j5xAQf/ZDIfGD/PDOM1wayvwdQAKgGgjmZWe+MTy9NEX8O25Red h0/pyrd/+DV5C2BYs7yzSOSXaj1C/tTK/4do6rtjhP8QA3vbDdVdaFciwEVAcuXs ODxlNAVqyDi1RqFC28BJIvQ5KfEkPuACKTK7WlRSBc7vNPEA3nyqZGBTwhxRSbIR RuFEsHSVojdCam4htcqxGnFwD9sksqs6LIyCFaiTAhWtwcCaN437G7mUYzy2KLcA zPVGq1VQg83b99zPzIxRdlZ+K7+bAnu8Rtu+ohOCMLV3TPXbyp+err1YiThCZHIu X9dOVj3CMjCP66RSHa/ea0wYTRRNYA/G+kdP8DSUcqYAAAE/hZPX6nFIqk7AVnf6 IpWHUPTelNUJpzUp5Ou+q/5P7ZAsn+cSAuF2YWtVjCf+SQmBR13p2EYYWHoxlA2/ GgKADYe4M3JSwOtqwU8zUJF3FIfk7vsxmSqtUQrRQaiIhqNyG7KxJt4YjWnEjF5E WUIPhvyGFMJaeQXIyGRYZAYvKKklyAJcm29zLACxU5alX4M25lHQd9FR9Zmq6Jed wbWvia6cAIfsvlZ9JGocmQYF7pcuz5pnczqP+/yvRqFJtDGD/v3s++G2R+ViVYJO z/lxGUZaM4IWBCf+4DUjNanZM0oxAE28NjaIZ0rrldDQmO8V9FtPKdHxkqA5iJP+ 6vGOFti1Ak4kmEz0vM/Nsv7kkubTFhRl05OiJIGr9S1UhenlZv9l6RuXsOY/EwH2 z8X9N4MhMyXEVuC9rt8/AUhmVQ== =bOW+
hQEMAxkp5GPd+j5xAQf/ZDIfGD/PDOM1wayvwdQAKgGgjmZWe+MTy9NEX8O25Red h0/pyrd/+DV5C2BYs7yzSOSXaj1C/tTK/4do6rtjhP8QA3vbDdVdaFciwEVAcuXs ODxlNAVqyDi1RqFC28BJIvQ5KfEkPuACKTK7WlRSBc7vNPEA3nyqZGBTwhxRSbIR RuFEsHSVojdCam4htcqxGnFwD9sksqs6LIyCFaiTAhWtwcCaN437G7mUYzy2KLcA zPVGq1VQg83b99zPzIxRdlZ+K7+bAnu8Rtu+ohOCMLV3TPXbyp+err1YiThCZHIu X9dOVj3CMjCP66RSHa/ea0wYTRRNYA/G+kdP8DSUcqYAAAE/hZPX6nFIqk7AVnf6;
Figure 10: PGP Encryption Example
図10: PGP暗号化の例
Since proxies can base their forwarding decision on any combination of SIP header fields, there is no guarantee that an encrypted request "hiding" header fields will reach the same destination as an otherwise identical un-encrypted request.
プロキシの彼らの推進決定がSIPヘッダーフィールドのどんな組み合わせにも基づくことができるので、そうでなければ、同じ不-暗号化された要求としてヘッダーフィールドを「隠す」暗号化された要求が同じ目的地に達するという保証が全くありません。
6.20 Expires
6.20は期限が切れます。
The Expires entity-header field gives the date and time after which the message content expires.
Expires実体ヘッダーフィールドはメッセージ内容が期限が切れる日時を与えます。
This header field is currently defined only for the REGISTER and INVITE methods. For REGISTER, it is a request and response-header field. In a REGISTER request, the client indicates how long it wishes the registration to be valid. In the response, the server indicates
このヘッダーフィールドは現在、REGISTERとINVITEメソッドのためだけに定義されます。 REGISTERに関しては、それは、要求と応答ヘッダ分野です。 REGISTER要求では、クライアントは、それが、どれくらい長い間登録に有効であって欲しいかを示します。 応答、サーバ、表示
Handley, et al. Standards Track [Page 55] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[55ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
the earliest expiration time of all registrations. The server MAY choose a shorter time interval than that requested by the client, but SHOULD NOT choose a longer one.
すべての登録証明書の最も前の満了時間。 サーバはクライアントによって要求されたそれより短い時間間隔を選ぶかもしれませんが、SHOULD NOTは、より長いものを選びます。
For INVITE requests, it is a request and response-header field. In a request, the caller can limit the validity of an invitation, for example, if a client wants to limit the time duration of a search or a conference invitation. A user interface MAY take this as a hint to leave the invitation window on the screen even if the user is not currently at the workstation. This also limits the duration of a search. If the request expires before the search completes, the proxy returns a 408 (Request Timeout) status. In a 302 (Moved Temporarily) response, a server can advise the client of the maximal duration of the redirection.
INVITE要求のために、それは、要求と応答ヘッダ分野です。 要求では、例えば、クライアントが検索の時間持続時間か会議招待状を制限したいなら、訪問者は招待状の正当性を制限できます。 ユーザが現在ワークステーションにいないでも、ユーザーインタフェースは、スクリーンで招待ウィンドウを出るためにヒントとしてこれをみなすかもしれません。 また、これは検索の持続時間を制限します。 要求は以前、期限が切れます。検索が終了する、プロキシは408(Timeoutを要求する)状態を返します。 302(Temporarilyを動かす)応答では、サーバはリダイレクションの最大限度の持続時間をクライアントに知らせることができます。
The value of this field can be either a SIP-date or an integer number of seconds (in decimal), measured from the receipt of the request. The latter approach is preferable for short durations, as it does not depend on clients and servers sharing a synchronized clock. Implementations MAY treat values larger than 2**32-1 (4294967295 or 136 years) as equivalent to 2**32-1.
この分野の値は、要求の領収書から測定されたSIP-日付か整数秒数のどちらかであるかもしれません(小数における)。 短期間に、後者のアプローチは望ましいです、連動している時計を共有するクライアントとサーバに頼らないとき。 実装は2**32-1に同じくらい同等な2**32-1(4294967295年か136年)より大きい値を扱うかもしれません。
Expires = "Expires" ":" ( SIP-date | delta-seconds )
「=「期限が切れること」を吐き出す」:、」 (SIP-日付|デルタ秒)
Two examples of its use are
使用に関する2つの例がそうです。
Expires: Thu, 01 Dec 1994 16:00:00 GMT Expires: 5
期限が切れます: グリニッジ標準時1994年12月1日木曜日16時0分0秒は期限が切れます: 5
6.21 From
6.21
Requests and responses MUST contain a From general-header field, indicating the initiator of the request. The From field MAY contain the "tag" parameter. The server copies the From header field from the request to the response. The optional "display-name" is meant to be rendered by a human-user interface. A system SHOULD use the display name "Anonymous" if the identity of the client is to remain hidden.
要求の創始者を示して、要求と応答はFromの一般的なヘッダーフィールドを含まなければなりません。 From分野は「タグ」パラメタを含むかもしれません。 サーバは要求から応答までFromヘッダーフィールドをコピーします。 任意の「ディスプレイ名」は人間のユーザーインタフェースによってレンダリングされることになっています。 クライアントのアイデンティティが隠されたままで残るつもりであるなら、システムSHOULDは「匿名」というディスプレイ名を使用します。
The SIP-URL MUST NOT contain the "transport-param", "maddr-param", "ttl-param", or "headers" elements. A server that receives a SIP-URL with these elements removes them before further processing.
SIP-URLは「輸送-param」、"maddr-param"、"ttl-param"、または「ヘッダー」要素を含んではいけません。 これらの要素でSIP-URLを受けるサーバはさらに処理する前に、それらを取り除きます。
Handley, et al. Standards Track [Page 56] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[56ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
Even if the "display-name" is empty, the "name-addr" form MUST be used if the "addr-spec" contains a comma, question mark, or semicolon.
「ディスプレイ名」が空であっても、「addr-仕様」がコンマ、疑問符、またはセミコロンを含んでいるなら、「名前-addr」フォームを使用しなければなりません。
From = ( "From" | "f" ) ":" ( name-addr | addr-spec ) *( ";" addr-params ) addr-params = tag-param tag-param = "tag=" UUID UUID = 1*( hex | "-" )
「=(“From"| 「f」)」:、」 (名前-addr| addr-仕様) *(「」、;、addr-params) addr-params=タグ-paramタグ-paramは「タグ=」UUID UUID=1*と等しいです。(十六進法| 「-」)
Examples:
例:
From: "A. G. Bell" <sip:agb@bell-telephone.com> From: sip:+12125551212@server.phone2net.com From: Anonymous <sip:c8oqz84zk7z@privacy.org>
From: 「A。」 G。 「ベル」<一口: agb@bell-telephone.com 、gt;、From: 一口: + 12125551212@server.phone2net.com From: 匿名の<一口: c8oqz84zk7z@privacy.org 、gt。
The "tag" MAY appear in the From field of a request. It MUST be present when it is possible that two instances of a user sharing a SIP address can make call invitations with the same Call-ID.
「タグ」は要求のFrom分野に現れるかもしれません。 SIPアドレスを共有しているユーザの2つのインスタンスが同じCall-IDとの呼び出し招待状をすることができるのが、可能であるときに、それは存在していなければなりません。
The "tag" value MUST be globally unique and cryptographically random with at least 32 bits of randomness. A single user maintains the same tag throughout the call identified by the Call-ID.
「タグ」値は暗号で偶発性の少なくとも32ビットで無作為の状態でグローバルにユニークでなければなりません。 シングルユーザーはCall-IDによって特定された呼び出しの間中同じタグを維持します。
Call-ID, To and From are needed to identify a call leg. The distinction between call and call leg matters in calls with multiple responses to a forked request. The format is similar to the equivalent RFC 822 [24] header, but with a URI instead of just an email address.
呼び出しID、To、およびFromが呼び出し脚を特定するのが必要です。呼び出しと呼び出し脚の区別は股状の要求への複数の応答で呼び出しで重要です。 形式は、同等なRFC822[24]ヘッダーと同様ですが、URIがまさしくEメールアドレスの代わりにある状態で、同様です。
6.22 Hide
6.22 獣皮
A client uses the Hide request header field to indicate that it wants the path comprised of the Via header fields (Section 6.40) to be hidden from subsequent proxies and user agents. It can take two forms: Hide: route and Hide: hop. Hide header fields are typically added by the client user agent, but MAY be added by any proxy along the path.
クライアントは、その後のプロキシとユーザエージェント隠されるためにViaヘッダーフィールド(セクション6.40)から経路を成らせて欲しいのを示すのにHide要求ヘッダーフィールドを使用します。 それは2つの形を取ることができます: 以下を隠してください。 ルートとHide: 跳んでください。 ヘッダーがさばく獣皮は、クライアントユーザエージェントによって通常加えられますが、経路に沿ったどんなプロキシによっても加えられるかもしれません。
Handley, et al. Standards Track [Page 57] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[57ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
If a request contains the "Hide: route" header field, all following proxies SHOULD hide their previous hop. If a request contains the "Hide: hop" header field, only the next proxy SHOULD hide the previous hop and then remove the Hide option unless it also wants to remain anonymous.
要求が含んでいる、「隠れてください」 ヘッダーフィールドを「発送し」て、プロキシSHOULDにすべて続いて、彼らの前のホップを隠してください。 要求が含んでいる、「隠れてください」 「ホップ」ヘッダーフィールド、また、匿名のままで残りたいと思わない場合、次期プロキシだけSHOULDは前のホップを隠して、次に、Hideオプションを取り除きます。
A server hides the previous hop by encrypting the "host" and "port" parts of the top-most Via header field with an algorithm of its choice. Servers SHOULD add additional "salt" to the "host" and "port" information prior to encryption to prevent malicious downstream proxies from guessing earlier parts of the path based on seeing identical encrypted Via headers. Hidden Via fields are marked with the "hidden" Via option, as described in Section 6.40.
サーバは、選択のアルゴリズムで最も最高Viaヘッダーフィールドの「ホスト」と「ポート」の部品を暗号化することによって、前のホップを隠します。 サーバSHOULDは、同じ暗号化されたViaヘッダーを見ることに基づいて悪意がある川下のプロキシが経路の以前の地域を推測するのを防ぐために追加「塩」を「ホスト」に加えて、暗号化の前に情報を「移植します」。 隠されたVia分野はセクション6.40で説明されるように「隠された」Viaオプションで示されます。
A server that is capable of hiding Via headers MUST attempt to decrypt all Via headers marked as "hidden" to perform loop detection. Servers that are not capable of hiding can ignore hidden Via fields in their loop detection algorithm.
Viaヘッダーを隠すことができるサーバは、輪の検出を実行するために「隠される」ようにマークされたすべてのViaヘッダーを解読するのを試みなければなりません。 隠れることができないサーバはそれらの輪の検出アルゴリズムで隠されたVia分野を無視できます。
If hidden headers were not marked, a proxy would have to decrypt all headers to detect loops, just in case one was encrypted, as the Hide: Hop option may have been removed along the way.
隠されたヘッダーがマークされないなら、プロキシは輪を検出するためにすべてのヘッダーを解読しなければならないでしょうに、ただ1つが暗号化されるといけなかったので、Hideとして: 道に沿ってホップオプションを取り除いたかもしれません。
A host MUST NOT add such a "Hide: hop" header field unless it can guarantee it will only send a request for this destination to the same next hop. The reason for this is that it is possible that the request will loop back through this same hop from a downstream proxy. The loop will be detected by the next hop if the choice of next hop is fixed, but could loop an arbitrary number of times otherwise.
ホストは、そのようなaが「以下を隠す」と言い足してはいけません。 それがそれを保証できないなら、「ホップ」ヘッダーフィールドは同じくらいへのこの目的地を求める要求に次のホップを送るだけでしょう。 この理由は要求がこの同じホップを通して川下のプロキシから輪にされるのが、可能であるということです。 輪は、次のホップの選択が固定されていると次のホップによって検出されますが、そうでなければ、回の特殊活字の数字を輪にするかもしれません。
A client requesting "Hide: route" can only rely on keeping the request path private if it sends the request to a trusted proxy. Hiding the route of a SIP request is of limited value if the request results in data packets being exchanged directly between the calling and called user agent.
「隠れてください」よう要求するクライアント 「ルート」はそれが信じられたプロキシに要求を送るなら要求経路を個人的に保つのを当てにされることができるだけです。 SIP要求のルートを隠すのにおいて、要求が呼ぶのと呼ばれたユーザエージェントの直接間で交換されるデータ・パケットをもたらすなら、限られた価値があります。
The use of Hide header fields is discouraged unless path privacy is truly needed; Hide fields impose extra processing costs and restrictions for proxies and can cause requests to generate 482 (Loop Detected) responses that could otherwise be avoided.
経路プライバシーは本当に必要でない場合、Hideヘッダーフィールドの使用はお勧めできないです。 そうでなければ、分野がプロキシのためのコストと制限を処理しながら余分に課して、482(輪のDetected)の応答がそれであると生成するという要求を引き起こす場合がある獣皮を避けることができました。
The encryption of Via header fields is described in more detail in Section 13.
Viaヘッダーフィールドの暗号化はさらに詳細にセクション13で説明されます。
The Hide header field has the following syntax:
Hideヘッダーフィールドには、以下の構文があります:
Handley, et al. Standards Track [Page 58] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[58ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
Hide = "Hide" ":" ( "route" | "hop" )
「獣皮は「獣皮」と等しい」:、」 (「ルート」| 「ホップ」)
6.23 Max-Forwards
6.23 前方へマックス
The Max-Forwards request-header field may be used with any SIP method to limit the number of proxies or gateways that can forward the request to the next downstream server. This can also be useful when the client is attempting to trace a request chain which appears to be failing or looping in mid-chain.
前方へマックス要求ヘッダーフィールドは次の川下のサーバに要求を転送できるプロキシかゲートウェイの数を制限するどんなSIPメソッドでも使用されるかもしれません。また、クライアントが、中間のチェーンで失敗するか、または輪にしているように見える要求チェーンをたどるのを試みているとき、これも役に立つ場合があります。
Max-Forwards = "Max-Forwards" ":" 1*DIGIT
「前方へマックスは「前方へマックス」と等しい」:、」 1*ケタ
The Max-Forwards value is a decimal integer indicating the remaining number of times this request message is allowed to be forwarded.
前方へマックス値は回のこの要求メッセージが進めることができる残っている数を示す10進整数です。
Each proxy or gateway recipient of a request containing a Max- Forwards header field MUST check and update its value prior to forwarding the request. If the received value is zero (0), the recipient MUST NOT forward the request. Instead, for the OPTIONS and REGISTER methods, it MUST respond as the final recipient. For all other methods, the server returns 483 (Too many hops).
要求を転送する前に、マックスを含むとヘッダーフィールドが進められるという要求の各プロキシかゲートウェイ受取人が、値をチェックして、アップデートしなければなりません。 容認された値が(0)でないなら、受取人は要求を転送してはいけません。 代わりに、OPTIONSとREGISTERメソッドのために、それは最終的な受取人として応じなければなりません。 他のすべてのメソッドのために、サーバは483を返します(多く過ぎるのが跳びます)。
If the received Max-Forwards value is greater than zero, then the forwarded message MUST contain an updated Max-Forwards field with a value decremented by one (1).
容認された前方へマックス値がゼロ以上であるなら、転送されたメッセージは値が1つ(1)減少しているアップデートされた前方へマックス分野を含まなければなりません。
Example:
例:
Max-Forwards: 6
マックス-フォワード: 6
6.24 Organization
6.24 組織
The Organization general-header field conveys the name of the organization to which the entity issuing the request or response belongs. It MAY also be inserted by proxies at the boundary of an organization.
Organizationの一般的なヘッダーフィールドは要求か応答を出す実体が属する組織名を伝えます。 また、それは組織の境界のプロキシによって挿入されるかもしれません。
The field MAY be used by client software to filter calls.
分野はクライアントソフトウェアによって使用されて、呼び出しをフィルターにかけるかもしれません。
Handley, et al. Standards Track [Page 59] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[59ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
Organization = "Organization" ":" *TEXT-UTF8
「組織は「組織」と等しい」:、」 *テキスト-UTF8
6.25 Priority
6.25 優先権
The Priority request-header field indicates the urgency of the request as perceived by the client.
クライアントによって知覚されるようにPriority要求ヘッダーフィールドは要求の緊急を示します。
Priority = "Priority" ":" priority-value priority-value = "emergency" | "urgent" | "normal" | "non-urgent"
「優先権は「優先権」と等しい」:、」 優先順位の値優先順位の値=「非常時」| 「緊急です」。| 「標準」| 「不急です」。
It is RECOMMENDED that the value of "emergency" only be used when life, limb or property are in imminent danger.
急迫の危険に寿命、手足または特性があるとき、「非常時」の値が使用されるだけであるのは、RECOMMENDEDです。
Examples:
例:
Subject: A tornado is heading our way! Priority: emergency
Subject: 竜巻は私たちのやり方の上に立っています! 優先権: 非常時
Subject: Weekend plans Priority: non-urgent
Subject: 週末はPriorityを計画しています: 不急
These are the values of RFC 2076 [30], with the addition of "emergency".
これらは「非常時」の追加があるRFC2076[30]の値です。
6.26 Proxy-Authenticate
6.26はプロキシで認証します。
The Proxy-Authenticate response-header field MUST be included as part of a 407 (Proxy Authentication Required) response. The field value consists of a challenge that indicates the authentication scheme and parameters applicable to the proxy for this Request-URI.
応答ヘッダ分野をProxy認証してください、407(プロキシAuthentication Required)応答の一部として含まなければなりません。 分野値は認証体系について簡単に述べる挑戦とこのRequest-URIに、プロキシに適切なパラメタから成ります。
Unlike its usage within HTTP, the Proxy-Authenticate header MUST be passed upstream in the response to the UAC. In SIP, only UAC's can authenticate themselves to proxies.
HTTPの中の用法と異なってヘッダーをProxy認証してください、UACへの応答で上流へ通らなければなりません。 SIPでは、UACのものだけがプロキシに自分たちを認証できます。
The syntax for this header is defined in [H14.33]. See 14 for further details on its usage.
このヘッダーのための構文は[H14.33]で定義されます。 さらに詳しい明細については用法で14を見てください。
Handley, et al. Standards Track [Page 60] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[60ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
A client SHOULD cache the credentials used for a particular proxy server and realm for the next request to that server. Credentials are, in general, valid for a specific value of the Request-URI at a particular proxy server. If a client contacts a proxy server that has required authentication in the past, but the client does not have credentials for the particular Request-URI, it MAY attempt to use the most-recently used credential. The server responds with 401 (Unauthorized) if the client guessed wrong.
クライアントSHOULDは次の要求のために特定のプロキシサーバと分野に使用される資格証明書をそのサーバにキャッシュします。一般に、Request-URIの特定の値に、資格証明書は特定のプロキシサーバで有効です。クライアントが過去に認証を必要としたプロキシサーバに連絡しますが、クライアントでは特定のRequest-URIのための資格証明書がないなら、それは、-最も最近中古の資格証明書を使用するのを試みるかもしれません。 クライアントが勘違いしたなら、401が(権限のない)でサーバは反応します。
This suggested caching behavior is motivated by proxies restricting phone calls to authenticated users. It seems likely that in most cases, all destinations require the same password. Note that end-to-end authentication is likely to be destination-specific.
これは、キャッシュの振舞いが電話を認証されたユーザに制限するプロキシによって動機づけられているのを示しました。 多くの場合、すべての目的地が同じパスワードを必要としそうです。 終わりから終わりへの認証が目的地特有である傾向があることに注意してください。
6.27 Proxy-Authorization
6.27 プロキシ承認
The Proxy-Authorization request-header field allows the client to identify itself (or its user) to a proxy which requires authentication. The Proxy-Authorization field value consists of credentials containing the authentication information of the user agent for the proxy and/or realm of the resource being requested.
Proxy-承認要求ヘッダーフィールドで、クライアント自身は、どれが認証を必要とするかをプロキシに特定できます(または、ユーザ)。 Proxy-承認分野価値は要求されているリソースのプロキシ、そして/または、分野にユーザエージェントの認証情報を含む資格証明書から成ります。
Unlike Authorization, the Proxy-Authorization header field applies only to the next outbound proxy that demanded authentication using the Proxy- Authenticate field. When multiple proxies are used in a chain, the Proxy-Authorization header field is consumed by the first outbound proxy that was expecting to receive credentials. A proxy MAY relay the credentials from the client request to the next proxy if that is the mechanism by which the proxies cooperatively authenticate a given request.
Authorization、ヘッダーフィールドがProxyを使用することで認証を要求した次期外国行きのプロキシだけに適用するProxy-承認と異なって、分野を認証してください。 複数のプロキシがチェーンに使用されるとき、Proxy-承認ヘッダーフィールドは第1代資格証明書を受けると予想していた外国行きのプロキシによって消費されます。 プロキシはそれがプロキシが協力して与えられた要求を認証するメカニズムであるならクライアント要求から次期プロキシまで資格証明書をリレーするかもしれません。
See [H14.34] for a definition of the syntax, and section 14 for a discussion of its usage.
構文の定義のための[H14.34]、および用法の議論のためのセクション14を見てください。
6.28 Proxy-Require
6.28がプロキシで必要です。
The Proxy-Require header field is used to indicate proxy-sensitive features that MUST be supported by the proxy. Any Proxy-Require header field features that are not supported by the proxy MUST be negatively acknowledged by the proxy to the client if not supported. Proxy servers treat this field identically to the Require field.
使用されるヘッダーフィールドがプロキシがサポートしなければならないプロキシ機密の特徴を示すのをProxy必要であってください。 いずれもプロキシによってサポートされないで、クライアントのプロキシによって否定的に承認されるか、またはサポートしなければならないということであるヘッダーフィールド機能をProxy必要とします。 Proxyサーバは同様にRequire分野にこの分野を扱います。
See Section 6.30 for more details on the mechanics of this message and a usage example.
このメッセージと使用例の整備士に関するその他の詳細に関してセクション6.30を見てください。
Handley, et al. Standards Track [Page 61] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[61ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
6.29 Record-Route
6.29の記録的なルート
The Record-Route request and response header field is added to a request by any proxy that insists on being in the path of subsequent requests for the same call leg. It contains a globally reachable Request-URI that identifies the proxy server. Each proxy server adds its Request-URI to the beginning of the list.
Record-ルート要求と応答ヘッダーフィールドは同じ呼び出し脚を求めるその後の要求の経路にあると主張するどんなプロキシによる要求にも追加されます。それはプロキシサーバを特定するグローバルに届いているRequest-URIを含んでいます。各プロキシサーバはRequest-URIをリストの始まりに加えます。
The server copies the Record-Route header field unchanged into the response. (Record-Route is only relevant for 2xx responses.)
サーバは応答に変わりのないRecord-ルートヘッダーフィールドをコピーします。 (2xx応答だけにおいて、記録的なルートは関連しています。)
The calling user agent client copies the Record-Route header into a Route header field of subsequent requests within the same call leg, reversing the order of requests, so that the first entry is closest to the user agent client. If the response contained a Contact header field, the calling user agent adds its content as the last Route header. Unless this would cause a loop, any client MUST send any subsequent requests for this call leg to the first Request-URI in the Route request header field and remove that entry.
呼んでいるユーザエージェントのクライアントは同じ呼び出し脚の中にその後の要求のRouteヘッダーフィールドにRecord-ルートヘッダーをコピーします、要求の注文を逆にして、初記入がユーザエージェントのクライアントの最も近くにあるように。 応答がContactヘッダーフィールドを含んだなら、呼んでいるユーザエージェントは最後のRouteヘッダーとして内容を加えます。 これが輪を引き起こさないなら、どんなクライアントも、Route要求ヘッダーフィールドにおける最初のRequest-URIにこの呼び出し脚を求めるどんなその後の要求も送って、そのエントリーを移さなければなりません。
The calling user agent MUST NOT use the Record-Route header field in requests that contain Route header fields.
呼んでいるユーザエージェントはRouteヘッダーフィールドを含む要求でRecord-ルートヘッダーフィールドを使用してはいけません。
Some proxies, such as those controlling firewalls or in an automatic call distribution (ACD) system, need to maintain call state and thus need to receive any BYE and ACK packets for the call.
プロキシの中にはファイアウォールを制御するものなどか自動呼び出し分配(ACD)システムで呼び出し状態を主張して、その結果、呼び出しのためにどんなBYEとACKパケットも受け取るのが必要である必要がある人も、います。
The Record-Route header field has the following syntax:
Record-ルートヘッダーフィールドには、以下の構文があります:
Record-Route = "Record-Route" ":" 1# name-addr
「記録的なルートは「記録的なルート」と等しい」:、」 1 #名前-addr
Proxy servers SHOULD use the "maddr" URL parameter containing their address to ensure that subsequent requests are guaranteed to reach exactly the same server.
ProxyサーバSHOULDは、その後の要求がまさに同じサーバに達するように保証されるのを保証するのにそれらのアドレスを含む"maddr"URLパラメタを使用します。
Example for a request that has traversed the hosts ieee.org and bell-telephone.com , in that order:
それが持っている要求のための例はそのオーダーでホストのieee.orgとベル-telephone.comを横断しました:
Record-Route: <sip:a.g.bell@bell-telephone.com>, <sip:a.bell@ieee.org>
記録的なルート: <一口: a.g.bell@bell-telephone.com 、gt;、<一口: a.bell@ieee.org 、gt。
Handley, et al. Standards Track [Page 62] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[62ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
6.30 Require
6.30が必要です。
The Require request-header field is used by clients to tell user agent servers about options that the client expects the server to support in order to properly process the request. If a server does not understand the option, it MUST respond by returning status code 420 (Bad Extension) and list those options it does not understand in the Unsupported header.
Require要求ヘッダーフィールドは、オプションに関してクライアントが適切に要求を処理するためにサポートへのサーバを予想するとユーザエージェントサーバに言うのにクライアントによって使用されます。 サーバがオプションを理解していないなら、それは、戻っているステータスコード420(悪いExtension)で応じて、Unsupportedヘッダーで理解していないそれらのオプションを記載しなければなりません。
Require = "Require" ":" 1#option-tag
「=「必要」を必要としてください」:、」 1#オプションタグ
Example:
例:
C->S: INVITE sip:watson@bell-telephone.com SIP/2.0 Require: com.example.billing Payment: sheep_skins, conch_shells
C>S: INVITE一口: watson@bell-telephone.com SIP/2.0Require: com.example.billing Payment: 羊の_スキン、殻の_シェル
S->C: SIP/2.0 420 Bad Extension Unsupported: com.example.billing
S>C: 一口/2.0 420の悪い拡大サポートされない: com.example.billing
This is to make sure that the client-server interaction will proceed without delay when all options are understood by both sides, and only slow down if options are not understood (as in the example above). For a well-matched client-server pair, the interaction proceeds quickly, saving a round-trip often required by negotiation mechanisms. In addition, it also removes ambiguity when the client requires features that the server does not understand. Some features, such as call handling fields, are only of interest to end systems.
オプションが理解されていない場合にだけ(上記の例のように)、これは、すべてのオプションが両側に解釈されるとき、クライアント/サーバ相互作用が即刻続くのを確実にして、減速することになっています。 よく取り組んでいるクライアント/サーバ組のために、相互作用は急速に続きます、節約a往復です。クライアントがサーバが理解していない特徴を必要とするとき、交渉メカニズムIn追加がしばしば必要であることで、また、それはあいまいさを取り除きます。 呼び出し取り扱い分野などのいくつかの特徴が、単にシステムを終わらせるために興味があります。
Proxy and redirect servers MUST ignore features that are not understood. If a particular extension requires that intermediate devices support it, the extension MUST be tagged in the Proxy-Require field as well (see Section 6.28).
プロキシと再直接のサーバは理解されていない特徴を無視しなければなりません。 特定の拡張子が、中間的デバイスがそれをサポートするのを必要とするなら、中で拡大にタグ付けをしなければならない、また、分野をProxy必要としてください(セクション6.28を見てください)。
6.31 Response-Key
6.31 応答キー
The Response-Key request-header field can be used by a client to request the key that the called user agent SHOULD use to encrypt the response with. The syntax is:
呼ばれたユーザエージェントSHOULDが使用するキーが応答を暗号化するよう要求するクライアントはResponse主要な要求ヘッダーフィールドを使用できます。 構文は以下の通りです。
Handley, et al. Standards Track [Page 63] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[63ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
Response-Key = "Response-Key" ":" key-scheme 1*SP #key-param key-scheme = token key-param = token "=" ( token | quoted-string )
「応答主要な=「応答キー」」:、」 主要な体系1*SP#キーparam主要な体系=トークン主要なparamはトークン「=」と等しいです。(トークン| 引用文字列)
The "key-scheme" gives the type of encryption to be used for the response. Section 13 describes security schemes.
「主要な体系」は、応答に使用されるために暗号化のタイプに与えます。 セクション13はセキュリティ体系について説明します。
If the client insists that the server return an encrypted response, it includes a
クライアントが、サーバが暗号化された応答を返すと主張するなら、それはaを含んでいます。
Require: org.ietf.sip.encrypt-response
必要です: org.ietf.sip.encrypt-応答
header field in its request. If the server cannot encrypt for whatever reason, it MUST follow normal Require header field procedures and return a 420 (Bad Extension) response. If this Require header field is not present, a server SHOULD still encrypt if it can.
要求におけるヘッダーフィールド。 サーバが何でものために理由を暗号化できないなら、それは、正常なRequireヘッダーフィールド手順に従って、420(悪いExtension)応答を返さなければなりません。 このRequireヘッダーフィールドが存在していないなら、SHOULDがそれであるならまだ暗号化しているサーバは存在できます。
6.32 Retry-After
6.32 再試行します。
The Retry-After general-header field can be used with a 503 (Service Unavailable) response to indicate how long the service is expected to be unavailable to the requesting client and with a 404 (Not Found), 600 (Busy), or 603 (Decline) response to indicate when the called party anticipates being available again. The value of this field can be either an SIP-date or an integer number of seconds (in decimal) after the time of the response.
被呼者が、いつ再び利用可能であると予期するかを示すためにどれくらい長い間サービスが要求しているクライアントと404(Foundでない)か、600(忙しい)か、603(衰退)応答で入手できないと予想されるかを示すのに503(サービスUnavailable)応答と共に後のRetryの一般的なヘッダーフィールドを使用できます。 この分野の値は、応答の時間の後のSIP-日付か整数秒数のどちらかであるかもしれません(小数における)。
A REGISTER request MAY include this header field when deleting registrations with "Contact: * ;expires: 0". The Retry-After value then indicates when the user might again be reachable. The registrar MAY then include this information in responses to future calls.
A REGISTERが登録証明書を削除するときこのヘッダーがさばく5月のインクルードを要求する、「接触:」 * ; 期限が切れます: 0". そして、後のRetry値は、ユーザにいつ再び届くかもしれないかを示します。 そして、記録係は今後の呼び出しへの応答でこの情報を入れるかもしれません。
An optional comment can be used to indicate additional information about the time of callback. An optional "duration" parameter indicates how long the called party will be reachable starting at the initial time of availability. If no duration parameter is given, the service is assumed to be available indefinitely.
コールバックの時頃に追加情報を示すのに任意のコメントを使用できます。 任意の「持続時間」パラメタは、有用性の初回で始まって、被呼者にどれくらい長い間届くかを示します。 持続時間パラメタを全く与えないなら、無期限に利用可能であるとサービスを思います。
Retry-After = "Retry-After" ":" ( SIP-date | delta-seconds ) [ comment ] [ ";" "duration" "=" delta-seconds ]
「-後に=「再試行した後」を再試行してください」:、」 (SIP-日付|デルタ秒) [コメント][「」、;、「持続時間」「=」デルタ秒]
Examples of its use are
使用に関する例はそうです。
Retry-After: Mon, 21 Jul 1997 18:48:34 GMT (I'm in a meeting)
-後に再試行してください: グリニッジ標準時1997年7月21日月曜日18時48分34秒(私はミーティングでいます)
Handley, et al. Standards Track [Page 64] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[64ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
Retry-After: Mon, 01 Jan 9999 00:00:00 GMT (Dear John: Don't call me back, ever) Retry-After: Fri, 26 Sep 1997 21:00:00 GMT;duration=3600 Retry-After: 120
-後に再試行してください: グリニッジ標準時9999年1月1日月曜日0時0分0秒(親愛なるジョン: 私に電話し直さない)の再試行した後: グリニッジ標準時1997年9月26日金曜日21時0分0秒; 持続時間は後の3600年の再試行と等しいです: 120
In the third example, the callee is reachable for one hour starting at 21:00 GMT. In the last example, the delay is 2 minutes.
3番目の例では、訪問される人はグリニッジ標準時21時0分から1時間届いています。最後の例では、遅れは2分です。
6.33 Route
6.33ルート
The Route request-header field determines the route taken by a request. Each host removes the first entry and then proxies the request to the host listed in that entry, also using it as the Request-URI. The operation is further described in Section 6.29.
Route要求ヘッダーフィールドは要求で取られたルートを決定します。 各ホストは、初記入を取り外して、次に、ホストへの要求がそのエントリーに記載したプロキシを取り外します、また、Request-URIとしてそれを使用して。 操作はセクション6.29でさらに説明されます。
The Route header field has the following syntax:
Routeヘッダーフィールドには、以下の構文があります:
Route = "Route" ":" 1# name-addr
「ルート=「ルート」」:、」 1 #名前-addr
6.34 Server
6.34 サーバ
The Server response-header field contains information about the software used by the user agent server to handle the request. The syntax for this field is defined in [H14.39].
Server応答ヘッダ分野はユーザエージェントサーバによって使用される、要求を扱うソフトウェアの情報を含んでいます。 この分野への構文は[H14.39]で定義されます。
6.35 Subject
6.35 対象
This is intended to provide a summary, or to indicate the nature, of the call, allowing call filtering without having to parse the session description. (Also, the session description does not have to use the same subject indication as the invitation.)
これは、概要を提供するか、または呼び出しの本質を示すことを意図します、セッション記述を分析する必要はなくて呼び出しフィルタリングを許容して。 (また、セッション記述は招待と同じ対象の指示を使用する必要はありません。)
Subject = ( "Subject" | "s" ) ":" *TEXT-UTF8
「対象=(「対象」| 「s」)」:、」 *テキスト-UTF8
Example:
例:
Subject: Tune in - they are talking about your work!
Subject: 波長を合わせてください--彼らはあなたの仕事に関して話しています!
Handley, et al. Standards Track [Page 65] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[65ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
6.36 Timestamp
6.36 タイムスタンプ
The timestamp general-header field describes when the client sent the request to the server. The value of the timestamp is of significance only to the client and it MAY use any timescale. The server MUST echo the exact same value and MAY, if it has accurate information about this, add a floating point number indicating the number of seconds that have elapsed since it has received the request. The timestamp is used by the client to compute the round-trip time to the server so that it can adjust the timeout value for retransmissions.
タイムスタンプの一般的なヘッダーフィールドは、クライアントがいつ要求をサーバに送ったかを説明します。タイムスタンプの値はクライアントだけへの意味のものです、そして、それはどんなスケールも使用するかもしれません。 サーバは、全く同じ値を反響しなければならなくて、それにこれに関する的確な情報があるなら、要求を受け取って以来経過している秒数を示す浮動小数点を加えるかもしれません。 タイムスタンプは、「再-トランスミッション」のためにタイムアウト値を調整できるように往復の時間をサーバに計算するのにクライアントによって使用されます。
Timestamp = "Timestamp" ":" *(DIGIT) [ "." *(DIGIT) ] [ delay ] delay = *(DIGIT) [ "." *(DIGIT) ]
「タイムスタンプ=「タイムスタンプ」」:、」 *(ケタ) [「. 」 *(ケタ][遅れ]遅れは*(ケタ)と等しいです。[「. 」 *(ケタ]
Note that there MUST NOT be any LWS between a DIGIT and the decimal point.
DIGITと小数点の間には、少しのLWSもあるはずがないことに注意してください。
6.37 To
6.37
The To general-header field specifies recipient of the request, with the same SIP URL syntax as the From field.
Toの一般的なヘッダーフィールドはFrom分野と同じSIP URL構文で要求の受取人を指定します。
To = ( "To" | "t" ) ":" ( name-addr | addr-spec ) *( ";" addr-params )
「等しい(“To"| 「t」)ように」:、」 (名前-addr| addr-仕様) *(「」、;、addr-params)
Requests and responses MUST contain a To general-header field, indicating the desired recipient of the request. The optional "display-name" is meant to be rendered by a human-user interface. The UAS or redirect server copies the To header field into its response, and MUST add a "tag" parameter if the request contained more than one Via header field.
要求の必要な受取人を示して、要求と応答はToの一般的なヘッダーフィールドを含まなければなりません。 任意の「ディスプレイ名」は人間のユーザーインタフェースによってレンダリングされることになっています。 UASの、または、再直接のサーバは、Toヘッダーフィールドを応答にコピーして、要求が1つ以上のViaヘッダーフィールドを含んだなら、「タグ」パラメタを加えなければなりません。
If there was more than one Via header field, the request was handled by at least one proxy server. Since the receiver cannot know whether any of the proxy servers forked the request, it is safest to assume that they might have.
1つ以上のViaヘッダーフィールドがあったなら、要求は少なくとも1つのプロキシサーバによって扱われました。受信機が、プロキシサーバのどれかが要求を分岐させたかどうかを知ることができないので、そうしたかもしれないと仮定するのは最も安全です。
The SIP-URL MUST NOT contain the "transport-param", "maddr-param", "ttl-param", or "headers" elements. A server that receives a SIP-URL with these elements removes them before further processing.
SIP-URLは「輸送-param」、"maddr-param"、"ttl-param"、または「ヘッダー」要素を含んではいけません。 これらの要素でSIP-URLを受けるサーバはさらに処理する前に、それらを取り除きます。
Handley, et al. Standards Track [Page 66] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[66ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
The "tag" parameter serves as a general mechanism to distinguish multiple instances of a user identified by a single SIP URL. As proxies can fork requests, the same request can reach multiple instances of a user (mobile and home phones, for example). As each can respond, there needs to be a means to distinguish the responses from each at the caller. The situation also arises with multicast requests. The tag in the To header field serves to distinguish responses at the UAC. It MUST be placed in the To field of the response by each instance when there is a possibility that the request was forked at an intermediate proxy. The "tag" MUST be added by UAS, registrars and redirect servers, but MUST NOT be inserted into responses forwarded upstream by proxies. The "tag" is added for all definitive responses for all methods, and MAY be added for informational responses from a UAS or redirect server. All subsequent transactions between two entities MUST include the "tag" parameter, as described in Section 11.
「タグ」パラメタは独身のSIP URLによって特定されたユーザの複数のインスタンスを区別する一般的機構として機能します。 プロキシが要求を分岐させることができるのに従って、同じ要求はユーザ(例えば、モバイルとホーム電話)の複数のインスタンスに達することができます。 それぞれが応じることができるように、訪問者でそれぞれと応答を区別する手段があるのが必要です。 また、状況はマルチキャスト要求で起こります。 Toヘッダーフィールドにおけるタグは、UACで応答を区別するのに役立ちます。 要求が中間的プロキシで分岐した可能性があるとき、各インスタンスで応答のTo分野にそれを置かなければなりません。 「タグ」は、UAS、記録係、および再直接のサーバで加えなければなりませんが、プロキシによって上流へ進められた応答に挿入されてはいけません。 「タグ」は、すべてのメソッドのためのすべての決定的な応答のために加えられて、情報の応答のためにUASか再直接のサーバから加えられるかもしれません。2つの実体の間のすべてのその後のトランザクションが「タグ」パラメタを含まなければなりません、セクション11で説明されるように。
See Section 6.21 for details of the "tag" parameter.
「タグ」パラメタの詳細に関してセクション6.21を見てください。
The "tag" parameter in To headers is ignored when matching responses to requests that did not contain a "tag" in their To header.
彼らのToヘッダーに「タグ」を含まなかった要求への応答に合っているとき、Toヘッダーの「タグ」パラメタは無視されます。
A SIP server returns a 400 (Bad Request) response if it receives a request with a To header field containing a URI with a scheme it does not recognize.
Toヘッダーフィールドがそれが認識しない体系があるURIを含んでいて要求を受け取るなら、SIPサーバは400(悪いRequest)応答を返します。
Even if the "display-name" is empty, the "name-addr" form MUST be used if the "addr-spec" contains a comma, question mark, or semicolon.
「ディスプレイ名」が空であっても、「addr-仕様」がコンマ、疑問符、またはセミコロンを含んでいるなら、「名前-addr」フォームを使用しなければなりません。
The following are examples of valid To headers:
↓これは有効なToヘッダーに関する例です:
To: The Operator <sip:operator@cs.columbia.edu>;tag=287447 To: sip:+12125551212@server.phone2net.com
To: オペレータ<一口: operator@cs.columbia.edu 、gt;、;=287447To:にタグ付けをしてください 一口: + 12125551212@server.phone2net.com
Call-ID, To and From are needed to identify a call leg. The distinction between call and call leg matters in calls with multiple responses from a forked request. The "tag" is added to the To header field in the response to allow forking of future requests for the same call by proxies, while addressing only one of the possibly several responding user agent servers. It also allows several instances of the callee to send requests that can be distinguished.
呼び出しID、To、およびFromが呼び出し脚を特定するのが必要です。呼び出しと呼び出し脚の区別は複数の応答で股状の要求から呼び出しで重要です。 「タグ」は、ことによるといくつかの応じているユーザエージェントサーバの1つだけを扱っている間、電話するのを求めるプロキシが同じの今後の要求を分岐させるのを許容するために応答におけるToヘッダーフィールドに加えられます。 また、それで、訪問される人のいくつかのインスタンスが区別できる要求を送ることができます。
Handley, et al. Standards Track [Page 67] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[67ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
6.38 Unsupported
6.38、サポートされなさ
The Unsupported response-header field lists the features not supported by the server. See Section 6.30 for a usage example and motivation.
Unsupported応答ヘッダ分野はサーバによってサポートされなかった特徴をリストアップします。使用例と動機に関してセクション6.30を見てください。
Syntax:
構文:
Unsupported = "Unsupported" ":" 1#option-tag
「サポートされない=「サポートされな」」:、」 1#オプションタグ
6.39 User-Agent
6.39 ユーザエージェント
The User-Agent general-header field contains information about the client user agent originating the request. The syntax and semantics are defined in [H14.42].
User-エージェントの一般的なヘッダーフィールドは要求を溯源するクライアントユーザエージェントの情報を含んでいます。 構文と意味論は[H14.42]で定義されます。
6.40 Via
を通して6.40。
The Via field indicates the path taken by the request so far. This prevents request looping and ensures replies take the same path as the requests, which assists in firewall traversal and other unusual routing situations.
Via分野は今までのところ要求で取られている経路を示します。 これは、要求ループを防いで、回答が要求と同じファイアウォール縦断と他の珍しいルーティング状況を助けるのに経路を取るのを確実にします。
6.40.1 Requests
6.40.1 要求
The client originating the request MUST insert into the request a Via field containing its host name or network address and, if not the default port number, the port number at which it wishes to receive responses. (Note that this port number can differ from the UDP source port number of the request.) A fully-qualified domain name is RECOMMENDED. Each subsequent proxy server that sends the request onwards MUST add its own additional Via field before any existing Via fields. A proxy that receives a redirection (3xx) response and then searches recursively, MUST use the same Via headers as on the original proxied request.
要求を溯源するクライアントはそのホスト名かネットワーク・アドレスを含むVia分野とデフォルトポートナンバーでないことのそれが応答を受けたがっているポートナンバーを要求に挿入しなければなりません。 (このポートナンバーが要求のUDPソースポート番号と異なることができることに注意してください。) 完全修飾ドメイン名はRECOMMENDEDです。 前方へ要求を送るそれぞれのその後のプロキシサーバはどんな既存のVia分野の前にもそれ自身の追加Via分野を加えなければなりません。 次に、オリジナルのようにリダイレクション(3xx)応答を受けて、再帰的に探して、同じViaヘッダーを使用しなければならないプロキシは、要求をproxiedしました。
A proxy SHOULD check the top-most Via header field to ensure that it contains the sender's correct network address, as seen from that proxy. If the sender's address is incorrect, the proxy MUST add an additional "received" attribute, as described 6.40.2.
プロキシSHOULDは送付者の正しいネットワーク・アドレスを含むのを保証するために最も最高Viaヘッダーフィールドをチェックします、そのプロキシから見られるように。 送付者のアドレスが間違っているなら、プロキシは6.40に.2に説明されるように追加「受け取られていている」属性を加えなければなりません。
A host behind a network address translator (NAT) or firewall may not be able to insert a network address into the Via header that can be reached by the next hop beyond
ネットワークアドレス変換機構(NAT)かファイアウォールの後ろのホストは向こうの次のホップで連絡できるViaヘッダーにネットワーク・アドレスを挿入できないかもしれません。
Handley, et al. Standards Track [Page 68] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[68ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
the NAT. Use of the received attribute allows SIP requests to traverse NAT's which only modify the source IP address. NAT's which modify port numbers, called Network Address Port Translator's (NAPT) will not properly pass SIP when transported on UDP, in which case an application layer gateway is required. When run over TCP, SIP stands a better chance of traversing NAT's, since its behavior is similar to HTTP in this case (but of course on different ports).
NAT。 容認された属性の使用はソースIPアドレスを変更するだけであるNATのものを横断するという要求をSIPに許します。 ポートナンバーを変更するNATのもの、UDPで輸送される場合、呼ばれたNetwork Address Port Translatorの(NAPT)は適切にSIPを渡さないでしょう、その場合、応用層ゲートウェイが必要です。 しかし、TCPの上に実行されると、SIPは、NATのものを横断する十分な見込みがあります、振舞いがこの場合HTTPと同様であるので(異なったポートでもちろん、)
A proxy sending a request to a multicast address MUST add the "maddr" parameter to its Via header field, and SHOULD add the "ttl" parameter. If a server receives a request which contained an "maddr" parameter in the topmost Via field, it SHOULD send the response to the multicast address listed in the "maddr" parameter.
マルチキャストアドレスに要求を送るプロキシは"maddr"パラメタをViaヘッダーフィールドに加えなければなりません、そして、SHOULDは"ttl"パラメタを加えます。 サーバがaを受けるなら、最上のVia分野でどの含まれた"maddr"パラメタを要求してくださいか、それ。SHOULDは"maddr"パラメタに記載されたマルチキャストアドレスへの応答を送ります。
If a proxy server receives a request which contains its own address in the Via header value, it MUST respond with a 482 (Loop Detected) status code.
プロキシサーバがViaヘッダー価値におけるそれ自身のアドレスを含む要求を受け取るなら、それは482(輪のDetected)ステータスコードで応じなければなりません。
A proxy server MUST NOT forward a request to a multicast group which already appears in any of the Via headers.
プロキシサーバはViaヘッダーのいずれにも既に現れるマルチキャストグループに要求を転送してはいけません。
This prevents a malfunctioning proxy server from causing loops. Also, it cannot be guaranteed that a proxy server can always detect that the address returned by a location service refers to a host listed in the Via list, as a single host may have aliases or several network interfaces.
これは、誤動作プロキシサーバが輪を引き起こすのを防ぎます。 また、プロキシサーバがいつもそれを検出できるのが保証されて、位置のサービスで返されたアドレスはViaリストに記載されたホストについて言及します、独身のホストに別名かいくつかのネットワーク・インターフェースがあるときことであるはずがありません。
6.40.2 Receiver-tagged Via Header Fields
6.40.2 受信機で、ヘッダーフィールドで、タグ付けをされています。
Normally, every host that sends or forwards a SIP message adds a Via field indicating the path traversed. However, it is possible that Network Address Translators (NATs) changes the source address and port of the request (e.g., from net-10 to a globally routable address), in which case the Via header field cannot be relied on to route replies. To prevent this, a proxy SHOULD check the top-most Via header field to ensure that it contains the sender's correct network address, as seen from that proxy. If the sender's address is incorrect, the proxy MUST add a "received" parameter to the Via header field inserted by the previous hop. Such a modified Via header field is known as a receiver-tagged Via header field. An example is:
通常、SIPメッセージを送るか、または転送するすべてのホストが横断された経路を示すVia分野を加えます。 しかしながら、Network Address Translators(NATs)が要求(例えば、ネット-10〜グローバルに発送可能なアドレスまでの)のソースアドレスとポートを変えるのが、可能である、その場合、回答を発送するためにViaヘッダーフィールドを当てにすることができません。 プロキシSHOULDは送付者の正しいネットワーク・アドレスを含むのを保証するために最も最高Viaヘッダーフィールドをチェックします、これを防ぐならそのプロキシから見られるように。 送付者のアドレスが間違っているなら、プロキシは前のホップによって挿入されたViaヘッダーフィールドに「受け取られていている」パラメタを加えなければなりません。 そのような変更されたViaヘッダーフィールドは受信機でタグ付けをされたViaヘッダーフィールドとして知られています。 例は以下の通りです。
Via: SIP/2.0/UDP erlang.bell-telephone.com:5060 Via: SIP/2.0/UDP 10.0.0.1:5060 ;received=199.172.136.3
以下を通って SIP/2.0/UDP erlang.bell-telephone.com: 5060Via: 一口/2.0/UDP10.0.0.1: 5060; 容認された=199.172.136、.3
Handley, et al. Standards Track [Page 69] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[69ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
In this example, the message originated from 10.0.0.1 and traversed a NAT with the external address border.ieee.org (199.172.136.3) to reach erlang.bell-telephone.com. The latter noticed the mismatch, and added a parameter to the previous hop's Via header field, containing the address that the packet actually came from. (Note that the NAT border.ieee.org is not a SIP server.)
この例では、メッセージが外部がある.0の.1と横断されたa NATがborder.ieee.orgであると扱う10.0から発した、(199.172 .136 .3) erlang.bell-telephone.comに達するように。 後者は、前のホップのViaヘッダーフィールドにミスマッチに気付いて、パラメタを加えました、パケットが実際に来たアドレスを含んでいて。 (NAT border.ieee.orgがSIPサーバでないことに注意してください。)
6.40.3 Responses
6.40.3 応答
Via header fields in responses are processed by a proxy or UAC according to the following rules:
ヘッダーを通して、以下の規則に従って、応答における分野はプロキシかUACによって処理されます:
1. The first Via header field should indicate the proxy or client processing this response. If it does not, discard the message. Otherwise, remove this Via field.
1. 最初のViaヘッダーフィールドはこの応答を処理するプロキシかクライアントを示すべきです。 そうしないなら、メッセージを捨ててください。 さもなければ、このVia野原を取り除いてください。
2. If there is no second Via header field, this response is destined for this client. Otherwise, the processing depends on whether the Via field contains a "maddr" parameter or is a receiver-tagged field:
2. 2番目が全くなければ、Viaヘッダーフィールド、この応答はこのクライアントのために運命づけられています。 さもなければ、処理は、Via分野が"maddr"パラメタを含んでいるかどうかによるか、受信機でタグ付けをされた分野です:
- If the second Via header field contains a "maddr" parameter, send the response to the multicast address listed there, using the port indicated in "sent-by", or port 5060 if none is present. The response SHOULD be sent using the TTL indicated in the "ttl" parameter, or with a TTL of 1 if that parameter is not present. For robustness, responses MUST be sent to the address indicated in the "maddr" parameter even if it is not a multicast address.
- 2番目のViaヘッダーフィールドが"maddr"パラメタを含むなら、そこに記載されたマルチキャストアドレスへの応答を送ってください、中に示されたポートを使用するのが「発信した」か、またはなにもであるなら、ポート5060は存在しています。 応答SHOULD、そのパラメタが存在していないなら、"ttl"パラメタ、または1のTTLと共に示されたTTLを使用させてください。 丈夫さにおいて、それがマルチキャストアドレスでなくても"maddr"パラメタで示されたアドレスに応答を送らなければなりません。
- If the second Via header field does not contain a "maddr" parameter and is a receiver-tagged field (Section 6.40.2), send the message to the address in the "received" parameter, using the port indicated in the "sent-by" value, or using port 5060 if none is present.
- 2番目のViaヘッダーフィールドが"maddr"パラメタを含んでいなくて、受信機でタグ付けをされた分野(セクション6.40.2)であるなら、「受け取られていている」パラメタのアドレスにメッセージを送ってください、なにも存在していないなら「送って」値で示されるか、またはポート5060を使用することでポートを使用して。
- If neither of the previous cases apply, send the message to the address indicated by the "sent-by" value in the second Via header field.
- 先の事件のどちらもである、適用してください、そして、「送って」2番目のViaヘッダーフィールドにおける値によって示されたアドレスにメッセージを送ってください。
6.40.4 User Agent and Redirect Servers
6.40.4 ユーザエージェントと再直接のサーバ
A UAS or redirect server sends a response based on one of the following rules:
UASの、または、再直接のサーバは以下の規則の1つに基づく応答を送ります:
o If the first Via header field in the request contains a "maddr" parameter, send the response to the multicast address
o 要求における最初のViaヘッダーフィールドが"maddr"パラメタを含むなら、マルチキャストアドレスに応答を送ってください。
Handley, et al. Standards Track [Page 70] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[70ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
listed there, using the port indicated in "sent-by", or port 5060 if none is present. The response SHOULD be sent using the TTL indicated in the "ttl" parameter, or with a TTL of 1 if that parameter is not present. For robustness, responses MUST be sent to the address indicated in the "maddr" parameter even if it is not a multicast address.
そこに記載されていて、ポートを使用すると、なにも存在していないなら、中に「送付にされる」であるか、ポート5060は示されました。 応答SHOULD、そのパラメタが存在していないなら、"ttl"パラメタ、または1のTTLと共に示されたTTLを使用させてください。 丈夫さにおいて、それがマルチキャストアドレスでなくても"maddr"パラメタで示されたアドレスに応答を送らなければなりません。
o If the address in the "sent-by" value of the first Via field differs from the source address of the packet, send the response to the actual packet source address, similar to the treatment for receiver-tagged Via header fields (Section 6.40.2).
o 「送って」最初のVia分野の値におけるアドレスがパケットのソースアドレスと異なっているなら、実際のパケットソースアドレスに応答を送ってください、受信機でタグ付けをされたViaヘッダーフィールド(セクション6.40.2)に関する処理と同様です。
o If neither of these conditions is true, send the response to the address contained in the "sent-by" value. If the request was sent using TCP, use the existing TCP connection if available.
o これらの状態のどちらも本当でないなら、「送って」値に含まれたアドレスへの応答を送ってください。 要求にTCPを使用させたなら、利用可能であるなら、既存のTCP接続を使用してください。
6.40.5 Syntax
6.40.5 構文
The format for a Via header field is shown in Fig. 11. The defaults for "protocol-name" and "transport" are "SIP" and "UDP", respectively. The "maddr" parameter, designating the multicast address, and the "ttl" parameter, designating the time-to-live (TTL) value, are included only if the request was sent via multicast. The "received" parameter is added only for receiver-added Via fields (Section 6.40.2). For reasons of privacy, a client or proxy may wish to hide its Via information by encrypting it (see Section 6.22). The "hidden" parameter is included if this header field was hidden by the upstream proxy (see 6.22). Note that privacy of the proxy relies on the cooperation of the next hop, as the next-hop proxy will, by necessity, know the IP address and port number of the source host.
Viaヘッダーフィールドのための書式は図11に示されます。 「プロトコル名」と「輸送」のためのデフォルトが「一口」と"UDP"である、それぞれ。 生きる時間(TTL)を値に指定して、マルチキャストアドレス、および"ttl"パラメタを指定して、マルチキャストで要求を送った場合にだけ、"maddr"パラメタは含んでいます。 「受け取られていている」パラメタは受信機で加えられたVia分野(セクション6.40.2)だけに加えられます。 プライバシーの理由で、クライアントかプロキシが、それを暗号化することによって、Via情報を隠したがっているかもしれません(セクション6.22を見てください)。 このヘッダーフィールドが上流のプロキシによって隠されたなら(6.22を見てください)、「隠された」パラメタは含まれています。 プロキシのプライバシーが次のホップの協力に依存することに注意してください、次のホッププロキシが必要に迫られて送信元ホストのIPアドレスとポートナンバーを知るように。
The "branch" parameter is included by every forking proxy. The token MUST be unique for each distinct request generated when a proxy forks. CANCEL requests MUST have the same branch value as the corresponding forked request. When a response arrives at the proxy it can use the branch value to figure out which branch the response corresponds to. A proxy which generates a single request (non- forking) MAY also insert the "branch" parameter. The identifier has to be unique only within a set of isomorphic requests.
「ブランチ」パラメタはすべての分岐しているプロキシによって入れられています。 プロキシが分岐するとき生成されたそれぞれの異なった要求に、トークンはユニークであるに違いありません。 キャンセル要求には、対応する股状の要求と同じブランチ値がなければなりません。 応答がプロキシに到着するとき、それは、応答がどのブランチに相当するかを理解するのにブランチ値を使用できます。 また、ただ一つの要求(非分岐)を生成するプロキシは「ブランチ」パラメタを挿入するかもしれません。 識別子は同型の要求のセットだけの中で特有でなければなりません。
Via: SIP/2.0/UDP first.example.com:4000;ttl=16 ;maddr=224.2.0.1 ;branch=a7c6a8dlze (Example) Via: SIP/2.0/UDP adk8
以下を通って SIP/2.0/UDP最初の.example.com: 4000; ttl=16; maddr=224.2.0.1; ブランチは以下を通ってa7c6a8dlze(例)と等しいです。 SIP/2.0/UDP adk8
Handley, et al. Standards Track [Page 71] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[71ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
Via = ( "Via" | "v") ":" 1#( sent-protocol sent-by *( ";" via-params ) [ comment ] ) via-params = via-hidden | via-ttl | via-maddr | via-received | via-branch via-hidden = "hidden" via-ttl = "ttl" "=" ttl via-maddr = "maddr" "=" maddr via-received = "received" "=" host via-branch = "branch" "=" token sent-protocol = protocol-name "/" protocol-version "/" transport protocol-name = "SIP" | token protocol-version = token transport = "UDP" | "TCP" | token sent-by = ( host [ ":" port ] ) | ( concealed-host ) concealed-host = token ttl = 1*3DIGIT ; 0 to 255
「=(| 「v」「を通した」の)を通して」:、」 を通して1#、(送られた送られたプロトコル*、(「」、params、)、paramsの[コメント)=、-、隠す。| ttl| maddr| を通して-、受け取られている。| を通してを通して「ブランチ、-、隠す、= ttlのmaddrでttlな「隠された」="ttl"「=」="maddr"がmaddrと「等しい」、-、受け取られている、=が「」 「= 」 支店のホスト=「ブランチ」「=」トークン送られたプロトコル=は」 プロトコルバージョンと」 /をプロトコルで命名する」という/を受けた」という輸送プロトコル名が「一口」と等しいです。| トークンプロトコルバージョン=トークン輸送は"UDP"と等しいです。| "TCP"| 送られたトークンは(ホスト[「:」 ポート])と等しいです。| (隠されたホスト) 隠されたホストはトークンttl=1*3DIGITと等しいです。 0〜255
Figure 11: Syntax of Via header field
図11: Viaヘッダーフィールドの構文
6.41 Warning
6.41 警告
The Warning response-header field is used to carry additional information about the status of a response. Warning headers are sent with responses and have the following format:
Warning応答ヘッダ分野は、応答の状態に関する追加情報を運ぶのに使用されます。 警告ヘッダーは、応答と共に送られて、以下の形式を持っています:
Warning = "Warning" ":" 1#warning-value warning-value = warn-code SP warn-agent SP warn-text warn-code = 3DIGIT warn-agent = ( host [ ":" port ] ) | pseudonym ; the name or pseudonym of the server adding ; the Warning header, for use in debugging warn-text = quoted-string
「警告は「警告」と等しい」:、」 1つの#警告値の警告値が等しい、警告する、エージェントに警告しているSP SP、警告する、警告する、エージェントに警告している3DIGIT=([「:」 ポート]を接待する)と等しいです。| 匿名。 サーバ付加の名前か匿名。 デバッグにおける使用のためのWarningヘッダー、警告する、=引用文字列
A response MAY carry more than one Warning header.
応答は1個以上のWarningヘッダーを運ぶかもしれません。
The "warn-text" should be in a natural language that is most likely to be intelligible to the human user receiving the response. This decision can be based on any available knowledge, such as the location of the cache or user, the Accept-Language field in a request, or the Content-Language field in a response. The default language is i-default [31].
「警告する、」 応答を受ける人間のユーザにとって明瞭である最も傾向がある自然言語にはあるべきです。 この決定はどんな利用可能な知識にも基づくことができます、キャッシュかユーザの位置、要求におけるAccept-言語分野、または応答におけるContent-言語分野などのように。 デフォルト言語はi-デフォルト[31]です。
Handley, et al. Standards Track [Page 72] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[72ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
Any server MAY add Warning headers to a response. Proxy servers MUST place additional Warning headers before any Authorization headers. Within that constraint, Warning headers MUST be added after any existing Warning headers not covered by a signature. A proxy server MUST NOT delete any Warning header field that it received with a response.
どんなサーバもWarningヘッダーを応答に加えるかもしれません。 ProxyサーバはどんなAuthorizationヘッダーの前にも追加Warningヘッダーを置かなければなりません。 その規制の中では、次々と署名でカバーされなかったどんな既存のWarning Warningヘッダーも加えなければなりません。 プロキシサーバはそれが応答で受けた少しのWarningヘッダーフィールドも削除してはいけません。
When multiple Warning headers are attached to a response, the user agent SHOULD display as many of them as possible, in the order that they appear in the response. If it is not possible to display all of the warnings, the user agent first displays warnings that appear early in the response.
複数のWarningヘッダーが応答に取り付けられるとき、ユーザエージェントSHOULDはできるだけ多くの彼らを表示します、彼らが応答で見えるオーダーで。 警告のすべてを表示するのが可能でないなら、ユーザエージェントは最初に、早く応答に現れる警告を表示します。
The warn-code consists of three digits. A first digit of "3" indicates warnings specific to SIP.
警告する、3ケタから成ります。 「3インチはちびちび飲むために特定の警告を示す」最初のケタ。
This is a list of the currently-defined "warn-code"s, each with a recommended warn-text in English, and a description of its meaning. Note that these warnings describe failures induced by the session description.
これが現在定義にされるののリストである、「警告する、」 それぞれaがお勧めであることでのs、警告する、英語、および意味の記述で。 これらの警告がセッション記述で引き起こされた失敗について説明することに注意してください。
Warnings 300 through 329 are reserved for indicating problems with keywords in the session description, 330 through 339 are warnings related to basic network services requested in the session description, 370 through 379 are warnings related to quantitative QoS parameters requested in the session description, and 390 through 399 are miscellaneous warnings that do not fall into one of the above categories.
警告300〜329はセッション記述におけるキーワードに関する問題を示すために予約されます、そして、330〜339はセッション記述で要求された基本的なネットワーク・サービスに関連する警告です、そして、370〜379はセッション記述で要求された量的なQoSパラメタに関連する警告です、そして、390〜399は上のカテゴリの1つにならない種々雑多な警告です。
300 Incompatible network protocol: One or more network protocols contained in the session description are not available.
300 両立しないネットワーク・プロトコル: セッション記述に含まれた1つ以上のネットワーク・プロトコルは利用可能ではありません。
301 Incompatible network address formats: One or more network address formats contained in the session description are not available.
301 両立しないネットワークアドレス形式: セッション記述に含まれた1つ以上のネットワークアドレス形式は利用可能ではありません。
302 Incompatible transport protocol: One or more transport protocols described in the session description are not available.
302 両立しないトランスポート・プロトコル: セッション記述で説明された1つ以上のトランスポート・プロトコルは利用可能ではありません。
303 Incompatible bandwidth units: One or more bandwidth measurement units contained in the session description were not understood.
303 両立しない帯域幅ユニット: セッション記述に含まれた複数の帯域幅測定単位は理解されていませんでした。
304 Media type not available: One or more media types contained in the session description are not available.
304のメディアが利用可能でなくタイプします: セッション記述に含まれた1つ以上のメディアタイプは手があいていません。
305 Incompatible media format: One or more media formats contained in the session description are not available.
305 両立しないメディア形式: セッション記述に含まれた1つ以上のメディア形式は利用可能ではありません。
Handley, et al. Standards Track [Page 73] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[73ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
306 Attribute not understood: One or more of the media attributes in the session description are not supported.
306属性は分かりませんでした: セッション記述におけるメディア属性は、1つかもうサポートされません。
307 Session description parameter not understood: A parameter other than those listed above was not understood.
307セッション記述パラメタは分かりませんでした: 上に記載されたもの以外のパラメタは理解されていませんでした。
330 Multicast not available: The site where the user is located does not support multicast.
利用可能でない330マルチキャスト: ユーザが位置しているサイトはマルチキャストをサポートしません。
331 Unicast not available: The site where the user is located does not support unicast communication (usually due to the presence of a firewall).
利用可能でない331ユニキャスト: ユーザが位置しているサイトはユニキャストコミュニケーション(通常ファイアウォールの存在による)をサポートしません。
370 Insufficient bandwidth: The bandwidth specified in the session description or defined by the media exceeds that known to be available.
370 不十分な帯域幅: セッション記述で指定されたか、またはメディアによって定義された帯域幅は利用可能であることが知られているそれを超えています。
399 Miscellaneous warning: The warning text can include arbitrary information to be presented to a human user, or logged. A system receiving this warning MUST NOT take any automated action.
399 種々雑多な警告: 警告テキストは、人間のユーザに提示されるか、または登録されるために任意の情報を含むことができます。 この警告を受け取るシステムは少しの自動化された行動も取ってはいけません。
1xx and 2xx have been taken by HTTP/1.1.
1xxと2xxをHTTP/1.1取りました。
Additional "warn-code"s, as in the example below, can be defined through IANA.
追加、「警告する、」 以下の例のようにIANAを通してsを定義できます。
Examples:
例:
Warning: 307 isi.edu "Session parameter 'foo' not understood" Warning: 301 isi.edu "Incompatible network address type 'E.164'"
警告: 307 isi.edu「セッションパラメタ'fooはWarningを'理解していませんでした」: 301 isi.edu「非互換なネットワークアドレスタイプ'E.164'」
6.42 WWW-Authenticate
6.42はWWW認証します。
The WWW-Authenticate response-header field MUST be included in 401 (Unauthorized) response messages. The field value consists of at least one challenge that indicates the authentication scheme(s) and parameters applicable to the Request-URI. See [H14.46] for a definition of the syntax, and section 14 for an overview of usage.
応答ヘッダ分野をWWW認証してください、401の(権限のない)の応答メッセージに含まなければなりません。 分野値はRequest-URIに適切な認証体系とパラメタについて簡単に述べる少なくとも1つの挑戦から成ります。 構文の定義のための[H14.46]、および用法の概要のためのセクション14を見てください。
The content of the "realm" parameter SHOULD be displayed to the user. A user agent SHOULD cache the authorization credentials for a given value of the destination (To header) and "realm" and attempt to re- use these values on the next request for that destination.
内容、「分野」パラメタSHOULDでは、ユーザに表示してください。 ユーザエージェントSHOULDは、目的地(ヘッダーへの)と「分野」の与えられた値のために承認資格証明書をキャッシュして、その目的地に次の要求のこれらの値を再使用するのを試みます。
Handley, et al. Standards Track [Page 74] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[74ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
In addition to the "basic" and "digest" authentication schemes defined in the specifications cited above, SIP defines a new scheme, PGP (RFC 2015, [32]), Section 15. Other schemes, such as S/MIME, are for further study.
上で引用された仕様に基づき定義された「基本的」、そして、「ダイジェスト」認証体系に加えてSIPは新しい体系を定義します、PGP。(RFC2015、[32])(セクション15)。 さらなる研究にはS/MIMEなどの他の体系があります。
7 Status Code Definitions
7 ステータスコード定義
The response codes are consistent with, and extend, HTTP/1.1 response codes. Not all HTTP/1.1 response codes are appropriate, and only those that are appropriate are given here. Other HTTP/1.1 response codes SHOULD NOT be used. Response codes not defined by HTTP/1.1 have codes x80 upwards to avoid clashes with future HTTP response codes. Also, SIP defines a new class, 6xx. The default behavior for unknown response codes is given for each category of codes.
HTTP/1.1に広がってください。そして、コードが一致している応答、応答コード。 すべてのHTTP/1.1の応答コードがどんな適切であるというわけではありません、そして、適切なものだけをここに与えます。 他のHTTP/1.1応答はSHOULD NOTをコード化します。使用されます。 HTTP/1.1によって定義されなかった応答コードは、将来のHTTP応答コードとの衝突を避けるために上向きにコードx80を持っています。 また、SIPは新しいクラス、6xxを定義します。 コードの各カテゴリのために未知の応答コードのためのデフォルトの振舞いを与えます。
7.1 Informational 1xx
7.1 情報の1xx
Informational responses indicate that the server or proxy contacted is performing some further action and does not yet have a definitive response. The client SHOULD wait for a further response from the server, and the server SHOULD send such a response without further prompting. A server SHOULD send a 1xx response if it expects to take more than 200 ms to obtain a final response. A server MAY issue zero or more 1xx responses, with no restriction on their ordering or uniqueness. Note that 1xx responses are not transmitted reliably, that is, they do not cause the client to send an ACK. Servers are free to retransmit informational responses and clients can inquire about the current state of call processing by re-sending the request.
情報の応答は、連絡されたサーバかプロキシがさらなる何らかの動作を実行していて、まだ決定的な応答を持っていないのを示します。 クライアントSHOULDはサーバからさらなる応答を待っています、そして、サーバSHOULDは一層のうながすのなしでそのような応答を送ります。 SHOULDがそれであるなら1xx応答を送るサーバは、最終的な応答を得るために200以上msを取ると予想します。 サーバは無制限にそれらの注文かユニークさにおけるより多くの問題ゼロ1xx応答がそうするかもしれません。 1xx応答が確かに伝えられないことに注意してください、そして、すなわち、それらはクライアントにACKを送らせません。 サーバは無料で情報の応答を再送できます、そして、クライアントは現状頃に要求を再送することによって、呼び出し処理を尋ねることができます。
7.1.1 100 Trying
7.1.1 100 トライ
Some unspecified action is being taken on behalf of this call (e.g., a database is being consulted), but the user has not yet been located.
この呼び出しを代表して何らかの不特定の行動を取っていますが(例えばデータベースは相談されています)、まだユーザの見つけていません。
7.1.2 180 Ringing
7.1.2 180 鳴ること
The called user agent has located a possible location where the user has registered recently and is trying to alert the user.
呼ばれたユーザエージェントはユーザが最近、登録して、ユーザを警告しようとしている可能な位置の場所を見つけました。
7.1.3 181 Call Is Being Forwarded
7.1.3 181 呼び出しを進めています。
A proxy server MAY use this status code to indicate that the call is being forwarded to a different set of destinations.
プロキシサーバは、呼び出しが異なったセットの目的地に送られているのを示すのにこのステータスコードを使用するかもしれません。
Handley, et al. Standards Track [Page 75] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[75ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
7.1.4 182 Queued
7.1.4 182 列に並ばせられます。
The called party is temporarily unavailable, but the callee has decided to queue the call rather than reject it. When the callee becomes available, it will return the appropriate final status response. The reason phrase MAY give further details about the status of the call, e.g., "5 calls queued; expected waiting time is 15 minutes". The server MAY issue several 182 responses to update the caller about the status of the queued call.
被呼者は一時入手できないのですが、訪問される人は、それを拒絶するよりむしろ呼び出しを列に並ばせると決めました。 訪問される人が利用可能になると、それは適切な最終的な状態応答を返すでしょう。 理由句は呼び出しの状態に関する詳細を与えるかもしれません、例えば、「5つの呼び出しが列を作りました」。 「予想された待ち時間は15分です。」 サーバは、列に並ばせられた呼び出しの状態に関して訪問者をアップデートするためにいくつかの182応答を発行するかもしれません。
7.2 Successful 2xx
7.2 うまくいっている2xx
The request was successful and MUST terminate a search.
要求は、うまくいって、検索を終えなければなりません。
7.2.1 200 OK
7.2.1 200 OK
The request has succeeded. The information returned with the response depends on the method used in the request, for example:
要求は成功しました。 応答と共に返された情報は例えば要求で使用されるメソッドによります:
BYE: The call has been terminated. The message body is empty.
さようなら: 呼び出しは終えられました。 メッセージ本体は空です。
CANCEL: The search has been cancelled. The message body is empty.
以下を取り消してください。 検索は中止されました。 メッセージ本体は空です。
INVITE: The callee has agreed to participate; the message body indicates the callee's capabilities.
招待します: 訪問される人は、参加するのに同意しました。 メッセージ本体は訪問される人の能力を示します。
OPTIONS: The callee has agreed to share its capabilities, included in the message body.
オプション: 訪問される人は、メッセージ本体に含まれていた能力を共有するのに同意しました。
REGISTER: The registration has succeeded. The client treats the message body according to its Content-Type.
以下を登録してください。 登録は成功しました。 コンテントタイプに従って、クライアントはメッセージ本体を治療します。
7.3 Redirection 3xx
7.3 リダイレクション3xx
3xx responses give information about the user's new location, or about alternative services that might be able to satisfy the call. They SHOULD terminate an existing search, and MAY cause the initiator to begin a new search if appropriate.
3xx応答はユーザの新しい位置の周り、または、呼び出しを満たすことができるかもしれない代替のサービスの周りに関して知らせます。 それら、SHOULDは既存の検索を終えて、適切であるなら、創始者が新しい検索を始めることを引き起こすかもしれません。
Any redirection (3xx) response MUST NOT suggest any of the addresses in the Via (Section 6.40) path of the request in the Contact header field. (Addresses match if their host and port number match.)
どんなリダイレクション(3xx)応答もContactヘッダーフィールドにおける要求のVia(セクション6.40)経路にアドレスのいずれも示してはいけません。 (それらのホストとポートナンバーが合っているなら、アドレスは合っています。)
To avoid forwarding loops, a user agent client or proxy MUST check whether the address returned by a redirect server equals an address tried earlier.
進めるのを避けるのを輪にされます、と再直接のサーバによって返されたアドレスが、より早く試みられたアドレスと等しいか否かに関係なく、ユーザエージェントのクライアントかプロキシがチェックしなければなりません。
Handley, et al. Standards Track [Page 76] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[76ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
7.3.1 300 Multiple Choices
7.3.1 300 選択式
The address in the request resolved to several choices, each with its own specific location, and the user (or user agent) can select a preferred communication end point and redirect its request to that location.
いくつかの選択に決議された要求におけるアドレス、それ自身の特定の位置があるそれぞれ、およびユーザ(または、ユーザエージェント)は、都合のよいコミュニケーションエンドポイントを選択して、その位置に要求を向け直すことができます。
The response SHOULD include an entity containing a list of resource characteristics and location(s) from which the user or user agent can choose the one most appropriate, if allowed by the Accept request header. The entity format is specified by the media type given in the Content-Type header field. The choices SHOULD also be listed as Contact fields (Section 6.13). Unlike HTTP, the SIP response MAY contain several Contact fields or a list of addresses in a Contact field. User agents MAY use the Contact header field value for automatic redirection or MAY ask the user to confirm a choice. However, this specification does not define any standard for such automatic selection.
応答SHOULDはリソースの特性のリストを含む実体とユーザかユーザエージェントが最も適切な状態でものを選ぶことができる位置を含んでいます、Accept要求ヘッダーによって許容されているなら。 実体形式はコンテントタイプヘッダーフィールドで与えた状態でメディアタイプによって指定されます。 選択SHOULD、また、Contactが(セクション6.13)をさばくので、記載されてください。 HTTPと異なって、SIP応答はContact分野にいくつかのContact分野か住所録を保管するかもしれません。 ユーザエージェントは、自動リダイレクションにContactヘッダーフィールド価値を使用するか、または選択を確認するようにユーザに頼むかもしれません。 しかしながら、この仕様はそのような自動選択のどんな規格も定義しません。
This status response is appropriate if the callee can be reached at several different locations and the server cannot or prefers not to proxy the request.
この状態応答は、訪問される人にいくつかの別の場所で達することができて、サーバが適切であることができないなら適切であるか、またはどんなプロキシほども要求を好みません。
7.3.2 301 Moved Permanently
7.3.2 301 永久に、動きます。
The user can no longer be found at the address in the Request-URI and the requesting client SHOULD retry at the new address given by the Contact header field (Section 6.13). The caller SHOULD update any local directories, address books and user location caches with this new value and redirect future requests to the address(es) listed.
もうRequest-URIにおけるアドレスでユーザを見つけることができません、そして、要求しているクライアントSHOULDはContactヘッダーフィールド(セクション6.13)によって与えられた新しいアドレスで再試行します。 訪問者SHOULDはこの新しい値でどんなローカルディレクトリ、アドレス帳、およびユーザ位置のキャッシュもアップデートします、そして、アドレス(es)への再直接の今後の要求はリストアップされました。
7.3.3 302 Moved Temporarily
7.3.3 302 一時動かされました。
The requesting client SHOULD retry the request at the new address(es) given by the Contact header field (Section 6.13). The duration of the redirection can be indicated through an Expires (Section 6.20) header. If there is no explicit expiration time, the address is only valid for this call and MUST NOT be cached for future calls.
要求しているクライアントSHOULDはContactヘッダーフィールド(セクション6.13)によって与えられた新しいアドレス(es)で要求を再試行します。 Expires(セクション6.20)ヘッダーを通してリダイレクションの持続時間を示すことができます。 どんな明白な満了時間もなければ、アドレスは、この呼び出しだけに有効であり、今後の呼び出しのためにキャッシュされてはいけません。
7.3.4 305 Use Proxy
7.3.4 305 プロキシを使用してください。
The requested resource MUST be accessed through the proxy given by the Contact field. The Contact field gives the URI of the proxy. The recipient is expected to repeat this single request via the proxy. 305 responses MUST only be generated by user agent servers.
Contact分野によって与えられるプロキシを通して要求されたリソースにアクセスしなければなりません。 Contact分野はプロキシのURIを与えます。 受取人がプロキシを通してこのただ一つの要求を繰り返すと予想されます。 ユーザエージェントサーバで305の応答を生成するだけでよいです。
Handley, et al. Standards Track [Page 77] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[77ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
7.3.5 380 Alternative Service
7.3.5 380 代替のサービス
The call was not successful, but alternative services are possible. The alternative services are described in the message body of the response. Formats for such bodies are not defined here, and may be the subject of future standardization.
呼び出しはうまくいきませんでしたが、代替のサービスは可能です。 代替のサービスは応答のメッセージ本体で説明されます。 そのようなボディーのための形式は、ここで定義されないで、今後の標準化の対象であるかもしれません。
7.4 Request Failure 4xx
7.4 要求失敗4xx
4xx responses are definite failure responses from a particular server. The client SHOULD NOT retry the same request without modification (e.g., adding appropriate authorization). However, the same request to a different server might be successful.
4xx応答は特定のサーバからの明確な失敗応答です。クライアントSHOULD NOTは変更(例えば、適切な承認を加える)なしで同じ要求を再試行します。 しかしながら、異なったサーバへの同じ要求はうまくいっているかもしれません。
7.4.1 400 Bad Request
7.4.1 400 悪い要求
The request could not be understood due to malformed syntax.
奇形の構文のため要求を理解できませんでした。
7.4.2 401 Unauthorized
7.4.2 401 権限がありません。
The request requires user authentication.
要求はユーザー認証を必要とします。
7.4.3 402 Payment Required
7.4.3 402 支払いが必要です。
Reserved for future use.
今後の使用のために、予約されます。
7.4.4 403 Forbidden
7.4.4 403 禁制です。
The server understood the request, but is refusing to fulfill it. Authorization will not help, and the request SHOULD NOT be repeated.
サーバは、要求を理解していますが、それを実現させるのを拒否しています。 承認は助けでなく、および要求SHOULD NOTを望んでいます。繰り返されます。
7.4.5 404 Not Found
7.4.5 404 見つけられませんでした。
The server has definitive information that the user does not exist at the domain specified in the Request-URI. This status is also returned if the domain in the Request-URI does not match any of the domains handled by the recipient of the request.
サーバには、ユーザがRequest-URIで指定されたドメインに存在しないという決定的な情報があります。 また、Request-URIにおけるドメインが要求の受取人によって扱われたドメインのいずれにも合っていないなら、この状態は返されます。
7.4.6 405 Method Not Allowed
7.4.6 405 許容されなかったメソッド
The method specified in the Request-Line is not allowed for the address identified by the Request-URI. The response MUST include an Allow header field containing a list of valid methods for the indicated address.
Request-線で指定されたメソッドはRequest-URIによって特定されたアドレスのために許容されていません。 応答は示されたアドレスのための有効なメソッドのリストを含むAllowヘッダーフィールドを含まなければなりません。
Handley, et al. Standards Track [Page 78] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[78ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
7.4.7 406 Not Acceptable
7.4.7 406 許容できません。
The resource identified by the request is only capable of generating response entities which have content characteristics not acceptable according to the accept headers sent in the request.
要求で特定されたリソースが、応答が満足している特性を許容できるようにしない実体であると生成することができるだけである、要求で送られたヘッダーを受け入れてください。
7.4.8 407 Proxy Authentication Required
7.4.8 407 プロキシ認証が必要です。
This code is similar to 401 (Unauthorized), but indicates that the client MUST first authenticate itself with the proxy. The proxy MUST return a Proxy-Authenticate header field (section 6.26) containing a challenge applicable to the proxy for the requested resource. The client MAY repeat the request with a suitable Proxy-Authorization header field (section 6.27). SIP access authentication is explained in section 13.2 and 14.
このコードは、401と同様ですが(権限のない)、クライアントが最初にプロキシと共にそれ自体を認証しなければならないのを示します。 プロキシはaを返さなければなりません。要求されたリソースに、プロキシに適切な挑戦を含んで、ヘッダーフィールド(セクション6.26)をProxy認証してください。 クライアントは適当なProxy-承認ヘッダーフィールド(セクション6.27)で要求を繰り返すかもしれません。 SIPアクセス認証はセクション13.2と14で説明されます。
This status code is used for applications where access to the communication channel (e.g., a telephony gateway) rather than the callee requires authentication.
このステータスコードは訪問される人よりむしろ通信チャネル(例えば、電話ゲートウェイ)へのアクセスが認証を必要とするアプリケーションに使用されます。
7.4.9 408 Request Timeout
7.4.9 408 タイムアウトを要求してください。
The server could not produce a response, e.g., a user location, within the time indicated in the Expires request-header field. The client MAY repeat the request without modifications at any later time.
サーバはExpires要求ヘッダーフィールドで示された時中に応答、例えばユーザ位置を生産できませんでした。 クライアントは後の何時でも変更なしで要求を繰り返すかもしれません。
7.4.10 409 Conflict
7.4.10 409 闘争
The request could not be completed due to a conflict with the current state of the resource. This response is returned if the action parameter in a REGISTER request conflicts with existing registrations.
要求はリソースの現状との闘争のため終了できませんでした。 REGISTER要求における動作パラメタが既存の登録証明書と衝突するなら、この応答を返します。
7.4.11 410 Gone
7.4.11 410 過ぎ去ります。
The requested resource is no longer available at the server and no forwarding address is known. This condition is expected to be considered permanent. If the server does not know, or has no facility to determine, whether or not the condition is permanent, the status code 404 (Not Found) SHOULD be used instead.
要求されたリソースはもうサーバで利用可能ではありません、そして、フォーワーディング・アドレスは全く知られていません。 永久的であるとこの状態が考えられると予想されます。 サーバに、知らないか、または状態が永久的であるか否かに関係なく、ステータスコード404(Foundでない)SHOULDが代わりに使用されることを決定する施設が全くないなら。
7.4.12 411 Length Required
7.4.12 411 長さが必要です。
The server refuses to accept the request without a defined Content- Length. The client MAY repeat the request if it adds a valid Content-Length header field containing the length of the message-body in the request message.
サーバは、定義されたContentの長さなしで要請を受け入れるのを拒否します。 要求メッセージのメッセージ本体の長さを含む有効なContent-長さのヘッダーフィールドを加えるなら、クライアントは要求を繰り返すかもしれません。
Handley, et al. Standards Track [Page 79] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[79ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
7.4.13 413 Request Entity Too Large
7.4.13 413 大き過ぎる状態で実体を要求してください。
The server is refusing to process a request because the request entity is larger than the server is willing or able to process. The server MAY close the connection to prevent the client from continuing the request.
サーバは、要求実体がサーバが望んでいるか、または処理できるより大きいので要求を処理するのを拒否しています。 サーバは、クライアントが要求を続けているのを防ぐために接続を終えるかもしれません。
If the condition is temporary, the server SHOULD include a Retry- After header field to indicate that it is temporary and after what time the client MAY try again.
状態が一時的であるなら、サーバSHOULDは、ヘッダーフィールドの後にそれが一時的であることを示して、クライアントが再試行するかもしれない何時の後に含むようにRetryを含んでいるか。
7.4.14 414 Request-URI Too Long
7.4.14 414 要求URIも長さ
The server is refusing to service the request because the Request-URI is longer than the server is willing to interpret.
サーバは、サーバが、解釈しても構わないと思っているよりRequest-URIが長いので要求を修理するのを拒否しています。
7.4.15 415 Unsupported Media Type
7.4.15 415 サポートされないメディアタイプ
The server is refusing to service the request because the message body of the request is in a format not supported by the requested resource for the requested method. The server SHOULD return a list of acceptable formats using the Accept, Accept-Encoding and Accept- Language header fields.
サーバは、要求されたメソッドのための要求されたリソースによってサポートされなかった形式には要求のメッセージ本体があるので要求を修理するのを拒否しています。 サーバSHOULDは、Accept、Accept-コード化、およびAccept言語ヘッダーフィールドを使用することで許容形式のリストを返します。
7.4.16 420 Bad Extension
7.4.16 420 悪い拡大
The server did not understand the protocol extension specified in a Require (Section 6.30) header field.
サーバはRequire(セクション6.30)ヘッダーフィールドで指定されたプロトコル拡大を理解していませんでした。
7.4.17 480 Temporarily Unavailable
7.4.17 480 一時入手できません。
The callee's end system was contacted successfully but the callee is currently unavailable (e.g., not logged in or logged in in such a manner as to preclude communication with the callee). The response MAY indicate a better time to call in the Retry-After header. The user could also be available elsewhere (unbeknownst to this host), thus, this response does not terminate any searches. The reason phrase SHOULD indicate a more precise cause as to why the callee is unavailable. This value SHOULD be setable by the user agent. Status 486 (Busy Here) MAY be used to more precisely indicate a particular reason for the call failure.
訪問される人のエンドシステムは首尾よく連絡されましたが、訪問される人は現在、入手できません(例えば、そのような方法で訪問される人とのコミュニケーションを排除するくらいにはログインされないか、またはログインされません)。 応答は後のRetryヘッダーを呼び入れるより良い時間を示すかもしれません。 また、ユーザもほかの場所で入手できるかもしれない(このホストに知られずに)、その結果、この応答はどんな検索も終えません。 理由句のSHOULDは訪問される人が入手できない理由に関して、より正確な原因を示します。 これはユーザによるsetableがエージェントであったならSHOULDを評価します。 状態486(忙しいHere)は、より正確に呼び出し失敗の特定の理由を示すのに使用されるかもしれません。
This status is also returned by a redirect server that recognizes the user identified by the Request-URI, but does not currently have a valid forwarding location for that user.
また、この状態はRequest-URIによって特定されたユーザを見分けますが、現在そのユーザにとって、有効な推進位置を持っていない再直接のサーバによって返されます。
Handley, et al. Standards Track [Page 80] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[80ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
7.4.18 481 Call Leg/Transaction Does Not Exist
7.4.18 481 呼び出し脚/トランザクションは存在していません。
This status is returned under two conditions: The server received a BYE request that does not match any existing call leg or the server received a CANCEL request that does not match any existing transaction. (A server simply discards an ACK referring to an unknown transaction.)
2つ未満の状態がこの状態に返されます: サーバがどんな既存の呼び出し脚にも合っていないBYE要求を受け取ったか、またはサーバはどんな既存のトランザクションにも合っていないキャンセル要求を受け取りました。 (サーバは未知のトランザクションについて言及しながら、単にACKを捨てます。)
7.4.19 482 Loop Detected
7.4.19 482 検出された輪
The server received a request with a Via (Section 6.40) path containing itself.
Via(セクション6.40)経路が気持ちを抑えていて、サーバは要求を受け取りました。
7.4.20 483 Too Many Hops
7.4.20 483 あまりに多くのホップ
The server received a request that contains more Via entries (hops) (Section 6.40) than allowed by the Max-Forwards (Section 6.23) header field.
サーバは前方へマックス(セクション6.23)ヘッダーフィールドによって許容されているより多くのViaエントリー(ホップ)(セクション6.40)を含む要求を受け取りました。
7.4.21 484 Address Incomplete
7.4.21 484 アドレス不完全です。
The server received a request with a To (Section 6.37) address or Request-URI that was incomplete. Additional information SHOULD be provided.
サーバは不完全であったTo(セクション6.37)アドレスかRequest-URIとの要求を受け取りました。 追加情報SHOULD、提供してください。
This status code allows overlapped dialing. With overlapped dialing, the client does not know the length of the dialing string. It sends strings of increasing lengths, prompting the user for more input, until it no longer receives a 484 status response.
コードが許容するこの状態はダイヤルすることを重ね合わせました。 重ね合わせられたダイヤルすることで、クライアントはダイヤルするストリングの長さを知りません。 それは増加する長さのストリングを送ります、より多くの入力のためにユーザをうながして、もう484状態応答を受けないまで。
7.4.22 485 Ambiguous
7.4.22 485 あいまいです。
The callee address provided in the request was ambiguous. The response MAY contain a listing of possible unambiguous addresses in Contact headers.
要求に提供された訪問される人アドレスはあいまいでした。 応答はContactヘッダーに可能な明白なアドレスのリストを含むかもしれません。
Revealing alternatives can infringe on privacy concerns of the user or the organization. It MUST be possible to configure a server to respond with status 404 (Not Found) or to suppress the listing of possible choices if the request address was ambiguous.
顕な代替手段はユーザか組織のプライバシーの問題を侵害できます。 要求アドレスがあいまいであったなら、状態404(Foundでない)で応じるか、または可能な選択のリストを抑圧するためにサーバを構成するのは可能であるに違いありません。
Example response to a request with the URL lee@example.com :
URL lee@example.com との要求への例の応答:
485 Ambiguous SIP/2.0 Contact: Carol Lee <sip:carol.lee@example.com>
485 あいまいな一口/2.0接触: キャロルリー<一口: carol.lee@example.com 、gt。
Handley, et al. Standards Track [Page 81] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[81ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
Contact: Ping Lee <sip:p.lee@example.com> Contact: Lee M. Foote <sip:lee.foote@example.com>
接触: リー<一口: p.lee@example.com を確認してください、gt;、接触: リーM.フット<一口: lee.foote@example.com 、gt。
Some email and voice mail systems provide this functionality. A status code separate from 3xx is used since the semantics are different: for 300, it is assumed that the same person or service will be reached by the choices provided. While an automated choice or sequential search makes sense for a 3xx response, user intervention is required for a 485 response.
何らかのメールとボイスメールシステムはこの機能性を提供します。 意味論が異なっているので、3xxから別々のステータスコードは使用されています: 300において、提供された選択で同じ人かサービスが連絡されると思われます。 自動化された選択か連続した検索が3xx応答のために理解できている間、ユーザ介入が485応答に必要です。
7.4.23 486 Busy Here
7.4.23 486 ここで、忙しいです。
The callee's end system was contacted successfully but the callee is currently not willing or able to take additional calls. The response MAY indicate a better time to call in the Retry-After header. The user could also be available elsewhere, such as through a voice mail service, thus, this response does not terminate any searches. Status 600 (Busy Everywhere) SHOULD be used if the client knows that no other end system will be able to accept this call.
訪問される人のエンドシステムは首尾よく連絡されましたが、訪問される人は、現在、望んでいないか、または追加呼び出しを取ることができます。 応答は後のRetryヘッダーを呼び入れるより良い時間を示すかもしれません。 また、ユーザも伝言ダイヤルなどのようにほかの場所で入手できるかもしれない、その結果、この応答はどんな検索も終えません。 Everywhere) SHOULDと忙しくしてください。状態600、(クライアントが、他のどんなエンドシステムもこの呼び出しを受け入れることができないのを知っているなら、使用されてください。
7.5 Server Failure 5xx
7.5 サーバ失敗5xx
5xx responses are failure responses given when a server itself has erred. They are not definitive failures, and MUST NOT terminate a search if other possible locations remain untried.
5xx応答はサーバ自体が間違えたとき与えられた失敗応答です。 彼らは、決定的な失敗でなく、他の可能な位置が実施されていないままで残るなら、検索を終えてはいけません。
7.5.1 500 Server Internal Error
7.5.1 500 サーバ内部エラー
The server encountered an unexpected condition that prevented it from fulfilling the request. The client MAY display the specific error condition, and MAY retry the request after several seconds.
サーバはそれが要求を実現させるのを防いだ予期していなかった状態に遭遇しました。 クライアントは、特定のエラー条件を表示して、数秒以降に要求を再試行するかもしれません。
7.5.2 501 Not Implemented
7.5.2 501 実装されません。
The server does not support the functionality required to fulfill the request. This is the appropriate response when the server does not recognize the request method and is not capable of supporting it for any user.
サーバは要求を実現させるのに必要である機能性をサポートしません。 これは、サーバが要求メソッドを認識しないときの適切な応答であり、どんなユーザのためにもそれをサポートすることができません。
7.5.3 502 Bad Gateway
7.5.3 502 悪いゲートウェイ
The server, while acting as a gateway or proxy, received an invalid response from the downstream server it accessed in attempting to fulfill the request.
サーバはゲートウェイかプロキシとして務めている間、要求を実現させるのを試みる際にそれがアクセスした川下のサーバから無効回答を受けました。
Handley, et al. Standards Track [Page 82] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[82ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
7.5.4 503 Service Unavailable
7.5.4 503 入手できないサービス
The server is currently unable to handle the request due to a temporary overloading or maintenance of the server. The implication is that this is a temporary condition which will be alleviated after some delay. If known, the length of the delay MAY be indicated in a Retry-After header. If no Retry-After is given, the client MUST handle the response as it would for a 500 response.
サーバは現在、サーバの一時的な積みすぎかメインテナンスのため要求を扱うことができません。含意はこれが少し遅れてから軽減される一時的な病態であるということです。 知られているなら、遅れの長さは後のRetryヘッダーで示されるかもしれません。 後のRetryを全く与えないなら、クライアントは500応答のために扱うように応答を扱わなければなりません。
Note: The existence of the 503 status code does not imply that a server has to use it when becoming overloaded. Some servers MAY wish to simply refuse the connection.
以下に注意してください。 503ステータスコードの存在は、積みすぎられるようになるとき、サーバがそれを使用しなければならないのを含意しません。 いくつかのサーバが単に接続を拒否したがっているかもしれません。
7.5.5 504 Gateway Time-out
7.5.5 504 ゲートウェイタイムアウト
The server, while acting as a gateway, did not receive a timely response from the server (e.g., a location server) it accessed in attempting to complete the request.
サーバはゲートウェイとして機能している間、要求を終了するのを試みる際にそれがアクセスしたサーバ(例えば、位置のサーバ)からタイムリーな応答を受けませんでした。
7.5.6 505 Version Not Supported
7.5.6 505 サポートされなかったバージョン
The server does not support, or refuses to support, the SIP protocol version that was used in the request message. The server is indicating that it is unable or unwilling to complete the request using the same major version as the client, other than with this error message. The response MAY contain an entity describing why that version is not supported and what other protocols are supported by that server. The format for such an entity is not defined here and may be the subject of future standardization.
サーバは、サポート、要求メッセージで使用されたSIPプロトコルバージョンに、サポートもしませんし、拒否もしません。 サーバは、クライアントと同じ主要なバージョンを使用する要求を終了するのが不本意であることを示しています、このエラーメッセージを除いて。 応答はそのバージョンがなぜサポートされないか、そして、どんな他のプロトコルがそのサーバによってサポートされるかを説明する実体を、含むかもしれません。そのような実体のための形式は、ここで定義されないで、今後の標準化の対象であるかもしれません。
7.6 Global Failures 6xx
7.6 グローバルな失敗6xx
6xx responses indicate that a server has definitive information about a particular user, not just the particular instance indicated in the Request-URI. All further searches for this user are doomed to failure and pending searches SHOULD be terminated.
6xx応答は、サーバにはRequest-URIで示された特定のインスタンスだけではなく、特定のユーザの決定的な情報があるのを示します。 このユーザのさらなるすべての捜索が、失敗に運命づけられて、検索SHOULDまで終えられます。
7.6.1 600 Busy Everywhere
7.6.1 600 いたる所では、忙しいです。
The callee's end system was contacted successfully but the callee is busy and does not wish to take the call at this time. The response MAY indicate a better time to call in the Retry-After header. If the callee does not wish to reveal the reason for declining the call, the callee uses status code 603 (Decline) instead. This status response is returned only if the client knows that no other end point (such as a voice mail system) will answer the request. Otherwise, 486 (Busy Here) should be returned.
訪問される人のエンドシステムが首尾よく連絡されましたが、訪問される人は、忙しく、このとき、呼び出しを取りたがっていません。 応答は後のRetryヘッダーを呼び入れるより良い時間を示すかもしれません。 訪問される人が呼び出しを断つ理由を明らかにしたくないなら、訪問される人は代わりにステータスコード603(衰退)を使用します。 クライアントが、他のどんなエンドポイント(ボイスメールシステムなどの)も要求に答えないのを知っている場合にだけ、この状態応答を返します。 さもなければ、486(忙しいHere)を返すべきです。
Handley, et al. Standards Track [Page 83] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[83ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
7.6.2 603 Decline
7.6.2 603 衰退
The callee's machine was successfully contacted but the user explicitly does not wish to or cannot participate. The response MAY indicate a better time to call in the Retry-After header.
訪問される人のマシンが首尾よく連絡されましたが、ユーザは、明らかに願わないことができませんし、参加できません。 応答は後のRetryヘッダーを呼び入れるより良い時間を示すかもしれません。
7.6.3 604 Does Not Exist Anywhere
7.6.3 604、何処にも、存在していません。
The server has authoritative information that the user indicated in the To request field does not exist anywhere. Searching for the user elsewhere will not yield any results.
サーバには、To要求分野で示されたユーザが何処にも存在しないという信頼できる情報があります。 ほかの場所でユーザを捜し求めるのは少しの結果ももたらさないでしょう。
7.6.4 606 Not Acceptable
7.6.4 606 許容できません。
The user's agent was contacted successfully but some aspects of the session description such as the requested media, bandwidth, or addressing style were not acceptable.
ユーザのエージェントは首尾よく連絡されましたが、セッション記述の要求されたメディア、帯域幅、またはアドレシングスタイルなどのいくつかの局面は許容できませんでした。
A 606 (Not Acceptable) response means that the user wishes to communicate, but cannot adequately support the session described. The 606 (Not Acceptable) response MAY contain a list of reasons in a Warning header field describing why the session described cannot be supported. Reasons are listed in Section 6.41. It is hoped that negotiation will not frequently be needed, and when a new user is being invited to join an already existing conference, negotiation may not be possible. It is up to the invitation initiator to decide whether or not to act on a 606 (Not Acceptable) response.
606(Acceptableでない)応答は、ユーザが交信することを願っていますが、適切に説明されたセッションをサポートすることができないことを意味します。 606(Acceptableでない)応答はなぜ説明されたセッションはサポートすることができないかを説明するWarningヘッダーフィールドにおける理由のリストを含むかもしれません。 理由はセクション6.41にリストアップされています。 交渉は頻繁に必要でないことが望まれていて、新しいユーザが既に既存の会議に参加するよう誘われているとき、交渉は可能でないかもしれません。 606(Acceptableでない)応答に影響するかどうか決めるのは、招待創始者次第です。
8 SIP Message Body
8一口メッセージ本体
8.1 Body Inclusion
8.1 ボディー包含
Requests MAY contain message bodies unless otherwise noted. Within this specification, the BYE request MUST NOT contain a message body. For ACK, INVITE and OPTIONS, the message body is always a session description. The use of message bodies for REGISTER requests is for further study.
別の方法で注意されない場合、要求はメッセージ本体を含むかもしれません。 この仕様の中では、BYE要求はメッセージ本体を含んではいけません。 ACK、INVITE、およびOPTIONSに関しては、いつもメッセージ本体はセッション記述です。 さらなる研究にはメッセージ本体のREGISTER要求の使用があります。
For response messages, the request method and the response status code determine the type and interpretation of any message body. All responses MAY include a body. Message bodies for 1xx responses contain advisory information about the progress of the request. 2xx responses to INVITE requests contain session descriptions. In 3xx responses, the message body MAY contain the description of alternative destinations or services, as described in Section 7.3. For responses with status 400 or greater, the message body MAY
応答メッセージのために、要求メソッドと応答ステータスコードはどんなメッセージ本体のタイプと解釈も決定します。 すべての応答がボディーを含むかもしれません。 1xx応答のためのメッセージ本体は要求の進歩の顧問情報を含んでいます。 INVITE要求への2xx応答はセッション記述を含んでいます。 3xx応答では、メッセージ本体はセクション7.3で説明されるように代替の目的地の、または、サービスの記述を含むかもしれません。 400以上、メッセージ本体がそうする状態がある応答のために
Handley, et al. Standards Track [Page 84] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[84ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
contain additional, human-readable information about the reasons for failure. It is RECOMMENDED that information in 1xx and 300 and greater responses be of type text/plain or text/html
失敗の理由の追加していて、人間読み込み可能な情報を含んでください。 1xx、300、および、より大きい応答における情報がタイプテキスト/平野かテキスト/htmlのものであることはRECOMMENDEDです。
8.2 Message Body Type
8.2 メッセージボディータイプ
The Internet media type of the message body MUST be given by the Content-Type header field. If the body has undergone any encoding (such as compression) then this MUST be indicated by the Content- Encoding header field, otherwise Content-Encoding MUST be omitted. If applicable, the character set of the message body is indicated as part of the Content-Type header-field value.
コンテントタイプヘッダーフィールドでメッセージ本体のインターネットメディアタイプを与えなければなりません。 ボディーが何かコード化(圧縮などの)を受けたなら、Contentコード化ヘッダーフィールドでこれを示さなければなりません。さもなければ、Content-コード化を省略しなければなりません。 適切であるなら、メッセージ本体の文字集合はコンテントタイプヘッダーフィールド価値の一部として示されます。
8.3 Message Body Length
8.3 メッセージボディーの長さ
The body length in bytes SHOULD be given by the Content-Length header field. Section 6.15 describes the behavior in detail.
Content-長さに従った当然のことがヘッダーフィールドであったならバイトSHOULDで長さを具体化させてください。 セクション6.15は詳細に振舞いについて説明します。
The "chunked" transfer encoding of HTTP/1.1 MUST NOT be used for SIP. (Note: The chunked encoding modifies the body of a message in order to transfer it as a series of chunks, each with its own size indicator.)
SIPにHTTP/1.1の"chunkedする"の転送コード化を使用してはいけません。 (注意: chunkedコード化は一連の塊としてそれを移すようにメッセージのボディーを変更します、それぞれそれ自身のサイズインディケータで。)
9 Compact Form
9 コンパクト形
When SIP is carried over UDP with authentication and a complex session description, it may be possible that the size of a request or response is larger than the MTU. To address this problem, a more compact form of SIP is also defined by using abbreviations for the common header fields listed below:
SIPが認証と複雑なセッション記述でUDPの上まで運ばれるとき、要求か応答のサイズがMTUより大きいのは、可能であるかもしれません。 また、このその問題を訴えるために、SIPの、よりコンパクトな書式は以下に記載された一般的なヘッダーフィールドに略語を使用することによって、定義されます:
short field name long field name note c Content-Type e Content-Encoding f From i Call-ID m Contact from "moved" l Content-Length s Subject t To v Via
「動く」l Content-長さのs Subject t Toからのショートの守備範囲名前ロング・フィールド名前注意cコンテントタイプe Contentをコード化しているf From i Call-ID m Contact対Via
Thus, the message in section 16.2 could also be written:
したがって、また、セクション16.2のメッセージを書くことができました:
Handley, et al. Standards Track [Page 85] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[85ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
INVITE sip:schooler@vlsi.caltech.edu SIP/2.0 v:SIP/2.0/UDP 131.215.131.131;maddr=239.128.16.254;ttl=16 v:SIP/2.0/UDP 128.16.64.19 f:sip:mjh@isi.edu t:sip:schooler@cs.caltech.edu i:62729-27@128.16.64.19 c:application/sdp CSeq: 4711 INVITE l:187
INVITE一口: schooler@vlsi.caltech.edu SIP/2.0v: SIP/2.0/UDP、131.215、.131、.131、; maddr=239.128.16.254; ttl=16 v: SIP/2.0/UDP128.16.64.19f:一口: mjh@isi.edu t:一口: schooler@cs.caltech.edu i: 62729-27@128.16 .64 .19 c: アプリケーション/sdp CSeq: 4711INVITE l: 187
v=0 o=user1 53655765 2353687637 IN IP4 128.3.4.5 s=Mbone Audio i=Discussion of Mbone Engineering Issues e=mbone@somewhere.com c=IN IP4 224.2.0.1/127 t=0 0 m=audio 3456 RTP/AVP 0
Mbone Engineering Issues eのv=0 o=user1 53655765 2353687637IN IP4 128.3.4.5 s=Mbone Audio i=議論= mbone@somewhere.com cは0 0t=mのIN IP4 224.2.0.1/127=オーディオの3456RTP/AVP0と等しいです。
Clients MAY mix short field names and long field names within the same request. Servers MUST accept both short and long field names for requests. Proxies MAY change header fields between their long and short forms, but this MUST NOT be done to fields following an Authorization header.
クライアントは同じ要求の中でショートの守備範囲名とロング・フィールド名を混ぜるかもしれません。 サーバは要求のために短いものと同様に長いフィールド名を受け入れなければなりません。 プロキシはそれらの長くて短いフォームの間でヘッダーフィールドを変えるかもしれませんが、Authorizationヘッダーに続いて、分野にこれをしてはいけません。
10 Behavior of SIP Clients and Servers
10 一口クライアントとサーバの働き
10.1 General Remarks
10.1 一般所見
SIP is defined so it can use either UDP (unicast or multicast) or TCP as a transport protocol; it provides its own reliability mechanism.
SIPはトランスポート・プロトコルとしてUDP(ユニキャストかマルチキャスト)かTCPのどちらかを使用できるように定義されます。 それはそれ自身の信頼性のメカニズムを提供します。
10.1.1 Requests
10.1.1 要求
Servers discard isomorphic requests, but first retransmit the appropriate response. (SIP requests are said to be idempotent , i.e., receiving more than one copy of a request does not change the server state.)
サーバは、同型の要求を捨てますが、最初に、適切な応答を再送します。 (SIP要求はベキ等元であると言われていて、すなわち、要求のコピー1部以上を受ける場合、サーバ状態は変えられません。)
After receiving a CANCEL request from an upstream client, a stateful proxy server MAY send a CANCEL on all branches where it has not yet received a final response.
上流のクライアントからキャンセル要求を受け取った後に、statefulプロキシサーバはそれがまだ最終的な応答を受けていないすべての支店でキャンセルを送るかもしれません。
When a user agent receives a request, it checks the Call-ID against those of in-progress calls. If the Call-ID was found, it compares the tag value of To with the user's tag and rejects the request if the
ユーザエージェントが要求を受け取るとき、それは進行中の呼び出しのものに対してCall-IDをチェックします。 Call-IDがそうであったなら、見つけられて、それは、Toのタグ値をユーザのタグと比べて、要求を拒絶します。
Handley, et al. Standards Track [Page 86] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[86ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
two do not match. If the From header, including any tag value, matches the value for an existing call leg, the server compares the CSeq header field value. If less than or equal to the current sequence number, the request is a retransmission. Otherwise, it is a new request. If the From header does not match an existing call leg, a new call leg is created.
2は合っていません。 どんなタグ値も含むFromヘッダーが既存の呼び出し脚のための値に合っているなら、サーバはCSeqヘッダーフィールド価値を比較します。 現在の、より一連番号であるなら、要求は「再-トランスミッション」です。 さもなければ、それは新しい要求です。 Fromヘッダーが既存の呼び出し脚に合っていないなら、新しい呼び出し脚は作成されます。
If the Call-ID was not found, a new call leg is created, with entries for the To, From and Call-ID headers. In this case, the To header field should not have contained a tag. The server returns a response containing the same To value, but with a unique tag added. The tag MAY be omitted if the request contained only one Via header field.
Call-IDが見つけられなかったなら、要求します脚がTo、From、およびCall-IDヘッダーのためにエントリーで作成されるという新しい。 この場合、Toヘッダーフィールドはタグを含むべきではありませんでした。 サーバは同じTo値を含んでいますが、ユニークなタグで加えられた応答を返します。 要求が1つのViaヘッダーフィールドだけを含んだなら、タグは省略されるかもしれません。
10.1.2 Responses
10.1.2 応答
A server MAY issue one or more provisional responses at any time before sending a final response. If a stateful proxy, user agent server, redirect server or registrar cannot respond to a request with a final response within 200 ms, it SHOULD issue a provisional (1xx) response as soon as possible. Stateless proxies MUST NOT issue provisional responses on their own.
最終的な応答を送る前に、サーバはいつでも、1つ以上の暫定的な応答を発行するかもしれません。 200msの中に最終的な応答がある状態で、statefulプロキシ(ユーザエージェントサーバ)がサーバを向け直すか、そして、記録係が要求に応じることができません、それ。SHOULDはできるだけ早く、(1xx)暫定的な応答を発行します。 状態がないプロキシは一人で暫定的な応答を発行してはいけません。
Responses are mapped to requests by the matching To, From, Call-ID, CSeq headers and the branch parameter of the first Via header. Responses terminate request retransmissions even if they have Via headers that cause them to be delivered to an upstream client.
応答は最初のViaヘッダーの合っているTo、From、Call-ID、CSeqヘッダー、およびブランチパラメタによって要求に写像されます。 それらに上流のクライアントに彼らを提供させるViaヘッダーがあっても、応答は要求「再-トランスミッション」を終えます。
A stateful proxy may receive a response that it does not have state for, that is, where it has no a record of an associated request. If the Via header field indicates that the upstream server used TCP, the proxy actively opens a TCP connection to that address. Thus, proxies have to be prepared to receive responses on the incoming side of passive TCP connections, even though most responses will arrive on the incoming side of an active connection. (An active connection is a TCP connection initiated by the proxy, a passive connection is one accepted by the proxy, but initiated by another entity.)
statefulプロキシはそれが状態を持っていない応答を受けるかもしれません、すなわち、それには関連要求に関するa記録が全くないところで。 Viaヘッダーフィールドが、上流のサーバがTCPを使用したのを示すなら、プロキシは活発にそのアドレスにTCP接続を開きます。 したがって、プロキシは受け身のTCP接続の入って来る側面で応答を受ける用意ができていなければなりません、ほとんどの応答が活発な接続の入って来る側面で到着するでしょうが。 (活発な接続がプロキシによって開始されたTCP接続である、受け身の接続はプロキシによって受け入れられますが、別の実体によって開始されたものです。)
100 responses SHOULD NOT be forwarded, other 1xx responses MAY be forwarded, possibly after the server eliminates responses with status codes that had already been sent earlier. 2xx responses are forwarded according to the Via header. Once a stateful proxy has received a 2xx response, it MUST NOT forward non-2xx final responses. Responses with status 300 and higher are retransmitted by each stateful proxy until the next upstream proxy sends an ACK (see below for timing details) or CANCEL.
100 他の1xx応答を進めるかもしれません、応答SHOULD NOTを進めてサーバが、より早く既に送られたステータスコードで応答を排除したことによると後に。 Viaヘッダーに応じて、2xx応答を進めます。 statefulプロキシがいったん2xx応答を受けると、それは非2xxの最終的な応答を進めてはいけません。 より高いのは、再送されて、それぞれがプロキシをstatefulするということです。そして、状態300がある応答、次期上流プロキシがACK(タイミングの詳細に関して以下を見る)かキャンセルを送るまで。
Handley, et al. Standards Track [Page 87] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[87ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
A stateful proxy SHOULD maintain state for at least 32 seconds after the receipt of the first definitive non-200 response, in order to handle retransmissions of the response.
SHOULDが応答の「再-トランスミッション」を扱うために最初の決定的な非200応答の領収書の後の少なくとも32秒間状態であることを支持するstatefulプロキシ。
The 32 second window is given by the maximum retransmission duration of 200-class responses using the default timers, in case the ACK is lost somewhere on the way to the called user agent or the next stateful proxy.
2番目の窓がデフォルトタイマを使用する200クラスの応答の最大の「再-トランスミッション」持続時間によって与えられる32、場合では、ACKは呼ばれたユーザエージェントか次期statefulプロキシへのどこかの途中でなくされています。
10.2 Source Addresses, Destination Addresses and Connections
10.2 ソースアドレス、送付先アドレス、およびコネクションズ
10.2.1 Unicast UDP
10.2.1 ユニキャストUDP
Responses are returned to the address listed in the Via header field (Section 6.40), not the source address of the request.
要求のソースアドレスではなく、Viaヘッダーフィールド(セクション6.40)で記載されたアドレスに応答を返します。
Recall that responses are not generated by the next-hop stateless server, but generated by either a proxy server or the user agent server. Thus, the stateless proxy can only use the Via header field to forward the response.
応答が次のホップの状態がないサーバによって生成されませんが、プロキシサーバかユーザエージェントサーバのどちらかによって生成されたと思い出してください。その結果、状態がないプロキシは、応答を進めるのにViaヘッダーフィールドを使用できるだけです。
10.2.2 Multicast UDP
10.2.2 マルチキャストUDP
Requests MAY be multicast; multicast requests likely feature a host- independent Request-URI. This request SHOULD be scoped to ensure it is not forwarded beyond the boundaries of the administrative system. This MAY be done with either TTL or administrative scopes[25], depending on what is implemented in the network.
要求はマルチキャストであるかもしれません。 マルチキャスト要求はおそらくホストの独立しているRequest-URIを特徴とします。 これは、SHOULDがそれが管理システムの限界を超えて進められないのを保証するために見られるよう要求します。 ネットワークで実装されることによって、TTLか管理範囲[25]のどちらかでこれをするかもしれません。
A client receiving a multicast query does not have to check whether the host part of the Request-URI matches its own host or domain name. If the request was received via multicast, the response is also returned via multicast. Responses to multicast requests are multicast with the same TTL as the request, where the TTL is derived from the ttl parameter in the Via header (Section 6.40).
マルチキャスト質問を受けるクライアントは、Request-URIのホスト部分がそれ自身のホストかドメイン名に合っているかどうかチェックする必要はありません。 また、マルチキャストで要求を受け取ったなら、マルチキャストで応答を返します。 マルチキャスト要求への応答はTTLがViaヘッダー(セクション6.40)でttlパラメタから得られる要求と同じTTLがあるマルチキャストです。
To avoid response implosion, servers MUST NOT answer multicast requests with a status code other than 2xx or 6xx. The server delays its response by a random interval uniformly distributed between zero and one second. Servers MAY suppress responses if they hear a lower- numbered or 6xx response from another group member prior to sending. Servers do not respond to CANCEL requests received via multicast to avoid request implosion. A proxy or UAC SHOULD send a CANCEL on receiving the first 2xx or 6xx response to a multicast request.
応答内部破裂を避けるために、サーバは2xxか6xx以外のステータスコードでマルチキャスト要求に答えてはいけません。 サーバは一様にゼロと1秒の間に分配された無作為の間隔のそばで応答を遅らせます。 彼らが発信の前に別のグループのメンバーから番号付か6xxの下側の応答を聞くなら、サーバは応答を抑圧するかもしれません。 サーバは要求内部破裂を避けるためにマルチキャストで受け取られたキャンセル要求に応じません。 プロキシかUAC SHOULDがマルチキャスト要求への最初の2xxか6xx応答を受けるときのキャンセルを送ります。
Handley, et al. Standards Track [Page 88] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[88ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
Server response suppression is a MAY since it requires a server to violate some basic message processing rules. Lets say A sends a multicast request, and it is received by B,C, and D. B sends a 200 response. The topmost Via field in the response will contain the address of A. C will also receive this response, and could use it to suppress its own response. However, C would normally not examine this response, as the topmost Via is not its own. Normally, a response received with an incorrect topmost Via MUST be dropped, but not in this case. To distinguish this packet from a misrouted or multicast looped packet is fairly complex, and for this reason the procedure is a MAY. The CANCEL, instead, provides a simpler and more standard way to perform response suppression. It is for this reason that the use of CANCEL here is a SHOULD
いくつかの基本的なメッセージ処理規則に違反するのがサーバを必要とするので、サーバ応答抑圧は5月です。 させる、Aがマルチキャスト要求を送ると言って、それをB、Cで受け取り、D.Bは200応答を送ります。 応答における最上のVia分野はA.のアドレスを含むでしょう。Cは、また、この応答を受けて、それ自身の応答を抑圧するのにそれを使用できました。 しかしながら、最上のViaがそれ自身でないので、通常、Cはこの応答を調べないでしょう。 通常、不正確な最上のViaと共に受けられた応答を、下げられますが、この場合下げてはいけません。 misroutedされるかマルチキャストの輪にされたパケットとこのパケットを区別するのはかなり複雑です、そして、この理由で、手順は5月です。 キャンセルは代わりに応答抑圧を実行するより簡単でより標準の方法を提供します。 それはここでのキャンセルの使用がSHOULDであるこの理由であります。
10.3 TCP
10.3 TCP
A single TCP connection can serve one or more SIP transactions. A transaction contains zero or more provisional responses followed by one or more final responses. (Typically, transactions contain exactly one final response, but there are exceptional circumstances, where, for example, multiple 200 responses can be generated.)
単独のTCP接続は1つ以上のSIPトランザクションに勤めることができます。 トランザクションはゼロか、より暫定的な応答を含んでいます、続いて、1つ以上の最終的な応答を含みます。 (通常、トランザクションはまさに1つの最終的な応答を含んでいますが、例外的な事情があります。)(そこでは、例えば、複数の200応答を生成することができます)。
The client SHOULD keep the connection open at least until the first final response arrives. If the client closes or resets the TCP connection prior to receiving the first final response, the server treats this action as equivalent to a CANCEL request.
最初の最終的な応答が到着するまで、クライアントSHOULDは少なくとも開くように接続を保ちます。 最初の最終的な応答を受ける前にクライアントがTCP接続を終えるか、またはリセットするなら、サーバはキャンセル要求に同じくらい同等なこの動作を扱います。
This behavior makes it less likely that malfunctioning clients cause a proxy server to keep connection state indefinitely.
この振舞いで、誤動作しているクライアントがプロキシサーバに接続が状態であることを保たせるのが、よりありそうでなく無期限になります。
The server SHOULD NOT close the TCP connection until it has sent its final response, at which point it MAY close the TCP connection if it wishes to. However, normally it is the client's responsibility to close the connection.
最終的な応答(終えたいなら、それはそれのポイントでTCP接続を終えるかもしれない)を送るまで、サーバSHOULD NOTはTCP接続を終えます。 しかしながら、通常、接続を終えるのは、クライアントの責任です。
If the server leaves the connection open, and if the client so desires it MAY re-use the connection for further SIP requests or for requests from the same family of protocols (such as HTTP or stream control commands).
サーバが接続を残すなら、開いてください。そうすれば、クライアントがそう望んでいるなら、それはさらなるSIP要求かプロトコルの同じファミリーからの要求(HTTPかストリーム制御コマンドなどの)に接続を再使用してもよいです。
Handley, et al. Standards Track [Page 89] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[89ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
If a server needs to return a response to a client and no longer has a connection open to that client, it MAY open a connection to the address listed in the Via header. Thus, a proxy or user agent MUST be prepared to receive both requests and responses on a "passive" connection.
サーバに、クライアントへの応答を返すのが必要であり、そのクライアントにとって、オープンな接続がもうないなら、それはViaヘッダーに記載されたアドレスに接続を開くかもしれません。 したがって、プロキシかユーザエージェントが「受動」の接続に要求と応答の両方を受ける用意ができていなければなりません。
10.4 Reliability for BYE, CANCEL, OPTIONS, REGISTER Requests
10.4 さようなら信頼性、キャンセル、オプションは要求を登録します。
10.4.1 UDP
10.4.1 UDP
A SIP client using UDP SHOULD retransmit a BYE, CANCEL, OPTIONS, or REGISTER request with an exponential backoff, starting at a T1 second interval, doubling the interval for each packet, and capping off at a T2 second interval. This means that after the first packet is sent, the second is sent T1 seconds later, the next 2*T1 seconds after that, the next 4*T1 seconds after that, and so on, until the interval hits T2. Subsequent retransmissions are spaced by T2 seconds. If the client receives a provisional response, it continues to retransmit the request, but with an interval of T2 seconds. Retransmissions cease when the client has sent a total of eleven packets, or receives a definitive response. Default values for T1 and T2 are 500 ms and 4 s, respectively. Clients MAY use larger values, but SHOULD NOT use smaller ones. Servers retransmit the response upon receipt of a request retransmission. After the server sends a final response, it cannot be sure the client has received the response, and thus SHOULD cache the results for at least 10*T2 seconds to avoid having to, for example, contact the user or location server again upon receiving a request retransmission.
UDP SHOULDを使用しているSIPクライアントはBYEを再送します、とキャンセル、OPTIONS、またはREGISTERが指数のbackoffで要求します、T1 2番目の間隔を置いて始まって、各パケットのために間隔を倍にして、T2で2番目の間隔を終えて。 これは、最初のパケットを送った後に何秒も後のT1、その秒後の次の2*T1、その秒後の次の4*T1などを2番目に送ることを意味します、間隔がT2を打つまで。 その後の「再-トランスミッション」はT2秒までに区切られます。 クライアントが暫定的な応答を受けるなら、要求を再送し続けていますが、それはT2秒の間隔で受けます。 クライアントが合計11のパケットを送ったか、または決定的な応答を受けるとき、Retransmissionsはやみます。 T1とT2のためのデフォルト値はmsと4秒間、それぞれ500です。 クライアントは、より大きい値を使用するかもしれませんが、SHOULD NOTは、より小さいものを使用します。 サーバは要求「再-トランスミッション」を受け取り次第応答を再送します。 サーバが最終的な応答を送った後に、それは、例えば、要求「再-トランスミッション」を受けるとき再びユーザか位置のサーバに連絡しなければならないのを避けるためにクライアントが応答を受けて、その結果、SHOULDが少なくとも10*T2秒の間、結果をキャッシュするのを確信しているはずがありません。
Use of the exponential backoff is for congestion control purposes. However, the back-off must cap off, since request retransmissions are used to trigger response retransmissions at the server. Without a cap, the loss of a single response could significantly increase transaction latencies.
指数のbackoffの使用は混雑管理目的のためのものです。 しかしながら、要求以来下に後部は、サーバで応答「再-トランスミッション」の引き金となるように使用される「再-トランスミッション」を終えなければなりません。上限がなければ、ただ一つの応答の損失はトランザクション潜在をかなり増強するかもしれません。
The value of the initial retransmission timer is smaller than that that for TCP since it is expected that network paths suitable for interactive communications have round-trip times smaller than 500 ms. For congestion control purposes, the retransmission count has to be bounded. Given that most transactions are expected to consist of one request and a few responses, round-trip time estimation is not likely to be very useful. If RTT estimation is desired to more quickly discover a missing final response, each request retransmission needs to be labeled with its own Timestamp (Section 6.36), returned in the response. The server caches the result until it can be sure that the client will not retransmit the same request again.
初期の再送信タイマーの値は対話的なコミュニケーションに適したネットワーク経路には500より往復の倍小さい原稿For混雑があると予想されて、TCPが、カウントが目的、「再-トランスミッション」でなければならないことを制御するのでバウンドしたそれより小さいです。 ほとんどのトランザクションが1つの要求といくつかの応答から成ると予想されるなら、往復の時間見積りは非常に役に立つ傾向がありません。 RTT見積りが、よりはやくなくなった最終的な応答を発見することが望まれているなら、それぞれの要求「再-トランスミッション」は、応答で返されたそれ自身のTimestamp(セクション6.36)でラベルされる必要があります。 クライアントが再び同じ要求を再送しないのが、確かになる場合があるまで、サーバは結果をキャッシュします。
Handley, et al. Standards Track [Page 90] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[90ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
Each server in a proxy chain generates its own final response to a CANCEL request. The server responds immediately upon receipt of the CANCEL request rather than waiting until it has received final responses from the CANCEL requests it generates.
プロキシチェーンにおける各サーバはキャンセル要求へのそれ自身の最終的な応答を生成します。 サーバはすぐキャンセル要求を受け取り次第生成するキャンセル要求から最終的な応答を受けるまで待っているよりむしろ反応します。
BYE and OPTIONS final responses are generated by redirect and user agent servers; REGISTER final responses are generated by registrars. Note that in contrast to the reliability mechanism described in Section 10.5, responses to these requests are not retransmitted periodically and not acknowledged via ACK.
BYEとOPTIONSの最終的な応答は再直接とユーザエージェントサーバによって生成されます。 REGISTERの最終的な応答は記録係によって生成されます。 これらの要求への応答がセクション10.5で説明された信頼性のメカニズムと対照して定期的に再送されないで、またACKを通して承諾されないことに注意してください。
10.4.2 TCP
10.4.2 TCP
Clients using TCP do not need to retransmit requests.
TCPを使用しているクライアントは要求を再送する必要はありません。
10.5 Reliability for INVITE Requests
10.5 招待要求のための信頼性
Special considerations apply for the INVITE method.
特別な問題はINVITEメソッドに申し込みます。
1. After receiving an invitation, considerable time can elapse before the server can determine the outcome. For example, if the called party is "rung" or extensive searches are performed, delays between the request and a definitive response can reach several tens of seconds. If either caller or callee are automated servers not directly controlled by a human being, a call attempt could be unbounded in time.
1. 招待状を受けた後に、サーバが結果を決定できる前にかなりの時間は経過できます。 例えば、被呼者が「鳴らされる」か、または大規模な検索が実行されるなら、要求と決定的な応答の間の遅れは数十秒に達することができます。 訪問者か訪問される人のどちらかが人間によって直接制御されなかった、自動化されたサーバであるなら、呼び出し試みは時間内に、限りないかもしれません。
2. If a telephony user interface is modeled or if we need to interface to the PSTN, the caller's user interface will provide "ringback", a signal that the callee is being alerted. (The status response 180 (Ringing) MAY be used to initiate ringback.) Once the callee picks up, the caller needs to know so that it can enable the voice path and stop ringback. The callee's response to the invitation could get lost. Unless the response is transmitted reliably, the caller will continue to hear ringback while the callee assumes that the call exists.
2. 電話ユーザーインタフェースがモデル化されるか、または私たちが、PSTNに連結する必要があると、訪問者のユーザーインタフェースは"ringback"(訪問される人が警告されているという信号)を提供するでしょう。 (状態応答180(鳴ること)はringbackを開始するのに使用されるかもしれません。) 訪問される人がいったん回復すると、訪問者は、声の経路を可能にして、ringbackを止めることができるように知る必要があります。 招待への訪問される人の応答は失せることができました。 応答が確かに伝えられないと、訪問される人が、呼び出しが存在すると仮定している間、訪問者はずっとringbackを聞くでしょう。
3. The client has to be able to terminate an on-going request, e.g., because it is no longer willing to wait for the connection or search to succeed. The server will have to wait several retransmission intervals to interpret the lack of request retransmissions as the end of a call. If the call succeeds shortly after the caller has given up, the callee will "pick up the phone" and not be "connected".
3. クライアントは継続している要求を終えることができなければなりません、例えば、それがもう接続か検索が後任となるのを待つことを望んでいないので。 サーバは、いくつかの再送信間隔の間、呼び出しの終わりとして要求「再-トランスミッション」の不足を解釈するのを待たなければならないでしょう。 訪問者があきらめたすぐ後に呼び出しが成功すると、訪問される人は、「電話をし」て、「接続されないでしょう」。
Handley, et al. Standards Track [Page 91] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[91ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
10.5.1 UDP
10.5.1 UDP
For UDP, A SIP client SHOULD retransmit a SIP INVITE request with an interval that starts at T1 seconds, and doubles after each packet transmission. The client ceases retransmissions if it receives a provisional or definitive response, or once it has sent a total of 7 request packets.
UDPに関しては、A SIPクライアントSHOULDはT1秒に始まって、各パケット伝送の後に倍増する間隔でSIP INVITE要求を再送します。 それが暫定的であるか決定的な応答を受けるか、またはいったん合計7つのリクエスト・パケットを送ると、クライアントは「再-トランスミッション」をやめます。
A server which transmits a provisional response should retransmit it upon reception of a duplicate request. A server which transmits a final response should retransmit it with an interval that starts at T1 seconds, and doubles for each subsequent packet. Response retransmissions cease when any one of the following occurs:
暫定的な応答を伝えるサーバは写し要求のレセプションでそれを再送するべきです。 最終的な応答を伝えるサーバはT1秒に始まって、それぞれのその後のパケットの代わりをする間隔でそれを再送するべきです。 以下のどれかが起こると、応答「再-トランスミッション」はやみます:
1. An ACK request for the same transaction is received;
1. 同じトランザクションを求めるACK要求は受信されています。
2. a BYE request for the same call leg is received;
2. 同じ呼び出し脚を求めるBYE要求は受信されています。
3. a CANCEL request for the same call leg is received and the final response status was equal or greater to 300;
3. 最終的な応答状態は、300に同じ呼び出し脚を求めるキャンセル要求が受信されていて、等しいか、または、より優れていました。
4. the response has been transmitted 7 times.
4. 応答は7回伝えられました。
Only the user agent client generates an ACK for 2xx final responses, If the response contained a Contact header field, the ACK MAY be sent to the address listed in that Contact header field. If the response did not contain a Contact header, the client uses the same To header field and Request-URI as for the INVITE request and sends the ACK to the same destination as the original INVITE request. ACKs for final responses other than 2xx are sent to the same server that the original request was sent to, using the same Request-URI as the original request. Note, however, that the To header field in the ACK is copied from the response being acknowledged, not the request, and thus MAY additionally contain the tag parameter. Also note than unlike 2xx final responses, a proxy generates an ACK for non-2xx final responses.
ユーザエージェントのクライアントだけが、2xxの最終的な応答のためのACK、Ifが応答の含まれたa Contactヘッダーフィールドであると生成します、ACK MAY。そのContactヘッダーフィールドで記載されたアドレスに送ってください。 応答がContactヘッダーを含まなかったなら、クライアントは、INVITE要求のように同じToヘッダーフィールドとRequest-URIを使用して、オリジナルのINVITE要求と同じ目的地にACKを送ります。 オリジナルの要求が送られたのと同じサーバに2xx以外の最終的な応答のためのACKsを送ります、オリジナルの要求と同じRequest-URIを使用して。 しかしながら、ACKのToヘッダーフィールドが要求ではなく、承諾される応答からコピーされて、その結果、さらに、タグパラメタを含むかもしれないことに注意してください。 また、プロキシが非2xxの最終的な応答のために2xxの最終的な応答と異なってACKを生成することに注意してください。
The ACK request MUST NOT be acknowledged to prevent a response-ACK feedback loop. Fig. 12 and 13 show the client and server state diagram for invitations.
応答-ACKフィードバックループを防ぐとACK要求を承諾してはいけません。 図12と13は招待状のためのクライアントとサーバ州のダイヤグラムを示しています。
The mechanism in Sec. 10.4 would not work well for INVITE because of the long delays between INVITE and a final response. If the 200 response were to get lost, the callee would believe the call to exist, but the voice path would
Secのメカニズム。 10.4はINVITEと最終的な応答の間の長時間の遅延のためにINVITEにうまくいかないでしょう。 200応答が失せることになっていましたが、訪問される人が存在するという要求を信じているでしょうが、声の経路が信じているなら
Handley, et al. Standards Track [Page 92] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[92ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
+===========+ * * ...........>* Initial *<;;;;;;;;;; : 7 INVITE * * ; : sent +===========+ ; : | ; : | - ; : | INVITE ; : | ; : v ; : ************* ; : T1*2^n <--* * ; : INVITE -->* Calling *--------+ ; : * * | ; : ************* | ; : : | | ; :.............: | 1xx xxx | ; | - ACK | ; | | ; v | ; ************* | ; * * | ; * Ringing *<->1xx | ; * * | ; ************* | ; | | ; |<-------------+ ; | ; v ; ************* ; xxx <--* * ; ACK -->* Completed * ; * * ; ************* ; ; 32s (for proxy); ;;;;;;;;;;;;;;;;;;
+===========+ * * ...........>* *<に頭文字をつけてください。 : 7 **を招待してください。 : +を送ります。===========+ ; : | ; : | - ; : | 招待します。 : | ; : v。 : ************* ; : T1*2^n<--**。 : 招待--*と呼ぶ>*--------+ ; : * * | ; : ************* | ; : : | | ; :.............: | 1xx xxx| ; | - ACK| ; | | ; v| ; ************* | ; * * | ; * 鳴る*<->、1xx| ; * * | ; ************* | ; | | ; | <、-、-、-、-、-、-、-、-、-、-、-、--+ ; | ; v。 ************* ; xxx<--**。 ACK-->*は*を完成しました。 * * ; ************* ; ; 32年代(プロキシのための)。 ;;;;;;;;;;;;;;;;;;
event (xxx=status) message
イベント(xxxは状態と等しい)メッセージ
Figure 12: State transition diagram of client for INVITE method
図12: INVITEメソッドのためのクライアントの状態遷移ダイヤグラム
Handley, et al. Standards Track [Page 93] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[93ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
7 pkts sent +===============+ +-------------->* * | * Initial *<............... |;;;;;;;;;;;;;;>* * : |; +===============+ : |; CANCEL ! : |; 200 ! INVITE : |; ! 1xx : |; ! : |; v : |; ***************** BYE : |; INVITE -->* * 200 : |; 1xx <--* Call proceed. *..............>: |; * * : |;;;;;;;;;;;;;;;***************** : |; ! ! : |: ! ! : |; failure ! ! picks up : |; >= 300 ! ! 200 : |; +-------+ +-------+ : |; v v : |; *********** *********** : |;INVITE<* *<T1*2^n->* *>INVITE : |;status>* failure *>status<-* success *<status : |; * * * * : |;;;;;;;;*********** *********** : | ! : | | ! : : | ! : | | ! : : +-------------!-:-+------------+ ! : : ! :.................!..:.........>: ! ! BYE : +---------+---------+ 200 : event ! ACK : message sent v : ***************** : V---* * : ACK * Confirmed * : |-->* * : ***************** . :......................>:
7 pktsは+を送りました。===============+ +-------------->* * | * *<に頭文字をつけてください… |;;;;;;;;;;;;;;>* * : |; +===============+ : |; キャンセル!: |; 200! 招待します: |; ! 1xx: |; ! : |; v: |; ***************** さようなら: |; 招待-->**200: |; 1xx<--*呼び出しは続きます。 *..............>: |; * * : |;;;;;;;;;;;;;;;***************** : |; ! ! : |: ! ! : |; 失敗!以下への選択 |; >= 300 ! ! 200 : |; +-------+ +-------+ : |; v v: |; *********** *********** : |; **>が招待する<**<T1*2^n->を招待してください: |; 状態>*失敗*>状態<-*成功*<、状態: |; * * * * : |;;;;;;;;*********** *********** : | ! : | | ! : : | ! : | | ! : : +-------------!-:-+------------+ ! : : ! :.................!..:.........>: ! ! さようなら: +---------+---------+ 200 : イベント!ACK: メッセージは以下に対して発信しました。 ***************** : V---* * : ACK*は*を確認しました: |-->* * : ***************** . :......................>:
Figure 13: State transition diagram of server for INVITE method
図13: INVITEメソッドのためのサーバの状態遷移ダイヤグラム
Handley, et al. Standards Track [Page 94] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[94ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
be dead since the caller does not know that the callee has picked up. Thus, the INVITE retransmission interval would have to be on the order of a second or two to limit the duration of this state confusion. Retransmitting the response with an exponential back-off helps ensure that the response is received, without placing an undue burden on the network.
訪問者が、訪問される人が回復したのを知らないので、死んでください。 したがって、この州の混乱の持続時間を制限する1秒か2秒の命令にはINVITE再送信間隔がなければならないでしょう。 指数の下に後部力添えで応答を再送して、応答が受け取られているのを確実にしてください、不当な負担をネットワークに置かないで。
10.5.2 TCP
10.5.2 TCP
A user agent using TCP MUST NOT retransmit requests, but uses the same algorithm as for UDP (Section 10.5.1) to retransmit responses until it receives an ACK.
使用TCP MUST NOTが再送するユーザエージェントは、ACKを受けるまで応答を再送するのにUDP(セクション10.5.1)のように同じアルゴリズムを要求しますが、使用します。
It is necessary to retransmit 2xx responses as their reliability is assured end-to-end only. If the chain of proxies has a UDP link in the middle, it could lose the response, with no possibility of recovery. For simplicity, we also retransmit non-2xx responses, although that is not strictly necessary.
終わらせる終わりだけがそれらの信頼性に保証されるように2xx応答を再送するのが必要です。 プロキシのチェーンが中央にUDPリンクを持っているなら、応答を失う場合がありました、回復の可能性なしで。 簡単さのために、それは厳密に必要ではありませんが、また、私たちは非2xx応答を再送します。
10.6 Reliability for ACK Requests
10.6 ACK要求のための信頼性
The ACK request does not generate responses. It is only generated when a response to an INVITE request arrives (see Section 10.5). This behavior is independent of the transport protocol. Note that the ACK request MAY take a different path than the original INVITE request, and MAY even cause a new TCP connection to be opened in order to send it.
ACK要求は応答を生成しません。 INVITE要求への応答が到着すると(セクション10.5を見てください)、それは生成されるだけです。 この振舞いはトランスポート・プロトコルから独立しています。 ACK要求がINVITEが要求して、それを送るために新しいTCP接続を開かせるかもしれないのさえオリジナルと異なった経路を取るかもしれないことに注意してください。
10.7 ICMP Handling
10.7 ICMP取り扱い
Handling of ICMP messages in the case of UDP messages is straightforward. For requests, a host, network, port, or protocol unreachable error SHOULD be treated as if a 400-class response was received. For responses, these errors SHOULD cause the server to cease retransmitting the response.
UDPメッセージの場合におけるICMPメッセージの取り扱いは簡単です。 要求、ホスト、ネットワーク、ポート、またはプロトコル手の届かない誤りSHOULDには、まるで400クラスの応答を受けるかのように、扱われてください。 応答、SHOULDが応答を再送するのをサーバをやめさせるこれらの誤りのために。
Source quench ICMP messages SHOULD be ignored. TTL exceeded errors SHOULD be ignored. Parameter problem errors SHOULD be treated as if a 400-class response was received.
ソースはICMPメッセージSHOULDを冷却します。無視されます。 TTLは誤りSHOULDを超えていました。無視されます。 パラメタ問題誤りSHOULD、まるで400クラスの応答を受けるかのように、扱われてください。
11 Behavior of SIP User Agents
11 一口ユーザエージェントの振舞い
This section describes the rules for user agent client and servers for generating and processing requests and responses.
このセクションはユーザエージェントのクライアントのための規則と要求と応答を生成して、処理するためのサーバについて説明します。
Handley, et al. Standards Track [Page 95] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[95ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
11.1 Caller Issues Initial INVITE Request
問題が頭文字をつける11.1訪問者は要求を招待します。
When a user agent client desires to initiate a call, it formulates an INVITE request. The To field in the request contains the address of the callee. The Request-URI contains the same address. The From field contains the address of the caller. If the From address can appear in requests generated by other user agent clients for the same call, the caller MUST insert the tag parameter in the From field. A UAC MAY optionally add a Contact header containing an address where it would like to be contacted for transactions from the callee back to the caller.
ユーザエージェントのクライアントが、呼び出しを開始することを望んでいるとき、それはINVITE要求を定式化します。 要求におけるTo分野は訪問される人のアドレスを含んでいます。 Request-URIは同じアドレスを含んでいます。 From分野は訪問者のアドレスを含んでいます。 Fromアドレスが同じ呼び出しのために他のユーザエージェントのクライアントによって生成された要求に現れることができるなら、訪問者はタグパラメタをFrom分野に挿入しなければなりません。 UAC MAYは任意にそれがトランザクションのために訪問される人から訪問者まで連絡されたいアドレスを含むContactヘッダーを加えます。
11.2 Callee Issues Response
11.2訪問される人は応答を発行します。
When the initial INVITE request is received at the callee, the callee can accept, redirect, or reject the call. In all of these cases, it formulates a response. The response MUST copy the To, From, Call-ID, CSeq and Via fields from the request. Additionally, the responding UAS MUST add the tag parameter to the To field in the response if the request contained more than one Via header field. Since a request from a UAC may fork and arrive at multiple hosts, the tag parameter serves to distinguish, at the UAC, multiple responses from different UAS's. The UAS MAY add a Contact header field in the response. It contains an address where the callee would like to be contacted for subsequent transactions, including the ACK for the current INVITE. The UAS stores the values of the To and From field, including any tags. These become the local and remote addresses of the call leg, respectively.
訪問される人で初期のINVITE要求を受け取るとき、訪問される人は、呼び出しを受け入れるか、向け直すか、または拒絶できます。 これらの場合では、全部で、それは応答を定式化します。 応答はTo、From、Call-ID CSeq、およびVia分野を要求を回避しなければなりません。 さらに、要求が1つ以上のViaヘッダーフィールドを含んだなら、応じているUAS MUSTは応答におけるTo分野にタグパラメタを加えます。 UACからの要求が複数のホストに分岐して、到着するかもしれないので、タグパラメタは、UACで異なったUASのものと複数の応答を区別するのに役立ちます。 UAS MAYは応答におけるContactヘッダーフィールドを加えます。 それは訪問される人がその後のトランザクションのために連絡されたいアドレスを含んでいます、現在のINVITEのためのACKを含んでいて。 UASはどんなタグも含むToとFrom分野の値を保存します。 これらはそれぞれ呼び出し脚の地方の、そして、リモートなアドレスになります。
11.3 Caller Receives Response to Initial Request
11.3訪問者は、要求に頭文字をつけるために応答を受けます。
Multiple responses may arrive at the UAC for a single INVITE request, due to a forking proxy. Each response is distinguished by the "tag" parameter in the To header field, and each represents a distinct call leg. The caller MAY choose to acknowledge or terminate the call with each responding UAS. To acknowledge, it sends an ACK request, and to terminate it sends a BYE request. The To header field in the ACK or BYE MUST be the same as the To field in the 200 response, including any tag. The From header field MUST be the same as the From header field in the 200 (OK) response, including any tag. The Request-URI of the ACK or BYE request MAY be set to whatever address was found in the Contact header field in the 200 (OK) response, if present. Alternately, a UAC may copy the address from the To header field into the Request-URI. The UAC also notes the value of the To and From header fields in each response. For each call leg, the To header field becomes the remote address, and the From header field becomes the local address.
複数の応答が分岐しているプロキシによるただ一つのINVITE要求のためにUACに到着するかもしれません。 各応答はToヘッダーフィールドにおける「タグ」パラメタによって区別されます、そして、それぞれが異なった呼び出し脚を表します。訪問者は、UASを反応させながらそれぞれで呼び出しを承諾するか、または終えるのを選ぶかもしれません。 ACK要求を送ると認めて、終わるために、それはBYE要求を送ります。 どんなタグも含んでいて、ヘッダーがToと同じくらいが200応答で分野であったならACKかBYE MUSTでさばくTo。 Fromヘッダーフィールドは200(OK)応答におけるFromヘッダーフィールドと同じであるに違いありません、どんなタグも含んでいて。 ACKかBYE要求のRequest-URIは200(OK)応答におけるContactヘッダーフィールドで見つけられたどんなアドレスにも設定されるかもしれません、存在しているなら。 交互に、UACはRequest-URIにToヘッダーフィールドからのアドレスをコピーするかもしれません。 また、UACは各応答における、ToとFromヘッダーフィールドの値に注意します。 それぞれの呼び出し脚のために、Toヘッダーフィールドはリモートアドレスになります、そして、Fromヘッダーフィールドはローカルアドレスになります。
Handley, et al. Standards Track [Page 96] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[96ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
11.4 Caller or Callee Generate Subsequent Requests
11.4の訪問者か訪問される人がその後の要求を生成します。
Once the call has been established, either the caller or callee MAY generate INVITE or BYE requests to change or terminate the call. Regardless of whether the caller or callee is generating the new request, the header fields in the request are set as follows. For the desired call leg, the To header field is set to the remote address, and the From header field is set to the local address (both including any tags). The Contact header field MAY be different than the Contact header field sent in a previous response or request. The Request-URI MAY be set to the value of the Contact header field received in a previous request or response from the remote party, or to the value of the remote address.
呼び出しがいったん確立されると、訪問者か訪問される人が、INVITEかBYEが呼び出しを変えるか、または終えるという要求であると生成するかもしれません。 訪問者か訪問される人が新しい要求を生成しているかどうかにかかわらず、要求におけるヘッダーフィールドは以下の通り設定されます。 必要な呼び出し脚において、Toヘッダーフィールドはリモートアドレスに設定されます、そして、Fromヘッダーフィールドはローカルアドレスに設定されます(ともにどんなタグも含んでいて)。 ContactヘッダーフィールドはContactヘッダーフィールドが前の応答か要求を送ったより異なっているかもしれません。 Request-URIはヘッダーフィールドがリモートパーティーから前の要求か応答で受けたContactの値、または、リモートアドレスの値に設定されるかもしれません。
11.5 Receiving Subsequent Requests
11.5 その後の要求を受け取ること。
When a request is received subsequently, the following checks are made:
次に要求を受け取るとき、以下のチェックをします:
1. If the Call-ID is new, the request is for a new call, regardless of the values of the To and From header fields.
1. Call-IDが新しいなら、要求はToとFromヘッダーフィールドの値にかかわらず新しい呼び出しのためのものです。
2. If the Call-ID exists, the request is for an existing call. If the To, From, Call-ID, and CSeq values exactly match (including tags) those of any requests received previously, the request is a retransmission.
2. Call-IDが存在しているなら、要求は既存の呼び出しのためのものです。 To、From、Call-ID、およびCSeq値がまさに以前に受け取られたどんな要求のものにも合っているなら(タグを含んでいます)、要求は「再-トランスミッション」です。
3. If there was no match to the previous step, the To and From fields are compared against existing call leg local and remote addresses. If there is a match, and the CSeq in the request is higher than the last CSeq received on that leg, the request is a new transaction for an existing call leg.
3. 前のステップへのマッチが全くなかったなら、ToとFrom分野は既存の呼び出し脚の地方の、そして、リモートなアドレスに対してたとえられます。 マッチがあって、要求におけるCSeqが最後のCSeqがその脚の上で受信したより高いなら、要求は既存の呼び出し脚のための新しいトランザクションです。
12 Behavior of SIP Proxy and Redirect Servers
12 一口プロキシと再直接のサーバの働き
This section describes behavior of SIP redirect and proxy servers in detail. Proxy servers can "fork" connections, i.e., a single incoming request spawns several outgoing (client) requests.
このセクションは再直接でSIPの動きについて説明します。そして、詳細なプロキシサーバ。 Proxyサーバは接続を「分岐にさせできます」、すなわち、ただ一つの入って来る要求がいくつかの送信する(クライアント)要求を生じさせます。
12.1 Redirect Server
12.1 再直接のサーバ
A redirect server does not issue any SIP requests of its own. After receiving a request other than CANCEL, the server gathers the list of alternative locations and returns a final response of class 3xx or it refuses the request. For well-formed CANCEL requests, it SHOULD return a 2xx response. This response ends the SIP transaction. The
再直接のサーバはそれ自身のどんなSIP要求も出しません。 キャンセル以外の要求を受け取った後に、サーバが、代替の位置のリストを集めて、クラス3xxの最終的な応答を返すか、またはそれは要求を拒否します。 整形式のキャンセル要求のためにそれ、SHOULDは2xx応答を返します。 この応答はSIPトランザクションを終わらせます。 The
Handley, et al. Standards Track [Page 97] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[97ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
redirect server maintains transaction state for the whole SIP transaction. It is up to the client to detect forwarding loops between redirect servers.
再直接のサーバは全体のSIPトランザクションのためにトランザクション状態を維持します。 それは再直接のサーバの間に輪を送る検出するクライアント次第です。
12.2 User Agent Server
12.2 ユーザエージェントサーバ
User agent servers behave similarly to redirect servers, except that they also accept requests and can return a response of class 2xx.
ユーザエージェントサーバはサーバを向け直すために同様に振る舞います、また、要求を受け入れて、クラス2xxの応答を返すことができるのを除いて。
12.3 Proxy Server
12.3 Proxyサーバ
This section outlines processing rules for proxy servers. A proxy server can either be stateful or stateless. When stateful, a proxy remembers the incoming request which generated outgoing requests, and the outgoing requests. A stateless proxy forgets all information once an outgoing request is generated. A forking proxy SHOULD be stateful. Proxies that accept TCP connections MUST be stateful.
このセクションはプロキシサーバのために処理規則について概説します。 プロキシサーバは、statefulであるか、または状態がない場合があります。 statefulなときに、プロキシは送信する要求、および送信する要求を生成した入って来る要求を覚えています。 送信する要求がいったん発生するようになると、状態がないプロキシはすべての情報を忘れます。 プロキシSHOULDをフォーク状にして、statefulであってください。 TCP接続を受け入れるプロキシはstatefulであるに違いありません。
Otherwise, if the proxy were to lose a request, the TCP client would never retransmit it.
さもなければ、プロキシが要求を失うなら、TCPクライアントはそれを決して再送しないでしょうに。
A stateful proxy SHOULD NOT become stateless until after it sends a definitive response upstream, and at least 32 seconds after it received a definitive response.
決定的な応答上流を送った後、および決定的な応答を受けた少なくとも32秒後にstatefulプロキシSHOULD NOTは状態がなくなります。
A stateful proxy acts as a virtual UAS/UAC. It implements the server state machine when receiving requests, and the client state machine for generating outgoing requests, with the exception of receiving a 2xx response to an INVITE. Instead of generating an ACK, the 2xx response is always forwarded upstream towards the caller. Furthermore, ACK's for 200 responses to INVITE's are always proxied downstream towards the UAS, as they would be for a stateless proxy.
statefulプロキシは仮想のUAS/UACとして務めます。 要求、および送信する要求を生成するための属国マシンを受け取るとき、それはサーバ州のマシンを実装します、INVITEへの2xx応答を受けるのを除いて。 ACKを生成することの代わりに、いつも上流へ2xx応答を訪問者に向かって送ります。 その上、INVITEのものへの200の応答のためのACKのものは川下でいつもUASに向かってproxiedされます、彼らが状態がないプロキシのためのものであるだろうというときに。
A stateless proxy does not act as a virtual UAS/UAC (as this would require state). Rather, a stateless proxy forwards every request it receives downstream, and every response it receives upstream.
状態がないプロキシは仮想のUAS/UACとして務めません(これが状態を必要とするでしょう、したがって)。 むしろ、状態がないプロキシはそれが川下に受け取るあらゆる要求、およびそれが上流へ受けるあらゆる応答を進めます。
12.3.1 Proxying Requests
12.3.1 要求をProxyingすること。
To prevent loops, a server MUST check if its own address is already contained in the Via header field of the incoming request.
輪を防ぐために、サーバは、それ自身のアドレスが入って来る要求のViaヘッダーフィールドに既に含まれているかどうかチェックしなければなりません。
The To, From, Call-ID, and Contact tags are copied exactly from the original request. The proxy SHOULD change the Request-URI to indicate the server where it intends to send the request.
To、From、Call-ID、およびContactタグはちょうどオリジナルの要求からコピーされます。 プロキシSHOULDは、それが要求を送るつもりであるサーバを示すためにRequest-URIを変えます。
Handley, et al. Standards Track [Page 98] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[98ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
A proxy server always inserts a Via header field containing its own address into those requests that are caused by an incoming request. Each proxy MUST insert a "branch" parameter (Section 6.40).
プロキシサーバはいつも入って来る要求で引き起こされるそれらの要求にそれ自身のアドレスを含むViaヘッダーフィールドを挿入します。 各プロキシは「ブランチ」パラメタ(セクション6.40)を挿入しなければなりません。
12.3.2 Proxying Responses
12.3.2 応答をProxyingすること。
A proxy only processes a response if the topmost Via field matches one of its addresses. A response with a non-matching top Via field MUST be dropped.
最上のVia分野がアドレスの1つに合っている場合にだけ、プロキシは応答を処理します。 非合っている先頭のVia分野がある応答を下げなければなりません。
12.3.3 Stateless Proxy: Proxying Responses
12.3.3 状態がないプロキシ: 応答をProxyingします。
A stateless proxy removes its own Via field, and checks the address in the next Via field. In the case of UDP, the response is sent to the address listed in the "maddr" tag if present, otherwise to the "received" tag if present, and finally to the address in the "sent- by" field. A proxy MUST remain stateful when handling requests received via TCP.
状態がないプロキシは、それ自身のVia野原を取り除いて、次のVia分野でアドレスをチェックします。 UDPの場合では、そうでなければ、「受け取られていている」タグに現在ですが、存在しているなら"maddr"タグに記載されたアドレスと、そして、最終的な「発信して」分野のアドレスに応答を送ります。 取り扱い要求がTCPを通して受信されたとき、プロキシはstatefulなままで残らなければなりません。
A stateless proxy MUST NOT generate its own provisional responses.
状態がないプロキシはそれ自身の暫定的な応答を生成してはいけません。
12.3.4 Stateful Proxy: Receiving Requests
12.3.4 Statefulプロキシ: 要求を受け取ります。
When a stateful proxy receives a request, it checks the To, From (including tags), Call-ID and CSeq against existing request records. If the tuple exists, the request is a retransmission. The provisional or final response sent previously is retransmitted, as per the server state machine. If the tuple does not exist, the request corresponds to a new transaction, and the request should be proxied.
statefulプロキシが要求を受け取るとき、それは既存の要求記録に対してTo、From(タグを含んでいる)、Call-ID、およびCSeqをチェックします。 tupleが存在しているなら、要求は「再-トランスミッション」です。 以前に送られた暫定的であるか最終的な応答はサーバ州のマシンに従って再送されます。 tupleが存在していないなら、要求は新しいトランザクションに対応しています、そして、要求はproxiedされるべきです。
A stateful proxy server MAY generate its own provisional (1xx) responses.
statefulプロキシサーバはそれ自身の暫定的な(1xx)応答を生成するかもしれません。
12.3.5 Stateful Proxy: Receiving ACKs
12.3.5 Statefulプロキシ: ACKsを受けます。
When an ACK request is received, it is either processed locally or proxied. To make this determination, the To, From, CSeq and Call-ID fields are compared against those in previous requests. If there is no match, the ACK request is proxied as if it were an INVITE request. If there is a match, and if the server had ever sent a 200 response upstream, the ACK is proxied. If the server had never sent any responses upstream, the ACK is also proxied. If the server had sent a 3xx, 4xx, 5xx or 6xx response, but no 2xx response, the ACK is processed locally if the tag in the To field of the ACK matches the tag sent by the proxy in the response.
ACK要求が受信されているとき、それは、局所的に処理されるか、またはproxiedされます。 この決断、To、From、CSeq、およびCall-IDを作るために、分野は前の要求でそれらに対して比較されます。 マッチが全くなければ、ACK要求はまるでそれがINVITE要求であるかのようにproxiedされます。 マッチがあって、サーバがそれまでに上流へ200応答を送ったことがあったなら、ACKはproxiedされます。 また、サーバが何か応答上流を一度も送ったことがなかったなら、ACKはproxiedされます。 ACKのTo分野のタグが応答でプロキシによって送られたタグに合って、サーバが3xx、4xx、5xxまたは6xx応答にもかかわらず、どんな2xxにも応答を送らなかったなら、ACKは局所的に処理されます。
Handley, et al. Standards Track [Page 99] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[99ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
12.3.6 Stateful Proxy: Receiving Responses
12.3.6 Statefulプロキシ: 応答を受けます。
When a proxy server receives a response that has passed the Via checks, the proxy server checks the To (without the tag), From (including the tag), Call-ID and CSeq against values seen in previous requests. If there is no match, the response is forwarded upstream to the address listed in the Via field. If there is a match, the "branch" tag in the Via field is examined. If it matches a known branch identifier, the response is for the given branch, and processed by the virtual client for the given branch. Otherwise, the response is dropped.
プロキシサーバがViaチェックを通過した応答を受けるとき、プロキシサーバは前の要求で見られた値に対してTo(タグのない)、From(タグを含んでいる)、Call-ID、およびCSeqをチェックします。 マッチが全くなければ、上流へVia分野に記載されたアドレスに応答を送ります。 マッチがあれば、Via分野の「ブランチ」タグは調べられます。 知られているブランチ識別子を合わせるなら、応答は、与えられたブランチのためにいて、与えられたブランチのために仮想のクライアントによって処理されます。 さもなければ、応答は下げられます。
A stateful proxy should obey the rules in Section 12.4 to determine if the response should be proxied upstream. If it is to be proxied, the same rules for stateless proxies above are followed, with the following addition for TCP. If a request was received via TCP (indicated by the protocol in the top Via header), the proxy checks to see if it has a connection currently open to that address. If so, the response is sent on that connection. Otherwise, a new TCP connection is opened to the address and port in the Via field, and the response is sent there. Note that this implies that a UAC or proxy MUST be prepared to receive responses on the incoming side of a TCP connection. Definitive non 200-class responses MUST be retransmitted by the proxy, even over a TCP connection.
statefulプロキシは、応答が上流へproxiedされるべきであるかどうか決定するためにセクション12.4で規則を守るべきです。 それがproxiedされるつもりであるなら、上の状態がないプロキシのための同じ規則は従われています、TCPのための以下の追加で。 TCP(プロトコルで、トップViaヘッダーで示される)を通して要求を受け取ったなら、プロキシは、それで現在そのアドレスにオープンな接続があるかどうか確認するためにチェックします。 そうだとすれば、その接続に応答を送ります。 さもなければ、Via分野のアドレスとポートに新しいTCP接続を開きます、そして、応答をそこに送ります。 これが、UACかプロキシがTCP接続の入って来る側面で応答を受ける用意ができていなければならないのを含意することに注意してください。 プロキシは決定的な非200クラスの応答をTCP接続の上にさえ再送しなければなりません。
12.3.7 Stateless, Non-Forking Proxy
12.3.7 状態がなくて、非分岐しているプロキシ
Proxies in this category issue at most a single unicast request for each incoming SIP request, that is, they do not "fork" requests. However, servers MAY choose to always operate in a mode that allows issuing of several requests, as described in Section 12.4.
ただ一つのユニキャストがそれぞれの入って来るSIP要求のために要求する大部分のこのカテゴリ問題のプロキシ、すなわち、彼らは要求を「分岐させません」。 しかしながら、サーバは、発行するのを許容するいくつかの要求の方法でいつも作動するのを選ぶかもしれません、セクション12.4で説明されるように。
The server can forward the request and any responses. It does not have to maintain any state for the SIP transaction. Reliability is assured by the next redirect or stateful proxy server in the server chain.
サーバは要求とどんな応答も転送できます。 それはSIPトランザクションのために少しの状態も維持する必要はありません。 信頼性はサーバチェーンで次の再直接の、または、statefulなプロキシサーバによって保証されます。
A proxy server SHOULD cache the result of any address translations and the response to speed forwarding of retransmissions. After the cache entry has been expired, the server cannot tell whether an incoming request is actually a retransmission of an older request. The server will treat it as a new request and commence another search.
SHOULDが進めながら促進するためにどんなアドレス変換と応答の結果もキャッシュする「再-トランスミッション」のプロキシサーバ。 キャッシュエントリーが吐き出された後に、サーバは、より古い要求について入って来る要求が実際に「再-トランスミッション」であるかどうかわかりません。 サーバは、新しい要求としてそれを扱って、別の検索を始めるでしょう。
12.4 Forking Proxy
12.4 プロキシを分岐させること。
The server MUST respond to the request immediately with a 100 (Trying) response.
サーバはすぐ100の(試みること)の応答で要求に応じなければなりません。
Handley, et al. Standards Track [Page 100] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[100ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
Successful responses to an INVITE request MAY contain a Contact header field so that the following ACK or BYE bypasses the proxy search mechanism. If the proxy requires future requests to be routed through it, it adds a Record-Route header to the request (Section 6.29).
INVITE要求へのうまくいっている応答がContactヘッダーフィールドを含むかもしれないので、以下のACKかBYEがプロキシ検索メカニズムを迂回させます。 プロキシがそれを通して発送されるという今後の要求を必要とするなら、それは要求(セクション6.29)にRecord-ルートヘッダーを追加します。
The following C-code describes the behavior of a proxy server issuing several requests in response to an incoming INVITE request. The function request(r, a, b) sends a SIP request of type r to address a, with branch id b. await_response() waits until a response is received and returns the response. close(a) closes the TCP connection to client with address a. response(r) sends a response to the client. ismulticast() returns 1 if the location is a multicast address and zero otherwise. The variable timeleft indicates the amount of time left until the maximum response time has expired. The variable recurse indicates whether the server will recursively try addresses returned through a 3xx response. A server MAY decide to recursively try only certain addresses, e.g., those which are within the same domain as the proxy server. Thus, an initial multicast request can trigger additional unicast requests.
以下のC-コードは入って来るINVITE要求に対応していくつかの要求を出すプロキシサーバの振舞いについて説明します。 ブランチイドb.で、応答が受け取られていて、応答を返すまで、_応答()待ちを待ってください。(r、a、b)がタイプrがaを扱うというSIP要求を送るという機能要求、close(a)は応答(r)がクライアントへの応答を送るアドレスa.でTCP接続をクライアントに終えます。ismulticast()はそうでなければ、位置がマルチキャストアドレスとゼロであるなら1を返します。 可変timeleftは最大の応答時間が期限が切れるまで残っている時間を示します。 可変「再-呪い」は、サーバが3xx応答で返されたアドレスを再帰的に試みるかどうかを示します。 サーバは、あるアドレスだけを再帰的に試みると決めるかもしれません、例えばプロキシサーバと同じドメインの中にあるもの。その結果、初期のマルチキャスト要求は追加ユニキャスト要求の引き金となることができます。
/* request type */ typedef enum {INVITE, ACK, BYE, OPTIONS, CANCEL, REGISTER} Method;
/*がタイプ*/typedef enumのためにINVITE、ACK、BYE、OPTIONS、キャンセル、REGISTERを要求する、メソッド。
process_request(Method R, int N, address_t address[]) { struct { int branch; /* branch id */ int done; /* has responded */ } outgoing[]; int done[]; /* address has responded */ char *location[]; /* list of locations */ int heard = 0; /* number of sites heard from */ int class; /* class of status code */ int timeleft = 120; /* sample timeout value */ int loc = 0; /* number of locations */ struct { /* response */ int status; /* response: CANCEL=-1 */ int locations; /* number of redirect locations */ char *location[]; /* redirect locations */ address_t a; /* address of respondent */ int branch; /* branch identifier */ } r, best; /* response, best response */ int i;
structに、intブランチ; 行われた/*ブランチイド*/int; /*は*/を反応させました。プロセス_要求(メソッドR、int Nは、_tがアドレスであると扱う)、外向的な; 行われたint;/*アドレスは*/炭*位置を反応させました; */intが0; */intのクラスから聞かれたサイトの/*数; ステータスコード*/int timeleft=120の/*クラスと等しいのを聞いた位置の/*リスト; /*サンプルタイムアウト値の*/int loc=0; {/*応答*/int状態; /*応答: *キャンセル=-1*/int位置; 再直接の位置の*/炭*位置の/*数;/再直接の位置の*/アドレス_t a; 応答者*/intの/*アドレスは分岐します; /*ブランチ識別子*/}という位置の*/struct rの/*数、最善; /*応答、最も良い応答*/int i。
best.status = 1000; for (i = 0; i < N; i++) {
best.status=1000。 (i=0; i<N; i++)
Handley, et al. Standards Track [Page 101] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[101ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
request(R, address[i], i); outgoing[i].done = 0; outgoing[i].branch = i; }
要求(R、アドレス[i]、i)。 外向的な[i].done=0。 外向的な[i].branchはiと等しいです。 }
while (timeleft > 0 && heard < N) { r = await_response(); class = r.status / 100;
(timeleft>0、<N)を聞く、r=は_応答()を待ちます; =r.状態/100を分類してください。
/* If final response, mark branch as done. */ if (class >= 2) { heard++; for (i = 0; i < N; i++) { if (r.branch == outgoing[i].branch) { outgoing[i].done = 1; break; } } } /* CANCEL: respond, fork and wait for responses */ else if (class < 0) { best.status = 200; response(best); for (i = 0; i < N; i++) { if (!outgoing[i].done) request(CANCEL, address[i], outgoing[i].branch); } best.status = -1; }
/、*最終的な応答であるなら、するようにブランチをマークしてください。 */が(クラス>=2)であるなら(r.ブランチ=外向的な[i].branch)外向的な[i].done=1(中断)であるなら+ (i=0; i<N; i++)のための+を聞いた、/*キャンセル: 応じてください、そして、分岐してください、そして、(クラス<0)であるなら*/ほかの応答を待ってください。(i=0; i<N; i++)のためのbest.status=200(応答(負かす))、(外向的な[i].done)要求(キャンセル、アドレス[i]、外向的な[i].branch)であるなら;best.statusは-1と等しいです。
/* Send an ACK */
/*はACK*/を送ります。
if (class != 2) { if (R == INVITE) request(ACK, r.a, r.branch); }
(クラス!=2)です。(R=INVITE)が(ACK、r. a、r.ブランチ)を要求するなら。
if (class == 2) { if (r.status < best.status) best = r; break; } else if (class == 3) { /* A server MAY optionally recurse. The server MUST check * whether it has tried this location before and whether * the location is part of the Via path of the incoming * request. This check is omitted here for brevity. * Multicast locations MUST NOT be returned to the client if * the server is not recursing.
/*Aサーバは任意に「再-呪」われるかもしれません。サーバは*以前、この位置を試みたことがあるかどうかと、*位置が入って来る*要求のVia経路の一部であるかどうかチェックしなければなりません。簡潔さのためにここでこのチェックを省略します。((r.状態<best.status)がrと最もよく等しいなら; 壊れてください;(クラス=3)であるならほかに=2)を分類してください、**サーバが「再-呪」われていないなら、マルチキャスト位置をクライアントに返してはいけません。
Handley, et al. Standards Track [Page 102] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[102ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
*/ if (recurse) { multicast = 0; N += r.locations; for (i = 0; i < r.locations; i++) { request(R, r.location[i]); } } else if (!ismulticast(r.location)) { best = r; } } else if (class == 4) { if (best.status >= 400) best = r; } else if (class == 5) { if (best.status >= 500) best = r; } else if (class == 6) { best = r; break; } }
*/、(「再-呪い」)である、(i=0; i<r.位置; i++)のためのマルチキャスト=0(N+=r.位置)、要求、(R、r.位置[i]);、ほか、(ismulticast(r.位置))である、最も良い=r;、ほか、(クラス=4)である、(best.status>=400)がrと最もよく等しいなら。 ほか、(クラス=5)である、(best.status>=500)がrと最もよく等しいなら。 ほか、(クラス=6)である、ベストはrと等しいです。 壊れてください。 } }
/* We haven't heard anything useful from anybody. */ if (best.status == 1000) { best.status = 404; } if (best.status/100 != 3) loc = 0; response(best); }
私たちが持っていない/*はだれからも役に立つものは何でも聞きました。 */、(best.status=1000) best.status=404; (best.status/100!=3)loc=0であるなら。 応答(最善)。 }
Responses are processed as follows. The process completes (and state can be freed) when all requests have been answered by final status responses (for unicast) or 60 seconds have elapsed (for multicast). A proxy MAY send a CANCEL to all branches and return a 408 (Timeout) to the client after 60 seconds or more.
応答は以下の通り処理されます。 プロセスは秒が経過するように(マルチキャストのための)する最終的な状態応答(ユニキャストのための)ですべての要求がいつ答えられたか、そして、60を完了します(状態を解放できます)。 プロキシは、すべてのブランチにキャンセルを送って、60秒以上以降に408(タイムアウト)をクライアントに返すかもしれません。
1xx: The proxy MAY forward the response upstream towards the client.
1xx: プロキシは応答上流をクライアントに向かって送るかもしれません。
2xx: The proxy MUST forward the response upstream towards the client, without sending an ACK downstream. After receiving a 2xx, the server MAY terminate all other pending requests by sending a CANCEL request and closing the TCP connection, if applicable. (Terminating pending requests is advisable as searches consume resources. Also, INVITE requests could "ring" on a number of workstations if the callee is currently logged in more than once.)
2xx: ACKを川下に送らないで、プロキシは応答上流をクライアントに向かって送らなければなりません。 2xxを受けた後に、サーバはキャンセル要求を送って、TCP接続を終えるのによる要求まですべて他であって、適切な状態で終わるかもしれません。 (検索がリソースを消費して、未定の要求を終えるのは賢明です。 また、訪問される人が現在一度以上に登録されるなら、INVITE要求は多くのワークステーションの上で「鳴るかもしれません」。)
Handley, et al. Standards Track [Page 103] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[103ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
3xx: The proxy MUST send an ACK and MAY recurse on the listed Contact addresses. Otherwise, the lowest-numbered response is returned if there were no 2xx responses.
3xx: プロキシはACKと5月の「再-呪い」を記載されたContactアドレスに送らなければなりません。 さもなければ、2xx応答が全くなかったなら、最も低く番号付の応答を返します。
Location lists are not merged as that would prevent forwarding of authenticated responses. Also, responses can have message bodies, so that merging is not feasible.
Location lists are not merged as that would prevent forwarding of authenticated responses. Also, responses can have message bodies, so that merging is not feasible.
4xx, 5xx: The proxy MUST send an ACK and remember the response if it has a lower status code than any previous 4xx and 5xx responses. On completion, the lowest-numbered response is returned if there were no 2xx or 3xx responses.
4xx, 5xx: The proxy MUST send an ACK and remember the response if it has a lower status code than any previous 4xx and 5xx responses. On completion, the lowest-numbered response is returned if there were no 2xx or 3xx responses.
6xx: The proxy MUST forward the response to the client and send an ACK. Other pending requests MAY be terminated with CANCEL as described for 2xx responses.
6xx: The proxy MUST forward the response to the client and send an ACK. Other pending requests MAY be terminated with CANCEL as described for 2xx responses.
A proxy server forwards any response for Call-IDs for which it does not have a pending transaction according to the response's Via header. User agent servers respond to BYE requests for unknown call legs with status code 481 (Transaction Does Not Exist); they drop ACK requests with unknown call legs silently.
A proxy server forwards any response for Call-IDs for which it does not have a pending transaction according to the response's Via header. User agent servers respond to BYE requests for unknown call legs with status code 481 (Transaction Does Not Exist); they drop ACK requests with unknown call legs silently.
Special considerations apply for choosing forwarding destinations for ACK and BYE requests. In most cases, these requests will bypass proxies and reach the desired party directly, keeping proxies from having to make forwarding decisions.
Special considerations apply for choosing forwarding destinations for ACK and BYE requests. In most cases, these requests will bypass proxies and reach the desired party directly, keeping proxies from having to make forwarding decisions.
A proxy MAY maintain call state for a period of its choosing. If a proxy still has list of destinations that it forwarded the last INVITE to, it SHOULD direct ACK requests only to those downstream servers.
A proxy MAY maintain call state for a period of its choosing. If a proxy still has list of destinations that it forwarded the last INVITE to, it SHOULD direct ACK requests only to those downstream servers.
13 Security Considerations
13 Security Considerations
13.1 Confidentiality and Privacy: Encryption
13.1 Confidentiality and Privacy: Encryption
13.1.1 End-to-End Encryption
13.1.1 End-to-End Encryption
SIP requests and responses can contain sensitive information about the communication patterns and communication content of individuals. The SIP message body MAY also contain encryption keys for the session itself. SIP supports three complementary forms of encryption to protect privacy:
SIP requests and responses can contain sensitive information about the communication patterns and communication content of individuals. The SIP message body MAY also contain encryption keys for the session itself. SIP supports three complementary forms of encryption to protect privacy:
o End-to-end encryption of the SIP message body and certain sensitive header fields;
o End-to-end encryption of the SIP message body and certain sensitive header fields;
Handley, et al. Standards Track [Page 104] RFC 2543 SIP: Session Initiation Protocol March 1999
Handley, et al. Standards Track [Page 104] RFC 2543 SIP: Session Initiation Protocol March 1999
o hop-by-hop encryption to prevent eavesdropping that tracks who is calling whom;
o hop-by-hop encryption to prevent eavesdropping that tracks who is calling whom;
o hop-by-hop encryption of Via fields to hide the route a request has taken.
o hop-by-hop encryption of Via fields to hide the route a request has taken.
Not all of the SIP request or response can be encrypted end-to-end because header fields such as To and Via need to be visible to proxies so that the SIP request can be routed correctly. Hop-by-hop encryption encrypts the entire SIP request or response on the wire so that packet sniffers or other eavesdroppers cannot see who is calling whom. Hop-by-hop encryption can also encrypt requests and responses that have been end-to-end encrypted. Note that proxies can still see who is calling whom, and this information is also deducible by performing a network traffic analysis, so this provides a very limited but still worthwhile degree of protection.
Not all of the SIP request or response can be encrypted end-to-end because header fields such as To and Via need to be visible to proxies so that the SIP request can be routed correctly. Hop-by-hop encryption encrypts the entire SIP request or response on the wire so that packet sniffers or other eavesdroppers cannot see who is calling whom. Hop-by-hop encryption can also encrypt requests and responses that have been end-to-end encrypted. Note that proxies can still see who is calling whom, and this information is also deducible by performing a network traffic analysis, so this provides a very limited but still worthwhile degree of protection.
SIP Via fields are used to route a response back along the path taken by the request and to prevent infinite request loops. However, the information given by them can also provide useful information to an attacker. Section 6.22 describes how a sender can request that Via fields be encrypted by cooperating proxies without compromising the purpose of the Via field.
SIP Via fields are used to route a response back along the path taken by the request and to prevent infinite request loops. However, the information given by them can also provide useful information to an attacker. Section 6.22 describes how a sender can request that Via fields be encrypted by cooperating proxies without compromising the purpose of the Via field.
End-to-end encryption relies on keys shared by the two user agents involved in the request. Typically, the message is sent encrypted with the public key of the recipient, so that only that recipient can read the message. All implementations SHOULD support PGP-based encryption [33] and MAY implement other schemes.
End-to-end encryption relies on keys shared by the two user agents involved in the request. Typically, the message is sent encrypted with the public key of the recipient, so that only that recipient can read the message. All implementations SHOULD support PGP-based encryption [33] and MAY implement other schemes.
A SIP request (or response) is end-to-end encrypted by splitting the message to be sent into a part to be encrypted and a short header that will remain in the clear. Some parts of the SIP message, namely the request line, the response line and certain header fields marked with "n" in the "enc." column in Table 4 and 5 need to be read and returned by proxies and thus MUST NOT be encrypted end-to-end. Possibly sensitive information that needs to be made available as plaintext include destination address (To) and the forwarding path (Via) of the call. The Authorization header field MUST remain in the clear if it contains a digital signature as the signature is generated after encryption, but MAY be encrypted if it contains "basic" or "digest" authentication. The From header field SHOULD normally remain in the clear, but MAY be encrypted if required, in which case some proxies MAY return a 401 (Unauthorized) status if they require a From field.
A SIP request (or response) is end-to-end encrypted by splitting the message to be sent into a part to be encrypted and a short header that will remain in the clear. Some parts of the SIP message, namely the request line, the response line and certain header fields marked with "n" in the "enc." column in Table 4 and 5 need to be read and returned by proxies and thus MUST NOT be encrypted end-to-end. Possibly sensitive information that needs to be made available as plaintext include destination address (To) and the forwarding path (Via) of the call. The Authorization header field MUST remain in the clear if it contains a digital signature as the signature is generated after encryption, but MAY be encrypted if it contains "basic" or "digest" authentication. The From header field SHOULD normally remain in the clear, but MAY be encrypted if required, in which case some proxies MAY return a 401 (Unauthorized) status if they require a From field.
Handley, et al. Standards Track [Page 105] RFC 2543 SIP: Session Initiation Protocol March 1999
Handley, et al. Standards Track [Page 105] RFC 2543 SIP: Session Initiation Protocol March 1999
Other header fields MAY be encrypted or MAY travel in the clear as desired by the sender. The Subject, Allow and Content-Type header fields will typically be encrypted. The Accept, Accept-Language, Date, Expires, Priority, Require, Call-ID, Cseq, and Timestamp header fields will remain in the clear.
Other header fields MAY be encrypted or MAY travel in the clear as desired by the sender. The Subject, Allow and Content-Type header fields will typically be encrypted. The Accept, Accept-Language, Date, Expires, Priority, Require, Call-ID, Cseq, and Timestamp header fields will remain in the clear.
All fields that will remain in the clear MUST precede those that will be encrypted. The message is encrypted starting with the first character of the first header field that will be encrypted and continuing through to the end of the message body. If no header fields are to be encrypted, encrypting starts with the second CRLF pair after the last header field, as shown below. Carriage return and line feed characters have been made visible as "$", and the encrypted part of the message is outlined.
All fields that will remain in the clear MUST precede those that will be encrypted. The message is encrypted starting with the first character of the first header field that will be encrypted and continuing through to the end of the message body. If no header fields are to be encrypted, encrypting starts with the second CRLF pair after the last header field, as shown below. Carriage return and line feed characters have been made visible as "$", and the encrypted part of the message is outlined.
INVITE sip:watson@boston.bell-telephone.com SIP/2.0$ Via: SIP/2.0/UDP 169.130.12.5$ To: T. A. Watson <sip:watson@bell-telephone.com>$ From: A. Bell <sip:a.g.bell@bell-telephone.com>$ Encryption: PGP version=5.0$ Content-Length: 224$ Call-ID: 187602141351@worcester.bell-telephone.com$ CSeq: 488$ $ ******************************************************* * Subject: Mr. Watson, come here.$ * * Content-Type: application/sdp$ * * $ * * v=0$ * * o=bell 53655765 2353687637 IN IP4 128.3.4.5$ * * c=IN IP4 135.180.144.94$ * * m=audio 3456 RTP/AVP 0 3 4 5$ * *******************************************************
INVITE sip:watson@boston.bell-telephone.com SIP/2.0$ Via: SIP/2.0/UDP 169.130.12.5$ To: T. A. Watson <sip:watson@bell-telephone.com>$ From: A. Bell <sip:a.g.bell@bell-telephone.com>$ Encryption: PGP version=5.0$ Content-Length: 224$ Call-ID: 187602141351@worcester.bell-telephone.com$ CSeq: 488$ $ ******************************************************* * Subject: Mr. Watson, come here.$ * * Content-Type: application/sdp$ * * $ * * v=0$ * * o=bell 53655765 2353687637 IN IP4 128.3.4.5$ * * c=IN IP4 135.180.144.94$ * * m=audio 3456 RTP/AVP 0 3 4 5$ * *******************************************************
An Encryption header field MUST be added to indicate the encryption mechanism used. A Content-Length field is added that indicates the length of the encrypted body. The encrypted body is preceded by a blank line as a normal SIP message body would be.
An Encryption header field MUST be added to indicate the encryption mechanism used. A Content-Length field is added that indicates the length of the encrypted body. The encrypted body is preceded by a blank line as a normal SIP message body would be.
Upon receipt by the called user agent possessing the correct decryption key, the message body as indicated by the Content-Length field is decrypted, and the now-decrypted body is appended to the clear-text header fields. There is no need for an additional Content-Length header field within the encrypted body because the length of the actual message body is unambiguous after decryption.
Upon receipt by the called user agent possessing the correct decryption key, the message body as indicated by the Content-Length field is decrypted, and the now-decrypted body is appended to the clear-text header fields. There is no need for an additional Content-Length header field within the encrypted body because the length of the actual message body is unambiguous after decryption.
Handley, et al. Standards Track [Page 106] RFC 2543 SIP: Session Initiation Protocol March 1999
Handley, et al. Standards Track [Page 106] RFC 2543 SIP: Session Initiation Protocol March 1999
Had no SIP header fields required encryption, the message would have been as below. Note that the encrypted body MUST then include a blank line (start with CRLF) to disambiguate between any possible SIP header fields that might have been present and the SIP message body.
Had no SIP header fields required encryption, the message would have been as below. Note that the encrypted body MUST then include a blank line (start with CRLF) to disambiguate between any possible SIP header fields that might have been present and the SIP message body.
INVITE sip:watson@boston.bell-telephone.com SIP/2.0$ Via: SIP/2.0/UDP 169.130.12.5$ To: T. A. Watson <sip:watson@bell-telephone.com>$ From: A. Bell <a.g.bell@bell-telephone.com>$ Encryption: PGP version=5.0$ Content-Type: application/sdp$ Content-Length: 107$ $ ************************************************* * $ * * v=0$ * * o=bell 53655765 2353687637 IN IP4 128.3.4.5$ * * c=IN IP4 135.180.144.94$ * * m=audio 3456 RTP/AVP 0 3 4 5$ * *************************************************
INVITE sip:watson@boston.bell-telephone.com SIP/2.0$ Via: SIP/2.0/UDP 169.130.12.5$ To: T. A. Watson <sip:watson@bell-telephone.com>$ From: A. Bell <a.g.bell@bell-telephone.com>$ Encryption: PGP version=5.0$ Content-Type: application/sdp$ Content-Length: 107$ $ ************************************************* * $ * * v=0$ * * o=bell 53655765 2353687637 IN IP4 128.3.4.5$ * * c=IN IP4 135.180.144.94$ * * m=audio 3456 RTP/AVP 0 3 4 5$ * *************************************************
13.1.2 Privacy of SIP Responses
13.1.2 Privacy of SIP Responses
SIP requests can be sent securely using end-to-end encryption and authentication to a called user agent that sends an insecure response. This is allowed by the SIP security model, but is not a good idea. However, unless the correct behavior is explicit, it would not always be possible for the called user agent to infer what a reasonable behavior was. Thus when end-to-end encryption is used by the request originator, the encryption key to be used for the response SHOULD be specified in the request. If this were not done, it might be possible for the called user agent to incorrectly infer an appropriate key to use in the response. Thus, to prevent key- guessing becoming an acceptable strategy, we specify that a called user agent receiving a request that does not specify a key to be used for the response SHOULD send that response unencrypted.
SIP requests can be sent securely using end-to-end encryption and authentication to a called user agent that sends an insecure response. This is allowed by the SIP security model, but is not a good idea. However, unless the correct behavior is explicit, it would not always be possible for the called user agent to infer what a reasonable behavior was. Thus when end-to-end encryption is used by the request originator, the encryption key to be used for the response SHOULD be specified in the request. If this were not done, it might be possible for the called user agent to incorrectly infer an appropriate key to use in the response. Thus, to prevent key- guessing becoming an acceptable strategy, we specify that a called user agent receiving a request that does not specify a key to be used for the response SHOULD send that response unencrypted.
Any SIP header fields that were encrypted in a request SHOULD also be encrypted in an encrypted response. Contact response fields MAY be encrypted if the information they contain is sensitive, or MAY be left in the clear to permit proxies more scope for localized searches.
Any SIP header fields that were encrypted in a request SHOULD also be encrypted in an encrypted response. Contact response fields MAY be encrypted if the information they contain is sensitive, or MAY be left in the clear to permit proxies more scope for localized searches.
Handley, et al. Standards Track [Page 107] RFC 2543 SIP: Session Initiation Protocol March 1999
Handley, et al. Standards Track [Page 107] RFC 2543 SIP: Session Initiation Protocol March 1999
13.1.3 Encryption by Proxies
13.1.3 Encryption by Proxies
Normally, proxies are not allowed to alter end-to-end header fields and message bodies. Proxies MAY, however, encrypt an unsigned request or response with the key of the call recipient.
Normally, proxies are not allowed to alter end-to-end header fields and message bodies. Proxies MAY, however, encrypt an unsigned request or response with the key of the call recipient.
Proxies need to encrypt a SIP request if the end system cannot perform encryption or to enforce organizational security policies.
Proxies need to encrypt a SIP request if the end system cannot perform encryption or to enforce organizational security policies.
13.1.4 Hop-by-Hop Encryption
13.1.4 Hop-by-Hop Encryption
SIP requests and responses MAY also be protected by security mechanisms at the transport or network layer. No particular mechanism is defined or recommended here. Two possibilities are IPSEC [34] or TLS [35]. The use of a particular mechanism will generally need to be specified out of band, through manual configuration, for example.
SIP requests and responses MAY also be protected by security mechanisms at the transport or network layer. No particular mechanism is defined or recommended here. Two possibilities are IPSEC [34] or TLS [35]. The use of a particular mechanism will generally need to be specified out of band, through manual configuration, for example.
13.1.5 Via field encryption
13.1.5 Via field encryption
When Via header fields are to be hidden, a proxy that receives a request containing an appropriate "Hide: hop" header field (as specified in section 6.22) SHOULD encrypt the header field. As only the proxy that encrypts the field will decrypt it, the algorithm chosen is entirely up to the proxy implementor. Two methods satisfy these requirements:
When Via header fields are to be hidden, a proxy that receives a request containing an appropriate "Hide: hop" header field (as specified in section 6.22) SHOULD encrypt the header field. As only the proxy that encrypts the field will decrypt it, the algorithm chosen is entirely up to the proxy implementor. Two methods satisfy these requirements:
o The server keeps a cache of Via header fields and the associated To header field, and replaces the Via header field with an index into the cache. On the reverse path, take the Via header field from the cache rather than the message.
o The server keeps a cache of Via header fields and the associated To header field, and replaces the Via header field with an index into the cache. On the reverse path, take the Via header field from the cache rather than the message.
This is insufficient to prevent message looping, and so an additional ID MUST be added so that the proxy can detect loops. This SHOULD NOT normally be the address of the proxy as the goal is to hide the route, so instead a sufficiently large random number SHOULD be used by the proxy and maintained in the cache.
This is insufficient to prevent message looping, and so an additional ID MUST be added so that the proxy can detect loops. This SHOULD NOT normally be the address of the proxy as the goal is to hide the route, so instead a sufficiently large random number SHOULD be used by the proxy and maintained in the cache.
It is possible for replies to get directed to the wrong originator if the cache entry gets reused, so great care needs to be taken to ensure this does not happen.
It is possible for replies to get directed to the wrong originator if the cache entry gets reused, so great care needs to be taken to ensure this does not happen.
o The server MAY use a secret key to encrypt the Via field, a timestamp and an appropriate checksum in any such message with the same secret key. The checksum is needed to detect whether successful decoding has occurred, and the timestamp is
o The server MAY use a secret key to encrypt the Via field, a timestamp and an appropriate checksum in any such message with the same secret key. The checksum is needed to detect whether successful decoding has occurred, and the timestamp is
Handley, et al. Standards Track [Page 108] RFC 2543 SIP: Session Initiation Protocol March 1999
Handley, et al. Standards Track [Page 108] RFC 2543 SIP: Session Initiation Protocol March 1999
required to prevent possible replay attacks and to ensure that no two requests from the same previous hop have the same encrypted Via field. This is the preferred solution.
required to prevent possible replay attacks and to ensure that no two requests from the same previous hop have the same encrypted Via field. This is the preferred solution.
13.2 Message Integrity and Access Control: Authentication
13.2 Message Integrity and Access Control: Authentication
Protective measures need to be taken to prevent an active attacker from modifying and replaying SIP requests and responses. The same cryptographic measures that are used to ensure the authenticity of the SIP message also serve to authenticate the originator of the message. However, the "basic" and "digest" authentication mechanism offer authentication only, without message integrity.
Protective measures need to be taken to prevent an active attacker from modifying and replaying SIP requests and responses. The same cryptographic measures that are used to ensure the authenticity of the SIP message also serve to authenticate the originator of the message. However, the "basic" and "digest" authentication mechanism offer authentication only, without message integrity.
Transport-layer or network-layer authentication MAY be used for hop- by-hop authentication. SIP also extends the HTTP WWW-Authenticate (Section 6.42) and Authorization (Section 6.11) header field and their Proxy counterparts to include cryptographically strong signatures. SIP also supports the HTTP "basic" and "digest" schemes (see Section 14) and other HTTP authentication schemes to be defined that offer a rudimentary mechanism of ascertaining the identity of the caller.
Transport-layer or network-layer authentication MAY be used for hop- by-hop authentication. SIP also extends the HTTP WWW-Authenticate (Section 6.42) and Authorization (Section 6.11) header field and their Proxy counterparts to include cryptographically strong signatures. SIP also supports the HTTP "basic" and "digest" schemes (see Section 14) and other HTTP authentication schemes to be defined that offer a rudimentary mechanism of ascertaining the identity of the caller.
Since SIP requests are often sent to parties with which no prior communication relationship has existed, we do not specify authentication based on shared secrets.
Since SIP requests are often sent to parties with which no prior communication relationship has existed, we do not specify authentication based on shared secrets.
SIP requests MAY be authenticated using the Authorization header field to include a digital signature of certain header fields, the request method and version number and the payload, none of which are modified between client and called user agent. The Authorization header field is used in requests to authenticate the request originator end-to-end to proxies and the called user agent, and in responses to authenticate the called user agent or proxies returning their own failure codes. If required, hop-by-hop authentication can be provided, for example, by the IPSEC Authentication Header.
SIP requests MAY be authenticated using the Authorization header field to include a digital signature of certain header fields, the request method and version number and the payload, none of which are modified between client and called user agent. The Authorization header field is used in requests to authenticate the request originator end-to-end to proxies and the called user agent, and in responses to authenticate the called user agent or proxies returning their own failure codes. If required, hop-by-hop authentication can be provided, for example, by the IPSEC Authentication Header.
SIP does not dictate which digital signature scheme is used for authentication, but does define how to provide authentication using PGP in Section 15. As indicated above, SIP implementations MAY also use "basic" and "digest" authentication and other authentication mechanisms defined for HTTP. Note that "basic" authentication has severe security limitations. The following does not apply to these schemes.
SIP does not dictate which digital signature scheme is used for authentication, but does define how to provide authentication using PGP in Section 15. As indicated above, SIP implementations MAY also use "basic" and "digest" authentication and other authentication mechanisms defined for HTTP. Note that "basic" authentication has severe security limitations. The following does not apply to these schemes.
To cryptographically sign a SIP request, the order of the SIP header fields is important. When an Authorization header field is present, it indicates that all header fields following the Authorization
To cryptographically sign a SIP request, the order of the SIP header fields is important. When an Authorization header field is present, it indicates that all header fields following the Authorization
Handley, et al. Standards Track [Page 109] RFC 2543 SIP: Session Initiation Protocol March 1999
Handley, et al. Standards Track [Page 109] RFC 2543 SIP: Session Initiation Protocol March 1999
header field have been included in the signature. Therefore, hop- by-hop header fields which MUST or SHOULD be modified by proxies MUST precede the Authorization header field as they will generally be modified or added-to by proxy servers. Hop-by-hop header fields which MAY be modified by a proxy MAY appear before or after the Authorization header. When they appear before, they MAY be modified by a proxy. When they appear after, they MUST NOT be modified by a proxy. To sign a request, a client constructs a message from the request method (in upper case) followed, without LWS, by the SIP version number, followed, again without LWS, by the request headers to be signed and the message body. The message thus constructed is then signed.
header field have been included in the signature. Therefore, hop- by-hop header fields which MUST or SHOULD be modified by proxies MUST precede the Authorization header field as they will generally be modified or added-to by proxy servers. Hop-by-hop header fields which MAY be modified by a proxy MAY appear before or after the Authorization header. When they appear before, they MAY be modified by a proxy. When they appear after, they MUST NOT be modified by a proxy. To sign a request, a client constructs a message from the request method (in upper case) followed, without LWS, by the SIP version number, followed, again without LWS, by the request headers to be signed and the message body. The message thus constructed is then signed.
For example, if the SIP request is to be:
For example, if the SIP request is to be:
INVITE sip:watson@boston.bell-telephone.com SIP/2.0 Via: SIP/2.0/UDP 169.130.12.5 Authorization: PGP version=5.0, signature=... From: A. Bell <sip:a.g.bell@bell-telephone.com> To: T. A. Watson <sip:watson@bell-telephone.com> Call-ID: 187602141351@worcester.bell-telephone.com Subject: Mr. Watson, come here. Content-Type: application/sdp Content-Length: ...
INVITE sip:watson@boston.bell-telephone.com SIP/2.0 Via: SIP/2.0/UDP 169.130.12.5 Authorization: PGP version=5.0, signature=... From: A. Bell <sip:a.g.bell@bell-telephone.com> To: T. A. Watson <sip:watson@bell-telephone.com> Call-ID: 187602141351@worcester.bell-telephone.com Subject: Mr. Watson, come here. Content-Type: application/sdp Content-Length: ...
v=0 o=bell 53655765 2353687637 IN IP4 128.3.4.5 c=IN IP4 135.180.144.94 m=audio 3456 RTP/AVP 0 3 4 5
v=0 o=bell 53655765 2353687637 IN IP4 128.3.4.5 c=IN IP4 135.180.144.94 m=audio 3456 RTP/AVP 0 3 4 5
Then the data block that is signed is:
Then the data block that is signed is:
INVITESIP/2.0From: A. Bell <sip:a.g.bell@bell-telephone.com> To: T. A. Watson <sip:watson@bell-telephone.com> Call-ID: 187602141351@worcester.bell-telephone.com Subject: Mr. Watson, come here. Content-Type: application/sdp Content-Length: ...
INVITESIP/2.0From: A. Bell <sip:a.g.bell@bell-telephone.com> To: T. A. Watson <sip:watson@bell-telephone.com> Call-ID: 187602141351@worcester.bell-telephone.com Subject: Mr. Watson, come here. Content-Type: application/sdp Content-Length: ...
v=0 o=bell 53655765 2353687637 IN IP4 128.3.4.5 c=IN IP4 135.180.144.94 m=audio 3456 RTP/AVP 0 3 4 5
v=0 o=bell 53655765 2353687637 IN IP4 128.3.4.5 c=IN IP4 135.180.144.94 m=audio 3456 RTP/AVP 0 3 4 5
Handley, et al. Standards Track [Page 110] RFC 2543 SIP: Session Initiation Protocol March 1999
Handley, et al. Standards Track [Page 110] RFC 2543 SIP: Session Initiation Protocol March 1999
Clients wishing to authenticate requests MUST construct the portion of the message below the Authorization header using a canonical form. This allows a proxy to parse the message, take it apart, and reconstruct it, without causing an authentication failure due to extra white space, for example. Canonical form consists of the following rules:
Clients wishing to authenticate requests MUST construct the portion of the message below the Authorization header using a canonical form. This allows a proxy to parse the message, take it apart, and reconstruct it, without causing an authentication failure due to extra white space, for example. Canonical form consists of the following rules:
o No short form header fields
o No short form header fields
o Header field names are capitalized as shown in this document
o Header field names are capitalized as shown in this document
o No white space between the header name and the colon
o No white space between the header name and the colon
o A single space after the colon
o A single space after the colon
o Line termination with a CRLF
o Line termination with a CRLF
o No line folding
o No line folding
o No comma separated lists of header values; each must appear as a separate header
o No comma separated lists of header values; each must appear as a separate header
o Only a single SP between tokens, between tokens and quoted strings, and between quoted strings; no SP after last token or quoted string
o Only a single SP between tokens, between tokens and quoted strings, and between quoted strings; no SP after last token or quoted string
o No LWS between tokens and separators, except as described above for after the colon in header fields
o No LWS between tokens and separators, except as described above for after the colon in header fields
Note that if a message is encrypted and authenticated using a digital signature, when the message is generated encryption is performed before the digital signature is generated. On receipt, the digital signature is checked before decryption.
Note that if a message is encrypted and authenticated using a digital signature, when the message is generated encryption is performed before the digital signature is generated. On receipt, the digital signature is checked before decryption.
A client MAY require that a server sign its response by including a Require: org.ietf.sip.signed-response request header field. The client indicates the desired authentication method via the WWW- Authenticate header.
A client MAY require that a server sign its response by including a Require: org.ietf.sip.signed-response request header field. The client indicates the desired authentication method via the WWW- Authenticate header.
The correct behavior in handling unauthenticated responses to a request that requires authenticated responses is described in section 13.2.1.
The correct behavior in handling unauthenticated responses to a request that requires authenticated responses is described in section 13.2.1.
Handley, et al. Standards Track [Page 111] RFC 2543 SIP: Session Initiation Protocol March 1999
Handley, et al. Standards Track [Page 111] RFC 2543 SIP: Session Initiation Protocol March 1999
13.2.1 Trusting responses
13.2.1 Trusting responses
There is the possibility that an eavesdropper listens to requests and then injects unauthenticated responses that terminate, redirect or otherwise interfere with a call. (Even encrypted requests contain enough information to fake a response.)
There is the possibility that an eavesdropper listens to requests and then injects unauthenticated responses that terminate, redirect or otherwise interfere with a call. (Even encrypted requests contain enough information to fake a response.)
Clients need to be particularly careful with 3xx redirection responses. Thus a client receiving, for example, a 301 (Moved Permanently) which was not authenticated when the public key of the called user agent is known to the client, and authentication was requested in the request SHOULD be treated as suspicious. The correct behavior in such a case would be for the called-user to form a dated response containing the Contact field to be used, to sign it, and give this signed stub response to the proxy that will provide the redirection. Thus the response can be authenticated correctly. A client SHOULD NOT automatically redirect such a request to the new location without alerting the user to the authentication failure before doing so.
Clients need to be particularly careful with 3xx redirection responses. Thus a client receiving, for example, a 301 (Moved Permanently) which was not authenticated when the public key of the called user agent is known to the client, and authentication was requested in the request SHOULD be treated as suspicious. The correct behavior in such a case would be for the called-user to form a dated response containing the Contact field to be used, to sign it, and give this signed stub response to the proxy that will provide the redirection. Thus the response can be authenticated correctly. A client SHOULD NOT automatically redirect such a request to the new location without alerting the user to the authentication failure before doing so.
Another problem might be responses such as 6xx failure responses which would simply terminate a search, or "4xx" and "5xx" response failures.
Another problem might be responses such as 6xx failure responses which would simply terminate a search, or "4xx" and "5xx" response failures.
If TCP is being used, a proxy SHOULD treat 4xx and 5xx responses as valid, as they will not terminate a search. However, fake 6xx responses from a rogue proxy terminate a search incorrectly. 6xx responses SHOULD be authenticated if requested by the client, and failure to do so SHOULD cause such a client to ignore the 6xx response and continue a search.
If TCP is being used, a proxy SHOULD treat 4xx and 5xx responses as valid, as they will not terminate a search. However, fake 6xx responses from a rogue proxy terminate a search incorrectly. 6xx responses SHOULD be authenticated if requested by the client, and failure to do so SHOULD cause such a client to ignore the 6xx response and continue a search.
With UDP, the same problem with 6xx responses exists, but also an active eavesdropper can generate 4xx and 5xx responses that might cause a proxy or client to believe a failure occurred when in fact it did not. Typically 4xx and 5xx responses will not be signed by the called user agent, and so there is no simple way to detect these rogue responses. This problem is best prevented by using hop-by-hop encryption of the SIP request, which removes any additional problems that UDP might have over TCP.
With UDP, the same problem with 6xx responses exists, but also an active eavesdropper can generate 4xx and 5xx responses that might cause a proxy or client to believe a failure occurred when in fact it did not. Typically 4xx and 5xx responses will not be signed by the called user agent, and so there is no simple way to detect these rogue responses. This problem is best prevented by using hop-by-hop encryption of the SIP request, which removes any additional problems that UDP might have over TCP.
These attacks are prevented by having the client require response authentication and dropping unauthenticated responses. A server user agent that cannot perform response authentication responds using the normal Require response of 420 (Bad Extension).
These attacks are prevented by having the client require response authentication and dropping unauthenticated responses. A server user agent that cannot perform response authentication responds using the normal Require response of 420 (Bad Extension).
Handley, et al. Standards Track [Page 112] RFC 2543 SIP: Session Initiation Protocol March 1999
Handley, et al. Standards Track [Page 112] RFC 2543 SIP: Session Initiation Protocol March 1999
13.3 Callee Privacy
13.3 Callee Privacy
User location and SIP-initiated calls can violate a callee's privacy. An implementation SHOULD be able to restrict, on a per-user basis, what kind of location and availability information is given out to certain classes of callers.
User location and SIP-initiated calls can violate a callee's privacy. An implementation SHOULD be able to restrict, on a per-user basis, what kind of location and availability information is given out to certain classes of callers.
13.4 Known Security Problems
13.4 Known Security Problems
With either TCP or UDP, a denial of service attack exists by a rogue proxy sending 6xx responses. Although a client SHOULD choose to ignore such responses if it requested authentication, a proxy cannot do so. It is obliged to forward the 6xx response back to the client. The client can then ignore the response, but if it repeats the request it will probably reach the same rogue proxy again, and the process will repeat.
With either TCP or UDP, a denial of service attack exists by a rogue proxy sending 6xx responses. Although a client SHOULD choose to ignore such responses if it requested authentication, a proxy cannot do so. It is obliged to forward the 6xx response back to the client. The client can then ignore the response, but if it repeats the request it will probably reach the same rogue proxy again, and the process will repeat.
14 SIP Authentication using HTTP Basic and Digest Schemes
14 SIP Authentication using HTTP Basic and Digest Schemes
SIP implementations MAY use HTTP's basic and digest authentication mechanisms to provide a rudimentary form of security. This section overviews usage of these mechanisms in SIP. The basic operation is almost completely identical to that for HTTP [36]. This section outlines this operation, pointing to [36] for details, and noting the differences when used in SIP.
SIP implementations MAY use HTTP's basic and digest authentication mechanisms to provide a rudimentary form of security. This section overviews usage of these mechanisms in SIP. The basic operation is almost completely identical to that for HTTP [36]. This section outlines this operation, pointing to [36] for details, and noting the differences when used in SIP.
14.1 Framework
14.1 Framework
The framework for SIP authentication parallels that for HTTP [36]. In particular, the BNF for auth-scheme, auth-param, challenge, realm, realm-value, and credentials is identical. The 401 response is used by user agent servers in SIP to challenge the authorization of a user agent client. Additionally, registrars and redirect servers MAY make use of 401 responses for authorization, but proxies MUST NOT, and instead MAY use the 407 response. The requirements for inclusion of the Proxy-Authenticate, Proxy-Authorization, WWW-Authenticate, and Authorization in the various messages is identical to [36].
The framework for SIP authentication parallels that for HTTP [36]. In particular, the BNF for auth-scheme, auth-param, challenge, realm, realm-value, and credentials is identical. The 401 response is used by user agent servers in SIP to challenge the authorization of a user agent client. Additionally, registrars and redirect servers MAY make use of 401 responses for authorization, but proxies MUST NOT, and instead MAY use the 407 response. The requirements for inclusion of the Proxy-Authenticate, Proxy-Authorization, WWW-Authenticate, and Authorization in the various messages is identical to [36].
Since SIP does not have the concept of a canonical root URL, the notion of protections spaces are interpreted differently for SIP. The realm is a protection domain for all SIP URIs with the same value for the userinfo, host and port part of the SIP Request-URI. For example:
Since SIP does not have the concept of a canonical root URL, the notion of protections spaces are interpreted differently for SIP. The realm is a protection domain for all SIP URIs with the same value for the userinfo, host and port part of the SIP Request-URI. For example:
INVITE sip:alice.wonderland@example.com SIP/2.0 WWW-Authenticate: Basic realm="business"
INVITE sip:alice.wonderland@example.com SIP/2.0 WWW-Authenticate: Basic realm="business"
Handley, et al. Standards Track [Page 113] RFC 2543 SIP: Session Initiation Protocol March 1999
Handley, et al. Standards Track [Page 113] RFC 2543 SIP: Session Initiation Protocol March 1999
and
and
INVITE sip:aw@example.com SIP/2.0 WWW-Authenticate: Basic realm="business"
INVITE sip:aw@example.com SIP/2.0 WWW-Authenticate: Basic realm="business"
define different protection realms according to this rule.
define different protection realms according to this rule.
When a UAC resubmits a request with its credentials after receiving a 401 or 407 response, it MUST increment the CSeq header field as it would normally do when sending an updated request.
When a UAC resubmits a request with its credentials after receiving a 401 or 407 response, it MUST increment the CSeq header field as it would normally do when sending an updated request.
14.2 Basic Authentication
14.2 Basic Authentication
The rules for basic authentication follow those defined in [36], but with the words "origin server" replaced with "user agent server, redirect server , or registrar".
The rules for basic authentication follow those defined in [36], but with the words "origin server" replaced with "user agent server, redirect server , or registrar".
Since SIP URIs are not hierarchical, the paragraph in [36] that states that "all paths at or deeper than the depth of the last symbolic element in the path field of the Request-URI also are within the protection space specified by the Basic realm value of the current challenge" does not apply for SIP. SIP clients MAY preemptively send the corresponding Authorization header with requests for SIP URIs within the same protection realm (as defined above) without receipt of another challenge from the server.
Since SIP URIs are not hierarchical, the paragraph in [36] that states that "all paths at or deeper than the depth of the last symbolic element in the path field of the Request-URI also are within the protection space specified by the Basic realm value of the current challenge" does not apply for SIP. SIP clients MAY preemptively send the corresponding Authorization header with requests for SIP URIs within the same protection realm (as defined above) without receipt of another challenge from the server.
14.3 Digest Authentication
14.3 Digest Authentication
The rules for digest authentication follow those defined in [36], with "HTTP 1.1" replaced by "SIP/2.0" in addition to the following differences:
ダイジェスト認証のための規則が[36]で定義されたものに続く、「取り替えられたHTTP1.1インチは「以下の違いに加えて以下を/2インチちびちび飲みます」。
1. The URI included in the challenge has the following BNF:
1. 挑戦にURIを含むのにおいて、以下のBNFがあります:
URI = SIP-URL
ユリは一口URLと等しいです。
2. The BNF for digest-uri-value is:
2. ダイジェストuri価値のためのBNFは以下の通りです。
digest-uri-value = Request-URI ; a defined in Section 4.3
ダイジェストuri価値は要求URIと等しいです。 セクション4.3で定義されたa
Handley, et al. Standards Track [Page 114] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[114ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
3. The example procedure for choosing a nonce based on Etag does not work for SIP.
3. Etagに基づく一回だけを選ぶための例の手順はSIPのために利きません。
4. The Authentication-Info and Proxy-Authentication-Info fields are not used in SIP.
4. Authentication-インフォメーションとProxy認証インフォメーション分野はSIPで使用されません。
5. The text in [36] regarding cache operation does not apply to SIP.
5. [36]のキャッシュ操作に関するテキストはSIPに適用されません。
6. [36] requires that a server check that the URI in the request line, and the URI included in the Authorization header, point to the same resource. In a SIP context, these two URI's may actually refer to different users, due to forwarding at some proxy. Therefore, in SIP, a server MAY check that the request-uri in the Authorization header corresponds to a user that the server is willing to accept forwarded or direct calls for.
6. [36]は、サーバが、要求線におけるURIと、AuthorizationヘッダーにURIを含んでいると同じリソースが示されるのをチェックするのを必要とします。 SIP文脈では、URIのこれらの2ものはプロキシでの推進のため実際に異なったユーザについて言及するかもしれません。 したがって、SIPでは、サーバは、Authorizationヘッダーでuriを要求するのがサーバが受け入れても構わないと進められたかダイレクトな呼び出しを思っているユーザに文通されるのをチェックするかもしれません。
14.4 Proxy-Authentication
14.4 プロキシ認証
The use of the Proxy-Authentication and Proxy-Authorization parallel that as described in [36], with one difference. Proxies MUST NOT add the Proxy-Authorization header. 407 responses MUST be forwarded upstream towards the client following the procedures for any other response. It is the client's responsibility to add the Proxy- Authorization header containing credentials for the proxy which has asked for authentication.
Proxy-認証とProxy-認可の使用は[36]で1つの違いで説明されるようにそれに沿います。 プロキシはProxy-認可ヘッダーを加えてはいけません。 上流へいかなる他の応答のためにも手順に従うクライアントに向かって407の応答を送らなければなりません。 認証を求めたのは、プロキシのために信任状を含むProxy認可ヘッダーを加えるクライアントの責任です。
If a proxy were to resubmit a request with a Proxy- Authorization header field, it would need to increment the CSeq in the new request. However, this would mean that the UAC which submitted the original request would discard a response from the UAS, as the CSeq value would be different.
プロキシがProxy認可ヘッダーフィールドで要求を再提出するなら、それは、新しい要求でCSeqを増加する必要があるでしょうに。 しかしながら、これは、オリジナルの要求を提出したUACがUASから応答を捨てることを意味するでしょう、CSeq値が異なっているだろうというとき。
See sections 6.26 and 6.27 for additional information on usage of these fields as they apply to SIP.
それらがSIPに適用するとき、これらの分野の用法の追加情報に関してセクション6.26と6.27を見てください。
15 SIP Security Using PGP
15 PGPを使用する一口セキュリティ
15.1 PGP Authentication Scheme
15.1 PGP認証計画
The "pgp" authentication scheme is based on the model that the client authenticates itself with a request signed with the client's private key. The server can then ascertain the origin of the request if it has access to the public key, preferably signed by a trusted third party.
要求がクライアントの秘密鍵を契約されている状態で、"pgp"認証計画はそれ自体でクライアントが認証するモデルに基づいています。 そして、望ましくは、信頼できる第三者機関によってサインされた公開鍵に近づく手段を持っているなら、サーバは要求の起源を確かめることができます。
Handley, et al. Standards Track [Page 115] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[115ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
15.1.1 The WWW-Authenticate Response Header
15.1.1、応答ヘッダをWWW認証してください。
WWW-Authenticate = "WWW-Authenticate" ":" "pgp" pgp-challenge pgp-challenge = * (";" pgp-params ) pgp-params = realm | pgp-version | pgp-algorithm | nonce realm = "realm" "=" realm-value realm-value = quoted-string pgp-version = "version" "=" <"> digit *( "." digit ) *letter <"> pgp-algorithm = "algorithm" "=" ( "md5" | "sha1" | token ) nonce = "nonce" "=" nonce-value nonce-value = quoted-string
「WWW認証、=が「WWW認証する」、」、:、」 "pgp"pgp-挑戦pgp-挑戦が*と等しい、(「」、;pgp-params) pgp-paramsが分野と等しい | pgp-バージョン| pgp-アルゴリズム| 一回だけの分野=「分野」「=」分野価値の分野価値が「バージョン」「=」引用文字列pgp-バージョン=<と等しい、「>ケタ*(「.」 ケタ)*手紙<、「>pgp-アルゴリズム=「アルゴリズム」「=」、(「md5"| 「sha1"| 象徴) 一回だけの=「一回だけ」は一回だけの値の一回だけの値=引用文字列と「等し」」。
The meanings of the values of the parameters used above are as follows:
上で使用されたパラメタの値の意味は以下の通りです:
realm: A string to be displayed to users so they know which identity to use. This string SHOULD contain at least the name of the host performing the authentication and MAY additionally indicate the collection of users who might have access. An example might be " Users with call-out privileges ".
分野: 彼らが、どのアイデンティティを使用したらよいかを知っていて、ユーザに表示されるべき五弦。 このストリングSHOULDは少なくとも認証を実行しているホストの名前を含んでいます、そして、さらに、アクセサリーを持っているかもしれないユーザの収集を示すかもしれません。 例は「外に呼び特権をもっているユーザ」であるかもしれません。
pgp-algorithm: The value of this parameter indicates the PGP message integrity check (MIC) to be used to produce the signature. If this not present it is assumed to be "md5". The currently defined values are "md5" for the MD5 checksum, and "sha1" for the SHA.1 algorithm.
pgp-アルゴリズム: このパラメタの値は、署名を起こすのに使用されるために、PGPメッセージの保全チェック(MIC)を示します。 プレゼントではなく、これであるなら、それは"md5""であると思われます。 現在定義された値がそうである、「MD5チェックサムのためのmd5"、および「SHA.1アルゴリズムのためのsha1"。」
pgp-version: The version of PGP that the client MUST use. Common values are "2.6.2" and "5.0". The default is 5.0.
pgp-バージョン: クライアントが使用しなければならないPGPのバージョン。 共通の価値観がそうである、「2.6 0.2インチと「5インチ。」 デフォルトは5.0です。
nonce: A server-specified data string which should be uniquely generated each time a 401 response is made. It is RECOMMENDED that this string be base64 or hexadecimal data. Specifically, since the string is passed in the header lines as a quoted string, the double-quote character is not allowed. The contents of the nonce are implementation dependent. The quality of the implementation depends on a good choice. Since the nonce is used only to prevent replay attacks and is signed, a time stamp in units convenient to the server is sufficient.
一回だけ: 401応答をするたびに唯一発生するべきであるサーバで指定されたデータ列。 このストリングがbase64か16進データであることがRECOMMENDEDです。 明確に、ストリングが引用文字列としてヘッダー線で渡されるので、二重引用文字は許容されていません。 一回だけの内容は実現に依存しています。 実現の品質は良い選択に依存します。 一回だけが使用されて、反射攻撃を防ぐサインされるので、サーバに便利なユニットのタイムスタンプは十分です。
Handley, et al. Standards Track [Page 116] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[116ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
Replay attacks within the duration of the call setup are of limited interest, so that timestamps with a resolution of a few seconds are often should be sufficient. In that case, the server does not have to keep a record of the nonces.
呼び出しセットアップの持続時間の中の反射攻撃は限られておもしろいです、数秒の解決があるタイムスタンプがしばしば十分であるべきであるということであるように。 その場合、サーバは一回だけに関する記録をつける必要はありません。
Example:
例:
WWW-Authenticate: pgp ;version="5.0" ;realm="Your Startrek identity, please" ;algorithm=md5 ;nonce="913082051"
以下をWWW認証してください。 「pgp; 「分野が」 あなたのStartrekのアイデンティティと何5インチも、等しい、お願いします」 ; バージョン=アルゴリズム=md5; 一回だけ=「913082051」
15.1.2 The Authorization Request Header
15.1.2 認可要求ヘッダー
The client is expected to retry the request, passing an Authorization header line, which is defined as follows.
Authorizationヘッダー線(以下の通り定義される)を渡して、クライアントが要求を再試行すると予想されます。
Authorization = "Authorization" ":" "pgp" *( ";" pgp-response ) pgp-response = realm | pgp-version | pgp-signature | signed-by | nonce pgp-signature = "signature" "=" quoted-string signed-by = "signed-by" "=" <"> URI <">
「認可は「認可」と等しい」:、」 "pgp"*、(「」、;pgp-応答) pgp-応答が分野と等しい | pgp-バージョン| pgp-署名| サインにされる| 一回だけのpgp-署名=「署名」「=」引用文字列が=が「サインした」という「=」<にサインした、「>ユリ<">"
The client MUST increment the CSeq header before resubmitting the request. The signature MUST correspond to the From header of the request unless the signed-by parameter is provided.
要求を再提出する前に、クライアントはCSeqヘッダーを増加しなければなりません。 サインされたパラメタが提供されない場合、署名は要求のFromヘッダーに文通されなければなりません。
pgp-signature: The PGP ASCII-armored signature [33], as it appears between the "BEGIN PGP MESSAGE" and "END PGP MESSAGE" delimiters, without the version indication. The signature is included without any linebreaks.
pgp-署名: 「PGPメッセージを始めてください」と「終わりのPGPメッセージ」デリミタの間に現れるバージョン指示のないPGPのASCII武具の署名[33]。 署名は少しもlinebreaksなしで含まれています。
The signature is computed across the nonce (if present), request method, request version and header fields following the Authorization header and the message body, in the same order as they appear in the message. The request method and version are prepended to the header fields without any white space. The signature is computed across the headers as sent, and the terminating CRLF. The CRLF following the Authorization header is NOT included in the signature.
同次におけるAuthorizationヘッダーとメッセージ本体に続いて、署名はメッセージに現れるように一回だけ(存在しているなら)、要求方法、要求バージョン、およびヘッダーフィールドの向こう側に計算されます。 要求方法とバージョンは少しも余白のないヘッダーフィールドにprependedされます。 署名は送られるとしてのヘッダー、および終わっているCRLFの向こう側に計算されます。 Authorizationヘッダーに続くCRLFは署名に含まれていません。
A server MAY be configured not to generate nonces only if replay attacks are not a concern.
サーバは、反射攻撃が関心でない場合にだけ一回だけを発生させないように構成されるかもしれません。
Handley, et al. Standards Track [Page 117] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[117ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
Not generating nonces avoids the additional set of request, 401 response and possibly ACK messages and reduces delay by one round-trip time.
一回だけを発生させないのは、追加セットの要求、401応答、およびことによるとACKメッセージを避けて、往復の1回で遅れを縮めます。
Using the ASCII-armored version is about 25% less space- efficient than including the binary signature, but it is significantly easier for the receiver to piece together. Versions of the PGP program always include the full (compressed) signed text in their output unless ASCII- armored mode ( -sta ) is specified. Typical signatures are about 200 bytes long. -- The PGP signature mechanism allows the client to simply pass the request to an external PGP program. This relies on the requirement that proxy servers are not allowed to reorder or change header fields.
使用して、ASCII武具のバージョンは2進の署名を含んでいるよりおよそ25%さらに少ないスペース効率的ですが、受信機に、それは継ぎを当てるのがかなり簡単です。 ASCIIの武具のモード(-sta)が指定されない場合、PGPプログラムのバージョンは彼らの出力にいつも完全な(圧縮された)サインされたテキストを含んでいます。 典型的な署名はおよそ200バイト長です。 -- PGP署名メカニズムで、クライアントは単に外部のPGPプログラムに要求に合格できます。 これはプロキシサーバが追加注文に許容されていないか、またはヘッダーフィールドを変えるという要件を当てにします。
realm: The realm is copied from the corresponding WWW-Authenticate header field parameter.
分野: 分野はコピーされて、対応がヘッダーフィールドパラメタをWWW認証するということです。
signed-by: If and only if the request was not signed by the entity listed in the From header, the signed-by header indicates the name of the signing entity, expressed as a URI.
サインされています: そして、要求がFromヘッダーに記載された実体によってサインされなかった場合にだけ、サインされたヘッダーはURIとして言い表された調印実体の名前を示します。
Receivers of signed SIP messages SHOULD discard any end-to-end header fields above the Authorization header, as they may have been maliciously added en route by a proxy.
サインされたSIPメッセージSHOULDの受信機はAuthorizationヘッダーの上の終わりから終わりへのどんなヘッダーフィールドも捨てます、それらが途中でプロキシによって陰湿に加えられたとき。
Example:
例:
Authorization: pgp version="5.0" ;realm="Your Startrek identity, please" ;nonce="913082051" ;signature="iQB1AwUBNNJiUaYBnHmiiQh1AQFYsgL/Wt3dk6TWK81/b0gcNDf VAUGU4rhEBW972IPxFSOZ94L1qhCLInTPaqhHFw1cb3lB01rA0RhpV4t5yCdUt SRYBSkOK29o5e1KlFeW23EzYPVUm2TlDAhbcjbMdfC+KLFX =aIrx"
認可: 「pgpバージョン=「分野は」 あなたのStartrekのアイデンティティと何5インチも、等しくいる」; 一回だけ=「913082051」; 署名=「iQB1AwUBNNJiUaYBnHmiiQh1AQFYsgL/Wt3dk6TWK81/b0gcNDf VAUGU4rhEBW972IPxFSOZ94L1qhCLInTPaqhHFw1cb3lB01rA0RhpV4t5yCdUt SRYBSkOK29o5e1KlFeW23EzYPVUm2TlDAhbcjbMdfC+KLFX =aIrx」
15.2 PGP Encryption Scheme
15.2 PGP暗号化計画
The PGP encryption scheme uses the following syntax:
PGP暗号化計画は以下の構文を使用します:
Encryption = "Encryption" ":" "pgp" pgp-eparams pgp-eparams = 1# ( pgp-version | pgp-encoding ) pgp-encoding = "encoding" "=" "ascii" | token
「暗号化=「暗号化」」:、」 "pgp"pgp-eparams pgp-eparams=1#pgp-バージョン(| pgp-コード化)pgp-コード化は「=」「ASCII」が「コード化」であるのと等しいです。| 象徴
Handley, et al. Standards Track [Page 118] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[118ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
encoding: Describes the encoding or "armor" used by PGP. The value "ascii" refers to the standard PGP ASCII armor, without the lines containing "BEGIN PGP MESSAGE" and "END PGP MESSAGE" and without the version identifier. By default, the encrypted part is included as binary.
コード化します: PGPによって使用されたコード化か「よろいかぶと」について説明します。 値の「ASCII」は「PGPメッセージを始めてください」と「終わりのPGPメッセージ」を含む線なしでバージョン識別子なしで標準のPGP ASCIIよろいかぶとを示します。 デフォルトで、コード化された部分はバイナリーとして含まれています。
Example:
例:
Encryption: pgp version="2.6.2", encoding="ascii"
暗号化: 「pgpバージョンは「2.6に、コード化は」 ASCIIと何0.2インチも、等しいこと」と等しいです。
15.3 Response-Key Header Field for PGP
15.3 PGPに、応答主要なヘッダーフィールド
Response-Key = "Response-Key" ":" "pgp" pgp-eparams pgp-eparams = 1# ( pgp-version | pgp-encoding | pgp-key) pgp-key = "key" "=" quoted-string
「応答主要な=「応答キー」」:、」 "pgp"pgp-eparams pgp-eparamsは1つの#pgp-バージョン(| pgp-コード化| pgp-キー)pgp主要な=「主要である」「=」引用文字列と等しいです。
If ASCII encoding has been requested via the encoding parameter, the key parameter contains the user's public key as extracted from the pgp key ring with the "pgp -kxa user ".
ASCIIであるなら、コード化はコード化パラメタで要求されて、主要なパラメタは「pgp -kxaユーザ」と共にpgpキーホルダーから抽出されるようにユーザの公開鍵を含んでいます。
Example:
例:
Response-Key: pgp version="2.6.2", encoding="ascii", key="mQBtAzNWHNYAAAEDAL7QvAdK2utY05wuUG+ItYK5tCF8HNJM60sU4rLaV+eUnkMk mOmJWtc2wXcZx1XaXb2lkydTQOesrUR75IwNXBuZXPEIMThEa5WLsT7VLme7njnx sE86SgWmAZx5ookIdQAFEbQxSGVubmluZyBTY2h1bHpyaW5uZSA8c2NodWx6cmlu bmVAY3MuY29sdW1iaWEuZWR1Pg== =+y19"
応答キー: 「pgpバージョンは「2.6に、コード化は」 ASCIIと何0.2インチも、等しいこと」と等しく、キー=は「mQBtAzNWHNYAAAEDAL7QvAdK2utY05wuUG+ItYK5tCF8HNJM60sU4rLaV+eUnkMk mOmJWtc2wXcZx1XaXb2lkydTQOesrUR75IwNXBuZXPEIMThEa5WLsT7VLme7njnx sE86SgWmAZx5ookIdQAFEbQxSGVubmluZyBTY2h1bHpyaW5uZSA8c2NodWx6cmlu bmVAY3MuY29sdW1iaWEuZWR1Pg=は+ y19"と等しいです」です。
16 Examples
16の例
In the following examples, we often omit the message body and the corresponding Content-Length and Content-Type headers for brevity.
以下の例では、私たちは簡潔さのためにしばしばメッセージ本体、対応するContent-長さ、およびコンテントタイプヘッダーを省略します。
16.1 Registration
16.1 登録
A user at host saturn.bell-tel.com registers on start-up, via multicast, with the local SIP server named bell-tel.com. In the example, the user agent on saturn expects to receive SIP requests on UDP port 3890.
ホストsaturn.bell-tel.comのユーザはマルチキャストを通して始動しているローカルのSIPサーバが命名されている状態でベル-tel.comに登録します。 例では、saturnの上のユーザエージェントは、UDPポート3890に関するSIP要求を受け取ると予想します。
Handley, et al. Standards Track [Page 119] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[119ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
C->S: REGISTER sip:bell-tel.com SIP/2.0 Via: SIP/2.0/UDP saturn.bell-tel.com From: sip:watson@bell-tel.com To: sip:watson@bell-tel.com Call-ID: 70710@saturn.bell-tel.com CSeq: 1 REGISTER Contact: <sip:watson@saturn.bell-tel.com:3890;transport=udp> Expires: 7200
C>S: REGISTER一口: ベル-tel.com SIP/2.0Via: SIP/2.0/UDP saturn.bell-tel.com From: 一口: watson@bell-tel.com To: 一口: watson@bell-tel.com Call-ID: 70710@saturn.bell-tel.com CSeq: 1 接触を登録してください: <一口: watson@saturn.bell-tel.com :3890; 輸送は>が吐き出すudpと等しいです: 7200
The registration expires after two hours. Any future invitations for watson@bell-tel.com arriving at sip.bell-tel.com will now be redirected to watson@saturn.bell-tel.com, UDP port 3890.
登録は2時間後に期限が切れます。 sip.bell-tel.comに届く watson@bell-tel.com のためのどんな将来の招待状も現在 watson@saturn.bell-tel.com に向け直されて、UDPは3890を移植します。
If Watson wants to be reached elsewhere, say, an on-line service he uses while traveling, he updates his reservation after first cancelling any existing locations:
ワトソンに達したいなら、たとえば旅行している間に使用するパソコン通信、彼が予約をアップデートするほかの場所では、どんな既存の位置も最初に、後に取り消されます:
C->S: REGISTER sip:bell-tel.com SIP/2.0 Via: SIP/2.0/UDP saturn.bell-tel.com From: sip:watson@bell-tel.com To: sip:watson@bell-tel.com Call-ID: 70710@saturn.bell-tel.com CSeq: 2 REGISTER Contact: * Expires: 0
C>S: REGISTER一口: ベル-tel.com SIP/2.0Via: SIP/2.0/UDP saturn.bell-tel.com From: 一口: watson@bell-tel.com To: 一口: watson@bell-tel.com Call-ID: 70710@saturn.bell-tel.com CSeq: 2 接触を登録してください: * 期限が切れます: 0
C->S: REGISTER sip:bell-tel.com SIP/2.0 Via: SIP/2.0/UDP saturn.bell-tel.com From: sip:watson@bell-tel.com To: sip:watson@bell-tel.com Call-ID: 70710@saturn.bell-tel.com CSeq: 3 REGISTER Contact: sip:tawatson@example.com
C>S: REGISTER一口: ベル-tel.com SIP/2.0Via: SIP/2.0/UDP saturn.bell-tel.com From: 一口: watson@bell-tel.com To: 一口: watson@bell-tel.com Call-ID: 70710@saturn.bell-tel.com CSeq: 3 接触を登録してください: 一口: tawatson@example.com
Now, the server will forward any request for Watson to the server at example.com, using the Request-URI tawatson@example.com. For the server at example.com to reach Watson, he will need to send a REGISTER there, or inform the server of his current location through some other means.
今、Request-URI tawatson@example.com を使用して、サーバはワトソンを求めるどんな要求もexample.comのサーバに転送するでしょう。 example.comのサーバがワトソンに届くように、彼は、ある他の手段でREGISTERをそこに送るか、または彼の現在の位置のサーバを知らせる必要があるでしょう。
It is possible to use third-party registration. Here, the secretary jon.diligent registers his boss, T. Watson:
第三者登録を使用するのは可能です。 ここに、秘書jon.diligentは彼のボス、T.ワトソンを登録します:
Handley, et al. Standards Track [Page 120] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[120ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
C->S: REGISTER sip:bell-tel.com SIP/2.0 Via: SIP/2.0/UDP pluto.bell-tel.com From: sip:jon.diligent@bell-tel.com To: sip:watson@bell-tel.com Call-ID: 17320@pluto.bell-tel.com CSeq: 1 REGISTER Contact: sip:tawatson@example.com
C>S: REGISTER一口: ベル-tel.com SIP/2.0Via: SIP/2.0/UDP pluto.bell-tel.com From: 一口: jon.diligent@bell-tel.com To: 一口: watson@bell-tel.com Call-ID: 17320@pluto.bell-tel.com CSeq: 1 接触を登録してください: 一口: tawatson@example.com
The request could be sent to either the registrar at bell-tel.com or the server at example.com. In the latter case, the server at example.com would proxy the request to the address indicated in the Request-URI. Then, Max-Forwards header could be used to restrict the registration to that server.
ベル-tel.comの記録係かexample.comのサーバのどちらかに要求を送ることができました。 後者の場合では、example.comのサーバはアドレスへの要求がRequest-URIで示したプロキシがそうするでしょう。 そして、登録をそのサーバに制限するのに前方へマックスヘッダーを使用できました。
16.2 Invitation to a Multicast Conference
16.2 マルチキャストコンファレンスへの招待
The first example invites schooler@vlsi.cs.caltech.edu to a multicast session. All examples use the Session Description Protocol (SDP) (RFC 2327 [6]) as the session description format.
最初の例はマルチキャストセッションに schooler@vlsi.cs.caltech.edu を招待します。 すべての例がSession記述プロトコル(SDP)を使用します。(セッション記述形式としてのRFC2327[6])。
16.2.1 Request
16.2.1 要求
C->S: INVITE sip:schooler@cs.caltech.edu SIP/2.0 Via: SIP/2.0/UDP csvax.cs.caltech.edu;branch=8348 ;maddr=239.128.16.254;ttl=16 Via: SIP/2.0/UDP north.east.isi.edu From: Mark Handley <sip:mjh@isi.edu> To: Eve Schooler <sip:schooler@caltech.edu> Call-ID: 2963313058@north.east.isi.edu CSeq: 1 INVITE Subject: SIP will be discussed, too Content-Type: application/sdp Content-Length: 187
C>S: INVITE一口: schooler@cs.caltech.edu SIP/2.0Via: SIP/2.0/UDP csvax.cs.caltech.edu; ブランチは8348; maddr=239.128.16.254; ttl=16 Viaと等しいです: SIP/2.0/UDP north.east.isi.edu From: 一口: ハンドレー<が mjh@isi.edu であるとマークしてください、gt;、To: 前夜の学生<一口: schooler@caltech.edu 、gt;、呼び出しID: 2963313058@north.east.isi.edu CSeq: 1 Subject:を招待してください。 また、SIPについて議論する、コンテントタイプ: sdp Contentアプリケーション/長さ: 187
v=0 o=user1 53655765 2353687637 IN IP4 128.3.4.5 s=Mbone Audio i=Discussion of Mbone Engineering Issues e=mbone@somewhere.com c=IN IP4 224.2.0.1/127 t=0 0 m=audio 3456 RTP/AVP 0
Mbone Engineering Issues eのv=0 o=user1 53655765 2353687637IN IP4 128.3.4.5 s=Mbone Audio i=議論= mbone@somewhere.com cは0 0t=mのIN IP4 224.2.0.1/127=オーディオの3456RTP/AVP0と等しいです。
Handley, et al. Standards Track [Page 121] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[121ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
The From request header above states that the request was initiated by mjh@isi.edu and addressed to schooler@caltech.edu (From header fields). The Via fields list the hosts along the path from invitation initiator (the last element of the list) towards the callee. In the example above, the message was last multicast to the administratively scoped group 239.128.16.254 with a ttl of 16 from the host csvax.cs.caltech.edu. The second Via header field indicates that it was originally sent from the host north.east.isi.edu. The Request-URI indicates that the request is currently being being addressed to schooler@cs.caltech.edu, the local address that csvax looked up for the callee.
Fromは、上のヘッダーが、要求が mjh@isi.edu によって開始されて、 schooler@caltech.edu に記述されたと述べるよう(ヘッダーフィールドから)要求します。 Via分野は経路に沿ってホストを招待創始者(リストの最後の要素)から訪問される人に向かって記載します。 メッセージが行政上見られたグループへの上では、例では、最後のマルチキャストであった、239.128、.16、.254、ホストcsvax.cs.caltech.eduからの16のttlで。 2番目のViaヘッダーフィールドは、それが元々ホストnorth.east.isi.eduから送られたのを示します。 Request-URIは、要求が現在 schooler@cs.caltech.edu (csvaxが訪問される人のために見上げたローカルアドレス)に記述されているのを示します。
In this case, the session description is using the Session Description Protocol (SDP), as stated in the Content-Type header.
この場合、セッション記述はコンテントタイプヘッダーに述べられているようにSession記述プロトコル(SDP)を使用しています。
The header is terminated by an empty line and is followed by a message body containing the session description.
ヘッダーを人影のない線によって終えられて、セッション記述を含むメッセージ本体はあとに続いています。
16.2.2 Response
16.2.2 応答
The called user agent, directly or indirectly through proxy servers, indicates that it is alerting ("ringing") the called party:
呼ばれたユーザエージェントは、直接か間接的にプロキシサーバを通して被呼者を警告しているのを(「鳴らす」)示します:
S->C: SIP/2.0 180 Ringing Via: SIP/2.0/UDP csvax.cs.caltech.edu;branch=8348 ;maddr=239.128.16.254;ttl=16 Via: SIP/2.0/UDP north.east.isi.edu From: Mark Handley <sip:mjh@isi.edu> To: Eve Schooler <sip:schooler@caltech.edu> ;tag=9883472 Call-ID: 2963313058@north.east.isi.edu CSeq: 1 INVITE
S>C: 以下を通って鳴る一口/2.0 180 SIP/2.0/UDP csvax.cs.caltech.edu; ブランチは8348; maddr=239.128.16.254; ttl=16 Viaと等しいです: SIP/2.0/UDP north.east.isi.edu From: 一口: ハンドレー<が mjh@isi.edu であるとマークしてください、gt;、To: 前夜の学生<一口: schooler@caltech.edu 、gt;、; タグは9883472呼び出しIDと等しいです: 2963313058@north.east.isi.edu CSeq: 1 招待
A sample response to the invitation is given below. The first line of the response states the SIP version number, that it is a 200 (OK) response, which means the request was successful. The Via headers are taken from the request, and entries are removed hop by hop as the response retraces the path of the request. A new authentication field MAY be added by the invited user's agent if required. The Call-ID is taken directly from the original request, along with the remaining fields of the request message. The original sense of From field is preserved (i.e., it is the session initiator).
招待へのサンプル応答を以下に与えます。 応答の最初の線はSIPバージョン番号を述べて、それが200(OK)応答(要求を意味する)であることはうまくいきました。 Viaヘッダーは要求から抜粋されます、そして、応答が要求の経路を辿るとき、エントリーはホップですごとに取り除かれる。 必要なら、新しい認証分野は招待されたユーザのエージェントによって加えられるかもしれません。 Call-IDは直接要求メッセージの残っているフィールドに伴うオリジナルの要求から抜粋されます。 From分野のオリジナルの感覚は保持されます(すなわち、それはセッション創始者です)。
In addition, the Contact header gives details of the host where the user was located, or alternatively the relevant proxy contact point which should be reachable from the caller's host.
さらに、Contactヘッダーはユーザが位置したホストの細部、またはあるいはまた訪問者のホストから届くべき関連プロキシ接点を与えます。
Handley, et al. Standards Track [Page 122] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[122ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
S->C: SIP/2.0 200 OK Via: SIP/2.0/UDP csvax.cs.caltech.edu;branch=8348 ;maddr=239.128.16.254;ttl=16 Via: SIP/2.0/UDP north.east.isi.edu From: Mark Handley <sip:mjh@isi.edu> To: Eve Schooler <sip:schooler@caltech.edu> ;tag=9883472 Call-ID: 2963313058@north.east.isi.edu CSeq: 1 INVITE Contact: sip:es@jove.cs.caltech.edu
S>C: 以下を通って一口/2.0 200OK SIP/2.0/UDP csvax.cs.caltech.edu; ブランチは8348; maddr=239.128.16.254; ttl=16 Viaと等しいです: SIP/2.0/UDP north.east.isi.edu From: 一口: ハンドレー<が mjh@isi.edu であるとマークしてください、gt;、To: 前夜の学生<一口: schooler@caltech.edu 、gt;、; タグは9883472呼び出しIDと等しいです: 2963313058@north.east.isi.edu CSeq: 1 接触を招いてください: 一口: es@jove.cs.caltech.edu
The caller confirms the invitation by sending an ACK request to the location named in the Contact header:
訪問者はContactヘッダーで指定された位置にACK要求を送ることによって、招待を確認します:
C->S: ACK sip:es@jove.cs.caltech.edu SIP/2.0 Via: SIP/2.0/UDP north.east.isi.edu From: Mark Handley <sip:mjh@isi.edu> To: Eve Schooler <sip:schooler@caltech.edu> ;tag=9883472 Call-ID: 2963313058@north.east.isi.edu CSeq: 1 ACK
C>S: ACK一口: es@jove.cs.caltech.edu SIP/2.0Via: SIP/2.0/UDP north.east.isi.edu From: 一口: ハンドレー<が mjh@isi.edu であるとマークしてください、gt;、To: 前夜の学生<一口: schooler@caltech.edu 、gt;、; タグは9883472呼び出しIDと等しいです: 2963313058@north.east.isi.edu CSeq: 1 ACK
16.3 Two-party Call
16.3 2パーティーが電話をします。
For two-party Internet phone calls, the response must contain a description of where to send the data. In the example below, Bell calls Watson. Bell indicates that he can receive RTP audio codings 0 (PCMU), 3 (GSM), 4 (G.723) and 5 (DVI4).
2パーティーのインターネット電話呼び出しのために、応答はデータをどこに送るかに関する記述を含まなければなりません。 以下の例では、ベルは、ワトソンに電話をします。 ベルは、彼がRTPオーディオ符号化0(PCMU)、3(GSM)、4(G.723)と5(DVI4)を受け取ることができるのを示します。
C->S: INVITE sip:watson@boston.bell-tel.com SIP/2.0 Via: SIP/2.0/UDP kton.bell-tel.com From: A. Bell <sip:a.g.bell@bell-tel.com> To: T. Watson <sip:watson@bell-tel.com> Call-ID: 3298420296@kton.bell-tel.com CSeq: 1 INVITE Subject: Mr. Watson, come here. Content-Type: application/sdp Content-Length: ...
C>S: INVITE一口: watson@boston.bell-tel.com SIP/2.0Via: SIP/2.0/UDP kton.bell-tel.com From: A。 ベル<一口: a.g.bell@bell-tel.com 、gt;、To: T。 ワトソン<一口: watson@bell-tel.com 、gt;、呼び出しID: 3298420296@kton.bell-tel.com CSeq: 1 Subject:を招待してください。 ワトソンさん、ここに来てください。 コンテントタイプ: sdp Contentアプリケーション/長さ: ...
v=0 o=bell 53655765 2353687637 IN IP4 128.3.4.5 s=Mr. Watson, come here. c=IN IP4 kton.bell-tel.com m=audio 3456 RTP/AVP 0 3 4 5
ここに来てください。ワトソンv=0o=ベル53655765 2353687637IN IP4 128.3.4.5 s=さん、cはオーディオの3456IN IP4 kton.bell-tel.com m=RTP/AVP0 3 4 5と等しいです。
Handley, et al. Standards Track [Page 123] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[123ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
S->C: SIP/2.0 100 Trying Via: SIP/2.0/UDP kton.bell-tel.com From: A. Bell <sip:a.g.bell@bell-tel.com> To: T. Watson <sip:watson@bell-tel.com> ;tag=37462311 Call-ID: 3298420296@kton.bell-tel.com CSeq: 1 INVITE Content-Length: 0
S>C: 以下を通って試みる一口/2.0 100 SIP/2.0/UDP kton.bell-tel.com From: A。 ベル<一口: a.g.bell@bell-tel.com 、gt;、To: T。 ワトソン<一口: watson@bell-tel.com 、gt;、; タグは37462311呼び出しIDと等しいです: 3298420296@kton.bell-tel.com CSeq: 1 コンテンツの長さを招待してください: 0
S->C: SIP/2.0 180 Ringing Via: SIP/2.0/UDP kton.bell-tel.com From: A. Bell <sip:a.g.bell@bell-tel.com> To: T. Watson <sip:watson@bell-tel.com> ;tag=37462311 Call-ID: 3298420296@kton.bell-tel.com CSeq: 1 INVITE Content-Length: 0
S>C: 以下を通って鳴る一口/2.0 180 SIP/2.0/UDP kton.bell-tel.com From: A。 ベル<一口: a.g.bell@bell-tel.com 、gt;、To: T。 ワトソン<一口: watson@bell-tel.com 、gt;、; タグは37462311呼び出しIDと等しいです: 3298420296@kton.bell-tel.com CSeq: 1 コンテンツの長さを招待してください: 0
S->C: SIP/2.0 182 Queued, 2 callers ahead Via: SIP/2.0/UDP kton.bell-tel.com From: A. Bell <sip:a.g.bell@bell-tel.com> To: T. Watson <sip:watson@bell-tel.com> ;tag=37462311 Call-ID: 3298420296@kton.bell-tel.com CSeq: 1 INVITE Content-Length: 0
S>C: SIP/2.0 182Queued、先の2人の訪問者、Via: SIP/2.0/UDP kton.bell-tel.com From: A。 ベル<一口: a.g.bell@bell-tel.com 、gt;、To: T。 ワトソン<一口: watson@bell-tel.com 、gt;、; タグは37462311呼び出しIDと等しいです: 3298420296@kton.bell-tel.com CSeq: 1 コンテンツの長さを招待してください: 0
S->C: SIP/2.0 182 Queued, 1 caller ahead Via: SIP/2.0/UDP kton.bell-tel.com From: A. Bell <sip:a.g.bell@bell-tel.com> To: T. Watson <sip:watson@bell-tel.com> ;tag=37462311 Call-ID: 3298420296@kton.bell-tel.com CSeq: 1 INVITE Content-Length: 0
S>C: SIP/2.0 182Queued、先の1人の訪問者、Via: SIP/2.0/UDP kton.bell-tel.com From: A。 ベル<一口: a.g.bell@bell-tel.com 、gt;、To: T。 ワトソン<一口: watson@bell-tel.com 、gt;、; タグは37462311呼び出しIDと等しいです: 3298420296@kton.bell-tel.com CSeq: 1 コンテンツの長さを招待してください: 0
S->C: SIP/2.0 200 OK Via: SIP/2.0/UDP kton.bell-tel.com From: A. Bell <sip:a.g.bell@bell-tel.com> To: <sip:watson@bell-tel.com> ;tag=37462311 Call-ID: 3298420296@kton.bell-tel.com CSeq: 1 INVITE Contact: sip:watson@boston.bell-tel.com Content-Type: application/sdp Content-Length: ...
S>C: 以下を通って一口/2.0 200OK SIP/2.0/UDP kton.bell-tel.com From: A。 ベル<一口: a.g.bell@bell-tel.com 、gt;、To: <一口: watson@bell-tel.com 、gt;、; タグは37462311呼び出しIDと等しいです: 3298420296@kton.bell-tel.com CSeq: 1 接触を招いてください: 一口: watson@boston.bell-tel.com コンテントタイプ: sdp Contentアプリケーション/長さ: ...
v=0 o=watson 4858949 4858949 IN IP4 192.1.2.3 s=I'm on my way c=IN IP4 boston.bell-tel.com m=audio 5004 RTP/AVP 0 3
v=0 o=watson4858949 4858949IN IP4 192.1.2.3 s=Iによる途中では、cがオーディオの5004IN IP4 boston.bell-tel.com m=RTP/AVP0 3と等しいということです。
Handley, et al. Standards Track [Page 124] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[124ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
The example illustrates the use of informational status responses. Here, the reception of the call is confirmed immediately (100), then, possibly after some database mapping delay, the call rings (180) and is then queued, with periodic status updates.
例は情報の状態応答の使用を例証します。 ここで、呼び出しのレセプションは(100) すぐに確認されて、何らかのデータベースのマッピング遅れのそしてことによると後に呼び出しが(180)を鳴らして、列に並ばせられて、その時ということです、周期的な状態アップデートで。
Watson can only receive PCMU and GSM. Note that Watson's list of codecs may or may not be a subset of the one offered by Bell, as each party indicates the data types it is willing to receive. Watson will send audio data to port 3456 at c.bell-tel.com, Bell will send to port 5004 at boston.bell-tel.com.
ワトソンはPCMUとGSMを受け取ることができるだけです。 ワトソンのコーデックのリストがベルによって提供されたものの部分集合であるかもしれないことに注意してください、各当事者がそれが受け取っても構わないと思っているデータ型を示すとき。 ワトソンはc.ベルtel.comに3456を移植するためにオーディオデータを送って、ベルは、5004をboston.bell-tel.comに移植するために発信するでしょう。
By default, the media session is one RTP session. Watson will receive RTCP packets on port 5005, while Bell will receive them on port 3457.
デフォルトで、メディアセッションは1つのRTPセッションです。 ワトソンはポート5005の上でRTCPパケットを受けるでしょうが、ベルはポート3457の上でそれらを受けるでしょう。
Since the two sides have agreed on the set of media, Bell confirms the call without enclosing another session description:
2つの側がメディアのセットに同意したので、別のセッション記述を同封しないで、ベルは呼び出しを確認します:
C->S: ACK sip:watson@boston.bell-tel.com SIP/2.0 Via: SIP/2.0/UDP kton.bell-tel.com From: A. Bell <sip:a.g.bell@bell-tel.com> To: T. Watson <sip:watson@bell-tel.com> ;tag=37462311 Call-ID: 3298420296@kton.bell-tel.com CSeq: 1 ACK
C>S: ACK一口: watson@boston.bell-tel.com SIP/2.0Via: SIP/2.0/UDP kton.bell-tel.com From: A。 ベル<一口: a.g.bell@bell-tel.com 、gt;、To: T。 ワトソン<一口: watson@bell-tel.com 、gt;、; タグは37462311呼び出しIDと等しいです: 3298420296@kton.bell-tel.com CSeq: 1 ACK
16.4 Terminating a Call
16.4 呼び出しを終えること。
To terminate a call, caller or callee can send a BYE request:
呼び出し、訪問者または訪問される人を終えるのはBYE要求を送ることができます:
C->S: BYE sip:watson@boston.bell-tel.com SIP/2.0 Via: SIP/2.0/UDP kton.bell-tel.com From: A. Bell <sip:a.g.bell@bell-tel.com> To: T. A. Watson <sip:watson@bell-tel.com> ;tag=37462311 Call-ID: 3298420296@kton.bell-tel.com CSeq: 2 BYE
C>S: BYE一口: watson@boston.bell-tel.com SIP/2.0Via: SIP/2.0/UDP kton.bell-tel.com From: A。 ベル<一口: a.g.bell@bell-tel.com 、gt;、To: T。 A。 ワトソン<一口: watson@bell-tel.com 、gt;、; タグは37462311呼び出しIDと等しいです: 3298420296@kton.bell-tel.com CSeq: 2 さようなら
If the callee wants to abort the call, it simply reverses the To and From fields. Note that it is unlikely that a BYE from the callee will traverse the same proxies as the original INVITE.
呼び出しを中止する訪問される人必需品であるなら、それは単にToとFrom分野を逆にします。 訪問される人からのBYEがオリジナルのINVITEと同じプロキシを横断するのが、ありそうもないことに注意してください。
Handley, et al. Standards Track [Page 125] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[125ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
16.5 Forking Proxy
16.5 プロキシを分岐させること。
In this example, Bell (a.g.bell@bell-tel.com) (C), currently seated at host c.bell-tel.com wants to call Watson (t.watson@ieee.org). At the time of the call, Watson is logged in at two workstations, t.watson@x.bell-tel.com (X) and watson@y.bell-tel.com (Y), and has registered with the IEEE proxy server (P) called sip.ieee.org. The IEEE server also has a registration for the home machine of Watson, at watson@h.bell-tel.com (H), as well as a permanent registration at watson@acm.org (A). For brevity, the examples omit the session description and Via header fields.
この例では、現在ホストc.ベルtel.comに固定されているベル( a.g.bell@bell-tel.com )(C)は、ワトソンを( t.watson@ieee.org )と呼びたがっています。 呼び出し時点で、ワトソンは、2台のワークステーション、 t.watson@x.bell-tel.com (X)、および watson@y.bell-tel.com (Y)でログインされて、sip.ieee.orgと呼ばれるIEEEプロキシサーバ(P)とともに記名しました。 また、IEEEサーバには、ワトソンの家のマシンのための登録があります、 watson@h.bell-tel.com (H)で、 watson@acm.org (A)での永久的な登録と同様に。 簡潔さのために、例はセッション記述とViaヘッダーフィールドを省略します。
Bell's user agent sends the invitation to the SIP server for the ieee.org domain:
ベルのユーザエージェントはieee.orgドメインのためにSIPサーバに招待を送ります:
C->P: INVITE sip:t.watson@ieee.org SIP/2.0 Via: SIP/2.0/UDP c.bell-tel.com From: A. Bell <sip:a.g.bell@bell-tel.com> To: T. Watson <sip:t.watson@ieee.org> Call-ID: 31415@c.bell-tel.com CSeq: 1 INVITE
C>P: INVITE一口: t.watson@ieee.org SIP/2.0Via: 2.0/UDP c.ベルSIP/tel.com From: A。 ベル<一口: a.g.bell@bell-tel.com 、gt;、To: T。 ワトソン<一口: t.watson@ieee.org 、gt;、呼び出しID: 31415@c.bell-tel.com CSeq: 1 招待
The SIP server at ieee.org tries the four addresses in parallel. It sends the following message to the home machine:
ieee.orgのSIPサーバは平行な4つのアドレスを試みます。 それは以下のメッセージを家のマシンに送ります:
P->H: INVITE sip:watson@h.bell-tel.com SIP/2.0 Via: SIP/2.0/UDP sip.ieee.org ;branch=1 Via: SIP/2.0/UDP c.bell-tel.com From: A. Bell <sip:a.g.bell@bell-tel.com> To: T. Watson <sip:t.watson@ieee.org> Call-ID: 31415@c.bell-tel.com CSeq: 1 INVITE
P>H: INVITE一口: watson@h.bell-tel.com SIP/2.0Via: SIP/2.0/UDP sip.ieee.org; ブランチは1Viaと等しいです: 2.0/UDP c.ベルSIP/tel.com From: A。 ベル<一口: a.g.bell@bell-tel.com 、gt;、To: T。 ワトソン<一口: t.watson@ieee.org 、gt;、呼び出しID: 31415@c.bell-tel.com CSeq: 1 招待
This request immediately yields a 404 (Not Found) response, since Watson is not currently logged in at home:
ワトソンが現在熟達して登録されないので、この要求はすぐに、404(Foundでない)応答をもたらします:
H->P: SIP/2.0 404 Not Found Via: SIP/2.0/UDP sip.ieee.org ;branch=1 Via: SIP/2.0/UDP c.bell-tel.com From: A. Bell <sip:a.g.bell@bell-tel.com> To: T. Watson <sip:t.watson@ieee.org>;tag=87454273
H>P: 一口/2.0 404に、以下を通って見つけられませんでした。 SIP/2.0/UDP sip.ieee.org; ブランチは1Viaと等しいです: 2.0/UDP c.ベルSIP/tel.com From: A。 ベル<一口: a.g.bell@bell-tel.com 、gt;、To: T。 ワトソン<一口: t.watson@ieee.org 、gt;、;=87454273にタグ付けをしてください
Handley, et al. Standards Track [Page 126] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[126ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
Call-ID: 31415@c.bell-tel.com CSeq: 1 INVITE
呼び出しID: 31415@c.bell-tel.com CSeq: 1 招待
The proxy ACKs the response so that host H can stop retransmitting it:
プロキシACKs、そのように、そのホストHがそれを再送するのを止めることができる応答:
P->H: ACK sip:watson@h.bell-tel.com SIP/2.0 Via: SIP/2.0/UDP sip.ieee.org ;branch=1 From: A. Bell <sip:a.g.bell@bell-tel.com> To: T. Watson <sip:t.watson@ieee.org>;tag=87454273 Call-ID: 31415@c.bell-tel.com CSeq: 1 ACK
P>H: ACK一口: watson@h.bell-tel.com SIP/2.0Via: SIP/2.0/UDP sip.ieee.org; ブランチ=1From: A。 ベル<一口: a.g.bell@bell-tel.com 、gt;、To: T。 ワトソン<一口: t.watson@ieee.org 、gt;、; タグは87454273呼び出しIDと等しいです: 31415@c.bell-tel.com CSeq: 1 ACK
Also, P attempts to reach Watson through the ACM server:
また、Pは、ACMサーバを通してワトソンに届くのを試みます:
P->A: INVITE sip:watson@acm.org SIP/2.0 Via: SIP/2.0/UDP sip.ieee.org ;branch=2 Via: SIP/2.0/UDP c.bell-tel.com From: A. Bell <sip:a.g.bell@bell-tel.com> To: T. Watson <sip:t.watson@ieee.org> Call-ID: 31415@c.bell-tel.com CSeq: 1 INVITE
P>A: INVITE一口: watson@acm.org SIP/2.0Via: SIP/2.0/UDP sip.ieee.org; ブランチは2Viaと等しいです: 2.0/UDP c.ベルSIP/tel.com From: A。 ベル<一口: a.g.bell@bell-tel.com 、gt;、To: T。 ワトソン<一口: t.watson@ieee.org 、gt;、呼び出しID: 31415@c.bell-tel.com CSeq: 1 招待
In parallel, the next attempt proceeds, with an INVITE to X and Y:
平行では、次の試みはINVITEと共にXとYに続きます:
P->X: INVITE sip:t.watson@x.bell-tel.com SIP/2.0 Via: SIP/2.0/UDP sip.ieee.org ;branch=3 Via: SIP/2.0/UDP c.bell-tel.com From: A. Bell <sip:a.g.bell@bell-tel.com> To: T. Watson <sip:t.watson@ieee.org> Call-ID: 31415@c.bell-tel.com CSeq: 1 INVITE
P>X: INVITE一口: t.watson@x.bell-tel.com SIP/2.0Via: SIP/2.0/UDP sip.ieee.org; ブランチは3Viaと等しいです: 2.0/UDP c.ベルSIP/tel.com From: A。 ベル<一口: a.g.bell@bell-tel.com 、gt;、To: T。 ワトソン<一口: t.watson@ieee.org 、gt;、呼び出しID: 31415@c.bell-tel.com CSeq: 1 招待
P->Y: INVITE sip:watson@y.bell-tel.com SIP/2.0 Via: SIP/2.0/UDP sip.ieee.org ;branch=4 Via: SIP/2.0/UDP c.bell-tel.com From: A. Bell <sip:a.g.bell@bell-tel.com> To: T. Watson <sip:t.watson@ieee.org> Call-ID: 31415@c.bell-tel.com CSeq: 1 INVITE
P>Y: INVITE一口: watson@y.bell-tel.com SIP/2.0Via: SIP/2.0/UDP sip.ieee.org; ブランチは4Viaと等しいです: 2.0/UDP c.ベルSIP/tel.com From: A。 ベル<一口: a.g.bell@bell-tel.com 、gt;、To: T。 ワトソン<一口: t.watson@ieee.org 、gt;、呼び出しID: 31415@c.bell-tel.com CSeq: 1 招待
Handley, et al. Standards Track [Page 127] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[127ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
As it happens, both Watson at X and a colleague in the other lab at host Y hear the phones ringing and pick up. Both X and Y return 200s via the proxy to Bell.
たまたま、ホストYのXのワトソンともう片方の研究室の同僚の両方が、電話の呼び出し音を聞いて、回復します。 XとYの両方がベルのプロキシを通して200を返します。
X->P: SIP/2.0 200 OK Via: SIP/2.0/UDP sip.ieee.org ;branch=3 Via: SIP/2.0/UDP c.bell-tel.com From: A. Bell <sip:a.g.bell@bell-tel.com> To: T. Watson <sip:t.watson@ieee.org> ;tag=192137601 Call-ID: 31415@c.bell-tel.com CSeq: 1 INVITE Contact: sip:t.watson@x.bell-tel.com
X>P: 以下を通って一口/2.0 200OK SIP/2.0/UDP sip.ieee.org; ブランチは3Viaと等しいです: 2.0/UDP c.ベルSIP/tel.com From: A。 ベル<一口: a.g.bell@bell-tel.com 、gt;、To: T。 ワトソン<一口: t.watson@ieee.org 、gt;、; タグは192137601呼び出しIDと等しいです: 31415@c.bell-tel.com CSeq: 1 接触を招いてください: 一口: t.watson@x.bell-tel.com
Y->P: SIP/2.0 200 OK Via: SIP/2.0/UDP sip.ieee.org ;branch=4 Via: SIP/2.0/UDP c.bell-tel.com Contact: sip:t.watson@y.bell-tel.com From: A. Bell <sip:a.g.bell@bell-tel.com> To: T. Watson <sip:t.watson@ieee.org> ;tag=35253448 Call-ID: 31415@c.bell-tel.com CSeq: 1 INVITE
Y>P: 以下を通って一口/2.0 200OK SIP/2.0/UDP sip.ieee.org; ブランチは4Viaと等しいです: 2.0/UDP c.ベルSIP/tel.com Contact: 一口: t.watson@y.bell-tel.com From: A。 ベル<一口: a.g.bell@bell-tel.com 、gt;、To: T。 ワトソン<一口: t.watson@ieee.org 、gt;、; タグは35253448呼び出しIDと等しいです: 31415@c.bell-tel.com CSeq: 1 招待
Both responses are forwarded to Bell, using the Via information. At this point, the ACM server is still searching its database. P can now cancel this attempt:
Via情報を使用して、両方の応答をベルに送ります。 ここに、ACMサーバはまだデータベースを捜しています。 Pは現在、この試みを中止できます:
P->A: CANCEL sip:watson@acm.org SIP/2.0 Via: SIP/2.0/UDP sip.ieee.org ;branch=2 From: A. Bell <sip:a.g.bell@bell-tel.com> To: T. Watson <sip:t.watson@ieee.org> Call-ID: 31415@c.bell-tel.com CSeq: 1 CANCEL
P>A: キャンセル一口: watson@acm.org SIP/2.0Via: SIP/2.0/UDP sip.ieee.org; ブランチ=2From: A。 ベル<一口: a.g.bell@bell-tel.com 、gt;、To: T。 ワトソン<一口: t.watson@ieee.org 、gt;、呼び出しID: 31415@c.bell-tel.com CSeq: 1つのキャンセル
The ACM server gladly stops its neural-network database search and responds with a 200. The 200 will not travel any further, since P is the last Via stop.
ACMサーバは、喜んでニューラル・ネットワークデータベース検索を止めて、200で反応します。 200は、Pが最後のVia停止であるので、これ以上移動しないでしょう。
A->P: SIP/2.0 200 OK Via: SIP/2.0/UDP sip.ieee.org ;branch=2 From: A. Bell <sip:a.g.bell@bell-tel.com> To: T. Watson <sip:t.watson@ieee.org>
1>のP: 以下を通って一口/2.0 200OK SIP/2.0/UDP sip.ieee.org; ブランチ=2From: A。 ベル<一口: a.g.bell@bell-tel.com 、gt;、To: T。 ワトソン<一口: t.watson@ieee.org 、gt。
Handley, et al. Standards Track [Page 128] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[128ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
Call-ID: 31415@c.bell-tel.com CSeq: 1 CANCEL
呼び出しID: 31415@c.bell-tel.com CSeq: 1つのキャンセル
Bell gets the two 200 responses from X and Y in short order. Bell's reaction now depends on his software. He can either send an ACK to both if human intelligence is needed to determine who he wants to talk to or he can automatically reject one of the two calls. Here, he acknowledges both, separately and directly to the final destination:
ベルは要するに、XとYからの200の応答が命令する2を得ます。 ベルの反応は現在、彼のソフトウェアによります。 人知が彼がだれと話したがっているかを決定するのに必要であるなら、彼がACKを両方に送ることができますか、または彼は自動的に2つの呼び出しの1つを拒絶できます。 ここで、彼は別々に、そして、直接最終的な目的地に両方を承認します:
C->X: ACK sip:t.watson@x.bell-tel.com SIP/2.0 Via: SIP/2.0/UDP c.bell-tel.com From: A. Bell <sip:a.g.bell@bell-tel.com> To: T. Watson <sip:t.watson@ieee.org>;tag=192137601 Call-ID: 31415@c.bell-tel.com CSeq: 1 ACK
C>X: ACK一口: t.watson@x.bell-tel.com SIP/2.0Via: 2.0/UDP c.ベルSIP/tel.com From: A。 ベル<一口: a.g.bell@bell-tel.com 、gt;、To: T。 ワトソン<一口: t.watson@ieee.org 、gt;、; タグは192137601呼び出しIDと等しいです: 31415@c.bell-tel.com CSeq: 1 ACK
C->Y: ACK sip:watson@y.bell-tel.com SIP/2.0 Via: SIP/2.0/UDP c.bell-tel.com From: A. Bell <sip:a.g.bell@bell-tel.com> To: T. Watson <sip:t.watson@ieee.org>;tag=35253448 Call-ID: 31415@c.bell-tel.com CSeq: 1 ACK
C>Y: ACK一口: watson@y.bell-tel.com SIP/2.0Via: 2.0/UDP c.ベルSIP/tel.com From: A。 ベル<一口: a.g.bell@bell-tel.com 、gt;、To: T。 ワトソン<一口: t.watson@ieee.org 、gt;、; タグは35253448呼び出しIDと等しいです: 31415@c.bell-tel.com CSeq: 1 ACK
After a brief discussion between Bell with X and Y, it becomes clear that Watson is at X. (Note that this is not a three-way call; only Bell can talk to X and Y, but X and Y cannot talk to each other.) Thus, Bell sends a BYE to Y, which is replied to:
XをもっているベルとYとの簡潔な議論の後に、ワトソンがX.にいるのは明確になります。(これが電話することでないことに3者間の注意してください; ベルだけがXとYと話すことができますが、XとYは互いに話すことができません。) したがって、ベルはBYEをYに送ります:(Yは答えられます)。
C->Y: BYE sip:watson@y.bell-tel.com SIP/2.0 Via: SIP/2.0/UDP c.bell-tel.com From: A. Bell <sip:a.g.bell@bell-tel.com> To: T. Watson <sip:t.watson@ieee.org>;tag=35253448 Call-ID: 31415@c.bell-tel.com CSeq: 2 BYE
C>Y: BYE一口: watson@y.bell-tel.com SIP/2.0Via: 2.0/UDP c.ベルSIP/tel.com From: A。 ベル<一口: a.g.bell@bell-tel.com 、gt;、To: T。 ワトソン<一口: t.watson@ieee.org 、gt;、; タグは35253448呼び出しIDと等しいです: 31415@c.bell-tel.com CSeq: 2 さようなら
Y->C: SIP/2.0 200 OK Via: SIP/2.0/UDP c.bell-tel.com From: A. Bell <sip:a.g.bell@bell-tel.com> To: T. Watson <sip:t.watson@ieee.org>;tag=35253448 Call-ID: 31415@c.bell-tel.com CSeq: 2 BYE
Y>C: 以下を通って一口/2.0 200OK 2.0/UDP c.ベルSIP/tel.com From: A。 ベル<一口: a.g.bell@bell-tel.com 、gt;、To: T。 ワトソン<一口: t.watson@ieee.org 、gt;、; タグは35253448呼び出しIDと等しいです: 31415@c.bell-tel.com CSeq: 2 さようなら
Handley, et al. Standards Track [Page 129] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[129ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
16.6 Redirects
16.6は向け直します。
Replies with status codes 301 (Moved Permanently) or 302 (Moved Temporarily) specify another location using the Contact field. Continuing our earlier example, the server P at ieee.org decides to redirect rather than proxy the request:
ステータスコード301(Permanentlyを動かします)か302(Temporarilyを動かす)がある回答は、Contact分野を使用することでもう1つの位置を指定します。 プロキシよりむしろ向け直す、ieee.orgで私たちの以前の例、サーバPを続けているのが、決める要求:
P->C: SIP/2.0 302 Moved temporarily Via: SIP/2.0/UDP c.bell-tel.com From: A. Bell <sip:a.g.bell@bell-tel.com> To: T. Watson <sip:t.watson@ieee.org>;tag=72538263 Call-ID: 31415@c.bell-tel.com CSeq: 1 INVITE Contact: sip:watson@h.bell-tel.com, sip:watson@acm.org, sip:t.watson@x.bell-tel.com, sip:watson@y.bell-tel.com CSeq: 1 INVITE
P>C: SIP/2.0 302Moved、一時的である、Via: 2.0/UDP c.ベルSIP/tel.com From: A。 ベル<一口: a.g.bell@bell-tel.com 、gt;、To: T。 ワトソン<一口: t.watson@ieee.org 、gt;、; タグは72538263呼び出しIDと等しいです: 31415@c.bell-tel.com CSeq: 1 接触を招いてください: 一口: 一口: watson@h.bell-tel.com 、一口: watson@acm.org 、 t.watson@x.bell-tel.com はちびちび飲まれます: watson@y.ベル-tel.com CSeq: 1 招待
As another example, assume Alice (A) wants to delegate her calls to Bob (B) while she is on vacation until July 29th, 1998. Any calls meant for her will reach Bob with Alice's To field, indicating to him what role he is to play. Charlie (C) calls Alice (A), whose server returns:
別の例として、(B) 彼女が1998年7月29日まで休みをとっている間アリス(A)が彼女の呼び出しをボブへ代表として派遣したがっていると仮定してください。 彼女のために意味されたどんな呼び出しもアリスのTo分野でボブに届くでしょう、彼がどんな役割を果たすことになっているかを彼に示して。 チャーリー(C)は、アリス(A)に電話をします:(アリスのサーバは戻ります)。
A->C: SIP/2.0 302 Moved temporarily From: Charlie <sip:charlie@caller.com> To: Alice <sip:alice@anywhere.com> ;tag=2332462 Call-ID: 27182@caller.com Contact: sip:bob@anywhere.com Expires: Wed, 29 Jul 1998 9:00:00 GMT CSeq: 1 INVITE
1>のC: SIP/2.0 302Moved、一時的である、From: ばか<一口: charlie@caller.com 、gt;、To: アリス<一口: alice@anywhere.com 、gt;、; タグは2332462呼び出しIDと等しいです: 27182@caller.com 接触: 一口: bob@anywhere.com Expires: グリニッジ標準時1998年7月29日水曜日9時0分0秒CSeq: 1 招待
Charlie then sends the following request to the SIP server of the anywhere.com domain. Note that the server at anywhere.com forwards the request to Bob based on the Request-URI.
そして、チャーリーはanywhere.comドメインのSIPサーバに以下の要求を送ります。 anywhere.comのサーバがRequest-URIに基づいて要求をボブに転送することに注意してください。
C->B: INVITE sip:bob@anywhere.com SIP/2.0 From: sip:charlie@caller.com To: sip:alice@anywhere.com Call-ID: 27182@caller.com CSeq: 2 INVITE
C>B: INVITE一口: bob@anywhere.com SIP/2.0From: 一口: charlie@caller.com To: 一口: alice@anywhere.com Call-ID: 27182@caller.com CSeq: 2 招待
Handley, et al. Standards Track [Page 130] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[130ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
In the third redirection example, we assume that all outgoing requests are directed through a local firewall F at caller.com, with Charlie again inviting Alice:
3番目のリダイレクションの例では、私たちは、すべての送信する要求がcaller.comのローカルのファイアウォールFを通して指示されると思います、チャーリーが再びアリスを招待していて:
C->F: INVITE sip:alice@anywhere.com SIP/2.0 From: sip:charlie@caller.com To: Alice <sip:alice@anywhere.com> Call-ID: 27182@caller.com CSeq: 1 INVITE
C>F: INVITE一口: alice@anywhere.com SIP/2.0From: 一口: charlie@caller.com To: アリス<一口: alice@anywhere.com 、gt;、呼び出しID: 27182@caller.com CSeq: 1 招待
The local firewall at caller.com happens to be overloaded and thus redirects the call from Charlie to a secondary server S:
caller.comのローカルのファイアウォールは、たまたま積みすぎられて、その結果、チャーリーからセカンダリサーバSまでの呼び出しを向け直します:
F->C: SIP/2.0 302 Moved temporarily From: sip:charlie@caller.com To: Alice <sip:alice@anywhere.com> Call-ID: 27182@caller.com CSeq: 1 INVITE Contact: <sip:alice@anywhere.com:5080;maddr=spare.caller.com>
F>C: SIP/2.0 302Moved、一時的である、From: 一口: charlie@caller.com To: アリス<一口: alice@anywhere.com 、gt;、呼び出しID: 27182@caller.com CSeq: 1 接触を招いてください: <一口: alice@anywhere.com :5080; maddr=spare.caller.com>。
Based on this response, Charlie directs the same invitation to the secondary server spare.caller.com at port 5080, but maintains the same Request-URI as before:
この応答に基づいて、チャーリーは、ポート5080のセカンダリサーバspare.caller.comへの同じ招待を指示しますが、従来と同様同じRequest-URIを維持します:
C->S: INVITE sip:alice@anywhere.com SIP/2.0 From: sip:charlie@caller.com To: Alice <sip:alice@anywhere.com> Call-ID: 27182@caller.com CSeq: 2 INVITE
C>S: INVITE一口: alice@anywhere.com SIP/2.0From: 一口: charlie@caller.com To: アリス<一口: alice@anywhere.com 、gt;、呼び出しID: 27182@caller.com CSeq: 2 招待
16.7 Negotiation
16.7 交渉
An example of a 606 (Not Acceptable) response is:
606(Acceptableでない)応答に関する例は以下の通りです。
S->C: SIP/2.0 606 Not Acceptable From: sip:mjh@isi.edu To: <sip:schooler@cs.caltech.edu> ;tag=7434264 Call-ID: 14142@north.east.isi.edu
S>C: 許容できるFrom:ではなく、一口/2.0 606 一口: mjh@isi.edu To: <一口: schooler@cs.caltech.edu 、gt;、; タグは7434264呼び出しIDと等しいです: 14142@north.east.isi.edu
Handley, et al. Standards Track [Page 131] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[131ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
CSeq: 1 INVITE Contact: sip:mjh@north.east.isi.edu Warning: 370 "Insufficient bandwidth (only have ISDN)", 305 "Incompatible media format", 330 "Multicast not available" Content-Type: application/sdp Content-Length: 50
CSeq: 1 接触を招いてください: 一口: mjh@north.east.isi.edu Warning: 370 「不十分な帯域幅(ISDNを持っているだけである)」、305「両立しないメディア形式」、330「利用可能でないマルチキャスト」コンテントタイプ: sdp Contentアプリケーション/長さ: 50
v=0 s=Let's talk b=CT:128 c=IN IP4 north.east.isi.edu m=audio 3456 RTP/AVP 5 0 7 m=video 2232 RTP/AVP 31
=0秒間=に対して、b=コネチカットについて話しましょう: 128c=IN IP4 north.east.isi.edu mは3456年の5 0 7mのオーディオRTP/AVP=ビデオ2232RTP/AVP31と等しいです。
In this example, the original request specified a bandwidth that was higher than the access link could support, requested multicast, and requested a set of media encodings. The response states that only 128 kb/s is available and that (only) DVI, PCM or LPC audio could be supported in order of preference.
この例では、オリジナルの要求は、アクセスリンクが支持できたより高かった帯域幅を指定して、マルチキャストを要求して、メディアencodingsの1セットを要求しました。 応答は128kb/sだけが利用可能であり、好みの順に(単に)DVI、PCMまたはLPCオーディオは支えることができたと述べます。
The response also states that multicast is not available. In such a case, it might be appropriate to set up a transcoding gateway and re-invite the user.
また、応答は、マルチキャストが利用可能でないと述べます。 このような場合には、コード変換ゲートウェイを設立して、ユーザを再招待するのは適切であるかもしれません。
16.8 OPTIONS Request
16.8 オプション要求
A caller Alice can use an OPTIONS request to find out the capabilities of a potential callee Bob, without "ringing" the designated address. Bob returns a description indicating that he is capable of receiving audio encodings PCM Ulaw (payload type 0), 1016 (payload type 1), GSM (payload type 3), and SX7300/8000 (dynamic payload type 99), and video encodings H.261 (payload type 31) and H.263 (payload type 34).
訪問者アリスは潜在的訪問される人の能力からボブを見つけるというOPTIONS要求を使用できます、指定されたアドレスが「鳴らす」てでない。 ボブは彼がオーディオencodings PCM Ulaw(ペイロードタイプ0)、1016(ペイロードタイプ1)、GSM(ペイロードタイプ3)を受けることができるのを示す記述、SX7300/8000(ダイナミックなペイロードタイプ99)、ビデオencodings H.261(ペイロードタイプ31)、およびH.263(ペイロードタイプ34)を返します。
C->S: OPTIONS sip:bob@example.com SIP/2.0 From: Alice <sip:alice@anywhere.org> To: Bob <sip:bob@example.com> Call-ID: 6378@host.anywhere.org CSeq: 1 OPTIONS Accept: application/sdp
C>S: OPTIONS一口: bob@example.com SIP/2.0From: アリス<一口: alice@anywhere.org 、gt;、To: ボブ<一口: bob@example.com 、gt;、呼び出しID: 6378@host.anywhere.org CSeq: 1オプションは受け入れます: アプリケーション/sdp
S->C: SIP/2.0 200 OK From: Alice <sip:alice@anywhere.org> To: Bob <sip:bob@example.com> ;tag=376364382
S>C: 一口/2.0 200OK From: アリス<一口: alice@anywhere.org 、gt;、To: ボブ<一口: bob@example.com 、gt;、;=376364382にタグ付けをしてください
Handley, et al. Standards Track [Page 132] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[132ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
Call-ID: 6378@host.anywhere.org Content-Length: 81 Content-Type: application/sdp
呼び出しID: 6378@host.anywhere.org コンテンツの長さ: 81コンテントタイプ: アプリケーション/sdp
v=0 m=audio 0 RTP/AVP 0 1 3 99 m=video 0 RTP/AVP 31 34 a=rtpmap:99 SX7300/8000
ビデオ0RTP/AVP31 34オーディオの0RTP/AVP0 1 3 99v=0m=m=a=rtpmap: 99SX7300/8000
Handley, et al. Standards Track [Page 133] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[133ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
A Minimal Implementation
最小限の器具
A.1 Client
A.1クライアント
All clients MUST be able to generate the INVITE and ACK requests. Clients MUST generate and parse the Call-ID, Content-Length, Content-Type, CSeq, From and To headers. Clients MUST also parse the Require header. A minimal implementation MUST understand SDP (RFC 2327, [6]). It MUST be able to recognize the status code classes 1 through 6 and act accordingly.
すべてのクライアントがINVITEとACK要求を発生させることができなければなりません。 クライアントは、Call-ID、Content-長さ、コンテントタイプ、CSeq、From、およびToヘッダーを発生して、分析しなければなりません。 また、クライアントはRequireヘッダーを分析しなければなりません。 最小限の器具はSDPを理解しなければなりません。(RFC2327、[6])。 それは、1〜6にステータスコードのクラスを認識して、善処できなければなりません。
The following capability sets build on top of the minimal implementation described in the previous paragraph. In general, each capability listed below builds on the ones above it:
以下の能力セットは前のパラグラフで説明された最小限の器具の上に建てられます。 一般に、各能力は体格の下にそれの上のものに記載しました:
Basic: A basic implementation adds support for the BYE method to allow the interruption of a pending call attempt. It includes a User-Agent header in its requests and indicates its preferred language in the Accept-Language header.
基本的: 基本的な実現は未定の呼び出し試みの中断を許すBYE方法のサポートを加えます。 それは、要求にUser-エージェントヘッダーを含んで、Accept-言語ヘッダーで都合のよい言語を示します。
Redirection: To support call forwarding, a client needs to be able to understand the Contact header, but only the SIP-URL part, not the parameters.
リダイレクション: サポートコール推進に、クライアントは、パラメタではなく、Contactヘッダー、しかし、SIP-URL部分しか理解できない必要があります。
Firewall-friendly: A firewall-friendly client understands the Route and Record-Route header fields and can be configured to use a local proxy for all outgoing requests.
ファイアウォールに優しい: ファイアウォールに優しいクライアントは、RouteとRecord-ルートヘッダーフィールドを理解して、すべての送信する要求に地元のプロキシを使用するために構成できます。
Negotiation: A client MUST be able to request the OPTIONS method and understand the 380 (Alternative Service) status and the Contact parameters to participate in terminal and media negotiation. It SHOULD be able to parse the Warning response header to provide useful feedback to the caller.
交渉: クライアントは、380(代替のService)状態とContactパラメタが端末とメディア交渉に参加するのをOPTIONS方法を要求して、理解できなければなりません。 それ、SHOULD、Warning応答ヘッダを分析できて、役に立つフィードバックを訪問者に提供してください。
Authentication: If a client wishes to invite callees that require caller authentication, it MUST be able to recognize the 401 (Unauthorized) status code, MUST be able to generate the Authorization request header and MUST understand the WWW- Authenticate response header.
認証: クライアントが訪問者認証を必要とする訪問される人を招待したいなら、それは、401の(権限のない)のステータスコードを認識できなければならなくて、Authorization要求ヘッダーを発生させることができなければならなくて、WWWが応答ヘッダを認証するのを理解しなければなりません。
If a client wishes to use proxies that require caller authentication, it MUST be able to recognize the 407 (Proxy Authentication Required) status code, MUST be able to generate the Proxy-Authorization request header and understand the Proxy-Authenticate response header.
クライアントが訪問者認証を必要とするプロキシを使用したいと思うなら、407(プロキシAuthentication Required)ステータスコードがProxy-認可要求ヘッダーを発生させて、分かることができなければならないと認めることができなければならない、応答ヘッダをProxy認証してください。
Handley, et al. Standards Track [Page 134] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[134ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
A.2 Server
A.2サーバ
A minimally compliant server implementation MUST understand the INVITE, ACK, OPTIONS and BYE requests. A proxy server MUST also understand CANCEL. It MUST parse and generate, as appropriate, the Call-ID, Content-Length, Content-Type, CSeq, Expires, From, Max- Forwards, Require, To and Via headers. It MUST echo the CSeq and Timestamp headers in the response. It SHOULD include the Server header in its responses.
最少量で対応することのサーバ実現はINVITE、ACK、OPTIONS、およびBYE要求を理解しなければなりません。 また、プロキシサーバはキャンセルを理解しなければなりません。 それは、Call-ID、Content-長さ、コンテントタイプ、CSeq、Expires、From、マックスフォワード、Require、To、およびViaヘッダーを適宜分析して、発生させなければなりません。 それは応答でCSeqとTimestampヘッダーの言葉を繰り返さなければなりません。 それ、SHOULDは応答にServerヘッダーを含んでいます。
A.3 Header Processing
A.3ヘッダー処理
Table 6 lists the headers that different implementations support. UAC refers to a user-agent client (calling user agent), UAS to a user- agent server (called user-agent).
テーブル6は異なった実現が支えるヘッダーを記載します。 UACはユーザエージェントのクライアント(ユーザをエージェントと呼ぶ)、UASをユーザエージェントサーバ(ユーザエージェントと呼ばれる)と呼びます。
The fields in the table have the following meaning. Type is as in Table 4 and 5. "-" indicates the field is not meaningful to this system (although it might be generated by it). "m" indicates the field MUST be understood. "b" indicates the field SHOULD be understood by a Basic implementation. "r" indicates the field SHOULD be understood if the system claims to understand redirection. "a" indicates the field SHOULD be understood if the system claims to support authentication. "e" indicates the field SHOULD be understood if the system claims to support encryption. "o" indicates support of the field is purely optional. Headers whose support is optional for all implementations are not shown.
テーブルの分野には、以下の意味があります。 コネTable4と5としてタイプがあります。 「--」は、分野がこのシステムに重要でないことを(それで発生するかもしれませんが)示します。 「m」は、分野を理解しなければならないのを示します。 「b」は、分野SHOULDがBasic実現に解釈されるのを示します。 「r」は、システムが、リダイレクションを理解していると主張するなら分野SHOULDが理解されているのを示します。 "a"は、システムが、認証を支持すると主張するなら分野SHOULDが理解されているのを示します。 「e」は、システムが、暗号化を支持すると主張するなら分野SHOULDが理解されているのを示します。 「o」は、分野のサポートが純粋に任意であることを示します。 すべての実現に、サポートが任意であるヘッダーは見せられません。
Handley, et al. Standards Track [Page 135] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[135ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
type UAC proxy UAS registrar _____________________________________________________ Accept R - o m m Accept-Encoding R - - m m Accept-Language R - b b b Allow 405 o - - - Authorization R a o a a Call-ID g m m m m Content-Encoding g m - m m Content-Length g m m m m Content-Type g m - m m CSeq g m m m m Encryption g e - e e Expires g - o o m From g m o m m Hide R - m - - Contact R - - - m Contact r r r - - Max-Forwards R - b - - Proxy-Authenticate 407 a - - - Proxy-Authorization R - a - - Proxy-Require R - m - - Require R m - m m Response-Key R - - e e Route R - m - - Timestamp g o o m m To g m m m m Unsupported r b b - - User-Agent g b - b - Via g m m m m WWW-Authenticate 401 a - - -
UACプロキシUAS記録係をタイプしてください。_____________________________________________________ 受け入れる..コード化..言語..認可..ID..コード化..長さ..コンテントタイプ..連絡; 最大限にする..前方..プロキシ..認証..プロキシ..認可..プロキシ..必要..必要..主要..タイムスタンプ..ユーザ..エージェント..認証
Table 6: Header Field Processing Requirements
テーブル6: ヘッダーフィールド処理所要
B Usage of the Session Description Protocol (SDP)
セッション記述プロトコルのB用法(SDP)
This section describes the use of the Session Description Protocol (SDP) (RFC 2327 [6]).
このセクションはSession記述プロトコル(SDP)の使用について説明します。(RFC2327[6])。
B.1 Configuring Media Streams
メディアの流れを構成するB.1
The caller and callee align their media descriptions so that the nth media stream ("m=" line) in the caller's session description corresponds to the nth media stream in the callee's description.
訪問者と訪問される人は、訪問者のセッション記述におけるn番目のメディアの流れ(「m=」線)が訪問される人の記述におけるn番目のメディアの流れに対応するように、彼らのメディア記述を並べます。
Handley, et al. Standards Track [Page 136] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[136ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
All media descriptions SHOULD contain "a=rtpmap" mappings from RTP payload types to encodings.
すべてのメディア記述SHOULDがRTPペイロードタイプからencodingsまでの"a=rtpmap"マッピングを含んでいます。
This allows easier migration away from static payload types.
これは静的なペイロードタイプから遠くで、より簡単な移動を許します。
If the callee wants to neither send nor receive a stream offered by the caller, the callee sets the port number of that stream to zero in its media description.
どちらも訪問される人必需品がどんな訪問者によって提供された小川を送って、受けないなら、訪問される人はメディア記述でその流れのポートナンバーをゼロに設定します。
There currently is no other way than port zero for the callee to refuse a bidirectional stream offered by the caller. Both caller and callee need to be aware what media tools are to be started.
現在、他の道は全く訪問される人が訪問者によって提供された双方向の流れを拒否するようにゼロを移植するよりありません。 訪問者と訪問される人の両方が、どんなメディアツールが始められるかことであるかを意識している必要があります。
For example, assume that the caller Alice has included the following description in her INVITE request. It includes an audio stream and two bidirectional video streams, using H.261 (payload type 31) and MPEG (payload type 32).
例えば、訪問者アリスが彼女のINVITE要求における以下の記述を入れたと仮定してください。 H.261(ペイロードタイプ31)とMPEG(ペイロードタイプ32)を使用して、それはオーディオストリームと2つの双方向のビデオストリームを含んでいます。
v=0 o=alice 2890844526 2890844526 IN IP4 host.anywhere.com c=IN IP4 host.anywhere.com 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
v=0 o=alice2890844526 2890844526IN IP4 host.anywhere.com cはIN IP4 host.anywhere.com m=オーディオの49170RTP/AVP0a=rtpmapと等しいです: 0PCMU/8000mはビデオ51372RTP/AVP31a=rtpmapと等しいです: 31H261/90000mはビデオ53000RTP/AVP32a=rtpmap: 32MPV/90000と等しいです。
The callee, Bob, does not want to receive or send the first video stream, so it returns the media description below:
訪問される人(ボブ)が最初のビデオストリームを受けたくはありませんし、送りたがっていないので、以下での記述をメディアに返します:
v=0 o=bob 2890844730 2890844730 IN IP4 host.example.com c=IN IP4 host.example.com m=audio 47920 RTP/AVP 0 1 a=rtpmap:0 PCMU/8000 a=rtpmap:1 1016/8000 m=video 0 RTP/AVP 31 m=video 53000 RTP/AVP 32 a=rtpmap:32 MPV/90000
ボブ2890844730 2890844730IN IP4 host.example.com c=IN IP4 host.example.com m=のオーディオの47920のRTP/AVP0 1v=0o=a=rtpmap: 0PCMU/8000a=rtpmap: 31mの1個の1016/8000mの=ビデオ0RTP/AVP=ビデオ53000RTP/AVP32a=rtpmap: 32MPV/90000
Handley, et al. Standards Track [Page 137] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[137ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
B.2 Setting SDP Values for Unicast
SDP値をユニキャストに設定するB.2
If a session description from a caller contains a media stream which is listed as send (receive) only, it means that the caller is only willing to send (receive) this stream, not receive (send). The same is true for the callee.
訪問者からのセッション記述が発信するとき(受信します)記載されたメディアの流れだけを含んでいるなら、それは、訪問者が、受信するのではなく、この流れを送っても(受信します)構わないと思っているだけであることを意味します(発信してください)。 訪問される人に、同じくらいは本当です。
For receive-only and send-or-receive streams, the port number and address in the session description indicate where the media stream should be sent to by the recipient of the session description, either caller or callee. For send-only streams, the address and port number have no significance and SHOULD be set to zero.
受信専用で発信しているか、または受信している流れのために、セッション記述におけるポートナンバーとアドレスは、セッション記述(訪問者か訪問される人のどちらか)の受取人がどこでメディアの流れに発信するべきであるかを示します。 発信、-単に、流れ、アドレス、およびポートナンバーで、意味とSHOULDを全くゼロに用意ができさせません。
The list of payload types for each media stream conveys two pieces of information, namely the set of codecs that the caller or callee is capable of sending or receiving, and the RTP payload type numbers used to identify those codecs. For receive-only or send-and-receive media streams, a caller SHOULD list all of the codecs it is capable of supporting in the session description in an INVITE or ACK. For send-only streams, the caller SHOULD indicate only those it wishes to send for this session. For receive-only streams, the payload type numbers indicate the value of the payload type field in RTP packets the caller is expecting to receive for that codec type. For send-only streams, the payload type numbers indicate the value of the payload type field in RTP packets the caller is planning to send for that codec type. For send-and-receive streams, the payload type numbers indicate the value of the payload type field the caller expects to both send and receive.
それぞれのメディアの流れのためのペイロードタイプのリストはそれらのコーデックを特定するのにおいて使用されていた状態ですなわち、2つの情報、送るか、または訪問者か訪問される人が受けることができるコーデックのセット、およびRTPペイロード形式数を伝えます。 受信専用であるか発信している、受信しているメディアのために、流れ、訪問者SHOULDはそれがINVITEかACKでセッション記述で支持できるコーデックのすべてを記載します。 発信、-単に、流れであり、訪問者SHOULDはそれがこのセッションのときに呼びにやりたがっているものだけを示します。 受信専用流れのために、ペイロード形式数は訪問者がそのコーデックタイプのために受けると予想しているRTPパケットのペイロードタイプ分野の値を示します。 発信、-単に、流れ、ペイロード形式数は訪問者がそのコーデックタイプのために送るのを計画しているRTPパケットのペイロードタイプ分野の値を示します。 発信している、受信している流れのために、ペイロード形式数は訪問者がともに送って、受けると予想するペイロードタイプ野原の値を示します。
If a media stream is listed as receive-only by the caller, the callee lists, in the response, those codecs it intends to use from among the ones listed in the request. If a media stream is listed as send-only by the caller, the callee lists, in the response, those codecs it is willing to receive among the ones listed in the the request. If the media stream is listed as both send and receive, the callee lists those codecs it is capable of sending or receiving among the ones listed by the caller in the INVITE. The actual payload type numbers in the callee's session description corresponding to a particular codec MUST be the same as the caller's session description.
メディアの流れが受信専用であるとして訪問者によって記載されるなら、訪問される人は記載します、応答で、それが要求に記載されたものから使用するつもりであるそれらのコーデック。 メディアの流れとして記載されている、発信、-単に、訪問者で、訪問される人は記載します、応答で、それが要求に記載されたものの中で受けても構わないと思っているそれらのコーデック。 両方が発信して、受信されるときメディアの流れが記載されているなら、訪問される人はINVITEに訪問者によって記載されたものの中で送るか、またはそれが受けることができるそれらのコーデックを記載します。 訪問される人の特定のコーデックに対応するセッション記述における実際のペイロード形式数は訪問者のセッション記述と同じであるに違いありません。
If caller and callee have no media formats in common for a particular stream, the callee MUST return a session description containing the particular "m=" line, but with the port number set to zero, and no payload types listed.
ポートで、数はゼロにセットしました、そして、訪問者と訪問される人が特定の流れのためにメディア形式が全く共通でないなら、訪問される人は特定の「m=」線を含むセッション記述を返さなければなりませんが、どんなペイロードタイプも記載しませんでした。
If there are no media formats in common for all streams, the callee SHOULD return a 400 response, with a 304 Warning header field.
メディア形式が全くすべての流れに一般的になければ、訪問される人SHOULDは400応答を返します、304Warningヘッダーフィールドで。
Handley, et al. Standards Track [Page 138] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[138ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
B.3 Multicast Operation
B.3マルチキャスト操作
The interpretation of send-only and receive-only for multicast media sessions differs from that for unicast sessions. For multicast, send-only means that the recipient of the session description (caller or callee) SHOULD only send media streams to the address and port indicated. Receive-only means that the recipient of the session description SHOULD only receive media on the address and port indicated.
そして、解釈、発信、-単に、受信専用マルチキャストメディアセッションはユニキャストセッションのためにそれと異なっています。 マルチキャストのために発信、-単に、セッション記述(訪問者か訪問される人)SHOULDの受取人がアドレスとポートへの流れが示したメディアを送るだけであることを意味します。 受信専用である、セッション記述SHOULDの受取人が示されたアドレスとポートの上にメディアを受け取るだけであることを意味します。
For multicast, receive and send multicast addresses are the same and all parties use the same port numbers to receive media data. If the session description provided by the caller is acceptable to the callee, the callee can choose not to include a session description or MAY echo the description in the response.
マルチキャストのために、マルチキャストを受けて、送ってください。アドレスは同じです、そして、すべてのパーティーがメディアデータを受け取る同じポートナンバーを使用します。 訪問者によって提供されたセッション記述が訪問される人に許容できるなら、訪問される人は、セッション記述を含んでいないのを選ぶことができるか、または応答における記述をまねるかもしれません。
A callee MAY, in the response, return a session description with some of the payload types removed, or port numbers set to zero (but no other value). This indicates to the caller that the callee does not support the given stream or media types which were removed. A callee MUST NOT change whether a given stream is send-only, receive-only, or send-and-receive.
応答では、外される何人かのペイロードタイプかポートナンバーがゼロ(しかし、他の値がない)に設定されている状態で、訪問される人はセッション記述を返すかもしれません。 これは、訪問される人が外された与えられた流れかメディアタイプを支持しないのを訪問者に示します。 訪問される人が、与えられた流れがそうであるかどうかを変えてはいけない、発信、-単に、受信専用である、発信して、または受信しています。
If a callee does not support multicast at all, it SHOULD return a 400 status response and include a 330 Warning.
訪問される人がそれのどんなサポートマルチキャストにもSHOULDをしないなら、400状態応答を返してください、そして、330Warningを含めてください。
B.4 Delayed Media Streams
B.4はメディアの流れを遅らせました。
In some cases, a caller may not know the set of media formats which it can support at the time it would like to issue an invitation. This is the case when the caller is actually a gateway to another protocol which performs media format negotiation after call setup. When this occurs, a caller MAY issue an INVITE with a session description that contains no media lines. The callee SHOULD interpret this to mean that the caller wishes to participate in a multimedia session described by the session description, but that the media streams are not yet known. The callee SHOULD return a session description indicating the streams and media formats it is willing to support, however. The caller MAY update the session description either in the ACK request or in a re-INVITE at a later time, once the streams are known.
いくつかの場合、招待状を発行したがっているとき、訪問者はそれが支持できるメディア形式のセットを知らないかもしれません。 訪問者が実際に別のプロトコルへのゲートウェイであるときに、これはそうです(呼び出しセットアップの後にメディア形式交渉を実行します)。 これが起こると、訪問者はメディア線を全く含まないセッション記述でINVITEを発行するかもしれません。 訪問される人SHOULDは、訪問者がセッション記述で説明されたマルチメディアセッションのときに参加したがっていますが、メディアの流れがまだ知られていないことを意味するためにこれを解釈します。 訪問される人SHOULDは流れを示すセッション記述としかしながら、それが支持しても構わないと思っているメディア形式を返します。訪問者は後でACK要求か再INVITEでセッション記述をアップデートするかもしれません、流れがいったん知られていると。
B.5 Putting Media Streams on Hold
メディアの流れを保留にするB.5
If a party in a call wants to put the other party "on hold", i.e., request that it temporarily stops sending one or more media streams, a party re-invites the other by sending an INVITE request with a modified session description. The session description is the same as
呼び出しにおけるパーティーが「保持」に相手を置きたいなら、すなわち、1つ以上のメディアの流れを送るのを一時止めて、パーティーが変更されたセッション記述と共にINVITE要求を送ることによってもう片方を再誘うよう要求してください。 記述が同じであるセッション
Handley, et al. Standards Track [Page 139] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[139ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
in the original invitation (or response), but the "c" destination addresses for the media streams to be put on hold are set to zero (0.0.0.0).
置かれるメディアストリームが成立するので、オリジナルの招待(または、応答)では、「c」送付先アドレスだけがゼロに設定される、(0.0 .0 .0)。
B.6 Subject and SDP "s=" Line
B.6対象とSDP「s=」線
The SDP "s=" line and the SIP Subject header field have different meanings when inviting to a multicast session. The session description line describes the subject of the multicast session, while the SIP Subject header field describes the reason for the invitation. The example in Section 16.2 illustrates this point. For invitations to two-party sessions, the SDP "s=" line MAY be left empty.
マルチキャストセッションに招待するとき、SDP「s=」系列とSIP Subjectヘッダーフィールドには、異なった意味があります。 セッション記述系列はマルチキャストセッションの対象について説明します、SIP Subjectヘッダーフィールドが招待の理由について説明しますが。 セクション16.2の例はこのポイントを例証します。 2パーティーのセッションへの招待状において、SDP「s=」系列は空のままにされるかもしれません。
B.7 The SDP "o=" Line
B.7SDP「o=」線
The "o=" line is not strictly necessary for two-party sessions, but MUST be present to allow re-use of SDP-based tools.
「o=」系列は、厳密に2パーティーのセッションに必要ではありませんが、SDPベースのツールの再使用を許すために存在していなければなりません。
Handley, et al. Standards Track [Page 140] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[140ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
C Summary of Augmented BNF
増大しているBNFのC概要
All of the mechanisms specified in this document are described in both prose and an augmented Backus-Naur Form (BNF) similar to that used by RFC 822 [9]. Implementors will need to be familiar with the notation in order to understand this specification. The augmented BNF includes the following constructs:
本書では指定されたメカニズムのすべてが散文とRFC822[9]によって使用されるそれと同様の増大しているバッカス記法(BNF)の両方で説明されます。 作成者は、この仕様を理解するために記法によく知られる必要があるでしょう。 増大しているBNFは以下の構造物を含んでいます:
name = definition
名前=定義
The name of a rule is simply the name itself (without any enclosing "<" and ">") and is separated from its definition by the equal "=" character. White space is only significant in that indentation of continuation lines is used to indicate a rule definition that spans more than one line. Certain basic rules are in uppercase, such as SP, LWS, HT, CRLF, DIGIT, ALPHA, etc. Angle brackets are used within definitions whenever their presence will facilitate discerning the use of rule names.
規則の名前は、単に名前(いずれも"<"と">"を同封することのない)自体であり、等しい「=」キャラクタによって定義と切り離されます。 継続行の刻み目が1つ以上の系列にかかる規則定義を示すのに使用されるので、余白は重要であるだけです。 SPなどの大文字、LWS、HT、CRLF、DIGIT、アルファーなどには、ある基本的なルールがあります。 それらの存在が、規則名の使用について明察するのを容易にするときはいつも、角ブラケットは定義の中で使用されます。
"literal"
「リテラル」
Quotation marks surround literal text. Unless stated otherwise, the text is case-insensitive.
引用符は文字通りのテキストを囲んでいます。 別の方法で述べられない場合、テキストは大文字と小文字を区別しないです。
rule1 | rule2
rule1| rule2
Elements separated by a bar ("|") are alternatives, e.g., "yes | no" will accept yes or no.
Elementsがバーのそばで分離した、(「|」、)、代替手段、例えば、「はい」です。| 「いいえ」は諾否を受け入れるでしょう。
(rule1 rule2)
(rule1 rule2)
Elements enclosed in parentheses are treated as a single element. Thus, "(elem (foo | bar) elem)" allows the token sequences "elem foo elem" and "elem bar elem".
括弧に同封された要素はただ一つの要素として扱われます。 したがって、「(elem(foo| バー)elem)」はトークン系列"elem foo elem"と「elemバーelem」を許容します。
Handley, et al. Standards Track [Page 141] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[141ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
*rule
*規則
The character "*" preceding an element indicates repetition. The full form is "<n>*<m>element" indicating at least <n> and at most <m> occurrences of element. Default values are 0 and infinity so that "*(element)" allows any number, including zero; "1*element" requires at least one; and "1*2element" allows one or two.
要素に先行するキャラクタ「*」は反復を示します。 完全形は要素の少なくとも<n>と高々<m>を示す「<n>*<m>要素」発生です。 「デフォルト値が0であり、無限がそう、それ、」 *、(要素) 」 ゼロを含むどんな数も許容します。 「1*要素」は少なくとも1を必要とします。 そして、「1*2element」は1か2を許容します。
[rule]
[規則]
Square brackets enclose optional elements; "[foo bar]" is equivalent to "*1(foo bar)".
角括弧は随意的な要素を同封します。 「「[fooバー]」は」 *1(fooバー)に同等です。」
N rule
N規則
Specific repetition: "<n>(element)" is equivalent to "<n>*<n>(element)"; that is, exactly <n> occurrences of (element). Thus 2DIGIT is a 2-digit number, and 3ALPHA is a string of three alphabetic characters.
特定の反復: 「<n>(要素)」は「<n>*<n>(要素)」に同等です。 すなわち、まさに(要素)の<n>発生。 したがって、2DIGITは2桁数です、そして、3ALPHAは一連の3つの英字です。
#rule
#規則
A construct "#" is defined, similar to "*", for defining lists of elements. The full form is "<n>#<m> element" indicating at least <n> and at most <m> elements, each separated by one or more commas (",") and OPTIONAL linear white space (LWS). This makes the usual form of lists very easy; a rule such as
構造物「#」は、要素のリストを定義するための「*」と定義されていて、同様です。 完全形は少なくとも<n>と高々<m>を示す「<n>#<m>要素」要素です、1つ以上のコンマによって切り離されたそれぞれ、(「」、)、そして、任意の直線的な余白(LWS)。 これで、普通の形式のリストは非常に簡単になります。 aは統治します。
( *LWS element *( *LWS "," *LWS element ))
「(*LWS要素*、(*LWS、」、」、*LWS要素)
can be shown as 1# element. Wherever this construct is used, null elements are allowed, but do not contribute to the count of elements present. That is, "(element), , (element)" is permitted, but counts as only two elements. Therefore, where at least one element is required, at least one non-null element MUST be present. Default values are 0 and infinity so that "#element" allows any number, including zero; "1#element" requires at least one; and "1#2element" allows one or two.
1#要素として示すことができます。 この構造物が中古であって、どこでも、ヌルであるところでは、要素が許容されていますが、要素の現在のカウントに貢献しないでください。 すなわち、「(要素)、(要素) 」 受入れられますが、2つの要素だけにみなします。 したがって、少なくとも1つの要素が必要であるところでは、少なくとも1つの非ヌル要素が存在していなければなりません。 「デフォルト値が0であり、無限がそう、それ、」 #要素、」 ゼロを含むどんな数も許容します。 「1#要素」は少なくとも1を必要とします。 そして、「1#2element」は1か2を許容します。
Handley, et al. Standards Track [Page 142] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[142ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
; comment
; コメント
A semi-colon, set off some distance to the right of rule text, starts a comment that continues to the end of line. This is a simple way of including useful notes in parallel with the specifications.
規則テキストの右への何らかの距離に引きたったセミコロンは行末に続くコメントを始めます。 これは仕様と平行して役に立つ注意を含む簡単な方法です。
implied *LWS
暗示している*LWS
The grammar described by this specification is word-based. Except where noted otherwise, linear white space (LWS) can be included between any two adjacent words (token or quoted-string), and between adjacent tokens and separators, without changing the interpretation of a field. At least one delimiter (LWS and/or separators) MUST exist between any two tokens (for the definition of "token" below), since they would otherwise be interpreted as a single token.
この仕様で説明された文法は単語ベースです。 別の方法で注意されるのを除いて、どんな2つの続いている語(トークンか引用文字列)の間とも、そして、隣接しているトークンと分離符の間に直線的な余白(LWS)を含むことができます、分野の解釈を変えないで。 少なくとも1つのデリミタ(LWS、そして/または、分離符)がどんな2つのトークン(以下の「トークン」の定義のための)の間にも存在しなければなりません、そうでなければ、それらはただ一つのトークンとして解釈されるでしょう、したがって。
C.1 Basic Rules
C.1基本的なルール
The following rules are used throughout this specification to describe basic parsing constructs. The US-ASCII coded character set is defined by ANSI X3.4-1986.
以下の規則は、基本的な構文解析構造物について説明するのにこの仕様中で使用されます。 米国-ASCIIコード化文字集合はANSI X3.4-1986によって定義されます。
OCTET = <any 8-bit sequence of data> CHAR = <any US-ASCII character (octets 0 - 127)> upalpha = "A" | "B" | "C" | "D" | "E" | "F" | "G" | "H" | "I" | "J" | "K" | "L" | "M" | "N" | "O" | "P" | "Q" | "R" | "S" | "T" | "U" | "V" | "W" | "X" | "Y" | "Z" lowalpha = "a" | "b" | "c" | "d" | "e" | "f" | "g" | "h" | "i" | "j" | "k" | "l" | "m" | "n" | "o" | "p" | "q" | "r" | "s" | "t" | "u" | "v" | "w" | "x" | "y" | "z" alpha = lowalpha | upalpha digit = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" alphanum = alpha | digit CTL = <any US-ASCII control character (octets 0 -- 31) and DEL (127)> CR = %d13 ; US-ASCII CR, carriage return character LF = %d10 ; US-ASCII LF, line feed character SP = %d32 ; US-ASCII SP, space character HT = %d09 ; US-ASCII HT, horizontal tab character CRLF = CR LF ; typically the end of a line
OCTETはどんな8ビットも配列するどんな米国-ASCII文字(八重奏0--127)>upalphaも=「A」というデータ>CHAR=<の<と等しいです。| 「B」| 「C」| 「D」| 「E」| 「F」| 「G」| 「H」| 「私」| 「J」| 「K」| 「L」| 「M」| 「N」| 「○」| 「P」| 「Q」| 「R」| 「S」| 「T」| 「U」| 「V」| 「W」| 「X」| 「Y」| 「Z」lowalphaは“a"と等しいです。| 「b」| 「c」| 「d」| 「e」| 「f」| 「g」| 「h」| 「i」| 「j」| 「k」| 「l」| 「m」| 「n」| 「o」| 「p」| 「q」| 「r」| 「s」| 「t」| 「u」| 「v」| 「w」| 「x」| 「y」| 「z」アルファ=lowalpha| upalphaケタ=「0インチ」| "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | 「9インチのalphanumはアルファと等しいです」| ケタCTLは<と等しいです。どんな米国-ASCII制御文字(八重奏0 -- 31)とDEL(127)>CRも%d13等しいです。 米国-ASCII CR、復帰文字LF=%d10。 米国-ASCII LF、改行文字SP=%d32。 米国-ASCII SP、間隔文字HT=%d09。 米国のASCII HTの、そして、水平なタブキャラクタCRLFはCR LFと等しいです。 通常線の端
The following are defined in RFC 2396 [12] for the SIP URI:
以下はSIP URIのためのRFC2396[12]で定義されます:
Handley, et al. Standards Track [Page 143] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[143ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
unreserved = alphanum | mark mark = "-" | "_" | "." | "!" | "~" | "*" | "'" | "(" | ")" escaped = "%" hex hex
予約していない=alphanum| マークマーク=「-」| "_" | "." | "!" | "~" | "*" | "'" | 「(「|」、)、」 逃げられた=「%」は十六進法に魔法をかけます。
SIP header field values can be folded onto multiple lines if the continuation line begins with a space or horizontal tab. All linear white space, including folding, has the same semantics as SP. A recipient MAY replace any linear white space with a single SP before interpreting the field value or forwarding the message downstream.
継続行がスペースか水平タブで始まるなら、SIPヘッダーフィールド値を複数の系列に折り重ねることができます。 折り重なるのを含むすべての直線的な余白がSPと同じ意味論を持っています。 分野値を解釈するか、またはメッセージを川下に転送する前に、受取人はどんな直線的な余白も独身のSPに取り替えるかもしれません。
LWS = [CRLF] 1*( SP | HT ) ; linear whitespace
LWSは[CRLF]1*(SP| HT)と等しいです。 直線的な空白
The TEXT-UTF8 rule is only used for descriptive field contents and values that are not intended to be interpreted by the message parser. Words of *TEXT-UTF8 contain characters from the UTF-8 character set (RFC 2279 [21]). In this regard, SIP differs from HTTP, which uses the ISO 8859-1 character set.
TEXT-UTF8規則は描写的である分野コンテンツとメッセージパーサによって解釈されることを意図しない値に使用されるだけです。 *TEXT-UTF8のワーズはUTF-8文字集合からのキャラクタを含んでいます。(RFC2279[21])。 この点で、SIPはHTTPと異なっています。(それは、ISO8859-1文字集合を使用します)。
TEXT-UTF8 = <any UTF-8 character encoding, except CTLs, but including LWS>
TEXT-UTF8=<はCTLsの、しかし、含んでいるLWS>以外のあらゆるUTF-8文字符号化です。
A CRLF is allowed in the definition of TEXT-UTF8 only as part of a header field continuation. It is expected that the folding LWS will be replaced with a single SP before interpretation of the TEXT-UTF8 value.
CRLFは単にヘッダーフィールド継続の一部としてTEXT-UTF8の定義で許容されています。 折りたたみのLWSがTEXT-UTF8価値の解釈の前の独身のSPに取り替えられると予想されます。
Hexadecimal numeric characters are used in several protocol elements.
16進数字は数個のプロトコル要素で使用されます。
hex = "A" | "B" | "C" | "D" | "E" | "F" | "a" | "b" | "c" | "d" | "e" | "f" | digit
十六進法=「A」| 「B」| 「C」| 「D」| 「E」| 「F」| "a"| 「b」| 「c」| 「d」| 「e」| 「f」| ケタ
Many SIP header field values consist of words separated by LWS or special characters. These special characters MUST be in a quoted string to be used within a parameter value.
多くのSIPヘッダーフィールド値がLWSか特殊文字によって切り離された単語から成ります。 パラメタ値の中で使用されるために、これらの特殊文字が引用文字列にあるに違いありません。
Handley, et al. Standards Track [Page 144] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[144ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
token = 1*< any CHAR except CTL's or separators> separators = "(" | ")" | "<" | ">" | "@" | "," | ";" | ":" | "\" | <"> | "/" | "[" | "]" | "?" | "=" | "{" | "}" | SP | HT
トークン=1*<、CTLのもの以外のどんなCHARか分離符>分離符も等しい、「(「|」、)、」| "<"| ">"| "@" | "," | ";" | ":" | "\" | <">"| "/" | "[" | "]" | "?" | "=" | "{" | "}" | SP| HT
Comments can be included in some SIP header fields by surrounding the comment text with parentheses. Comments are only allowed in fields containing "comment" as part of their field value definition. In all other fields, parentheses are considered part of the field value.
いくつかのSIPヘッダーフィールドにコメントテキストを括弧に取り巻くことによって、コメントを含むことができます。 コメントは彼らの分野値の定義の一部として「コメント」を含む分野に許容されているだけです。 他のすべての分野では、括弧が分野価値の一部であると考えられます。
comment = "(" *(ctext | quoted-pair | comment) ")" ctext = < any TEXT-UTF8 excluding "(" and ")">
そして、「(「*(ctext| 引用された組| コメント)」)」というコメント=ctextが<と等しい、どんなテキスト-UTF8除外、も「(「」、)、">"
A string of text is parsed as a single word if it is quoted using double-quote marks.
それが二重引用符を使用することで引用されるなら、テキストの五弦は一語として分析されます。
quoted-string = ( <"> *(qdtext | quoted-pair ) <"> ) qdtext = <any TEXT-UTF8 except <">>
引用文字列=、(<、「>*(qdtext| 引用された組)<、「>) qdtextが<と等しい、<「>>」を除いたどんなTEXT-UTF8
The backslash character ("\") MAY be used as a single-character quoting mechanism only within quoted-string and comment constructs.
バックスラッシュキャラクタ(「\」)は引用文字列とコメント構造物だけの中にメカニズムを引用する単独のキャラクタとして使用されるかもしれません。
quoted-pair = " \ " CHAR
引用された組=「\」炭
Handley, et al. Standards Track [Page 145] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[145ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
D Using SRV DNS Records
SRV DNS記録を使用するD
The following procedure is experimental and relies on DNS SRV records (RFC 2052 [14]). The steps listed below are used in place of the two steps in section 1.4.2.
以下の手順は、実験的であり、DNS SRV記録を当てにします。(RFC2052[14])。 以下に記載されたステップはセクション1.4.2のうちの2ステップに代わって使用されます。
If a step elicits no addresses, the client continues to the next step. However if a step elicits one or more addresses, but no SIP server at any of those addresses responds, then the client concludes the server is down and doesn't continue on to the next step.
ステップがアドレスを全く引き出さないなら、クライアントは次のステップに続きます。 しかしながら、ステップが1つ以上のアドレスを引き出しますが、それらのアドレスのどれかのSIPサーバが全く反応しないなら、クライアントは、サーバが下がっていると結論づけて、次のステップに続きません。
When SRV records are to be used, the protocol to use when querying for the SRV record is "sip". SRV records contain port numbers for servers, in addition to IP addresses; the client always uses this port number when contacting the SIP server. Otherwise, the port number in the SIP URI is used, if present. If there is no port number in the URI, the default port, 5060, is used.
SRV記録が使用されていることであるときに、SRV記録のために質問するとき使用するプロトコルは「一口」です。 SRV記録はIPアドレスに加えたサーバのためのポートナンバーを含んでいます。 SIPサーバに連絡するとき、クライアントはいつもこのポートナンバーを使用します。さもなければ、SIP URIのポートナンバーは、中古であって、存在しています。 URIにポートナンバーが全くなければ、デフォルトポート(5060)は使用されています。
1. If the host portion of the Request-URI is an IP address, the client contacts the server at the given address. If the host portion of the Request-URI is not an IP address, the client proceeds to the next step.
1. Request-URIのホスト部分がIPアドレスであるなら、クライアントは与えられたアドレスでサーバに連絡します。 Request-URIのホスト部分がIPアドレスでないなら、クライアントは次のステップに進みます。
2. The Request-URI is examined. If it contains an explicit port number, the next two steps are skipped.
2. Request-URIは調べられます。 明白なポートナンバーを含んでいるなら、次の2ステップはサボられます。
3. The Request-URI is examined. If it does not specify a protocol (TCP or UDP), the client queries the name server for SRV records for both UDP (if supported by the client) and TCP (if supported by the client) SIP servers. The format of these queries is defined in RFC 2052 [14]. The results of the query or queries are merged together and ordered based on priority. Then, the searching technique outlined in RFC 2052 [14] is used to select servers in order. If DNS doesn't return any records, the user goes to the last step. Otherwise, the user attempts to contact each server in the order listed. If no server is contacted, the user gives up.
3. Request-URIは調べられます。 プロトコル(TCPかUDP)を指定しないなら、クライアントはUDP(クライアントによってサポートされるなら)とTCP(クライアントによってサポートされるなら)SIPサーバの両方のためのSRV記録のためにネームサーバについて質問します。 これらの質問の書式はRFC2052[14]で定義されます。 質問か質問の結果は、結合して、優先権に基づいて命令されます。 そして、RFC2052[14]に概説された探すことのテクニックは、サーバがそうするのを選択するのに使用されます。 DNSがどんな記録も返さないなら、ユーザは最後のステップに行きます。 さもなければ、オーダーにおける各サーバに連絡するユーザ試みは記載しました。 サーバが全く連絡されないなら、ユーザはあきらめます。
4. If the Request-URI specifies a protocol (TCP or UDP) that is supported by the client, the client queries the name server for SRV records for SIP servers of that protocol type only. If the client does not support the protocol specified in the Request-URI, it gives up. The searching technique outlined in RFC 2052 [14] is used to select servers from the DNS response in order. If DNS doesn't
4. Request-URIがクライアントによってサポートされるプロトコル(TCPかUDP)を指定するなら、クライアントはそのプロトコルタイプのSIPサーバだけのためのSRV記録のためにネームサーバについて質問します。 クライアントがRequest-URIで指定されたプロトコルをサポートしないなら、それはあきらめます。 RFC2052[14]に概説された探すことのテクニックは、DNS応答からのサーバがそうするのを選択するのに使用されます。 DNSがそうしないなら
Handley, et al. Standards Track [Page 146] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[146ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
return any records, the user goes to the last step. Otherwise, the user attempts to contact each server in the order listed. If no server is contacted, the user gives up.
あらゆる記録を返してください、そして、ユーザは最後のステップに行きます。 さもなければ、オーダーにおける各サーバに連絡するユーザ試みは記載しました。 サーバが全く連絡されないなら、ユーザはあきらめます。
5. The client queries the name server for address records for the host portion of the Request-URI. If there were no address records, the client stops, as it has been unable to locate a server. By address record, we mean A RR's, AAAA RR's, or their most modern equivalent.
5. クライアントはRequest-URIのホスト部分のためのアドレス記録のためにネームサーバについて質問します。 アドレス記録が全くなかったなら、クライアントは止まります、サーバの場所を見つけることができないとき。アドレス記録で、私たちはA RRのもの、AAAA RR、またはそれらの最も現代の同等物を言っています。
A client MAY cache a successful DNS query result. A successful query is one which contained records in the answer, and a server was contacted at one of the addresses from the answer. When the client wishes to send a request to the same host, it starts the search as if it had just received this answer from the name server. The server uses the procedures specified in RFC1035 [15] regarding cache invalidation when the time-to-live of the DNS result expires. If the client does not find a SIP server among the addresses listed in the cached answer, it starts the search at the beginning of the sequence described above.
クライアントはうまくいっているDNS質問結果をキャッシュするかもしれません。 うまくいっている質問は答えにおける記録を含んだものです、そして、サーバはアドレスの1つで答えから連絡されました。 クライアントが同じホストに要求を送りたがっているとき、それはまるでネームサーバからこの答えをちょうど受けたかのように検索を始めます。生きる時間であるとき手順がRFC1035[15]でキャッシュ無効にするのに関して指定したDNS結果のサーバ用途は期限が切れます。 クライアントがキャッシュされた答えで記載されたアドレスの中でSIPサーバを見つけないなら、それは上で説明された系列の始めに検索を始めます。
For example, consider a client that wishes to send a SIP request. The Request-URI for the destination is sip:user@company.com. The client only supports UDP. It would follow these steps:
例えば、SIP要求を送りたがっているクライアントを考えてください。 目的地へのRequest-URIは一口です: user@company.com 。 クライアントはUDPをサポートするだけです。 それはこれらの方法に従うでしょう:
1. The host portion is not an IP address, so the client goes to step 2 above.
1. ホスト部分がIPアドレスでないので、クライアントは上にステップ2に行きます。
2. The client does a DNS query of QNAME="sip.udp.company.com", QCLASS=IN, QTYPE=SRV. Since it doesn't support TCP, it omits the TCP query. There were no addresses in the DNS response, so the client goes to the next step.
2. クライアントはQNAMEのDNS質問="sip.udp.company.com"をして、QCLASSはIN、QTYPE=SRVと等しいです。 TCPをサポートしないので、それはTCP質問を省略します。 クライアントが次のステップに行って、DNS応答にはアドレスが全くありませんでした。
3. The client does a DNS query for A records for "company.com". An address is found, so that client attempts to contact a server at that address at port 5060.
3. クライアントは"company.com"のためのA記録のためのDNS質問をします。 アドレスが見つけられるので、そのクライアントは、ポート5060のそのアドレスでサーバに連絡するのを試みます。
Handley, et al. Standards Track [Page 147] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[147ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
E IANA Considerations
E IANA問題
Section 4.4 describes a name space and mechanism for registering SIP options.
セクション4.4は、SIPオプションを登録するために名前スペースとメカニズムについて説明します。
Section 6.41 describes the name space for registering SIP warn-codes.
セクション6.41がSIPを登録するためにスペースという名前について説明する、警告します。
Handley, et al. Standards Track [Page 148] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[148ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
F Acknowledgments
F承認
We wish to thank the members of the IETF MMUSIC WG for their comments and suggestions. Detailed comments were provided by Anders Kristensen, Jim Buller, Dave Devanathan, Yaron Goland, Christian Huitema, Gadi Karmi, Jonathan Lennox, Keith Moore, Vern Paxson, Moshe J. Sambol, and Eric Tremblay.
彼らのコメントと提案についてIETF MMUSIC WGのメンバーに感謝申し上げます。 詳細なコメントはアンダースKristensen、ジムブラー川、デーヴDevanathan、ヤロンGoland、クリスチャンのHuitema、Gadi Karmi、ジョナサンレノックス、キース・ムーア、バーン・パクソン、モシェJ.Sambol、およびエリック・トランブレーによって提供されました。
This work is based, inter alia, on [37,38].
この仕事は[37、38]にとりわけ基づいています。
G Authors' Addresses
G作者のアドレス
Mark Handley AT&T Center for Internet Research at ISCI (ACIRI) 1947 Center St., Suite 600 Berkeley, CA 94704-119 USA Email: mjh@aciri.org
インターネット調査のためにISCI(ACIRI)1947センター通り、スイート600カリフォルニア94704-119バークレー(米国)メールでハンドレーAT&Tがセンターであるとマークしてください: mjh@aciri.org
Henning Schulzrinne Dept. of Computer Science Columbia University 1214 Amsterdam Avenue New York, NY 10027 USA Email: schulzrinne@cs.columbia.edu
コンピュータサイエンスコロンビア大学1214アムステルダムAvenueニューヨーク(ニューヨーク)10027米国メールのヘニングSchulzrinne部: schulzrinne@cs.columbia.edu
Eve Schooler Computer Science Department 256-80 California Institute of Technology Pasadena, CA 91125 USA Email: schooler@cs.caltech.edu
イブ・学生コンピュータ理学部256-80カリフォルニア工科大学カリフォルニア91125パサディナ(米国)はメールされます: schooler@cs.caltech.edu
Jonathan Rosenberg Lucent Technologies, Bell Laboratories Rm. 4C-526 101 Crawfords Corner Road Holmdel, NJ 07733 USA Email: jdrosen@bell-labs.com
ジョナサンローゼンバーグルーセントテクノロジーズ、ベル研究所Rm。 4C526 101Crawfordsコーナー道路Holmdel、ニュージャージー07733米国はメールされます: jdrosen@bell-labs.com
Handley, et al. Standards Track [Page 149] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[149ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
H Bibliography
H図書目録
[1] Pandya, R., "Emerging mobile and personal communication systems," IEEE Communications Magazine , vol. 33, pp. 44--52, June 1995.
[1] R. Pandya、IEEE Communications Magazine、vol.33、「モバイルとパーソナル・コミュニケーション・システムとして、現れる」ページ 44--52と、1995年6月。
[2] Braden, B., Zhang, L., Berson, S., Herzog, S. and S. Jamin, "Resource ReSerVation protocol (RSVP) -- version 1 functional specification", RFC 2205, October 1997.
[2] ブレーデン、B.、チャン、L.、Berson、S.、ハーツォグ、S.、およびS.ジャマン、「リソースReSerVationは(RSVP)について議定書の中で述べます--バージョン1の機能的な仕様」、RFC2205、1997年10月。
[3] Schulzrinne, H., Casner, S., Frederick, R. and V. Jacobson, "RTP: a transport protocol for real-time applications", RFC 1889, Internet Engineering Task Force, Jan. 1996.
[3]Schulzrinne、H.、Casner、S.、フレディリック、R.、およびV.ジェーコブソン、「RTP:」 「リアルタイムのアプリケーションのためのトランスポート・プロトコル」、RFC1889、インターネット・エンジニアリング・タスク・フォース、1996年1月。
[4] Schulzrinne, H., Lanphier, R. and A. Rao, "Real time streaming protocol (RTSP)", RFC 2326, April 1998.
[4]SchulzrinneとH.とLanphierとR.とA.ラオ、「リアルタイムのストリーミングのプロトコル(RTSP)」、RFC2326 1998年4月。
[5] Handley, M., "SAP: Session announcement protocol," Internet Draft, Internet Engineering Task Force, Nov. 1996. Work in progress.
[5] ハンドレー、M.は「以下を徐々に破壊します」。 「セッション発表プロトコル」、インターネットDraft、インターネット・エンジニアリング・タスク・フォース、1996年11月。 進行中で、働いてください。
[6] Handley, M. and V. Jacobson, "SDP: session description protocol", RFC 2327, April 1998.
[6] ハンドレー、M.、およびV.ジェーコブソン、「SDP:」 「セッション記述プロトコル」、RFC2327、1998年4月。
[7] International Telecommunication Union, "Visual telephone systems and equipment for local area networks which provide a non- guaranteed quality of service," Recommendation H.323, Telecommunication Standardization Sector of ITU, Geneva, Switzerland, May 1996.
[7] 国際電気通信連合、「展示は非保証されたサービスの質を提供するローカル・エリア・ネットワークのためにシステムと設備に電話をします」、Recommendation H.323、ITUのTelecommunication Standardization Sector、ジュネーブ(スイス)1996年5月。
[8] International Telecommunication Union, "Control protocol for multimedia communication," Recommendation H.245, Telecommunication Standardization Sector of ITU, Geneva, Switzerland, Feb. 1998.
[8]国際電気通信連合、「マルチメディア通信のための制御プロトコル」、Recommendation H.245、ITUのTelecommunication Standardization Sector、ジュネーブスイス1998年2月。
[9] International Telecommunication Union, "Media stream packetization and synchronization on non-guaranteed quality of service LANs," Recommendation H.225.0, Telecommunication Standardization Sector of ITU, Geneva, Switzerland, Nov. 1996.
[9] 国際電気通信連合、「メディアはサービスLANの非保証品質にpacketizationと同期を流します」、Recommendation H.225.0、ITUのTelecommunication Standardization Sector、ジュネーブ(スイス)1996年11月。
[10] Bradner, S., "Key words for use in RFCs to indicate requirement levels", BCP 14, RFC 2119, Mardch 1997.
[10] ブラドナー、S.、「使用のための要件レベルを示すRFCsのキーワード」、BCP14、RFC2119、Mardch1997。
[11] Fielding, R., Gettys, J., Mogul, J., Nielsen, H. and T. Berners-Lee, "Hypertext transfer protocol -- HTTP/1.1", RFC 2068, January 1997.
[11] フィールディング、R.、Gettys、J.、ムガール人、J.、ニールセン、H.、およびT.バーナーズ・リー、「ハイパーテキスト転送は議定書を作ります--HTTP/1.1インチ、RFC2068、1997年1月。」
[12] Berners-Lee, T., Fielding, R. and L. Masinter, "Uniform resource identifiers (URI): generic syntax", RFC 2396, August 1998.
[12] バーナーズ・リー、T.、Fielding、R.、およびL.Masinter、「リソース識別子(URI)を一様にしてください」 「ジェネリック構文」、RFC2396、1998年8月。
Handley, et al. Standards Track [Page 150] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[150ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
[13] Berners-Lee, T., Masinter, L. and M. McCahill, "Uniform resource locators (URL)", RFC 1738, December 1994.
[13] バーナーズ・リーとT.とMasinterとL.とM.McCahill、「一定のリソースロケータ(URL)」、RFC1738、1994年12月。
[14] Gulbrandsen, A. and P. Vixie, "A DNS RR for specifying the location of services (DNS SRV)", RFC 2052, October 1996.
[14]GulbrandsenとA.とP.Vixie、「サービス(DNS SRV)の位置を指定するためのDNS RR」、RFC2052、1996年10月。
[15] Mockapetris, P., "Domain names - implementation and specification", STD 13, RFC 1035, Noveberm 1997.
[15]Mockapetris、P.、「ドメイン名--、実装と仕様、」、STD13、RFC1035、Noveberm1997
[16] Hamilton, M. and R. Wright, "Use of DNS aliases for network services", RFC 2219, October 1997.
[16] ハミルトンとM.とR.ライト、「DNS別名のネットワーク・サービスの使用」、RFC2219、1997年10月。
[17] Zimmerman, D., "The finger user information protocol", RFC 1288, December 1991.
1991年12月の[17] ジンマーマン、D.、「指のユーザー情報プロトコル」RFC1288。
[18] Williamson, S., Kosters, M., Blacka, D., Singh, J. and K. Zeilstra, "Referral whois (rwhois) protocol V1.5", RFC 2167, June 1997.
[18] ウィリアムソン、S.、Kosters、M.、Blacka、D.、シン、J.、およびK.Zeilstra、「紹介whois(rwhois)はV1.5"について議定書の中で述べます、RFC2167、1997年6月」。
[19] Yeong, W., Howes, T. and S. Kille, "Lightweight directory access protocol", RFC 1777, March 1995.
[19]YeongとW.とハウズとT.とS.Kille、「軽量のディレクトリアクセス・プロトコル」、RFC1777、1995年3月。
[20] Schooler, E., "A multicast user directory service for synchronous rendezvous," Master's Thesis CS-TR-96-18, Department of Computer Science, California Institute of Technology, Pasadena, California, Aug. 1996.
[20]学生、E.、「同期ランデブーのためのマルチキャストユーザディレクトリサービス」、MasterのThesis CS-TR-96-18、コンピュータScience、カリフォルニア工科大学、パサディナ(カリフォルニア)(1996年8月)の部。
[21] Yergeau, F., "UTF-8, a transformation format of ISO 10646", RFC 2279, January 1998.
[21]Yergeau、1998年1月のF.、「UTF-8、ISO10646の変換形式」RFC2279。
[22] Stevens, W., TCP/IP illustrated: the protocols , vol. 1. Reading, Massachusetts: Addison-Wesley, 1994.
[22] スティーブンス、W.、例証されたTCP/IP: プロトコル、vol.1。 読書、マサチューセッツ: アディソン-ウエスリー、1994。
[23] Mogul, J. and S. Deering, "Path MTU discovery", RFC 1191, November 1990.
[23] ムガール人とJ.とS.デアリング、「経路MTU探索」、RFC1191、1990年11月。
[24] Crocker, D., "Standard for the format of ARPA internet text messages", RFC STD 11, RFC 822, August 1982.
[24] クロッカー、D.、「ARPAインターネットテキスト・メッセージの形式の規格」、RFC STD11、RFC822、1982年8月。
[25] Meyer, D., "Administratively scoped IP multicast", RFC 2365, July 1998.
[25] マイヤー、D.、「行政上見られたIPマルチキャスト」、RFC2365、1998年7月。
[26] Schulzrinne, H., "RTP profile for audio and video conferences with minimal control", RFC 1890, January 1996
[26]Schulzrinne、H.、「最小量のコントロールがあるオーディオとテレビ会議システムのためのRTPプロフィール」、RFC1890、1996年1月
[27] Eastlake, D., Crocker, S. and J. Schiller, "Randomness recommendations for security", RFC 1750, December 1994.
[27] イーストレークとD.とクロッカーとS.とJ.シラー、「セキュリティのための偶発性推薦」、RFC1750、1994年12月。
Handley, et al. Standards Track [Page 151] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[151ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
[28] Hoffman, P., Masinter, L. and J. Zawinski, "The mailto URL scheme", RFC 2368, July 1998.
[28] ホフマンとP.とMasinterとL.とJ.Zawinski、「mailto URL体系」、RFC2368、1998年7月。
[29] Braden, B., "Requirements for internet hosts - application and support", STD 3, RFC 1123, October 1989.
[29] ブレーデン、B.、「インターネットホストのための要件--、アプリケーションとサポート、」、STD3、RFC1123、10月1989日
[30] Palme, J., "Common internet message headers", RFC 2076, February 1997.
[30] パルメ、J.、「一般的なインターネットメッセージヘッダー」、RFC2076、1997年2月。
[31] Alvestrand, H., "IETF policy on character sets and languages", RFC 2277, January 1998.
[31]Alvestrand、H.、「文字集合と言語に関するIETF方針」、RFC2277、1998年1月。
[32] Elkins, M., "MIME security with pretty good privacy (PGP)", RFC 2015, October 1996.
[32] エルキンズ、M.、「かなり良いプライバシー(PGP)があるMIMEセキュリティ」、RFC2015、1996年10月。
[33] Atkins, D., Stallings, W. and P. Zimmermann, "PGP message exchange formats", RFC 1991, August 1996.
[33] アトキンスとD.とストーリングズとW.とP.Zimmermann、「PGP交換処理形式」、RFC1991、1996年8月。
[34] Atkinson, R., "Security architecture for the internet protocol", RFC 2401, November 1998.
[34] アトキンソン、R.、「インターネットプロトコルのためのセキュリティー体系」、RFC2401、1998年11月。
[35] Allen, C. and T. Dierks, "The TLS protocol version 1.0," RFC 2246, January 1999.
[35] アレンとC.とT.Dierks、「TLSプロトコルバージョン1.0」、RFC2246、1999年1月。
[36] Franks, J., Hallam-Baker, P., Hostetler, J., Lawrence, S., Leach, P., Luotonen, A. and L. Stewart, "HTTP authentication: Basic and digest access authentication," Internet Draft, Internet Engineering Task Force, Sept. 1998. Work in progress.
[36] フランクス、J.、ハラム-ベイカー、P.、Hostetler、J.、ローレンス、S.、リーチ、P.、Luotonen、A.、およびL.スチュワート、「HTTP認証:」 「基本的、そして、ダイジェストアクセス認証」、インターネットDraft、インターネット・エンジニアリング・タスク・フォース、1998年9月。 進行中で、働いてください。
[37] Schooler, E., "Case study: multimedia conference control in a packet-switched teleconferencing system," Journal of Internetworking: Research and Experience , vol. 4, pp. 99--120, June 1993. ISI reprint series ISI/RS-93-359.
[37] 学生、E.、「ケーススタディ:」 「パケットで切り換えられた電子会議システムにおけるマルチメディア会議コントロール」、InternetworkingのJournal: 研究とExperience、vol.4、ページ 99--120と、1993年6月。 ISIはシリーズISI/RS-93-359を増刷します。
[38] Schulzrinne, H., "Personal mobility for multimedia services in the Internet," in European Workshop on Interactive Distributed Multimedia Systems and Services (IDMS) , (Berlin, Germany), Mar. 1996.
[38]Schulzrinne、H.、Interactive Distributed Multimedia SystemsとServices(IDMS)、(ベルリン(ドイツ))(1996年3月)の上のヨーロッパのWorkshopの「インターネットでのマルチメディアサービスのための個人的な移動性。」
Handley, et al. Standards Track [Page 152] RFC 2543 SIP: Session Initiation Protocol March 1999
ハンドレー、他 標準化過程[152ページ]RFC2543はちびちび飲みます: セッション開始プロトコル行進1999
Full Copyright Statement
完全な著作権宣言文
Copyright (C) The Internet Society (1999). All Rights Reserved.
Copyright(C)インターネット協会(1999)。 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.
それに関するこのドキュメントと翻訳は、コピーして、それが批評するか、またはそうでなければわかる他のもの、および派生している作品に提供するか、または準備されているかもしれなくて、コピーされて、発行されて、全体か一部分配された実装を助けるかもしれません、どんな種類の制限なしでも、上の版権情報とこのパラグラフがそのようなすべてのコピーと派生している作品の上に含まれていれば。 しかしながら、このドキュメント自体は何らかの方法で変更されないかもしれません、インターネット協会か他のインターネット組織の版権情報か参照を取り除くのなどように、それを英語以外の言語に翻訳するのが著作権のための手順がインターネットStandardsプロセスで定義したどのケースに従わなければならないか、必要に応じてさもなければ、インターネット標準を開発する目的に必要であるのを除いて。
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.
このドキュメントとそして、「そのままで」という基礎とインターネットの振興発展を目的とする組織に、インターネット・エンジニアリング・タスク・フォースが速達の、または、暗示しているすべての保証を放棄するかどうかというここにことであり、他を含んでいて、含まれて、情報の使用がここに侵害しないどんな保証も少しもまっすぐになるという情報か市場性か特定目的への適合性のどんな黙示的な保証。
Handley, et al. Standards Track [Page 153]
ハンドレー、他 標準化過程[153ページ]
一覧
スポンサーリンク