Externe Codec-Services
Ab IBM Voice Gateway Version 1.0.3 können Benutzer externe Mikroservices bereitstellen, um mehr Audiocodecs für Anrufe zu unterstützen, die von IBM Voice Gateway verarbeitet werden. Diese Mikroservices stellen eine WebSocketschnittstelle bereit, mit der eine Verbindung zu IBM Voice Gateway für Audiocodierungs- und Decodierungszwecke hergestellt werden kann. Die Liste der derzeit unterstützten externen Codec-Services umfasst Folgendes:
- G.729 Codec Service: Fügt Unterstützung für den Codec G.729 Annex A/B für IBM Voice Gateway hinzu.
Einer vorhandenen IBM Voice Gateway-Bereitstellung Unterstützung für den Codec G.729 hinzufügen
Bei einer lokalen Installation können Sie den Codec-Service G.729 als Teil Ihrer IBM Voice Gateway-Umgebung unter Docker bereitstellen. Der Codec-Service G.729 ist als separates Docker-Image gepackt, das Sie konfigurieren und zusammen mit den SIP Orchestrator- und Media Relay-Images bereitstellen.
Vorbereitungen
- Machen Sie sich mit den Bereitstellungsoption von Voice Gateway vertraut und stellen Sie eine Basisumgebung gemäß der Beschreibung unter Erste Schritte mit Voice Gateway bereit.
In Docker Engine bereitstellen
Ausführliche Konfigurationsinformationen finden Sie unter Voice Gateway in Docker bereitstellen, um mit Docker-Bereitstellungen beginnen zu können.
- Fügen Sie in einer vorhandenen
docker-compose.yml-Datei einen neuen Abschnitt für den Docker-Container-Service für den Abschnittg729.codec.servicehinzu:services: sip.orchestrator: ... media.relay: ... g729.codec.service: image: ibmcom/voice-gateway-codec-g729:latest -
Definieren Sie in derselben Datei unterhalb der Media Relay-Konfiguration die Umgebungsvariable
EXTERNAL_AUDIO_TRANSFORMS. Geben Sie als zugehörigen Wert einen WebSocket-URI an, der auf den Codec-Service G.729 verweist. Diese Variable gibt an, welche Codec-Services Media Relay für die Audiocodierung und -decodierung verwenden soll.# docker-compose.yml services: media.relay: ... environment: - SDP_ADDRESS=${EXTERNAL_IP} ... - EXTERNAL_AUDIO_TRANSFORMS=ws://g729.codec.service:9001 -
Initialisieren Sie die Container, indem Sie den folgenden Befehl absetzen:
docker-compose up -
Verwenden Sie zum Testen ein SIP-Telefon, das den Codec G.729 unterstützt. Berücksichtigen Sie bei der Konfiguration des SIP-Clients die folgenden Hinweise:
- Wenn Sie den SIP-Client auf derselben Maschine wie Voice Gateway ausführen, konfigurieren Sie den SIP-Client unbedingt so, dass ein anderer Port als der Port 5060 (z. B. 5062) verwendet wird, um Portkonflikte zu vermeiden.
- Konfigurieren Sie den SIP-Client so, dass er an einer IP-Adresse empfangsbereit ist, an die Voice Gateway weiterleiten kann. Ihr SIP-Client könnte beispielsweise standardmäßig so konfiguriert sein, dass es an einer Loopback-Adresse empfangsbereit ist. Sie müssen dann diese Einstellung entsprechend ändern.
- Inaktivieren Sie IPv6 im SIP-Client.
Wenn Sie Voice Gateway testen möchten, rufen Sie von Ihrem SIP-Telefon den folgenden SIP-URI an:
sip:watson@<IP-Adresse von Voice Gateway>:5060
In Kubernetes bereitstellen
Ausführliche Konfigurationsinformationen finden Sie unter Voice Gateway in einem Kubernetes-Cluster bereitstellen, um mit Kubernetes-Bereitstellungen beginnen zu können.
-
Fügen Sie in einer vorhandenen
deploy.yml-Datei einen neuen Containerabschnitt für den Abschnittvgw-g729-codec-servicehinzu:# 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 ... -
Definieren Sie in derselben Datei unterhalb der Media Relay-Konfiguration die Umgebungsvariable
EXTERNAL_AUDIO_TRANSFORMS. Geben Sie als zugehörigen Wert einen WebSocket-URI an, der auf den Codec-Service G.729 verweist. Diese Variable gibt an, welche Codec-Services Media Relay für die Audiocodierung und -decodierung verwenden soll.# 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' -
Stellen Sie Ihren Kubernetes-Cluster bereit, indem Sie Ihre Bereitstellungskonfigurationsdatei mit dem Befehl kubectl create angeben.
kubectl create -f deploy.yaml -
Vergewissern Sie sich, dass Ihr Cluster ausgeführt wird, indem Sie den Befehl kubectl get pods absetzen.
Der Befehl zeigt den Status aller Pods in Ihrem Cluster an.
>kubectl get pods NAME READY STATUS RESTARTS AGE vgw-4151379926-7xbz5 2/2 Running 0 6s -
Verwenden Sie zum Testen ein SIP-Telefon, das den Codec G.729 unterstützt. Berücksichtigen Sie bei der Konfiguration des SIP-Clients die folgenden Hinweise:
- Wenn Sie den SIP-Client auf derselben Maschine wie Voice Gateway ausführen, konfigurieren Sie den SIP-Client unbedingt so, dass ein anderer Port als der Port 5060 (z. B. 5062) verwendet wird, um Portkonflikte zu vermeiden.
- Konfigurieren Sie den SIP-Client so, dass er an einer IP-Adresse empfangsbereit ist, an die Voice Gateway weiterleiten kann. Ihr SIP-Client könnte beispielsweise standardmäßig so konfiguriert sein, dass es an einer Loopback-Adresse empfangsbereit ist. Sie müssen dann diese Einstellung entsprechend ändern.
- Inaktivieren Sie IPv6 im SIP-Client.
Wenn Sie Voice Gateway testen möchten, rufen Sie von Ihrem SIP-Telefon den folgenden SIP-URI an:
sip:watson@<IP-Adresse von Voice Gateway>:5060