音声 : ゲートウェイ プロトコル

ゲートキーパのクラスタリング、代替エンドポイント、およびロード バランシングのトラブルシューティング

2002 年 10 月 1 日 - ライター翻訳版
その他のバージョン: PDFpdf | 機械翻訳版 (2013 年 8 月 21 日) | 英語版 (2006 年 2 月 2 日) | フィードバック

目次


概要

この文書はCisco ゲートキーパを使用する際、その機能の理解とトラブル発生時の解決方法を容易にする目的で作成されました。

  • ゲートキーパのクラスタおよび Gatekeeper Update Protocol(GUP)
  • 代替エンドポイント
  • ロード バランシング

機能の概要、サポート対象のプラットフォーム、必要な Cisco IOS(R) ソフトウェア リリース、設定方法、および監視や保守の方法など、これらの機能に必要なすべての情報の詳細は、「Cisco 高性能ゲートキーパ」を参照してください。

前提条件

この文書の読者は、次の事項について理解している必要があります。

  • ゲートキーパの機能性に関する基礎知識

  • VoIP、H323、および RAS などのシグナリングに関する基礎知識

  • Cisco IOS コマンドライン インターフェイスに関する基礎知識

ハードウェアおよびソフトウェアのバージョン

この文書の情報は、次のソフトウェアとハードウェアのバージョンに基づいています。

  • Cisco IOS ソフトウェア リリース 12.2(2)XA4
  • Cisco ゲートウェイ:AS5300、AS5400、3640
  • Cisco ゲートキーパ: 3640、2611

定義

ARQ Admission Request は、Cisco H.323 エンドポイントからゲートキーパに送信される RAS メッセージです。コールを確立するためのアドミッションを要求します。
ACF Admission Confirm は、ゲートキーパからエンドポイントに送られる RAS メッセージです。コールの受け入れを確認します。
ARJ Admission Rejection は、ゲートキーパからエンドポイントに送られる RAS メッセージです。Admission Request を拒否します。
GCF Gatekeeper Confirm は、ゲートキーパから Cisco H.323 エンドポイントに送られる RAS メッセージです。ゲートキーパの検出を確認します。
GRQ Gatekeeper Request は、Cisco H.323 エンドポイントから、ゲートキーパを検出するために送られる RAS メッセージです。
GUP Gatekeeper Update Protocol は、クラスタ内のゲートキーパ間でエンドポイントやアクティブ コールに関する情報を共有する際に使用されます。
LCF Location Confirm は、1 つのゲートキーパから別のゲートキーパに送られる RAS メッセージです。LRQ および LRQ 内に示される終端エンドポイントの IP アドレスを確認します。
LRJ Location Reject は、1 つのゲートキーパから別のゲートキーパに送られる RAS メッセージです。LRQ を拒否します。
LRQ Location Request は、1 つのゲートキーパから別のゲートキーパに送られる RAS メッセージです。遠隔終端エンドポイントの IP アドレスを要求します。
RAS Registration, Admission, and Status(RAS; 登録、アドミッション、およびステータス)プロトコルを使用すると、ゲートキーパは、エンドポイントの登録、アドミッション、ステータスをチェックできます。
RCF Registration Confirm は、ゲートキーパからエンドポイントに送られる RAS メッセージです。登録を確認します。
RRJ Registration Reject は、ゲートキーパから Registration Request を拒否するために送られる RAS メッセージです。
RRQ Registration Request は、エンドポイントからゲートキーパに送られる RAS メッセージです。ゲートキーパへの登録を要求します。
URQ Unregistration Request は、エンドポイントからゲートキーパに送られる RAS メッセージです。ゲートキーパからの登録解除を要求します。

ラボのトポロジと設定

ゲートキーパ機能の動作およびトラブルシューティング方法を説明するためのラボ設定は、次のトポロジによって構築されています。

次の表に、すべてのゲートウェイとゲートキーパに関する基本的な設定を示します。状況によって、これらの設定に特定の変更を加える必要があります。変更については、発生時に示されます。次のラボ設定には、ゲートウェイまたはゲートキーパの機能に不可欠な部分のみが含まれます。

「gwb-1」と「gwb-2」の設定は、IP アドレスおよび h323id 以外は同一なので、「gwb-1」の設定だけを次に表示します。

gwa-1
!

  controller E1 3/0

  pri-group timeslots 1-2,16

  !

  interface Ethernet0/0

   ip address 172.16.13.15 255.255.255.224

   half-duplex h323-gateway voip interface

   h323-gateway voip id gka-1 ipaddr 172.16.13.35 1718

   h323-gateway voip

   h323-id gwa-1

   h323-gateway voip tech-prefix 1#

  !

  voice-port 3/0:15

  !

  !

  dial-peer voice 5336 pots

   incoming called-number

   destination-pattern 5336

   direct-inward-dial

   port 3/0:15

   prefix 21

  !

  dial-peer voice 3653 voip

   incoming called-number

   destination-pattern 3653

   session target ras

   dtmf-relay h245-alphanumeric

   codec g711ulaw

  !

  gateway

  !

  ntp clock-period 17178794

  ntp server 172.16.13.35

  end
gka-1
!

  gatekeeper

   zone local gka-1 domainA.com 172.16.13.35

   zone remote gkb domainB.com 172.16.13.41 1719

   zone prefix gkb 36*

   zone prefix gka-1 53*

   gw-type-prefix 1#* default-technology

   no shutdown

  !

  no scheduler

  max-task-timentp master

  !

  end
gwb-1
!

  controller E1 0

   clock source line primary

   ds0-group 0 timeslots 1-2 type r2-digital r2-compelled

  !

  interface Ethernet0

   ip address 172.16.13.23 255.255.255.224

   h323-gateway voip interface

   h323-gateway voip id gkb-1 ipaddr 172.16.13.41 1718

   h323-gateway voip h323-id gwb-1

   h323-gateway voip tech-prefix 2#

  !

  dial-peer voice 3653 pots incoming called-number

   destination-pattern 3653

   port 0:0

   prefix 21

  !

  dial-peer voice 5336 voip

   incoming called-number

   destination-pattern 5336

   session target ras

   dtmf-relay h245-alphanumeric

   codec g711ulaw

  !

  gateway

  !

  ntp clock-period 17179389

  ntp server 172.16.13.35

  end
gwb-3
!

  interface Ethernet0/0

   ip address 172.16.13.42 255.255.255.224

   half-duplex h323-gateway voip interface

   h323-gateway voip id gkb-1 ipaddr 172.16.13.41 1718

   h323-gateway voip

   h323-id gwb-3

   h323-gateway voip tech-prefix 1#

  !

  voice-port 3/0/0

  !

  voice-port 3/0/1

  !

  dial-peer voice 3653 pots

   destination-pattern 3653

   port 3/0/0

   prefix 21

  !

  dial-peer voice 5336 voip

   incoming called-number

   destination-pattern 5336

   session target ras

   dtmf-relay h245-alphanumeric

  

   codec g711ulaw

  

! gateway ! ntp clock-period 17179181 ntp server 172.16.13.35 ! end

gkb-1

  !

  gatekeeper

   zone local gkb-1 domainB.com 172.16.13.41

   zone remote gka-1 domainA.com 172.16.13.35 1719

   zone cluster local gkb gkb-1

   element gkb-2 172.16.13.16 1719

   gw-type-prefix 2#* default-technology

   no shutdown

  !

  ntp clock-period 17179580

  ntp server 172.16.13.35

  !

  end
gkb-2

  !

  gatekeeper

   zone local gkb-2 domainB.com 172.16.13.16

   zone cluster local gkb gkb-2

   element gkb-1 172.16.13.41 1719

  !

  no shutdown

  !

  ntp clock-period 17179199

  ntp server 172.16.13.35

  !

  end

代替ゲートキーパ

Cisco H.323 v2 より前は、各ゾーンの制御は 1 つのゲートキーパだけで行われていました。Cisco H.323 v2 になると、ゲートキーパを冗長にする「代替ゲートキーパ」のアイディアが導入されました。代替ゲートキーパ機能を実装することで、複数のゲートキーパが 1 つのゾーンを制御できます。エンドポイントがゲートキーパに登録されると、エンドポイントが登録されているゾーン用の代替ゲートキーパのリスト、およびどの代替ゲートキーパが CLI 経由で指定されたかというリストが提供されます。ゲートキーパに障害が発生すると、エンドポイントは代替ゲートキーパを使用して処理を続行できます。

ゾーンごとの代替ゲートキーパのリストは、CLI を通じて Cisco ゲートキーパに提供され、ライトウェイトを含む RCF メッセージ、および GRQ メッセージ経由でエンドポイントに転送されます。このリストを ARJ や URQ などのメッセージでも送信すると、ゲートキーパのシャットダウンが制御しやすくなります。

代替ゲートキーパは、ゲートウェイとゲートキーパ間の IRQ/IRR 交換によって既存のコールについて学習し、学習したコールのトラッキングを続けます。

ゲートキーパの障害を検出したエンドポイントでは、障害から安全に復旧するために、既存のコールに対する要求をはじめ、以降の要求に代替キーパーが利用されます。代替ゲートキーパは、クラスタ内に設定する必要があります。代替ゲートキーパは、TCP で動作する Gatekeeper Update Protocol(GUP)を使用して、エンドポイントとアクティブ コールに関する情報を共有します。

Gatekeeper Update Protocol

GUP に関する主な手順と注意事項を次に示します。これらの情報は、トラブルシューティングを行う場合にも役に立ちます。

  • クラスタの一部となるように設定されたゲートキーパがオンライン状態になると、TCP ポートが開放されて、GUP プロトコルの着信接続が受信されます。

  • 次に、ゲートキーパは、定期的に GRQ メッセージを送信して、自らの存在をアナウンスします。デフォルトの期間は 30 秒ですが、ゲートキーパの CLI timer cluster-element announce を使用すると、この他の値に設定することも可能です。この GRQ メッセージには、各代替ゲートキーパに対する標準外データが含まれています。この標準外データとは、GRQ が実際には GRQ ではなく、ただの「通知」メッセージであることを、代替ゲートキーパに示すものです。ゲートキーパは、GRQ メッセージの中に、GUP プロトコルの受信用に開放したポート番号を示します。

  • 新しいゲートキーパから GRQ を受け取ると、クラスタ内の他のゲートキーパは、そのポートへの TCP チャネルを開放します。

  • GUP GRO メッセージは、announcementIndication、announcementReject、registrationIndication、unregistrationIndication、または resourceIndication のいずれか 1 つです。

  • この announcementIndication では、ゾーンの帯域利用率に関する情報も伝送されます。これにより、ゲートキーパが異なる物理デバイスに存在する場合でも、代替ゲートキーパは 1 つのゾーンの帯域幅を正しく管理できます。

  • 代替ゲートキーパが正常に通信しているかどうかを検証するには、次の show gatekeeper zone cluster フローイング表示コマンドを使います。このコマンドを使用すると、代替ゲートキーパの帯域幅情報も報告されます。

  • 6 回のアナウンスメント期間内にアナウンスメント メッセージを受信しないか、ゲートキーパとの TCP 接続の切断を検出すると、ゲートキーパは代替ゲートキーパに障害が発生し、以前に割り当てた帯域幅が利用可能になったと見なします。(6 回のアナウンスメント期間の場合、1 回の時間は 30 秒で合計 3 分になります。これは、シスコが想定している、コールの平均的な長さです。そのため、帯域幅が解放されたと見なしても十分安全です。)3 分が経過したら、このゲートキーパは代替ゲートキーパがダウンしたことを宣言し、更新を送出して、使用可能な代替ゲートキーパがまったくないことを、登録されている全エンドポイントに通知します。

  • エンドポイントがクラスタ内のゲートキーパに登録されるか、または登録解除されると、そのゲートキーパは registrationIndication/ unregistrationIndication を使用して、この変更について、該当クラスタ内にある全ゲートキーパを更新します。

  • エンドポイントが、resource availability indicator(RAI)を使用して、リソースの変更をクラスタ内のゲートキーパに報告すると、そのゲートキーパは GUP メッセージの resourceIndication によって、該当クラスタ内にある全代替ゲートキーパに変更を報告します。

  • クラスタ内のゲートキーパが、ゾーン内の各エンドポイントについて十分な情報(登録、帯域幅、アクティブ コール、リソースなど)を得て、すべてのクエリーをローカルで解決するには、GUP メッセージが必要です。

  • エンドポイントが 1 つのゲートキーパから代替ゲートキーパに切り替えられると、代替ゲートキーパはそのエンドポイントでアクティブなコールについて学習する必要があります。新規登録のために RCF を送信する場合、ゲートキーパは IRQ も送信してそのエンドポイントにある全コールのリストを取得します。RCF が IRQ よりも前にエンドポイントに到達することが重要です。

  • クラスタ内のゲートキーパは、アクティブ コールが存在していても、アクティブ コールのある全ゾーンに対して代替ゲートキーパが定義されている限りはシャットダウンを許可します。いずれかのゾーンにアクティブ コールがあり、かつ定義された代替ゲートキーパがなければ、ゲートキーパはシャットダウンを拒否します。

  • 代替ゲートキーパは、認識していないコールの DRQ であっても受け入れて、AAA サーバおよび GKTMP サーバに適切な情報を伝送します。この状況が発生するのは、アクティブ コールがまだある間に、そのエンドポイントが代替ゲートキーパに移動したときです。さらに、IRR メッセージが送信される場合があります。このメッセージには、以前に認識されていなかったコールの情報が含まれます。このような IRR の場合、コール レコードが構築されて、それに応じて帯域幅が割り当てられます。

  • ゲートキーパは、個々の代替ゲートキーパに対して、一意の announcementIndication を作成します。代替ゲートキーパで認識できないゲートキーパ識別子が含まれるメッセージが受信されると(代替ゲートキーパが 1 つのゾーンでのみ代替である場合に起きることがあります)、その情報は単に無視されます。ただし、代替ゲートキーパは、そのようなメッセージを確認することで代替の設定エラーを検出し、ユーザにそのエラーを報告します。

  • 遠隔ゾーンのアドレス問題を解決するときに、GUP の実力が発揮されます。これまで遠隔ゾーンでは、シーケンスまたはブラストのいずれかによって、全ゲートキーパに LRQ を送信する必要がありました。その結果、広範囲のリンクでメッセージングのオーバーヘッドが増加していました。現在は、このクエリーをクラスタ内のゲートキーパの 1 つに送る必要があるだけです。いずれか 1 つから拒否を受け取ると、遠隔ゾーンは、新しい zone cluster remote CLI と一緒に、クラスタ内のゲートキーパ間にラウンドロビンを実行するため、クラスタ内の別のゲートキーパには LRQ を送りません。

  • ゲートウェイが代替ゲートキーパに移動した場合は、no gateway コマンドを発行し、次に gateway を発行しない限り、ゲートウェイは常にそのゲートキーパへの登録を試みます。エンドポイントのプライマリ ゲートキーパが再度オンラインになっても、エンドポイントと代替ゲートキーパとの接続が失われていない限り、エンドポイントはプライマリ ゲートキーパへの再登録を試みません。コールのルーティング情報については、代替ゲートキーパを引き続き使用します。

ゲートキーパ クラスタに対する debug コマンドと show コマンド

次に、デバッグを参照して、ゲートキーパがどのようにクラスタに参加し、エンドポイントに関する情報を共有するのかを説明します。「show」コマンドを使用して、クラスタの監視方法を示します。使用するデバッグは、debug gatekeeper gup asn1 および debug h225 asn1 です。これは、上記のトポロジと設定に基づいています。

クラスタに最初に参加したのが、「gkb-1」であった場合の「gkb-1」からのデバッグ

Mar  1 08:15:08.348: gk_gup_listen(): listening port = 11007

  !--- GUP メッセージを受信するために、TCP ポート(ここでは、11007)が開放されます。

  Mar  1 08:15:08.348: gk_gup_listen(): listening fd = 0

  Mar  1 08:15:38.351: H225 NONSTD OUTGOING PDU ::=

  

  value GRQnonStandardInfo ::= 

  !--- 標準外のデータが、GRQ に含まれます。

      {

        gupAddress

        {

          ip 'AC100D29'H

  !--- IP アドレス 172.16.13.41 を受信しています。

          port 11007

  !--- TCP ポート 11007 を受信しています。

        }

      }

  

  

  

  Mar  1 08:15:38.351: H225 NONSTD OUTGOING ENCODE BUFFER::= 40

  AC100D29 2AFF

  Mar  1 08:15:38.351:

  Mar  1 08:15:38.351: RAS OUTGOING PDU ::=

  

  value RasMessage ::= gatekeeperRequest :

  !---標準外のデータを含む GRQ が送出されました。

      {

        requestSeqNum 59

        protocolIdentifier { 0 0 8 2250 0 3 }

        nonStandardData

        {

          nonStandardIdentifier h221NonStandard :

          {

            t35CountryCode 181

            t35Extension 0

            manufacturerCode 18

          }

          data '40AC100D292AFF'H

        }

        rasAddress ipAddress :

        {

          ip 'AC100D29'H

          port 1719

        }

        endpointType

        {

          vendor

          {

            vendor

            {

              t35CountryCode 181

              t35Extension 0

              manufacturerCode 18

            }

          }

          mc FALSE

          undefinedNode FALSE

        }

      }

  

  

  

  Mar  1 08:15:38.359: RAS OUTGOING ENCODE BUFFER::= 01 00003A06 0008914A

  000340B5 00001207 40AC100D 292AFF00 AC100D29 06B72000 B5000012 00

  Mar  1 08:15:38.359:

「gkb-1」の後に「gkb-2」がクラスタに参加した場合の「gkb-2」からのデバッグ

Mar  1 08:16:38.878: gk_gup_listen(): listening port = 11006

  !--- GUP メッセージを受信するために、TCP ポート(ここでは、11006)が開放されました。

  Mar  1 08:16:38.878: gk_gup_listen(): listening fd = 0

  Mar  1 08:17:08.385: RAS INCOMING ENCODE BUFFER::= 01 00003D06 0008914A

  000340B5 00001207 40AC100D 292AFF00 AC100D29 06B72000 B5000012 00

  Mar  1 08:17:08.385:

  Mar  1 08:17:08.385: RAS INCOMING PDU ::=

  

  value RasMessage ::= gatekeeperRequest :

  !--- 標準外の情報を含む GRQ メッセージが、gkb-1 ゲートキーパから受信されました。

      {

        requestSeqNum 62

        protocolIdentifier { 0 0 8 2250 0 3 }

        nonStandardData

        {

          nonStandardIdentifier h221NonStandard :

          {

            t35CountryCode 181

            t35Extension 0

            manufacturerCode 18

          }

          data '40AC100D292AFF'H

        }

        rasAddress ipAddress :

        {

          ip 'AC100D29'H

  !--- gkb-1 が RAS の IP アドレス(172.16.13.41)を使用しました。

          port 1719

  !--- gkb-1 が RAS の TCP ポートを使用しました。

  

        }

        endpointType

        {

          vendor

          {

            vendor

            {

              t35CountryCode 181

              t35Extension 0

              manufacturerCode 18

            }

          }

          mc FALSE

          undefinedNode FALSE

        }

      }

  

  

  

  Mar  1 08:17:08.393: H225 NONSTD INCOMING ENCODE BUFFER::= 40

  AC100D29 2AFF

  Mar  1 08:17:08.393:

  Mar  1 08:17:08.393: H225 NONSTD INCOMING PDU ::=

  

  value GRQnonStandardInfo ::= 

  !--- gkb-2 は、GRQ から標準外データを抽出しました。

      {

        gupAddress

        {

          ip 'AC100D29'H

  !--- gkb-1 が GUP の IP アドレス(172.16.13.41)を使用しました。

          port 11007

  !--- gkb-1 が GUP の TCP ポート(11007)を使用しました。

        }

      }

  

  

  

  Mar  1 08:17:08.393: check_connection: checking connection to 172.16.13.41:11007

  Mar  1 08:17:08.393: gk_gup_connect(): initiating connection

  Mar  1 08:17:08.393: gup_connect: connecting to 172.16.13.41:11007

  !--- GUP 接続が確立しました。次にアップデートが行われます。

  Mar  1 08:17:08.393: gup_connect, fd = 1

  Mar  1 08:17:08.401: GUP OUTGOING PDU ::=

  

  value GUP_Information ::=

  !--- GUP アナウンスメントが、代替ゲートキーパの gkb-1 に送られました。

      {

        protocolIdentifier { 1 2 840 113548 10 0 0 2 }

        message announcementIndication :

        {

          announcementInterval 30

          endpointCapacity 100000

          callCapacity 100000

          hostName '676B622D32'H

          percentMemory 8		

  !--- 次に、gkb-2 のステータス情報を示します。

          percentCPU 0

          currentCalls 0

          currentEndpoints 0

          zoneInformation

          {

  

            {

              gatekeeperIdentifier {"gkb-2"}

              altGKIdentifier {"gkb-1"}

              totalBandwidth 0

              interzoneBandwidth 0

              remoteBandwidth 0

            }

          }

        }

      }

  

  

  

  Mar  1 08:17:08.405: GUP OUTGOING ENCODE BUFFER::= 00 0A2A8648

  86F70C0A 00000220 001E8001 86A08001 86A00467 6B622D32 10000000 00014200

  0067006B 0062002D 00320800 67006B00 62002D00 31000000 000000

  Mar  1 08:17:08.409:

  Mar  1 08:17:08.409: Sending GUP ANNOUNCEMENT INDICATION to

  172.16.13.41

  Mar  1 08:17:08.413: GUP INCOMING ENCODE BUFFER::= 00 0A2A8648

  86F70C0A 00000220 001E8001 86A08001 86A00467 6B622D31 32000000 00014200

  0067006B 0062002D 00310800 67006B00 62002D00 32000000 000000

  Mar  1 08:17:08.413:

  Mar  1 08:17:08.413: GUP INCOMING PDU ::=

  

  value GUP_Information ::=

  !--- 代替ゲートキーパの gkb-1 から、GUP アナウンスメントを受信しました。

  

      {

        protocolIdentifier { 1 2 840 113548 10 0 0 2 }

        message announcementIndication :

        {

          announcementInterval 30

          endpointCapacity 100000

          callCapacity 100000

          hostName '676B622D31'H

          percentMemory 25	

  !--- 次に、gkb-1 のステータス情報を示します。

          percentCPU 0

          currentCalls 0

          currentEndpoints 0

          zoneInformation

          {

  

            {

              gatekeeperIdentifier {"gkb-1"}

              altGKIdentifier {"gkb-2"}

              totalBandwidth 0

              interzoneBandwidth 0

              remoteBandwidth 0

            }

          }

        }

      }

  

  

  

  Mar  1 08:17:08.421: Received GUP ANNOUNCEMENT INDICATION from 172.16.13.41
この段階でのゲートキーパのエンドポイント出力を表示します。登録されているエンドポイントはありません。出力結果は、次のようになります。
gkb-1#show gatekeeper endpoints

                      GATEKEEPER ENDPOINT REGISTRATION

                      ================================

  CallSignalAddr  Port  RASSignalAddr   Port  Zone Name         Type    Flags

  --------------- ----- --------------- ----- ---------         ----    -----

  Total number of active registrations = 0

  

  gkb-2# show gatekeeper endpoints

                      GATEKEEPER ENDPOINT REGISTRATION

                      ================================

  CallSignalAddr  Port  RASSignalAddr   Port  Zone Name         Type    Flags

  --------------- ----- --------------- ----- ---------         ----    -----

  Total number of active registrations = 0

  

  gkb-2#

クラスタ内にある複数のゲートキーパの 1 つにエンドポイントが登録される場合のデバッグ

このデバッグは、「gkb-1」ゲートキーパから取得したものです。エンドポイントは gwb-1 で、debug h225 ans1 および debug ras をオンにして gkb-1 ゲートキーパに登録します。
Mar  1 08:22:47.396: RAS INCOMING ENCODE BUFFER::= 00 A00AAD06

  0008914A 000300AC 100D17E0 7D088001 3C050401 00205002 00006700 6B006200

  2D003101 40040067 00770062 002D0031

  Mar  1 08:22:47.396:

  Mar  1 08:22:47.396: RAS INCOMING PDU ::=

  

  value RasMessage ::= gatekeeperRequest :

  !--- "gwb-1" ゲートウェイから GRQ を受信しました。

      {

        requestSeqNum 2734

        protocolIdentifier { 0 0 8 2250 0 3 }

        rasAddress ipAddress :

        {

          ip 'AC100D17'H

  !--- gwb-1 の IP アドレス(172.16.13.23)

          port 57469

  !--- gwb-1 の TCP ポート(57469)
} endpointType { gateway { protocol { voice : { supportedPrefixes { { prefix e164 : "2#" } } } } } mc FALSE undefinedNode FALSE } gatekeeperIdentifier {"gkb-1"} endpointAlias { h323-ID : {"gwb-1"} } } Mar 1 08:22:47.404: RAS OUTGOING PDU ::= value RasMessage ::= gatekeeperConfirm : !--- 代替ゲートキーパを含めた状態で、GCF が返送されました。 { requestSeqNum 2734 protocolIdentifier { 0 0 8 2250 0 3 } gatekeeperIdentifier {"gkb-1"} rasAddress ipAddress : { ip 'AC100D29'H !--- ゲートキーパ gkb-1 の IP アドレス(172.16.13.41) port 1719 } alternateGatekeeper !--- 代替ゲートキーパのリスト。ここでは "gkb-2" のリストだけです。 { { rasAddress ipAddress : { ip 'AC100D10'H !--- 代替ゲートキーパ gkb-2 の IP アドレス(172.16.13.16) port 1719 } gatekeeperIdentifier {"gkb-2"} needToRegister TRUE priority 0 } } } Mar 1 08:22:47.412: RAS OUTGOING ENCODE BUFFER::= 06 800AAD06 0008914A 00030800 67006B00 62002D00 3100AC10 0D2906B7 0D001401 40AC100D 1006B708 0067006B 0062002D 003280 Mar 1 08:22:47.412: Mar 1 08:22:47.432: RAS INCOMING ENCODE BUFFER::= 0E C00AAE06 0008914A 00038001 00AC100D 1706B801 00AC100D 17E07D08 80013C05 04010020 50000140 04006700 77006200 2D003108 0067006B 0062002D 003100B5 00001212 8B000200 3B010001 000180 Mar 1 08:22:47.432: Mar 1 08:22:47.436: RAS INCOMING PDU ::= value RasMessage ::= registrationRequest : !--- "gwb-1" ゲートウェイから RRQ を受信しました。 { requestSeqNum 2735 protocolIdentifier { 0 0 8 2250 0 3 } discoveryComplete TRUE callSignalAddress { ipAddress : { ip 'AC100D17'H !--- ゲートウェイ gwb-1 の IP アドレス(172.16.13.23) port 1720 } } rasAddress { ipAddress : { ip 'AC100D17'H port 57469 } } terminalType { gateway { protocol { voice : { supportedPrefixes { { prefix e164 : "2#" } } } } } mc FALSE undefinedNode FALSE } terminalAlias { h323-ID : {"gwb-1"} } gatekeeperIdentifier {"gkb-1"} endpointVendor { vendor { t35CountryCode 181 t35Extension 0 manufacturerCode 18 } } timeToLive 60 keepAlive FALSE willSupplyUUIEs FALSE maintainConnection TRUE } Mar 1 08:22:47.448: GUP OUTGOING PDU ::= value GUP_Information ::= !--- GUP 登録表示メッセージが、"gkb-2" に送信されて、 !--- 新規登録されたエンドポイントが通知されました。 { protocolIdentifier { 1 2 840 113548 10 0 0 2 } message registrationIndication : { version 3 callSignalAddress { ipAddress : { ip 'AC100D17'H !--- ゲートウェイ gwb-1 の IP アドレス(172.16.13.23) port 1720 } } rasAddress { ipAddress : { ip 'AC100D17'H !--- ゲートウェイ gwb-1 の IP アドレス(172.16.13.23) port 57469 } } terminalType { vendor { vendor { t35CountryCode 181 t35Extension 0 manufacturerCode 18 } } gateway { protocol { voice : { supportedPrefixes { { prefix e164 : "2#*" } } } } } mc FALSE undefinedNode FALSE } terminalAlias { h323-ID : {"gwb-1"} !--- 今、登録が完了した新しいエンドポイントの名前と ID } gatekeeperIdentifier {"gkb-1"} !--- 新しいエンドポイント(gwb-1)が登録されたゲートキーパの名前と ID resourceIndicator { almostOutOfResources FALSE } } } Mar 1 08:22:47.460: GUP OUTGOING ENCODE BUFFER::= 00 0A2A8648 86F70C0A 00000232 020100AC 100D1706 B80100AC 100D17E0 7D2800B5 00001240 013C0505 01004050 10000140 04006700 77006200 2D003108 0067006B 0062002D 003100 Mar 1 08:22:47.464: Mar 1 08:22:47.464: Sending GUP REGISTRATION INDICATION to 172.16.13.16 Mar 1 08:22:47.464: RAS OUTGOING PDU ::= value RasMessage ::= registrationConfirm : !--- RCF が、"gwb-1" ゲートウェイに返送されました。 { requestSeqNum 2735 protocolIdentifier { 0 0 8 2250 0 3 } callSignalAddress { } terminalAlias { h323-ID : {"gwb-1"} } gatekeeperIdentifier {"gkb-1"} endpointIdentifier {"61809DB800000001"} alternateGatekeeper { { rasAddress ipAddress : { ip 'AC100D10'H port 1719 } gatekeeperIdentifier {"gkb-2"} needToRegister TRUE priority 0 } } timeToLive 60 willRespondToIRR FALSE maintainConnection TRUE } Mar 1 08:22:47.472: RAS OUTGOING ENCODE BUFFER::= 12 C00AAE06 0008914A 00030001 40040067 00770062 002D0031 08006700 6B006200 2D00311E 00360031 00380030 00390044 00420038 00300030 00300030 00300030 00300031 0F8A1401 40AC100D 1006B708 0067006B 0062002D 00328002 003B0100 0180 Mar 1 08:22:47.472:
上記の出力には、クラスタ内のすべてのゲートウェイが登録された後の show gatekeeper endpoint の出力結果が含まれます。上記のデバッグは、エンドポイントの登録ごとに発生します。クラスタ内の 3 つのゲートウェイがすべて登録されると、両方のゲートキーパでは、show gatekeeper endpoint の出力結果が次のように表示されます。
gkb-1#show gatekeeper endpoints

                      GATEKEEPER ENDPOINT REGISTRATION

                      ================================

  CallSignalAddr  Port  RASSignalAddr   Port  Zone Name         Type    	   Flags

  --------------- ----- --------------- ----- ---------         ----         -----

  172.16.13.23    1720   172.16.13.23   57469    gkb-1         VOIP-GW

      H323-ID: gwb-1

  172.16.13.26    1720   172.16.13.26   49801    gkb-1         VOIP-GW

      H323-ID: gwb-2

  172.16.13.42    1720   172.16.13.42   57216    gkb-1         VOIP-GW        A	

  !--- フラグ セット

      H323-ID: gwb-3

  Total number of active registrations = 3

  

  gkb-2# show gatekeeper endpoints

                      GATEKEEPER ENDPOINT REGISTRATION

                      ================================

  CallSignalAddr  Port  RASSignalAddr   Port     Zone Name      Type        Flags

  --------------- ----- --------------- -----    ---------      ----        -----

  172.16.13.23    1720   172.16.13.23    57469     gkb-2       VOIP-GW    	A 

  !--- フラグ セット

      H323-ID: gwb-1

  172.16.13.26    1720   172.16.13.26    49801     gkb-2       VOIP-GW 	    A  

  !--- フラグ セット

      H323-ID: gwb-2

  172.16.13.42    1720   172.16.13.42    57216     gkb-2       VOIP-GW

      H323-ID: gwb-3

  Total number of active registrations = 3

  

  !--- フラグ フィールドの "A" は、このエンドポイントに対して、そのゲートキーパが代替ゲートキーパであることを意味します。

アクティブ コールのあるエンドポイントが代替ゲートキーパに移動する場合のデバッグ

次に、コールが要求されてから接続解除されるまでのデバッグを示します。不必要なメッセージを省略している場合があります。次のデバッグは、"gkb-1" ゲートキーパから取得したものです。コールは、gka-1 に登録された gwa-1 によって、遠隔ゾーンのクラスタにある別のゲートウェイ(gwb-1)に配置されました。このデバッグでは、プライマリ ゲートキーパがダウンしたときに、プライマリ ゲートキーパから代替ゲートキーパまでのアクティブ コールのフローをトラッキングする方法を示します。
Mar  2 23:59:26.714:  RecvUDP_IPSockData  successfully rcvd message of length 84

  from 172.16.13.35:1719

  Mar  2 23:59:26.714: RAS INCOMING ENCODE BUFFER::= 4A 80080801 01806986

  40B50000 122C8286 B01100C8 C66C7D1

  6 8011CC80 0D882828 5B8DF601 80140204 8073B85A 5C564004 00670077

  0061002D 003100AC 100D2306 B70B800D 01400

  400 67006B00 61002D00 310180

  Mar  2 23:59:26.714:

  Mar  2 23:59:26.714: RAS INCOMING PDU ::=

  

  value RasMessage ::= locationRequest :

  !--- LRQ が、ドメイン A の "gka-1"から受信されました。

      {

        requestSeqNum 2057

        destinationInfo

        {

          e164 : "3653"

  !--- 番号 E164 が、このゲートキーパで解決されます。

        }

        nonStandardData

        {

          nonStandardIdentifier h221NonStandard :

          {

            t35CountryCode 181

            t35Extension 0

            manufacturerCode 18

          }

          data '8286B01100C8C66C7D168011CC800D8828285B8D...'H

        }

        replyAddress ipAddress :

        {

          ip 'AC100D23'H

          port 1719

        }

        sourceInfo

        {

          h323-ID : {"gka-1"}

        }

        canMapAlias TRUE

      }

  

  

  

  Mar  2 23:59:26.722: LRQ (seq# 2057) rcvd

  Mar  2 23:59:26.722: H225 NONSTD INCOMING ENCODE BUFFER::= 82 86B01100

  C8C66C7D 168011CC 800D8828 285B8DF6

   01801402 048073B8 5A5C5640 04006700 77006100 2D0031

  Mar  2 23:59:26.722:

  Mar  2 23:59:26.722: H225 NONSTD INCOMING PDU ::=

  !--- デコードされた LRQ nonStandardInfo の出力

  value LRQnonStandardInfo ::=

      {

        ttl 6

        nonstd-callIdentifier

        {

          guid 'C8C66C7D168011CC800D8828285B8DF6'H

        }

        callingOctet3a 128

        gatewaySrcInfo

        {

          e164 : "4085272923",

          h323-ID : {"gwa-1"}

        }

      }

  

  

  parse_lrq_nonstd: LRQ Nonstd decode succeeded, remlen = 84

  Mar  2 23:59:26.726: H225 NONSTD OUTGOING PDU ::=

  !--- LRQ nonStandardInfor に返す LCF nonStandardInfo の返答

  value LCFnonStandardInfo ::=

      {

        termAlias

        {

          h323-ID : {"gwb-1"}

        }

        gkID {"gkb-1"}

        gateways

        {

  

          {

            gwType voip : NULL

            gwAlias

            {

              h323-ID : {"gwb-1"}

  !--- ゲートウェイ gwb-1 は、要求に対して返送される、解決済みの終端ゲートウェイです。

            }

            sigAddress

            {

              ip 'AC100D17'H

  !--- ゲートウェイ gwb-1 の IP アドレス(172.16.13.23)

              port 1720

            }

            resources

            {

              maxDSPs 0

              inUseDSPs 0

              maxBChannels 0

              inUseBChannels 0

              activeCalls 0

              bandwidth 0

              inuseBandwidth 0

            }

          }

        }

      }

  

  

  

  Mar  2 23:59:26.734: H225 NONSTD OUTGOING ENCODE BUFFER::= 00 01400400

  67007700 62002D00 31080067 006B0062

   002D0031 01100140 04006700 77006200 2D003100 AC100D17 06B80000

   00000000 00000000

  Mar  2 23:59:26.734:

  Mar  2 23:59:26.734: RAS OUTGOING PDU ::=

  

  value RasMessage ::= locationConfirm :

  !--- LCF が、"gwb-1"(解決済み端末ゲートウェイ)として返送されました。

      {

        requestSeqNum 2057

        callSignalAddress ipAddress :

        {

          ip 'AC100D17'H

  !--- 解決済み終端ゲートウェイ gwb-1 の IP アドレス(172.16.13.23)

          port 1720

        }

        rasAddress ipAddress :

        {

          ip 'AC100D17'H

  !--- 解決済み終端ゲートウェイ gwb-1 の IP アドレス(172.16.13.23)

          port 51874

        }

        nonStandardData

        {

          nonStandardIdentifier h221NonStandard :

          {

            t35CountryCode 181

            t35Extension 0

            manufacturerCode 18

          }

          data '00014004006700770062002D0031080067006B00...'H

        }

        destinationType

        {

          gateway

          {

            protocol

            {

              voice :

              {

                supportedPrefixes

                {

                }

              }

            }

          }

          mc FALSE

          undefinedNode FALSE

        }

      }

  

  

  

  Mar  2 23:59:26.742: RAS OUTGOING ENCODE BUFFER::= 4F 080800AC

  100D1706 B800AC10 0D17CAA2 40B50000 1239000

  1 40040067 00770062 002D0031 08006700 6B006200 2D003101 10014004 00670077

  0062002D 003100AC 100D1706 B8000

  000 00000000 00000010 40080880 013C0501 0000

  Mar  2 23:59:26.746:

  Mar  2 23:59:26.746:  IPSOCK_RAS_sendto:   msg length 91 from 172.16.13.41:1719 to

  172.16.13.35: 1719

  Mar  2 23:59:26.746:       RASLib::RASSendLCF: LCF (seq# 2057) sent to 172.16.13.35

  Mar  2 23:59:26.798:  RecvUDP_IPSockData  successfully rcvd message of length 129

  from 172.16.13.23:51874

  Mar  2 23:59:26.798: RAS INCOMING ENCODE BUFFER::= 27 98172700 F0003600

  31003900 36003200 39003600 3800300

  0 30003000 30003000 30003000 31010180 69860204 8073B85A 5C564004 00670077

  0061002D 003100AC 100D0F2A FA400

  500 000E40B5 00001207 80000008 800180C8 C66C7D16 8011CC80 0C882828

  5B8DF645 60200180 1100C8C6 6C7D1680 11C

  C800D 8828285B 8DF60100

  Mar  2 23:59:26.802:

  Mar  2 23:59:26.802: RAS INCOMING PDU ::=

  

  value RasMessage ::= admissionRequest :

  !--- "gwb-1" は、answerCall ARQ を送信しました。

      {

        requestSeqNum 5928

        callType pointToPoint : NULL

        callModel direct : NULL

        endpointIdentifier {"6196296800000001"}

        destinationInfo

        {

          e164 : "3653"

  !--- 番号 E164 に発信者がアクセスを試みています。

  

        }

        srcInfo

        {

          e164 : "4085272923",

  !--- 発信者情報

          h323-ID : {"gwa-1"}

        }

        srcCallSignalAddress ipAddress :

        {

          ip 'AC100D0F'H

  !--- 発信側ゲートウェイ(gwa-1)の IP アドレスとポート

          port 11002

        }

        bandWidth 1280

        callReferenceValue 14

  !--- コール参照値に留意してください。

  !--- DRQ の送信時にコールが接続解除されるときに、コール参照値が使用されるためです。

        nonStandardData

        {

          nonStandardIdentifier h221NonStandard :

          {

            t35CountryCode 181

            t35Extension 0

            manufacturerCode 18

          }

          data '80000008800180'H

        }

        conferenceID 'C8C66C7D168011CC800C8828285B8DF6'H

        activeMC FALSE

        answerCall TRUE

        canMapAlias TRUE

        callIdentifier

        {

          guid 'C8C66C7D168011CC800D8828285B8DF6'H

        }

        willSupplyUUIEs FALSE

      }

  

  

  

  Mar  2 23:59:26.810: ARQ (seq# 5928) rcvd

  Mar  2 23:59:26.810: H225 NONSTD INCOMING ENCODE BUFFER::= 80 00000880 0180

  Mar  2 23:59:26.810:

  Mar  2 23:59:26.810: H225 NONSTD INCOMING PDU ::=

  

  value ARQnonStandardInfo ::=

      {

        sourceAlias

        {

        }

        sourceExtAlias

        {

        }

       callingOctet3a 128

      }

  

  

  parse_arq_nonstd: ARQ Nonstd decode succeeded, remlen = 129

  Mar  2 23:59:26.814: RAS OUTGOING PDU ::=

  

  value RasMessage ::= admissionConfirm :

  !--- ACF が、"gwb-1" ゲートウェイに返送されました。

      {

        requestSeqNum 5928

        bandWidth 1280

        callModel direct : NULL

        destCallSignalAddress ipAddress :

        {

          ip 'AC100D17'H

  !--- gwb-1 の IP アドレス(172.16.13.23)

          port 1720

        }

        irrFrequency 240

        willRespondToIRR FALSE

        uuiesRequested

        {

          setup FALSE

          callProceeding FALSE

          connect FALSE

          alerting FALSE

          information FALSE

          releaseComplete FALSE

          facility FALSE

          progress FALSE

          empty FALSE

        }

      }

  

  

  

  Mar  2 23:59:26.818: RAS OUTGOING ENCODE BUFFER::= 2B 00172740 050000AC

  100D1706 B800EF1A 00C00100 020000

  Mar  2 23:59:26.818:

  Mar  2 23:59:26.818:  IPSOCK_RAS_sendto:   msg length 24 from 172.16.13.41:1719 to

  172.16.13.23: 51874

  Mar  2 23:59:26.822:       RASLib::RASSendACF: ACF (seq# 5928) sent to

  172.16.13.23

  Mar  2 23:59:36.046: GUP OUTGOING PDU ::=

  

  value GUP_Information ::=

  !--- GUP アップデートが送出されました。このアップデートには、

  !--- まだアクティブである最後のコールに関する情報が含まれます。

      {

        protocolIdentifier { 1 2 840 113548 10 0 0 2 }

        message announcementIndication :

        {

          announcementInterval 30

          endpointCapacity 46142

          callCapacity 68793

          hostName '676B622D31'H

          percentMemory 25

          percentCPU 0

          currentCalls 1

          currentEndpoints 2

          zoneInformation

          {

  

            {

              gatekeeperIdentifier {"gkb-1"}

              altGKIdentifier {"gkb-2"}

              totalBandwidth 1280

  !--- 1280 とは、そのゾーンに使用される総帯域幅の 128 Kbps を示します。

              interzoneBandwidth 1280

              remoteBandwidth 1280

            }

          }

        }

      }

  

  

  

  Mar  2 23:59:36.050: GUP OUTGOING ENCODE BUFFER::= 00 0A2A8648

  86F70C0A 00000220 001E40B4 3E80010C B904676

  B 622D3132 00010002 01420000 67006B00 62002D00 31080067 006B0062 002D0032

  40050040 05004005 00

  Mar  2 23:59:36.054:

  Mar  2 23:59:36.054: Sending GUP ANNOUNCEMENT INDICATION to 172.16.13.16

  
注: この時点で、 "gkb-1" はシャットダウンしました。アクティブ コールがあってもシャットダウンできたのは、そのゾーン用に代替ゲートキーパが存在するためです。

URQ メッセージは、"gkb-1" に登録された全エンドポイントに送られます。これらのエンドポイントは、「gwb-1」ゲートウェイおよび「gwb-2」ゲートウェイです。この 2 つのゲートウェイは、UCF を返送することで、URQ を確認します。さらに、gkb-1 は、クラスタの代替ゲートキーパに GUP unregistrationIndication メッセージを送信してから、GUP 接続を閉じます。

Mar  2 23:59:55.914: RAS OUTGOING PDU ::=

  

  value RasMessage ::= unregistrationRequest :

      {

        requestSeqNum 79

        callSignalAddress

        {

          ipAddress :

          {

            ip 'AC100D17'H

  !--- UnregistrationRequest(URQ)が gwb-1(172.16.13.23)に送られました。

            port 1720

          }

        }

      }

  

  

  

  Mar  2 23:59:55.914: RAS OUTGOING ENCODE BUFFER::= 18 00004E01

  00AC100D 1706B8

  Mar  2 23:59:55.914:

  Mar  2 23:59:55.914:  IPSOCK_RAS_sendto:   msg length 12 from 172.16.13.41:1719 to

  172.16.13.23: 51874

  Mar  2 23:59:55.914:       RASLib::RASSendURQ: URQ (seq# 79) sent to

  172.16.13.23

  Mar  2 23:59:55.918: RAS OUTGOING PDU ::=

  

  value RasMessage ::= unregistrationRequest :

      {

        requestSeqNum 80

        callSignalAddress

        {

          ipAddress :

          {

            ip 'AC100D1A'H

  !--- UnregistrationRequest(URQ)が gwb-2(172.16.13.26)に送られました。

            port 1720

          }

        }

      }

  

  

  

  Mar  2 23:59:55.918: RAS OUTGOING ENCODE BUFFER::= 18 00004F01

  00AC100D 1A06B8

  Mar  2 23:59:55.918:

  Mar  2 23:59:55.918:  IPSOCK_RAS_sendto:   msg length 12 from 172.16.13.41:1719 to

  172.16.13.26: 50041

  Mar  2 23:59:55.918:       RASLib::RASSendURQ: URQ (seq# 80) sent to

  172.16.13.26

  Mar  2 23:59:55.922:  RecvUDP_IPSockData  successfully rcvd message of length 3

  from 172.16.13.23:51874

  Mar  2 23:59:55.922: RAS INCOMING ENCODE BUFFER::= 1C 004E

  Mar  2 23:59:55.922:

  Mar  2 23:59:55.922: RAS INCOMING PDU ::=

  

  value RasMessage ::= unregistrationConfirm :

      {

        requestSeqNum 79

      }

  

  

  

  Mar  2 23:59:55.922: UCF (seq# 79) rcvd

  Mar  2 23:59:55.926:  RecvUDP_IPSockData  successfully rcvd message of length 3

  from 172.16.13.26:50041

  Mar  2 23:59:55.926: RAS INCOMING ENCODE BUFFER::= 1C 004F

  Mar  2 23:59:55.926:

  Mar  2 23:59:55.926: RAS INCOMING PDU ::=

  

  value RasMessage ::= unregistrationConfirm :

      {

        requestSeqNum 80

      }

  

  

  

  Mar  2 23:59:55.926: UCF (seq# 80) rcvd

  Mar  3 00:00:01.922: GUP OUTGOING PDU ::=

  

  value GUP_Information ::=

      {

        protocolIdentifier { 1 2 840 113548 10 0 0 2 }

        message unregistrationIndication :

        {

          reason explicitUnregister : NULL

          callSignalAddress

          {

            ipAddress :

            {

              ip 'AC100D17'H

  !--- GUP UnregistrationIndication が、クラスタの代替ゲートキーパの gkb-2(172.16.13.16)に送られました。

              port 1720

            }

          }

        }

      }

  

  

  

  Mar  3 00:00:01.922: GUP OUTGOING ENCODE BUFFER::= 00 0A2A8648

  86F70C0A 00000238 000100AC 100D1706 B8

  Mar  3 00:00:01.926:

  Mar  3 00:00:01.926: Sending GUP UNREGISTRATION INDICATION to

  172.16.13.16

  Mar  3 00:00:01.934: gk_gup_close_connection(): closing connection to 172.16.13.16

  Mar  3 00:00:01.934: gk_gup_close_listen(): closing listen

  
次に、gkb-2 からのデバッグを示します。移動されたエンドポイントである「gwb-1」と「gwb-2」の登録に関するデバッグは、通常の登録と大差ないため削除されています。ここでの目的は、「gwb-1」が「gkb-2」に移動した場合に、アクティブ コールの DRQ が「gwb-1」で受信されたことを示すことです。
Mar  3 00:00:24.307:  RecvUDP_IPSockData  successfully rcvd message of length 77

  from 172.16.13.23:51874

  Mar  3 00:00:24.307: RAS INCOMING ENCODE BUFFER::= 3E 172C1E00 36003100

  38003400 44004300 34004300 30003000 30003000 3

  0003000 300033C8 C66C7D16 8011CC80 0C882828 5B8DF600 0E21A100 1100C8C6

  6C7D1680 11CC800D 8828285B 8DF60180

  Mar  3 00:00:24.311:

  Mar  3 00:00:24.311: RAS INCOMING PDU ::=

  

  value RasMessage ::= disengageRequest :

  !--- DRQ では、コール参照値 14 および正常な切断原因コードが
!--- 受信されました。 !--- この情報は、アカウンティング サーバ、およびもし設定されていれば、GKTMP サーバに
!--- 伝送されます。
{ requestSeqNum 5933 endpointIdentifier {"6184DC4C00000003"} conferenceID 'C8C66C7D168011CC800C8828285B8DF6'H callReferenceValue 14 disengageReason normalDrop : NULL callIdentifier { guid 'C8C66C7D168011CC800D8828285B8DF6'H } answeredCall TRUE } Mar 3 00:00:24.311: DRQ (seq# 5933) rcvd Mar 3 00:00:24.315: RAS OUTGOING PDU ::= value RasMessage ::= disengageConfirm : !--- DCF が、"gwb-1" ゲートウェイに送信されました。 { requestSeqNum 5933 } Mar 3 00:00:24.315: RAS OUTGOING ENCODE BUFFER::= 40 172C Mar 3 00:00:24.315: Mar 3 00:00:24.315: IPSOCK_RAS_sendto: msg length 3 from 172.16.13.16:1719 to 172.16.13.23: 51874 Mar 3 00:00:24.315: RASLib::RASSendDCF: DCF (seq# 5933) sent to 172.16.13.23 gkb-2#

代替ゲートキーパへの Cisco ゲートウェイのフェールオーバー

デフォルトで、Cisco ゲートウェイは、ライトウェイトの RRQ を 45 秒ごとに送信します。ルーティングの切断などにより、ゲートキーパがゲートウェイにまったく URQ を送信しない場合、ライトウェイトの RRQ について RCF や RRJ を受信しなかった時点で、ゲートウェイは 5 秒間隔で 2 回、送信を試みます。3 回目の試みが失敗した段階で、ゲートウェイは、ゲートキーパがダウンしていると判断して、RRQ を使用して代替ゲートキーパに登録します。ダウンしているゲートキーパの検出と、代替ゲートキーパへの移動に要する最長の時間は 55 秒です(45 秒 + 5 秒 + 5 秒)。

代替エンドポイントに関する問題のトラブルシューティング

発信側エンドポイントがコール設定の障害から復旧するには、代替エンドポイントのいずれか 1 つに設定メッセージを送信します。コールは、さまざまな理由で失敗します。たとえば、ゲートウェイがダウンしてもゲートキーパが ACF または LCF 送信時にそれを認識していない、ゲートウェイにリソースがないのにそれをゲートキーパに報告していない、メインのエンドポイントでの設定が誤っているなどの理由があります。

注:発信側エンドポイントが代替ゲートキーパにアクセスするのは、アラート ステージ(アラートまたは経過)の前にコールが失敗した場合だけです。ユーザ側のビジーまたは無応答が原因でコールが失敗しても、発信側エンドポイントは別の代替ゲートキーパにアクセスしません。

ゲートキーパは、endpoint alt-ep ゲートキーパ CLI コマンドを使用した手作業での設定や、受信した RAS メッセージから得た情報によって、特定のエンドポイントの代替について学習します。シスコの場合、ゲートキーパが代替を学習した方法にかかわらず、エンドポイントごとに最大 20 個の代替がサポートされます。

次に、確認する必要のある問題を示します。

  • ゲートキーパに正しい代替エンドポイントが登録されているかどうか。
  • ゲートキーパは、LCF や ACF などの RAS メッセージに代替エンドポイントを含めているか。
  • メインの宛先エンドポイントに障害が発生した場合、OGW は代替へのアクセスを試みるか。

これらの問題の解決方法を示すために、上記と同じトポロジを使用して、次のように「gkb-1」ゲートキーパの設定を変更し、ゲートウェイの「gwb-2」に 2 つの代替ゲートウェイ、「gwb-3」と「gwb-1」を含めました。次に、「gkb-1」ゲートキーパの設定を示します。

!

  gatekeeper

   zone local gkb-1 domainB.com 172.16.13.41

   zone remote gka-1 domainA.com 172.16.13.35 1719

   zone cluster local gkb gkb-1

    element gkb-2 172.16.13.16 1719

   !

   gw-type-prefix 2#* default-technology

   bandwidth total zone gkb-1 512

   bandwidth session zone gkb-1 512

   no shutdown

   endpoint alt-ep h323id gwb-2 172.16.13.42 

  !--- 172.16.13.42 は gwb-3 です。

   endpoint alt-ep h323id gwb-2 172.16.13.23

  !--- 172.16.13.42 は gwb-1 です。

  !

ゲートキーパに正しい代替エンドポイントが登録されていることの検証

ゲートキーパに正しい代替エンドポイントが登録されているかどうかを確認するには、show gatekeeper endpoints alternates コマンドを使用します。
gkb-1#show gatekeeper endpoints alternates

                      GATEKEEPER ENDPOINT REGISTRATION

                      ==================================

  CallSignalAddr        Port     RASSignalAddr       Port      Zone Name         Type       Flags

  -------------------- ------ --------------------- -------  ----------------  ---------   --------

  172.16.13.23         1720      172.16.13.23        54670        gkb-1         VOIP-GW

      H323-ID: gwb-1

  172.16.13.26         1720      172.16.13.26        57233        gkb-1         VOIP-GW

      H323-ID: gwb-2

      ALT_EP:  172.16.13.42 <1720>   

  

               172.16.13.23 <1720>

  !--- エンドポイント単位に収集されたすべての情報が表示されます。

  172.16.13.42         1720      172.16.13.42        58430        gkb-1         VOIP-GW       A

      H323-ID: gwb-3

  Total number of active registrations = 3

  

                     ALL CONFIGURED ALTERNATE ENDPOINTS       

  !--- 手作業でのみ設定しました。

                     =======================================

  Endpoint H323 Id                RASSignalAddr          Port

  -----------------------     ---------------------     -------

  gwb-2                          172.16.13.42             1720

  gwb-2                          172.16.13.23             1720

  gkb-1#

ゲートキーパが代替エンドポイントを LCF または ACF などの RAS メッセージに含めるかどうかの検証

ゲートキーパが、代替エンドポイントの IP アドレスを送信するかどうかを確認するには、debug h225 asn1 をオンにして、ACF または LCF メッセージを参照します。次に、"gkb-1" から取得したデバッグ例を示します。
Mar  3 04:12:47.676: H225 NONSTD OUTGOING ENCODE BUFFER::= 00 01400400

  67007700 62002D00 32080067 00

  6B0062 002D0031 01100140 04006700 77006200 2D003200 AC100D1A 06B80000

  00000000 00000000

  Mar  3 04:12:47.676:

  Mar  3 04:12:47.676: RAS OUTGOING PDU ::=

  

  value RasMessage ::= locationConfirm :

      {

        requestSeqNum 2070

        callSignalAddress ipAddress :

        {

          ip 'AC100D1A'H	

   !--- メインの宛先の IP アドレスです。

          port 1720

        }

        rasAddress ipAddress :

        {

          ip 'AC100D1A'H

          port 50041

        }

        nonStandardData

        {

          nonStandardIdentifier h221NonStandard :

          {

            t35CountryCode 181

            t35Extension 0

            manufacturerCode 18

          }

          data '00014004006700770062002D0032080067006B00...'H

        }

        destinationType

        {

          gateway

          {

            protocol

            {

              voice :

              {

                supportedPrefixes

                {

                }

              }

            }

          }

          mc FALSE

          undefinedNode FALSE

        }

        alternateEndpoints

  !--- 代替エンドポイント

        {

  

          {

            callSignalAddress 

            {

              ipAddress :

              {

                ip 'AC100D2A'H

  !--- これは、最初の代替ゲートウェイの IP アドレス(172.16.13.42 gwb-3)です。 

                port 1720

              },            ipAddress :

              {

                ip 'AC100D17'H	

  !--- これは、第 2 の代替ゲートウェイの IP アドレス(172.16.13.23 gwb-1)です。

  

                port 1720

              }

            }

          }

        }

      }

メインの宛先エンドポイントに障害が発生した場合に、OGW が代替エンドポイントにアクセスするかどうかの検証

ACF メッセージで代替エンドポイントを受信すると、OGW はどう対応するのかを見てみます。この例では、メインの終端エンドポイント(gw)にアクセスしようとして、コールの確立が失敗しました。ここでオンにするデバッグは、debug voip ccapi inout および debug h225 asn1 です。

デバッグで最初に表示されるのは、発信側のテレフォニー区間を示す ccapi メッセージです。

Mar  3 04:12:47.616: cc_api_call_setup_ind (vdbPtr=0x6264A60C,

  callInfo={called=3653,called_oct3=0x8

  0,calling=4085272923,calling_oct3=0x21,calling_oct3a=0x80,calling_xlated=false,subsc

  riber_type_str=R

  egularLine,fdest=1,peer_tag=5336, prog_ind=0},callID=0x62155454)

  Mar  3 04:12:47.616: cc_api_call_setup_ind type 13 , prot 0

  Mar  3 04:12:47.620: cc_process_call_setup_ind (event=0x6231C454)

  Mar  3 04:12:47.620: >>>>CCAPI handed cid 51 with tag 5336 to app "DEFAULT"

  Mar  3 04:12:47.620: sess_appl: ev(24=CC_EV_CALL_SETUP_IND), cid(51), disp(0)

  Mar  3 04:12:47.620: sess_appl: ev(SSA_EV_CALL_SETUP_IND), cid(51), disp(0)

  Mar  3 04:12:47.620: ssaCallSetupInd

  Mar  3 04:12:47.620: ccCallSetContext (callID=0x33, context=0x626EAC9C)

  Mar  3 04:12:47.620: ssaCallSetupInd cid(51), st(SSA_CS_MAPPING),oldst(0),

  ev(24)ev->e.evCallSetupIn

  d.nCallInfo.finalDestFlag = 1

  Mar  3 04:12:47.620: ssaCallSetupInd finalDest cllng(4085272923), clled(3653)

  Mar  3 04:12:47.620: ssaCallSetupInd cid(51), st(SSA_CS_CALL_SETTING),oldst(0),

  ev(24)dpMatchPeersMo

  reArg result= 0

  Mar  3 04:12:47.620: ssaSetupPeer cid(51) peer list:  tag(3653) called number (3653)

  Mar  3 04:12:47.620: ssaSetupPeer cid(51), destPat(3653), matched(4), prefix(),

  peer(62663E7C), peer

  ->encapType (2)

  Mar  3 04:12:47.620: ccCallProceeding (callID=0x33, prog_ind=0x0)

  Mar  3 04:12:47.620: ccCallSetupRequest (Inbound call = 0x33, outbound peer =3653,

  dest=,

          params=0x62327730 mode=0, *callID=0x62327A98, prog_ind = 0)

  Mar  3 04:12:47.624: ccCallSetupRequest numbering_type 0x80

  Mar  3 04:12:47.624: ccCallSetupRequest encapType 2 clid_restrict_disable 1

  null_orig_clg 0 clid_tra

  nsparent 0 callingNumber 4085272923

  

  Mar  3 04:12:47.624: dest pattern 3653, called 3653, digit_strip 0

  Mar  3 04:12:47.624: callingNumber=4085272923, calledNumber=3653,

  redirectNumber= display_info= call

  ing_oct3a=80

  Mar  3 04:12:47.624: accountNumber=, finalDestFlag=1,

  guid=2d3a.ac33.16a4.11cc.8068.8828.285b.8df6

  Mar  3 04:12:47.624: peer_tag=3653

  Mar  3 04:12:47.624: ccIFCallSetupRequestPrivate: (vdbPtr=0x621B2360, dest=,

  callParams={called=3653

  ,called_oct3=0x80, calling=4085272923,calling_oct3=0x21, calling_xlated=false,

  subscriber_type_str=

  RegularLine, fdest=1, voice_peer_tag=3653},mode=0x0) vdbPtr type = 1

  

  !--- OGW は、2 番目の区間を確立します。

  

  Mar  3 04:12:47.624: ccIFCallSetupRequestPrivate: (vdbPtr=0x621B2360, dest=,

  callParams={called=3653

  , called_oct3 0x80,  calling=4085272923,calling_oct3 0x21, calling_xlated=false,

  fdest=1, voice_pee

  r_tag=3653}, mode=0x0, xltrc=-5)

  Mar  3 04:12:47.624: ccSaveDialpeerTag (callID=0x33, dialpeer_tag=0xE45)

  Mar  3 04:12:47.624: ccCallSetContext (callID=0x34, context=0x626EB9A4)

  Mar  3 04:12:47.624: ccCallReportDigits (callID=0x33, enable=0x0)

  Mar  3 04:12:47.624: cc_api_call_report_digits_done (vdbPtr=0x6264A60C,

  callID=0x33, disp=0)

  Mar  3 04:12:47.624: sess_appl: ev(52=CC_EV_CALL_REPORT_DIGITS_DONE),

  cid(51), disp(0)

  Mar  3 04:12:47.624: cid(51)st(SSA_CS_CALL_SETTING)ev(SSA_EV_CALL_REPORT_DIGITS_DONE)

  oldst(SSA_CS_MAPPING)cfid(-1)csize(0)in(1)fDest(1)

  Mar  3 04:12:47.624: -cid2(52)st2(SSA_CS_CALL_SETTING)oldst2(SSA_CS_MAPPING)

  Mar  3 04:12:47.624: ssaReportDigitsDone cid(51) peer list: (empty)

  Mar  3 04:12:47.624: ssaReportDigitsDone callid=51 Reporting disabled.

  Mar  3 04:12:47.628: H225 NONSTD OUTGOING PDU ::=

  

  value ARQnonStandardInfo ::=

      {

        sourceAlias

        {

        }

        sourceExtAlias

        {

        }

        callingOctet3a 128

        interfaceSpecificBillingId "ISDN-VOICE"

      }

  

  

  

  Mar  3 04:12:47.628: H225 NONSTD OUTGOING ENCODE BUFFER::= 80 000008A0

  01800B12 4953444E 2D564F49 43

  45

  Mar  3 04:12:47.628:

  Mar  3 04:12:47.628: RAS OUTGOING PDU ::=

  

  value RasMessage ::= admissionRequest :

  !--- ARQ が、ゲートキーパに送られました。

        requestSeqNum 2210

        callType pointToPoint : NULL

        callModel direct : NULL

        endpointIdentifier {"81206D2C00000001"}

        destinationInfo

        {

          e164 : "3653"

        }

        srcInfo

        {

          e164 : "4085272923",

          h323-ID : {"gwa-1"}

        }

        bandWidth 640

        callReferenceValue 26

        nonStandardData

        {

          nonStandardIdentifier h221NonStandard :

          {

            t35CountryCode 181

            t35Extension 0

            manufacturerCode 18

          }

          data '80000008A001800B124953444E2D564F494345'H

        }

        conferenceID '2D3AAC3316A411CC80688828285B8DF6'H

        activeMC FALSE

        answerCall FALSE

        canMapAlias TRUE

        callIdentifier

        {

          guid '2D3AAC3316A411CC80698828285B8DF6'H

        }

        willSupplyUUIEs FALSE

      }

  

  

  

  Mar  3 04:12:47.636: RAS OUTGOING ENCODE BUFFER::= 27 8808A100 F0003800

  31003200 30003600 44003200 4

  3003000 30003000 30003000 30003000 31010180 69860204 8073B85A 5C564004

  00670077 0061002D 00314002 80

  001A40 B5000012 13800000 08A00180 0B124953 444E2D56 4F494345 2D3AAC33

  16A411CC 80688828 285B8DF6 04E

  02001 8011002D 3AAC3316 A411CC80 69882828 5B8DF601 00

  Mar  3 04:12:47.640:

  Mar  3 04:12:47.656: RAS INCOMING ENCODE BUFFER::= 80 050008A1 2327

  Mar  3 04:12:47.656:

  Mar  3 04:12:47.656: RAS INCOMING PDU ::=

  

  value RasMessage ::= requestInProgress :

      {

        requestSeqNum 2210

        delay 9000

      }

  

  

  

  Mar  3 04:12:47.704: RAS INCOMING ENCODE BUFFER::= 2B 0008A140

  028000AC 100D1A06 B800EF1A 10C01201 1

  0000200 AC100D2A 06B800AC 100D1706 B8010002 0000

  Mar  3 04:12:47.704:

  Mar  3 04:12:47.704: RAS INCOMING PDU ::=

  

  value RasMessage ::= admissionConfirm :

  !--- ACF が受信されました。

      {

        requestSeqNum 2210

        bandWidth 640

        callModel direct : NULL

        destCallSignalAddress ipAddress :

  !--- プライマリの宛先エンドポイント

        {

          ip 'AC100D1A'H

          port 1720

        }

        irrFrequency 240

        alternateEndpoints

  !--- 代替エンドポイントのリスト

        {

  

          {

            callSignalAddress

            {

              ipAddress :

              {

                ip 'AC100D2A'H

  !--- 172.16.13.42

                port 1720

              },            ipAddress :

              {

                ip 'AC100D17'H

  !--- 172.16.13.23

                port 1720

              }

            }

          }

        }

        willRespondToIRR FALSE

        uuiesRequested

        {

          setup FALSE

          callProceeding FALSE

          connect FALSE

          alerting FALSE

          information FALSE

          releaseComplete FALSE

          facility FALSE

          progress FALSE

          empty FALSE

        }

      }

  

  

  

  Mar  3 04:12:47.720: H225 NONSTD OUTGOING PDU ::=

  

  value H323_UU_NonStdInfo ::=

      {

        version 2

        protoParam qsigNonStdInfo :

        {

          iei 4

          rawMesg '04038090A31803A983816C0C2180343038353237...'H

        }

      }

  

  

  

  Mar  3 04:12:47.720: H225 NONSTD OUTGOING ENCODE BUFFER::= 60 01020001

  041F0403 8090A318 03A98381 6C

  0C2180 34303835 32373239 32337005 80333635 33

  Mar  3 04:12:47.724:

  Mar  3 04:12:47.724: H225.0 OUTGOING PDU ::=

  

  value H323_UserInformation ::=

      {

        h323-uu-pdu

        {

          h323-message-body setup :

  !--- H.225 設定が、プライマリ エンドポイントに送られました。

          {

            protocolIdentifier { 0 0 8 2250 0 2 }

            sourceAddress

            {

              h323-ID : {"gwa-1"}

            }

            sourceInfo

            {

              gateway

              {

                protocol

                {

                  voice :

                  {

                    supportedPrefixes

                    {

  

                      {

                        prefix e164 : "1#"

                      }

                    }

                  }

                }

              }

              mc FALSE

              undefinedNode FALSE

            }

            activeMC FALSE

            conferenceID '2D3AAC3316A411CC80688828285B8DF6'H

            conferenceGoal create : NULL

            callType pointToPoint : NULL

            sourceCallSignalAddress ipAddress :

            {

              ip 'AC100D0F'H

              port 11025

            }

            callIdentifier

            {

              guid '2D3AAC3316A411CC80698828285B8DF6'H

            }

            fastStart

            {

              '0000000C6013800A04000100AC100D0F47F1'H,

              '400000060401004C6013801114000100AC100D0F...'H

            }

            mediaWaitForConnect FALSE

            canOverlapSend FALSE

          }

          h245Tunneling TRUE

          nonStandardControl

          {

  

            {

              nonStandardIdentifier h221NonStandard :

              {

                t35CountryCode 181

                t35Extension 0

                manufacturerCode 18

              }

              data '6001020001041F04038090A31803A983816C0C21...'H

            }

          }

        }

      }

  

  

  

  Mar  3 04:12:47.740: H225.0 OUTGOING ENCODE BUFFER::= 20 A0060008

  914A0002 01400400 67007700 61002D0

  0 31088001 3C050401 00204000 2D3AAC33 16A411CC 80688828 285B8DF6

  00451C07 00AC100D 0F2B1111 002D3AAC

   3316A411 CC806988 28285B8D F6320212 0000000C 6013800A 04000100

  AC100D0F 47F11D40 00000604 01004C60

  13801114 000100AC 100D0F47 F000AC10 0D0F47F1 01000100 06A00180

  2D0140B5 00001226 60010200 01041F04 0

  38090A3 1803A983 816C0C21 80343038 35323732 39323370 05803336 3533

  Mar  3 04:12:47.744:

  Mar  3 04:12:47.760: H225.0 INCOMING ENCODE BUFFER::= 25 80060008

  914A0004 11001100 2D3AAC33 16A411C

  C 80698828 285B8DF6 10800180

  Mar  3 04:12:47.760:

  Mar  3 04:12:47.760: H225.0 INCOMING PDU ::=

  

  value H323_UserInformation ::=

      {

        h323-uu-pdu

        {

          h323-message-body releaseComplete :

  !--- 最初の設定メッセージは失敗しました。

          {

            protocolIdentifier { 0 0 8 2250 0 4 }

            callIdentifier

            {

              guid '2D3AAC3316A411CC80698828285B8DF6'H

            }

          }

          h245Tunneling TRUE

        }

      }

  

  

  

  Mar  3 04:12:47.776: H225 NONSTD OUTGOING PDU ::=

  

  value H323_UU_NonStdInfo ::=

      {

        version 2

        protoParam qsigNonStdInfo :

        {

          iei 4

          rawMesg '04038090A31803A983816C0C2180343038353237...'H

        }

      }

  

  

  

  Mar  3 04:12:47.776: H225 NONSTD OUTGOING ENCODE BUFFER::= 60 01020001

  041F0403 8090A318 03A98381 6C

  0C2180 34303835 32373239 32337005 80333635 33

  Mar  3 04:12:47.776:

  Mar  3 04:12:47.776: H225.0 OUTGOING PDU ::=

  

  value H323_UserInformation ::=

      {

        h323-uu-pdu

        {

          h323-message-body setup :

  !--- 第 2 の設定が、代替エンドポイントに送られました。

          {

            protocolIdentifier { 0 0 8 2250 0 2 }

            sourceAddress

            {

              h323-ID : {"gwa-1"}

            }

            sourceInfo

            {

              gateway

              {

                protocol

                {

                  voice :

                  {

                    supportedPrefixes

                    {

  

                      {

                        prefix e164 : "1#"

                      }

                    }

                  }

                }

              }

              mc FALSE

              undefinedNode FALSE

            }

            activeMC FALSE

            conferenceID '2D3AAC3316A411CC80688828285B8DF6'H

            conferenceGoal create : NULL

            callType pointToPoint : NULL

            sourceCallSignalAddress ipAddress :

            {

              ip 'AC100D0F'H

              port 11027

            }

            callIdentifier

            {

              guid '2D3AAC3316A411CC80698828285B8DF6'H

            }

            fastStart

            {

              '0000000C6013800A04000100AC100D0F47F1'H,

              '400000060401004C6013801114000100AC100D0F...'H

            }

            mediaWaitForConnect FALSE

            canOverlapSend FALSE

          }

          h245Tunneling TRUE

          nonStandardControl

          {

  

            {

              nonStandardIdentifier h221NonStandard :

              {

                t35CountryCode 181

                t35Extension 0

                manufacturerCode 18

              }

              data '6001020001041F04038090A31803A983816C0C21...'H

            }

          }

        }

      }

  

  

  

  Mar  3 04:12:47.796: H225.0 OUTGOING ENCODE BUFFER::= 20 A0060008

  914A0002 01400400 67007700 61002D0

  0 31088001 3C050401 00204000 2D3AAC33 16A411CC 80688828 285B8DF6

  00451C07 00AC100D 0F2B1311 002D3AAC

   3316A411 CC806988 28285B8D F6320212 0000000C 6013800A 04000100

  AC100D0F 47F11D40 00000604 01004C60

  13801114 000100AC 100D0F47 F000AC10 0D0F47F1 01000100 06A00180 2D0140B5

  00001226 60010200 01041F04 0

  38090A3 1803A983 816C0C21 80343038 35323732 39323370 05803336 3533

  Mar  3 04:12:47.800:

  Mar  3 04:12:47.872: H225.0 INCOMING ENCODE BUFFER::= 21 80060008

  914A0003 00078E11 002D3AAC 3316A41

  1 CC806988 28285B8D F6390219 0000000C 60138011 14000100 AC100D17

  479E00AC 100D1747 9F1D4000 00060401

   004C6013 80111400 0100AC10 0D0F47F0 00AC100D 17479F01 00010008 800180

  Mar  3 04:12:47.872:

  Mar  3 04:12:47.876: H225.0 INCOMING PDU ::=

  

  value H323_UserInformation ::=

      {

        h323-uu-pdu

        {

          h323-message-body callProceeding :

  !--- コール設定受付が受信されました。

          {

            protocolIdentifier { 0 0 8 2250 0 3 }

            destinationInfo

            {

              mc FALSE

              undefinedNode FALSE

            }

            callIdentifier

            {

              guid '2D3AAC3316A411CC80698828285B8DF6'H

            }

            fastStart

            {

              '0000000C6013801114000100AC100D17479E00AC...'H,

              '400000060401004C6013801114000100AC100D0F...'H

            }

          }

          h245Tunneling TRUE

        }

      }

  

  

  

  Mar  3 04:12:47.884: H225.0 OUTGOING PDU ::=

  

  value H323_UserInformation ::=

      {

        h323-uu-pdu

        {

          h323-message-body empty : NULL

          h245Tunneling TRUE

          h245Control

          {

            '0270010600088175000380138000140001000001...'H

          }

        }

      }

  

  

  

  Mar  3 04:12:47.884: H225.0 OUTGOING ENCODE BUFFER::= 28 10010006

  C0018063 01610270 01060008 8175000

  3 80138000 14000100 00010000 0100000C C0010001 00048000 104810B5 0000120C

  52747044 746D6652 656C6179

   00008000 16830150 80001583 01408000 12830110 80000020 C0130080 01020000

  16020015 00120010 000000

  Mar  3 04:12:47.888:

  Mar  3 04:12:47.888: H225.0 OUTGOING PDU ::=

  

  value H323_UserInformation ::=

      {

        h323-uu-pdu

        {

          h323-message-body empty : NULL

          h245Tunneling TRUE

          h245Control

          {

            '01003C4010F3'H

          }

        }

      }

  

  

  

  Mar  3 04:12:47.892: H225.0 OUTGOING ENCODE BUFFER::= 28 10010006

  C0018008 01060100 3C4010F3

  Mar  3 04:12:47.892:

  Mar  3 04:12:47.892: cc_api_call_proceeding(vdbPtr=0x621B2360, callID=0x34,

        prog_ind=0x0)

  Mar  3 04:12:47.896: sess_appl: ev(21=CC_EV_CALL_PROCEEDING), cid(52),

  disp(0)

  Mar  3 04:12:47.896: cid(52)st(SSA_CS_CALL_SETTING)ev(SSA_EV_CALL_PROCEEDING)

  oldst(SSA_CS_MAPPING)cfid(-1)csize(0)in(0)fDest(0)

  Mar  3 04:12:47.896: -cid2(51)st2(SSA_CS_CALL_SETTING)oldst2(SSA_CS_CALL_SETTING)

  Mar  3 04:12:47.896: ssaCallProc

  Mar  3 04:12:47.896: ccGetDialpeerTag (callID=0x33)

  Mar  3 04:12:47.896: ssaIgnore cid(52), st(SSA_CS_CALL_SETTING),oldst(1), ev(21)

  Mar  3 04:12:47.900: H225.0 INCOMING ENCODE BUFFER::= 28 10010008

  C0018063 01610270 01060008 8175000

  6 80138000 14000100 00010000 0100000C C0010001 00048000 104810B5 0000120C

  52747044 746D6652 656C6179

   00008000 16830150 80001583 01408000 12830110 80000020 C0130080 01020000

  16020015 00120010 000000

  Mar  3 04:12:47.904:

  Mar  3 04:12:47.904: H225.0 INCOMING PDU ::=

  

  value H323_UserInformation ::=

      {

        h323-uu-pdu

        {

          h323-message-body empty : NULL

          h245Tunneling TRUE

          h245Control

          {

            '0270010600088175000680138000140001000001...'H

          }

        }

      }

  

  !--- ここでは、一部の不要な H.225 デバッグ メッセージを削除しています。

  

  Mar  3 04:12:52.116: H225.0 INCOMING ENCODE BUFFER::= 23 80060008

  914A0003 000A8600 11002D3A AC3316A

  4 11CC8069 8828285B 8DF60100 01000880 0180

  Mar  3 04:12:52.120:

  Mar  3 04:12:52.120: H225.0 INCOMING PDU ::=

  

  value H323_UserInformation ::=

      {

        h323-uu-pdu

        {

          h323-message-body alerting :

  !--- アラート メッセージが受信されました。

          {

            protocolIdentifier { 0 0 8 2250 0 3 }

            destinationInfo

            {

              mc FALSE

              undefinedNode FALSE

            }

            callIdentifier

            {

              guid '2D3AAC3316A411CC80698828285B8DF6'H

            }

          }

          h245Tunneling TRUE

        }

      }

  

  

  

  Mar  3 04:12:52.124: cc_api_call_alert(vdbPtr=0x621B2360, callID=0x34,

  prog_ind=0x8, sig_ind=0x1)

  Mar  3 04:12:52.124: sess_appl: ev(7=CC_EV_CALL_ALERT), cid(52), disp(0)

  Mar  3 04:12:52.124: cid(52)st(SSA_CS_CALL_SETTING)ev(SSA_EV_CALL_ALERT)

  oldst(SSA_CS_CALL_SETTING)cfid(-1)csize(0)in(0)fDest(0)

ロード バランスのトラブルシューティング

ロード バランス機能を使用すると、コールの数、メモリ、CPU、および登録エンドポイントの数に関して、ゲートキーパに特定のしきい値を設定できます。設定したしきい値に達すると、ゲートキーパは、登録されている Cisco H.323 エンドポイントを代替ゲートキーパに移動したり、新しいコールや登録を拒否したりします。ロード バランシングを有効にするには、ゲートキーパ CLI コマンドを使用します。
Router(config-gk)#load-balance [endpoints max-endpoints] [calls max-calls] [cpu max-%cpu][memory max-%mem-used]
しきい値になると、ゲートキーパは RRJ の RAS メッセージを使用して、代替ゲートキーパや拒否の理由についてエンドポイントに知らせます。エンドポイントは、そのメッセージを受け取ると、新しい RRQ を代替ゲートキーパに送信します。代替ゲートキーパに登録されると、エンドポイントは、GUP メッセージを使用して、クラスタ内の全ゲートキーパに新規登録されたエンドポイントについて通知します。

トラブルシューティングを行うときに注意すべき問題は、ゲートキーパでの設定チェック、および代替ゲートキーパ機能とロード バランシング機能の動作の有無の確認などです。上記のトポロジは、トラブルシューティングの目的のために使用されました。"gkb-1" ゲートキーパの設定は、次のケースを表示するように変更されました。

  • しきい値になったときに、ゲートキーパがコールを拒否する方法
  • しきい値になったときに、ゲートキーパがエンドポイントの登録を代替ゲートキーパに移動する方法

ロード バランシング機能をデバッグするには、debug gatekeeper load および debug h225 asn1 を使用して、しきい値になったときのゲートキーパの反応を確認します。

次に、上記の 2 つのケース(コール数のしきい値、および登録されたエンドポイント数のしきい値に関するケース)を処理する際に使用する "gkb-1" ゲートキーパの設定を示します。

!

  gatekeeper

   zone local gkb-1 domainB.com 172.16.13.41

   zone remote gka-1 domainA.com 172.16.13.35 1719

   zone cluster local gkb gkb-1

    element gkb-2 172.16.13.16 1719

   !

   security token required-for all

   gw-type-prefix 2#* default-technology

   bandwidth total zone gkb-1 512

   bandwidth session zone gkb-1 512

   load-balance endpoints 2 calls 1

   no shutdown

  !

  !
コールは、ゲートキーパ gkb-1 を通じて確立されました。コールがアップしている間に、別のコールが確立されました。キャプチャしたデバッグでは、ロード バランスのデバッグがどう表示されるか、およびしきい値に達したため、ゲートキーパが第 2 コールをどう拒否するかが示されます。次のコマンドを使用すると、ゲートキーパを使用して動作するアクティブ コールの数を表示できます。
gkb-1#show gatekeeper call

  Total number of active calls = 1.

                           GATEKEEPER CALL INFO

                           ====================

  LocalCallID                        Age(secs)      BW

  5-29514                                 9       128(Kbps)

   Endpt(s): Alias                 E.164Addr

     src EP: gwa-1                 4085272923

   Endpt(s): Alias                 E.164Addr

     dst EP: gwb-1                 3653

             CallSignalAddr  Port  RASSignalAddr   Port

             172.16.13.23    1720  172.16.13.23    54670
次に、第 2 コールが要求されたときの h225 asn1 のデバッグとゲートキーパのロードについて示します。
Mar  3 05:04:55.354: RAS INCOMING ENCODE BUFFER::= 4A 80080501 01806986

  40B50000 12298286 B0110075 7

  95BF216 AB11CC80 95882828 5B8DF601 81110201 80866940 04006700 77006100

  2D003100 AC100D23 06B70B80 0D

  014004 0067006B 0061002D 00310180

  Mar  3 05:04:55.358:

  Mar  3 05:04:55.358: RAS INCOMING PDU ::=

  

  value RasMessage ::= locationRequest :

  !--- LRQ が受信されました。

      {

        requestSeqNum 2054

        destinationInfo

        {

          e164 : "3653"

        }

        nonStandardData

        {

          nonStandardIdentifier h221NonStandard :

          {

            t35CountryCode 181

            t35Extension 0

            manufacturerCode 18

          }

          data '8286B0110075795BF216AB11CC80958828285B8D...'H

        }

        replyAddress ipAddress :

        {

          ip 'AC100D23'H

          port 1719

        }

        sourceInfo

        {

          h323-ID : {"gka-1"}

        }

        canMapAlias TRUE

      }

  

  

  

  Mar  3 05:04:55.362: H225 NONSTD INCOMING ENCODE BUFFER::= 82 86B01100

  75795BF2 16AB11CC 80958828 28

  5B8DF6 01811102 01808669 40040067 00770061 002D0031

  Mar  3 05:04:55.366:

  Mar  3 05:04:55.366: H225 NONSTD INCOMING PDU ::=

  

  value LRQnonStandardInfo ::=

      {

        ttl 6

        nonstd-callIdentifier

        {

          guid '75795BF216AB11CC80958828285B8DF6'H

        }

        callingOctet3a 129

        gatewaySrcInfo

        {

          e164 : "5336",

          h323-ID : {"gwa-1"}

        }

      }

  

  

  

  Mar  3 05:04:55.366: gk_load_overloaded: Overloaded due to reaching specified call

  limits 

  !--- コール数がしきい値に達しました。

  Mar  3 05:04:55.370: RAS OUTGOING PDU ::=

  

  value RasMessage ::= locationReject :

  !--- LRJ が送られました。

      {

        requestSeqNum 2054

        rejectReason undefinedReason : NULL

      }
第 2 番目の例の場合、"gkb-1" ゲートキーパには 登録されたエンドポイントが 2 つあります。さらに、もう 1 つのエンドポイントの登録が実行されました。それら 3 つのエンドポイントはすべて同じクラスタ内にあるため、ゲートキーパは、このエンドポイントを移動して、代替ゲートキーパの "gkb-2" への登録を試みます。次に、このケースについて debug h225 asn1 および debug gatekeeper gup asn1 のデバッグ メッセージを示します。
Mar  3 05:21:05.682: RAS INCOMING PDU ::=

  

  value RasMessage ::= registrationRequest :

  !--- RRQ メッセージが受信されました。

      {

        requestSeqNum 4621

        protocolIdentifier { 0 0 8 2250 0 3 }

        discoveryComplete TRUE

        callSignalAddress

        {

          ipAddress :

          {

            ip 'AC100D2A'H

            port 1720

          }

        }

        rasAddress

        {

          ipAddress :

          {

            ip 'AC100D2A'H

            port 49998

          }

        }

        terminalType

        {

          gateway

          {

            protocol

            {

              voice :

              {

                supportedPrefixes

                {

  

                  {

                    prefix e164 : "1#"

                  }

                }

              }

            }

          }

          mc FALSE

          undefinedNode FALSE

        }

        terminalAlias

        {

          h323-ID : {"gwb-3"}

        }

        gatekeeperIdentifier {"gkb-1"}

        endpointVendor

        {

          vendor

          {

            t35CountryCode 181

            t35Extension 0

            manufacturerCode 18

          }

        }

        timeToLive 60

        tokens

        {

  

          {

            tokenOID { 1 2 840 113548 10 1 2 1 }

            timeStamp 731136065

            challenge '5A70CA112E6C7A3834792BD64FF7AD2F'H

            random 58

            generalID {"gwb-3"}

          }

        }

        cryptoTokens

        {

          cryptoEPPwdHash :

          {

            alias h323-ID : {"gwb-3"}

            timeStamp 731136065

            token

            {

              algorithmOID { 1 2 840 113549 2 5 }

              paramS

              {

              }

              hash "B1C1DAD962BEE42B1E53F368238B1D8"

            }

          }

        }

        keepAlive FALSE

        willSupplyUUIEs FALSE

        maintainConnection TRUE

      }

  

  

  

  Mar  3 05:21:05.698: gk_load_overloaded: Overloaded due to reaching specified

  endpoint limits 

  !--- エンドポイントのしきい値に達しました。

  Mar  3 05:21:05.702: RAS OUTGONG PDU ::=

  

  value RasMessage ::= registrationReject :

  !--- RRJ が送信されました。

      {

        requestSeqNum 4621

        protocolIdentifier { 0 0 8 2250 0 3 }

        rejectReason resourceUnavailable : NULL

  !--- 拒否の理由

        gatekeeperIdentifier {"gkb-1"}

        altGKInfo 

  !--- 代替ゲートキーパのリスト

        {

          alternateGatekeeper

          {

  

            {

              rasAddress ipAddress :

              {

                ip 'AC100D10'H

                port 1719

              }

              gatekeeperIdentifier {"gkb-2"}

              needToRegister TRUE

              priority 0

            }

          }

          altGKisPermanent TRUE

  !--- 永続的な移動であることをエンドポイントに通知します。

  

      }

  

  

  

  Mar  3 05:21:05.706: RAS OUTGOING ENCODE BUFFER::= 16 80120C06 0008914A

  00038101 00080067 006B0062 0

  02D0031 07001600 0140AC10 0D1006B7 08006700 6B006200 2D003280 80

  Mar  3 05:21:05.706:

  Mar  3 05:21:05.782: Received GUP REGISTRATION INDICATION from 172.16.13.16 	

  !--- 新規登録したエンドポイントについての GUP のアップデート

  gkb-1# 

ツール情報

詳細は、シスコの「ボイス、テレフォニー、およびメッセージング テクノロジー用 TAC ツール」を参照してください。


関連するシスコ サポート コミュニティ ディスカッション

シスコ サポート コミュニティは、どなたでも投稿や回答ができる情報交換スペースです。


関連情報

Document ID: 18730