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 alertes publiques et les services de diffusion commerciale, le tout dans une seule application Elixir/OTP.
Aperçu de l'architecture
Aperçu 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 localisation dans un fichier CSV et dans l'historique en mémoire. Journalisation InfluxDB optionnelle lorsqu'elle est configurée
- Suivi des abonnés : Polling de localisation périodique par IMSI avec intervalle et méthode configurables. Résultats stockés dans Mnesia avec export 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 export KML/CSV avec données de qualité de signal
GMLC -- Centre de localisation mobile de 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
- 2G CBSP : Serveur TCP sur le port 48049 acceptant les connexions des BSC
- 3G SABP : 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 RNC configurés ; écoute également les connexions RNC entrantes (Indications de défaillance/redémarrage)
- 4G SBC-AP : 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 de l'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 polling 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 |
|---|---|
| Référence de configuration | Tous les paramètres de configuration avec tableaux et exemples |
| Opérations de diffusion cellulaire | Opérations CBSP (2G), SABP (3G) et SBC-AP (4G), formatage des messages, dépannage |
| Opérations d'alerte CAP | Ingestion CAP v1.2, résolution polygonale, workflow d'approbation, polling de flux |
| Services de localisation | Méthodes de positionnement E-SMLC, interface LCS-AP, base de données cellulaire, OTDOA |
| Suivi des abonnés & Test de conduite | Suivi périodique, campagnes de test de conduite virtuel, mesures RSRP/RSRQ, export KML/CSV |
| GMLC & Le Interface | Accès aux clients LCS externes, localisation périodique et geo-fence, journalisation InfluxDB |
| Référence API REST | Tous les points de terminaison API avec exemples de requêtes/réponses |
| Guide de l'interface Web | 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 des tables 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 LCS-AP SLs aux MMEs
- DiameterEx.Supervisor -- Gestion du service Diameter et des pairs (interfaces SLg et autres Diameter)
- OmniLcs.Esmlc.CellSync -- Synchronisation cellulaire InfluxDB périodique
- 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 -- Polling périodique de 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 de suivi des abonnés
- OmniLcs.DriveTest.CampaignSupervisor -- DynamicSupervisor pour les campagnes de test de conduite virtuel