Guide de l'Interface Web
← Retour à la Documentation Principale
Ce guide fournit une documentation complète pour l'utilisation de l'Interface Web OmniSS7 (interface Phoenix LiveView).
Table des Matières
- Aperçu
- Accéder à l'Interface Web
- Page de Gestion du Routage
- Page des Abonnés Actifs
- Opérations Courantes
- Comportement d'Auto-Rafraîchissement
Aperçu
L'Interface Web OmniSS7 est une application Phoenix LiveView qui fournit des capacités de surveillance et de gestion en temps réel. Les pages disponibles dépendent du mode opérationnel actif (STP, HLR ou SMSc).
Architecture de l'Interface Web
Configuration du Serveur
| Paramètre | Valeur |
|---|---|
| Protocole | HTTPS (force_ssl activé) |
| Port | 8087 (configuré sous config :control_panel, ControlPanelWeb.Endpoint → https: [port: 8087]) |
| IP par Défaut | 0.0.0.0 (écoute sur toutes les interfaces) |
| Certificat | priv/cert/omnitouch.crt |
| Clé Privée | priv/cert/omnitouch.pem |
| Adaptateur | Bandit (Phoenix) |
URL d'Accès: https://[server-ip]:8087
Accéder à l'Interface Web
Prérequis
-
Certificats SSL: Assurez-vous que des certificats SSL valides sont présents dans
priv/cert/:omnitouch.crt- Fichier de certificatomnitouch.pem- Fichier de clé privée
-
Application en Cours d'Exécution: Démarrez l'application avec
iex -S mix -
Pare-feu: Assurez-vous que le port
8087est ouvert pour le trafic HTTPS
Pages Disponibles par Mode
L'étiquette de la page affichée ici est exactement l'étiquette enregistrée dans config/config.exs (use_builtin_pages / use_additional_pages). Les colonnes de mode indiquent le mode opérationnel (STP/HLR/SMSc) dans lequel une page est généralement pertinente ; la configuration d'exécution filtre la liste des pages par déploiement.
| Page (route) | Étiquette | Mode STP | Mode HLR | Mode SMSc | Description |
|---|---|---|---|---|---|
/application | Ressources | ✅ | ✅ | ✅ | Ressources système et surveillance |
/configuration | Configuration | ✅ | ✅ | ✅ | Visionneuse de configuration |
/license | Licence | ✅ | ✅ | ✅ | État de la licence |
/events | Événements SS7 | ✅ | ✅ | ✅ | Journalisation des événements et capture de messages SCCP |
/logs | Journaux Système | ✅ | ✅ | ✅ | Visionneuse de journaux d'application en direct |
/client | Client SS7 | ✅ | ✅ | ✅ | Test d'opération MAP manuelle |
/m3ua | Pairs | ✅ | ✅ | ✅ | État de la connexion M3UA pair / ASP |
/sctp | Connexions SCTP | ✅ | ✅ | ✅ | État de l'association SCTP en direct |
/routing | Routage | ✅ | ❌ | ✅ | Gestion de la table de routage M3UA |
/routing_test | Test de Routage | ✅ | ❌ | ✅ | Test et validation de route |
/hlr_links | Liens HLR | ❌ | ✅ | ❌ | État de l'API HLR et gestion des abonnés |
/subscribers | Abonnés Actifs | ❌ | ✅ | ❌ | Suivi en temps réel de la localisation des abonnés (HLR) |
/smsc_links | Liens SMSc | ❌ | ❌ | ✅ | État de l'API SMSc et gestion de la file d'attente |
/smsc_subscribers | Abonnés SMSc | ❌ | ❌ | ✅ | Suivi en temps réel des abonnés (SMSc) |
/camel_sessions | Sessions CAMEL | ✅ | ✅ | ✅ | Surveillance du dialogue CAMEL/CAP en direct |
/camel_request | Constructeur de Requêtes CAMEL | ✅ | ✅ | ✅ | Constructeur de requêtes CAP interactif |
/msisdn_imsi_test | Test MSISDN/IMSI | ✅ | ✅ | ✅ | Recherche / test de conversion MSISDN ↔ IMSI |
La page M3UA est étiquetée "Pairs" dans la navigation (route
/m3ua).
Page de Gestion du Routage
Page: /routing
Modes: STP, SMSc
Auto-Rafraîchissement: Toutes les 5 secondes
La page de gestion du routage fournit une interface à onglets pour gérer les tables de routage M3UA.
Mise en Page de la Page
Onglet Pairs
Gérez les connexions de pairs M3UA (autres STPs, HLRs, MSCs, SMSCs).
Colonnes du Tableau des Pairs
| Colonne | Description | Exemple |
|---|---|---|
| ID | Identifiant unique du pair | 1 |
| Nom | Nom du pair lisible par l'homme | "STP_West" |
| Rôle | Rôle de connexion | client, server, stp |
| Code de Point | Code de point SS7 du pair | 100 |
| Distant | IP:Port distant | 10.0.0.10:2905 |
| Statut | Statut de la connexion | active, aspup, down |
| Actions | Boutons Éditer/Supprimer | - |
Ajouter un Pair
- Cliquez sur l'onglet Pairs
- Remplissez les champs du formulaire :
- ID du Pair: Généré automatiquement s'il est laissé vide
- Nom du Pair: Nom descriptif (obligatoire)
- Rôle: Sélectionnez
client,serveroustp - Code de Point: Code de point SS7 (obligatoire)
- IP Locale: Adresse IP de votre système
- Port Local: 0 pour l'attribution dynamique de port
- IP Distant: Adresse IP du pair
- Port Distant: Port du pair (généralement 2905)
- Contexte de Routage: ID de contexte de routage M3UA
- Indicateur de Réseau:
internationalounational
- Cliquez sur "Ajouter un Pair"
Persistance: Le pair est immédiatement enregistré dans Mnesia et survit au redémarrage.
Éditer un Pair
- Cliquez sur le bouton "Éditer" de la ligne du pair
- Modifiez les champs du formulaire selon vos besoins
- Cliquez sur "Mettre à Jour le Pair"
Remarque: Si vous changez l'ID du Pair, l'ancien pair est supprimé et un nouveau est créé.
Supprimer un Pair
- Cliquez sur le bouton "Supprimer" de la ligne du pair
- Confirmez la suppression (toutes les routes utilisant ce pair seront également supprimées)
Indicateurs de Statut des Pairs
| Statut | Couleur | Description |
|---|---|---|
active | 🟢 Vert | Le pair est connecté et routant des messages |
aspup | 🟡 Jaune | ASP est opérationnel mais pas encore actif |
down | 🔴 Rouge | Le pair est déconnecté |
Onglet Routes de Code de Point
Configurez des règles de routage basées sur les Codes de Point de destination.
Colonnes du Tableau des Routes
| Colonne | Description | Exemple |
|---|---|---|
| PC de Destination | Code de point cible (format zone.area.id) | 1.2.3 (100) |
| Masque | Masque de sous-réseau pour la correspondance des PC | /14 (exact), /8 (plage) |
| ID du Pair | Pair cible pour cette route | 1 |
| Nom du Pair | Nom du pair cible | "STP_West" |
| Priorité | Priorité de la route (1 = la plus élevée) | 1 |
| Réseau | Indicateur de réseau | international |
| Actions | Boutons Éditer/Supprimer | - |
Ajouter une Route de Code de Point
- Cliquez sur l'onglet "Routes de Code de Point"
- Remplissez les champs du formulaire :
- Code de Point de Destination: Entrez au format
zone.area.id(par exemple,1.2.3) ou entier (0-16383) - Masque: Sélectionnez le masque
/14pour une correspondance exacte, des valeurs inférieures pour des plages - ID du Pair: Sélectionnez le pair cible dans le menu déroulant
- Priorité: Entrez la priorité (1 = la plus élevée, par défaut)
- Indicateur de Réseau: Sélectionnez
internationalounational
- Code de Point de Destination: Entrez au format
- Cliquez sur "Ajouter une Route"
Format du Code de Point: Vous pouvez entrer des codes de point dans deux formats :
- Format 3-8-3:
zone.area.id(par exemple,1.2.3) - Format Entier:
0-16383(par exemple,1100)
Le système convertit automatiquement entre les formats.
Comprendre les Masques
Les codes de point sont des valeurs de 14 bits (0-16383). Le masque spécifie combien de bits les plus significatifs doivent correspondre :
| Masque | PC Correspondants | Cas d'Utilisation |
|---|---|---|
/14 | 1 (correspondance exacte) | Route vers une destination spécifique |
/13 | 2 PC | Petite plage |
/8 | 64 PC | Plage moyenne |
/0 | Tous les 16,384 PC | Route par défaut/de secours |
Exemples:
PC 1000 /14→ Correspond uniquement au PC 1000PC 1000 /8→ Correspond aux PC 1000-1063 (64 PC consécutifs)PC 0 /0→ Correspond à tous les codes de point (route par défaut)
Carte de Référence du Masque de Code de Point
La page web inclut une référence interactive montrant toutes les valeurs de masque et leurs plages.
Onglet Routes de Titre Global
Configurez des règles de routage basées sur les adresses de Titre Global SCCP.
Exigence: Le routage par Titre Global doit être activé dans la configuration :
config :omniss7,
enable_gt_routing: true
Colonnes du Tableau des Routes
| Colonne | Description | Exemple |
|---|---|---|
| Préfixe GT | Préfixe GT du parti appelé (vide = secours) | "1234", "" |
| SSN Source | Correspondre au SSN du parti appelé (optionnel) | 6 (HLR), any |
| ID du Pair | Pair cible | 1 |
| Pair | Nom du pair | "HLR_West (1)" |
| SSN de Destination | Réécrire le SSN lors du transfert (optionnel) | 6, preserve |
| Priorité | Priorité de la route | 1 |
| Description | Description de la route | "Numéros US" |
| Actions | Boutons Éditer/Supprimer | - |
Ajouter une Route de Titre Global
- Cliquez sur l'onglet "Routes de Titre Global"
- Remplissez les champs du formulaire :
- Préfixe GT: Laissez vide pour la route de secours, ou entrez des chiffres (par exemple,
"1234") - SSN Source: Optionnel - filtrer par SSN du parti appelé
- ID du Pair: Sélectionnez le pair cible
- SSN de Destination: Optionnel - réécrire le SSN lors du transfert
- Priorité: Priorité de la route (1 = la plus élevée)
- Description: Description lisible par l'homme
- Préfixe GT: Laissez vide pour la route de secours, ou entrez des chiffres (par exemple,
- Cliquez sur "Ajouter une Route"
Routes de Secours: Si le Préfixe GT est vide, la route agit comme un attrape-tout pour les GT qui ne correspondent à aucune autre route.
Valeurs SSN Courantes
La page inclut une carte de référence avec des valeurs SSN courantes :
| SSN | Élément de Réseau |
|---|---|
| 6 | HLR (Registre de Localisation de l'Abonné) |
| 7 | VLR (Registre de Localisation du Visiteur) |
| 8 | MSC (Centre de Commutation Mobile) |
| 9 | EIR (Registre d'Identité d'Équipement) |
| 10 | AUC (Centre d'Authentification) |
| 142 | RANAP |
| 145 | gsmSCF (Fonction de Contrôle de Service) |
| 146 | SGSN |
Réécriture de SSN
- SSN Source: Correspondre au SSN du Parti Appelé dans les messages entrants
- SSN de Destination: Si défini, réécrit le SSN du Parti Appelé lors du transfert
- Vide = préserver le SSN original
- Valeur = remplacer par ce SSN
Cas d'Utilisation: Routage des messages avec SSN=6 (HLR) vers un pair, et réécriture vers SSN=7 (VLR) sur le côté sortant.
Persistance de la Table de Routage
Toutes les routes sont stockées dans Mnesia et survivent aux redémarrages de l'application.
Comment les Routes Persist
- Modifications de l'Interface Web: Toutes les opérations d'ajout/édition/suppression sont immédiatement enregistrées dans Mnesia
- Redémarrage de l'Application: Les routes sont chargées depuis Mnesia au démarrage
- Fusion de runtime.exs: Les routes statiques de
config/runtime.exssont fusionnées avec les routes Mnesia (pas de doublons)
Priorité de Route
Lorsque plusieurs routes correspondent à une destination :
- Plus Spécifique en Premier: Les valeurs de masque plus élevées (plus spécifiques) ont la priorité
- Champ de Priorité: Les numéros de priorité inférieurs routent en premier (1 = la plus haute priorité)
- Statut du Pair: Seules les routes vers des pairs
actifssont utilisées
Page des Abonnés Actifs
Page: /subscribers
Mode: HLR uniquement
Auto-Rafraîchissement: Toutes les 2 secondes
Affiche le suivi en temps réel des abonnés ayant envoyé des demandes de Mise à Jour de Localisation.
Fonctionnalités de la Page
Colonnes du Tableau des Abonnés
| Colonne | Description | Exemple |
|---|---|---|
| IMSI | IMSI de l'abonné | "50557123456789" |
| Numéro VLR | Adresse GT VLR actuelle | "555123155" |
| Numéro MSC | Adresse GT MSC actuelle | "555123155" |
| Mis à Jour À | Dernière horodatage de Mise à Jour de Localisation | "2025-10-25 14:23:45 UTC" |
| Durée | Temps depuis l'enregistrement | "2h 15m 34s" |
Résumé des Statistiques
Lorsque des abonnés sont présents, une carte de résumé affiche :
- Total Actif: Nombre total d'abonnés enregistrés
- VLR Uniques: Nombre d'adresses VLR distinctes
- MSC Uniques: Nombre d'adresses MSC distinctes
Effacer les Abonnés
Bouton Effacer Tout: Supprime tous les abonnés actifs du tracker.
Confirmation: Nécessite une confirmation avant de vider (ne peut pas être annulé).
Cas d'Utilisation: Effacer les enregistrements d'abonnés obsolètes après une maintenance ou un test du réseau.
Auto-Rafraîchissement
La page se rafraîchit automatiquement toutes les 2 secondes pour afficher les mises à jour en temps réel des abonnés.
Abonnés SMSc
Page: /smsc_subscribers
Mode: SMSc uniquement
Auto-Rafraîchissement: Toutes les 2 secondes
Affiche le suivi en temps réel des abonnés basé sur les messages alertServiceCenter reçus des HLR, l'état de livraison des messages et le suivi des échecs.
Fonctionnalités de la Page
Colonnes du Tableau des Abonnés
| Colonne | Description | Exemple |
|---|---|---|
| MSISDN | Numéro de téléphone de l'abonné | "15551234567" |
| IMSI | IMSI de l'abonné | "001010123456789" |
| HLR GT | HLR GT qui a envoyé alertServiceCenter | "15551111111" |
| Msgs Envoyés | Compte des messages MT-FSM envoyés | 5 |
| Msgs Reçus | Compte des messages MO-FSM reçus | 2 |
| Statut | Actif ou Échoué (codé par couleur) | ● Actif |
| Dernière Mise à Jour | Horodatage de la dernière mise à jour | "2025-10-30 14:23:45 UTC" |
| Durée | Temps depuis la dernière mise à jour | "15m 34s" |
Indicateurs de Statut
- ● Actif (Vert): L'abonné est joignable, dernier alertServiceCenter reçu avec succès
- ○ Échoué (Rouge): La dernière tentative de livraison a échoué (erreur SRI-for-SM ou abonné absent)
Résumé des Statistiques
Lorsque des abonnés sont présents, une carte de résumé affiche :
- Total Suivi: Nombre total d'abonnés suivis
- Actifs: Nombre d'abonnés avec un statut actif
- Échoués: Nombre d'abonnés avec un statut échoué
- HLRs Uniques: Nombre de HLR distincts envoyant des alertes
Gestion des Abonnés
Bouton Supprimer: Supprime un abonné individuel du suivi.
Bouton Effacer Tout: Supprime tous les abonnés suivis.
Confirmation: Effacer Tout nécessite une confirmation avant de vider (ne peut pas être annulé).
Cas d'Utilisation:
- Supprimer les entrées obsolètes après des problèmes de réseau
- Effacer les données de test après développement
- Surveiller quels HLR envoient des alertes
Compteurs de Messages
Le tracker incrémente automatiquement les compteurs :
- Messages Envoyés: Incrémenté lorsque SRI-for-SM réussit et MT-FSM est envoyé
- Messages Reçus: Incrémenté lorsque MO-FSM est reçu de l'abonné
Auto-Rafraîchissement
La page se rafraîchit automatiquement toutes les 2 secondes pour afficher les mises à jour en temps réel des abonnés et des statuts.
Opérations Courantes
Recherche et Filtrage
Actuellement, l'Interface Web n'inclut pas de fonctionnalité de recherche/filtrage intégrée. Pour trouver des routes spécifiques :
- Utilisez la fonction de recherche de votre navigateur (Ctrl+F / Cmd+F)
- Recherchez des noms de pairs, des codes de point ou des préfixes GT
Opérations de Masse
Pour effectuer des modifications de routes en masse :
- Option 1: Utilisez l'API REST pour un accès programmatique
- Option 2: Éditez
config/runtime.exset redémarrez l'application - Option 3: Utilisez l'Interface Web pour des modifications de routes individuelles
Exporter/Importer
Remarque: L'Interface Web ne prend actuellement pas en charge l'exportation ou l'importation de tables de routage. Les routes sont :
- Stockées dans des fichiers de base de données Mnesia
- Configurées dans
config/runtime.exs
Pour sauvegarder les routes :
- Mnesia: Sauvegardez le répertoire
Mnesia.{node_name}/ - Configuration: Contrôle de version de
config/runtime.exs
Comportement d'Auto-Rafraîchissement
Différentes pages ont différents intervalles de rafraîchissement :
| Page | Intervalle de Rafraîchissement | Raison |
|---|---|---|
| Gestion du Routage | 5 secondes | Les changements de route sont peu fréquents |
| Abonnés Actifs | 2 secondes | L'état des abonnés change fréquemment |
| État M3UA | Varie selon la page | Surveillance de l'état de connexion |
Connexion WebSocket: Toutes les pages utilisent des connexions WebSocket Phoenix LiveView pour des mises à jour en temps réel.
Interruption du Réseau: Si la connexion WebSocket est perdue, la page tentera de se reconnecter automatiquement.
Dépannage
Page Ne Charge Pas
- Vérifiez le Certificat HTTPS: Assurez-vous que
priv/cert/omnitouch.crtetpriv/cert/omnitouch.pemsont présents - Vérifiez le Port 8087: Vérifiez que les règles de pare-feu autorisent le trafic HTTPS sur le port
8087 - Application en Cours d'Exécution: Confirmez que l'application fonctionne avec
iex -S mix - Console du Navigateur: Vérifiez les erreurs de certificat SSL (avertissements de certificat auto-signé)
Routes Ne Persistant Pas
- Vérifiez le Stockage Mnesia: Vérifiez
mnesia_storage_type: :disc_copiesdans la configuration - Répertoire Mnesia: Assurez-vous que le répertoire Mnesia est accessible en écriture
- Vérifiez les Journaux: Recherchez des erreurs Mnesia dans les journaux de l'application
Auto-Rafraîchissement Ne Fonctionne Pas
- Connexion WebSocket: Vérifiez la console du navigateur pour des erreurs WebSocket
- Réseau: Vérifiez la connexion réseau stable
- Rafraîchissement de la Page: Essayez de rafraîchir la page (F5)
Documentation Connexe
- Guide STP - Configuration détaillée du routage
- Guide HLR - Gestion des abonnés
- Guide API - API REST pour un accès programmatique
- Référence de Configuration - Tous les paramètres de configuration
Résumé
L'Interface Web OmniSS7 fournit une gestion intuitive et en temps réel des tables de routage et du suivi des abonnés :
✅ Mises à Jour en Temps Réel - L'auto-rafraîchissement maintient les données à jour
✅ Stockage Persistant - Mnesia garantit que les routes survivent aux redémarrages
✅ Interface Basée sur les Rôles - Les pages s'adaptent au mode opérationnel (STP/HLR/SMSc)
✅ Gestion Interactive - Ajouter, éditer, supprimer des routes sans redémarrage
✅ Surveillance de Statut - Connexion en direct et statut des pairs
Pour des opérations avancées ou de l'automatisation, consultez le Guide API.