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) pour l'architecture IMS. OmniCSCF utilise Diameter pour communiquer avec des éléments de réseau critiques. Ces éléments incluent le HSS, le PCRF et l'OCS.
Qu'est-ce que Diameter ?
Diameter (RFC 6733) est le successeur de RADIUS. Diameter prend en charge des scénarios AAA modernes :
- Transport fiable via TCP/SCTP. RADIUS utilise UDP.
- Extensible via des modules spécifiques à l'application
- Architecture pair à pair. Ce n'est pas seulement client-serveur.
- Connexions avec état avec surveillance de garde
- Gestion des erreurs et 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é à | Objectif |
|---|---|---|---|---|
| I-CSCF | Cx | 16777216 | HSS | Sélection S-CSCF, localisation utilisateur |
| S-CSCF | Cx | 16777216 | HSS | Authentification 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'I-CSCF et le S-CSCF utilisent l'interface Cx 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) :
- Objectif : Interroger le HSS pour l'attribution ou les capacités S-CSCF
- Déclencheur : L'I-CSCF reçoit un REGISTER de l'utilisateur
- Cas d'utilisation : L'I-CSCF doit acheminer l'enregistrement vers le S-CSCF correct
Demande d'informations de localisation (LIR) / Réponse d'informations de localisation (LIA) :
- Objectif : Interroger le HSS pour le S-CSCF actuel de l'utilisateur
- Déclencheur : L'I-CSCF reçoit un INVITE ou un MESSAGE pour l'utilisateur terminant
- Cas d'utilisation : L'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) :
- Objectif : Récupérer les vecteurs d'authentification du HSS
- Déclencheur : Le REGISTER initial, avant le défi
- Cas d'utilisation : Le 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) :
- Objectif : Informer le HSS de l'état d'enregistrement et télécharger le profil utilisateur
- Déclencheur : Authentification réussie, après MAR/MAA
- Cas d'utilisation : Le S-CSCF télécharge l'IFC et le profil de service pour l'utilisateur
L'AVP User-Data dans la SAA contient le profil utilisateur complet. Ce profil inclut :
- Identités publiques
- Critères de filtrage initiaux (IFC) pour le déclenchement de services
- Identifiants de profil multimédia abonnés
- Informations de facturation
Demande de résiliation d'enregistrement (RTR) / Réponse de résiliation d'enregistrement (RTA) :
- Objectif : Désinscription initiée par le HSS. Le HSS pousse la demande.
- Déclencheur : Désinscription administrative ou changement d'abonnement
- Cas d'utilisation : Le HSS demande au S-CSCF de désinscrire un utilisateur
Interface Rx (P-CSCF ↔ PCRF)
L'interface Rx fournit un 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, le PCF autorise les médias et la QoS via l'interface N5 AF (Npcf_PolicyAuthorization, HTTP/2 SBI). Il n'utilise pas Diameter Rx. L'interface Rx ici s'applique donc à l'accès 4G/LTE.
Demande AA (AAR) / Réponse AA (AAA) :
- Objectif : Demander l'autorisation QoS pour une session multimédia
- Déclencheur : L'échange d'offre/réponse SDP dans un SIP INVITE
- Cas d'utilisation : Le P-CSCF demande au PCRF d'autoriser les ressources de porteur
Demande de ré-authentification (RAR) / Réponse de ré-authentification (RAA) :
- Objectif : Mise à jour de politique initiée par le PCRF. Le PCRF pousse la demande.
- Déclencheur : Un changement de politique ou une modification de porteur
- Cas d'utilisation : Le PCRF demande au P-CSCF de mettre à jour la politique QoS
Demande de résiliation de session (STR) / Réponse de résiliation de session (STA) :
- Objectif : Libérer la session Rx et les ressources de porteur
- Déclencheur : Résiliation d'appel. Le P-CSCF reçoit un BYE.
- Cas d'utilisation : Le P-CSCF informe le PCRF de libérer les ressources QoS
Interface Ro (S-CSCF ↔ OCS)
L'interface Ro fournit un 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) :
- Objectif : Autorisation de crédit en temps réel et débit
- Déclencheur : Établissement d'appel, en cours d'appel ou résiliation d'appel
- Cas d'utilisation : Chargement prépay�� et 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 : Signaler l'utilisation finale à la fin de l'appel
Gestion des pairs via OmniWeb
Consultez l'état des pairs Diameter, les applications prises en charge et les profondeurs de file d'attente dans l'onglet Diameter de chaque page CSCF dans OmniWeb. OmniWeb est le portail de gestion unifié : <https://docs.omnitouch.com.au/docs/repos/Platform/OmniWeb/>.
L'onglet Diameter d'OmniWeb affiche les éléments suivants par CSCF :
- Identité de domaine et 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
- Opérations d'activation/désactivation pour des pairs individuels
États des pairs
| État | Description |
|---|---|
| I_Open | La connexion est ouverte et opérationnelle |
| Closed | Aucune connexion n'est établie |
| Wait-Conn-Ack | La connexion est initiée. Elle attend une réponse. |
| Wait-I-CEA | Le CER est envoyé. Il attend le CEA. |
Codes de résultat Diameter
Le tableau suivant répertorie les codes de résultat courants et leurs significations :
| Code | Nom | Signification | Action |
|---|---|---|---|
| 2xxx | Succès | ||
| 2001 | DIAMETER_SUCCESS | Opération réussie | Aucune |
| 3xxx | Erreurs de protocole | ||
| 3002 | DIAMETER_UNABLE_TO_DELIVER | Impossible de router vers la destination | Vérifiez la connectivité du pair |
| 3003 | DIAMETER_REALM_NOT_SERVED | Le domaine n'est pas reconnu | Vérifiez la configuration du domaine |
| 3007 | DIAMETER_APPLICATION_UNSUPPORTED | L'application n'est pas prise en charge | Vérifiez l'ID d'application |
| 4xxx | Échecs transitoires | ||
| 4001 | DIAMETER_AUTHENTICATION_REJECTED | Échec de l'authentification | Vérifiez les identifiants |
| 4010 | DIAMETER_USER_UNKNOWN | L'utilisateur n'est pas provisionné | Vérifiez le provisionnement HSS |
| 5xxx | Échecs permanents | ||
| 5001 | DIAMETER_AVP_UNSUPPORTED | L'AVP n'est pas reconnu | Vérifiez la version du protocole |
| 5002 | DIAMETER_UNKNOWN_SESSION_ID | La session n'est pas trouvée | La session a expiré ou est invalide |
| 5003 | DIAMETER_AUTHORIZATION_REJECTED | Non autorisé | Vérifiez les autorisations de l'utilisateur |
| 5012 | DIAMETER_UNABLE_TO_COMPLY | Impossible de traiter la demande | Vérifiez les journaux HSS/PCRF/OCS |
Problèmes courants
Interfaces Diameter critiques
Lorsqu'un pair Diameter tombe, 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. Récupérer immédiatement. |
| Rx (PCRF) | Pas de QoS pour les nouveaux appels | Élevée. Récupérer dans les minutes. |
| Ro (OCS) | Pas de chargement prépayé. Le service peut continuer. | Élevée. Cela dépend de la politique. |
Échecs de connexion des pairs
Symptôme : Le pair est bloqué dans l'état "Closed" ou "Wait-Conn-Ack"
Diagnostic :
- Vérifiez la connectivité réseau :
ping <peer-fqdn>
telnet <peer-fqdn> 3868 - Vérifiez les règles de pare-feu. Le port 3868 TCP doit être ouvert.
- Vérifiez la configuration du pair (adresse IP, port)
- Vérifiez les journaux du pair pour les tentatives de connexion
Résolution :
- Corrigez les problèmes de réseau et de pare-feu
- Vérifiez que le pair fonctionne et écoute sur le port 3868
- Vérifiez que le pair a la configuration correcte pour le CSCF
- Utilisez Enable Peer sur l'onglet Diameter d'OmniWeb pour réessayer la connexion
Échecs d'échange CER/CEA
Symptôme : Le pair est bloqué dans l'état "Wait-I-CEA", ou le CEA a un code d'erreur
Erreurs courantes :
- 5010 (NO_COMMON_APPLICATION) : Vérifiez que les deux pairs prennent en charge la même application (par exemple, Cx = 16777216)
- 3003 (REALM_NOT_SERVED) : Vérifiez que l'Origin-Realm correspond au domaine attendu du pair
Résolution :
- Vérifiez la configuration Diameter pour l'ID d'application et le domaine
- Assurez-vous que la configuration du pair correspond aux attentes du CSCF
- Consultez les journaux du backend CSCF pour des messages d'erreur détaillés
Problèmes d'interface Cx HSS
Symptôme : Échecs d'enregistrement et délais d'attente MAR/MAA
Erreurs courantes :
| Code de résultat | Signification | Résolution |
|---|---|---|
| 4010 | USER_UNKNOWN | L'utilisateur n'est pas provisionné dans le HSS |
| 4001 | AUTHENTICATION_REJECTED | L'IMPI ou les identifiants sont incorrects |
| 5012 | UNABLE_TO_COMPLY | Erreur interne HSS. Vérifiez les journaux HSS. |
Résolution :
- USER_UNKNOWN : Provisionnez l'utilisateur dans le HSS
- AUTHENTICATION_REJECTED : Vérifiez l'IMPI et le secret partagé dans le HSS
- UNABLE_TO_COMPLY : Vérifiez 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 n'est appliquée. Des délais d'attente AAR/AAA se produisent.
Problèmes courants :
- PCRF en panne : Vérifiez l'état du pair sur l'onglet Diameter d'OmniWeb
- Framed-IP-Address non reconnu : Le PCRF ne peut pas mapper l'IP UE à l'abonné
- Politique non appliquée : Vérifiez les règles de politique PCRF. Vérifiez l'intégration PCEF.
Résolution :
- Vérifiez que le pair PCRF est dans l'état "I_Open"
- Vérifiez le provisionnement de l'adresse IP UE dans le PCRF
- Vérifiez que l'interface Gx (PCRF à PCEF) fonctionne
Problèmes d'interface Ro OCS
Symptôme : Les appels prépayés échouent. Des délais d'attente CCR/CCA se produisent. Les appels sont bloqués.
Erreurs courantes :
| Code de résultat | Signification | Résolution |
|---|---|---|
| 4012 | CREDIT_LIMIT_REACHED | Crédit insuffisant |
| 5003 | AUTHORIZATION_REJECTED | L'utilisateur n'est pas 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érifiez la disponibilité de l'OCS et l'état du pair
- AUTHORIZATION_REJECTED : Vérifiez que l'utilisateur est provisionné pour le prépayé dans l'OCS
Dégradation des performances
Symptôme : Temps de réponse Diameter lents et forte latence
Diagnostic :
- Vérifiez l'horodatage "Last Used" dans la liste des pairs. Il doit être récent.
- Surveillez la "Longueur de la file d'attente". Des valeurs élevées indiquent un arriéré.
- Consultez les journaux du backend CSCF pour des avertissements de délai d'attente
Résolution :
- Haute latence : Enquêtez sur le réseau entre le CSCF et le pair
- Longueur de file d'attente élevée : Vérifiez la charge système du pair (HSS/PCRF/OCS)
- Délai d'attente : Si le réseau a une haute latence, augmentez le délai d'attente des transactions
Meilleures pratiques
Directives opérationnelles
Gestion des pairs :
- Surveillez l'état des pairs sur l'onglet Diameter d'OmniWeb
- Mettez en place une surveillance externe pour les événements de panne de pair
- Testez la connectivité des pairs pendant les fenêtres de maintenance
Planification de la capacité :
- Estimez le taux de transaction Diameter à partir des enregistrements et du volume d'appels
- Assurez-vous que le HSS/PCRF/OCS peut gérer les taux de transaction de pointe
- Pour les grandes déploiements, envisagez des agents de routage Diameter (DRA)
Dépannage :
- Vérifiez d'abord l'état des pairs lorsque vous enquêtez sur des échecs d'enregistrement ou d'appel
- Corrélez les échecs Diameter avec les échecs SIP (même Call-ID ou utilisateur)
- Consultez les journaux du backend CSCF pour des traces de transactions Diameter détaillées
Sécurité :
- Utilisez TLS pour les connexions Diameter en production, si TLS est pris en charge
- Restreignez l'accès des pairs Diameter avec le pare-feu. Autorisez uniquement les pairs connus.
- Consultez 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
- ✅ Opérations d'activation/désactivation des pairs
- ✅ Mappage de l'ID d'application aux noms d'interface
Pas encore implémenté
Les fonctionnalités suivantes ne sont pas actuellement disponibles. Les versions futures peuvent les ajouter :
- Inspecteur de messages Diameter : Voir les transactions Diameter récentes et les détails des AVP
- Statistiques des pairs : Comptes de messages, taux de réussite et latence moyenne par pair
- Surveillance de garde : État DWR/DWA en temps réel
Solutions de contournement
Pour l'inspection des messages : Consultez les journaux du backend CSCF, ou activez la journalisation de débogage Diameter
Pour des statistiques détaillées : Interrogez les métriques à partir du 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 surveillance.
Pour une reconnexion manuelle : Utilisez l'onglet Diameter d'OmniWeb pour désactiver puis réactiver le pair
Documentation connexe
- Guide des opérations P-CSCF - Opérations d'interface Rx P-CSCF
- Guide des opérations I-CSCF - Opérations d'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 (l'équivalent 5G de Rx)
- Référence des métriques - Métriques et surveillance CDP/Diameter
- OmniWeb - Gestion des pairs Diameter via l'onglet Diameter d'OmniWeb
- Guide des opérations CSCF - Opérations CSCF générales
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 a un fichier de configuration de pair Diameter : pcscf.xml, icscf.xml ou scscf.xml. Ansible rend le fichier au moment du déploiement. Le fichier définit l'identité Diameter du nœud et les pairs HSS/PCRF/DRA auxquels il se connecte. La structure est identique dans les trois fichiers. Seule l'application annoncée diffère.
| Champ XML | Ce qu'il configure | Source Ansible |
|---|---|---|
DiameterPeer FQDN | Le FQDN d'origine Diameter de ce nœud | <inventory_hostname>.epc.mnc<mnc>.mcc<mcc>.3gppnetwork.org |
DiameterPeer Realm | Le domaine Diameter local | ims_realm s'il est défini, sinon epc.mnc<mnc>.mcc<mcc>.3gppnetwork.org |
Vendor_Id / Product_Name | L'identité CER | 10415 (3GPP) / OmniCSCF |
Peer (mode direct) | Pair direct vers 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 vers 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 et port de liaison locaux 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 le DRA (métrique 2) | rendu à partir de 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 |
Les principales variables Ansible sont les suivantes. plmn_id.mcc et plmn_id.mnc_longform construisent tous les FQDN et domaines. ims_realm remplace le domaine Diameter. ims_dra_support bascule entre le pair direct et le pair DRA. diameter_dra_ip définit l'IP statique pour le pair DRA. Les groupes d'inventaire hss et dra fournissent les listes de pairs et de routes par défaut. Lorsque la facturation est activée, RO_DESTINATION adresse le pair Ro (OCS) du S-CSCF séparément. Le XML ne traite pas ce pair.
Modifiez ces fichiers via les outils de déploiement, pas via OmniWeb. OmniWeb fournit uniquement une surveillance et un contrôle opérationnel (activation/désactivation).