Le rôle de CHAT est utilisé pour mener des sessions de chat avec des agents de sites web externes. Le rôle CHAT est également requis pour les intégrations WhatsApp. Le serveur de chat est une application Java, qui peut être installée en parallèle sur les serveurs web avec une mémoire vive supplémentaire correspondante d'environ 4 Go par serveur. Alternativement, le serveur de chat peut être installé sur un serveur séparé, ou sur l'équilibreur de charge. Les recommandations suivantes sont formulées : Où | Requirements |
---|
Sur un serveur web existant | 4 Go de RAM supplémentaires | Sur l'équilibreur de charge | 4 Go de RAM et 2 cœurs de CPU supplémentaires, extension du lecteur système (répertoires personnels) à 32 Go | Sur un serveur séparé | 8 Go de RAM, 32 Go de disque dur, 2 cœurs de processeur (peut être étendu ultérieurement à 4 cœurs de processeur, en fonction de la charge du système) |
InstallationInstallation de Java 8
Translations Ignore |
---|
Code Block |
---|
| cat << EOFF >> /etc/apt/sources.list deb http://ftp.de.debian.org/debian stretch main EOFF apt-get update apt-get install openjdk-8-jdk |
|
Installation et configuration de ClientMessengerInstallation ClientMessengerTout d'abord, le répertoire ClientMessenger est copié dans /home/jtel Translations Ignore |
---|
Code Block |
---|
| cp -R /home/jtel/shared/JTELCarrierPortal/Utils/Install/ClientMessenger/ /home/jtel/ClientMessenger chown -R jtel:jtel /home/jtel/ClientMessenger |
|
Fichier de configuration du « Hazelcast Cluster »Le fichier hazelcast.xml est copié dans le répertoire de configuration du serveur de chat. Translations Ignore |
---|
Code Block |
---|
| rm -f /home/jtel/ClientMessenger/conf/hazelcast.xml cp /home/jtel/shared/hazelcast.xml /home/jtel/ClientMessenger/conf/hazelcast.xml chown jtel:jtel /home/jtel/ClientMessenger/conf/hazelcast.xml |
|
Configuration de la messagerie clientIl se peut que la configuration ou le fichier de démarrage jtel-clientmessenger doive être adapté pour que la connexion à la base de données puisse être établie. Ici, <password> doit être remplacé par le mot de passe de l'utilisateur root de la base de données : Status |
---|
colour | Red |
---|
title | Mot de passe de précaution |
---|
|
Translations Ignore |
---|
Code Block |
---|
# Edit this file: vi /home/jtel/ClientMessenger/systemd/jtel-clientmessenger.service # Check this setting ... -Dde.jtel.platform.clientmessenger.connection=jdbc:mysql://acd-dbm/JTELWeb?user=root&password=<password>&characterEncoding=utf8 \ ... |
|
Installer ClientMessenger avec systemd Translations Ignore |
---|
Code Block |
---|
| cp /home/jtel/ClientMessenger/systemd/jtel-clientmessenger.service /etc/systemd/system/jtel-clientmessenger.service systemctl daemon-reload systemctl enable jtel-clientmessenger.service |
|
Créer le script de mise à jourUn script de mise à jour est créé pour mettre à jour le serveur de chat : Translations Ignore |
---|
Code Block |
---|
| cat <<EOFF>/usr/local/bin/updatesc.sh #!/bin/bash systemctl stop jtel-clientmessenger.service cp /home/jtel/shared/JTELCarrierPortal/Utils/Install/ClientMessenger/bin/* /home/jtel/ClientMessenger/bin chown -R jtel:jtel /home/jtel/ClientMessenger systemctl start jtel-clientmessenger.service EOFF chmod +x /usr/local/bin/updatesc.sh |
|
Ensuite, les ports open pour le service de chat doivent être saisis dans le pare-feu et enregistrés de manière persistante. Ici, vous pouvez distinguer si http (speak unsecure websocket) ou https (secure websocket) est utilisé. Comme l'équilibreur de charge décrypte généralement le https, pour le https, seul le port 3003 doit être ouvert à l'équilibreur de charge. Configuration http du Pare-feuExécutez les commandes suivantes, sur les machines suivantes : - Sur le serveur CHAT (ici le port de chat et les ports de cluster Hazelcast)
Translations Ignore |
---|
Code Block |
---|
| ufw allow 5701:5801/tcp ufw allow 3000/tcp |
|
- Sur tous les LB - avec connexion http vers l'extérieur
Translations Ignore |
---|
Code Block |
---|
| ufw allow 3000/tcp |
|
Configuration https du Pare-feu- Sur tous les LB - avec connexion https vers l'extérieur
Translations Ignore |
---|
Code Block |
---|
| ufw allow 3003/tcp |
|
Configuration de l'équilibreur de chargeréglages du haproxy.cfgFor httpLes ajustements suivants sont effectués sur l'haproxy, en cas de connexion http pour le chat vers l'extérieur : Translations Ignore |
---|
Code Block |
---|
| frontend acdportal_chat_ws mode http bind :3000 timeout client 1d default_backend backend_chat_ws backend backend_chat_ws mode http balance leastconn # roundrobin server chatserver1 <ip_addresse_oder_name>:3000 weight 1 check inter 1m server chatserver2 <ip_addresse_oder_name>:3000 weight 1 check inter 1m |
|
For https Translations Ignore |
---|
Code Block |
---|
| frontend acdportal_chat_wss mode http bind :3003 ssl crt /etc/haproxy/haproxy.pem timeout client 1d default_backend backend_chat_ws backend backend_chat_ws mode http balance leastconn # roundrobin server chatserver1 <ip_addresse_oder_name>:3000 weight 1 check inter 1m server chatserver2 <ip_addresse_oder_name>:3000 weight 1 check inter 1m |
|
Recharger l'haproxieEnsuite, rechargez l'haproxy avec la commande suivante : Translations Ignore |
---|
Code Block |
---|
| service haproxy reload |
|
Configuration ChatParamètres (en tant que sysadmin)Pour https / wssACD.Chat.Script.Library.URL | https://<load-balancer>:3003/gui/ | ACD.Chat.Server.Base.URL | wss://<load-balancer>:3003 |
For http / wsACD.Chat.Script.Library.URL | https://<load-balancer>:3000/gui/ | ACD.Chat.Server.Base.URL | ws://<load-balancer>:3000 |
StatutUn statut d'agent approprié pour le "Chat" - ou un statut existant - doit être configuré de manière à ce que le chat soit distribué à l'agent :
Nombre maximum de chats par agentLe nombre maximal de chats parallèles par agent doit être configuré. Cette valeur est fixée à 0 par défaut pour tous les agents.
Configurations supplémentaires pour WhatsAppPour que What's App fonctionne, d'autres configurations doivent encore être effectuées. Remarque : la création du compte professionnel WhatsApp ou la connexion au fournisseur (actuellement TynTec) se fait directement avec le fournisseur. Warning |
---|
| L'équilibreur de charge doit être utilisé avec https et un certificat valide. |
Configuration supplémentaire dans jtel-clientmessengerLe paramètre DATADIR doit être vérifié. Celui-ci doit pointer soit vers le répertoire /srv/jtel/shared/Data/Clients/ s'il est hébergé directement sur le serveur de chat, soit vers /home/jtel/shared/Data/clients/ si le serveur a mooté le répertoire. Translations Ignore |
---|
Code Block |
---|
Environment=DATADIR=/home/jtel/shared/Data/clients/ |
|
Configurations supplémentaires sur l'équilibreur de chargeDes entrées supplémentaires sont nécessaires dans la zone frontale du portail : Translations Ignore |
---|
Code Block |
---|
frontend acdportal_https ... acl whatsapp_req path /incoming acl whatsapp_req path /delivery ... use_backend backend_chat_ws if whatsapp_req |
|
Paramètres supplémentairesLes paramètres suivants du système doivent être vérifiés dans le portail : Paramètre | Valeur | Commentaire |
---|
ACD.Whatsapp.Server.Base.URL | https://jtel-portal:3003 | L'URL utilisée par l'agent client pour permettre à l'agent de répondre aux messages. Celle-ci doit être résolue à partir de tous les postes de travail des agents en une URL valide via DNS, et est dirigée vers le serveur de chat via le haproxy. | ACD.Whatsapp.Whatsapp.Url | https://jtel-portal:3003 | L'URL utilisée par le monde extérieur (utilisateurs de WhatsApp) pour télécharger les pièces jointes des messages. Celle-ci doit être résolue depuis l'Internet en une URL valide via le DNS, et est dirigée vers le serveur de chat via le haproxy. | ACD.Whatsapp.Tyntec.Url | https://api.tyntec.com/chat-api/v2/messages | L'URL de l'API TynTec pour WhatsApp. |
Personnaliser les points d'extrémité de l'API TynTecIl peut être nécessaire d'ajuster les points terminaux de l'API vers lesquels les messages sont envoyés. Actuellement, TynTec n'offre pas la possibilité de le faire via une configuration web, cela doit être fait via un appel REST. Le moyen le plus simple est de faire appel au facteur. Les paramètres suivants sont requis, les deux URL de rappel sont ajustés en fonction du point final du système. Paramètres | Valeur |
---|
URL | https://api.tyntec.com/chat-api/v2/applications/default | Type de demande | PATCH | Autorisation | apikey Valeur = la clé API générée par Tyntec | Entêtes Supplémentaires | Accepter application/problem+json | Entêtes Supplémentaires | Type de contenu application/json | Corps |
Translations Ignore |
---|
Code Block |
---|
{ "webhooks": [ { "events": [ "MoMessage" ], "callbackUrl": "https://jtel-portal/incoming" }, { "events": [ "MessageStatus::accepted", "MessageStatus::delivered", "MessageStatus::seen", "MessageStatus::failed", "MessageStatus::channelFailed", "MessageStatus::deleted", "WhatsAppGroupEvent::userJoined", "WhatsAppGroupEvent::userLeft", "WhatsAppGroupEvent::subjectChanged", "WhatsAppGroupEvent::descriptionChanged" ], "callbackUrl": "https://jtel-portal/delivery" } ] } |
|
|
Configuration du connecteur de chatLes paramètres supplémentaires suivants sont configurés dans le Chat Connector : - La case à cocher "Whatsapp" est activée.
- La clé API TynTec est saisie.
- Le numéro de service entrant pour WhatsApp est configuré et en E.164 et associé au connecteur
|