...
| Sv translation | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Die Rolle CHAT wird für das Durchführen von Chat-Sessions, ausgehend von externe Webseiten, mit den Agenten verwendet. Der Chat-Server ist eine Java Anwendung, was parallel auf den Webservern - bei entsprechende RAM Erweiterung um ca. 4 GB pro Server - mit installiert werden kann, oder auf einem separaten Server installiert wird. Java 8 InstallationIn diesem Schritt wird Java 8 auf dem Server installiert.
ClientMessenger Installieren und KonfigurierenClientMessenger InstallationDas Verzeichnis ClientMessenger wird nach /home/jtel kopiert.
Hazelcast Cluster KonfigurationDie Konfiguration des Hazelcast-Clusters muss geprüft werden. Bei Neuinstallationen von Release 3.11 ab 01.04.2018 sind die Einträge in hazelcast.xml vorhanden, davor hingegen nicht.
Die notwendigen Konfigurationsabschnitte in hazelcast.xml sind hier aufgeführt:
Sämtliche Rechner im Hazelcast-Cluster betrachten:
ClientMessenger als Daemon Prozess installierenFalls die Repositories auf einer Windows Maschine liegen (dies kann nur alte Installationen betreffen), muss der Start-Skript /etc/init.d/jtel-clientmessenger vorher repariert werden, damit aus CR+LF nur LF wird.
Die Konfiguration, bzw. die Startdatei jtel-clientmessenger muss ggf. angepasst werden, damit die Datenbank-Verbindung aufgebaut werden kann. Hierbei muss <password> mit den Passwort für den root User der Datenbank ersetzt werden:
Anschließend, wird der Prozess als Linux Daemon installiert:
Update Skript anlegen Für das Updaten des Chat-Servers wird ein Update-Skript angelegt:
Firewall KonfigurationAls nächstes müssen in der Firewall die Port-Freigaben für den Chat Dienst eingetragen und persistent gespeichert werden. Hierbei kann unterschieden werden, ob http (sprich unsecure websocket) oder https (secure websocket) genutzt wird. Da der Load-Balancer den https üblicherweise entschlüsselt, muss bei https nur der Port 3003 auf den Load-Balancer geöffnet werden. Firewall Konfiguration httpFolgende Befehle, auf folgende Maschinen ausführen:
Firewall Konfiguration https
Firewall Centos 6
Load Balancer Konfigurationhaproxy.cfg AnpassungenFür httpFolgende Anpassungen werden am haproxy vorgenommen, bei einer http Verbindung für den Chat nach Aussen:
Für https
Haproxy neu ladenAnschließend, den haproxy neu laden mit folgenden Befehl:
Chat KonfigurationParameter (als sysadmin)Für https / wss
Für http / ws
StatusEin entsprechender Agentenstatus für "Chat" - oder einen vorhandenen Status - muss konfiguriert werden, sodass der Chat an den Agenten verteilt wird: Max Chats pro AgentDie maximale Anzahl an parallele Chats pro Agent muss konfiguriert werden. Dieser Wert ist standardmäßig bei allen Agenten auf 0 eingestellt. Zusätzliche Konfigurationen für WhatsAppDamt What's App funktioniert, müssen weitere Konfigurationen noch getätigt werden. Hinweis: das Einrichten vom WhatsApp Business-Konto bzw. die Anbindung an den Provider (derzeit TynTec) erfolgt direkt mit dem Provider.
Zusätzliche Konfiguration im jtel-clientmessengerDer Parameter DATADIR muss geprüft werden. Dies muss entweder auf das /srv/jtel/shared/Data/Clients/ Verzeichnis zeigen, falls dieser am Chat-Server direkt gehostet ist, oder /home/jtel/shared/Data/clients/, falls der Server das Verzeichnis gemoutet hat.
Zusätzliche Konfigurationen am Load-BalancerIm Bereich frontend für das Portal sind zusätzliche Einträge nötig:
Zusätzliche ParameterFolgende System-Parameter müssen im Portal geprüft werden:
TynTec API Endpunkte anpassenEs kann notwendig sein, die API Endpunkte anzupassen, auf den die Nachrichten gesendet werden. Derzeit bietet TynTec keine Möglichkeit dies über eine Web-Konfiguration durchzuführen, dies muss über ein REST Aufruf geschehen. Dies kann am einfachsten mit Postman erfolgen. Folgende Parameter werden benötigt, hierbei werden beide Callback-URL entsprechend des Endpunktes des Systems angepasst.
Chat-Connector KonfigurationFolgende zusätzliche Parameter werden beim Chat-Connector konfiguriert:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Sv translation | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Translations Ignore |
| Code Block | ||||
|---|---|---|---|---|
| ||||
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.
| Code Block | ||
|---|---|---|
| ||
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
| Code Block | ||||
|---|---|---|---|---|
| ||||
... <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.
| Code Block | ||
|---|---|---|
| ||
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 :
| Code Block | ||
|---|---|---|
| ||
... -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 :
| Code Block | ||
|---|---|---|
| ||
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 :
| Code Block | ||
|---|---|---|
| ||
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)| Code Block | ||||
|---|---|---|---|---|
| ||||
firewall-cmd --zone=public --add-port=5701-5801/tcp --permanent firewall-cmd --zone=public --add-port=3000/tcp --permanent firewall-cmd --reload |
| Code Block | ||||
|---|---|---|---|---|
| ||||
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| Code Block | ||||
|---|---|---|---|---|
| ||||
firewall-cmd --zone=public --add-port=3003/tcp --permanent firewall-cmd --reload |
Firewall Centos 6
| Code Block | ||||
|---|---|---|---|---|
| ||||
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 :
| 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 http
| 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'haproxie
Ensuite, rechargez l'haproxy avec la commande suivante :
| Code Block | ||||
|---|---|---|---|---|
| ||||
service haproxy reload |
Configuration Chat
Paramètres (en tant que sysadmin)
Pour https / wss
Pour https / ws
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 | ||
|---|---|---|
| ||
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.
| 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 :
| 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 :
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.
apikey
Valeur = la clé API générée par Tyntec
Accepter
application/problem+json
Type de contenu
application/json
| Translations Ignore |
|---|
{ |
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

