...

SIP の RFC 準拠の実現

by user

on
Category: Documents
26

views

Report

Comments

Transcript

SIP の RFC 準拠の実現
SIP の RFC 準拠の実現
この章では、公開されている Session Initiation Protocol(SIP)基準に準拠するための、Cisco IOS SIP
ゲートウェイの使用方法または設定方法を説明します。次の機能について説明します。
• RFC 4040 ベースの SIP コール用クリア チャネル コーデック ネゴシエーション
• SIP:Core SIP Technology Enhancements (RFC 2543 および RFC 2543-bis-04 )
• SIP:DNS SRV RFC 2782 Compliance(RFC 2782)
• SIP:RFC 3261 Enhancements(RFC 3261)
• RFC 3261、RFC 3262、および RFC 3264 に対する SIP ゲートウェイの準拠
• SIP スタック ポータビリティ
(注)
この機能については、次の URL の「Configuring SIP Message, Timer, and Response
Features」の章を参照してください。
http://www.cisco.com/en/US/docs/ios/voice/sip/configuration/guide/sip_cg-msg_tmr_rspns.h
tml
RFC 4040 ベースの SIP コール用クリア チャネル コーデック ネゴシエーションの機能履歴
リリース
15.0(1)XA
変更点
この機能は、Cisco IOS SIP Time Division Multiplexing(TDM; 時分割多
重)ゲートウェイおよび Cisco Unified Border Elements(Cisco UBE)で
サポートされます。この機能をイネーブルにする方法の詳細については、
『Cisco IOS Voice Command Reference』
(http://www.cisco.com/en/US/docs/ios/voice/command/reference/vr_bo
ok.html)の encap clear-channel standard および voice-class sip encap
clear-channel コマンドの説明を参照してください。
SIP:Core SIP Technology Enhancements の機能履歴
リリース
変更点
12.2(13)T
この機能は、SIP RFC 2543-bis-04(後に、RFC_3261 として発行)への準
拠を実現するために導入されました。
SIP の RFC 準拠の実現
機能情報の確認
SIP:DNS SRV RFC 2782 Compliance の機能履歴
リリース
変更点
12.2(2)XB
12.2(8)T
この機能が導入されました。
この機能がこのリリースに統合されました。
SIP:RFC 3261 Enhancements の機能履歴
リリース
変更点
12.3(4)T
この機能が導入されました。
RFC 3261、RFC 3262、および RFC 3264 に対する SIP ゲートウェイの準拠の機能履歴
リリース
変更点
12.3(8)T
この機能が導入されました。
機能情報の確認
ご使用のソフトウェア リリースによっては、この章に記載されている機能の一部がサポートされてい
ない場合があります。最新の機能情報と注意事項については、ご使用のプラットフォームとソフトウェ
ア リリースに対応したリリース ノートを参照してください。
プラットフォーム サポートと Cisco IOS および Catalyst OS ソフトウェア イメージ サポートに関する
情報を入手するには、Cisco Feature Navigator を使用します。Cisco Feature Navigator には、
http://www.cisco.com/go/cfn からアクセスしてください。Cisco.com のアカウントは必要ありません。
この章の構成
• 「SIP の RFC 準拠の前提条件」(P.2)
• 「SIP の RFC 準拠の制約事項」(P.3)
• 「SIP の RFC 準拠に関する情報」(P.3)
• 「SIP の FC 準拠の設定方法」(P.35)
• 「SIP の RFC 準拠の設定例」(P.46)
• 「その他の参考資料」(P.50)
SIP の RFC 準拠の前提条件
• 基本的な VoIP ネットワークを設定します。
• Reliable Provisional Response 機能をイネーブルにします。
(注)
信頼できる暫定応答の詳細については、次の URL の「SIP Gateway Support of RSVP and
TEL URL」の章を参照してください。
http://www.cisco.com/en/US/docs/ios/12_2t/12_2t11/feature/guide/vvfresrv.html
2
SIP の RFC 準拠の実現
SIP の RFC 準拠の制約事項
SIP の RFC 準拠の制約事項
• RFC 3261 に記載されているとおり、次の項目はサポートされていません。
– SIP UPDATE 要求の送信。ゲートウェイが送受信できるのは、UPDATE 要求だけです。
– IPv6 ホスト アドレスを持つ SIP。
– セキュアな SIP。セキュアな SIP は、セキュアな Uniform Resource Identifiers(URI; ユニ
フォーム リソース識別子)です。発信側が SIP を使用してコールを行った場合、着信側へは
セキュアなメッセージ転送が行われます。
– Unicode Transformation Format Version 8(UTF-8)で符号化された、SIP ヘッダー内で引用
された文字列のフィールド文字 0x0 to 0x7E 。
• RFC 3264 に記載されているとおり、0 と等しい bandwidth (b=) SDP アトリビュートはサポートさ
れていません。
SIP の RFC 準拠に関する情報
ここでは、次の内容について説明します。
• 「SIP の RFC 2543 準拠」(P.3)
• 「SIP の RFC 2782 準拠」(P.3)
• 「SIP の RFC 3261 準拠」(P.3)
• 「SIP の RFC 3261、RFC 3262、および RFC 3264 への準拠」(P.32)
SIP の RFC 2543 準拠
Cisco SIP ゲートウェイは RFC 2543 に準拠しています。ただし現在、RFC 3261 が RFC 2543 に取っ
て代わっています。新しい RFC でサポートされる項目およびサポートされない項目の詳細については、
「SIP の RFC 準拠の制約事項」(P.3)および「SIP の RFC 3261 準拠」(P.3)を参照してください。
SIP の RFC 2782 準拠
Cisco VoIP ゲートウェイの SIP は、Domain Name System Server(DNS SRV)クエリーを使用して、
ユーザのエンドポイントの IP アドレスを決定します。クエリー文字列は、RFC 2052 で定義されてい
るとおり、「protocol.transport」の形式のプレフィクスを持ちます。このプレフィクスは、ネクスト
ホップ SIP サーバの Fully Qualified Domain Name(FQDN; 完全修飾ドメイン名)に付きます。
Cisco VoIP ゲートウェイには、別のプレフィクス形式が追加され、現在はデフォルトになっています。
この 2 番目のプレフィクス形式は RFC 2782 で定義されたものです。この RFC 2782 により RFC 2052
は 2000 年 2 月に廃止されています。新しい形式は RFC 2782 に準拠しており、「_protocol._transport」
のようにプロトコル ラベルに下線「_」が追加されます。下線を追加することで、関連のない目的に同
じ名前のプロトコルが使用される危険性を軽減できます。
SIP の RFC 3261 準拠
廃止になった RFC 2543 に代わる RFC 3261 では、セッションを作成、変更、終了するための SIP シグナ
リング プロトコルを定義しています。シスコによる RFC 3261 の実装では、次をサポートしています。
3
SIP の RFC 準拠の実現
SIP の RFC 準拠に関する情報
• SIP UPDATE 要求の受信および処理機能
• 最初のオファーと回答の交換
• Via ヘッダーの branch および sent-by パラメータ
• 結合された要求の検出
• ルーズ ルーティング
RFC 3261 の利点は次のとおりです。
• 現在の SIP 配置における Cisco IOS ゲートウェイの相互運用性の継続
• 新しい SIP 製品およびアプリケーションを使用した Cisco IOS ゲートウェイの相互運用性の拡張
ここでは、SIP の基本機能に関する次の情報について説明します。
• 「SIP ヘッダー フィールド、ネットワーク コンポーネント、および方式」(P.4)
• 「SIP 応答」(P.7)
• 「SIP SDP の使用方法、トランスポート レイヤ プロトコル、および DNS レコード」(P.12)
• 「SIP 拡張機能」(P.12)
• 「SIP セキュリティ」(P.13)
• 「SIP DTMF リレー」(P.14)
• 「SIP ファックス リレーおよび T.38」(P.14)
• 「SIP ユニフォーム リソース ロケータ(URL)の比較」(P.16)
• 「487 Sent for BYE 要求」(P.17)
• 「3xx リダイレクション応答」(P.17)
• 「DNS SRV クエリー手順」(P.17)
• 「CANCEL Request Route ヘッダー」(P.17)
• 「ユーザ パラメータの解釈」(P.17)
• 「user=phone パラメータ」(P.17)
• 「SIP 原因コード 303 および 411」(P.18)
• 「Content-Type ヘッダーの柔軟性」(P.18)
• 「SDP のオプションの「s=」行」(P.18)
• 「INVITE および 2xx 応答への Allow ヘッダーの追加」(P.18)
• 「Cancel および 2xx クラス応答の同時実行」(P.18)
• 「UPDATE 要求の処理」(P.18)
SIP ヘッダー フィールド、ネットワーク コンポーネント、および方式
表 1 ~表 3 に、ヘッダー、コンポーネント、および方式を含む RFC 3261 SIP の機能を示します。ま
た、Cisco SIP ゲートウェイがサポートする特定の機能がある場合はその機能も示します。
表 1
4
SIP ヘッダー フィールド
ヘッダー フィールド
シスコ ゲートウェイによるサポートの有無
Accept
あり。OPTIONS 応答メッセージで使用。
Accept-Encoding
なし
SIP の RFC 準拠の実現
SIP の RFC 準拠に関する情報
表 1
SIP ヘッダー フィールド (続き)
ヘッダー フィールド
シスコ ゲートウェイによるサポートの有無
Accept-Language
あり
Alert-Info
なし
Allow
あり
Also
Authentication-Info
なし
Authorization
Call-ID
あり
Call-Info
なし
CC-Diversion / Diversion
あり
Contact
Content-Disposition
Content-Encoding
なし
Content-Encoding
あり
Content-Language
なし
Content-Length
あり
Content-Type
Cseq
Date
Encryption
なし
Error-Info
Event
あり
Expires
From
In-Reply-To
なし
Max-Forwards
あり
MIME-Version
Min-Expires
Min-SE
Organization
なし
Priority
Proxy-Authenticate
Proxy-Authenticate
あり
Proxy-Authorization
Proxy-Require
なし
5
SIP の RFC 準拠の実現
SIP の RFC 準拠に関する情報
表 1
SIP ヘッダー フィールド (続き)
ヘッダー フィールド
シスコ ゲートウェイによるサポートの有無
Rack
あり
Reason
Record-Route
Referred-By
Referred-To
Replaces
Requested-By
Require
Response-Key
なし
Retry-After
Retry-After
あり
Route
RSeq
Server
Session-Expires
Subject
なし
Supported
あり
Timestamp
To
Unsupported
User-Agent
Via
Warning
WWW-Authenticate
なし
WWW-Authenticate
あり
表 2
SIP ネットワーク コンポーネント
SIP ネットワーク コンポー
ネント
シスコ ゲートウェイによるサポートの有無
ユーザ エージェント クライ あり
アント(UAC)
ユーザ エージェント サーバ
(UAS)
プロキシ サーバ
なし
リダイレクト サーバ
あり
レジストラ サーバ
6
SIP の RFC 準拠の実現
SIP の RFC 準拠に関する情報
表 3
SIP 方式
方式
シスコ ゲートウェイによるサポートの有無
ACK
あり
BYE
CANCEL
COMET
廃止。条件に合致。Quality of Service(QoS)実装で使用され、もう
一方のエンドポイントに対して、条件が満たされているかどうか、つ
まり適切なリソースが予約されているかどうかを示します。
INVITE
あり。SIP ゲートウェイは、同じコール ID を持つが、Session
Description Protocols(SDP)セッション パラメータの異なるミッド
コール Invite 要求(転送アドレスを変更するため)をサポートします。
ミッドコール INVITE 要求は、ポート番号やコーデックの変更、また
INFO
あり。SIP ゲートウェイは INFO メッセージの受け入れや生成を行えま
す。
はセッションの タイマー値の更新も行えます。
NOTIFY
あり。Refer 要求の実装で使用されます。Notify メッセージにより、
Refer 要求の発信側に転送の結果を通知できます。また Notify メッ
セージにより、加入者に対して、選択されたイベント(DTMF (Dual
Tone MultiFrequency)イベント、または message waiting indication
(MWI)イベントなど)で発生した変更を通知できます。
OPTIONS
あり。SIP ゲートウェイはこの方式のみを受信します。
PRACK
あり。Provisional Reliable Acknowledgements(PRACK)をイネーブ
ルまたはディセーブルにします。
REFER
あり。SIP ゲートウェイは Refer 要求に応答し、また在席コール転送お
よびブラインド コール転送に関する Refer 要求を生成します。
REGISTER
あり。SIP ゲートウェイは SIP REGISTER 要求を送受信できます。
SUBSCRIBE
あり。SIP ゲートウェイは SUBSCRIBE 要求を生成して受け入れるこ
とができます。ゲートウェイは、DTMF テレフォニー イベントなど選
択したアプリケーションや MWI に対する SUBSCRIBE 要求を処理し
ます。
UPDATE
あり。SIP ゲートウェイは、メディアの変更、ターゲットの更新、およ
び QoS シナリオに関する UPDATE を受け入れることができます。また
ゲートウェイは、QoS シナリオに対してのみ UPDATE を送信します。
SIP 応答
Cisco SIP ゲートウェイがサポートする、RFC 3261 に準拠した SIP 応答を表 4 ~表 9 に示します。
Cisco SIP ゲートウェイは、発信した、または終了したコールに対するキープアライブ メッセージの使
用は開始しません。リモート ゲートウェイがキープアライブ メッセージを使用する場合、SIP ゲート
ウェイはそれに従います。
7
SIP の RFC 準拠の実現
SIP の RFC 準拠に関する情報
表 4
1xx 応答
1xx 応答
100 Trying
説明
発信側に代わってアクションが実行されていますが、着信側の場所は
まだ確認されていません。SIP ゲートウェイは、着信した Invite 要求に
対してこの応答を生成します。ゲートウェイは、この応答を受け取る
とすぐに、Invite 要求の再送信を停止して、180 Ringing または 200
OK 応答を待ちます。
180 Ringing
着信側の場所が確認され、コールがあることが通知されています。着
信側の場所が確認され通知が行われているとき、SIP ゲートウェイは
180 Ringing 応答を生成します。ゲートウェイは、この応答を受け取る
とすぐに、ローカル リングバックを生成し、200 OK 応答を待ちます。
181 Call is being forwarded コールは別の宛先に再ルーティングされています。
SIP ゲートウェイはこれらの応答を生成しません。
ゲートウェイは、この応答を受け取るとすぐに、100 Trying 応答と同
じ処理方法でこの応答を処理します。
182 Queued
着信側は現在対応できませんが、コールを拒否するのではなく、コー
ルをキューに入れることを選択しました。
SIP ゲートウェイはこれらの応答を生成しません。
ゲートウェイは、この応答を受け取るとすぐに、100 Trying 応答と同
じ処理方法でこの応答を処理します。
183 Session progress
発信側に帯域内アラートを実行します。
PSTN から適切なメディアを示した ISDN Progress メッセージを受け
取った場合、SIP ゲートウェイは 183 Session progress 応答を生成しま
す。
表 5
2xx 応答
2xx 応答
202 Accepted
説明
SIP ゲートウェイは、着信した REFER 要求および SUBSCRIBE 要求
に対してこの応答を送信します。また SIP ゲートウェイは、発信した
REFER 要求および SUBSCRIBE 要求に対してこの応答を受け入れま
す。
200 OK
表 6
要求は正常に処理されました。実行されるアクションは要求により異
なります。
3xx 応答
3xx 応答
説明
SIP ゲートウェイはこの応答を生成しません。ゲートウェイは、この応答を受け取るとすぐに、
Contact ヘッダー フィールドの新しいアドレスに連絡します。
300 Multiple Choice
アドレスは複数の場所に解決されました。すべての場所が表示され、
ユーザまたは User Agent(UA; ユーザ エージェント)は使用する場所
を選択できます。
301 Moved permanently
8
指定された場所に対応可能なユーザはいません。ヘッダーに代替場所
が示されます。
SIP の RFC 準拠の実現
SIP の RFC 準拠に関する情報
表 6
3xx 応答 (続き)
3xx 応答
説明
SIP ゲートウェイはこの応答を生成しません。ゲートウェイは、この応答を受け取るとすぐに、
Contact ヘッダー フィールドの新しいアドレスに連絡します。
302 Moved temporarily
指定された場所では、ユーザは一時的に対応できません。ヘッダーに
代替場所が示されます。
305 Use proxy
発信側はプロキシを使用して着信側に連絡する必要があります。
380 Alternative service
コールに失敗しましたが、代替サービスが使用可能です。
表 7
4xx 応答
4xx 応答
説明
SIP ゲートウェイは、4xx 応答を受け取るとすぐに、正常なコールの接続解除を開始して、コールを
クリアします。
423 Interval Too Brief
SIP ゲートウェイはこの応答を生成します。
400 Bad Request
要求の形式が不正なため、認識できませんでした。SIP ゲートウェイ
は、不正な形式の要求に対してこの応答を生成します。
401 Unauthorized
要求にはユーザ認証が必要です。SIP ゲートウェイはこの応答を生成し
ません。
402 Payment required
コールを行うには支払いが必要です。SIP ゲートウェイはこの応答を生
成しません。
403 Forbidden
サーバは要求を受け取り、認識しましたが、サービスは提供しません。
SIP ゲートウェイはこの応答を生成しません。
404 Not Found
サーバには、ユーザが指定されたドメインに存在しないという明確な
情報があります。SIP ゲートウェイは、着信側の場所を確認できない場
合にこの応答を生成します。
405 Method Not Allowed
要求に指定されている方式は許可されていません。応答には、許可さ
れている方式のリストが含まれています。要求に無効な方式が指定さ
れている場合、SIP ゲートウェイはこの応答を生成します。
406 Not Acceptable
要求されたリソースは、要求の accept ヘッダーで受け入れ不可能と指
定されているコンテンツ特性を持つ応答だけを生成できます。SIP ゲー
トウェイはこの応答を生成しません。
407 Proxy authentication
required
401 Unauthorized 応答と同様。ただし、クライアントはまずプロキシ
を使用してクライアント自身を認証する必要があります。SIP ゲート
ウェイはこの応答を生成しません。
408 Request timeout
サーバは、Expires がタイムアウトになる前に応答を生成できませんで
した。SIP ゲートウェイはこの応答を生成しません。
410 Gone
リソースはサーバでは使用不可能で、既知のフォワーディング アドレ
スはありません。PSTN が未割り当ての番号の原因コードを返した場
合、SIP ゲートウェイはこの応答を生成します。
413 Request entity too large 要求がサーバによる処理が可能なサイズを超えているため、サーバは
要求の処理を拒否します。SIP ゲートウェイはこの応答を生成しませ
ん。
414 Request-URI too long
Request-URI が長すぎてサーバが解釈できないため、サーバは要求の
処理を拒否します。SIP ゲートウェイはこの応答を生成しません。
9
SIP の RFC 準拠の実現
SIP の RFC 準拠に関する情報
表 7
4xx 応答 (続き)
4xx 応答
415 Unsupported media
416 Unsupported Request
URI scheme
説明
本文の形式が宛先のエンドポイントによってサポートされていないた
め、サーバは要求の処理を拒否します。SIP ゲートウェイは、サポート
されていないイベント タイプに対して Info メッセージを受け取った場
合、この応答を生成します。サポートされているイベント タイプは、0
~ 9、A ~ D、#、および * です。
SIP ゲートウェイは、SIP 要求内にサポートされていない URI スキー
ム(http: または sips: など)を受け取った場合、この応答を生成しま
す。
420 Bad extension
サーバは、Require ヘッダーに示されたプロトコル拡張子を理解できま
せんでした。SIP ゲートウェイは、要求されたサービスを理解できない
場合にこの応答を生成します。
421 Extension Required
SIP ゲートウェイはこの応答を生成しません。
422 Session Timer Too
Small
要求に含まれる Session-Expires ヘッダーにゲートウェイ サーバの最小
タイマーを下回る期間が設定されている場合、UAS によって生成され
ます。422 応答には、サーバに対する最小タイマーを備えた Min-SE
ヘッダーが含まれていることが必要です。
480 Temporarily unavailable 着信側に連絡できましたが、一時的に使用不可能になっています。SIP
ゲートウェイは、着信側が使用不可能な場合にこの応答を生成します。
たとえば、一定時間内に着信側が電話に応答しない、または送信先番
号が存在しないか稼動していない場合などです。
10
481 Call leg/transaction
does not exist
要求が、一致しないレッグ ID が存在する Bye 要求、または一致するト
ランザクションが存在しない Cancel 要求のいずれかだったため、サー
バは要求を無視しています。コール レッグ ID またはトランザクション
が識別できない場合、SIP ゲートウェイはこの応答を生成します。
482 Loop detected
サーバは、サーバ自体がパスに含まれる要求を受け取りました。SIP
ゲートウェイは、同じ要求が異なるパスで複数回到着したことを検出
した場合(フォークによる場合が多い)、この応答を生成します。
483 Too many hops
サーバは、Max-Forwards ヘッダーで許可されているより多いホップ数
を求める要求を受け取りました。SIP ゲートウェイはこの応答を生成し
ません。
484 Address incomplete
サーバは、不完全なアドレスを含む要求を受け取りました。SIP ゲート
ウェイはこの応答を生成しません。
485 Ambiguous
サーバは、着信側アドレスがあいまいな要求を受け取りました。可能
性のある代替アドレスが提示されます。SIP ゲートウェイはこの応答を
生成しません。
486 Busy here
着信側に連絡できましたが、システムは追加のコールに対応できませ
ん。SIP ゲートウェイは、着信側に連絡できたがビジーだった場合にこ
の応答を生成します。
487 Request cancelled
要求が Bye 要求または Cancel 要求により終了されました。SIP ゲート
ウェイは、要求に対して予期しない Bye または Cancel を受け取った場
合にこの応答を生成します。
488 Not Acceptable Media
要求を処理する際にエラーが発生したことを示します。SIP ゲートウェ
イは、メディア ネゴシエーションが失敗した場合にこの応答を生成し
ます。
SIP の RFC 準拠の実現
SIP の RFC 準拠に関する情報
表 7
4xx 応答 (続き)
4xx 応答
491 Request Pending
493 Undecipherable
表 8
説明
SIP ゲートウェイは、以前要求したオファーに対する応答を受け取る前
に新しいオファーを受け取った場合、その新しいオファーを提示する
UPDATE メッセージを拒否する際にこの応答を生成します。
SIP ゲートウェイはこの応答を生成しません。
5xx 応答
5xx 応答
説明
SIP ゲートウェイは、要求を処理する妨げとなった予期しないエラーが発生した場合にこの応答を生
成します。
ゲートウェイは、この応答を受け取るとすぐに、正常なコールの接続解除を開始して、コールをクリ
アします。
500 Server internal error
サーバまたはゲートウェイは、要求を処理する妨げとなった予期しな
いエラーの発生を検出しました。
501 Not implemented
サーバまたはゲートウェイは、要求の実行に必要な機能をサポートし
ていません。
502 Bad gateway
サーバまたはゲートウェイは、ダウンストリーム サーバから無効な応
答を受け取りました。
503 Service unavailable
サーバまたはゲートウェイは、過負荷または保守上の問題により要求
を処理できません。
504 Gateway timeout
サーバまたはゲートウェイは、別のサーバ(ロケーション サーバなど)
から適切なタイミングで応答を受け取りませんでした。
505 Version not supported
サーバまたはゲートウェイは、要求で使用されている SIP プロトコル
のバージョンをサポートしていません。
513 Message too large
SIP ゲートウェイはこの応答を生成しません。
580 Precondition failed
QoS の前提条件をコールに合致させようとした際にエラーが発生しま
した。
表 9
6xx 応答
6xx 応答
説明
SIP ゲートウェイはこの応答を生成しません。ゲートウェイは、この応答を受け取るとすぐに、正常
なコールの接続解除を開始して、コールをクリアします。
600 Busy everywhere
着信側に連絡できましたが、着信側はビジーで、この時点でコールに
対応できません。
603 Decline
着信側に連絡できましたが、着信側はコールへの参加できないか、参
加を希望していません。
604 Does not exist anywhere サーバは、着信側がネットワークに存在しないという信頼できる情報
を得ています。
606 Not acceptable
着信側に連絡できましたが、セッションの説明の一部を受け入れでき
ません。
11
SIP の RFC 準拠の実現
SIP の RFC 準拠に関する情報
SIP SDP の使用方法、トランスポート レイヤ プロトコル、および DNS レコード
表 10 ~表 12 に RFC 3261 でサポートされる SIP SDP の使用方法、トランスポート レイヤ プロトコ
ル、および DNS レコードを示します。また、Cisco SIP ゲートウェイがサポートする特定の機能があ
る場合はその機能も示します。
表 10
RFC 3261 でサポートされる SIP Session Description Protocol(SDP)の使用方法
SIP ネットワーク コンポーネン
シスコ ゲートウェイによるサポートの有無
ト
a(メディア アトリビュート行) あり。SDP を拡張して、SDP を特定のアプリケーションまたはメ
ディアに合わせてカスタマイズするための主な方法
c(接続情報)
あり。
m(メディア名および転送アド
レス)
o(オーナー / 作成者およびセッ
ションの識別子)
s(セッション名)
t(時間の説明)
v(プロトコル バージョン)
表 11
SIP トランスポート レイヤ プロトコル
プロトコル
シスコ ゲートウェイによるサポートの有無
マルチキャスト UDP
なし
TCP
あり
TLS
なし
ユニキャスト UDP
あり
表 12
SIP Domain Name System(DNS)レコード
認証暗号化モード
シスコ ゲートウェイによるサポートの有無
RFC 3263 タイプ A
あり
RFC 3263 タイプ NAPTR
なし
RFC 3263 タイプ SRV
あり
SIP 拡張機能
表 13 に、サポートされる SIP 拡張機能を示します。
12
SIP の RFC 準拠の実現
SIP の RFC 準拠に関する情報
表 13
SIP 拡張機能
SIP 拡張機能
説明
RFC 3262:SIP における暫定応 サポートされます。
答の信頼性
RFC 3263:SIP サーバの位置確 ゲートウェイは DNS NAPTR ルックアップをサポートしません。
DNS SRV および A レコード ルックアップはサポートしており、
認
複数エントリを循環するための準備ができています。
RFC 3265:SIP 特定イベントの ゲートウェイは SUBSCRIBE-NOTIFY フレームワークをサポート
通知
します。
RFC 3311:SIP UPDATE 方式
ゲートウェイは、メディアの変更、ターゲットの更新、および
QoS シナリオに関する UPDATE を受け入れます。またゲートウェ
イは、QoS シナリオに対してのみ UPDATE を送信します。
RFC 3312:リソース管理と SIP ミッドコール QoS の変更では、この RFC に定義されている
の統合 - RFC
183-PRACK モデルを使用しません。
RFC 3326:SIP 用の Reason
Header フィールド
RFC 3515:SIP REFER 方式
ゲートウェイは、これを使用して Q.850 原因コードをリモート
SIP デバイスに取り次ぎます。
ゲートウェイは、アウトオブダイアログの REFER 要求を送信また
は受け入れしません。REFER の重複はサポートされていません。
REFER は、コール転送シナリオのコンテキストだけ(つまり、
INVITE がトリガーされた場合だけ)でサポートされます。ゲート
ウェイは、コール転送シナリオで必要に応じて RFC 3892 の関連
部分(Referred-By)および RFC 3891 の関連部分(Replaces ヘッ
ダー)をサポートします。
SIP セキュリティ
表 14 および 表 15 に、RFC 3261 でサポートされる SIP セキュリティ暗号化および応答を示します。
また、Cisco SIP ゲートウェイがサポートする特定の機能がある場合はその機能も示します。
表 14
SIP 暗号化モード
暗号化モード
シスコ ゲートウェイによるサポートの有無
エンドツーエンド暗号化
なし。IPSEC をセキュリティに使用できます。
ホップバイホップ暗号化
SIP 応答のプライバシー
なし。
フィールド経由暗号化
なし。IPSEC をセキュリティに使用できます。
表 15
SIP 認証暗号化モード
認証暗号化モード
シスコ ゲートウェイによるサポートの有無
ダイジェスト認証
あり
PGP
なし
プロキシ認証
なし
セキュア SIP または sips
URI スキームはサポートされません。
13
SIP の RFC 準拠の実現
SIP の RFC 準拠に関する情報
SIP DTMF リレー
Cisco SIP ゲートウェイは、RFC 2833 に準拠して DTMF リレーをサポートします。DTMF リレー方式
は、Named Telephony Events(NTE)の伝送および DTMF digits over a Real-Time Transport Protocol
(RTP; リアルタイム トランスポート プロトコル)ストリームに対する DTMF 数値に基づいています。
また Cisco SIP ゲートウェイは、cisco-rtp(シスコ固有のペイロード タイプ)を使用した DTMF トーン
の転送もサポートしています。
表 16 に SIP DTMF リレー方式を示します。また Cisco SIP ゲートウェイが特定の方式をサポートする
かどうかも示します。
表 16
RFC 3261 でサポートされる SIP DTMF リレー
方式
シスコ ゲートウェイによるサポートの有無
RFC 2833
あり。rtp-nte に対するデフォルトの RTP ペイロード タイプは 101
です。DTMF リレーのデフォルト方式は、インバンド音声です。
Cisco RTP(シスコ独自)
あり。ただし、Cisco AS5350 および Cisco AS5400 を除く。
SIP ファックス リレーおよび T.38
表 17 に、RFC 3261 に準拠して Cisco SIP ゲートウェイでサポートされるファックス リレー モードを
示します。また Cisco SIP ゲートウェイが特定の方式をサポートするかどうかも示します。
表 17
RFC 3261 でサポートされるファックス リレー モード
方式
シスコ ゲートウェイによるサポートの有無
T.38 ファックス リレー
あり
Cisco ファックス リレー
あり。ただし、Cisco AS5350 および Cisco AS5400 を除く。
Cisco SIP ゲートウェイは T.38 および T.37 ファックス リレー、ストア、および転送メカニズムをサ
ポートします。表 18 は、T.38 ITU 勧告の Annex-D「Procedures for Real-Time Group 3 Facsimile
Communication over IP Networks, June 1998」に基づいています。表には、基準に含まれる勧告や、
Cisco SIP ゲートウェイによる要件のサポートの有無を示します。
表 18
T.38 ファックス要件
必須または任
意
サポートの有無
要件
説明
SIPt38-01
SIP に対する T.38 は、T.38 ITU 勧告の ANNEX 必須
D 「Procedures for Real-Time Group 3 Facsimile
Communication over IP Networks, June 1998」の
あり
記載に従って実装することが必要です。
14
SIPt38-02
SIP 対応の VoIP ゲートウェイは、RTP オーディ
オ ストリーム内で転送される、calling(CNG)
トーン、called station identifier(CED)ファッ
クス トーン、およびプリアンブル フラグ シーケ
ンスを検出します。
必須
あり。ファックス
検出には CED
V.21 プリアンブル
のみが使用され、
CNG トーンは使
用されません。
SIPt38-03
ファックス伝送の検出は、受信側ゲートウェイが
CED トーンを認識することによって実行されま
す。
必須
あり
SIP の RFC 準拠の実現
SIP の RFC 準拠に関する情報
表 18
T.38 ファックス要件 (続き)
必須または任
意
サポートの有無
要件
説明
SIPt38-04
CED トーンがない場合、ファックス伝送は受信
側ゲートウェイがプリアンブル フラグ シーケン
スを認識することにより検出されます。
必須
あり
SIPt38-05
ファックス伝送を検出するとただちに、受信側
ゲートウェイは、SDP を使用して re-INVITE 要
求を送信することにより T.38 ファックス モード
に対する切り替えを開始します。
必須
あり
SIPt38-06
グレアを防止するため、伝送ゲートウェイが
ファックス伝送(CNG トーン)を検出した場合
でも、ゲートウェイは T.38 ファックス モードへ
の切り替えを開始しません。
必須
あり
SIPt38-07
SIP セッションがオーディオ機能で開始され、そ 必須
の後ファックスに切り替わった場合、セッション
は、ファックス伝送終了時にオーディオ モードに
戻します。
あり
SIPt38-08
TCP を介した SIP T.38 ファックス コールをサ
ポート。
推奨
UDP のみ
SIPt38-09
ファクシミリ UDP Transport Layer(UDPTL;
UDP トランスポート レイヤ)がサポートされま
必須
あり
必須
あり
T.38 セッションをサポートするアトリビュートは 必須
次のとおりです。
あり
す。
SIPt38-10
T.38 ファックス セッションをサポートする SDP
アトリビュートは次のとおりです。
• 登録済み SDP プロトコル形式、MIME メ
ディア タイプ:image/t38:
• MIME メディア タイプ名:image
• MIME サブタイプ名:t38
SIPt38-11
• T38FaxVersion
• T38maxBitRate
• T38FaxFillBitRemoval
• T38FaxTranscodingMMR
• T38FaxTranscodingJBIG
• T38FaxRateManagement
• T38FaxMaxBuffer
• T38FaxMaxDatagram
• T38FaxUdpEC
SIPt38-12
T.38 をサポートする Cisco SIP 対応のゲートウェ 必須
イは、シスコおよび他のベンダー製のゲートウェ
イと相互運用できます。
あり
15
SIP の RFC 準拠の実現
SIP の RFC 準拠に関する情報
表 18
T.38 ファックス要件 (続き)
要件
説明
必須または任
意
サポートの有無
SIPt38-13
H.323 を介した T.38 をサポートするゲートウェ
任意
なし
必須
あり。次の項目は
設定可能です。
イとの相互運用性
SIPt38-14
SIP 対応のゲートウェイの設定には、SIP T.38 固
有の設定可能な選択項目が含まれます。
• bitrate
• TCP/UDP
(UDP のみ)
• hs および ls 冗
長性
• ECM
SIPt38-15
ゲートウェイでの SIP T.38 アクティビティのト
必須
ラッキングとレポートを行うことを推奨します。
これには、SIP T.38 ファックス コールに対する
Call Detail Record(CDR; 呼詳細レコード)の作
成が含まれます。
あり
SIPt38-16
RFC 3261 セキュリティ メカニズムが適用されま 任意
す。SIP Invite 要求および Bye 要求に対してメッ
なし
セージ認証を実行できます。
SIP ユニフォーム リソース ロケータ(URL)の比較
Uniform Resource Locators(URL; ユニフォーム リソース ロケータ)が受信された場合、URL が同じ
かどうか比較が行われます。URL の比較は、2 つの From SIP URL または 2 つの To SIP URL 間で実
行できます。パラメータの順序は正確に一致している必要はありません。ただし、2 つの URL が同一
になるためには、ユーザ、パスワード、ホスト、およびポート パラメータが一致することが必要です。
Cisco IOS リリース 12.3 では、maddr パラメータと transport パラメータは、Cisco SIP ゲートウェイ
実装では許可されていません。現在、user-param パラメータは比較の対象として受け入れ可能です。
比較されるパラメータが削除されているか、または存在しない場合、デフォルト値に基づいて一致が行
われます。表 19 に SIP の URL の比較対象となるパラメータとそのデフォルト値のリストを示します。
表 19
SIP の URL の比較対象パラメータとデフォルト値
SIP の URL の比較対象パラメータ
User
—
Password
—
Host
必須
Port
5060
User-param
IP
デフォルト
比較が行われていると仮定して、同一 URL の例を次に示します。
元の URL:
sip:[email protected]
16
SIP の RFC 準拠の実現
SIP の RFC 準拠に関する情報
同等 URL:
sip:[email protected]:
sip:[email protected];tag=499270-A62;pname=pvalue
sip:[email protected];user=ip
sip:[email protected]:5060
487 Sent for BYE 要求
RFC 3261 では、BYE 要求を受信する UAS は、コールを切断する前にまずそのコールの保留されてい
る要求に対する応答を送信する必要があります。UAS は、BYE 要求を受信すると、487(Request
Cancelled)ステータス メッセージで応答する必要があります。
3xx リダイレクション応答
「SIP リダイレクト処理拡張の設定」(P.8)を参照してください。
DNS SRV クエリー手順
RFC 3261 に準拠して、ダイヤル ピアにおける Request URI またはセッション ターゲットには、完全
修飾ドメイン名(FQDN)が含まれており、UAC は要求を転送する前に、エンドポイントのプロトコ
ル、ポート、および IP アドレスを決定する必要があります。SIP on Cisco ゲートウェイの SIP は、
Domain Name System Server(DNS SRV)クエリーを使用して、ユーザ エンドポイントのプロトコ
ル、ポート、および IP アドレスを決定します。
Cisco IOS リリース 12.2(13)T 以前は、DNS クエリー手順では宛先ポートは考慮されていませんでした。
CANCEL Request Route ヘッダー
最初の INVITE 要求に対して UAC が送信する CANCEL メッセージには、Route ヘッダーを設定できま
せん。Route ヘッダーは CANCEL メッセージに含めることはできません。これは Route ヘッダーが
INVITE 要求と同じパスを使用し、INVITE 要求には Route ヘッダーを含めることができないためです。
ユーザ パラメータの解釈
電話加入者またはユーザのパラメータに、スペース、制御文字、引用符、ハッシュ記号、およびその他
の文字を含むエスケープ文字が含まれていることがあります。INVITE メッセージを受け取った後、電
話加入者またはユーザのパラメータの解釈が行われてから、ダイヤル ピアのマッチングが実行されま
す。たとえば、受信した INVITE メッセージ内でエスケープされた電話番号が次のように示されてい
ることがあります。
-%32%32%32
222 は有効な電話番号ですが、この場合は解釈が必要となります。解釈が実行されない場合、ユーザ
パラメータがダイヤル ピアの宛先パターンと一致すると、コールの試行は失敗します。
user=phone パラメータ
SIP URL は、E メール アドレスに似たユーザのアドレスを識別します。ユーザ アドレスの形式は、
user@host で、user はユーザ ID、host はドメイン名または数字でネットワーク アドレスを表したもの
になります。たとえば、発信 INVITE 要求の要求行は、次のように見える場合があります。
INVITE sip:[email protected]
17
SIP の RFC 準拠の実現
SIP の RFC 準拠に関する情報
以前 SIP URL で必須パラメータであった user=phone パラメータは、必須ではなくなりました。ただ
し、着信した SIP メッセージの SIP URL に user=phone, が含まれている場合、user=phone が解析さ
れ、トランザクションの後続メッセージで使用されます。
SIP 原因コード 303 および 411
RFC 3261 の導入により、SIP の原因コード 303「Redirection: See Other」および 411「Client Error:
Length required」が廃止されます。
Content-Type ヘッダーの柔軟性
メッセージ本文のメディア タイプを指定する Content-Type ヘッダーは、Session Description Protocol
(SDP)の空の本文を含むことを許可されています。
SDP のオプションの「s=」行
SDP の「s=」行は、オプションとして受け付けられます。「s=」行には、SDP 情報の理由または主題
が記述されます。Cisco SIP ゲートウェイは、SDP 本文に「s=」行が含まれるメッセージを作成でき、
また、「s=」行を含まないメッセージも受け取れます。
INVITE および 2xx 応答への Allow ヘッダーの追加
最初または re-INVITE 要求、または任意の 2xx クラス応答で INVITE に対する Allow ヘッダーの使用
が許可されています。Allow ヘッダーは、メッセージを生成するユーザ エージェントがサポートする
方式の一覧を示します。Allow ヘッダーにより、メッセージを送信するユーザ エージェントでどの方
式を実行するべきかがアドバタイズされるので、メッセージ トラフィックが無駄に混雑するのが回避
されます。Allow ヘッダーには、INVITE、OPTIONS、BYE、CANCEL、ACK、PRACK、COMET、
REFER、NOTIFY、INFO、SUBSCRIBE の内のどれでも、またはすべてを含めることができます。
Cancel および 2xx クラス応答の同時実行
RFC 3261 に準拠して、INVITE に対する応答が受信される前に UAC がコールの終了を希望する場合、
UAC は CANCEL を送信します。ただし、INVITE に対する CANCEL および 2xx クラス応答が有線で
渡された場合、UAC は INVITE に対する 2xx も受け取ります。2 つのメッセージが渡されると、UAC
は BYE 要求を送信することでコールを終了します。
UPDATE 要求の処理
RFC 2543 に取って代わった RFC 3261 では、セッションの作成、変更、終了を行うための SIP シグナ
リング プロトコルが定義されています。発信者 ID とプライバシーのための SIP 拡張 機能では、RFC
3261 仕様に準拠する次の SIP ゲートウェイ実装がサポートされます。
• 「SIP UPDATE 要求」(P.19)
• 「Via ヘッダーのパラメータと結合要求の検出」(P.23)
• 「Loose-Routing および Record-Route ヘッダー」(P.24)
• 「最終応答前の複数の INVITE 要求」(P.24)
• 「ミッドコール re-INVITE 要求の失敗」(P.24)
• 「新しいオファーを伴う PRACK 要求」(P.25)
18
SIP の RFC 準拠の実現
SIP の RFC 準拠に関する情報
• 「信頼できる暫定応答の失敗」(P.25)
SIP UPDATE 要求
SIP は、サーバかクライアントからの要求または要求に対する応答のいずれかのメッセージを通じて
セッション管理を行います。SIP は INVITE 要求を使用してユーザ エージェント(UA)間のセッショ
ンを開始および変更し、ACK 方式を使用して INVITE 要求に対する最終応答を確認します。場合に
よっては、INVITE 要求への応答前にセッションを変更する必要があります。このシナリオはたとえ
ば、アーリー メディア(early media)に、確立されたセッション中にコールの経過を表すよう送信さ
れる情報を送信しており、このセッションに対して INVITE 要求が受け入れられていないコールで発
生します。このシナリオでは、発信側または着信側はセッションの特性を、たとえばアーリー メディ
ア(early media)をコールへの応答前に保留にすることなどで、変更できることが必要です。クライ
アントによるセッション パラメータのアップデートを許可する SIP UPDATE 方式に先立って、発信側
または着信側が、最初の INVITE 要求への最終応答が生成される前にアップデート済みセッション情
報を提供できるようにするメカニズムはありません。発信者 ID とプライバシーのための SIP 拡張 機能
では、UPDATE 方式に対するサポートが提供され、ゲートウェイによる UPDATE 要求の受信と処理を
可能にしますが、送信は可能にしません。またゲートウェイは、コールがアクティブになった後のセッ
ション タイマー値もアップデートします。
ユーザ エージェント クライアント(UAC)は、ユーザ エージェント サーバ(UAS)に INVITE 要求
を送信することでセッションを開始します。UAS は、次の応答コードを送信することで、INVITE 要
求に応答します。
• コールの経過を示す 1xx 暫定応答。すべての 1xx 応答は情報目的であり最終応答ではありません。
1xx 応答以外の応答はすべて最終応答です。
• 要求の正常な終了または受信を示す 2xx 応答
• 拒否または失敗を示す 3xx、4xx、5xx、または 6xx 応答
PRACK 応答は、高い信頼性で転送された暫定応答(アーリー メディア(early media)の表示を伴う
応答など)の受信を確認する際に使用され、一方 ACK は、INVITE 要求に対する最終応答を確認する
際に使用されます。PRACK により、UAC および UAS 間にアーリー ダイアログ、つまり新しいオ
ファーを伴う UPDATE 要求を受信するための要件が作成されます。
2xx 応答が送信されると、この応答によりセッションが確立され、ダイアログまたはコール レッグも
作成されます。1xx 応答により作成されたダイアログは、アーリー ダイアログと見なされ、最終応答
により確認済みダイアログが作成されます。SIP UPDATE 方式により、UAC は、メディア ストリーム
やそのコーデックのセットなどのセッション パラメータをアップデートでき、ダイアログの状態には
影響を及ぼしません。re-INVITE 要求と異なり、SIP UPDATE 要求は、最初の INVITE 要求への応答
前に送信してセッションを変更でき、このときダイアログの状態自体に影響を及ぼすことはありませ
ん。UPDATE 方式は、最初の INVITE 要求への応答前(たとえば、アーリー メディア(early media)
の送信時など)に、アーリー ダイアログ内でセッション パラメータをアップデートするのに役立ちま
す。
SIP UPDATE 方式は、Internet Engineering Task Force(IETF; インターネット技術特別調査委員会)
の仕様 RFC 3264「An Offer/Answer Model with the Session Description Protocol (SDP)」で定義されて
いるとおり、Session Description Protocol(SDP)を使用してオファーと応答の交換を利用します。
セッション内のある UA が SDP メッセージを生成します。このメッセージは、オファー(UA が使用
しようとしているメディア ストリームとコーデックのセット)と、UA がメディアを受信する IP アド
レスやポートで構成されます。その他の UA は応答、つまりオファーに応えるための SDP メッセージ
を生成します。
19
SIP の RFC 準拠の実現
SIP の RFC 準拠に関する情報
Cisco SIP 実装では、UAS はアーリー ダイアログと確認済みダイアログの両方で UPDATE 要求を受信
できます。オファーが生成されるポイント、UPDATE を受信するポイント、および信頼できる暫定応
答と SDP の有無はすべて、ゲートウェイが UPDATE 要求の処理方法を決定するための要因となりま
す。UPDATE 要求では、次のような数種類の結果のいずれかを示す応答が生成されます。
• 成功
• 未処理のオファーに対する応答を保留中
• 失敗
次に、さまざまなシナリオやコール フローにおける UPDATE 要求の受信方法と処理方法について説明
します。
コールがアクティブになる前の UPDATE 要求の処理
ゲートウェイが信頼できる暫定応答を SDP を使用して送信した場合、応答には、UPDATE 方式の一覧
を示す Allow ヘッダーが含まれ、発信側に UPDATE 処理をサポートするゲートウェイ機能が通知され
ます。
図 1 に、UAS が信頼できる暫定応答(ANSWER 1)を INVITE 要求(Offer 1)へ送信する場合のコー
ルを示します。18x アーリー メディア(early media)応答により、ゲートウェイの UPDATE サポート
機能が示されました。UAC は暫定確認応答(PRACK)を送信し、PRACK 要求に対して 200 OK 応答
を受信しました。UAC は UAS に、UPDATE 要求(Offer 2)を送信することでアーリー ダイアログの
既存セッション メディア パラメータを変更するよう要求しました。UAS は、200 OK 応答を送信する
ことで、Offer 2 を受け入れました。メディア ネゴシエーションが失敗した場合、UAS は代わりに 488
Unacceptable Media 応答を送信します。その後、UAS は最初の INVITE 要求に対して 200 OK 最終応
答を送信しました。UAS は、INVITE 要求への最終応答を確認する ACK 要求を送信しました。
図 1
アーリー メディア(early media)に対する UPDATE
V
V
UAC
UAS
INVITE (Offer 1)
18x (ANSWER 1)
PRACK/200 OK
UPDATE (Offer 2)
200 OK (ANSWER 2)
98764
200 OK (INVITE)/ACK
図 2 では、ゲートウェイは INVITE 要求(Offer 1)に応答する前に UPDATE 要求(Offer 2)を受信し
ました。これにより、ゲートウェイは、Retry-After ヘッダー フィールドを 0 ~ 10 秒までのランダム
に選択した値に設定した状態で 500 Internal Server Error を送信することで、要求を拒否しました。
20
SIP の RFC 準拠の実現
SIP の RFC 準拠に関する情報
図 2
最初の UPDATE の拒否
V
V
UAC
UAS
INVITE (Offer 1)
18x (Ringing)
UPDATE (Offer 2)
500 (Internal Server Error)
200 OK (ANSWER 1)/ACK
UPDATE (Offer 2)
98765
200 OK (ANSWER 2)
図 3 では、最初の INVITE 要求にはオファーが含まれておらず、UAS ゲートウェイは信頼できる暫定
応答(Offer 1)とともに SDP を送信し、これを UAC はオファーとして処理しました。
図 3
ディレイド メディア(delayed media)に対する UPDATE 要求
V
V
UAC
UAS
INVITE㧔ࠝࡈࠔ࡯ߥߒ㧕
18x (Offer 1)
PRACK (ANSWER 1)
200 OK
UPDATE (Offer 2)
98766
200 OK (ANSWER 2)
図 4 では、UAS は PRACK を受信する前、つまりアーリー ダイアログが確立される前に、オファー
(Offer 2)とともに UPDATE 要求を受信しており、これにより UAS(ゲートウェイ)は 491 Request
Pending 応答を生成しました。
21
SIP の RFC 準拠の実現
SIP の RFC 準拠に関する情報
図 4
ディレイド メディア(delayed media)に対する UPDATE 要求の失敗
V
V
UAC
UAS
INVITE㧔ࠝࡈࠔ࡯ߥߒ㧕
18x (Offer 1)
UPDATE (Offer 2)
491 (Request Pending)
PRACK (ANSWER 1)
98767
200 OK
コールがアクティブになる前の UPDATE 要求の処理に対するエラー応答
その他のシナリオでは、ゲートウェイが INVITE 要求に 200 OK 応答を送信しているが、まだ ACK を
受信していない場合に、オファーを伴う UPDATE 要求の処理に別のルールが適用されます。次に示す
エラー応答が生成されるシナリオを図 5 に示します。
• 最初の INVITE 要求にオファーが含まれているが、信頼できる暫定応答を送信することを必要とし
ていない場合、200 OK 内の SDP が応答のように扱われます。UAS が 200 OK に対する ACK 応
答の前に UPDATE 要求を受信した場合、UAS は Retry-After ヘッダーを伴う 500 Server Internal
エラー応答を送信します。
• 最初の INVITE 要求にオファーが含まれておらず、信頼できる暫定応答を送信することを必要とし
ていない場合、200 OK 内の SDP がオファーのように扱われます。UAS が 200 OK に対する ACK
の前に UPDATE 要求を受信した場合、UAS は 491 Request Pending 応答を送信します。
図 5
UPDATE 要求に対するエラー ケース
V
V
UAC
UAS
INVITE (Offer 1)
18x
200 OK (ANSWER 1)
UPDATE (Offer 2)
98769
500 (Internal Server Error)
22
SIP の RFC 準拠の実現
SIP の RFC 準拠に関する情報
アクティブ状態での UPDATE 要求の処理
RFC 3261 は re-INVITE 要求を使用して、既存または保留中のコールのセッション パラメータを変更
する SIP メッセージが、コールがアクティブになった後にセッション パラメータをアップデートする
ことを推奨しています。コールがアクティブになった後に受信された UPDATE は、アップデートする
ための 200 OK が再送信される場合を除き、re-INVITE のように処理されます(図 6 を参照)。
図 6
アクティブ状態での UPDATE 要求
V
V
UAC
UAS
INVITE/200 OK/ACK
෺ᣇะ RTP
UPDATE (Offer 2)
200 OK (ANSWER 2)
98770
ࠕ࠶ࡊ࠺࡯࠻ߐࠇߚ෺ᣇะ RTP
図 7 に、ミッドコール INVITE を送信し、まだ応答を受信していない UAC を示します。この状態で
は、ゲートウェイは新しいオファーを伴う UPDATE 要求を受信した場合、491 Request Pending エ
ラーを送信します。
図 7
アクティブ状態での UPDATE 要求に対するエラー応答
V
V
UAC
UAS
INVITE (1) /200 OK/ACK
෺ᣇะ RTP
INVITE (2)
UPDATE (Offer 3)
98771
491 (Request Pending)
Via ヘッダーのパラメータと結合要求の検出
RFC 3261 の仕様を満たすため、発信者 ID とプライバシーのための SIP 拡張 機能では、要求の Via
ヘッダー内の branch パラメータ、つまり要求によって作成されるトランザクションの識別に使用され
る情報のサポートを提供します。branch パラメータの値は、「z9hG4bK」という値で始まり、要求が
RFC 3261 に準拠し、UAC によって生成されたものであることを示します。発信者 ID とプライバシー
のための SIP 拡張 では、受信したアドレスを使用して受信したパラメータを生成するためのサポート
も追加されています。
23
SIP の RFC 準拠の実現
SIP の RFC 準拠に関する情報
発信者 ID とプライバシーのための SIP 拡張 機能では、branch パラメータおよび sent-by パラメータを
使用して、結合された要求(つまり、異なるパスをたどって複数回 UAS に到着した要求)を検出しま
す。要求の To ヘッダー フィールドにタグが含まれない場合、UAS は進行中のトランザクションに対
して要求をチェックします。From タグ、Call-ID、および CSeq ヘッダーが、進行中のトランザクショ
ンに関連するヘッダーと正確に一致しているが、branch パラメータを含む最上位の Via ヘッダーが一
致しない場合、UAS は要求を結合された要求として処理します。UAS は、結合された要求に応答し、
482 Loop Detected エラーを通知します。
Loose-Routing および Record-Route ヘッダー
発信者 ID とプライバシーのための SIP 拡張 機能では、要求ターゲットおよび次のルートの宛先を個別
に保持するメカニズムであるルーズ ルーティングをサポートします。プロキシが Record-Route ヘッ
ダーに配置する Uniform Resource Indicator(URI)で使用されている lr パラメータは、プロキシの
RFC 3261 との互換性を示します。要求で lr パラメータが欠落している場合、UA はネクストホップ プ
ロキシが RFC 2543 に準拠してストリクト ルーティングを実装していると想定し、メッセージを再
フォーマットして Request-URI の情報を保持します。
最終応答前の複数の INVITE 要求
この機能では、UAS が最初の INVITE 要求に最終応答を送信する前に受信する複数の INVITE 要求の
処理に関するサポートを実装しています(図 8 を参照)。UAS ゲートウェイが、CSeq シーケンス番号
の低い最初の INVITE 要求に対して同じダイアログで最終応答を送信する前に、2 番目の INVITE 要求
を受信した場合、UAS は 2 番目の INVITE 要求に対して 500 Server Internal Error 応答を返します。エ
ラー応答には、0 ~ 10 秒までのランダムな値を持つ Retry-After ヘッダー フィールドも含まれます。
図 8
R5xx 応答を使用して拒否される re-INVITE 要求
V
V
UAC
UAS
INVITE (CSeq: 1 INVITE)
18x Ringing
INVITE (CSeq: 2 INVITE)
500 Internal Server Error
98772
ACK
ミッドコール re-INVITE 要求の失敗
発信者 ID とプライバシーのための SIP 拡張 機能では、図 9 に示すとおりミッドコール re-INVITE 要
求の失敗の処理を実装しています。ミッドコール INVITE 要求に対する 2xx 以外の最終応答が次のい
ずれかの場合、UAC はダイアログを終了します。
• 失敗を示す 481 Call/Transaction Does Not Exist 応答
• 失敗を示す 408 Request Timeout 応答
24
SIP の RFC 準拠の実現
SIP の RFC 準拠に関する情報
図 9
re-INVITE 要求に対する 481 または 408 応答後のダイアログ終了
V
V
UAC
UAS
INVITE (1) /200 OK/ACK
෺ᣇะ RTP
INVITE (2)
481/408
ACK
98773
BYE/200 OK
新しいオファーを伴う PRACK 要求
発信者 ID とプライバシーのための SIP 拡張 機能では、新しいオファーを伴う PRACK 要求をサポート
します(図 10 を参照)。UAC が応答(Answer 1)を伴う信頼できる暫定応答を受信した場合、UAC
は PRACK に追加のオファー(Offer 2)を生成できます。UAS がアップデートされたオファーを伴う
PRACK を受信した場合、ネゴシエーションが成功すると UAS は応答(Answer 2)を伴う 200 OK を
生成します。成功しなかった場合、UAS は 488 Unacceptable Media 応答を生成します。
図 10
受け入れられた PRACK におけるオファー
V
V
UAC
UAS
INVITE (Offer 1)
18x (ANSWER 1)
PRACK (Offer 2)
200 OK (ANSWER 2)
98774
200 OK (INV, ANSWER 2)/ACK
信頼できる暫定応答の失敗
発信者 ID とプライバシーのための SIP 拡張 機能では、UAS が許容リトライ最大数分または 32 秒間、
信頼できる暫定応答である 18x を再送した後、対応する PRACK を受信しなかった場合、図 11 に示す
処理を行います。UAS は 5xx 応答を生成して、コールをクリアします。
25
SIP の RFC 準拠の実現
SIP の RFC 準拠に関する情報
図 11
信頼できる暫定応答の失敗
V
V
UAC
UAS
INVITE
18x (ANSWER 1)
...ᤨ㑆߇⚻ㆊߒ‫ޔ‬18x ߇ౣㅍାߐࠇࠆ
504 (Server Timeout)
98775
ACK
メッセージの例
ここでは、SIP ゲートウェイ終了時に収集される SIP メッセージの例を示します。
SIP UPDATE 要求のコール フローの例
コールがアクティブになる前の UPDATE 要求を含む SIP 要求と応答の交換例を次に示します。
1w0d:SIP Msg:ccsipDisplayMsg:Received:
INVITE sip:[email protected]:5060 SIP/2.0
Record-Route:<sip:[email protected]:5060;maddr=192.0.2.4>
Via:SIP/2.0/UDP 192.0.2.4:5060;branch=5,SIP/2.0/UDP
192.0.2.14:5060;branch=z9hG4bK1D38
From:<sip:[email protected]>;tag=3DD33DE4-10DF
To:<sip:[email protected]>
Date:Mon, 08 Apr 2002 16:58:08 GMT
Call-ID:[email protected]
Supported:timer
次の行は、UAC が暫定応答が高い信頼性で転送されることが必要としていることを示しています。
Require:100rel
Min-SE: 1800
Cisco-Guid:2729535908-1246237142-2148443152-4064420637
User-Agent:Cisco-SIPGateway/IOS-12.x
Allow ヘッダーは、UPDATE 方式がサポートされていることを示しています。
Allow:INVITE, OPTIONS, BYE, CANCEL, ACK, PRACK, COMET, REFER, SUBSCRIBE, NOTIFY, INFO,
UPDATE, REGISTER
CSeq:101 INVITE
Max-Forwards:70
Remote-Party-ID:<sip:[email protected]>;party=calling;screen=no;privacy=off
Timestamp:1018285088
Contact:<sip:[email protected]:5060>
Expires:180
Allow-Events:telephone-event
Content-Type:application/sdp
Content-Length:262
次の SDP は、メディア ストリームとコーデックを含む最初のオファー、およびメディアを受信するた
めの IP アドレスとポートを構成しています。
v=0
26
SIP の RFC 準拠の実現
SIP の RFC 準拠に関する情報
o=CiscoSystemsSIP-GW-UserAgent 6579 1987 IN IP4 192.0.2.14
s=SIP Call
c=IN IP4 192.0.2.14
t=0 0
m=audio 17782 RTP/AVP 8 0 18 19
c=IN IP4 192.0.2.14
a=rtpmap:8 PCMA/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:18 G729/8000
a=fmtp:18 annexb=no
a=rtpmap:19 CN/8000
1w0d:SIP Msg:ccsipDisplayMsg:Sent:
SIP/2.0 100 Trying
Via:SIP/2.0/UDP 192.0.2.4:5060;branch=5,SIP/2.0/UDP
192.0.2.14:5060;branch=z9hG4bK1D38
From:<sip:[email protected]>;tag=3DD33DE4-10DF
To:<sip:[email protected]>;tag=24D435A8-C29
Date:Sat, 07 Oct 2000 02:56:34 GMT
Call-ID:[email protected]
Timestamp:1018285088
Server:Cisco-SIPGateway/IOS-12.x
CSeq:101 INVITE
Allow-Events:telephone-event
Content-Length:0
次の行では、ゲートウェイは、最初のオファーへの応答でアーリー メディア(early media)を送信す
ることによって応答しています。
1w0d:SIP Msg:ccsipDisplayMsg:Sent:
SIP/2.0 183 Session Progress
Via:SIP/2.0/UDP 192.0.2.4:5060;branch=5,SIP/2.0/UDP
192.0.2.14:5060;branch=z9hG4bK1D38
From:<sip:[email protected]>;tag=3DD33DE4-10DF
To:<sip:[email protected]>;tag=24D435A8-C29
Date:Sat, 07 Oct 2000 02:56:34 GMT
Call-ID:[email protected]
Timestamp:1018285088
Server:Cisco-SIPGateway/IOS-12.x
CSeq:101 INVITE
Require:100rel
RSeq:5785
Allow:UPDATE
Allow-Events:telephone-event
Contact:<sip:[email protected]:5060>
Record-Route:<sip:[email protected]:5060;maddr=192.0.2.4>
Content-Disposition:session;handling=required
Content-Type:application/sdp
Content-Length:191
v=0
o=CiscoSystemsSIP-GW-UserAgent 5565 7580 IN IP4 192.0.2.12
s=SIP Call
c=IN IP4 192.0.2.12
t=0 0
m=audio 18020 RTP/AVP 8 19
c=IN IP4 192.0.2.12
a=rtpmap:8 PCMA/8000
a=rtpmap:19 CN/8000
次の行では、UAS が 183 応答に対して PRACK を受信していることを示しています。
1w0d:SIP Msg:ccsipDisplayMsg:Received:
27
SIP の RFC 準拠の実現
SIP の RFC 準拠に関する情報
PRACK sip:[email protected]:5060 SIP/2.0
Via:SIP/2.0/UDP 192.0.2.4:5060;branch=6,SIP/2.0/UDP
192.0.2.14:5060;branch=z9hG4bK40A
From:<sip:[email protected]>;tag=3DD33DE4-10DF
To:<sip:[email protected]>;tag=24D435A8-C29
Date:Mon, 08 Apr 2002 16:58:08 GMT
Call-ID:[email protected]
CSeq:102 PRACK
RAck:5785 101 INVITE
Content-Length:0
1w0d:SIP Msg:ccsipDisplayMsg:Sent:
SIP/2.0 200 OK
Via:SIP/2.0/UDP 192.0.2.4:5060;branch=6,SIP/2.0/UDP
192.0.2.14:5060;branch=z9hG4bK40A
From:<sip:[email protected]>;tag=3DD33DE4-10DF
To:<sip:[email protected]>;tag=24D435A8-C29
Date:Sat, 07 Oct 2000 02:56:34 GMT
Call-ID:[email protected]
Server:Cisco-SIPGateway/IOS-12.x
CSeq:102 PRACK
Content-Length:0
次の行では、UAS が異なるメディア ストリームとコーデックを持つアップデートされたオファーを受
信していることを示しています。
1w0d:SIP Msg:ccsipDisplayMsg:Received:
UPDATE sip:[email protected]:5060 SIP/2.0
Via:SIP/2.0/UDP 192.0.2.4:5060;branch=z9hG4bK10
Via:SIP/2.0/UDP 192.0.2.14:5060
To:<sip:[email protected]>;tag=24D435A8-C29
From:<sip:[email protected]>;tag=3DD33DE4-10DF
Call-ID:[email protected]
CSeq:103 UPDATE
Contact:sip:[email protected]:5060
Content-Length:262
v=0
o=CiscoSystemsSIP-GW-UserAgent 6579 1987 IN IP4 192.0.2.14
s=SIP Call
c=IN IP4 192.0.2.14
t=0 0
m=audio 17782 RTP/AVP 8 0 18 19
c=IN IP4 192.0.2.14
a=rtpmap:8 PCMA/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:18 G729/8000
a=fmtp:18 annexb=no
a=rtpmap:19 CN/8000
UPDATE 要求内の新しいオファーはサーバで受け入れ可能なため、サーバは 200 OK メッセージで対
応する応答を使用して応答します。
1w0d:SIP Msg:ccsipDisplayMsg:Sent:
SIP/2.0 200 OK
Via:SIP/2.0/UDP 192.0.2.4:5060;branch=z9hG4bK10,SIP/2.0/UDP 192.0.2.14:5060
From:<sip:[email protected]>;tag=3DD33DE4-10DF
To:<sip:[email protected]>;tag=24D435A8-C29
Date:Sat, 07 Oct 2000 02:56:34 GMT
Call-ID:[email protected]
Server:Cisco-SIPGateway/IOS-12.x
CSeq:103 UPDATE
Content-Type:application/sdp
Content-Length:191
28
SIP の RFC 準拠の実現
SIP の RFC 準拠に関する情報
v=0
o=CiscoSystemsSIP-GW-UserAgent 5565 7580 IN IP4 192.0.2.12
s=SIP Call
c=IN IP4 192.0.2.12
t=0 0
m=audio 18020 RTP/AVP 8 19
c=IN IP4 192.0.2.12
a=rtpmap:8 PCMA/8000
a=rtpmap:19 CN/8000
1w0d:SIP Msg:ccsipDisplayMsg:Sent:
SIP/2.0 200 OK
Via:SIP/2.0/UDP 192.0.2.4:5060;branch=5,SIP/2.0/UDP
192.0.2.14:5060;branch=z9hG4bK1D38
From:<sip:[email protected]>;tag=3DD33DE4-10DF
To:<sip:[email protected]>;tag=24D435A8-C29
Date:Sat, 07 Oct 2000 02:56:34 GMT
Call-ID:[email protected]
Timestamp:1018285088
Server:Cisco-SIPGateway/IOS-12.x
CSeq:101 INVITE
Allow:INVITE, OPTIONS, BYE, CANCEL, ACK, PRACK, COMET, REFER, SUBSCRIBE, NOTIFY, INFO,
UPDATE, REGISTER
Allow-Events:telephone-event
Contact:<sip:[email protected]:5060>
Record-Route:<sip:[email protected]:5060;maddr=192.0.2.4>
Content-Type:application/sdp
Content-Length:191
v=0
o=CiscoSystemsSIP-GW-UserAgent 5565 7580 IN IP4 192.0.2.12
s=SIP Call
c=IN IP4 192.0.2.12
t=0 0
m=audio 18020 RTP/AVP 8 19
c=IN IP4 192.0.2.12
a=rtpmap:8 PCMA/8000
a=rtpmap:19 CN/8000
1w0d:SIP Msg:ccsipDisplayMsg:Received:
ACK sip:[email protected]:5060 SIP/2.0
Via:SIP/2.0/UDP 192.0.2.4:5060;branch=7,SIP/2.0/UDP
192.0.2.14:5060;branch=z9hG4bK230
From:<sip:[email protected]>;tag=3DD33DE4-10DF
To:<sip:[email protected]>;tag=24D435A8-C29
Date:Mon, 08 Apr 2002 16:58:08 GMT
Call-ID:[email protected]
Max-Forwards:70
CSeq:101 ACK
Content-Length:0
1w0d:SIP Msg:ccsipDisplayMsg:Sent:
BYE sip:[email protected]:50605060;maddr=192.0.2.4 SIP/2.0
Via:SIP/2.0/UDP 192.0.2.12:5060;branch=z9hG4bKCA
From:<sip:[email protected]>;tag=24D435A8-C29
To:<sip:[email protected]>;tag=3DD33DE4-10DF
Date:Sat, 07 Oct 2000 02:56:35 GMT
Call-ID:[email protected]
User-Agent:Cisco-SIPGateway/IOS-12.x
Max-Forwards:70
Route:<sip:[email protected]:5060>
Timestamp:970887414
CSeq:101 BYE
29
SIP の RFC 準拠の実現
SIP の RFC 準拠に関する情報
Content-Length:0
1w0d:SIP Msg:ccsipDisplayMsg:Received:
SIP/2.0 200 OK
Via:SIP/2.0/UDP 192.0.2.12:5060;branch=z9hG4bKCA
From:<sip:[email protected]>;tag=24D435A8-C29
To:<sip:[email protected]>;tag=3DD33DE4-10DF
Date:Mon, 08 Apr 2002 16:58:29 GMT
Call-ID:[email protected]
Server:Cisco-SIPGateway/IOS-12.x
Timestamp:970887414
Content-Length:0
CSeq:101 BYE
ルーズ ルーティングのコール フローの例
次に、ルーズ ルーティング要求を示すメッセージの例を示します。
1w0d:SIP Msg:ccsipDisplayMsg:Received:
INVITE sip:[email protected]:5060 SIP/2.0
次のコール フローの SIP メッセージでは、Request-URI がネクストホップの宛先の SIP URI ではなく、
宛先 UA の SIP URI、つまり SIP プロキシ サーバに設定されています。
Record-Route:<sip:[email protected]:5060;lr;maddr=192.0.2.4>
Via:SIP/2.0/UDP 192.0.2.4:5060;branch=9,SIP/2.0/UDP
192.0.2.14:5060;branch=z9hG4bK2394
From:<sip:[email protected]>;tag=3DD3A404-12A3
To:<sip:[email protected]>
Date:Mon, 08 Apr 2002 16:58:34 GMT
Call-ID:[email protected]
Supported:timer
Min-SE: 1800
Cisco-Guid:2991015782-1246237142-2148770832-4064420637
User-Agent:Cisco-SIPGateway/IOS-12.x
Allow:INVITE, OPTIONS, BYE, CANCEL, ACK, PRACK, COMET, REFER, SUBSCRIBE, NOTIFY, INFO,
UPDATE, REGISTER
CSeq:101 INVITE
Max-Forwards:70
Remote-Party-ID:<sip:[email protected]>;party=calling;screen=no;privacy=off
Timestamp:1018285114
Contact:<sip:[email protected]:5060>
Expires:180
Allow-Events:telephone-event
Content-Type:application/sdp
Content-Length:262
v=0
o=CiscoSystemsSIP-GW-UserAgent 1981 1761 IN IP4 192.0.2.14
s=SIP Call
c=IN IP4 192.0.2.14
t=0 0
m=audio 18354 RTP/AVP 8 0 18 19
c=IN IP4 192.0.2.14
a=rtpmap:8 PCMA/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:18 G729/8000
a=fmtp:18 annexb=no
a=rtpmap:19 CN/8000
1w0d:SIP Msg:ccsipDisplayMsg:Sent:
SIP/2.0 100 Trying
Via:SIP/2.0/UDP 192.0.2.4:5060;branch=9,SIP/2.0/UDP
192.0.2.14:5060;branch=z9hG4bK2394
30
SIP の RFC 準拠の実現
SIP の RFC 準拠に関する情報
From:<sip:[email protected]>;tag=3DD3A404-12A3
To:<sip:[email protected]>;tag=24D49BE8-2346
Date:Sat, 07 Oct 2000 02:57:00 GMT
Call-ID:[email protected]
Timestamp:1018285114
Server:Cisco-SIPGateway/IOS-12.x
CSeq:101 INVITE
Allow-Events:telephone-event
Content-Length:0
1w0d:SIP Msg:ccsipDisplayMsg:Sent:
SIP/2.0 180 Ringing
Via:SIP/2.0/UDP 192.0.2.4:5060;branch=9,SIP/2.0/UDP
192.0.2.14:5060;branch=z9hG4bK2394
From:<sip:[email protected]>;tag=3DD3A404-12A3
To:<sip:[email protected]>;tag=24D49BE8-2346
Date:Sat, 07 Oct 2000 02:57:00 GMT
Call-ID:[email protected]
Timestamp:1018285114
Server:Cisco-SIPGateway/IOS-12.x
CSeq:101 INVITE
Allow:UPDATE
Allow-Events:telephone-event
Contact:<sip:[email protected]:5060>
Record-Route:<sip:[email protected]:5060;lr;maddr=192.0.2.4>
Content-Length:0
1w0d:SIP Msg:ccsipDisplayMsg:Sent:
SIP/2.0 200 OK
Via:SIP/2.0/UDP 192.0.2.4:5060;branch=9,SIP/2.0/UDP
192.0.2.14:5060;branch=z9hG4bK2394
From:<sip:[email protected]>;tag=3DD3A404-12A3
To:<sip:[email protected]>;tag=24D49BE8-2346
Date:Sat, 07 Oct 2000 02:57:00 GMT
Call-ID:[email protected]
Timestamp:1018285114
Server:Cisco-SIPGateway/IOS-12.x
CSeq:101 INVITE
Allow:INVITE, OPTIONS, BYE, CANCEL, ACK, PRACK, COMET, REFER, SUBSCRIBE, NOTIFY, INFO,
UPDATE, REGISTER
Allow-Events:telephone-event
Contact:<sip:[email protected]:5060>
Record-Route:<sip:[email protected]:5060;lr;maddr=192.0.2.4>
Content-Type:application/sdp
Content-Length:191
v=0
o=CiscoSystemsSIP-GW-UserAgent 5181 4737 IN IP4 192.0.2.12
s=SIP Call
c=IN IP4 192.0.2.12
t=0 0
m=audio 16720 RTP/AVP 8 19
c=IN IP4 192.0.2.12
a=rtpmap:8 PCMA/8000
a=rtpmap:19 CN/8000
1w0d:SIP Msg:ccsipDisplayMsg:Received:
ACK sip:[email protected]:5060 SIP/2.0
Via:SIP/2.0/UDP 192.0.2.4:5060;branch=10,SIP/2.0/UDP
192.0.2.14:5060;branch=z9hG4bK103D
From:<sip:[email protected]>;tag=3DD3A404-12A3
To:<sip:[email protected]>;tag=24D49BE8-2346
Date:Mon, 08 Apr 2002 16:58:34 GMT
Call-ID:[email protected]
31
SIP の RFC 準拠の実現
SIP の RFC 準拠に関する情報
Max-Forwards:70
CSeq:101 ACK
Content-Length:0
1w0d:SIP Msg:ccsipDisplayMsg:Sent:
BYE sip:[email protected]:5060 SIP/2.0
Via:SIP/2.0/UDP 192.0.2.12:5060;branch=z9hG4bK18B6
From:<sip:[email protected]>;tag=24D49BE8-2346
To:<sip:[email protected]>;tag=3DD3A404-12A3
Date:Sat, 07 Oct 2000 02:57:01 GMT
Call-ID:[email protected]
User-Agent:Cisco-SIPGateway/IOS-12.x
Max-Forwards:70
Route:<sip:[email protected]:5060;lr;maddr=192.0.2.4>
Timestamp:970887440
CSeq:101 BYE
Content-Length:0
1w0d:SIP Msg:ccsipDisplayMsg:Received:
SIP/2.0 200 OK
Via:SIP/2.0/UDP 192.0.2.12:5060;branch=z9hG4bK18B6
From:<sip:[email protected]>;tag=24D49BE8-2346
To:<sip:[email protected]>;tag=3DD3A404-12A3
Date:Mon, 08 Apr 2002 16:58:54 GMT
Call-ID:[email protected]
Server:Cisco-SIPGateway/IOS-12.x
Timestamp:970887440
Content-Length:0
CSeq:101 BYE
SIP の RFC 3261、RFC 3262、および RFC 3264 への準拠
Internet Engineering Task Force(IETF)は常に SIP 基準のアップデートを行っています。この機能に
より、Cisco SIP ゲートウェイに対して実行された特定のアップデートまたは最適化が示され、IETF
への準拠が維持されます。次の基準がアップデートされました。
• RFC 3261:SIP 向けのコア基準(RFC 2543 は廃止)
• RFC 3262:SIP における暫定応答の信頼性に関する基準
• RFC 3264:Session Description Protocol(SDP)に対するオファー / 応答モデルに関する基準
SIP をご使用のお客様に高品質なサービスを提供するため、シスコは、最新の SIP 関連 RFC に準拠す
るよう SIP ゲートウェイを最適化しています。さらに、下位互換性を保持することにより、現在の
RFC をまだサポートしていないゲートウェイとの相互運用性を実現します。
ここでは、次の内容について説明します。
• 「SIP メッセージング拡張機能」(P.32)
• 「SIP の TCP および UDP 接続に関する拡張機能」(P.33)
(P.34)
• 「大容量の SIP 要求に対するダイナミック トランスポート スイッチング(UPD から TCP)」
• 「Call-Hold の拡張機能」(P.35)
• 「max-forwards コマンドの範囲拡張」(P.35)
SIP メッセージング拡張機能
SIP メッセージングに対して、次の変更または追加が行われました。
32
SIP の RFC 準拠の実現
SIP の RFC 準拠に関する情報
• この機能は RFC 3261 に準拠しています。ユーザ エージェント サーバ(UAS)が 2xx 応答を生成
し、確認応答(ACK)を待機していて、サーバ側でコールが切断された場合、UAS はただちに
BYE メッセージを送信しません。UAS が BYE メッセージを送信するのは、リトライ タイマーが
タイムアウトになった時点、または ACK 応答を受信した時点です。BYE メッセージによりコー
ルが終了され、ネットワークのハングが防止されます。
• RFC 3261 に準拠して、ユーザ エージェント(UA)は、発信側ゲートウェイから ACK 応答を受信
するまで BYE メッセージを送信できません。この拡張機能により、200 OK 応答よりも前に BYE 応
答が着信側ゲートウェイに到着した場合に発生する競合状態を避けることができます。この拡張機能
は、通常の切断に適用され、タイムアウトまたはエラーが原因の切断には適用されません。
• ユーザ エージェント クライアント(UAC)では、RFC 3262 に準拠して、Invite 要求に対する
Cancel 要求を送信する前に、着信側ゲートウェイからの 1xx 暫定応答(PRACK)を待機するよう
になりました。1xx 応答を待機することで、リソースが停滞するのを防止できます。この状態は、
着信側ゲートウェイに Invite メッセージよりも前に Cancel 要求が到着した場合に発生することが
あります。
• Cisco SIP ゲートウェイは、RFC 3261 に準拠して、Invite 要求の進行中にダイアログで Invite を
要求するセッション変更を受信した場合に、491 Request Pending 応答を返します。re-Invite を送
信し、491 応答を受信したゲートウェイは、ランダムに選択した値を使用してタイマーを開始しま
す。タイマーが満了すると、セッション変更を引き続き希望する場合、ゲートウェイは Invite 要求
を再試行します。
UAC が要求を生成した場合、タイマーには 2.1 ~ 4 秒の範囲(単位:10 ms)でランダムに選択さ
れた値が設定されます。UAC が要求を生成していない場合、タイマーには 0 ~ 2 秒の範囲(単
位:10 ms)でランダムに選択された値が設定されます。
SIP の TCP および UDP 接続に関する拡張機能
RFC 3261 以前は、SIP ユーザ エージェントでは、TCP サポートはオプションでした。現在、
RFC 3261 では UDP および TCP のどちらのサポートも要求されます。Cisco SIP ゲートウェイではす
でに TCP がサポートされていて、次に示すとおりいくつかの最適化方法が用意されています。
• 「2xx 応答の送信失敗」(P.33)
• 「TCP および UDP 接続の再利用」(P.33)
• 「トランザクション ベースの転送のスイッチングと使用方法」(P.34)
• 「リモート エンドの接続閉鎖の検出」(P.34)
• 「元の接続がドロップされた場合に応答を送信するための新しい接続の作成」(P.34)
2xx 応答の送信失敗
2xx 応答は RFC 3261 に準拠しています。トランスポート プロトコルに TCP を使用しており、ゲート
ウェイが INVITE メッセージに対して送信した 2xx 応答への確認応答を受信していない場合、ゲート
ウェイは TCP を介して 2xx 応答の送信を再試行します。再試行によって、ゲートウェイは確実に 200
OK メッセージを受信します。これにより、ネットワーク上のホップが信頼できないトランスポート プ
ロトコル(UDP など)を使用した場合に 2xx 応答が失われる可能性が排除されます。
TCP および UDP 接続の再利用
RFC 3261 以前は、リモート ゲートウェイは同じ TCP 接続上で 2 つの要求を開始できませんでした。
さらにゲートウェイは、新しい各トランザクションに対して新しい接続を作成し、トランザクション終
了後に接続を閉じていました。接続を閉じると、後続の要求が前回のトランザクションと同じ場所を宛
先としていても、開いている / 閉じている不要な多数の接続が原因でパフォーマンスが低下します。
Cisco IOS リリース 12.3(8)T では、ゲートウェイは、リモート IP アドレスとポートにつき 1 つの TCP
33
SIP の RFC 準拠の実現
SIP の RFC 準拠に関する情報
接続を開きます。ゲートウェイは、特定の宛先 IP アドレスとポートが存在していない場合に限り、新
しい接続を開きます。その接続を使用するすべての要求が終了し、指定された期間アクティビティが検
出されない場合、ゲートウェイは接続を閉じます。
timers connection コマンドを使用して、非アクティビティによる TCP または UDP 接続をタイムアウ
トできます。
トランザクション ベースの転送のスイッチングと使用方法
Cisco IOS リリース 12.3(8)T では、新しいトランザクション要求がスイッチング可能なしきい値を超
えた場合、TCP 経由で送信されます。スイッチング可能なしきい値は、インターフェイスまたはパス
の Maximum Transmission Unit(MTU; 最大伝送ユニット)を 200 バイト以上上回る値です。メッ
セージ サイズがスイッチング可能なしきい値より小さい場合、設定されている元の転送が使用されま
す。元の転送とは、最初の Invite 要求に対してダイヤル ピア下で設定された転送、または後続の要求
内の着信応答の Contact または Record-Route ヘッダーで指定されている転送です。言い換えれば、転
送の使用方法は現在、コール ベースでなくトランザクション ベースになっていることを意味します。
リモート エンドの接続閉鎖の検出
リモート ゲートウェイの閉鎖が未検出の状態の場合、TCP 接続がハングするおそれがあります。終了
した接続が未検出の状態の場合、対応する接続エントリは接続テーブルから削除されません。未検出の
閉鎖が連続して発生すると、接続テーブルが無効なエントリと、拒否されている有効な SIP 要求でいっ
ぱいになり、ルータのリブートが必要になります。Cisco IOS リリース 12.3(8)T では、SIP ゲートウェ
イは内部メカニズムを使用して、リモート閉鎖を検出し、接続テーブルをクリーンアップします。ク
リーンアップの開始には、ユーザによる入力は必要ありません。
元の接続がドロップされた場合に応答を送信するための新しい接続の作成
Cisco IOS リリース 12.3(8)T では、応答が送信される前にゲートウェイが着信要求の接続を切断した
場合、受信側ゲートウェイは新しい接続を作成して、応答を送信します。新しい接続は、Via ヘッダー
の sent-by パラメータで指定されているポートをベースにします。Cisco IOS リリース 12.3(8)T 以前の
リリースでは、接続がドロップされた結果、コールの失敗となっていました。
大容量の SIP 要求に対するダイナミック トランスポート スイッチング(UPD から TCP)
RFC 3261 では、大容量の SIP 要求(最大伝送ユニット(MTU)が 200 バイト以内の要求)は TCP を
介して伝送する必要があることが記載されています。TCP を介した転送により、UDP のフラグメン
テーションが回避され、ゲートウェイが UDP を使用する設定されている場合であっても TCP への切
り替えが行われます。TCP 送信が失敗した場合(たとえば、着信側ゲートウェイが TCP をサポートし
ていない場合など)、メッセージは UDP を介して再試行されます。
イーサネットまたはファスト イーサネット インターフェイス上で MTU サイズを設定する機能を、
Cisco SIP ゲートウェイはすでに備えています。MTU が設定されていない場合、デフォルトの MTU 値
は 1500 バイトです。MTU が 1500 バイトであると想定すると、1300 バイトを超える要求は、ダイナ
ミック トランスポート スイッチングのしきい値と見なされます。
2 つのコマンドを使用して、ダイナミック スイッチングのサポートをイネーブルまたはディセーブルに
できます。このコマンドを使用して、TCP をサポートしないゲートウェイに関する相互運用性の問題
を回避し、下位互換性を維持します。transport switch コマンドはグローバル レベルで設定でき、
voice-class sip transport switch コマンドはダイヤル ピア レベルで設定できます。グローバル設定は、
一致する VoIP ダイヤル ピアがない場合に限り、考慮されます。
この機能は、デフォルトではディセーブルになっています。
34
SIP の RFC 準拠の実現
SIP の FC 準拠の設定方法
Call-Hold の拡張機能
RFC 3264 では、call-hold を SDP で方向アトリビュート(a=sendonly)を使用して開始することを推
奨しています。Cisco SIP ゲートウェイは新しいガイドラインに従っており、SIP ゲートウェイは次の
2 つの方法のいずれかを使用して call-hold を開始できるようになりました。offer call-hold コマンドを
使用して、call-hold を開始するための形式をグローバルに指定できます。つまり、ゲートウェイは
a=sendonly または conn addr=0.0.0.0 を使用する必要があり、使用方法を両方には設定できません。デ
フォルト設定は、RFC の推奨方式である a=sendonly です。call-hold の形式は、ダイヤル ピア レベル
では指定できません。
(注)
Cisco SIP ゲートウェイは、2 つの形式のいずれかでの call-hold 要求の受信をサポートしていますが、
方向アトリビュートの使用を推奨します。
max-forwards コマンドの範囲拡張
RFC 3261 に準拠して、max-forwards コマンドは、設定範囲の拡大(1 ~ 70)およびデフォルト値の
増加(70)によって拡張されました。
SIP の FC 準拠の設定方法
ここでは、次の各手順について説明します。
• 「RFC 2543 への準拠の設定」(P.35)
• 「RFC 2782 への準拠の設定」(P.35)
• 「RFC 3261 への準拠の設定」(P.36)
• 「RFC 3261、RFC 3262、および RFC 3264 への準拠の設定」(P.36)
• 「SIP の RFC 準拠の確認」(P.42)
• 「トラブルシューティングのヒント」(P.45)
(注)
•
各手順を実行する前に、次の情報を理解してください。
– 「SIP の RFC 準拠の前提条件」(P.2)
– 「SIP の RFC 準拠の制約事項」(P.3)
• 手順の支援情報については、上記の検証およびトラブルシューティングの項を参照してください。
RFC 2543 への準拠の設定
RFC 2543 をイネーブルにするために必要な設定作業はありません。デフォルトではイネーブルになっ
ています。
RFC 2782 への準拠の設定
RFC 2782 への準拠を設定するには、次の手順を実行します。
35
SIP の RFC 準拠の実現
SIP の FC 準拠の設定方法
手順の概要
1. enable
2. configure terminal
3. sip-ua
4. srv version
5. exit
手順の詳細
コマンドまたはアクション
ステップ 1 enable
目的
特権 EXEC モードをイネーブルにします。プロンプトが表
示されたら、パスワードを入力します。
例:
Router> enable
ステップ 2 configure terminal
グローバル コンフィギュレーション モードを開始します。
例:
Router# configure terminal
ステップ 3 sip-ua
SIP ユーザ エージェント コンフィギュレーション モード
を開始します。
例:
Router(config)# sip-ua
ステップ 4 srv version {1 | 2}
RFC 2052 または RFC 2782 の形式を使用して DNS SRV
クエリーを生成します。キーワードは次のとおりです。
例:
Router(config-sip-ua)# srv version 2
• 1:ドメイン名のプレフィクス形式
「protocol.transport.」(RFC 2052 形式)
• 2:ドメイン名のプレフィクス形式
「_protocol._transport.」(RFC 2782 形式)
デフォルト:2。
ステップ 5 exit
現在のモードを終了します。
例:
Router(config-sip-ua)# exit
RFC 3261 への準拠の設定
RFC 3261 をイネーブルにするために必要な設定作業はありません。デフォルトではイネーブルになっ
ています。
RFC 3261、RFC 3262、および RFC 3264 への準拠の設定
ここでは、次の各手順について説明します。
• 「SIP メッセージングの設定」(P.37)
36
SIP の RFC 準拠の実現
SIP の FC 準拠の設定方法
• 「TCP および UDP 接続機能の設定」(P.37)
• 「大容量の SIP 要求に対するダイナミック トランスポート スイッチング(UPD から TCP)の設定」
(P.38)
• 「Call-Hold の設定」(P.41)
• 「Max Forwards の設定」(P.42)
SIP メッセージングの設定
設定は必要ありません。
TCP および UDP 接続機能の設定
非アクティビティのため SIP UA が TCP または UDP 接続を期限切れにするまでの時間を設定するに
は、次の手順を実行します。
手順の概要
1. enable
2. configure terminal
3. sip-ua
4. timers connection aging
5. exit
手順の詳細
コマンドまたはアクション
ステップ 1 enable
目的
特権 EXEC モードをイネーブルにします。プロンプトが表
示されたら、パスワードを入力します。
例:
Router> enable
ステップ 2 configure terminal
グローバル コンフィギュレーション モードを開始します。
例:
Router# configure terminal
ステップ 3 sip-ua
SIP ユーザ エージェント コンフィギュレーション モード
を開始します。
例:
Router(config)# sip-ua
37
SIP の RFC 準拠の実現
SIP の FC 準拠の設定方法
コマンドまたはアクション
ステップ 4 timers connection aging timer-value
例:
Router(config-sip-ua)# timers connection aging
5
ステップ 5 exit
目的
非アクティビティのため SIP UA が TCP または UDP 接続
を期限切れにするまでの時間を設定します。引数は次のと
おりです。
• timer-value:待機する時間(分)。範囲:5 ~ 30。デ
フォルト:5。
現在のモードを終了します。
例:
Router(config-sip-ua)# exit
大容量の SIP 要求に対するダイナミック トランスポート スイッチング(UPD から TCP)の設
定
RFC 3261 では、大容量の SIP 要求(最大伝送ユニット(MTU)が 200 バイト以内)は TCP を介して
伝送する必要があることが記載されています。TCP を介した転送により、UDP のフラグメンテーショ
ンが回避され、ゲートウェイが UDP を使用する設定されている場合であっても TCP への切り替えが
行われます。
次に示す設定では、UDP から TCP へ切り替えるためのゲートウェイの設定について説明します。イン
ターフェイスの MTU 設定がデフォルトの 1500 バイトであると想定します。設定後、しきい値は 1300
バイトとなります。つまり、1300 バイトを超えるすべての SIP 要求に対して、TCP が転送メカニズム
となります。
ダイナミック トランスポート スイッチングは、ダイヤル ピア ベースまたはグローバル ベースで設定
できます。
• 「大容量の SIP 要求に対するダイナミック トランスポート スイッチングのダイヤル ピア ベースで
の設定」(P.38)
• 「大容量の SIP 要求に対するダイナミック トランスポート スイッチングのグローバル ベースでの
設定」(P.39)
大容量の SIP 要求に対するダイナミック トランスポート スイッチングのダイヤル ピア ベースでの設定
特定のダイヤル ピアに対して UDP および TCP 転送メカニズム間のスイッチングを設定するには、次
の手順を実行します。
(注)
•
UDP から TCP へのダイナミック トランスポート スイッチングは、デフォルトではディセーブル
になっています。
• ダイヤル ピアの音声コンフィギュレーション モードでダイナミック トランスポート スイッチング
がイネーブルに設定されている場合、この設定がグローバル設定より優先されます。
手順の概要
1. enable
2. configure terminal
3. dial-peer voice voip
4. voice-class sip transport switch udp tcp
38
SIP の RFC 準拠の実現
SIP の FC 準拠の設定方法
5. exit
手順の詳細
コマンドまたはアクション
ステップ 1 enable
目的
特権 EXEC モードをイネーブルにします。プロンプトが表
示されたら、パスワードを入力します。
例:
Router> enable
ステップ 2 configure terminal
グローバル コンフィギュレーション モードを開始します。
例:
Router# configure terminal
ステップ 3 dial-peer voice tag voip
特定の VoIP ダイヤルピアで、ダイヤルピア コンフィギュ
レーション モードを開始します。
例:
Router(config)# dial-peer voice 25 voip
ステップ 4 voice-class sip transport switch udp tcp
例:
Router(config-dial-peer)# voice-class sip
transport switch udp tcp
特定のダイヤル ピアに対して、大容量の SIP 要求に関する
UDP および TCP 転送メカニズム間でのスイッチングをイ
ネーブルにします。キーワードは次のとおりです。
• udp:MTU サイズを超えている SIP 要求のサイズに基
づいて、UDP から転送を切り替えます。
• tcp:転送を TCP に切り替えます。
ステップ 5 exit
現在のモードを終了します。
例:
Router(config-dial-peer)# exit
大容量の SIP 要求に対するダイナミック トランスポート スイッチングのグローバル ベースでの設定
Cisco SIP ゲートウェイのすべての接続に対して UDP および TCP 転送メカニズム間のスイッチングを
設定するには、次の手順を実行します。
(注)
•
UDP から TCP へのダイナミック トランスポート スイッチングは、デフォルトではディセーブル
になっています。
• ダイヤル ピアの音声コンフィギュレーション モードでダイナミック トランスポート スイッチング
がイネーブルに設定されている場合、この設定がグローバル設定より優先されます。一致する
VoIP ダイヤル ピアがない場合に限り、次に示すグローバル設定を考慮してください。
手順の概要
1. enable
2. configure terminal
3. voice service voip
4. sip
39
SIP の RFC 準拠の実現
SIP の FC 準拠の設定方法
5. transport switch udp tcp
6. exit
手順の詳細
コマンドまたはアクション
ステップ 1 enable
目的
特権 EXEC モードをイネーブルにします。プロンプトが表
示されたら、パスワードを入力します。
例:
Router> enable
ステップ 2 configure terminal
グローバル コンフィギュレーション モードを開始します。
例:
Router# configure terminal
ステップ 3 voice service voip
音声サービス コンフィギュレーション モードを開始しま
す。
例:
Router(config)# voice service voip
ステップ 4 sip
SIP コンフィギュレーション モードを開始します。
例:
Router(config-voi-srv)# sip
ステップ 5 transport switch udp tcp
例:
Router(conf-serv-sip)# transport switch udp
tcp
大容量の SIP 要求に関する UDP および TCP 転送メカニズ
ム間でのスイッチングをグローバルにイネーブルにしま
す。キーワードは次のとおりです。
• udp:MTU サイズを超えている SIP 要求のサイズに基
づいて、UDP から転送を切り替えます。
• tcp:転送を TCP に切り替えます。
ステップ 6 exit
現在のモードを終了します。
例:
Router(conf-serv-sip)# exit
(注)
次のコマンドを使用すると、SIP の転送および接続設定の確認やトラブルシューティングに役立ちま
す。
• debug ccsip transport
• show sip-ua connections
上記コマンドおよび確認やトラブルシューティング用のその他のコマンドの詳細については、「SIP の
RFC 準拠の確認」(P.42)および「トラブルシューティングのヒント」(P.45)を参照してください。
40
SIP の RFC 準拠の実現
SIP の FC 準拠の設定方法
Call-Hold の設定
SIP ゲートウェイによる call-hold 要求の開始方法を指定するには、次の手順を実行します。
手順の概要
1. enable
2. configure terminal
3. sip-ua
4. offer call-hold
5. exit
手順の詳細
コマンドまたはアクション
ステップ 1 enable
目的
特権 EXEC モードをイネーブルにします。プロンプトが表
示されたら、パスワードを入力します。
例:
Router> enable
ステップ 2 configure terminal
グローバル コンフィギュレーション モードを開始します。
例:
Router# configure terminal
ステップ 3 sip-ua
SIP ユーザ エージェント コンフィギュレーション モード
を開始します。
例:
Router(config)# sip-ua
ステップ 4 offer call-hold {conn-addr | direction-attr}
例:
Router(config-sip-ua)# offer call-hold
direction-attr
SIP ゲートウェイによる call-hold 要求の開始方法を指定し
ます。キーワードは次のとおりです。
• conn-addr:call-hold 要求を開始するのに接続アドレ
スを使用する RFC 2543/RFC 3261 方式。0.0.0.0. を使
用します。
• direction-attr:call-hold 要求を開始するのに方向ア
トリビュートを使用する RFC 3264 方式。SDP で方向
アトリビュートを使用します。
ステップ 5 exit
現在のモードを終了します。
例:
Router(config-sip-ua)# exit
41
SIP の RFC 準拠の実現
SIP の FC 準拠の設定方法
Max Forwards の設定
SIP 要求を転送できるプロキシ サーバまたはリダイレクト サーバの最大数を設定するには、次の手順
を実行します。
手順の概要
1. enable
2. configure terminal
3. sip-ua
4. max-forwards
5. exit
手順の詳細
コマンドまたはアクション
ステップ 1 enable
目的
特権 EXEC モードをイネーブルにします。プロンプトが表
示されたら、パスワードを入力します。
例:
Router> enable
ステップ 2 configure terminal
グローバル コンフィギュレーション モードを開始します。
例:
Router# configure terminal
ステップ 3 sip-ua
SIP ユーザ エージェント コンフィギュレーション モード
を開始します。
例:
Router(config)# sip-ua
ステップ 4 max-forwards number
例:
Router(config-sip-ua)# max-forwards 65
ステップ 5 exit
ホップ、つまり SIP 要求を転送できるプロキシ サーバまた
はリダイレクト サーバの最大数を設定します。引数は次の
とおりです。
• number:転送数。範囲:1 ~ 70。デフォルト:70。
現在のモードを終了します。
例:
Router(config-sip-ua)# exit
SIP の RFC 準拠の確認
SIP RFC 準拠を確認するには、必要に応じて次の手順を実行します(コマンドは、アルファベット順
に示しています)。
(注)
42
通常の確認シーケンスには、show sip-ua connections コマンドのいずれかを使用してコールの統計情
報を表示し、続いて clear sip-ua tcp connection または clear sip-ua udp connection コマンドを適切
に使用することで統計情報をクリアします。
SIP の RFC 準拠の実現
SIP の FC 準拠の設定方法
手順の概要
1. show sip-ua connections
2. show sip-ua statistics
手順の詳細
ステップ 1
show sip-ua connections
コールが行われた後、このコマンドを使用して、接続の詳細を確認します。
次の出力例では、複数の宛先に対する複数のコールを示します。この例では UDP の詳細を示していま
すが、コマンド出力は TCP コールと同様です。
Router# show sip-ua connections udp detail
Total active connections : 2
No. of send failures : 0
No. of remote closures : 0
No. of conn. failures : 0
No. of inactive conn. ageouts : 0
---------Printing Detailed Connection Report--------Note:
** Tuples with no matching socket entry
- Do 'clear sip <tcp/udp> conn t ipv4:<addr>:<port>'
to overcome this error condition
++ Tuples with mismatched address/port entry
- Do 'clear sip <tcp/udp> conn t ipv4:<addr>:<port> id <connid>'
to overcome this error condition
Remote-Agent:172.18.194.183, Connections-Count:1
Remote-Port Conn-Id Conn-State WriteQ-Size
=========== ======= =========== ===========
5060 1 Established 0
Remote-Agent:172.19.154.18, Connections-Count:1
Remote-Port Conn-Id Conn-State WriteQ-Size
=========== ======= =========== ===========
5060 2 Established 0
次の出力例では、特定のターゲット(この場合は 172.18.194.183 、ポート 5060)への接続に関する
シーケンシャル表示とコール統計情報のクリアを示します。
注意
clear コマンドを使用する際は注意が必要です。コマンドについての問題または影響を理解しない
で不適切に使用すると、誤ったコール動作、不適切な接続の使用、および接続失敗を招くおそれが
あります。
1. show sip-ua connections コマンドの出力には、コール統計情報が表示されます。
Router# show sip-ua connections tcp detail
Total active connections : 1
No. of send failures : 0
No. of remote closures : 0
No. of conn. failures : 0
No. of inactive conn. ageouts : 0
Max. tcp send msg queue size of 1, recorded for 172.18.194.183:5060
---------Printing Detailed Connection Report--------Note:
** Tuples with no matching socket entry
- Do 'clear sip <tcp/udp> conn t ipv4:<addr>:<port>'
to overcome this error condition
43
SIP の RFC 準拠の実現
SIP の FC 準拠の設定方法
++ Tuples with mismatched address/port entry
- Do 'clear sip <tcp/udp> conn t ipv4:<addr>:<port> id <connid>'
to overcome this error condition
Remote-Agent:172.18.194.183, Connections-Count:1
Remote-Port Conn-Id Conn-State WriteQ-Size
=========== ======= =========== ===========
5060 1 Established 0
2. clear sip-ua tcp connection コマンドの出力には、統計情報がクリアされていることが示されま
す。
Router# clear sip-ua tcp connection id 1 target ipv4:172.18.194.183:5060
Purging the entry from sip tcp process
Purging the entry from reusable global connection table
3. show sip-ua connections コマンドの出力では、すべての接続が想定どおりにクリアされているこ
とを確認します。
Router# show sip-ua connections tcp detail
Total active connections : 0
No. of send failures : 0
No. of remote closures : 0
No. of conn. failures : 0
No. of inactive conn. ageouts : 0
Max. tcp send msg queue size of 1, recorded for 172.18.194.183:5060
---------Printing Detailed Connection Report--------Note:
** Tuples with no matching socket entry
- Do 'clear sip <tcp/udp> conn t ipv4:<addr>:<port>'
to overcome this error condition
++ Tuples with mismatched address/port entry
- Do 'clear sip <tcp/udp> conn t ipv4:<addr>:<port> id <connid>'
to overcome this error condition
Remote-Agent:172.18.194.183, Connections-Count:0
ステップ 2
show sip-ua statistics
このコマンドを使用して、UPDATE 要求を含む SIP 統計情報を表示します。
Router# show sip-ua statistics
SIP Response Statistics (Inbound/Outbound)
Informational
Trying 1/4, Ringing 0/0,
Forwarded 0/0, Queued 0/0,
SessionProgress 1/4
Success:
OkInvite 1/2, OkBye 1/2,
OkCancel 0/2, OkOptions 0/0,
OkPrack 1/4, OkPreconditionMet 0/0,
OkSubscribe 0/0, OkNotify 0/0,
OkInfo 0/0, 202Accepted 0/0,
OkUpdate 0/0
Redirection (Inbound only):
MultipleChoice 0, MovedPermanently 0,
MovedTemporarily 0, UseProxy 0,
AlternateService 0
Client Error:
BadRequest 0/0, Unauthorized 0/0,
PaymentRequired 0/0, Forbidden 0/0,
NotFound 0/0, MethodNotAllowed 0/0,
NotAcceptable 0/0, ProxyAuthReqd 0/0,
44
SIP の RFC 準拠の実現
SIP の FC 準拠の設定方法
ReqTimeout 0/0, Conflict 0/0, Gone 0/0,
ReqEntityTooLarge 0/0, ReqURITooLarge 0/0,
UnsupportedMediaType 0/0, BadExtension 0/0,
TempNotAvailable 0/0, CallLegNonExistent 0/0,
LoopDetected 0/0, TooManyHops 0/0,
AddrIncomplete 0/0, Ambiguous 0/0,
BusyHere 0/0, RequestCancel 0/2,
NotAcceptableMedia 0/0, BadEvent 0/0,
SETooSmall 0/0, RequestPending 0/0
Server Error:
InternalError 0/0, NotImplemented 0/0,
BadGateway 0/0, ServiceUnavail 2/0,
GatewayTimeout 0/0, BadSipVer 0/0,
PreCondFailure 0/0
Global Failure:
BusyEverywhere 0/0, Decline 0/0,
NotExistAnywhere 0/0, NotAcceptable 0/0
Miscellaneous counters:
RedirectRspMappedToClientErr 0
SIP Total Traffic Statistics (Inbound/Outbound)
Invite 4/4, Ack 4/3, Bye 2/1,
Cancel 2/0, Options 0/0,
Prack 4/1, Comet 0/0,
Subscribe 0/0, Notify 0/0,
Refer 0/0, Info 0/0,
Update 0/0
Retry Statistics
Invite 1, Bye 0, Cancel 0, Response 0,
Prack 0, Comet 0, Reliable1xx 0, Notify 0
SDP application statistics:
Parses: 6, Builds 10
Invalid token order: 0, Invalid param: 0
Not SDP desc: 0, No resource: 0
Last time SIP Statistics were cleared: <never>
トラブルシューティングのヒント
(注)
一般的なトラブルシューティングのヒント、および重要な debug コマンドについては、「一般的なトラ
ブルシューティングのヒント」(P.18)を参照してください。
• SIP 関連のデバッグをイネーブルにするには、debug ccsip all コマンドを使用します。
• debug ccsip transport コマンドを使用して、Invite メッセージを送信すると同時に、転送および
接続に関連する操作をデバッグします。
これらのコマンドの一部の出力例を、次に示します。
debug ccsip transport コマンドの出力例
ここで取り上げる操作は、次の内容を示しています。
• 接続が確立されており、Invite が送信されていること。
• 最初の Invite メッセージが UDP を介して転送されていること。
• リモート ターゲットつまり要求の送信先の詳細。
45
SIP の RFC 準拠の実現
SIP の RFC 準拠の設定例
• メッセージのサイズが MTU のしきい値サイズを超えていること。このため、トランスポート ス
イッチング(UDP から TCP へ)がイネーブルになっていること。
• 接続アルゴリズムが開始されている、つまり、非アクティビティが発生した場合、TCP または
UDP 接続を期限切れにするためのカウンタが開始されていること。
Router# debug ccsip transport
.
.
.
1w1d: //18/8E16980D800A/SIP/Transport/sipSPISendInvite: Sending Invite to the transport
layer
1w1d: //18/8E16980D800A/SIP/Transport/sipSPIGetSwitchTransportFlag: Return the Global
configuration, Switch Transport is TRUE
1w1d: //18/8E16980D800A/SIP/Transport/sipSPITransportSendMessage: msg=0x64082D50,
addr=172.18.194.183, port=5060, sentBy_port=0, is_req=1, transport=1, switch=1,
callBack=0x614FAB58
1w1d: //18/8E16980D800A/SIP/Transport/sipSPITransportSendMessage: Proceedable for sending
msg immediately
1w1d: //18/8E16980D800A/SIP/Transport/sipTransportLogicSendMsg: switch transport is 1
1w1d: //-1/xxxxxxxxxxxx/SIP/Transport/sipTransportGetInterfaceMtuSize: MTU size for remote
address 172.18.194.183 is 500
1w1d: //-1/xxxxxxxxxxxx/SIP/Transport/sipTransportVerifyMsgForMTUThreshold: Interface MTU
Size 500, Msg Size 1096
1w1d: //18/8E16980D800A/SIP/Transport/sipTransportLogicSendMsg: Switching msg=0x64082D50
transport UDP->TCP
1w1d: //-1/xxxxxxxxxxxx/SIP/Transport/sipTransportSetAgeingTimer: Aging timer initiated
for holder=0x64084058,addr=172.18.194.183
1w1d: //-1/xxxxxxxxxxxx/SIP/Transport/sipCreateConnHolder: Created new holder=0x64084058,
addr=172.18.194.183
1w1d: //-1/xxxxxxxxxxxx/SIP/Transport/sipTransportPostRequestConnection: Posting TCP conn
create request for addr=172.18.194.183, port=5060, context=0x64128D5C
1w1d: //-1/xxxxxxxxxxxx/SIP/Transport/sipTransportSetConnWaitTimer: Wait timer set for
connection=0x64129BF4,addr=172.18.194.183, port=5060
1w1d: //-1/xxxxxxxxxxxx/SIP/Transport/sipCreateConnInstance: Created new initiated
conn=0x64129BF4, connid=-1, addr=172.18.194.183, port=5060, transport=tcp
1w1d: //-1/xxxxxxxxxxxx/SIP/Transport/sipConnectionManagerProcessConnCreated:
gConnTab=0x64128D5C, addr=172.18.194.183, port=5060, connid=1, transport=tcp
1w1d: //-1/xxxxxxxxxxxx/SIP/Transport/sipInstanceHandleConnectionCreated: Moving
connection=0x64129BF4, connid=1state to pending
1w1d: //-1/xxxxxxxxxxxx/SIP/Transport/sipTransportProcessNWConnectionCreated:
context=0x64128D5C
1w1d: //-1/xxxxxxxxxxxx/SIP/Transport/sipConnectionManagerProcessConnCreated:
gConnTab=0x64128D5C, addr=172.18.194.183, port=5060, connid=1, transport=tcp
1w1d: //-1/xxxxxxxxxxxx/SIP/Transport/sipTransportPostSendMessage: Posting send for
msg=0x64082D50, addr=172.18.194.183, port=5060, connId=1 for TCP
.
.
.
SIP の RFC 準拠の設定例
ここでは、次の設定例について説明します。
• 「RFC 3261、RFC 3262、および RFC 3264 に対する SIP ゲートウェイの準拠」(P.47)
(注)
46
例に示す IP アドレスおよびホスト名は架空のものです。
SIP の RFC 準拠の実現
SIP の RFC 準拠の設定例
RFC 3261、RFC 3262、および RFC 3264 に対する SIP ゲートウェイの
準拠
ここでは、前の項で説明した設定作業に対応する設定例を示します。
1w1d: %SYS-5-CONFIG_I: Configured from console by console
Building configuration...
Current configuration : 3326 bytes
!
!Last configuration change at 18:09:20 EDT Fri Apr 23 2004
!
version 12.3
service timestamps debug uptime
service timestamps log uptime
no service password-encryption
boot-start-marker
boot system tftp mantis/c3640-is-mz.disc_w_pi 172.18.207.10
boot-end-marker
!
clock timezone EST -5
clock summer-time EDT recurring
voice-card 3
!
aaa new-model
!
aaa accounting connection h323 start-stop group radius
aaa nas port extended
aaa session-id common
ip subnet-zero
!
ip cef
ip host example.com 172.18.194.183
ip host CALLGEN-SECURITY-V2 10.36.54.81 10.1.0.0
ip name-server 172.18.192.48
!
isdn switch-type primary-ni
!
trunk group 1
!
voice service voip
sip
rel1xx require "100rel"
transport switch udp tcp
!
voice class uri 800 sip
pattern [email protected]
!
controller T1 3/0
framing sf
linecode ami
pri-group timeslots 1-24
!
controller T1 3/1
framing sf
linecode ami
pri-group timeslots 1-24
gw-accounting aaa
!
interface Ethernet0/0
description CentreComm Hub port 9 in PP070
ip address 172.18.194.170 255.255.255.0
47
SIP の RFC 準拠の実現
SIP の RFC 準拠の設定例
no ip proxy-arp
ip mtu 500
half-duplex
no cdp enable
ip rsvp bandwidth 100 100
!
interface Serial3/0:23
no ip address
no logging event link-status
isdn switch-type primary-ni
isdn incoming-voice voice
no cdp enable
!
interface Serial3/1:23
no ip address
no logging event link-status
isdn switch-type primary-ni
isdn protocol-emulate network
isdn incoming-voice voice
no cdp enable
!
no ip http server
ip classless
ip route 0.0.0.0 0.0.0.0 172.18.194.1
ip route 0.0.0.0 0.0.0.0 Ethernet0/0
ip route 10.0.0.0 255.0.0.0 172.18.194.1
ip route 172.16.0.0 255.0.0.0 Ethernet0/0
!
dialer-list 1 protocol ip permit
no cdp run
!
radius-server host 10.13.84.133 auth-port 1645 acct-port 1646
radius-server timeout 2
radius-server key cisco
radius-server vsa send accounting
radius-server vsa send authentication
!
control-plane
!
call application voice testapp79 tftp://172.18.207.10/mantis/my_app.tcl
call application voice testapp888 tftp://172.18.207.10/mantis/AL_FEAT_SIP_URL_O_RV_79.tcl
call application voice testapp888 mcid-dtmf 9876
call application voice testapp888 test 5444
!
voice-port 1/1/0
!
voice-port 1/1/1
!
voice-port 3/0:23
!
voice-port 3/1:23
!
dial-peer cor custom
!
dial-peer voice 9876 voip
destination-pattern 9876
voice-class sip transport switch udp tcp
session protocol sipv2
session target ipv4:172.18.194.183
session transport udp
!
dial-peer voice 222 pots
incoming called-number .
direct-inward-dial
48
SIP の RFC 準拠の実現
SIP の RFC 準拠の設定例
!
sip-ua
max-forwards 65
retry invite 4
retry bye 4
retry cancel 4
retry comet 4
retry notify 4
timers connection aging 15
offer call-hold conn-addr
!
line con 0
exec-timeout 0 0
line vty 0 4
password password1
ntp clock-period 17179695
ntp server 172.18.194.178
ntp server 10.81.254.131
!
end
49
SIP の RFC 準拠の実現
その他の参考資料
その他の参考資料
関連資料
関連項目
参照先
『Cisco IOS SIP Configuration Guide』の「Features
Roadmap」の章
http://www.cisco.com/en/US/docs/ios/voice/sip/configuration/guide
/sip_cg-roadmap.html
『Cisco IOS SIP Configuration Guide』の「Overview
of SIP 」の章
http://www.cisco.com/en/US/docs/ios/voice/sip/configuration/guide
/sip_cg-overview.html
『Cisco IOS Tcl IVR and VoiceXML Application Guide』 Cisco IOS リリース 12.3(14)T 以降:
http://www.cisco.com/en/US/docs/ios/voice/ivr/configuration/guide
/tcl_c.html
12.3(14)T よりも前の Cisco IOS リリース:
http://www.cisco.com/en/US/docs/ios/voice/ivr/pre12.3_14_t/confi
guration/guide/ivrapp.pdf
『Cisco IOS Voice Command Reference』
http://www.cisco.com/en/US/docs/ios/voice/command/reference/vr
_book.html
『Cisco Unified Communications Manager Express
Command Reference』
http://www.cisco.com/en/US/docs/voice_ip_comm/cucme/comman
d/reference/cme_cr.html
Cisco Unified Communications Manager Express のサ http://www.cisco.com/en/US/products/sw/voicesw/ps4625/tsd_prod
ucts_support_series_home.html
ポート ドキュメント
『Cisco Unified SIP SRST System Administrator Guide』 http://www.cisco.com/en/US/docs/voice_ip_comm/cusrst/admin/sip
srst/configuration/guide/spsrst41.html
『Cisco VoiceXML Programmer's Guide』
http://www.cisco.com/en/US/docs/ios/voice/vxml/developer/guide/
vxmlprg.html
『SIP Gateway Support of RSVP and TEL URL』
http://www.cisco.com/en/US/docs/ios/12_2t/12_2t11/feature/guide/
vvfresrv.html
『Tcl IVR API Version 2.0 Programming Guide』
http://www.cisco.com/en/US/docs/ios/voice/tcl/developer/guide/tcli
vrv2.html
規格
規格
国際標準化機構(ISO)仕様、ISO 639
タイトル
「Codes for Representation of Names of Languages 」
MIB
MIB
MIB リンク
なし
選択したプラットフォーム、Cisco IOS リリース、および機能セッ
トの MIB を検索してダウンロードする場合は、次の URL にある
Cisco MIB Locator を使用します。
http://www.cisco.com/go/mibs
50
SIP の RFC 準拠の実現
その他の参考資料
RFC
RFC
タイトル
RFC 2833
「RTP Payload for DTMF Digits, Telephony Tones and Telephony
Signals」
RFC 3261
「SIP: Session Initiation Protocol」
RFC 3262
「Reliability of Provisional Responses in the Session Initiation
Protocol (SIP)」
RFC 3264
「An Offer/Answer Model with the Session Description Protocol
(SDP)」
RFC 3265
「Session Initiation Protocol (SIP)-Specific Event Notification」
RFC 3312
「Integration of Resource Management and Session Initiation
Protocol (SIP)」
RFC 3323
「A Privacy Mechanism for the Session Initiation Protocol (SIP)」
RFC 3325
「Private Extensions to the Session Initiation Protocol (SIP) for
Asserted Identity within Trusted Networks」
RFC 3326
「The Reason Header Field for the Session Initiation Protocol (SIP)」
RFC 4028
「Session Timers in the Session Initiation Protocol (SIP)」
RFC 4244
「An Extension to the Session Initiation Protocol (SIP) for Request
History Information」
51
SIP の RFC 準拠の実現
その他の参考資料
シスコのテクニカル サポート
説明
リンク
Cisco Support Web サイトには、資料やツールなど幅 http://www.cisco.com/techsupport
広いオンライン リソースが用意されており、シスコの
製品およびテクノロジーに関するトラブルシューティ
ングや技術的な問題の解決などに役立てることができ
ます。
以下を含むさまざまな作業にこの Web サイトが役立
ちます。
• テクニカル サポートを受ける
• ソフトウェアをダウンロードする
• セキュリティの脆弱性を報告する、またはシスコ
製品のセキュリティ問題に対する支援を受ける
• ツールおよびリソースへアクセスする
• Product Alert の受信登録
• Field Notice の受信登録
• Bug Toolkit を使用した既知の問題の検索
• Networking Professionals(NetPro)コミュニ
ティで、技術関連のディスカッションに参加する
• トレーニング リソースへアクセスする
• TAC Case Collection ツールを使用して、ハード
ウェアや設定、パフォーマンスに関する一般的な
問題をインタラクティブに特定および解決する
Japan テクニカル サポート Web サイトでは、Technical
Support Web サイト (http://www.cisco.com/techsupport)
の、利用頻度の高いドキュメントを日本語で提供してい
ます。Japan テクニカル サポート Web サイトには、次の
URL からアクセスしてください。
http://www.cisco.com/jp/go/tac
CCDE, CCENT, CCSI, Cisco Eos, Cisco HealthPresence, Cisco IronPort, the Cisco logo, Cisco Nurse Connect, Cisco Pulse,
Cisco SensorBase, Cisco StackPower, Cisco StadiumVision, Cisco TelePresence, Cisco Unified Computing System, Cisco WebEx, DCE,
Flip Channels, Flip for Good, Flip Mino, Flipshare (Design), Flip Ultra, Flip Video, Flip Video (Design), Instant Broadband, and Welcome
to the Human Network are trademarks; Changing the Way We Work, Live, Play, and Learn, Cisco Capital, Cisco Capital (Design),
Cisco:Financed (Stylized), Cisco Store, Flip Gift Card, and One Million Acts of Green are service marks; and Access Registrar, Aironet,
AllTouch, AsyncOS, Bringing the Meeting To You, Catalyst, CCDA, CCDP, CCIE, CCIP, CCNA, CCNP, CCSP, CCVP, Cisco, the
Cisco Certified Internetwork Expert logo, Cisco IOS, Cisco Lumin, Cisco Nexus, Cisco Press, Cisco Systems, Cisco Systems Capital, the
Cisco Systems logo, Cisco Unity, Collaboration Without Limitation, Continuum, EtherFast, EtherSwitch, Event Center, Explorer, Follow
Me Browsing, GainMaker, iLYNX, IOS, iPhone, IronPort, the IronPort logo, Laser Link, LightStream, Linksys, MeetingPlace,
MeetingPlace Chime Sound, MGX, Networkers, Networking Academy, PCNow, PIX, PowerKEY, PowerPanels, PowerTV, PowerTV
(Design), PowerVu, Prisma, ProConnect, ROSA, SenderBase, SMARTnet, Spectrum Expert, StackWise, WebEx, and the WebEx logo are
registered trademarks of Cisco Systems, Inc. and/or its affiliates in the United States and certain other countries.
All other trademarks mentioned in this document or website are the property of their respective owners. The use of the word partner does
not imply a partnership relationship between Cisco and any other company. (0910R)
このマニュアルで使用している IP アドレスおよび電話番号は、実際のアドレスおよび電話番号を示すものではありません。マニュアル
内の例、コマンド出力、ネットワーク トポロジ図、およびその他の図は、説明のみを目的として使用されています。説明の中に実際の
アドレスおよび電話番号が使用されていたとしても、それは意図的なものではなく、偶然の一致によるものです。
© 2002–2009 Cisco Systems, Inc.
All rights reserved.
52
SIP の RFC 準拠の実現
その他の参考資料
Copyright © 2002–2010, シスコシステムズ合同会社 .
All rights reserved.
53
SIP の RFC 準拠の実現
その他の参考資料
54
Fly UP