Guide des opérations OmniLCS
OmniLCS est une plateforme intégrée de localisation LTE/GSM et de diffusion cellulaire. Elle combine un E-SMLC (Centre de localisation mobile évolué) pour le positionnement des UE avec un CBC (Centre de diffusion cellulaire) pour les services d'alerte publique et de diffusion commerciale, le tout au sein d'une seule application Elixir/OTP.
Vue d'ensemble de l'architecture
Vue d'ensemble des fonctionnalités
E-SMLC : Services de localisation
- Méthodes de positionnement : Cell ID, Enhanced Cell ID (E-CID), GNSS/A-GPS, OTDOA
- LCS-AP over SCTP (Interface SLs) : Communique avec le MME en utilisant LCS-AP natif selon 3GPP TS 29.171, port 9082, PPID 29
- Relais LPPA/LPP : Envoie des messages de protocole de positionnement aux eNB et aux UE via le MME par le biais de LCS-AP Connection Oriented Information
- Base de données cellulaire : Stocke les positions des cellules pour le positionnement Cell ID et OTDOA. Prend en charge l'importation depuis Huawei U2020 XLSX (GSM/UMTS/LTE/NR), CSV spécifique au fournisseur, JSON, et synchronisation InfluxDB. Persisté dans Mnesia pour survivre aux redémarrages
- Multilatération OTDOA : Calcule la position de l'UE à partir des mesures RSTD en utilisant les moindres carrés itératifs
- Journalisation de localisation : Persiste chaque position de localisation dans un fichier CSV et dans l'historique en mémoire. Journalisation InfluxDB optionnelle lorsqu'elle est configurée
- Suivi des abonnés : Interrogation périodique de localisation par IMSI avec intervalle et méthode configurables. Résultats stockés dans Mnesia avec exportation KML/CSV
- Test de conduite virtuel : Campagnes multi-IMSI combinant le positionnement GNSS avec des mesures de signal E-CID (RSRP/RSRQ). Gestion au niveau de la campagne avec surveillance en temps réel, journalisation InfluxDB, et exportation KML/CSV avec des données de qualité de signal
GMLC : Centre de localisation mobile passerelle
- Le Interface : Interface Diameter pour les clients LCS externes (PSAPs, gestion de flotte, interception légale) selon 3GPP TS 29.172
- Autorisation des clients : Contrôle d'accès par client avec correspondance de type et limites de taux configurables
- Localisation périodique : Sessions différées effectuant des fixes de position à des intervalles configurables avec journalisation InfluxDB et livraison Diameter LRR
- Localisation déclenchée (Geo-fence) : Abonnements d'événements de zone avec des déclencheurs d'entrée/de sortie/de présence dans des zones circulaires ou polygonales
- Livraison de rapport de localisation : Envoie des messages Diameter Location-Report-Request (LRR) aux clients d'origine pour chaque fix différé
CBC : Diffusion cellulaire
- CBSP 2G : Serveur TCP sur le port 48049 acceptant les connexions des BSC
- SABP 3G : TCP sur le port 3452 (interface Iu-BC, 3GPP TS 25.419, transport selon TS 25.414 §7.1.3.3). Le CBC se connecte sortant aux pairs RNC configurés ; écoute également les connexions RNC entrantes (indications de défaillance/redémarrage)
- SBC-AP 4G : Client SCTP se connectant aux pairs MME sur le port 29168
- Diffusions multilingues : Envoie la même alerte dans plusieurs langues simultanément, chacune avec son propre schéma de codage de données CBS et code de message selon 3GPP TS 23.038
- Mises à jour de diffusion : Met à jour une diffusion active en incrémentant le numéro de mise à jour. Envoie automatiquement un Stop-Warning pour l'ancien numéro de série avant le nouveau Write-Replace
- Formatage des messages : Codage GSM 7 bits et UCS-2, assemblage de pages CBS, construction de numéro de série
- Types d'alerte : Support ETWS (tremblement de terre, tsunami, test) avec activation d'alerte d'urgence et de popup
- Gestion de l'état de diffusion : Suivi de la diffusion active avec persistance à travers les redémarrages, surveillance des délais de réponse
- Persistance Mnesia : Base de données cellulaire et état d'alerte CAP persistés dans les tables disc_copies de Mnesia, survivant aux redémarrages d'application sans réimportation
- Procédures PWS : Gère PWS-Restart-Indication et PWS-Failure-Indication des MMEs
- Ingestion d'alerte CAP : Accepte le protocole d'alerte commun (CAP) v1.2 XML des autorités d'alerte externes via HTTP POST ou sondage de flux Atom, résout les zones d'alerte polygonales en TACs/LACs, et déclenche des diffusions cellulaires avec approbation optionnelle de l'opérateur
Interfaces de contrôle
- API REST : HTTPS sur le port 8443 avec des points de terminaison pour les demandes de localisation, la gestion des cellules et l'état du système
- Panneau de contrôle LiveView : HTTPS sur le port 443 avec tableau de bord en temps réel, tests de localisation, gestion de la base de données cellulaire, surveillance des pairs Diameter, et composition de diffusion CBC
Structure de la documentation
| Document | Description |
|---|---|
| Configuration Reference | Tous les paramètres de configuration avec tableaux et exemples |
| Cell Broadcast Operations | Opérations CBSP (2G), SABP (3G), et SBC-AP (4G), formatage des messages, dépannage |
| CAP Alert Operations | Ingestion CAP v1.2, résolution polygonale, flux d'approbation, sondage de flux |
| Location Services | Méthodes de positionnement E-SMLC, interface LCS-AP, base de données cellulaire, OTDOA |
| Subscriber Tracking & Drive Test | Suivi périodique, campagnes de test de conduite virtuel, mesures RSRP/RSRQ, exportation KML/CSV |
| GMLC & Le Interface | Accès aux clients LCS externes, localisation périodique et géo-clôture, journalisation InfluxDB |
| REST API Reference | Tous les points de terminaison API avec exemples de requêtes/réponses |
| Web Interface Guide | Pages et fonctionnalités du panneau de contrôle LiveView |
Résumé des interfaces
| Interface | Protocole | Transport | Port | Direction | Référence 3GPP |
|---|---|---|---|---|---|
| SLs (E-SMLC ↔ MME) | LCS-AP | SCTP | 9082 | OmniLCS se connecte aux MMEs | TS 29.171 |
| SLg/Le (GMLC ↔ Clients LCS/DRA) | Diameter | SCTP | 3868 | Entrant des clients LCS, sortant vers DRA | TS 29.172 |
| CBSP | CBSP | TCP | 48049 | Les BSC se connectent à OmniLCS | TS 48.049 |
| SABP (Iu-BC) | SABP | TCP | 3452 | Sortant vers les RNC / Entrant des RNC | TS 25.414 §7.1.3.3 |
| SBC-AP | SBC-AP | SCTP | 29168 | OmniLCS se connecte aux MMEs | TS 29.168 |
| API REST | HTTPS | TCP | 8443 | Les clients se connectent à OmniLCS | -- |
| Panneau de contrôle | HTTPS | TCP | 443 | Les navigateurs se connectent à OmniLCS | -- |
| Synchronisation cellulaire | HTTP | TCP | 8086 | OmniLCS interroge InfluxDB | -- |
Arbre de supervision
OmniLCS démarre les processus suivants sous un superviseur un-à-un :
- OmniLcs.Persistence : Initialisation de Mnesia et persistance sur disque pour la base de données cellulaire et les alertes CAP
- OmniLcs.Context : Initialisation de la table ETS (cell_database, location_session, pending_transactions) ; charge les cellules persistées depuis Mnesia au démarrage
- OmniLcs.InfluxDb : Pool de connexions InfluxDB
- OmniLcs.Esmlc.LocationLogger : Journalisation des fixes de localisation dans CSV et ETS
- Task.Supervisor : Exécution de tâches asynchrones
- OmniLcs.Sls.SctpTransport : Connexions client SCTP SLs LCS-AP aux MMEs
- DiameterEx.Supervisor : Gestion du service Diameter et des pairs (interfaces SLg et autres Diameter)
- OmniLcs.Esmlc.CellSync : Synchronisation périodique des cellules InfluxDB
- OmniLcs.Cbc.CbspConnectionSupervisor : DynamicSupervisor pour les connexions TCP CBSP 2G
- OmniLcs.Cbc.CbspTransport : Écouteur TCP CBSP (port 48049)
- OmniLcs.Cbc.SabpConnectionSupervisor : DynamicSupervisor pour les connexions TCP SABP 3G
- OmniLcs.Cbc.SabpTransport : Écouteur TCP SABP (port 3452)
- OmniLcs.Cbc.Engine : Gestion de l'état de diffusion CBC (2G, 3G et 4G)
- OmniLcs.Cbc.SctpTransport : Connexions client SCTP SBC-AP aux MMEs
- OmniLcs.Cap.AlertManager : Gestion du cycle de vie des alertes CAP (analyser, résoudre, approuver, diffuser) ; persisté dans Mnesia
- OmniLcs.Cap.FeedPoller : Sondage périodique des flux Atom CAP
- OmniLcs.Gmlc.ClientRegistry : Gestion des clients LCS externes autorisés
- OmniLcs.Gmlc.SessionSupervisor : DynamicSupervisor pour les sessions de localisation périodiques et déclenchées
- OmniLcs.Tracking.SessionSupervisor : DynamicSupervisor pour les sessions de surveillance du suivi des abonnés
- OmniLcs.DriveTest.CampaignSupervisor : DynamicSupervisor pour les campagnes de test de conduite virtuel