Guide des opérations Diameter
Table des matières
- Aperçu
- Diameter dans l'architecture IMS
- Interfaces Diameter
- Gestion des pairs via OmniWeb
- Codes de résultat Diameter
- 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 :
| CSCF | Interface | ID d'application | Connecté à | But |
|---|---|---|---|---|
| I-CSCF | Cx | 16777216 | HSS | Sélection S-CSCF, localisation de l'utilisateur |
| S-CSCF | Cx | 16777216 | HSS | Authentification de l'utilisateur, téléchargement de profil |
| S-CSCF | Sh | 16777217 | HSS | Accès aux données utilisateur (optionnel) |
| P-CSCF | Rx | 16777236 | PCRF | Politique QoS et contrôle de porteur |
| S-CSCF | Ro | 4 | OCS | Chargement en ligne (contrôle de crédit) |
| S-CSCF | Rf | 3 | CDF | Chargement 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
| État | Description |
|---|---|
| I_Open | Connexion ouverte et opérationnelle |
| Closed | Aucune connexion établie |
| Wait-Conn-Ack | Connexion initiée, en attente de réponse |
| Wait-I-CEA | CER envoyé, en attente de CEA |
Codes de résultat Diameter
Codes de résultat courants et leurs significations :
| Code | Nom | Signification | Action |
|---|---|---|---|
| 2xxx | Succès | ||
| 2001 | DIAMETER_SUCCESS | Opération réussie | Aucun |
| 3xxx | Erreurs de protocole | ||
| 3002 | DIAMETER_UNABLE_TO_DELIVER | Impossible de router vers la destination | Vérifier la connectivité des pairs |
| 3003 | DIAMETER_REALM_NOT_SERVED | Domaine non reconnu | Vérifier la configuration du domaine |
| 3007 | DIAMETER_APPLICATION_UNSUPPORTED | Application non prise en charge | Vérifier l'ID d'application |
| 4xxx | Échecs transitoires | ||
| 4001 | DIAMETER_AUTHENTICATION_REJECTED | Auth échoué | Vérifier les identifiants |
| 4010 | DIAMETER_USER_UNKNOWN | Utilisateur non provisionné | Vérifier le provisionnement HSS |
| 5xxx | Échecs permanents | ||
| 5001 | DIAMETER_AVP_UNSUPPORTED | AVP non reconnu | Vérifier la version du protocole |
| 5002 | DIAMETER_UNKNOWN_SESSION_ID | Session non trouvée | Session expirée ou invalide |
| 5003 | DIAMETER_AUTHORIZATION_REJECTED | Non autorisé | Vérifier les permissions de l'utilisateur |
| 5012 | DIAMETER_UNABLE_TO_COMPLY | Impossible de traiter la demande | Vé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 :
| Interface | Impact si en panne | Priorité de récupération |
|---|---|---|
| Cx (HSS) | Pas de nouvelles inscriptions, pas de mises à jour IFC | Critique - 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 :
- Vérifier la connectivité réseau :
ping <peer-fqdn>
telnet <peer-fqdn> 3868 - Vérifier les règles de pare-feu (le port 3868 TCP doit être ouvert)
- Vérifier la configuration du pair (adresse IP, port)
- 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ésultat | Signification | Résolution |
|---|---|---|
| 4010 | USER_UNKNOWN | Utilisateur non provisionné dans HSS |
| 4001 | AUTHENTICATION_REJECTED | IMPI/identifiants incorrects |
| 5012 | UNABLE_TO_COMPLY | Erreur 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ésultat | Signification | Résolution |
|---|---|---|
| 4012 | CREDIT_LIMIT_REACHED | Crédit insuffisant |
| 5003 | AUTHORIZATION_REJECTED | Utilisateur 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 :
- Vérifier l'horodatage "Dernière utilisation" dans la liste des pairs (doit être récent)
- Surveiller la "Longueur de la file d'attente" (valeurs élevées indiquent un arriéré)
- 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
- Guide des opérations P-CSCF - Opérations de l'interface Rx P-CSCF
- Guide des opérations I-CSCF - Opérations de l'interface Cx I-CSCF
- Guide des opérations S-CSCF - Interfaces Cx, Ro S-CSCF
- Guide des opérations 5G SBI - Interfaces basées sur les services N5/NRF utilisées pour VoNR (le pendant 5G de Rx)
- Référence des métriques - Métriques CDP/Diameter et surveillance
- OmniWeb - Gestion des pairs Diameter via l'onglet Diameter d'OmniWeb
- Guide des opérations CSCF - Opérations générales CSCF
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
- Pile Diameter : Pile de protocole Diameter intégrée
- Interface de gestion : Protocole RPC vers le backend CSCF
- Portail de gestion : OmniWeb (<https://docs.omnitouch.com.au/docs/repos/Platform/OmniWeb/>)
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 XML | Ce qu'il configure | Source Ansible |
|---|---|---|
DiameterPeer FQDN | FQDN d'origine Diameter de ce nœud | <inventory_hostname>.epc.mnc<mnc>.mcc<mcc>.3gppnetwork.org |
DiameterPeer Realm | Domaine Diameter local | ims_realm si défini, sinon epc.mnc<mnc>.mcc<mcc>.3gppnetwork.org |
Vendor_Id / Product_Name | Identité CER | 10415 (3GPP) / OmniCSCF |
Peer (mode direct) | Pair direct à chaque hôte de groupe hss via SCTP:3868 | rendu 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éfini | rendu par hôte dans groups['dra'] lorsque ims_dra_support est vrai |
Acceptor | FQDN/port local pour Diameter entrant (3868) | FQDN du nœud |
DefaultRoute | Route 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).