Déploiement de Voice Gateway sur Docker

Ces instructions se réfèrent à la configuration d'IBM® Voice Gateway sur votre propre moteur Docker lors d'une installation sur site. Pour les déploiements en cloud, voir Déploiement de Voice Gateway sur Kubernetes dans IBM Cloud Kubernetes Service.

Avant de commencer

Déploiement de Voice Gateway

  1. Docker Machine uniquement : Pour pouvoir vous connecter à Docker, exécutez cette commande depuis la ligne de commande afin de définir l'interpréteur de commandes pour qu'il pointe sur le moteur Docker Engine :

    Windows :

     @FOR /f "tokens=*" %i IN ('docker-machine env default --shell cmd') DO @%i
    

    UNIX et Mac OS X :

     eval "$(docker-machine env default)"
    
  2. Extrayez les images Docker les plus récentes de SIP Orchestrator (voice-gateway-so) et Media Relay (voice-gateway-mr) :

     docker pull ibmcom/voice-gateway-so:latest
    
     docker pull ibmcom/voice-gateway-mr:latest
    
  3. Accédez au répertoire dans lequel vous avez cloné le référentiel sample.voice.gateway sur votre machine, puis ouvrez le répertoire docker, qui contient les exemples de fichier de configuration suivants :

    • docker-compose-self-service.yml
    • docker-compose-agent-assist.yml

      Ces fichiers exemple sont préconfigurés avec la configuration minimale pour chaque implémentation et pointent sur les images les plus récentes de la passerelle voix. Vous devrez modifier le fichier pour votre type d'implémentation afin d'inclure les données d'identification du service Watson. Pour les assistants d'agent, configurez également les événements de génération de rapport de transcription.

    • Copiez le fichier associé à votre type d'implémentation dans un nouveau fichier intitulé docker-compose.yml. Conservez le fichier dans le même répertoire.

    • Dans le nouveau fichier docker-compose.yml, renseignez les variables d'environnement, comme les données d'identification de vos services Watson.

      ...
        # Creds for IBM Cloud STT Example
        #If you have a username and password specified in your service use
        - WATSON_STT_USERNAME=9h7f54cb-5epb-80d6-45c3-da41d2bf7a71
        - WATSON_STT_PASSWORD=asxNzDLpIJ6F
        - WATSON_STT_URL=https://stream.watsonplatform.net/speech-to-text/api
        #Otherwise if you have an apikey associated with your service use
        - WATSON_STT_APIKEY=MssmPWlXKeXkOeeZ1o93va5kSAzlqMSligZkso_FSopY
        - WATSON_STT_TOKEN_SERVICE_PROVIDER_URL=https://iam.cloud.ibm.com/identity/token
        - WATSON_STT_URL=https://stream.watsonplatform.net/speech-to-text/api
      ...
      

      Pour la liste complète des variables, voir Variables d'environnement de configuration.

      Astuce : Pour trouver l'ID de l'espace de travail Watson Assistant, allez dans la vue Espaces de travail de l'outil Watson Assistant. Sur la compétence à intégrer, cliquez sur l'icône Actions () et sélectionnez la commande d'affichage des détails.

      Remarque : Pour le paramètre de configuration WATSON_CONVERSATION_URL dans le fichier docker-compose.yml, utilisez uniquement la portion de l'URI jusqu'au niveau api inclus. Par exemple,

       - WATSON_CONVERSATION_URL=https://gateway.watsonplatform.net/conversation/api
      

      Important : Si vous effectuez le déploiement sur un cloud public, assurez-vous de définir les variables de liste blanche pour éviter les attaques par refus de service et autres sessions indésirables en provenance de sources extérieures, qui pourraient occasionner des frais de service Watson inutiles et affecter les performances de Voice Gateway. Par défaut, ces variables sont mises en commentaire dans les fichiers Compose.

        - WHITELIST_TO_URI=2345556789
      

      Pour plus d'informations, voir Liste blanche des appelants et appelés

  4. Dans le répertoire dans lequel vous avez modifié le fichier docker-compose.yml, créez un fichier .env et définissez la variable EXTERNAL_IP. Ces commandes supposent que vous utilisez vi pour l'édition, mais vous pouvez utiliser l'éditeur de votre choix.

    Dans la plupart des installations Docker, l'adresse IP que vous définissez correspond à l'IP de votre système local. Dans Docker Machine, qui exécute les conteneurs dans une machine virtuelle, vous pouvez déterminer l'adresse IP de la machine virtuelle en exécutant la commande docker-machine ip.

    1. Entez les commandes suivantes pour créer le fichier .env et ouvrez-le afin de l'éditer.

      touch .env
      vi .env
      
    2. Entrez i pour passer au mode édition. En haut du fichier .env, ajoutez la ligne suivante :

      EXTERNAL_IP=<IP address of local system or Docker Machine VM>
      
    3. Appuyez sur la touche Echap pour sortir du mode édition et entrez :wq pour sortir de l'éditeur.

  5. Créez et démarrez les conteneurs en exécutant la commande suivante :

     docker-compose up
    

    Astuces :

    • Si la commande docker-compose est introuvable, vous devez installer Docker Compose.
    • Si l'erreur grpc: the connection is unavailable s'affiche lorsque vous démarrez les conteneurs, redémarrez le démon Docker et exécutez à nouveau la commande.
    • Si l'erreur suivante s'affiche au démarrage, il est probable qu'une autre application écoute sur le port 5060. Arrêtez toute application en conflit et relancez la commande.
      Bind for 0.0.0.0:5060 failed: port is already allocated
      

Que faire ensuite ?

Après avoir déployé Voice Gateway dans Docker Engine, testez votre déploiement comme décrit à la section Initiation à Voice Gateway.

Vous pouvez continuer de configurer votre déploiement Voice Gateway en éditant le fichier docker-compose.yml pour ajouter ou modifier des variables de configuration et en redéployant ensuite les conteneurs. Vous pouvez utiliser les paramètres de configuration optimale qui sont inclus dans la version la plus récente en définissant la variable d'environnement USE_OPTIMAL_CONFIGURATION. Voir Utilisation des paramètres de configuration optimale.

Protection des informations sensibles : La mise en cache de Text to Speech et la collecte d'enregistrements audio sont désactivées par défaut. Si vous activez ces fonctions, prenez les mesures appropriées pour protéger et réduire les données sensibles lorsque vous déployez Voice Gateway. Il est recommandé de chiffrer le disque où Voice Gateway est déployé. Le chiffrement du disque dur peut protéger les enregistrements ou les réponses texte-parole mis en cache dans le système de fichiers, car ils peuvent contenir des informations sensibles. Le chiffrement du disque dur chiffre uniquement les données stockées dans Voice Gateway. Vous devez prendre des mesures supplémentaires pour sécuriser les données dans les services qui sont intégrés à Voice Gateway.