Cisco 7600 シリーズ ルータ セッション ボーダ コン トローラ コンフィギュレーション ガイド
SIP コール保留
SIP コール保留
発行日;2012/01/30 | 英語版ドキュメント(2010/04/20 版) | ドキュメントご利用ガイド | ダウンロード ; この章pdf , ドキュメント全体pdf (PDF - 9MB) | フィードバック

目次

SIP コール保留

この章の構成

SIP コール保留について

SIP コール保留の設定

SDP コール保留インターワーキング

SDP コール保留インターワーキングの制約事項

SDP コール保留インターワーキングの設定

設定例

SIP コール保留の設定例

SDP コール保留インターワーキングの設定例

SIP コール保留

Session Border Controller(SBC; セッション ボーダ コントローラ)の Session Initiation Protocol(SIP)コール保留機能は、コール元を保留にする標準のテレフォニー サービスを提供します。コールの一方が相手を保留にする場合は、変更を加えた Session Description Protocol(SDP)に INVITE 要求を送信して、その相手をリインバイト(re-INVITE)します。SIP エンドポイントは、コールを保留にするか、またはコール保留の re-INVITE に応答する場合、適切なメソッドを選択します。SBC は、SIP デバイスとの相互運用を最大限に高めるために、使用可能ないずれかのメソッドを使用するようにコール保留 SDP を変更します。


) ACE SBC Release 3.0.00 では、この機能は統合モデルに限りサポートされます。


SIP コール保留の機能の履歴

 

リリース
変更内容

ACE SBC Release 3.1.00

SDP コール保留のインターワーキングのサポートが追加されました。

ACE SBC Release 3.0.00

この機能は、SBC 統合モデルのサポートとともに Cisco 7600 シリーズ ルータに追加されました。

この章の構成

この章で説明する内容は、次のとおりです。

「SIP コール保留について」

「SDP コール保留インターワーキング」

「設定例」

SIP コール保留について

SBC は、SDP を使用して SIP re-INVITE を受け入れ、送信者がコールを保留にすることを通知します。次に、必要に応じて SDP オファーを変更し、リモート エンドポイント アドレスを既知の Data Border Element(DBE; データ ボーダ エレメント)メディア アドレスに置換します。さらに、変更後の SDP を記載した SIP メッセージをリモート エンドポイントに転送します。

保留されようとしているエンドポイントが re-INVITE を拒否した場合、保留エンドポイント(コール保留を発信したエンドポイント)にエラー応答が返されます。DBE のメディア ゲートは接続されたままとなり、メディアはこれまでどおり伝送を続けます。

SIP コール保留の設定

ここでは、保留中のコールに「メディアなし」によるタイムアウト期間を設定する手順について説明します。

手順概要

1. configure

2. sbc service-name

3. sbe

4. hold-media-timeout timeout

5. exit

6. show services sbc service-name sbe hold-media-timeout

7. show services sbc service-name sbe calls

詳細手順

 

コマンドまたはアクション
目的

ステップ 1

configure

 

host1/Admin# configure

グローバル コンフィギュレーション モードをイネーブルにします。

ステップ 2

sbc service-name

 

host1/Admin(config)# sbc mysbc

SBC サービス モードを開始します。

サービス名を定義するには、 service-name 引数を使用します。

ステップ 3

sbe

 

host1/Admin(config-sbc)# sbe

SBC の Signaling Border Element(SBE; シグナリング ボーダ エレメント)機能モードを開始します。

ステップ 4

hold-media-timeout timeout

 

host1/Admin(config-sbc-sbe)# hold-media-timeout 7200

保留中のコールに関して DBE からメディア タイムアウト通知を受信後、そのコールをティアダウンするまでの SBE の待機時間を指定します。

DBE は、メディアがコールで停止していることを検出すると、DBE メディア タイムアウト Command Line Interface(CLI; コマンドライン インターフェイス)コマンドを使用して、タイマーを指定の期間起動します。

このタイマーが期限切れになる前に、伝送されるメディアがなくなった場合、DBE はピンホール タイムアウト イベント通知を SBE に送信します。

コールが保留中の場合、SBE はこのコマンドで設定された値と一致する期間をタイマーに設定します。

SBE タイマーが期限切れになる前にコールの保留が解除されない場合、コールは削除されます。

このコマンドのデフォルト値はオフになっています。特定の期間が設定されない限り、保留中のコールがタイムアウトになることはありません。

ステップ 5

exit

 

host1/Admin(config-sbc-sbe)# exit

コンフィギュレーション セッションを終了し、SBC モードに戻ります。

ステップ 6

show services sbc sbc-name sbe hold-media-timeout

 

host1/Admin(config-sbc)# show services sbc mysbc sbe hold-media-timeout

保留中のコールのメディア タイムアウト タイマーに現在設定されている期間を表示します。

ステップ 7

show services sbc sbc-name sbe calls

 
host1/Admin(config-sbc)# show services sbc mysbc sbe calls

SBE 上のすべてのコールを表示します。

SDP コール保留インターワーキング

ACE SBC Release 3.1.00 では、SDP コール保留インターワーキングのサポートが追加されています。SDP コール保留インターワーキングでは、SIP を使用してコール保留を設定する方法が 2 つあります。次のいずれかの状態になるように、コール元またはコール先のいずれかが SDP を使用してコール特性のネゴシエーションを再実行できます。

接続行がヌル アドレス(c=IN IP4 0.0.0.0)に設定されます。

エンドポイントからメディアを受信しないようにエンドポイントの方向アトリビュートを設定します。

これが以前に a=sendrecv に設定されていた場合、コールを保留にしようとしているエンドポイントはこのアトリビュートを a=sendonly に設定します。

これが以前に a=recvonly に設定されていた場合、コールを保留にしようとしているエンドポイントはこのアトリビュートを a=inactive に設定します。

SIP エンドポイントには、接続行のヌル アドレスへの設定をサポートするもの、方向の設定をサポートするもの、両方のアプローチをサポートするものがあります。また、方向アトリビュートを sendonly または inactive に設定することだけを重視するものもあります。

SDP コール保留インターワーキングにより、SBC は上記アプローチのサブセットをサポートする SIP エンドポイントとの相互運用をサポートします。SBC は SDP でコールが保留になることを検出すると、既存の c=IN IP4 0.0.0.0 行または a=direction 行を削除し、エンドポイントに適した設定に置換します。

コールを保留にしようとしているエンドポイントが sendrecv または sendonly であった場合、デフォルトの動作では次の情報が送信されます。

c=IN IP4 0.0.0.0

a=sendonly

コールを保留にしようとしているエンドポイントが recvonly または inactive であった場合、デフォルトの動作では次の情報が送信されます。

C=IN IP4 0.0.0.0

a=inactive

SDP コール保留インターワーキングの制約事項

SDP コール保留インターワーキングについて、次の制約事項を確認してください。

Music on Hold(MoH; 保留音)はサポートされていません。

中間コール サービスの場合、SBC カード切り替え後にコールへの応答があると(たとえば、コール保留/再開)、SBC は SDP のポートを変更します。ピア ノードが中間コール サービスの SDP ポート変更をサポートしていない場合は、中間コール サービスで障害が発生します。

SDP コール保留インターワーキングの設定

手順概要

1. configure

2. sbc service-name

3. sbe

4. cac-policy-set policy-set-id

5. first-cac-scope scope-name

6. first-cac-table table-name

7. cac-table table-name

8. match-type table-type

9. entry entry-id

10. match-value key

11. caller-hold-setting {hold-c0 | hold-c0-inactive | hold-c0-sendonly | hold-sendonly | standard}

12. action [ cac-complete | next-table goto-table-name ]

13. exit

14. exit

15. complete

16. active-cac-policy-set policy-set-id

詳細手順

 

コマンドまたはアクション
目的

ステップ 1

configure

 

host1/Admin# configure

グローバル コンフィギュレーション モードをイネーブルにします。

ステップ 2

sbc service-name

 

host1/Admin(config)# sbc mysbc

SBC サービス モードを開始します。

サービス名を定義するには、 service-name 引数を使用します。

ステップ 3

sbe

 

host1/Admin(config-sbc)# sbe

SBC のシグナリング ボーダ エレメント(SBE)機能モードを開始します。

ステップ 4

cac-policy-set policy-set-id

 

host1/Admin(config-sbc-sbe)# cac-policy-set 1

SBE エンティティ内で CAC ポリシー セット コンフィギュレーション サブモードを開始します。

ステップ 5

first-cac-scope scope-name

 

host1/Admin(config-sbc-sbe-cacpolicy)# first-cac-scope global

ポリシーのアドミッション制御段階の実行時に、制限の定義を開始するスコープを設定します。

ステップ 6

first-cac-table table-name

 

host1/Admin(config-sbc-sbe-cacpolicy)# first-cac-table RootCacTable

ポリシーのアドミッション制御段階の実行時に、最初に処理するポリシー テーブルの名前を設定します。

ステップ 7

cac-table table-name

 
host1/Admin(config-sbc-sbe-cacpolicy)# cac-table RootCacTable

アドミッション制御テーブルを作成または設定します。

ステップ 8

match-type table-type

 
host1/Admin(config-sbc-sbe-cacpolicy-cactable)# match-type src-account

コールのプライオリティを CAC ポリシーの基準として使用する新しい CAC テーブル タイプを設定します。

ステップ 9

entry entry-id

 
host1/Admin(config-sbc-sbe-cacpolicy-cactable)# entry 1

テーブルのエントリを作成または変更します。

ステップ 10

match-value key

 
host1/Admin(config-sbc-sbe-cacpolicy-cactable-entry)# match-value fairchild

アドミッション制御テーブル内のエントリの match-value を設定します。

ステップ 11

caller-hold-setting {hold-c0 | hold-c0-inactive | hold-c0-sendonly | hold-sendonly | standard}

 
host1/Admin(config-sbc-sbe-cacpolicy-cactable-entry)# caller-hold-setting hold-sendonly

サポートされているコール元保留設定を設定します。

ステップ 12

action [cac-complete | next-table goto-table-name]

 
host1/Admin(config-sbc-sbe-cacpolicy-cactable-entry)# action cac-complete

このルーティング エントリが選択された場合に実行するアクションを指定します。

ステップ 13

exit

 

host1/Admin(config-sbc-sbe-cacpolicy-cactable-entry)# exit

コンフィギュレーション セッションを終了し、SBC モードに戻ります。

ステップ 14

exit

 

host1/Admin(config-sbc-sbe-cacpolicy-cactable)# exit

コンフィギュレーション セッションを終了し、SBC モードに戻ります。

ステップ 15

complete

 
host1/Admin(config-sbc-sbe-cacpolicy)# complete

完全なセットをコミットしたあとに CAC ポリシー セットまたはコール ポリシー セットを完了します。

ステップ 16

active-cac-policy-set policy-set-id

 
host1/Admin (config-sbc-sbe)# active-cac-policy-set 1

SBE エンティティ内のアクティブな CAC ポリシー セットを設定します。

設定例

ここでは、設定例について説明します。

SIP コール保留の設定例

次のコマンドは、保留中のコールで最後のメディア パケットを受信してから、コール リソースをクリーンアップするまでに、2 時間待機するように SBE を設定します。

host1/Admin# configure
host1/Admin(config)# sbc mysbc
host1/Admin(config-sbc)# sbe
host1/Admin(config-sbc-sbe)# hold-media-timeout 7200
 

SDP コール保留インターワーキングの設定例

次の例では、Fairchild Foods が社内のすべての電話を交換します。新しい電話は、コールを保留にするために、a=sendonly および c=IN IP4 0.0.0.0 という設定をサポートしています。a=inactive という設定はサポートしません。現在、他の顧客の動作を変更せずに、これらの電話で動作するように SBC を再設定することを検討しています。この変更により、あらゆるイベントに対応したアカウント スコープで新しいポリシーが作成されるため、Fairchild Foods の電話に関するコールは適切に保留になります。

次の設定変更では、Fairchild が送信元アカウントで、コール先がコールを保留にしたときには、Fairchild の電話が SDP の a=inactive を受信しないようにしています。

host1/Admin# configure
host1/Admin(config)# sbc mysbc
host1/Admin(config-sbc)# sbe
host1/Admin(config-sbc-sbe)# cac-policy-set 1
host1/Admin(config-sbc-sbe-cacpolicy)# first-cac-scope global
host1/Admin(config-sbc-sbe-cacpolicy)# first-cac-table callhold-src-settings
host1/Admin(config-sbc-sbe-cacpolicy)# cac-table callhold-src-settings
host1/Admin(config-sbc-sbe-cacpolicy-cactable)# match-type src-account
host1/Admin(config-sbc-sbe-cacpolicy-cactable)# entry 1
host1/Admin(config-sbc-sbe-cacpolicy-cactable-entry)# match-value fairchild
host1/Admin(config-sbc-sbe-cacpolicy-cactable-entry)# caller-hold-setting hold-c0-sendonly
host1/Admin(config-sbc-sbe-cacpolicy-cactable-entry)# action cac-complete
host1/Admin(config-sbc-sbe-cacpolicy-cactable-entry)# exit
host1/Admin(config-sbc-sbe-cacpolicy-cactable)# exit
host1/Admin(config-sbc-sbe-cacpolicy)# complete