# Déploiement de Quescom et de StartPhoneServer ## Prérequis - Disposer des VM StartPhoneServer et Quescom. - Ne plus utiliser l'application Passerelle SMS. - Définir l'URL de retour et l'adresse IP du serveur Quescom (Réseau/TaskForce), ainsi que le login et le mot de passe fournis par Quescom. Ces informations devront être renseignées dans StartPhoneServer. ## Déploiement et configuration des VM Les VM modèles sont disponibles à l'emplacement suivant : ```text \\cloud\Clients\Sdis08\Recuperation_Systel\VM-Quescom ``` ### Configuration réseau Adapter les adresses IP en fonction des VLAN et des dispositions du DCI, en coordination avec les experts réseau et la chefferie de projet. ### VM Quescom (QASAAR) et passerelles La VM Quescom, initialement basée sur CentOS 7, doit être mise à jour vers AlmaLinux 10. Une fois l'adresse IP définie, le paramétrage de la machine est accessible à l'adresse suivante : `https://IP_VM:9090`. Capture d'écran : `image.png` L'application se paramètre ensuite depuis un navigateur à l'adresse `http://IP_VM`. Capture d'écran : `image.png` Les paramètres concernés se trouvent dans le menu **Configuration > Passerelles et routes > Routes / Passerelles**. Capture d'écran : `image.png` ### Configuration DNS Ajouter les entrées DNS nécessaires à l'envoi des SMS et au retour des accusés de réception vers StartPhoneServer. Elles doivent être redirigées vers les HA-INT. Captures d'écran : `image.png`, `image.png` ### Configuration du pare-feu Configurer les flux suivants : | Source | Destination / service | Port ou protocole | | --- | --- | --- | | `Grp_StartPhone` | BD | `1521` (Oracle) ou `1433` (SQL), selon le client | | `Grp_StartPhone` | AMQ | `61616` | | `Grp_StartPhone` | Broker | `1883` (MQTT) ou `10192` (WS) | | `Grp_StartPhone` | `RPINT_VIP` | `443` | | `RPINT_VIP` | Quescom | `443` | ## Schéma de principe Schéma : `schema quescom.png` ## Configuration de StartPhoneServer ### Pilotage de Quescom uniquement Lors de l'import de la VM fournie, les fichiers de configuration sont déjà renseignés, à l'exception des paramètres propres au SDIS. #### `config.properties` Partir du fichier `config.properties.quescom.example`, situé dans le répertoire suivant, puis renseigner les paramètres de base (base de données, ActiveMQ, Broker, etc.) : ```text \\cloud\Qualité\Alerte\Version de référence SGO_117\Version StartPhoneServer\conf ``` #### `plugins.properties` Partir du fichier `plugins.properties.quescom.example`, situé dans le même répertoire. Le plugin **(A10) QUESCOM** doit impérativement être activé. Dans la section **(B7)**, renseigner les paramètres suivants : - `quescomPlugin.url` : URL utilisée pour joindre le serveur Quescom. - `quescomPlugin.login` : login défini avec Quescom dans les prérequis. - `quescomPlugin.password` : mot de passe défini avec Quescom dans les prérequis. Capture d'écran : `image.png` #### `units.properties` Partir du fichier `units.properties.quescom.example`, situé dans le répertoire de configuration indiqué ci-dessus. ### Pilotage de la téléphonie en plus de Quescom Partir des fichiers `conf.example` standard de StartPhoneServer. Vérifier que le plugin Quescom est activé et que la section **(B7) Quescom** est correctement configurée dans `plugins.properties`. ## Configuration des HA-INT (HAProxy) ### Sauvegarde de la configuration Sur les deux HA-INT, sauvegarder le fichier `haproxy.cfg` : ```bash cd /etc/haproxy cp haproxy.cfg haproxy.cfg_avant_ajout_quescom ``` ### Configuration du HA inactif #### Définir les ACL ```haproxy # ACL for PRODUCTION acl LAN_ACL_RETOUR_QUESCOM hdr_dom(host) -i retour-quescom.sdis08.fr acl LAN_ACL_QUESCOMSERVEUR hdr_dom(host) -i quescomserveur.sdis08.fr acl LAN_ACL_STARTPHONE hdr_dom(host) -i startphoneserver.sdis08.fr ``` #### Associer les ACL aux backends ```haproxy # Backup for PRODUCTION use_backend BACK_LAN_STARTPHONESERVER if LAN_ACL_STARTPHONE use_backend BACK_LAN_STARTPHONESERVER if LAN_ACL_RETOUR_QUESCOM use_backend BACK_LAN_QUESCOMSERVEUR if LAN_ACL_QUESCOMSERVEUR ``` #### Définir le frontend sur le port 8990 ```haproxy ######### DON'T TOUCH ########## ######## FrontEnd Local ######## frontend FRONT_LAN_STARTPHONESERVER_8990 bind :8990 mode http use_backend BACK_LAN_STARTPHONESERVER ``` #### Définir les backends StartPhoneServer et Quescom ```haproxy ######### STARTPHONESERVER ########## ######### Retour Quescom ########## backend BACK_LAN_STARTPHONESERVER mode http acl h_CI_exists req.hdr(CLIENT-IP) -m found http-request add-header CLIENT-IP %[src] unless h_CI_exists option httpchk GET /systel-rest/poluxeye/info/ http-check expect rstring \Wstate\W:\s\WSTARTED\W, ### Serveurs STARTPHONE ### server STARTPHONE1 10.xxx.xxx.xx1:8990 check server STARTPHONE2 10.xxx.xxx.xx2:8990 check ############ QUESCOMSERVEUR ############## backend BACK_LAN_QUESCOMSERVEUR mode http # Vérifie si le header CLIENT-IP existe déjà acl h_CI_exists req.hdr(CLIENT-IP) -m found # Ajoute l'IP source si le header n'est pas présent http-request add-header CLIENT-IP %[src] unless h_CI_exists # Serveur Quescom en HTTPS server QUESCOMSERVEUR 10.108.106.1:443 ssl verify none check maxconn 500 weight 1 ``` Vérifier la configuration HAProxy : ```bash haproxy -c -f /etc/haproxy/haproxy.cfg ``` Redémarrer le service HAProxy : ```bash service haproxy restart ``` ### Configuration du HA actif Pour mettre à jour le HA plus rapidement, exécuter la commande suivante : ```bash haproxyupdate IP_HA_actif ``` ## Configuration de START Activer l'OCN correspondante dans les OCN2. Capture d'écran : `image.png` ## Tests de fonctionnement Deux méthodes permettent de vérifier le fonctionnement. ### Depuis START 1. Dans START, ouvrir **Messagerie > Multi-messagerie**. 2. Saisir le texte à envoyer. 3. Saisir le numéro de téléphone de test, puis cliquer sur **Ajouter**. 4. Cliquer sur **Envoyer** en haut de la page. Captures d'écran : `image.png`, `image.png`, `image.png` ### Depuis la base de données Pour envoyer un SMS de test, adapter le texte et le numéro de téléphone dans la requête suivante : ```sql insert into messages_sms (ID_MESSAGE_SMS,NUM_TEL_DESTINATAIRE,TEXTE_MESSAGE_SMS,ETAT_MESSAGE_SMS)(select max(ID_MESSAGE_SMS)+1, 'numéro de téléphone à renseigner','Test SMS Quescom',0 from messages_sms) commit --si oracle ``` ### Vérifier l'envoi via Quescom Dans les logs de StartPhoneServer, consulter le fichier `QuescomPlugin[MOBILISATION].log`. Il indique les SMS envoyés, le numéro de téléphone, le texte et le statut de l'envoi. Capture d'écran : `image.png` ## Vérifier le retour Quescom Depuis un navigateur, accéder à l'URL suivante en l'adaptant au DNS et au nom de domaine concernés : ```text https://retour-quescom.bmpm13.fr/systel-rest/quescom/api ``` Capture d'écran : `image.png` Si une API se télécharge après avoir cliqué sur **Continuer vers le site**, la configuration du HA-INT pour le retour est correcte.