Aller au contenu principal

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

  1. Aperçu
  2. Accéder à l'Interface 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 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ètreValeur
ProtocoleHTTPS (force_ssl activé)
Port8087 (configuré sous config :control_panel, ControlPanelWeb.Endpointhttps: [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 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
/applicationRessourcesRessources système et surveillance
/configurationConfigurationVisionneuse de configuration
/licenseLicenceÉtat de la licence
/eventsÉvénements SS7Journalisation des événements et capture de messages SCCP
/logsJournaux SystèmeVisionneuse de journaux d'application en direct
/clientClient SS7Test d'opération MAP manuelle
/m3uaPairsÉtat de la connexion M3UA pair / ASP
/sctpConnexions SCTPÉtat de l'association SCTP en direct
/routingRoutageGestion de la table de routage M3UA
/routing_testTest de RoutageTest et validation de route
/hlr_linksLiens HLRÉtat de l'API HLR et gestion des abonnés
/subscribersAbonnés ActifsSuivi en temps réel de la localisation des abonnés (HLR)
/smsc_linksLiens SMScÉtat de l'API SMSc et gestion de la file d'attente
/smsc_subscribersAbonnés SMScSuivi en temps réel des abonnés (SMSc)
/camel_sessionsSessions CAMELSurveillance du dialogue CAMEL/CAP en direct
/camel_requestConstructeur de Requêtes CAMELConstructeur de requêtes CAP interactif
/msisdn_imsi_testTest MSISDN/IMSIRecherche / 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

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 Éditer/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 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: international ou national
  3. Cliquez sur "Ajouter un Pair"

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

Éditer un Pair

  1. Cliquez sur le bouton "Éditer" 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🟡 JauneASP 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 Éditer/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 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 :

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 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

ColonneDescriptionExemple
Préfixe GTPréfixe GT du parti appelé (vide = secours)"1234", ""
SSN SourceCorrespondre au SSN du parti appelé (optionnel)6 (HLR), any
ID du PairPair cible1
PairNom du pair"HLR_West (1)"
SSN de DestinationRéécrire le SSN lors du transfert (optionnel)6, preserve
PrioritéPriorité de la route1
DescriptionDescription de la route"Numéros US"
ActionsBoutons Éditer/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 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
  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 inclut 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 du Visiteur)
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: 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

  1. Modifications de l'Interface Web: Toutes les opérations d'ajout/édition/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 Route

Lorsque plusieurs routes correspondent à une destination :

  1. Plus Spécifique en Premier: Les valeurs de masque plus élevées (plus spécifiques) ont la priorité
  2. Champ de Priorité: Les numéros de priorité inférieurs routent en premier (1 = la plus haute priorité)
  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 de Mise à Jour de Localisation.

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 ÀDernière horodatage de Mise à Jour de Localisation"2025-10-25 14:23:45 UTC"
DuréeTemps 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

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ésCompte des messages MT-FSM envoyés5
Msgs ReçusCompte des 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 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 :

  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 de Masse

Pour effectuer des modifications de routes en masse :

  1. Option 1: Utilisez l'API REST pour un accès programmatique
  2. Option 2: Éditez config/runtime.exs et redémarrez l'application
  3. 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 :

  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
État 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 du Réseau: Si la connexion WebSocket est perdue, la page tentera de se reconnecter automatiquement.


Dépannage

Page Ne 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 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.