Aller au contenu principal

Guide de l'interface utilisateur Web

← Retour à la documentation principale

Ce guide fournit une documentation complète pour l'utilisation de l'OmniSS7 Interface Utilisateur Web (interface Phoenix LiveView).

Table des matières​

  1. Aperçu
  2. Accéder à l'interface utilisateur Web
  3. Page de gestion du routage
  4. Page des abonnés actifs
  5. Opérations courantes
  6. Comportement d'auto-rafraîchissement

Aperçu​

L'interface utilisateur 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 utilisateur Web​

Configuration du serveur​

ParamètreValeur
ProtocoleHTTPS (force_ssl activé)
Port8087 (configuré sous config :control_panel, ControlPanelWeb.Endpoint → https: [port: 8087])
IP par défaut0.0.0.0 (écoute sur toutes les interfaces)
Certificatpriv/cert/omnitouch.crt
Clé privéepriv/cert/omnitouch.pem
AdaptateurBandit (Phoenix)

URL d'accès : https://[server-ip]:8087


Accéder à l'interface utilisateur Web​

Prérequis​

  1. Certificats SSL : Assurez-vous que des certificats SSL valides sont présents dans priv/cert/ :

    • omnitouch.crt - Fichier de certificat
    • omnitouch.pem - Fichier de clé privée
  2. Application en cours d'exécution : Démarrez l'application avec iex -S mix

  3. Pare-feu : Assurez-vous que le port 8087 est 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)ÉtiquetteMode STPMode HLRMode SMScDescription
/applicationRessources✅✅✅Ressources système et surveillance
/configurationConfiguration✅✅✅Visualiseur de configuration
/licenseLicence✅✅✅Statut de la licence
/eventsÉvénements SS7✅✅✅Journalisation des événements et capture de messages SCCP
/logsJournaux système✅✅✅Visualiseur de journaux d'application en direct
/clientClient SS7✅✅✅Test de fonctionnement manuel MAP
/m3uaPairs✅✅✅État de la connexion M3UA pair / ASP
/sctpConnexions SCTP✅✅✅État de l'association SCTP en direct
/routingRoutage✅❌✅Gestion de la table de routage M3UA
/routing_testTest de routage✅❌✅Test et validation de route
/hlr_linksLiens HLR❌✅❌Statut de l'API HLR et gestion des abonnés
/subscribersAbonnés actifs❌✅❌Suivi de localisation des abonnés en temps réel (HLR)
/smsc_linksLiens SMSc❌❌✅Statut de l'API SMSc et gestion de la file d'attente
/smsc_subscribersAbonnés SMSc❌❌✅Suivi des abonnés en temps réel (SMSc)
/camel_sessionsSessions CAMEL✅✅✅Surveillance du dialogue CAMEL/CAP en direct
/camel_requestConstructeur de requêtes CAMEL✅✅✅Constructeur de requêtes CAP interactif
/msisdn_imsi_testTest 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 M3UA aux pairs (autres STP, HLR, MSC, SMSC).

Colonnes du tableau des pairs​

ColonneDescriptionExemple
IDIdentifiant unique du pair1
NomNom du pair lisible par l'homme"STP_West"
RôleRôle de connexionclient, server, stp
Code de pointCode de point SS7 du pair100
DistantIP:Port distant10.0.0.10:2905
StatutStatut de la connexionactive, aspup, down
ActionsBoutons Modifier/Supprimer-

Ajouter un pair​

  1. Cliquez sur l'onglet Pairs
  2. 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, server ou stp
    • 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 distante : 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 : international ou national
  3. Cliquez sur "Ajouter un pair"

Persistance : Le pair est immédiatement enregistré dans Mnesia et survit au redémarrage.

Modifier un pair​

  1. Cliquez sur le bouton "Modifier" de la ligne du pair
  2. Modifiez les champs du formulaire selon vos besoins
  3. 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​

  1. Cliquez sur le bouton "Supprimer" de la ligne du pair
  2. Confirmez la suppression (toutes les routes utilisant ce pair seront également supprimées)

Indicateurs de statut des pairs​

StatutCouleurDescription
active🟢 VertLe pair est connecté et routant des messages
aspup🟡 JauneL'ASP est opérationnel mais pas encore actif
down🔴 RougeLe 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​

ColonneDescriptionExemple
PC de destinationCode de point cible (format zone.area.id)1.2.3 (100)
MasqueMasque de sous-réseau pour la correspondance des PC/14 (exact), /8 (plage)
ID du pairPair cible pour cette route1
Nom du pairNom du pair cible"STP_West"
PrioritéPriorité de la route (1 = la plus élevée)1
RéseauIndicateur de réseauinternational
ActionsBoutons Modifier/Supprimer-

Ajouter une route de code de point​

  1. Cliquez sur l'onglet "Routes de code de point"
  2. 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 /14 pour 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 international ou national
  3. Cliquez sur "Ajouter une route"

Format de 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 :

MasquePC correspondantsCas d'utilisation
/141 (correspondance exacte)Route vers une destination spécifique
/132 PCPetite plage
/864 PCPlage moyenne
/0Tous les 16 384 PCRoute par défaut/de secours

Exemples :

  • PC 1000 /14 → Correspond uniquement au PC 1000
  • PC 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 des masques de code de point​

La page Web comprend 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​

ColonneDescriptionExemple
Préfixe GTPréfixe GT du parti appelé (vide = secours)"1234", ""
SSN sourceCorrespondance sur le SSN du parti appelé (facultatif)6 (HLR), any
ID du pairPair cible1
PairNom du pair"HLR_West (1)"
SSN de destinationRéécrire le SSN lors du transfert (facultatif)6, preserve
PrioritéPriorité de la route1
DescriptionDescription de la route"Numéros US"
ActionsBoutons Modifier/Supprimer-

Ajouter une route de titre global​

  1. Cliquez sur l'onglet "Routes de titre global"
  2. Remplissez les champs du formulaire :
    • Préfixe GT : Laissez vide pour une route de secours, ou entrez des chiffres (par exemple, "1234")
    • SSN source : Facultatif - filtre par SSN du parti appelé
    • ID du pair : Sélectionnez le pair cible
    • SSN de destination : Facultatif - réécrire le SSN lors du transfert
    • Priorité : Priorité de la route (1 = la plus élevée)
    • Description : Description lisible par l'homme
  3. 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 comprend une carte de référence avec des valeurs SSN courantes :

SSNÉlément de réseau
6HLR (Registre de localisation de l'abonné)
7VLR (Registre de localisation des visiteurs)
8MSC (Centre de commutation mobile)
9EIR (Registre d'identité d'équipement)
10AUC (Centre d'authentification)
142RANAP
145gsmSCF (Fonction de contrôle de service)
146SGSN

Réécriture de SSN​

  • SSN source : Correspondance sur le 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 à SSN=7 (VLR) du 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 persistent​

  1. Modifications de l'interface utilisateur Web : Toutes les opérations d'ajout/modification/suppression sont immédiatement enregistrées dans Mnesia
  2. Redémarrage de l'application : Les routes sont chargées depuis Mnesia au démarrage
  3. Fusion de Runtime.exs : Les routes statiques de config/runtime.exs sont fusionnées avec les routes Mnesia (pas de doublons)

Priorité de la route​

Lorsque plusieurs routes correspondent à une destination :

  1. Plus spécifique d'abord : Les valeurs de masque plus élevées (plus spécifiques) ont la priorité
  2. Champ de priorité : Les numéros de priorité plus bas routent en premier (1 = priorité la plus élevée)
  3. Statut du pair : Seules les routes vers des pairs actifs sont 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 UpdateLocation.

Fonctionnalités de la page​

Colonnes du tableau des abonnés​

ColonneDescriptionExemple
IMSIIMSI de l'abonné"50557123456789"
Numéro VLRAdresse GT VLR actuelle"555123155"
Numéro MSCAdresse GT MSC actuelle"555123155"
Mis à jour àHorodatage de la dernière mise à jour de localisation"2025-10-25 14:23:45 UTC"
DuréeTemps écoulé 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 des abonnés en temps réel.


Page des 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, le statut de livraison des messages et le suivi des échecs.

Fonctionnalités de la page​

Colonnes du tableau des abonnés​

ColonneDescriptionExemple
MSISDNNuméro de téléphone de l'abonné"15551234567"
IMSIIMSI de l'abonné"001010123456789"
HLR GTHLR GT qui a envoyé alertServiceCenter"15551111111"
Msgs EnvoyésNombre de messages MT-FSM envoyés5
Msgs ReçusNombre de messages MO-FSM reçus2
StatutActif ou Échoué (codé par couleur)● Actif
Dernière mise à jourHorodatage de la dernière mise à jour"2025-10-30 14:23:45 UTC"
DuréeTemps écoulé 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 statut actif
  • Échoués : Nombre d'abonnés avec statut échoué
  • HLR 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 le 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 que 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 utilisateur Web n'inclut pas de fonctionnalité de recherche/filtrage intégrée. Pour trouver des routes spécifiques :

  1. Utilisez la fonction de recherche de votre navigateur (Ctrl+F / Cmd+F)
  2. Recherchez des noms de pairs, des codes de point ou des préfixes GT

Opérations en masse​

Pour effectuer des modifications de routes en masse :

  1. Option 1 : Utilisez l'API REST pour un accès programmatique
  2. Option 2 : Modifiez config/runtime.exs et redémarrez l'application
  3. Option 3 : Utilisez l'interface utilisateur Web pour des modifications de routes individuelles

Exporter/Importer​

Remarque : L'interface utilisateur 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 :

  1. Mnesia : Sauvegardez le répertoire Mnesia.{node_name}/
  2. Configuration : Contrôle de version de config/runtime.exs

Comportement d'auto-rafraîchissement​

Différentes pages ont différents intervalles de rafraîchissement :

PageIntervalle de rafraîchissementRaison
Gestion du routage5 secondesLes changements de route sont peu fréquents
Abonnés actifs2 secondesL'état des abonnés change fréquemment
Statut M3UAVarie selon la pageSurveillance 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 de réseau : Si la connexion WebSocket est perdue, la page tentera de se reconnecter automatiquement.


Dépannage​

Page ne se charge pas​

  1. Vérifiez le certificat HTTPS : Assurez-vous que priv/cert/omnitouch.crt et priv/cert/omnitouch.pem sont présents
  2. Vérifiez le port 8087 : Vérifiez que les règles de pare-feu autorisent le trafic HTTPS sur le port 8087
  3. Application en cours d'exécution : Confirmez que l'application fonctionne avec iex -S mix
  4. Console du navigateur : Vérifiez les erreurs de certificat SSL (avertissements de certificat auto-signé)

Routes ne persistant pas​

  1. Vérifiez le stockage Mnesia : Vérifiez mnesia_storage_type: :disc_copies dans la configuration
  2. Répertoire Mnesia : Assurez-vous que le répertoire Mnesia est accessible en écriture
  3. Vérifiez les journaux : Recherchez des erreurs Mnesia dans les journaux de l'application

Auto-rafraîchissement ne fonctionne pas​

  1. Connexion WebSocket : Vérifiez la console du navigateur pour des erreurs WebSocket
  2. Réseau : Vérifiez la connexion réseau stable
  3. Rafraîchissement de la page : Essayez de rafraîchir la page (F5)

Documentation connexe​


Résumé​

L'interface utilisateur 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 utilisateur basée sur les rôles - Les pages s'adaptent au mode opérationnel (STP/HLR/SMSc)
✅ Gestion interactive - Ajouter, modifier, supprimer des routes sans redémarrage
✅ Surveillance de l'état - État de connexion et statut des pairs en direct

Pour des opérations avancées ou de l'automatisation, consultez le Guide API.