外部コーデック・サービス
IBM Voice Gateway バージョン 1.0.3 以降では、ユーザーは、IBM Voice Gateway によって処理される通話の音声コーデックをサポートするために、外部のマイクロサービスをデプロイできます。 これらのマイクロサービスは、音声のエンコードおよびデコードのために、IBM Voice Gateway との接続を確立するために使用できる WebSocket インターフェースを公開します。 現在サポートされている外部コーデック・サービスのリストには、以下のものが含まれます。
- G.729 コーデック・サービス: G.729 Annex A/B コーデックのサポートを IBM Voice Gateway に追加します。
既存 IBM Voice Gateway デプロイメントへの G.729 コーデック・サポートの追加
オンプレミス・インストールでは、IBM Voice Gateway 環境の一部として G.729 コーデック・サービス を Docker にデプロイします。 G.729 コーデック・サービスは、個別の Docker イメージとしてパッケージ化されており、コア SIP Orchestrator イメージおよび Media Relay イメージとともに構成およびデプロイします。
始めに
- Voice Gateway のデプロイメント・オプションを十分に理解し、Voice Gateway の開始の説明に従い基本環境をデプロイします。
Docker Engine へのデプロイ
Docker デプロイメントで最初に行うすべてのセットアップについては、Docker への Voice Gateway のデプロイを参照してください。
- 既存の
docker-compose.ymlファイルで、g729.codec.serviceセクションのための新規 Docker コンテナー・サービス・セクションを追加します。services: sip.orchestrator: ... media.relay: ... g729.codec.service: image: ibmcom/voice-gateway-codec-g729:latest -
同じファイルで、Media Relay 構成の下に
EXTERNAL_AUDIO_TRANSFORMS環境変数を定義します。その値として、G.729 コーデック・サービスをポイントする WebSocket URI を指定します。この変数は、Media Relay が音声のエンコードおよびデコードに使用する必要があるコーデック・サービスを指定します。# docker-compose.yml services: media.relay: ... environment: - SDP_ADDRESS=${EXTERNAL_IP} ... - EXTERNAL_AUDIO_TRANSFORMS=ws://g729.codec.service:9001 -
以下のコマンドを実行して、コンテナーを開始します。
docker-compose up -
G.729 コーデックをサポートする SIP 電話を使用してテストします。 SIP クライアントを構成する際には、以下の考慮事項に留意してください。
- Voice Gateway と同じマシンで SIP クライアントを実行する場合は、必ず、ポートの競合を回避するために、5060 以外のポート (例えば、5062) を使用するように SIP クライアントを構成してください。
- Voice Gateway がルーティングできる IP アドレス上で listen するように、SIP クライアントを構成してください。 例えば、ご使用の SIP クライアントはループバック・アドレス上で listen するようにデフォルトで構成されている場合がありますが、この設定を変更する必要があります。
- SIP クライアントの IPv6 を無効にしてください。
Voice Gateway をテストするには、SIP 電話から以下の SIP URI に通話します。
sip:watson@<IP address of Voice Gateway>:5060
Kubernetes へのデプロイ
Kubernetes デプロイメントを開始するためのセットアップについて詳しくは、Kubernetes クラスターへの Voice Gateway のデプロイを参照してください。
-
既存の
deploy.ymlファイルで、vgw-g729-codec-serviceセクションのための新規コンテナー・セクションを追加します。# deploy.yaml kind: Deployment containers: - name: vgw-media-relay image: ibmcom/voice-gateway-mr:latest ... - name: vgw-g729-codec-service image: ibmcom/voice-gateway-codec-g729:latest ... -
同じファイルで、Media Relay 構成の下に
EXTERNAL_AUDIO_TRANSFORMS環境変数を定義します。その値として、G.729 コーデック・サービスをポイントする WebSocket URI を指定します。この変数は、Media Relay が音声のエンコードおよびデコードに使用する必要があるコーデック・サービスを指定します。# deploy.yaml kind: Deployment containers: - name: vgw-media-relay image: ibmcom/voice-gateway-mr:latest ports: - containerPort: 8080 hostPort: 8080 protocol: TCP lifecycle: preStop: exec: command: - "/opt/quiesce.sh" env: - name: SDP_ADDRESS ... - name: EXTERNAL_AUDIO_TRANSFORMS value: 'ws://localhost:9001' -
kubectl create コマンドでデプロイメント構成ファイルを指定して、Kubernetes クラスターをデプロイします。
kubectl create -f deploy.yaml -
kubectl get pods コマンドを使用して、クラスターが稼働していることを確認します。
このコマンドは、クラスター内のすべてのポッドの状況を表示します。
>kubectl get pods NAME READY STATUS RESTARTS AGE vgw-4151379926-7xbz5 2/2 Running 0 6s -
G.729 コーデックをサポートする SIP 電話を使用してテストします。 SIP クライアントを構成する際には、以下の考慮事項に留意してください。
- Voice Gateway と同じマシンで SIP クライアントを実行する場合は、必ず、ポートの競合を回避するために、5060 以外のポート (例えば、5062) を使用するように SIP クライアントを構成してください。
- Voice Gateway がルーティングできる IP アドレス上で listen するように、SIP クライアントを構成してください。 例えば、ご使用の SIP クライアントはループバック・アドレス上で listen するようにデフォルトで構成されている場合がありますが、この設定を変更する必要があります。
- SIP クライアントの IPv6 を無効にしてください。
Voice Gateway をテストするには、SIP 電話から以下の SIP URI に通話します。
sip:watson@<IP address of Voice Gateway>:5060