Voice Gateway での一般的な問題の解決
ヒント: エラー・メッセージおよび警告メッセージを解決する場合、Voice Gateway のシステム・メッセージの情報が役に立ちます。 各メッセージには、問題の説明、および実行できるアクションの詳細が含まれます。
- 通話が失敗する: 通話は、多くの理由で失敗することがあります。この理由には、Watson サービスのいずれかの誤構成、IP ルーティングの問題、ファイアウォールの問題などがあります。
- まず、SIP Orchestrator コンテナーと Media Relay コンテナーの両方が実行されていること、および Watson サービスが適切に構成されていることを確認します。
- 次に、SIP Orchestrator のログを表示して、通話を開始する SIP INVITE メッセージがコンテナーに到達しているかどうかを確認します。 到達している場合は、トレース内の通話フローを、エラーが発生した時点までたどります。これは、SIP エラー応答が発信者に返送された時点です。
- SIP INVITE が Voice Gateway に到達していない (つまり、ログに表示されていない) 場合、ファイアウォールが SIP ポート (5060) をブロックしていることや、SIP Orchestrator コンテナーの正しい IP アドレスにルーティングするように SIP トランクが適切に構成されていないことが考えられます。
- こちらは Watson の音声が聞こえるが、Watson が自分の音声を認識しない: ほとんどの場合、これは、ファイアウォールの問題、あるいは使用している SIP トランクまたは SIP クライアントでの問題です。 音声メディアは非常に幅広いポートを介してフローすることがあるため、構成されているポート・ストリームを介してメディアを受け取るようにファイアウォールが構成されていない可能性があります。 Media Relay の構成を調べて、メディア・ポート範囲を確認し、そのポート範囲に対応するようにファイアウォールが構成されているかを確認してください。 SIP クライアントを使用してゲートウェイに接続しようとしている場合には、ポートの競合がないかも確認してください。
- 発信者の質問から Watson の回答までの待ち時間が長い: この問題の原因として最も可能性が高いのは、Watson サービスのいずれかで発生している待ち時間です。 監査ログを確認して、どのサービスが適切に動作していないのかを判別できます。
- 通話中転送が失敗する: 通話中転送は Voice Gateway でサポートされますが、通話パスにとどまり、通話の存続期間にわたって Watson との間で通話を維持するために、SIP REFERメッセージを理解するエンティティー (セッション・ボーダー・コントローラー (SBC) など) が必要です。 通話中転送をサポートする場合は、SIP REFER メッセージ (例えば、Twilio) をサポートする SIP トランキング・ベンダーを使用するか、または SIP REFER メッセージを処理できる独自の通話アンカーを提供する必要があります。
予期しないサーバー応答 (401)エラーで接続がクローズしたという、CWSMR0050E または CWSMR0048E エラーを受け取りました: Voice Gateway は、資格情報が受け入れられないため、指定された Watson サービスにコンタクトできないようです。 Watson サービスの資格情報が正しく構成されていることを確認してください。 Watson サービス資格情報の検索方法については、Watson 資料の 「Service credentials for Watson services」を参照してください。- 多くの vgwPostResponseTimeout が発生したり、通話の待ち時間が長くなったりする: RTCP ネットワーク・レポートを有効化すると、タイムアウトまたは待ち時間の原因が、VoIP の問題なのか音声認識の問題なのかを示すのに役立ちます。 RTCP ネットワーク・レポートが有効な場合は、以下のような警告が出力されます。
CWSMR0035W: The inbound RTP audio stream packet loss of 9 percent exceeds the maximum packet loss threshold of 5 percent.
-
CWSMR0048E エラー・メッセージで、証明書チェーン内の自己署名証明書でのエラーのために Watson Speech to Text サービスがクローズしたことが示される: この問題は、インフラストラクチャーのファイアウォールの問題である可能性があります。 おそらくファイアウォールが要求をインターセプトし、独自の証明書に入れています。 その証明書はデプロイメントによって信頼されないため、自己署名証明書エラーが発生します。
この状態を確認するため、以下の手順を実行してください。
-
IBM Voice Gateway が稼働している VM から Watson サービスへ curl コマンドを発行します。 以下のコマンド例を使用してください。
curl --insecure -v https://<Watson Speech-To-Text endpoint hostname>/speech-to-text 2>&1コマンド内の
https://<Watson Speech-To-Text endpoint hostname>テキストは、ご使用の Watson Speech-To-Text インスタンスの URL に置き換えてください (例:https://stream.watsonplatform.net/speech-to-text/apiURL)。 -
出力内で
Server Certificateというセクションを探します。 出力内のテキストが以下のテキストと一致 しない場合、ファイアウォールが接続をインターセプトしています。* Server certificate: * subject: C=US; ST=New York; L=Armonk; O=INTERNATIONAL BUSINESS MACHINES CORPORATION; CN=*.watsonplatform.net * start date: Jan 9 00:00:00 2018 GMT * expire date: Mar 9 12:00:00 2020 GMT * issuer: C=US; O=DigiCert Inc; OU=www.digicert.com; CN=GeoTrust RSA CA 2018 * SSL certificate verify ok.
以下のいずれかの方法でこの問題を解決できる可能性があります。
- ファイアウォール管理者に連絡して、ファイアウォールが証明書をインターセプトしないようにホスト名をホワイトリストに入れます。
- ファイアウォールによって交換される証明書を信頼するように Voice Gateway を構成します。 詳しくは、SSL および TLS 暗号化の構成を参照してください。
-