Cisco BTS 10200 Softswitch CORBA アダプタ インターフェイス仕様 プログラマ ガイド
トラブルシューティング
トラブルシューティング
発行日;2012/02/07 | ドキュメントご利用ガイド | ダウンロード ; この章pdf , ドキュメント全体pdf (PDF - 523KB) | フィードバック

目次

トラブルシューティング

cadexception

CORBA ネットワーク設定の変更

CORBA が Cisco BTS 10200 ソフトスイッチに接続できない

CORBA と EPOM のトラブルシューティング手順

CORBA と EPOM の特殊文字のトラブルシューティング:subscriber コマンド

トラブルシューティング

この章では、基本的な cadexception、デバッグ、およびネットワーク設定の手順について説明します。

cadexception

返される可能性のある基本的な cadexception は、次のとおりです。サンプル コードの中で与えられている番号は、説明に含まれているテキストを指しています。サンプル コードを使用すると、このテキストが返されます。

エラー メッセージ No Error

説明 0 はエラーではないため、これはプレースホルダです。

public static final int EM_NONE=0;

推奨処置 必要な作業はありません。エラーではありません。

エラー メッセージ CIS Error

説明 このエラーは、ORB の相互動作や、その他の実行時例外に関係している可能性のある内部処理エラーに対して使用されます。

public static final int EM_ERROR=1;

推奨処置 コマンドを再試行します。問題が引き続き発生する場合は、CORBA ネットワーク設定の変更の項の説明に従って、NameService と CORBA アダプタを再起動します。

エラー メッセージ CIS No Data

説明 show コマンドからデータが何も返されませんでした。これは、実際にはエラーではない可能性があります。例外がスローされるのは、NULL オブジェクトを返すよりも明確なためです。

public static final int EM_NODATA=2;

推奨処置 同じコマンドを CLI を使用して実行し、該当する noun(id)のデータが存在することを確認します。適切な構文については、『 Cisco BTS 10200 Softswitch Command Line Interface Reference Guide 』を参照してください。

エラー メッセージ User Security Error

説明 ユーザ セキュリティに障害が発見されました。これは、無効なユーザ名またはパスワードによるログインが原因になった可能性があります。また、ユーザ ID の検証に失敗したセキュリティ システムの内部エラーが原因で発生した可能性もあります。

public static final int EM_USERSEC=5;

推奨処置 ユーザ名とパスワードが正しいこと、および Cisco BTS 10200 ソフトスイッチへのアクセスに必要な権限を持っていることを確認します。同じユーザ名とパスワードで CLI にログインして、二重に確認します。

エラー メッセージ Permission Error

説明 コマンドの実行が試みられましたが、そのコマンドの認可テストに合格しませんでした。ユーザは、このコマンドの実行権限を持っていません。

public static final int EM_PERMISSION=6;

推奨処置 要求の実行に必要なコマンド特権をユーザが持っていることを確認します。同じユーザとして、同じコマンドを CLI を使用して実行し、二重に確認します。コマンド特権については、『 Cisco BTS 10200 Softswitch Command Line Interface Reference Guide 』を参照してください。

エラー メッセージ Error Message: Block Error

説明 Cisco BTS 10200 ソフトスイッチがメンテナンス モードになっているため、スイッチに関するすべてのプロビジョニングがブロックされました。コマンドは完全にウェルフォームドであり、接続はまだ有効です。

public static final int EM_BLOCK=7;

推奨処置 後でもう一度実行します。

エラー メッセージ Linkage Error

説明 リンケージに失敗しました。

public static final int EM_LINKAGE=10;

推奨処置 これはインストール エラーです。Cisco TAC にお問い合せください。

エラー メッセージ Exception In Initializer Error

説明 初期化メソッドが失敗しました。

public static final int EM_INIT=11;

推奨処置 コマンドをもう一度実行します。問題が引き続き発生する場合は、CORBA ネットワーク設定の変更の項の説明に従って、NameService と CORBA アダプタを再起動します。

エラー メッセージ Class Not Found Exception

説明 クラスが見つかりません。

public static final int EM_NOTFOUND=12;

推奨処置 CLASSPATH が設定されていること、およびすべての jar ファイルが CLASSPATH で指定された場所に存在することを確認します。CLASSPATH は、EMS 上の /opt/BTScis/bin/cis3 および /opt/ems/bin/Runtime.sh に設定されています。

エラー メッセージ Illegal Access Exception

説明 クラスまたはイニシャライザがアクセス不能です。

public static final int EM_ACCESS=13;

エラー メッセージ Instantiation Exception

説明 このクラスが、抽象クラス、インターフェイス、配列クラス、基本タイプ、または void を表す場合、あるいはインスタンス化が他の何らかの理由で失敗した場合にスローされます。

public static final int EM_INSTANCE=14;

推奨処置 CLASSPATH が設定されていること、およびすべての jar ファイルが CLASSPATH で指定された場所に存在することを確認します。CLASSPATH は、EMS 上の /opt/BTScis/bin/cis3 および /opt/ems/bin/Runtime.sh に設定されています。

エラー メッセージ Security Exception

説明 新しいインスタンスを作成する権限がありません。

public static final int EM_SECURITY=15;

推奨処置 CORBA アダプタがルートとして動作していることを確認します。EMS 上で ps -ef | grep cis3 and not the user コマンドを実行して確認します。

エラー メッセージ Invalid Request Exception

説明 要求が有効でないか、初期化できません。

public static final int EM_REQUEST=16;

推奨処置 XML 要求の構文が、Cisco BTS 10200 ソフトスイッチの標準に準拠した適切なものであることを確認します。

エラー メッセージ Invalid Noun Exception

説明 コマンドの noun が見つからないか無効です。

public static final int EM_NOUN=17;

推奨処置 要求の noun(id)が有効なものであること、および Cisco BTS 10200 ソフトスイッチの現行ソフトウェア リリースに対して適切であることを確認します。EMS 上で同じコマンドを CLI を使用して実行し、二重に確認します。構文については、『 Cisco BTS 10200 Softswitch Command Line Interface Reference Guide 』を参照してください。

エラー メッセージ Invalid Verb Exception

説明 コマンドの verb が見つからないか無効です。

public static final int EM_VERB=18;

推奨処置 要求の verb が有効なものであること、および Cisco BTS 10200 ソフトスイッチの現行ソフトウェア リリースに対して適切であることを確認します。EMS 上で同じコマンドを CLI を使用して実行し、二重に確認します。構文については、『 Cisco BTS 10200 Softswitch Command Line Interface Reference Guide 』を参照してください。

エラー メッセージ SQL Exception

説明 データベースにアクセスできない場合、制約に違反している場合、この他にテーブル競合がある場合、リソースに問題がある場合、またはこの他の何らかの Oracle 関連の原因がある場合にスローされます。

public static final int EM_DATABASE=19;

推奨処置 EMS 上でリレーショナル データベースが動作していることを確認します。次のコマンドを使用して確認します。

1) ps -ef | grep mysqld を実行します。動作中のプロセスが存在することを確認します。
2)ルートとして nodestat を実行し、Oracle データベースが動作していることを確認します。
どちらも動作していない場合は、『 Cisco BTS 10200 Operations and Maintenance Manual 』を参照して、これらのプロセスを再起動します。

エラー メッセージ Invalid Value Exception

説明 パラメータ値が、テキスト長、ピックリストなどの範囲を超えたか、他の何らかの制約事項に違反しました。

public static final int EM_VALUE=20;

推奨処置 XML 要求に含まれているすべての値が、これらの値に関する制約事項に従っていることを確認します。同じコマンドを同じ値で CLI を使用して実行し、二重に確認します。

エラー メッセージ Invalid Key Exception

説明 一部のデータ値の記述に、無効なキーまたはトークンが使用されました。

public static final int EM_KEY=21;

推奨処置 XML 要求に含まれているすべてのキーおよび値が、有効なものであることを確認します。同じコマンドを同じ値で CLI を使用して実行し、二重に確認します。

エラー メッセージ Missing Parameter Exception

説明 1 つまたはそれ以上の必須パラメータが、コマンド パラメータ データに含まれていませんでした。

public static final int EM_PARAM=22;

推奨処置 必須のキーと値が、すべて有効なものであることを確認します。同じコマンドを同じ値で CLI を使用して実行し、二重に確認します。

CORBA ネットワーク設定の変更

以前のリリースでは、オペレータが IP アドレスまたはホスト名のいずれかを入力するように求められました。この Release 4.5.1 では、Virtual IP(VIP; バーチャル IP)が設定されている場合、CORBA インストレーションは自動的に VIP を選択します。VIP が設定されていない場合は、最初の管理 IP アドレスが選択されます。このように運用するには、クライアント マシンにホスト名を追加する必要があります。Cisco BTS 10200 ソフトスイッチでの名前使用は、次の手順で変更することもできます。通常は、IP アドレスに変更して、クライアント側ネットワークで名前解決の問題が発生しないようにすることをお勧めします。


) ホスト名または IP アドレスは、クライアント側に送信される Interoperable Object Reference(IOR)の一部として使用されます。名前または IP アドレスを解決してクライアントにルーティングする必要があるのは、このためです。


クライアント側ネットワークでの使用に最適なホスト名または IP アドレスを特定し、次の手順を実行して、CORBA ネットワーク設定を変更します。


ステップ 1 /etc/inittab ファイルを編集し、最後の 2 エントリの名前を変更して、目的の設定に合せます。次の例を参考にしてください。

ns:3:respawn:/sbin/ins3 <VIP or EMS Management IP or hostname>
cs:3:respawn:/sbin/cis3 <VIP or EMS Management IP or hostname> <EMS Management IP #1>
< EMS Management IP #2>
 

ステップ 2 ディレクトリ /opt/BTSoorb/config/.(ピリオドはドメイン ディレクトリを完全修飾)で、setConfig.sh スクリプトを実行します。XML コンフィギュレーション ファイルは、OpenORB アーキテクチャにおけるバンドルされたリソース ファイルです。このコマンドは、変更された OpenORB.xml ファイルを使用して JAR ファイルを更新します。

ステップ 3 NameService(ins3)と CORBA サーバント プログラムを、挙げられている順序で強制終了して再起動します。

pkill ins3
pkill cis3
 

NameService(ins3)と CORBA サーバント(cis3)プログラムは、自動的に再起動します。

ステップ 4 ptree コマンドと kill コマンドを使用して、Java の子プロセスを強制終了します。孤立した Java プログラムは、予期しない動作の原因になる場合があります。


 

CORBA が Cisco BTS 10200 ソフトスイッチに接続できない

CORBA が Cisco BTS 10200 ソフトスイッチに接続できない場合は、Element Management System(EMS; 要素管理システム)内に設定されている内容と照合するための、クライアント側のホスト名解決が必要です。

次の手順を実行して、問題を解決します。


ステップ 1 エントリを呼び出したときに /etc/inittab ファイルで使用されている名前を特定します。

ns:3:respawn:/sbin/ins3 <VIP or EMS Management IP or hostname>
cs:3:respawn:/sbin/cis3 <VIP or EMS Management IP or hostname> <EMS Management IP #1>
< EMS Management IP #2>

 

ステップ 2 次の引数を追加して debug-trace コマンドを起動し、クライアント側のデバッグ情報を取得します。Java 引数は次のとおりです。

-Dopenorb.debug.trace=DEBUG -Dopenorb.debug.level=HIGH
 

ステップ 3 EMS サーバのホスト名が解決されない場合、例外がスローされます。「priems01」や「priems_nms1」などのデフォルト名が使用されていた場合、これらの名前はクライアント ネットワークでは解決されません。CORBA パッケージをアンインストールし、再インストールして、IP アドレスを受け入れるように EMS を修正します。


 

CORBA と EPOM のトラブルシューティング手順

この項では、CORBA とともに Extensible Provisioning and Operations Manager(EPOM)をトラブルシューティングするためのいくつかの手順について説明します。UNIX と Java コマンドの知識が必要です。


注意 EPOM は EMS と共存できません。

問題が発生した場合は、次の手順を実行します。


ステップ 1 CORBA アプリケーションが動作していることを確認します。

ps -ef | grep cis
 

ステップ 2 cis.log の中にエラーまたは手掛かりがないかどうかを確認します。

more /opt/ems/log/CIS.log
 

ステップ 3 EPOM のログにエラーまたは手掛かりがないかどうかを確認します。

more var/opt/CSCOepom/logs
 


 

Cisco BTS 10200 ソフトスイッチの CORBA サービスの設定方法に問題がある場合は、次の手順を実行します。


ステップ 1 Cisco BTS 10200 ソフトスイッチのホスト名が CORBA 設定で提供されていることを確認します。

a. ホスト名が提供されている場合は、Cisco BTS 10200 ソフトスイッチの IP アドレスに変更し、Cisco BTS 10200 ソフトスイッチ上の CORBA サービスを再起動します。

b. ホスト名が提供されていない場合は、他の作業を行う前に CORBA アプリケーションを終了し、再インストールします。

ステップ 2 次のコマンドを使用して、ポート 683 および 14001 が Cisco BTS 10200 ソフトスイッチ サーバ上で待ち受け状態かどうかを確認します。

netstat -a |grep 683
netstat -a |grep 14001.

ステップ 3 Cisco BTS 10200 ソフトスイッチ サーバ上の CIS.log に対して tail -f を実行します。

tail -f /opt/ems/log/CIS.log

) EPOM のログ ファイルは /var/opt/CSCOepom/logs にあります。EPOM サーバ上の trace.log ファイルと localhost ファイルを確認します。


ステップ 4 EPOM GUI の Config ボタンをクリックし(何回かクリックが必要な場合があります)、次のコマンドを実行します。

netstat -a |grep 14001 and netstat -a |grep 683
 

ステップ 5 ユーザ名とパスワードが、Cisco BTS 10200 ソフトスイッチ インベントリを EPOM に追加したときと同じものであることを確認します。ユーザ名とパスワードは、デフォルトではそれぞれ optiuser です。CLI を使用してシステムにログインし、このことを確認します。


 

CORBA と EPOM の特殊文字のトラブルシューティング:subscriber コマンド

表5-1 は、subscriber コマンドに含まれている特殊文字に対する CORBA と EPOM の応答を示しています。

 

表5-1 特殊文字に対する CORBA と EPOM の応答

文字
使用例
CORBA と EPOM の応答


(一重引用符)

btsadmin>change subscriber id=x1-6-00-00-ca-ac-ef-98_02;name=Joe'
エラー メッセージ BtsException: IDL:oam.sswitch.com/cad/CadExceptions:1.0, Invalid parameter value. name=Joe'; contains one of the following invalid characters: ("')

説明 一重引用符は、文字列を区切るための予約文字です。MTA 宛ての caller-ID メッセージでは、この目的で使用されます。caller-ID メッセージを解析する MTA でエラーが発生するため、名前に一重引用符を使用することはできません。


(二重引用符)

btsadmin>change subscriber id=x1-6-00-00-ca-ac-ef-98_02;name=Joe"
エラー メッセージ org.omg.CORBA.UNKNOWN: Server Exception: Unregistered vendor exception #0 vmcid: 0x0 minor code: 0 completed

説明 二重引用符は、文字列を区切るための予約文字です。MTA 宛ての caller-ID メッセージでは、この目的で使用されます。caller-ID メッセージを解析する MTA でエラーが発生するため、名前に二重引用符を使用することはできません。

;
(セミコロン)

例 1:

btsadmin>change subscriber id=x1-6-00-00-ca-ac-ef-98_02;name=Joe;;

Reply : Success: Transaction 914661109242987301 was processed.

btsadmin>show subscriber id=x1-6-00-00-ca-ac-ef-98_02

ID=x1-6-00-00-ca-ac-ef-98_02

CATEGORY=INDIVIDUAL

NAME=Joe

STATUS=ACTIVE

COUNTRY=USA

PRIVACY=NONE

RING_TYPE_DN1=1

TERM_ID=aaln/S1/1

MGW_ID=iad-11

PIC1=NONE

PIC2=NONE

PIC3=NONE

GRP=N

USAGE_SENS=Y

SUB_PROFILE_ID=subpf1

TERM_TYPE=TERM

IMMEDIATE_RELEASE=N

TERMINATING_IMMEDIATE_REL=N

SEND_BILLING_DN=N

SEND_BDN_AS_CPN=N

SEND_BDN_FOR_EMG=N

エラー メッセージ ID=x1-6-00-00-ca-ac-ef-98_02
CATEGORY=INDIVIDUAL
NAME=Joe;
STATUS=ACTIVE
COUNTRY=USA
PRIVACY=NONE
RING_TYPE_DN1=1
TERM_ID=aaln/S1/1
MGW_ID=iad-11
PIC1=NONE
PIC2=NONE
PIC3=NONE
GRP=N
USAGE_SENS=Y
SUB_PROFILE_ID=subpf1
TERM_TYPE=TERM
IMMEDIATE_RELEASE=N
TERMINATING_IMMEDIATE_REL=N
SEND_BILLING_DN=N
SEND_BDN_AS_CPN=N
SEND_BDN_FOR_EMG=N

Reply : Success: Entry 1 of 1 returned.

説明 最初の例では、2 つのセミコロン(;)は単に 2 つのヌル パラメータを区切っているだけです。2 番目の例では、最後のパラメータは Enter キーで終端されているヌル パラメータです。CLI では、常に Enter キーによって最後のパラメータが終端されます。

セミコロンの間にパラメータを記述しない状態で、複数のセミコロンでコマンドを終端することは可能です。複数のセミコロンを他の場所に配置すると、キューが異常停止します。

;
(セミコロン)

例 2:

btsadmin>change subscriber id=x1-6-00-00-ca-ac-ef-98_02;name=Joe;
 

Reply : Success: Transaction 914661178134430501 was processed.

btsadmin>show subscriber id=x1-6-00-00-ca-ac-ef-98_02

ID=x1-6-00-00-ca-ac-ef-98_02

CATEGORY=INDIVIDUAL

NAME=Joe

STATUS=ACTIVE

COUNTRY=USA

PRIVACY=NONE

RING_TYPE_DN1=1

TERM_ID=aaln/S1/1

MGW_ID=iad-11

PIC1=NONE

PIC2=NONE

PIC3=NONE

GRP=N

USAGE_SENS=Y

SUB_PROFILE_ID=subpf1

TERM_TYPE=TERM

IMMEDIATE_RELEASE=N

TERMINATING_IMMEDIATE_REL=N

SEND_BILLING_DN=N

SEND_BDN_AS_CPN=N

SEND_BDN_FOR_EMG=N

Reply : Success: Entry 1 of 1 returned.

エラー メッセージ ID=x1-6-00-00-ca-ac-ef-98_02
CATEGORY=INDIVIDUAL
NAME=Joe;
STATUS=ACTIVE
COUNTRY=USA
PRIVACY=NONE
RING_TYPE_DN1=1
TERM_ID=aaln/S1/1
MGW_ID=iad-11
PIC1=NONE
PIC2=NONE
PIC3=NONE
GRP=N
USAGE_SENS=Y
SUB_PROFILE_ID=subpf1
TERM_TYPE=TERM
IMMEDIATE_RELEASE=N
TERMINATING_IMMEDIATE_REL=N
SEND_BILLING_DN=N
SEND_BDN_AS_CPN=N
SEND_BDN_FOR_EMG=N

Reply : Success: Entry 1 of 1 returned.

説明 最初の例では、2 つのセミコロン(;)は単に 2 つのヌル パラメータを区切っているだけです。2 番目の例では、最後のパラメータは Enter キーで終端されているヌル パラメータです。CLI では、常に Enter キーによって最後のパラメータが終端されます。

セミコロンの間にパラメータを記述しない状態で、複数のセミコロンでコマンドを終端することは可能です。複数のセミコロンを他の場所に配置すると、キューが異常停止します。

%
(パーセント記号)

btsadmin>change subscriber id=x1-6-00-00-ca-ac-ef-98_02;name=Joe%
エラー メッセージ BtsException: IDL:oam.sswitch.com/cad/CadExceptions:1.0, Invalid parameter value. name=Joe%; Enter at least 1 character, but not more than 32 characters.

説明 パーセント記号はワイルドカードです。たとえば、show subscriber id=x1-6-00% は id が x1-6-00 で始まるすべてのサブスクライバを表示します。したがって、パーセント記号は subscriber という noun では有効な文字ですが、verb である add または change で使用した場合は無効です。

-(ハイフン)

btsadmin>change subscriber id=x1-6-00-00-ca-ac-ef-98_02;name=Joe-
エラー メッセージ Success: Transaction 914661231396356901 was processed.

説明 これは有効な文字ですが、発信者識別情報の表示に影響します。この文字を使用することはお勧めしません。

_(アンダースコア)

btsadmin>change subscriber id=x1-6-00-00-ca-ac-ef-98_02;name=Joe_
エラー メッセージ Failure: NAME cannot contain an _ character

説明 これは有効な文字ですが、発信者識別情報の表示に影響します。この文字を使用することはお勧めしません。

&

btsadmin>change subscriber id=x1-6-00-00-ca-ac-ef-98_02;name=Joe&
 
Reply : Success: Transaction 914661254499435301 was processed.
エラー メッセージ org.omg.CORBA.UNKNOWN: Server Exception: Unregistered vendor exception #0 vmcid: 0x0 minor code: 0 completed

説明 アンパサンド(&)は XML の予約文字です。このトランザクションは、XML を使用して CORBA インターフェイスを通じて送信された場合、失敗します。

@#$^&*()}{|\/<>,.:[]~!

(アンパサンドが使用されている)

btsadmin>change subscriber id=x1-6-00-00-ca-ac-ef-98_02;name=Joe!@#$^&*()}{|\/<>,.:[]~
 
Reply : Success: Transaction 914661290390225701 was processed.
エラー メッセージ org.omg.CORBA.UNKNOWN: Server Exception: Unregistered vendor exception #0 vmcid: 0x0 minor code: 0 completed.

説明 アンパサンド(&)は XML の予約文字です。このトランザクションは、XML を使用して CORBA インターフェイスを通じて送信された場合、失敗します。

@#$^*()}{|\/>,.:[]~!(アンパサンドが使用されていない)

btsadmin>change subscriber id=x1-6-00-00-ca-ac-ef-98_02;name=Joe!@#$^*()}{|\/<>,.:[]~
エラー メッセージ Successful

説明 これらの文字は有効です。