Aller au contenu principal

Opérations OmniUDR

1. Vue d'ensemble des composants

OmniUDR est le Référentiel de Données Unifié (UDR) autonome pour le cœur 5G d'Omnitouch. Il implémente le service Nudr_DataRepository (TS 29.504), exposant les données d'abonné et les données de politique aux consommateurs UDM, AUSF et PCF via SBI. OmniUDR proxy toutes les demandes de données vers OmniHSS via l'API REST HSS, agissant comme une façade conforme à 3GPP sur le magasin d'abonnés hérité.

OmniUDR était auparavant une couche de proxy intégrée au sein d'OmniUDM et est maintenant déployé en tant que NF indépendant avec son propre point de terminaison SBI et son enregistrement NRF.

2. Rôle 3GPP et Références de Spécifications

AspectRéférence
Définition fonctionnelle de l'UDRTS 23.501 Section 6.2.9
Service Nudr_DataRepositoryTS 29.504
Modèle de données d'abonnementTS 29.505
Modèle de données de politiqueTS 29.519
Données d'abonnement à l'authentificationTS 29.504 Section 5.2.2
Données provisionnées (AM, SM)TS 29.504 Section 5.2.3
Données de contexte (enregistrements AMF/SMF)TS 29.504 Section 5.2.4
Données de politique (politique AM/SM)TS 29.504 Section 5.2.5

3. Points de terminaison SBI

Tous les points de terminaison sont HTTP/1.1 avec Content-Type: application/json.

Données d'abonnement (TS 29.504)

MéthodeCheminDescriptionSuccès
GET/nudr-dr/v2/subscription-data/{ueId}/authentication-data/authentication-subscriptionRécupérer l'abonnement d'authentification (Ki, OPc, SQN)200 OK
PATCH/nudr-dr/v2/subscription-data/{ueId}/authentication-data/authentication-subscriptionMettre à jour l'abonnement d'authentification (mise à jour SQN)204 No Content
GET/nudr-dr/v2/subscription-data/{ueId}/{servingPlmnId}/provisioned-data/am-dataRécupérer les données AM provisionnées200 OK
GET/nudr-dr/v2/subscription-data/{ueId}/{servingPlmnId}/provisioned-data/sm-dataRécupérer les données SM provisionnées200 OK
GET/nudr-dr/v2/subscription-data/{ueId}/{servingPlmnId}/provisioned-data/smf-select-dataRécupérer les données de sélection SMF200 OK

Données de contexte (TS 29.504)

MéthodeCheminDescriptionSuccès
PUT/nudr-dr/v2/subscription-data/{ueId}/context-data/amf-3gpp-accessStocker le contexte d'enregistrement AMF204 No Content
PUT/nudr-dr/v2/subscription-data/{ueId}/context-data/smf-registrations/{pduSessionId}Stocker le contexte d'enregistrement SMF204 No Content

Données de politique (TS 29.519)

MéthodeCheminDescriptionSuccès
GET/nudr-dr/v2/policy-data/ues/{ueId}/am-dataRécupérer les données de politique AM200 OK
GET/nudr-dr/v2/policy-data/ues/{ueId}/sm-dataRécupérer les données de politique SM200 OK

4. Référence de Configuration

OmniUDR est configuré via l'environnement d'application Elixir sous la clé :omniudr.

Exemple de Configuration

config :omniudr,
sbi_scheme: "http",
sbi_addr: "127.0.0.22",
sbi_port: 7777,
nrf_uri: "http://127.0.0.10:7777",
mcc: "999",
mnc: "70",
heartbeat_interval: 10_000,
hss_api_base_url: "https://127.0.0.1:8443"

Tableau des Paramètres

ParamètreTypePar défautDescription
sbi_schemechaîne"http"Schéma URI pour le serveur HTTP SBI
sbi_addrchaîne"127.0.0.22"Adresse IP à laquelle le serveur HTTP SBI se lie
sbi_portentier7777Port TCP sur lequel le serveur HTTP SBI écoute
nrf_urichaîne"http://127.0.0.10:7777"URI de base du NRF pour l'enregistrement NF et le heartbeat
mccchaîne"999"Code de Pays Mobile pour le PLMN de service
mncchaîne"70"Code de Réseau Mobile pour le PLMN de service
heartbeat_intervalentier (ms)10000Intervalle auquel OmniUDR envoie des requêtes PATCH de heartbeat NRF
hss_api_base_urlchaîne"https://127.0.0.1:8443"URL de base de l'API REST OmniHSS. Toutes les demandes de données sont proxy vers ce backend

5. Procédures Clés

5.1 Récupération de l'Abonnement d'Authentification

5.2 Mise à Jour de SQN

5.3 Récupération des Données Provisionnées

5.4 Récupération des Données de Politique

6. Métriques Prometheus

Métriques UDR

MétriqueTypeTagsDescription
omni_udr.nrf.registration.statusgaugenf_typeStatut d'enregistrement NRF (1=registré, 0=non)
omni_udr.hss.healthgauge--Santé de la connectivité HSS (1=up, 0=down)
omni_udr.hss_requests.totalcounterendpoint, resultTotal des demandes au backend HSS
omni_udr.hss_request.duration_msdistributionendpointDurée de la demande HSS en millisecondes (buckets: 5, 10, 25, 50, 100, 250, 500, 1000, 2500)

Métriques BEAM VM

MétriqueTypeDescription
beam.memory.totalgaugeMémoire totale BEAM en octets
beam.memory.processesgaugeMémoire utilisée par les processus Erlang
beam.memory.systemgaugeMémoire système (ETS, atomes, code)
beam.processes.countgaugeNombre de processus Erlang
beam.vm.uptimegaugeTemps de fonctionnement de la VM en secondes

7. Limitations Connues

IDDomaineDescription
UDR-1Modèle de donnéesLe modèle de données UDR proxy depuis OmniHSS est partiellement implémenté. L'abonnement d'authentification, les données AM et les données SM sont fonctionnels. Certains champs de données provisionnées peuvent être absents des réponses HSS
UDR-2Données de politiqueLes points de terminaison de données de politique (/policy-data/ues/{ueId}/am-data et .../sm-data) renvoient des structures minimales dérivées des données AM/SM HSS. Le modèle de données de politique complet TS 29.519 n'est pas pris en charge
UDR-3AbonnementsL'abonnement aux changements de données et la notification (Nudr_DataRepository_Subscribe) ne sont pas implémentés. Les consommateurs ne peuvent pas s'abonner aux événements de changement de données
UDR-4Enregistrement SMFput_smf_registration stocke le contexte localement mais ne le transmet pas à OmniHSS
UDR-5Proxy en mémoireOmniUDR est un proxy sans état ; toutes les données au repos appartiennent à OmniHSS. Pas de mise en cache ou de persistance locale

8. Dépannage

GET renvoie 404 pour un abonné connu

OmniUDR proxy la demande vers OmniHSS. Confirmez :

  1. hss_api_base_url est accessible depuis l'hôte OmniUDR.
  2. L'IMSI de l'abonné existe dans OmniHSS.
  3. L'ueId dans le chemin de la demande utilise le format imsi-{chiffres}.

PATCH pour la mise à jour de SQN renvoie 500

Le HSS n'a pas réussi à accepter la mise à jour de SQN. Vérifiez les journaux d'OmniHSS. Le UDR journalise Failed to update SQN for {ueId}: {reason} mais renvoie :ok pour éviter de bloquer les flux d'authentification.

Les requêtes de données de politique renvoient des données minimales

Les points de terminaison /policy-data/ dérivent les structures de politique des données AM/SM HSS plutôt que d'un magasin de politique dédié. Cela est intentionnel dans l'architecture actuelle. Des données de politique complètes par abonné nécessitent un magasin de données de politique dédié (pas encore implémenté).

Vérification de la santé HSS

Surveillez la jauge omni_udr.hss.health (1=up, 0=down) et omni_udr.hss_request.duration_ms pour les tendances de latence. Une latence élevée peut indiquer une surcharge HSS ou des problèmes de réseau.