214 lines
6.6 KiB
Markdown
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.
|