[要約] RFC 7403は、SIPにおけるメディアベースのトレースルート機能についての規格です。このRFCの目的は、SIPセッションの経路を特定するための新しいトレースルートメカニズムを提供することです。
Internet Engineering Task Force (IETF) H. Kaplan Request for Comments: 7403 Oracle Category: Standards Track November 2014 ISSN: 2070-1721
A Media-Based Traceroute Function for the Session Initiation Protocol (SIP)
セッション開始プロトコル(SIP)のメディアベースのtraceroute機能
Abstract
概要
SIP already provides the ability to perform hop-by-hop traceroute for SIP messages using the Max-Forwards header field to determine the reachability path of requests to a target. A mechanism for media-loopback calls has also been defined separately, which enables test calls to be generated that result in media being looped back to the originator. This document describes a means of performing hop-by-hop traceroute-style test calls using the media-loopback mechanism to test the media path when SIP sessions go through media-relaying back-to-back user agents (B2BUAs).
SIPはすでに、Max-Forwardsヘッダーフィールドを使用してSIPメッセージのホップバイホップtracerouteを実行し、ターゲットへの要求の到達可能性パスを決定する機能を提供しています。メディアループバックコールのメカニズムも個別に定義されています。これにより、テストコールを生成して、メディアを発信者にループバックできます。このドキュメントでは、メディアループバックメカニズムを使用してホップバイホップのtracerouteスタイルのテストコールを実行し、SIPセッションがメディアリレーバックツーバックユーザーエージェント(B2BUA)を通過するときにメディアパスをテストする方法について説明します。
Status of This Memo
本文書の状態
This is an Internet Standards Track document.
これはInternet Standards Trackドキュメントです。
This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Further information on Internet Standards is available in Section 2 of RFC 5741.
このドキュメントは、IETF(Internet Engineering Task Force)の製品です。これは、IETFコミュニティのコンセンサスを表しています。公開レビューを受け、インターネットエンジニアリングステアリンググループ(IESG)による公開が承認されました。インターネット標準の詳細については、RFC 5741のセクション2をご覧ください。
Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at http://www.rfc-editor.org/info/rfc7403.
このドキュメントの現在のステータス、エラータ、およびフィードバックの提供方法に関する情報は、http://www.rfc-editor.org/info/rfc7403で入手できます。
Copyright Notice
著作権表示
Copyright (c) 2014 IETF Trust and the persons identified as the document authors. All rights reserved.
Copyright(c)2014 IETF Trustおよびドキュメントの作成者として識別された人物。全著作権所有。
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.
この文書は、BCP 78およびこの文書の発行日に有効なIETF文書に関するIETFトラストの法的規定(http://trustee.ietf.org/license-info)の対象となります。これらのドキュメントは、このドキュメントに関するあなたの権利と制限を説明しているため、注意深く確認してください。このドキュメントから抽出されたコードコンポーネントには、Trust Legal Provisionsのセクション4.eに記載されているSimplified BSD Licenseのテキストが含まれている必要があり、Simplified BSD Licenseに記載されているように保証なしで提供されます。
Table of Contents
目次
1. Introduction ....................................................2 2. Terminology .....................................................3 3. The SIP Traceroute Mechanism ....................................4 3.1. Processing a Received Max-Forwards Header Field ............4 3.2. Answering the INVITE .......................................5 4. Security Considerations .........................................5 5. Normative References ............................................6 Acknowledgments ....................................................7 Author's Address....................................................7
In many deployments, the media for SIP-created sessions does not flow directly from the originating User Agent Client (UAC) to the answering User Agent Server (UAS). Often, SIP B2BUAs in the SIP signaling path also insert themselves in the media plane path by manipulating Session Description Protocol (SDP), either for injecting media such as rich ringtones or music-on-hold or for relaying media in order to provide functions such as transcoding, IPv4-IPv6 conversion, NAT traversal, Secure Realtime Transport Protocol (SRTP) termination, media steering, etc.
多くの展開では、SIPで作成されたセッションのメディアは、元のユーザーエージェントクライアント(UAC)から応答側のユーザーエージェントサーバー(UAS)に直接流れません。多くの場合、SIPシグナリングパスのSIP B2BUAは、リッチ着信音や保留音などのメディアを注入したり、そのような機能を提供するためにメディアを中継したりするために、Session Description Protocol(SDP)を操作することにより、メディアプレーンパスにも自分自身を挿入しますトランスコーディング、IPv4-IPv6変換、NATトラバーサル、セキュアリアルタイムトランスポートプロトコル(SRTP)ターミネーション、メディアステアリングなど
As more SIP domains get deployed and interconnected, the odds of a SIP session crossing such media-plane B2BUAs increases as well as the number of such B2BUAs any given SIP session may go through. In other words, any given SIP session may cross any number of B2BUAs both in the SIP signaling plane as well as the media plane.
より多くのSIPドメインが展開および相互接続されると、そのようなメディアプレーンB2BUAを通過するSIPセッションのオッズ、および特定のSIPセッションが通過するそのようなB2BUAの数が増加します。言い換えると、任意の特定のSIPセッションは、SIPシグナリングプレーンとメディアプレーンの両方で任意の数のB2BUAを通過できます。
When a failure or degradation occurs in the media plane, it is difficult to determine where in the media path it occurred. In order to aid managing and troubleshooting SIP-based sessions and media traversing such B2BUAs, it would be useful to progressively test the media path as it reaches successive B2BUAs with a test controlled solely by the source User Agent (UA). A mechanism to perform media-loopback test sessions has been defined in [RFC6849], but it cannot be used directly to test B2BUAs because, typically, the B2BUAs do not have an Address of Record (AOR) to be targeted, nor is it known a priori which B2BUAs will be traversed for any given session.
メディアプレーンで障害または劣化が発生した場合、メディアパスのどこで発生したかを特定することは困難です。 SIPベースのセッションの管理とトラブルシューティング、およびそのようなB2BUAを通過するメディアを支援するために、ソースユーザーエージェント(UA)によってのみ制御されるテストでメディアパスが連続するB2BUAに到達するときに、メディアパスを徐々にテストすることは有用です。メディアループバックテストセッションを実行するメカニズムは[RFC6849]で定義されていますが、通常はB2BUAをテストするために直接使用することはできません。これは、通常、B2BUAにはターゲットとなるレコードのアドレス(AOR)がないか、既知ではないためです特定のセッションでB2BUAをたどるアプリオリ。
For example, suppose calls from Alice to Bob have media problems. Alice would like to test the media path to each B2BUA in the path to Bob separately, to determine which segment has the issues. Alice cannot target the B2BUAs directly for each test call; she doesn't know which URIs to use to target them, nor would using such URIs guarantee the same media path be used as a call to Bob. A better solution would be to make a test call targeted to Bob, but with a SIP traceroute-type mechanism that makes the call terminate at the B2BUAs, such that she can perform test sessions to test the media path to each downstream B2BUA.
たとえば、アリスからボブへのコールにメディアの問題があるとします。アリスは、ボブへのパス内の各B2BUAへのメディアパスを個別にテストして、問題のあるセグメントを特定したいと考えています。アリスは、各テストコールのB2BUAを直接ターゲットにすることはできません。彼女はそれらをターゲットにするために使用するURIを知りません。また、そのようなURIを使用しても、ボブへの呼び出しとして同じメディアパスが使用されることが保証されません。より良い解決策は、ボブをターゲットとするテストコールを作成することですが、B2BUAでコールを終了させるSIP tracerouteタイプのメカニズムを使用して、テストセッションを実行して各ダウンストリームB2BUAへのメディアパスをテストできます。
This document defines how such a mechanism can be employed, using the mechanism in [RFC6849] along with the Max-Forwards SIP header field such that a SIP UA can make multiple test calls, each reaching a B2BUA further downstream. Each B2BUA in the path that supports the mechanism in [RFC6849] would answer the media-loopback call; thus, the originating SIP UA can test the media path up to that B2BUA.
このドキュメントでは、[RFC6849]のメカニズムとMax-Forwards SIPヘッダーフィールドを使用して、そのようなメカニズムをどのように使用できるかを定義し、SIP UAが複数のテストコールを作成し、それぞれがB2BUAにさらに下流に到達できるようにします。 [RFC6849]のメカニズムをサポートするパスの各B2BUAは、メディアループバックコールに応答します。したがって、発信元のSIP UAは、そのB2BUAまでのメディアパスをテストできます。
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119].
このドキュメントのキーワード「MUST」、「MUST NOT」、「REQUIRED」、「SHALL」、「SHALL NOT」、「SHOULD」、「SHOULD NOT」、「RECOMMENDED」、「MAY」、および「OPTIONAL」は、 [RFC2119]で説明されているように解釈されます。
B2BUA: a SIP Back-to-Back User Agent, which is the logical combination of a User Agent Server (UAS) and User Agent Client (UAC).
B2BUA:SIPバックツーバックユーザーエージェント。ユーザーエージェントサーバー(UAS)とユーザーエージェントクライアント(UAC)の論理的な組み合わせです。
UAS: a SIP User Agent Server
UAS:SIPユーザーエージェントサーバー
UAC: a SIP User Agent Client
UAC:SIPユーザーエージェントクライアント
Traceroute: a mechanism to trace a path of hops from an originator to a destination. For IP, this is typically done using the Time To Live (TTL) field of the IP header, starting at the value 1 and incrementing by 1 as each IP hop responds with an ICMP error. For SIP, this can be done using Max-Forwards header field starting with the value 0, in a similar fashion to the TTL field.
Traceroute:発信者から宛先までのホップのパスを追跡するメカニズム。 IPの場合、これは通常、IPヘッダーのTime To Live(TTL)フィールドを使用して行われ、値1から始まり、各IPホップがICMPエラーで応答するたびに1ずつ増加します。 SIPの場合、これは、TTLフィールドと同様の方法で、値0で始まるMax-Forwardsヘッダーフィールドを使用して行うことができます。
It is assumed the reader is already familiar with media-loopback [RFC6849].
読者がすでにメディアループバック[RFC6849]に精通していることを前提としています。
The Max-Forwards header field can already be used to generate a simple SIP-request traceroute by generating a SIP request initially using a Max-Forwards value of 0, receiving a 483 Too Many Hops response from the next-hop, and then incrementing the value for subsequent SIP requests; one would thereby reach SIP devices further and further downstream, receiving 483 from each of them.
Max-Forwardsヘッダーフィールドは、最初にMax-Forwards値0を使用してSIP要求を生成し、ネクストホップから483 Too Many Hops応答を受信してからインクリメントすることにより、単純なSIP要求tracerouteを生成するためにすでに使用できます後続のSIPリクエストの値。これにより、さらに下流のSIPデバイスに到達し、それぞれから483を受信します。
The mechanism described in this document uses such a traceroute of a Max-Forwards style to perform media-loopback testing. To perform a SIP media-plane traceroute, the originating UAC (Alice) generates a SIP INVITE to a target AOR (Bob), with a Max-Forwards header field value of 0 and with SDP based on [RFC6849]. The SIP next-hop will either reject the request with a 483 Too Many Hops response or, if the next-hop is a B2BUA that supports this mechanism and if the B2BUA allows such testing from the requesting UAC, the B2BUA will answer the INVITE to establish the dialog and create a media-loopback session.
このドキュメントで説明するメカニズムは、このようなMax-Forwardsスタイルのtracerouteを使用して、メディアループバックテストを実行します。 SIPメディアプレーンtracerouteを実行するために、発信元UAC(アリス)は、ターゲットAOR(ボブ)へのSIP INVITEを生成します。Max-Forwardsヘッダーフィールド値は0、SDPは[RFC6849]に基づいています。 SIPネクストホップは、483 Too Many Hops応答で要求を拒否します。または、ネクストホップがこのメカニズムをサポートするB2BUAであり、B2BUAが要求側UACからのそのようなテストを許可する場合、B2BUAはINVITEに応答します。ダイアログを確立し、メディアループバックセッションを作成します。
The originating UAC can then end the media-loopback session, generate another INVITE to the same target AOR with a Max-Forwards header field value of 1, which will reach the second SIP next-hop, and so on.
次に、元のUACはメディアループバックセッションを終了し、2番目のSIPネクストホップに到達するMax-Forwardsヘッダーフィールド値が1の同じターゲットAORに別のINVITEを生成します。
A SIP Reason header field cause value of '483' (as defined in [RFC3326]) will be in the 200 answer from each B2BUA answering the INVITE, until the INVITE reaches the final UAS (Bob), which does not use the Reason cause value (see Section 3.2 for details).
SIP Reasonヘッダーフィールドの原因値「483」([RFC3326]で定義)は、INVITEが最終UAS(Bob)に到達するまで、INVITEに応答する各B2BUAからの200応答に含まれます。値(詳細はセクション3.2を参照)。
Using this mechanism, a SIP UAC can test the path from itself to each successive B2BUA on the path to a target. Such a mechanism could also be useful for establishing a permanent test call between an Enterprise and a Service Provider across a SIP Trunk, for example, or for automated measurement systems to test the media path between domains, etc.
このメカニズムを使用して、SIP UACはそれ自体からターゲットへのパス上の連続する各B2BUAへのパスをテストできます。このようなメカニズムは、たとえば、SIPトランクを介して企業とサービスプロバイダー間の永続的なテストコールを確立する場合や、自動測定システムがドメイン間のメディアパスをテストする場合などにも役立ちます。
As currently defined in [RFC3261], the UAS half of a B2BUA does not technically need to inspect the Max-Forwards header field value for received requests: only Proxies do. This behavior was updated by [RFC7332], such that a compliant B2BUA needs to both inspect the value in order to prevent loops, as well as copy and decrement the value as if it were a Proxy. This document also requires such behavior in order for the mechanism to succeed; therefore, a B2BUA supporting the traceroute mechanism defined in this document MUST also comply with [RFC7332].
[RFC3261]で現在定義されているように、B2BUAのUASハーフは、技術的には受信したリクエストのMax-Forwardsヘッダーフィールド値を検査する必要はありません。プロキシのみが検査します。この動作は[RFC7332]によって更新されたため、準拠B2BUAは、ループを防止するために値を検査し、プロキシのように値をコピーおよびデクリメントする必要があります。このドキュメントでは、メカニズムが成功するためにそのような動作も必要です。したがって、このドキュメントで定義されているtracerouteメカニズムをサポートするB2BUAも[RFC7332]に準拠している必要があります。
If a SIP B2BUA receives a dialog-creating INVITE request with a Max-Forwards header value of 0, with SDP for media-loopback based on [RFC6849], and the policies of the B2BUA allow it to answer such a request, then it is answered as if the original target of the request were the local SIP B2BUA. The normal procedures of SIP apply, as well as [RFC6849], as if the request had been targeted at the local B2BUA device as the intended destination all along.
SIP B2BUAが、[RFC6849]に基づくメディアループバック用のSDPを使用して、Max-Forwardsヘッダー値が0のダイアログ作成INVITE要求を受信し、B2BUAのポリシーがそのような要求への応答を許可している場合、リクエストの元のターゲットがローカルのSIP B2BUAであるかのように答えました。 [RFC6849]と同様に、SIPの通常の手順が適用され、あたかも要求が意図された宛先としてローカルB2BUAデバイスをターゲットとしていたかのように処理されます。
In the 200 response for the INVITE, the B2BUA MUST also add a Reason header, per [RFC3326], with a protocol field value of "SIP", a cause field value of "483", and a reason-text value of "Traceroute Response". The purpose of the Reason header is to indicate to the UAC that the request is being answered due to reaching a Max-Forwards of 0, rather than being answered due to reaching the final UAS. When the ultimate target UAS answers a loopback-based INVITE with a Max-Forwards greater than or equal to 0, the Reason header would not be added to the response and the UAC will know the traceroute is complete.
INVITEの200応答では、B2BUAは、[RFC3326]に従って、プロトコルフィールド値が "SIP"、原因フィールド値が "483"、理由テキスト値が "Traceroute"の理由ヘッダーも追加する必要があります(MUST)。応答"。 Reasonヘッダーの目的は、要求が最終UASに到達したために応答されるのではなく、Max-Forwards 0に到達したために応答されていることをUACに示すことです。最終的なターゲットUASが0以上のMax-ForwardsでループバックベースのINVITEに応答すると、Reasonヘッダーは応答に追加されず、UACはtracerouteが完了したことを認識します。
If a B2BUA receives an INVITE with media-loopback SDP and a Max-Forwards header field value of 0, as defined in this document, and it does not accept the session (e.g., due to local policy), then it SHOULD respond with a 483 Too Many Hops response, per the normal rules of [RFC3261], as it would previously. In other words, in such a case, it behaves no differently than it would have if it did not support this document's new behavior.
B2BUAが、このドキュメントで定義されているように、メディアループバックSDPと0のMax-Forwardsヘッダーフィールド値を持つINVITEを受信し、(たとえば、ローカルポリシーのために)セッションを受け入れない場合は、以前と同様に、[RFC3261]の通常のルールに従って、483 Too Many Hops応答。つまり、このような場合、このドキュメントの新しい動作をサポートしていなかった場合と同じように動作します。
There are security implications for the mechanism defined in this document. Answering media-loopback calls in a B2BUA consumes resources on the B2BUA, and network bandwidth in between and, thus, exposes a vector for denial-of-service (DoS) attacks; therefore, B2BUAs should provide configuration options to control who can make such test calls, how many concurrent calls can be established and maintained, and how long calls can continue. Entities that deploy B2BUAs should set these options to values that reduce the DoS risk to an acceptable level. For example, a B2BUA might perform digest-challenge authentication with specific credentials for such calls or it might only allow specific sources to make such calls, at a specific time. Such policies are typically vendor specific based on local policies and deployment usage scenarios and cannot be explicitly defined in this document.
このドキュメントで定義されているメカニズムには、セキュリティ上の影響があります。 B2BUAでのメディアループバックコールに応答すると、B2BUA上のリソースが消費され、その間のネットワーク帯域幅が消費されるため、サービス拒否(DoS)攻撃のベクトルが明らかになります。したがって、B2BUAは、そのようなテストコールを発信できるユーザー、確立および維持できる同時コールの数、およびコールを継続できる時間を制御する構成オプションを提供する必要があります。 B2BUAを展開するエンティティは、これらのオプションを、DoSリスクを許容可能なレベルに低減する値に設定する必要があります。たとえば、B2BUAは、そのような呼び出しに対して特定の資格情報を使用してダイジェストチャレンジ認証を実行したり、特定のソースが特定の時間にのみそのような呼び出しを行ったりできるようにします。このようなポリシーは通常、ローカルポリシーと展開の使用シナリオに基づいてベンダー固有であり、このドキュメントで明示的に定義することはできません。
The security considerations of [RFC6849] also apply to this document. Since B2BUAs are not end-user devices, there is no human user to monitor the loopback session activity on the B2BUA as recommended in [RFC6849]; instead, B2BUAs should log such events or provide some form of administrative notification.
[RFC6849]のセキュリティに関する考慮事項は、このドキュメントにも適用されます。 B2BUAはエンドユーザーデバイスではないため、[RFC6849]で推奨されているように、B2BUAのループバックセッションアクティビティを監視する人間のユーザーは存在しません。代わりに、B2BUAはそのようなイベントをログに記録するか、なんらかの形式の管理通知を提供する必要があります。
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997, <http://www.rfc-editor.org/info/rfc2119>.
[RFC2119] Bradner、S。、「要件レベルを示すためにRFCで使用するキーワード」、BCP 14、RFC 2119、1997年3月、<http://www.rfc-editor.org/info/rfc2119>。
[RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A., Peterson, J., Sparks, R., Handley, M., and E. Schooler, "SIP: Session Initiation Protocol", RFC 3261, June 2002, <http://www.rfc-editor.org/info/rfc3261>.
[RFC3261] Rosenberg、J.、Schulzrinne、H.、Camarillo、G.、Johnston、A.、Peterson、J.、Sparks、R.、Handley、M。、およびE. Schooler、「SIP:Session Initiation Protocol」 、RFC 3261、2002年6月、<http://www.rfc-editor.org/info/rfc3261>。
[RFC3326] Schulzrinne, H., Oran, D., and G. Camarillo, "The Reason Header Field for the Session Initiation Protocol (SIP)", RFC 3326, December 2002, <http://www.rfc-editor.org/info/rfc3326>.
[RFC3326] Schulzrinne、H.、Oran、D。、およびG. Camarillo、「セッション開始プロトコル(SIP)の理由ヘッダーフィールド」、RFC 3326、2002年12月、<http://www.rfc-editor。 org / info / rfc3326>。
[RFC6849] Kaplan, H., Ed., Hedayat, K., Venna, N., Jones, P., and N. Stratton, "An Extension to the Session Description Protocol (SDP) and Real-time Transport Protocol (RTP) for Media Loopback", RFC 6849, February 2013, <http://www.rfc-editor.org/info/rfc6849>.
[RFC6849] Kaplan、H。、編、Hedayat、K.、Venna、N.、Jones、P。、およびN. Stratton、「Session Description Protocol(SDP)およびReal-time Transport Protocol(RTPの拡張) )for Media Loopback」、RFC 6849、2013年2月、<http://www.rfc-editor.org/info/rfc6849>。
[RFC7332] Kaplan, H. and V. Pascual, "Loop Detection Mechanisms for Session Initiation Protocol (SIP) Back-to-Back User Agents (B2BUAs)", RFC 7332, August 2014, <http://www.rfc-editor.org/info/rfc7332>.
[RFC7332] Kaplan、H。およびV. Pascual、「セッション開始プロトコル(SIP)バックツーバックユーザーエージェント(B2BUAs)のループ検出メカニズム」、RFC 7332、2014年8月、<http://www.rfc- editor.org/info/rfc7332>。
Acknowledgments
謝辞
The general concept of performing media-loopback on a hop-by-hop basis using a decrementing header traceroute-style approach came out of discussions several years ago, between the author, Kaynam Hedayat, Nagarjuna Venna, and Patrick MeLampy. Other people that have contributed to the topic over the years since then: Brett Tate, Paul Kyzivat, Peter Dawes, Zaid Ally, Dianna Stiller, Jon Boone, and several others whom I have lost the names of since.
デクリメントヘッダーのtracerouteスタイルのアプローチを使用してメディアループバックをホップバイホップで実行するという一般的な概念は、数年前に著者、Kaynam Hedayat、Nagarjuna Venna、およびPatrick MeLampyの間で議論されました。それ以来、何年にもわたってこのトピックに貢献してきた他の人々:ブレットテイト、ポールキジバット、ピータードーズ、ザイドアリー、ダイアナスティラー、ジョンブーン、そして私が以来その名前を失った数人。
Author's Address
著者のアドレス
Hadriel Kaplan Oracle EMail: hadrielk@yahoo.com
ハドリエルカプランオラクルメール:hadrielk@yahoo.com