Aller au contenu principal

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

DocumentDescription
Référence de configurationTous les paramètres de configuration avec tableaux et exemples
Opérations de diffusion cellulaireOpérations CBSP (2G), SABP (3G) et SBC-AP (4G), formatage des messages, dépannage
Opérations d'alerte CAPIngestion CAP v1.2, résolution polygonale, workflow d'approbation, polling de flux
Services de localisationMéthodes de positionnement E-SMLC, interface LCS-AP, base de données cellulaire, OTDOA
Suivi des abonnés & Test de conduiteSuivi périodique, campagnes de test de conduite virtuel, mesures RSRP/RSRQ, export KML/CSV
GMLC & Le InterfaceAccès aux clients LCS externes, localisation périodique et geo-fence, journalisation InfluxDB
Référence API RESTTous les points de terminaison API avec exemples de requêtes/réponses
Guide de l'interface WebPages et fonctionnalités du panneau de contrôle LiveView

Résumé des interfaces

InterfaceProtocoleTransportPortDirectionRéférence 3GPP
SLs (E-SMLC ↔ MME)LCS-APSCTP9082OmniLCS se connecte aux MMEsTS 29.171
SLg/Le (GMLC ↔ Clients LCS/DRA)DiameterSCTP3868Entrant des clients LCS, sortant vers DRATS 29.172
CBSPCBSPTCP48049Les BSC se connectent à OmniLCSTS 48.049
SABP (Iu-BC)SABPTCP3452Sortant vers les RNC / Entrant des RNCTS 25.414 §7.1.3.3
SBC-APSBC-APSCTP29168OmniLCS se connecte aux MMEsTS 29.168
API RESTHTTPSTCP8443Les clients se connectent à OmniLCS--
Panneau de contrôleHTTPSTCP443Les navigateurs se connectent à OmniLCS--
Synchronisation cellulaireHTTPTCP8086OmniLCS interroge InfluxDB--

Arbre de supervision

OmniLCS démarre les processus suivants sous un superviseur un-à-un :

  1. OmniLcs.Persistence -- Initialisation de Mnesia et persistance sur disque pour la base de données cellulaire et les alertes CAP
  2. OmniLcs.Context -- Initialisation des tables ETS (cell_database, location_session, pending_transactions) ; charge les cellules persistées depuis Mnesia au démarrage
  3. OmniLcs.InfluxDb -- Pool de connexions InfluxDB
  4. OmniLcs.Esmlc.LocationLogger -- Journalisation des fixes de localisation dans CSV et ETS
  5. Task.Supervisor -- Exécution de tâches asynchrones
  6. OmniLcs.Sls.SctpTransport -- Connexions client SCTP LCS-AP SLs aux MMEs
  7. DiameterEx.Supervisor -- Gestion du service Diameter et des pairs (interfaces SLg et autres Diameter)
  8. OmniLcs.Esmlc.CellSync -- Synchronisation cellulaire InfluxDB périodique
  9. OmniLcs.Cbc.CbspConnectionSupervisor -- DynamicSupervisor pour les connexions TCP CBSP 2G
  10. OmniLcs.Cbc.CbspTransport -- Écouteur TCP CBSP (port 48049)
  11. OmniLcs.Cbc.SabpConnectionSupervisor -- DynamicSupervisor pour les connexions TCP SABP 3G
  12. OmniLcs.Cbc.SabpTransport -- Écouteur TCP SABP (port 3452)
  13. OmniLcs.Cbc.Engine -- Gestion de l'état de diffusion CBC (2G, 3G et 4G)
  14. OmniLcs.Cbc.SctpTransport -- Connexions client SCTP SBC-AP aux MMEs
  15. OmniLcs.Cap.AlertManager -- Gestion du cycle de vie des alertes CAP (analyser, résoudre, approuver, diffuser) ; persisté dans Mnesia
  16. OmniLcs.Cap.FeedPoller -- Polling périodique de flux Atom CAP
  17. OmniLcs.Gmlc.ClientRegistry -- Gestion des clients LCS externes autorisés
  18. OmniLcs.Gmlc.SessionSupervisor -- DynamicSupervisor pour les sessions de localisation périodiques et déclenchées
  19. OmniLcs.Tracking.SessionSupervisor -- DynamicSupervisor pour les sessions de surveillance de suivi des abonnés
  20. OmniLcs.DriveTest.CampaignSupervisor -- DynamicSupervisor pour les campagnes de test de conduite virtuel