Files
Procedure-Systel/START/Déploiement Quescom et StartPhoneServer.md

214 lines
6.6 KiB
Markdown

# Déployer Quescom et 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`.
L'application se paramètre ensuite depuis un navigateur à l'adresse `http://IP_VM`.
Les paramètres concernés se trouvent dans le menu **Configuration > Passerelles et routes > Routes / Passerelles**.
### 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.
### 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.
#### `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.
## 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.
### 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.
## 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
```
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.