Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Sv translation
languagefr

Le rôle de CHAT est utilisé pour mener des sessions de chat avec des agents de sites web externes. 

Le serveur de chat est une application Java, qui peut être installée en parallèle sur les serveurs web - avec une extension de RAM correspondante d'environ 4 Go par serveur - ou installée sur un serveur séparé.

Installation de Java 8

Dans cette étape, Java 8 est installé sur le serveur. 

Translations Ignore


Code Block
languagebash
titleInstallation java 8
yum -y install https://cdn.jtel.de/downloads/java/jdk-8u202-linux-x64.rpm



Installation et configuration de ClientMessenger

Installation ClientMessenger

Le répertoire ClientMessenger est copié dans /home/jtel. 

Translations Ignore


Code Block
languagebash
cp -R /home/jtel/shared/JTELCarrierPortal/Utils/Install/ClientMessenger/ /home/jtel/ClientMessenger chown -R jtel:jtel /home/jtel/ClientMessenger



Hazelcast Configuration des clusters

La configuration du cluster Hazelcast doit être vérifiée. Pour les nouvelles installations de la version 3.11 à partir du 1er avril 2018, les entrées dans hazelcast.xml sont disponibles, mais pas avant. 

  • D'une part, le serveur de chat est accepté comme membre du cluster. 
  • D'autre part, les tampons et les compteurs de CHAT sont ajoutés à la configuration - s'ils ne sont pas disponibles.

Les sections de configuration nécessaires dans hazelcast.xml sont énumérées ici

Translations Ignore


Code Block
languagebash
titlehazelcast.xml
	...   <tcp-ip enabled="true">   ... <member>CHATSERVER</member> </tcp-ip> ... <ringbuffer name="CHAT"> <in-memory-format>BINARY</in-memory-format> <backup-count>1</backup-count> <async-backup-count>0</async-backup-count> <time-to-live-seconds>60</time-to-live-seconds> <capacity>500</capacity> </ringbuffer> <map name="CHATCOUNTERS"> <backup-count>0</backup-count> <async-backup-count>1</async-backup-count> <time-to-live-seconds>600</time-to-live-seconds> <eviction-policy>LRU</eviction-policy> <max-size policy="PER_NODE">5000</max-size> </map>



Voir tous les ordinateurs du claster Hazelcast :

  • Rôle DONNÉES, DB maître
    • mise à jour hazelcast.xml 
    • éxécuter updatepl.sh
  • Rôle TEL
    • mise à jour hazelcast.xml
    • redémarrer PlatformUDPListener
  • Rôle WEB
    • mise à jour hazelcast.xml
    • éxécuter updatejb.sh

  • Rôle CHAT (le système qui est en cours d'installation !)
    • il est préférable de copier hazelcast.xml 

Installer ClientMessenger comme un processus de démon

Si les dépôts sont situés sur une machine Windows (cela ne peut concerner que les anciennes installations), le script de démarrage /etc/init.d/jtel-clientmessenger doit être réparé avant, de sorte que CR+LF devient seulement LF.

Translations Ignore


Code Block
languagebash
sed -i -e 's/\r//g' /home/jtel/ClientMessenger/init.d/jtel-clientmessenger



Il 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 :

Translations Ignore


Code Block
titlevi /home/jtel/ClientMessenger/init.d/jtel-clientmessenger
... -Dde.jtel.platform.clientmessenger.connection=jdbc:mysql://acd-dbm/JTELWeb?user=root\&password=<password>\&characterEncoding=utf8 \ ... # For jtel portal version >= 3.25 -Dde.jtel.platform.clientmessenger.connection=jdbc:mysql://acd-dbm/JTELWeb?user=root\&password=<password>\&characterEncoding=utf8\&serverTimezone=Europe/Berlin \



Ensuite, le processus est installé comme un démon Linux :

Translations Ignore


Code Block
languagebash
cd /home/jtel/ cp /home/jtel/ClientMessenger/init.d/jtel-clientmessenger /etc/init.d/ chmod 755 /etc/init.d/jtel-clientmessenger chkconfig jtel-clientmessenger on service jtel-clientmessenger start



Créer un script de mise à jour

Un script de mise à jour est créé pour mettre à jour le serveur de chat :

Translations Ignore


Code Block
languagebash
cat <<EOFF>/usr/local/bin/updatesc.sh 
#!/bin/bash 
service jtel-clientmessenger stop 
cp /home/jtel/shared/JTELCarrierPortal/Utils/Install/ClientMessenger/bin/* /home/jtel/ClientMessenger/bin
cp /home/jtel/shared/JTELCarrierPortal/Utils/Install/ClientMessenger/public /home/jtel/ClientMessenger/ -r 
chown -R jtel:jtel /home/jtel/ClientMessenger 
service jtel-clientmessenger start 
EOFF 
chmod +x /usr/local/bin/updatesc.sh



Configuration du pare-feu

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-feu

Exé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
languagebash
titleconfigure firewall - http
firewall-cmd --zone=public --add-port=5701-5801/tcp --permanent firewall-cmd --zone=public --add-port=3000/tcp --permanent firewall-cmd --reload



  • Sur tous les LB - avec connexion http vers l'extérieur

Translations Ignore


Code Block
languagebash
titleconfigure firewall - http
firewall-cmd --zone=public --add-port=3000/tcp --permanent firewall-cmd --reload



Firewall configuration https

  • Sur tous les LB - avec connexion https vers l'extérieur

Translations Ignore


Code Block
languagebash
titleconfigure firewall - https
firewall-cmd --zone=public --add-port=3003/tcp --permanent firewall-cmd --reload



Firewall Centos 6

Translations Ignore


Code Block
languagebash
titleconfigure firewall - https
service iptables status iptables -I INPUT 4 -p tcp -m tcp --dport 5701:5801 -j ACCEPT iptables -I INPUT 4 -p tcp -m tcp --dport 3000:3003 -j ACCEPT service iptables save service iptables restart 



Configuration de l'équilibreur de charge

réglages du haproxy.cfg

For http

Les ajustements suivants sont effectués sur l'haproxy, en cas de connexion http pour le chat vers l'extérieur :

Translations Ignore


Code Block
languagebash
titlehaproxy.cfg - http / ws
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 http

Translations Ignore


Code Block
languagebash
titlehaproxy.cfg - https / wss
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'haproxie

Ensuite, rechargez l'haproxy avec la commande suivante :

Translations Ignore


Code Block
languagebash
titlereload haproxy
service haproxy reload



Configuration Chat

Paramètres (en tant que sysadmin)

Pour https / wss

ACD.Chat.Script.Library.URL
https://<load-balancer>:3003/gui/
ACD.Chat.Server.Base.URLwss://<load-balancer>:3003

Pour https / ws

ACD.Chat.Script.Library.URL
https://<load-balancer>:3000/gui/
ACD.Chat.Server.Base.URLws://<load-balancer>:3000

Statut

Un 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 agent

Le 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 WhatsApp

Pour 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
titlehttps

L'équilibreur de charge doit être utilisé avec https et un certificat valide.

Configuration supplémentaire dans jtel-clientmessenger

Le 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
DATADIR="/home/jtel/shared/Data/clients/"



Configurations supplémentaires sur l'équilibreur de charge

Des 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émentaires

Les paramètres suivants du système doivent être vérifiés dans le portail :

ParamètreValeurCommentaire
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.Urlhttps://jtel-portal:3003L'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.Urlhttps://api.tyntec.com/chat-api/v2/messagesL'URL de l'API TynTec pour WhatsApp.

Personnaliser les points d'extrémité de l'API TynTec

Il 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ètresValeur
URLhttps://api.tyntec.com/chat-api/v2/applications/default
Type de demandePATCH
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

{
"webhooks": [
{
"events": [
"MoMessage"
],
"callbackUrl": "https://jtel-portal/incoming"
},
{
"events": [
"MessageStatus::accepted",
"MessageStatus::delivered",
"MessageStatus::seen",
"MessageStatus::failed",
"MessageStatus::channelFailed",
"MessageStatus::deleted",
],
"callbackUrl": "https://jtel-portal/delivery"
}
]
}


Configuration du connecteur de chat

Les 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 téléphone est saisi au format E.164.
  • La langue utilisée pour les réponses automatiques Whatsapp