Aller au contenu principal

Guide des opérations Diameter

Table des matières

  1. Aperçu
  2. Diameter dans l'architecture IMS
  3. Interfaces Diameter
  4. Gestion des pairs via OmniWeb
  5. Codes de résultat Diameter
  6. Problèmes courants

Aperçu

Diameter est le protocole d'authentification, d'autorisation et de comptabilité (AAA) utilisé dans toute l'architecture IMS. OmniCSCF utilise Diameter pour communiquer avec des éléments réseau critiques, y compris HSS, PCRF et OCS.

Qu'est-ce que Diameter ?

Diameter (RFC 6733) est le successeur de RADIUS, conçu pour des scénarios AAA modernes :

  • Transport fiable via TCP/SCTP (contre UDP dans RADIUS)
  • Extensible via des modules spécifiques à l'application
  • Architecture pair à pair (pas seulement client-serveur)
  • Connexions avec état avec surveillance par watchdog
  • Gestion des erreurs et des codes de résultat standardisés

Diameter dans CSCF

Chaque composant CSCF utilise des interfaces d'application Diameter spécifiques :

CSCFInterfaceID d'applicationConnecté àBut
I-CSCFCx16777216HSSSélection S-CSCF, localisation de l'utilisateur
S-CSCFCx16777216HSSAuthentification de l'utilisateur, téléchargement de profil
S-CSCFSh16777217HSSAccès aux données utilisateur (optionnel)
P-CSCFRx16777236PCRFPolitique QoS et contrôle de porteur
S-CSCFRo4OCSChargement en ligne (contrôle de crédit)
S-CSCFRf3CDFChargement hors ligne (comptabilité)

Diameter dans l'architecture IMS

Aperçu du réseau

Interfaces Diameter

Interface Cx (CSCF ↔ HSS)

L'interface Cx est utilisée par I-CSCF et S-CSCF pour l'authentification des utilisateurs et la gestion des profils.

Spécification 3GPP : TS 29.228

Opérations I-CSCF

Demande d'autorisation utilisateur (UAR) / Réponse d'autorisation utilisateur (UAA) :

  • But : Interroger HSS pour l'attribution ou les capacités S-CSCF
  • Déclencheur : Enregistrement reçu de l'utilisateur
  • Cas d'utilisation : I-CSCF doit acheminer l'enregistrement vers le S-CSCF approprié

Demande d'informations de localisation (LIR) / Réponse d'informations de localisation (LIA) :

  • But : Interroger HSS pour le S-CSCF actuel de l'utilisateur
  • Déclencheur : INVITE ou MESSAGE reçu pour l'utilisateur terminant
  • Cas d'utilisation : I-CSCF doit acheminer la session vers le S-CSCF de l'utilisateur

Opérations S-CSCF

Demande d'authentification multimédia (MAR) / Réponse d'authentification multimédia (MAA) :

  • But : Récupérer les vecteurs d'authentification depuis HSS
  • Déclencheur : Enregistrement initial (avant défi)
  • Cas d'utilisation : S-CSCF doit défier l'utilisateur pour l'authentification IMS AKA

Demande d'attribution de serveur (SAR) / Réponse d'attribution de serveur (SAA) :

  • But : Informer HSS de l'état d'enregistrement, télécharger le profil utilisateur
  • Déclencheur : Authentification réussie (après MAR/MAA)
  • Cas d'utilisation : S-CSCF télécharge l'IFC et le profil de service pour l'utilisateur

L'AVP User-Data dans SAA contient le profil utilisateur complet, y compris :

  • Identités publiques
  • Critères de filtre initiaux (IFC) pour le déclenchement de service
  • Identifiants de profils multimédias souscrits
  • Informations de facturation

Demande de terminaison d'enregistrement (RTR) / Réponse de terminaison d'enregistrement (RTA) :

  • But : Désenregistrement initié par HSS (poussé par HSS)
  • Déclencheur : Désenregistrement administratif, changement d'abonnement
  • Cas d'utilisation : HSS demande à S-CSCF de désenregistrer un utilisateur

Interface Rx (P-CSCF ↔ PCRF)

L'interface Rx fournit le contrôle de politique et de QoS pour les sessions IMS.

Spécification 3GPP : TS 29.214

Remarque sur VoNR (5G NR) : Pour les sessions VoNR, les médias et la QoS sont autorisés via l'interface N5 AF (Npcf_PolicyAuthorization, HTTP/2 SBI) vers le PCF plutôt que Diameter Rx. L'interface Rx décrite ici s'applique donc à l'accès 4G/LTE.

Demande AA (AAR) / Réponse AA (AAA) :

  • But : Demander l'autorisation QoS pour la session multimédia
  • Déclencheur : Échange d'offre/réponse SDP dans SIP INVITE
  • Cas d'utilisation : P-CSCF demande au PCRF d'autoriser les ressources de porteur

Demande de ré-authentification (RAR) / Réponse de ré-authentification (RAA) :

  • But : Mise à jour de politique initiée par PCRF (poussé par PCRF)
  • Déclencheur : Changement de politique, modification de porteur
  • Cas d'utilisation : PCRF demande à P-CSCF de mettre à jour la politique QoS

Demande de terminaison de session (STR) / Réponse de terminaison de session (STA) :

  • But : Libérer la session Rx et les ressources de porteur
  • Déclencheur : Terminaison d'appel (BYE reçu)
  • Cas d'utilisation : P-CSCF informe PCRF de libérer les ressources QoS

Interface Ro (S-CSCF ↔ OCS)

L'interface Ro fournit le chargement en ligne (contrôle de crédit).

Spécification 3GPP : TS 32.299

Demande de contrôle de crédit (CCR) / Réponse de contrôle de crédit (CCA) :

  • But : Autorisation de crédit en temps réel et débit
  • Déclencheur : Établissement d'appel, en cours d'appel, terminaison d'appel
  • Cas d'utilisation : Chargement prépayé, vérifications de crédit en temps réel

Types :

  • CCR-Initial : Demander du crédit au début de l'appel
  • CCR-Update : Rafraîchir le quota pendant l'appel
  • CCR-Terminate : Rapporter l'utilisation finale à la fin de l'appel

Gestion des pairs via OmniWeb

Le statut des pairs Diameter, les applications prises en charge et les profondeurs de file d'attente sont désormais visibles dans l'onglet Diameter de chaque page CSCF dans OmniWeb, le portail de gestion unifié : <https://docs.omnitouch.com.au/docs/repos/Platform/OmniWeb/>.

Depuis l'onglet Diameter d'OmniWeb, vous pouvez voir, par CSCF :

  • Domaine et identité d'origine Diameter
  • Pairs configurés et leur état de connexion (I_Open, Closed, etc.)
  • Applications Diameter prises en charge par pair, mappées aux noms d'interface 3GPP (Cx/Dx, Sh/Dh, Rx, Ro, Gx, S6a/S6d, et autres)
  • Longueur de la file d'attente des travailleurs et transactions en attente
  • Activer/désactiver les opérations pour des pairs individuels

États des pairs

ÉtatDescription
I_OpenConnexion ouverte et opérationnelle
ClosedAucune connexion établie
Wait-Conn-AckConnexion initiée, en attente de réponse
Wait-I-CEACER envoyé, en attente de CEA

Codes de résultat Diameter

Codes de résultat courants et leurs significations :

CodeNomSignificationAction
2xxxSuccès
2001DIAMETER_SUCCESSOpération réussieAucun
3xxxErreurs de protocole
3002DIAMETER_UNABLE_TO_DELIVERImpossible de router vers la destinationVérifier la connectivité des pairs
3003DIAMETER_REALM_NOT_SERVEDDomaine non reconnuVérifier la configuration du domaine
3007DIAMETER_APPLICATION_UNSUPPORTEDApplication non prise en chargeVérifier l'ID d'application
4xxxÉchecs transitoires
4001DIAMETER_AUTHENTICATION_REJECTEDAuth échouéVérifier les identifiants
4010DIAMETER_USER_UNKNOWNUtilisateur non provisionnéVérifier le provisionnement HSS
5xxxÉchecs permanents
5001DIAMETER_AVP_UNSUPPORTEDAVP non reconnuVérifier la version du protocole
5002DIAMETER_UNKNOWN_SESSION_IDSession non trouvéeSession expirée ou invalide
5003DIAMETER_AUTHORIZATION_REJECTEDNon autoriséVérifier les permissions de l'utilisateur
5012DIAMETER_UNABLE_TO_COMPLYImpossible de traiter la demandeVérifier les journaux HSS/PCRF/OCS

Problèmes courants

Interfaces Diameter critiques

Lorsque un pair Diameter tombe en panne, l'impact et l'urgence de la récupération dépendent de l'interface affectée :

InterfaceImpact si en pannePriorité de récupération
Cx (HSS)Pas de nouvelles inscriptions, pas de mises à jour IFCCritique - immédiat
Rx (PCRF)Pas de QoS pour les nouveaux appelsÉlevée - dans les minutes
Ro (OCS)Pas de chargement prépayé, le service peut continuerÉlevée - dépend de la politique

Échecs de connexion des pairs

Symptôme : Pair bloqué dans l'état "Closed" ou "Wait-Conn-Ack"

Diagnostic :

  1. Vérifier la connectivité réseau :
    ping <peer-fqdn>
    telnet <peer-fqdn> 3868
  2. Vérifier les règles de pare-feu (le port 3868 TCP doit être ouvert)
  3. Vérifier la configuration du pair (adresse IP, port)
  4. Vérifier les journaux du pair pour les tentatives de connexion

Résolution :

  • Corriger les problèmes réseau/pare-feu
  • Vérifier que le pair fonctionne et écoute sur le port 3868
  • Vérifier si le pair a la bonne configuration pour CSCF
  • Utiliser Enable Peer dans l'onglet Diameter d'OmniWeb pour réessayer la connexion

Échecs d'échange CER/CEA

Symptôme : Pair bloqué dans l'état "Wait-I-CEA", ou CEA avec code d'erreur

Erreurs courantes :

  • 5010 (NO_COMMON_APPLICATION) : Vérifier que les deux pairs prennent en charge la même application (par exemple, Cx = 16777216)
  • 3003 (REALM_NOT_SERVED) : Vérifier que l'Origin-Realm correspond au domaine attendu par le pair

Résolution :

  • Vérifier la configuration Diameter pour l'ID d'application et le domaine
  • S'assurer que la configuration du pair correspond aux attentes de CSCF
  • Examiner les journaux de backend CSCF pour des messages d'erreur détaillés

Problèmes d'interface Cx HSS

Symptôme : Échecs d'enregistrement, délais d'attente MAR/MAA

Erreurs courantes :

Code de résultatSignificationRésolution
4010USER_UNKNOWNUtilisateur non provisionné dans HSS
4001AUTHENTICATION_REJECTEDIMPI/identifiants incorrects
5012UNABLE_TO_COMPLYErreur interne HSS, vérifier les journaux HSS

Résolution :

  • USER_UNKNOWN : Provisionner l'utilisateur dans HSS
  • AUTHENTICATION_REJECTED : Vérifier l'IMPI et le secret partagé dans HSS
  • UNABLE_TO_COMPLY : Vérifier les journaux HSS et la connectivité de la base de données

Problèmes d'interface Rx PCRF

Symptôme : Les appels réussissent mais aucune QoS appliquée, délais d'attente AAR/AAA

Problèmes courants :

  • PCRF en panne : Vérifier l'état du pair dans l'onglet Diameter d'OmniWeb
  • Framed-IP-Address non reconnu : PCRF ne peut pas mapper l'IP UE à l'abonné
  • Politique non appliquée : Vérifier les règles de politique PCRF, vérifier l'intégration PCEF

Résolution :

  • Vérifier que le pair PCRF est dans l'état "I_Open"
  • Vérifier le provisionnement de l'adresse IP UE dans PCRF
  • Vérifier que l'interface Gx (PCRF à PCEF) fonctionne

Problèmes d'interface Ro OCS

Symptôme : Les appels prépayés échouent, délais d'attente CCR/CCA, appels bloqués

Erreurs courantes :

Code de résultatSignificationRésolution
4012CREDIT_LIMIT_REACHEDCrédit insuffisant
5003AUTHORIZATION_REJECTEDUtilisateur non autorisé pour le prépayé

Résolution :

  • CREDIT_LIMIT_REACHED : Normal pour les utilisateurs prépayés sans crédit
  • Délai d'attente OCS : Vérifier la disponibilité OCS et l'état du pair
  • AUTHORIZATION_REJECTED : Vérifier que l'utilisateur est provisionné pour le prépayé dans OCS

Dégradation des performances

Symptôme : Temps de réponse Diameter lents, forte latence

Diagnostic :

  1. Vérifier l'horodatage "Dernière utilisation" dans la liste des pairs (doit être récent)
  2. Surveiller la "Longueur de la file d'attente" (valeurs élevées indiquent un arriéré)
  3. Examiner les journaux de backend CSCF pour des avertissements de délai d'attente

Résolution :

  • Haute latence : Enquêter sur le réseau entre CSCF et le pair
  • Longueur de file d'attente élevée : Vérifier la charge système du pair (HSS/PCRF/OCS)
  • Délai d'attente : Augmenter le délai d'attente des transactions si le réseau a une forte latence

Meilleures pratiques

Lignes directrices opérationnelles

Gestion des pairs :

  • Surveiller l'état des pairs via l'onglet Diameter d'OmniWeb
  • Mettre en place une surveillance externe pour les événements de panne de pairs
  • Tester la connectivité des pairs pendant les fenêtres de maintenance

Planification de la capacité :

  • Estimer le taux de transaction Diameter basé sur les inscriptions et le volume d'appels
  • S'assurer que HSS/PCRF/OCS peut gérer les taux de transaction de pointe
  • Envisager des agents de routage Diameter (DRA) pour les grandes déploiements

Dépannage :

  • Vérifier l'état des pairs en premier lors de l'investigation des échecs d'enregistrement ou d'appel
  • Corréler les échecs Diameter avec les échecs SIP (même Call-ID ou utilisateur)
  • Examiner les journaux de backend CSCF pour des traces de transaction Diameter détaillées

Sécurité :

  • Utiliser TLS pour les connexions Diameter en production (si pris en charge)
  • Restreindre l'accès des pairs Diameter via le pare-feu (uniquement les pairs connus)
  • Examiner régulièrement les journaux d'audit d'activation/désactivation des pairs

Limitations et améliorations futures

Mise en œuvre actuelle

L'onglet Diameter d'OmniWeb fournit :

  • ✅ Visualisation en temps réel de l'état des pairs
  • ✅ Activer/désactiver les opérations des pairs
  • ✅ Mappage de l'ID d'application au nom de l'interface

Pas encore implémenté

Les fonctionnalités suivantes ne sont pas actuellement disponibles mais pourraient être ajoutées dans de futures versions :

  • Inspecteur de messages Diameter : Voir les transactions Diameter récentes et les détails AVP
  • Statistiques des pairs : Comptes de messages, taux de réussite, latence moyenne par pair
  • Surveillance par watchdog : État DWR/DWA en temps réel

Solutions de contournement

Pour l'inspection des messages : Vérifier les journaux de backend CSCF ou activer la journalisation de débogage Diameter

Pour des statistiques détaillées : Interroger les métriques depuis le point de terminaison Prometheus (voir Référence des métriques pour les définitions complètes des métriques CDP/Diameter et la configuration de la surveillance)

Pour une reconnexion manuelle : Utiliser l'onglet Diameter d'OmniWeb pour désactiver puis réactiver le pair

Documentation connexe

Spécifications 3GPP

  • TS 29.228 : Interfaces Cx et Dx (CSCF-HSS)
  • TS 29.214 : Interface Rx (P-CSCF-PCRF)
  • TS 32.299 : Applications de facturation Diameter (Ro, Rf)
  • RFC 6733 : Protocole de base Diameter

Détails techniques

Mise en œuvre

Configuration des pairs (Déploiement)

Chaque nœud CSCF dispose d'un fichier de configuration de pair Diameter - pcscf.xml, icscf.xml, scscf.xml - rendu par Ansible au moment du déploiement. Il définit l'identité Diameter du n��ud et le(s) pair(s) HSS/PCRF/DRA auquel il se connecte. La structure est identique pour les trois ; seule l'application annoncée diffère.

Champ XMLCe qu'il configureSource Ansible
DiameterPeer FQDNFQDN d'origine Diameter de ce nœud<inventory_hostname>.epc.mnc<mnc>.mcc<mcc>.3gppnetwork.org
DiameterPeer RealmDomaine Diameter localims_realm si défini, sinon epc.mnc<mnc>.mcc<mcc>.3gppnetwork.org
Vendor_Id / Product_NameIdentité CER10415 (3GPP) / OmniCSCF
Peer (mode direct)Pair direct à chaque hôte de groupe hss via SCTP:3868rendu par hôte dans groups['hss'] lorsque ims_dra_support est faux
Peer (mode DRA)Pair à chaque hôte de groupe dra ; IP explicite lorsque diameter_dra_ip est définirendu par hôte dans groups['dra'] lorsque ims_dra_support est vrai
AcceptorFQDN/port local pour Diameter entrant (3868)FQDN du nœud
DefaultRouteRoute par défaut de routage de domaine vers le pair HSS/PCRF (métrique 1) ou DRA (métrique 2)rendu depuis groups['hss'] / groups['dra']

Applications annoncées par nœud :

Nœud (fichier)Application(s)
P-CSCF (pcscf.xml)Rx 16777236 (vendeurs 10415, 0)
I-CSCF (icscf.xml)Cx 16777216 (vendeurs 10415, 13019, 0) + comptabilité de base 4
S-CSCF (scscf.xml)Cx 16777216 (vendeurs 10415, 13019, 0) + comptabilité de base 4

Variables Ansible clés : plmn_id.mcc / plmn_id.mnc_longform (construire tous les FQDN/domaines), ims_realm (remplacer le domaine Diameter), ims_dra_support (basculer entre le pair direct et le pair DRA), diameter_dra_ip (IP statique pour le pair DRA), et les groupes d'inventaire hss / dra (listes de pairs et de routes par défaut). Le pair Ro de S-CSCF (OCS) est adressé séparément par RO_DESTINATION lorsque la facturation est activée, et non via le XML.

Ces fichiers sont modifiés via les outils de déploiement, pas via OmniWeb ; OmniWeb fournit uniquement une surveillance et un contrôle opérationnel (activation/désactivation).