Aller au contenu principal

Guide des Opérations OmniPGW

OmniPGW - Passerelle de Contrôle de Paquet (PGW-C)

par Omnitouch Network Services


Table des Matières​

  1. Aperçu
  2. Architecture
  3. Interfaces Réseau
  4. Concepts Clés
  5. Prise en Main
  6. Configuration
  7. Surveillance des Opérations en Temps Réel (API OAM)
  8. Surveillance & Métriques
  9. Documentation Détailée
  10. Ressources Supplémentaires

Aperçu​

OmniPGW est une implémentation de haute performance de la Passerelle de Contrôle de Paquet (PGW-C) pour les réseaux 3GPP LTE Evolved Packet Core (EPC), développée par Omnitouch Network Services. Elle gère les fonctions de plan de contrôle pour les sessions de données, y compris :

  • Gestion de Session - Création, modification et terminaison des sessions de données UE (Équipement Utilisateur)
  • Attribution d'Adresse IP - Attribution d'adresses IP aux appareils mobiles à partir de pools configurés
  • Contrôle de Politique et de Facturation - Interface avec PCRF pour l'application des politiques et la facturation
  • Coordination du Plan Utilisateur - Contrôle du PGW-U (Plan Utilisateur) pour le transfert de paquets

Ce que fait PGW-C​

  • Accepte les demandes de session de SGW-C via l'interface S5/S8 (GTP-C)
  • Attribue des adresses IP UE à partir de pools de sous-réseaux configurés
  • Demande des décisions de politique à PCRF via l'interface Gx (Diameter)
  • Programme les règles de transfert dans PGW-U via l'interface Sxb (PFCP)
  • Gère l'application QoS à travers des contextes de porteur et des règles QoS
  • Suit les informations de facturation pour les systèmes de facturation

Architecture​

Vue d'Ensemble des Composants​

Architecture des Processus​

PGW-C est construit sur Elixir/OTP et utilise une architecture de processus supervisée :

  • Superviseur d'Application - Superviseur de niveau supérieur gérant tous les composants
  • Courtiers de Protocole - Gèrent les messages de protocole entrants/sortants
  • Processus de Session - Un GenServer par connexion PDN active
  • Registres - Suivent les ressources allouées (IPs, TEIDs, SEIDs, etc.)
  • Gestionnaire de Nœud PFCP - Maintient les associations PFCP avec les pairs PGW-U

Chaque composant est supervisé et redémarrera automatiquement en cas d'échec, garantissant la fiabilité du système.


Interfaces Réseau​

PGW-C implémente trois interfaces 3GPP principales :

Interface S5/S8 (GTP-C v2)​

But : Signalisation de plan de contrôle entre SGW-C et PGW-C

Protocole : GTP-C Version 2 sur UDP

Messages Clés :

  • Demande/Réponse de Création de Session
  • Demande/Réponse de Suppression de Session
  • Demande/Réponse de Création de Porteur
  • Demande/Réponse de Suppression de Porteur

Configuration : Voir Configuration S5/S8

Interface Sxb (PFCP)​

But : Signalisation de plan de contrôle entre PGW-C et PGW-U

Protocole : PFCP (Protocole de Contrôle de Transfert de Paquet) sur UDP

Messages Clés :

  • Demande/Réponse de Configuration d'Association
  • Demande/Réponse d'Établissement de Session
  • Demande/Réponse de Modification de Session
  • Demande/Réponse de Suppression de Session
  • Demande/Réponse de Heartbeat

Configuration : Voir Documentation de l'Interface PFCP/Sxb

Interface Gx (Diameter)​

But : Interface de Fonction de Règles de Politique et de Facturation (PCRF)

Protocole : Diameter (IETF RFC 6733)

Messages Clés :

  • Demande/Réponse de Contrôle de Crédit Initial (CCR-I/CCA-I)
  • Demande/Réponse de Contrôle de Crédit de Terminaison (CCR-T/CCA-T)

Configuration : Voir Documentation de l'Interface Diameter Gx


Concepts Clés​

Session PDN​

Une Session PDN (Packet Data Network) représente la connexion de données d'un UE à un réseau externe (comme Internet). Chaque session a :

  • Adresse IP UE - Attribuée à partir d'un pool de sous-réseaux configuré
  • APN (Nom de Point d'Accès) - Identifie le réseau externe
  • Contexte de Porteur - Contient des paramètres QoS et des informations de tunnel
  • ID de Facturation - Identifiant unique pour la facturation
  • TEID (ID de Point de Terminaison de Tunnel) - Identifiant de tunnel de l'interface S5/S8
  • SEID (ID de Point de Terminaison de Session) - Identifiant de session de l'interface Sxb

Contexte de Porteur​

Un porteur représente un flux de trafic avec des caractéristiques QoS spécifiques :

  • Porteur par Défaut - Créé avec chaque session PDN
  • Porteurs Dédiés - Porteurs supplémentaires pour des besoins QoS spécifiques
  • EBI (ID de Porteur EPS) - Identifiant unique pour chaque porteur
  • Paramètres QoS - QCI, ARP, débits (MBR, GBR)

Règles PFCP​

Le PGW-C programme le PGW-U avec des règles de traitement de paquets :

  • PDR (Règle de Détection de Paquet) - Correspond aux paquets (montant/descendant)
  • FAR (Règle d'Action de Transfert) - Spécifie le comportement de transfert
  • QER (Règle d'Application de QoS) - Applique des limites de débit
  • BAR (Règle d'Action de Mise en Tampon) - Contrôle la mise en tampon des paquets

Voir Documentation de l'Interface PFCP pour plus de détails.

Attribution d'Adresse IP​

Les adresses IP UE sont attribuées à partir de pools de sous-réseaux configurés :

  • Sélection basée sur APN - Différents APNs peuvent utiliser différents sous-réseaux
  • Attribution dynamique - Sélection aléatoire d'IP à partir de la plage disponible
  • Attribution statique - Support pour les adresses IP demandées par l'UE
  • Détection de collision - Assure une attribution d'IP unique

Voir Attribution de Pool IP UE pour la configuration, et IPv6 / Double-Stack pour le fonctionnement PDN IPv6 et IPv4v6.


Prise en Main​

Prérequis​

  • Elixir ~1.16
  • Erlang/OTP 26+
  • Connectivité réseau avec SGW-C, PGW-U, et PCRF
  • Compréhension de l'architecture EPC LTE

Démarrer OmniPGW​

  1. Configurer les paramètres d'exécution dans config/runtime.exs
  2. Compiler l'application :
    mix deps.get
    mix compile
  3. Démarrer l'application :
    mix run --no-halt

Vérification de l'Opération​

Vérifiez les journaux pour un démarrage réussi :

[info] Démarrage d'OmniPGW...
[info] Démarrage de l'Exportateur de Métriques sur 127.0.0.42:42069
[info] Démarrage du Courtier S5/S8 sur 127.0.0.10
[info] Démarrage du Courtier Sxb sur 127.0.0.20
[info] Démarrage du Courtier Gx
[info] Démarrage du Gestionnaire de Nœud PFCP
[info] OmniPGW démarré avec succès

Accédez aux métriques à http://127.0.0.42:42069/metrics (adresse configurée).


Configuration​

Toute la configuration d'exécution est définie dans config/runtime.exs. Ce fichier est évalué au démarrage de l'application. Un exemple complet suit ; chaque section est décrite dans le tableau de référence ci-dessous et dans la Référence de Configuration.

# config/runtime.exs
import Config

# Configuration du Logger
config :logger, level: :info

config :pgw_c,
# Métriques (Prometheus)
metrics: %{
enabled: true,
ip_address: "10.0.0.20", # Réseau de gestion
port: 9090,
registry_poll_period_ms: 5_000
},

# Diameter/Gx (interface PCRF)
diameter: %{
listen_ip: "0.0.0.0",
host: "omnipgw.epc.mnc001.mcc001.3gppnetwork.org",
realm: "epc.mnc001.mcc001.3gppnetwork.org",
peer_list: [
%{
host: "pcrf-primary.epc.mnc001.mcc001.3gppnetwork.org",
realm: "epc.mnc001.mcc001.3gppnetwork.org",
ip: "10.0.1.30",
initiate_connection: true
},
%{
host: "pcrf-backup.epc.mnc001.mcc001.3gppnetwork.org",
realm: "epc.mnc001.mcc001.3gppnetwork.org",
ip: "10.0.2.30",
initiate_connection: true
}
]
},

# S5/S8 (interface SGW-C)
s5s8: %{
local_ipv4_address: "10.0.0.20"
},

# Sxb/PFCP (interface PGW-U)
sxb: %{
local_ip_address: "10.0.0.20"
},

# Sélection UPF
upf_selection: %{
rules: [
%{
name: "Internet par Défaut",
priority: 1,
match_field: :apn,
match_regex: ~r/^internet/,
upf_pool: [
%{remote_ip_address: "10.0.0.21", remote_port: 8805, weight: 100},
%{remote_ip_address: "10.0.0.22", remote_port: 8805, weight: 0} # Standby
]
}
],
fallback_pool: [
%{remote_ip_address: "10.0.0.21", remote_port: 8805, weight: 100}
]
},

# Pools IP UE
ue: %{
subnet_map: %{
"internet" => [
"100.64.0.0/18" # 16,382 IPs
],
"ims" => [
"100.64.64.0/22" # 1,022 IPs
],
"enterprise.corp" => [
"10.100.0.0/16" # 65,534 IPs
],
default: [
"100.64.127.0/24" # 254 IPs
]
}
},

# Options de Configuration de Protocole
pco: %{
primary_dns_server_address: "8.8.8.8",
secondary_dns_server_address: "8.8.4.4",
p_cscf_ipv4_address_list: ["10.0.0.50", "10.0.0.51"],
ipv4_link_mtu_size: 1400
}

La configuration est structurée en plusieurs sections :

Vue d'Ensemble de la Configuration​

Référence de Configuration Rapide​

SectionButDocumentation
metricsExportateur de métriques PrometheusGuide de Surveillance
diameterInterface Gx vers PCRFConfiguration Diameter Gx
s5s8Interface GTP-C vers SGW-CConfiguration S5/S8
sxbInterface PFCP vers PGW-UConfiguration PFCP
uePools d'adresses IP UEConfiguration de Pool IP
pcoOptions de Configuration de ProtocoleConfiguration PCO
CDRFacturation hors ligne & rapports d'utilisationFormat CDR
chargingMode de facturation en ligne/hors ligne, contournement d'urgenceContournement de Facturation

Voir le Guide Complet de Configuration pour des informations détaillées.


Surveillance des Opérations en Temps Réel (API OAM)​

OmniPGW expose une API REST OAM pour la surveillance et les opérations en temps réel, fournissant une visibilité instantanée sur l'état du système. Interrogez ces points de terminaison de lecture à la demande (ou à intervalles de polling / depuis un script) pour une vue opérationnelle en direct - aucun accès à la ligne de commande de l'hôte ou requêtes de métriques brutes nécessaires.

Accéder à l'API OAM​

L'API est servie sur HTTPS/TLS. Tous les itinéraires sont servis sous le préfixe /api.

https://<omnipgw-ip>:8443/

La documentation interactive de l'API (Swagger UI) est disponible à :

https://<omnipgw-ip>:8443/api/docs

Exemple de vérification de santé (utilisez -k pour un certificat de laboratoire auto-signé) :

curl -k https://localhost:8443/api/status
{"result":"ok"}

Points de Terminaison Disponibles :

ButPoint de TerminaisonRemplace (ancienne page)
Plongée dans un abonné spécifique (IMSI/MSISDN/IP)POST /api/ue_searchRecherche UE
Lister / rechercher les sessions PDN activesGET /api/sessions[?search=<imsi|msisdn|ip>]Sessions PGW
Une session par IMSIGET /api/sessions/<imsi>Sessions PGW (détail)
Historique des sessions / événements d'auditGET /api/session_history[?type=&search=&page=&page_size=]Historique des Sessions
Vue d'ensemble de la topologie réseauGET /api/topologyTopologie Réseau
Utilisation du pool d'adresses IP UEGET /api/ip_pools, GET /api/ip_pools/<name>Pools IP
État des pairs UPF / PFCPGET /api/upf, GET /api/upf/<ip>Sessions PFCP / État UPF
Règles de sélection UPF, santé, configuration PCOGET /api/upf_selectionSélection UPF
Connectivité des pairs Diameter (Gx/Gy)GET /api/diameter[?status=connected|disconnected], GET /api/diameter/<origin-host>Pairs Diameter
État de facturation en ligne (Gy) par sessionGET /api/charging[?search=<imsi>], GET /api/charging/<imsi>État Gy
Contournement : désactiver la facturation en ligne à l'échelle du nœudPUT /api/charging/override, GET /api/charging/override, DELETE /api/charging/override-
État de découverte DNS P-CSCFGET /api/pcscf_monitorMoniteur P-CSCF
Vérification de santéGET /api/status-

Pour une vue de style tableau de bord en direct, interrogez les points de terminaison de collection à intervalles, par exemple :

watch -n 2 'curl -sk https://localhost:8443/api/sessions'
watch -n 1 'curl -sk https://localhost:8443/api/diameter?status=disconnected'

Remarque : l'ancienne page Logs (streaming de journaux en direct) et la page Gy Simulator n'ont pas d'équivalent API OAM. Stream les journaux depuis l'hôte / votre agrégateur de journaux, et utilisez GET /api/charging pour inspecter l'état en direct de Gy/facturation en ligne.

Fonctionnalités Clés​

Données à la Demande et Pollées :

  • Chaque point de terminaison retourne l'état actuel en direct des processus OmniPGW
  • Poll à un intervalle avec watch/cron/un script pour une vue auto-rafraîchissante
  • Les champs d'état (par exemple, pair connected/associated) sont retournés explicitement dans le JSON

Recherche & Filtre :

  • Rechercher des sessions par IMSI, IP, MSISDN ou APN via GET /api/sessions?search=...
  • Filtrer les pairs Diameter par ?status=connected|disconnected
  • Filtrer l'état de facturation par ?search=<imsi>

Enregistrements de Détail Complet :

  • Points de terminaison par entité (/api/sessions/<imsi>, /api/upf/<ip>, /api/diameter/<origin-host>, /api/charging/<imsi>) retournent l'état complet en JSON
  • Inspecter la session complète, la configuration des pairs et les capacités

Contrôle d'Accès :

  • Servi sur HTTPS/TLS sur le port 8443
  • Lier uniquement à l'IP de gestion et front avec vos contrôles d'accès
  • Destiné à l'équipe NOC/opérations et à l'utilisation automatisée

Flux de Travail Opérationnels​

D��pannage de Session (Plongée Profonde) :

1. L'utilisateur signale un problème de connexion
2. POST /api/ue_search avec un corps JSON contenant l'IMSI, MSISDN ou IP
3. Examiner les détails complets de la session dans la réponse :
a) Sessions Actives - Vérifier si la session existe avec les bons paramètres
b) Localisation Actuelle - Vérifier TAC, ID de Cellule, réseau de service
c) Informations sur le Porteur - Vérifier les porteurs par défaut et dédiés
- QCI, MBR/GBR, Noms de Règles de Facturation
- Limites APN-AMBR
d) Informations de Facturation - ID de session Gy, état du quota (également GET /api/charging/<imsi>)
e) Informations de Politique - Session Gx, règles PCC installées
f) Événements Récents - GET /api/session_history?search=<imsi>
4. Si session non trouvée → GET /api/diameter?status=disconnected pour la connectivité PCRF

Recherche Rapide de Session :

1. L'utilisateur signale un problème
2. GET /api/sessions?search=<imsi|msisdn> (ou GET /api/sessions/<imsi>)
3. Vérifier si la session existe avec des détails de base :
- Adresse IP UE attribuée
- Paramètres QoS
- Points de terminaison de tunnel établis
4. Pour une analyse détaillée → POST /api/ue_search

Vérification de Santé du Système :

1. GET /api/upf              → Vérifier que tous les pairs PGW-U sont "Associés"
2. GET /api/diameter?status=connected → Vérifier que tous les pairs PCRF sont "Connectés"
3. GET /api/sessions → Vérifier le nombre de sessions actives par rapport à la capacité
4. GET /api/status → Vérification de santé globale ({"result":"ok"})

Surveillance de Capacité :

  • Compter les entrées retournées par GET /api/sessions
  • Comparer à la capacité sous licence/attendue
  • Identifier les pics d'utilisation
  • Surveiller la distribution à travers les APNs ; utiliser GET /api/ip_pools pour l'utilisation par pool

API vs. Métriques​

Utilisez l'API OAM pour :

  • Dépannage approfondi des abonnés (POST /api/ue_search)
  • Détails et inspection de l'état de session individuelle (GET /api/sessions/<imsi>)
  • État des pairs en temps réel (GET /api/upf, GET /api/diameter)
  • Vérifications de santé rapides à travers toutes les interfaces (GET /api/status)
  • Dépannage d'utilisateurs spécifiques par IMSI/MSISDN/IP
  • Analyse de QoS des porteurs (MBR, GBR, QCI)
  • Inspection des règles de politique et de facturation (GET /api/charging)
  • Historique des sessions et pistes d'audit (GET /api/session_history)
  • Surveillance de la capacité du pool IP (GET /api/ip_pools)
  • Vérification de la configuration et des règles (GET /api/upf_selection)

Utilisez les Métriques Prometheus pour :

  • Tendances historiques
  • Alertes et notifications
  • Graphiques de planification de capacité
  • Analyse de performance
  • Surveillance à long terme

Meilleure Pratique : Utilisez les deux ensemble - l'API OAM pour les opérations immédiates, Prometheus pour les tendances et les alertes.


Surveillance & Métriques​

En plus de l'API OAM, OmniPGW expose des métriques compatibles avec Prometheus pour la surveillance :

Métriques Disponibles​

  • Métriques de Session

    • teid_registry_count - Sessions S5/S8 actives
    • seid_registry_count - Sessions PFCP actives
    • session_id_registry_count - Sessions Gx actives
    • address_registry_count - Adresses IP UE attribuées
    • charging_id_registry_count - IDs de facturation actifs
  • Métriques de Message

    • s5s8_inbound_messages_total - Messages GTP-C reçus
    • sxb_inbound_messages_total - Messages PFCP reçus
    • gx_inbound_messages_total - Messages Diameter reçus
    • Durées de traitement des messages
  • Métriques d'Erreur

    • s5s8_inbound_errors_total - Erreurs de protocole S5/S8
    • sxb_inbound_errors_total - Erreurs de protocole PFCP
    • gx_inbound_errors_total - Erreurs Diameter
  • Métriques de Cycle de Vie de Session

    • pgw_session_create_total{result,cause,pdn_type,rat_type} - Tentatives de création de session PDN, décomposées par résultat (success/failure), la cause GTP retournée, type de PDN (ipv4/ipv6/ipv4v6) et type RAT
    • pgw_session_delete_total{pdn_type} - Suppressions de session PDN par type de PDN
    • pgw_session_modify_total - Requêtes de modification de Bearer traitées
  • Métriques de Pool IP UE

    • ue_pool_addresses_allocated{pool,ip_version} - Adresses UE allouées par pool (modèle APN) et version IP
    • ue_pool_addresses_total{pool,ip_version} - Capacité totale du pool
    • ue_pool_addresses_utilization_ratio{pool,ip_version} - Fraction allouée (0.0-1.0); utile pour l'alerte d'épuisement de pool. Notez que les pools partageant une plage d'adresses comptent chacun les allocations partagées
    • ue_ip_allocation_failures_total{ip_version,reason} - Échecs d'allocation (pool_exhausted, already_registered)
  • Métriques UPF / PFCP par Pair

    • upf_peer_associated{peer_ip} - État d'association PFCP 1/0 par pair
    • upf_peer_healthy{peer_ip} - Santé 1/0 par pair
    • upf_peer_missed_heartbeats{peer_ip} - Battements de cœur consécutifs manqués par pair
    • upf_heartbeat_rtt - Distribution du temps de réponse aller-retour des battements de cœur PFCP, par peer_ip
  • Métriques de Bearer & QoS

    • pgw_bearer_create_total{type,qci} - Bearers créés par type (default/dedicated) et QCI
    • pgw_bearer_delete_total{type} - Bearers supprimés par type
  • Métriques de Pair Diameter

    • diameter_peers_connected{application} - Pairs Diameter connectés par application (gx/gy/all)

Accéder aux Métriques​

Les métriques sont exposées via HTTP à l'endpoint configuré :

curl http://127.0.0.42:42069/metrics

Voir le Guide de Surveillance & Métriques pour la configuration du tableau de bord et l'alerte.


Documentation Détailée​

Cette section fournit un aperçu complet de toute la documentation OmniPGW. Les documents sont organisés par sujet et cas d'utilisation.

Structure de la Documentation​

Documentation OmniPGW
├── OPERATIONS.md (Ce Guide)
│
└── docs/
├── Configuration & Mise en Place
│ ├── configuration.md Référence complète de runtime.exs
│ ├── ue-ip-allocation.md Configuration du pool IP
│ └── pco-configuration.md Paramètres DNS, P-CSCF, MTU
│
├── Interfaces Réseau
│ ├── pfcp-interface.md Sxb/PFCP (communication PGW-U)
│ ├── diameter-gx.md Gx (communication PCRF)
│ ├── diameter-gy.md Gy/Ro (communication OCS)
│ └── s5s8-interface.md S5/S8 (communication SGW-C)
│
└── Opérations
├── session-management.md Cycle de vie de session PDN
├── charging-override.md Surcharge de facturation en ligne
└── monitoring.md Métriques Prometheus & alerte

Documentation par Sujet​

🚀 Introduction​

DocumentDescriptionObjectif
OPERATIONS.mdGuide principal des opérations (ce document)Vue d'ensemble et démarrage rapide

⚙️ Configuration​

DocumentDescriptionLignes
configuration.mdRéférence complète de configuration runtime.exs1,600+
ue-ip-allocation.mdGestion et allocation du pool IP UE943
ipv6-dual-stack.mdOpération PDN IPv6 / IPv4v6 à travers PGW-C et UPF-
pco-configuration.mdOptions de configuration de protocole (DNS, P-CSCF, MTU)344

🔌 Interfaces Réseau​

DocumentDescriptionLignes
pfcp-interface.mdInterface PFCP/Sxb vers PGW-U1,355
diameter-gx.mdInterface Diameter Gx vers PCRF (Contrôle de Politique)941
diameter-gy.mdInterface Diameter Gy/Ro vers OCS (Facturation en Ligne)1,100+
charging-override.mdSurcharge de bris de verre pour désactiver la facturation en ligne pendant un incident OCS-
s5s8-interface.mdInterface GTP-C S5/S8 vers SGW-C456

📊 Opérations & Surveillance​

DocumentDescriptionLignes
session-management.mdCycle de vie et opérations de session PDN435
monitoring.mdMétriques Prometheus, tableaux de bord Grafana, alertes807
data-cdr-format.mdFormat de fichier CDR, configuration URR, facturation hors ligne847
qos-bearers.mdGestion QoS & bearer, contrôle de politique448
troubleshooting.mdProcédures de dépannage et problèmes courants687

🔧 Fonctionnalités Avancées​

DocumentDescriptionLignes
pcscf-monitoring.mdDécouverte P-CSCF et surveillance de santé894

Caractéristiques de la Documentation​

📈 Diagrammes Mermaid​

Tous les documents incluent des graphes Mermaid pour une compréhension visuelle :

  • Diagrammes d'architecture
  • Diagrammes de séquence (flux de messages)
  • Machines d'état
  • Topologie réseau

💡 Exemples Pratiques​

Chaque document inclut :

  • Exemples de configuration du monde réel
  • Configurations prêtes à copier-coller
  • Cas d'utilisation courants

🔍 Dépannage​

Chaque document d'interface inclut :

  • Problèmes courants et solutions
  • Commandes de débogage
  • Métriques pour le diagnostic

🔗 Renvois Croisés​

Les documents sont largement interliés pour une navigation facile.

Chemins de Lecture​

Pour les Opérateurs Réseau​

  1. OPERATIONS.md - Vue d'ensemble (ce document)
  2. configuration.md - Mise en place
  3. monitoring.md - Surveillance
  4. session-management.md - Opérations quotidiennes

Pour les Ingénieurs Réseau​

  1. OPERATIONS.md - Vue d'ensemble de l'architecture (ce document)
  2. pfcp-interface.md - Contrôle du plan utilisateur
  3. diameter-gx.md - Contrôle de politique
  4. diameter-gy.md - Facturation en ligne
  5. s5s8-interface.md - Gestion de session
  6. ue-ip-allocation.md - Gestion IP

Pour la Configuration & Déploiement​

  1. configuration.md - Référence complète
  2. ue-ip-allocation.md - Pools IP
  3. pco-configuration.md - Paramètres réseau
  4. monitoring.md - Configurer la surveillance

Statistiques du Document​

  • Documents Totaux : 14
  • Lignes Totales : ~10,900+
  • Taille Totale : ~265 Ko
  • Diagrammes Mermaid : 75+
  • Exemples de Code : 150+

Concepts Clés Couverts​

Architecture​

  • ✅ Séparation du plan de contrôle/utilisateur
  • ✅ Architecture OTP/Elixir
  • ✅ Supervision des processus
  • ✅ Sessions basées sur GenServer

Protocoles​

  • ✅ PFCP (Protocole de Contrôle de Transfert de Paquet)
  • ✅ GTP-C v2 (Protocole de Tunnel GPRS)
  • ✅ Diameter (RFC 6733)

Interfaces 3GPP​

  • ✅ Sxb (PGW-C ↔ PGW-U)
  • ✅ Gx (PGW-C ↔ PCRF)
  • ✅ Gy/Ro (PGW-C ↔ OCS)
  • ✅ S5/S8 (SGW-C ↔ PGW-C)

Opérations​

  • ✅ Gestion de session
  • ✅ Stratégies d'allocation IP
  • ✅ Application de QoS
  • ✅ Intégration de facturation
  • ✅ Surveillance & alerte

Ressources Supplémentaires​

Spécifications 3GPP​

SpécTitre
TS 29.274GTP-C v2 (interface S5/S8)
TS 29.244PFCP (interface Sxb)
TS 29.212Interface Diameter Gx (Contrôle de Politique)
TS 32.299Applications de Facturation Diameter (Gy/Ro)
TS 32.251Facturation de domaine à commutation de paquets
TS 23.401Architecture EPC

Documentation Connexe​

  • Référence de configuration : configuration.md - Référence complète de config/runtime.exs