Aller au contenu principal

PCRF (Fonction de Règles de Politique et de Facturation)

Vue d'ensemble

Le HSS comprend un PCRF (Fonction de Règles de Politique et de Facturation) intégré qui fournit un contrôle de politique et des règles de facturation pour les sessions de données mobiles. Le PCRF contrôle les politiques de Qualité de Service (QoS), l'allocation de bande passante et les règles de facturation pour les porteuses par défaut et dédiées dans les réseaux LTE.

Capacités clés

  • Interface Gx : Contrôle de politique pour PGW/PCEF (Passerelle de Données de Paquet / Fonction d'Application de Politique et de Facturation)
  • Interface Rx : Autorisation et QoS pour les flux multimédias IMS (Système Multimédia IP)
  • Gestion Dynamique des Politiques : Mises à jour de politique en temps réel via des Requêtes de Ré-Authentification (RAR)
  • Support VoLTE : Création de porteuses dédiées pour les appels vocaux avec QoS garanti
  • Règles de Facturation : Définir le comportement de facturation et les profils de vitesse à l'aide de Modèles de Flux de Trafic (TFT)
  • REST API : Contrôle programmatique de l'application des politiques et de la gestion des règles

Architecture

Interfaces Diameter

InterfaceID d'applicationPairObjectif
Gx16,777,238PGW (PCEF)Gestion de session PDN, application de QoS, règles de facturation
Rx16,777,236P-CSCF (AF)Autorisation multimédia IMS, réservation de bande passante

Gestion de l'état de session

Le PCRF maintient l'état de session pour les connexions PDN actives et les appels VoLTE :

Interface Gx

Opérations Supportées

1. Requête de Contrôle de Crédit - Initiale (CCR-I)

Déclencheur : PGW crée une nouvelle connexion PDN pour l'abonné

AVPs de Requête :

  • Session-Id
  • Origin-Host, Origin-Realm
  • Subscription-Id (contient IMSI)
  • Called-Station-Id (nom APN)
  • IP-CAN-Type (type de Réseau d'Accès de Connectivité IP)
  • RAT-Type (Technologie d'Accès Radio)
  • Framed-IP-Address (adresse IP de l'UE)

Actions PCRF :

  1. Rechercher l'abonné par IMSI
  2. Récupérer le profil APN et la configuration QoS
  3. Créer une entrée de suivi de session
  4. Construire les politiques QoS à partir du profil APN

AVPs de Réponse :

  • Result-Code: 2001 (DIAMETER_SUCCESS)
  • QoS-Information (limites de bande passante agrégées APN)
  • Default-EPS-Bearer-QoS (QCI, ARP, priorité)
  • Bearer-Control-Mode

2. Requête de Contrôle de Crédit - Mise à Jour (CCR-U)

Déclencheur : PGW signale des changements de session (mise à jour de localisation, changement de RAT, etc.)

Actions PCRF :

  1. Localiser la session existante par ID de session
  2. Mettre à jour les paramètres de session (type RAT, localisation, etc.)
  3. Retourner les politiques mises à jour si nécessaire

Réponse : Result-Code 2001 avec des mises à jour de politique optionnelles

3. Requête de Contrôle de Crédit - Terminer (CCR-T)

Déclencheur : PGW termine la connexion PDN

Actions PCRF :

  1. Localiser la session par ID de session
  2. Supprimer la session et les enregistrements d'appel associés
  3. Confirmer la terminaison

Réponse : Result-Code 2001

4. Requête de Ré-Authentification (RAR)

Direction : PCRF → PGW (HSS initie)

Déclencheur :

  • Configuration d'appel IMS (Rx AAR déclenche Gx RAR)
  • Terminaison d'appel IMS (Rx STR déclenche Gx RAR)
  • Ré-auth manuelle via REST API

AVPs RAR :

  • Session-Id (ID de session PGW)
  • Auth-Application-Id: 16,777,238
  • Re-Auth-Request-Type (0 = Autoriser uniquement)
  • Charging-Rule-Install/Remove
  • QoS-Information (pour les porteuses dédiées)

Actions PGW : Créer/modifier/supprimer des porteuses dédiées en fonction des règles de facturation

Règles de Facturation et Modèles de Flux de Trafic

Le PCRF prend en charge la définition des règles de facturation avec des Modèles de Flux de Trafic (TFT) pour contrôler :

  • Facturation spécifique au service - Tarifs différents pour la vidéo, les jeux, les réseaux sociaux, etc.
  • Profils de vitesse - Limiter ou prioriser le trafic correspondant à des motifs spécifiques
  • Politiques basées sur l'utilisation - Appliquer diff��rentes QoS en fonction du type de trafic ou de la destination

Les règles de facturation peuvent être :

  • Installées dynamiquement via Gx RAR en fonction de la détection d'application
  • Prédéfinies et déclenchées par des conditions spécifiques (heure de la journée, localisation, quota)
  • Associées à des TFT à l'aide de règles de filtrage de paquets (5-tuple : protocole, IP source/destination, port source/destination)

Cas d'utilisation courants :

  • Zero-rating - Accès illimité à des services spécifiques (Spotify, WhatsApp, Facebook) sans consommer de quota de données
  • Accès post-quota - Autoriser le portail d'auto-assistance et les sites de support même après que l'abonné ait épuisé son allocation de données
  • Vitesse par paliers - Haute vitesse pour les services premium, limitée pour le contenu standard
  • Politiques basées sur le temps - Streaming illimité hors pointe, priorisation en période de pointe
  • Politiques de roaming - Facturation différente pour l'utilisation des données internationales par rapport à l'utilisation nationale
  • SLA d'entreprise - QoS garantie pour les applications critiques pour les affaires

Structure de la Politique QoS

QoS de la Porteuse par Défaut (à partir du profil APN) :

{
"QoS-Class-Identifier": 9, // QCI (9 = porteuse par défaut)
"APN-Aggregate-Max-Bitrate-UL": 50000, // kbps
"APN-Aggregate-Max-Bitrate-DL": 100000, // kbps
"Allocation-Retention-Priority": {
"Priority-Level": 8,
"Pre-emption-Capability": 1, // Peut préempter
"Pre-emption-Vulnerability": 1 // Peut être préempté
}
}

QoS de la Porteuse Dédiée (pour VoLTE) :

{
"QoS-Class-Identifier": 1, // QCI 1 = Voix Conversationnelle
"Max-Requested-Bandwidth-UL": 128000, // bps
"Max-Requested-Bandwidth-DL": 128000, // bps
"Guaranteed-Bitrate-UL": 128000,
"Guaranteed-Bitrate-DL": 128000
}

Interface Rx

Opérations Supportées

1. Requête AA (AAR) / Réponse AA (AAA)

Déclencheur : P-CSCF demande une autorisation pour la session multimédia IMS (configuration d'appel VoLTE)

AVPs de Requête :

  • Session-Id (identifiant de session P-CSCF)
  • Subscription-Id (IMSI ou URI SIP)
  • Media-Component-Description
    • Media-Type (audio, vidéo)
    • Max-Requested-Bandwidth-UL/DL
    • Codec-Data
    • Flow-Description (filtres de paquets 5-tuple)
  • AF-Application-Identifier

Actions PCRF :

  1. Rechercher l'abonné par IMSI ou URI SIP
  2. Trouver la session IMS active
  3. Extraire les paramètres multimédias (codec, bande passante, règles de flux)
  4. Créer une entrée de suivi d'appel
  5. Déclencher Gx RAR vers PGW pour créer une porteuse dédiée
  6. Attendre la réponse Gx RAA
  7. Retourner Rx AAA avec le résultat de l'autorisation

AVPs de Réponse :

  • Result-Code: 2001 (succès) ou 5063 (service non autorisé)

2. Requête de Terminaison de Session (STR) / Réponse de Terminaison de Session (STA)

Déclencheur : P-CSCF termine la session IMS (fin d'appel)

Actions PCRF :

  1. Localiser la session d'appel par ID de session P-CSCF
  2. Déclencher Gx RAR vers PGW pour supprimer la porteuse dédiée
  3. Supprimer l'entrée de suivi d'appel
  4. Retourner la confirmation STA

Réponse : Result-Code 2001

Flux de Messages Communs

Flux 1 : Établissement de Session PDN

Flux 2 : Configuration d'Appel VoLTE (Rx AAR → Gx RAR)

Flux 3 : Terminaison d'Appel VoLTE (Rx STR → Gx RAR)

Flux 4 : Mise à Jour de Session PDN

Flux 5 : Terminaison de Session PDN

Flux 6 : Ré-Auth Manuelle via REST API

REST API

Point de terminaison PCRF Re-Auth

Point de terminaison : POST /api/operation/pcrf_re_auth

Objectif : Déclencher manuellement une Requête de Ré-Authentification Gx pour rafraîchir les politiques

Quand l'utiliser : Ce point de terminaison manuel est généralement utilisé pour le dépannage ou pour forcer le rafraîchissement de la politique sur des abonnés spécifiques. Pour les mises à jour de politique de routine (changement de profils QoS APN), le système déclenche automatiquement la ré-auth pour toutes les sessions affectées - aucune action manuelle n'est nécessaire.

Corps de la Requête :

{
"imsi": "999999876543210",
"apn": "ims"
}

Réponse de Succès (HTTP 200) :

{
"data": "Gx Re-Auth Request for 999999876543210 sent to pgw.epc.mnc999.mcc999.3gppnetwork.org, Result-Code: 2001"
}

Réponse d'Erreur (HTTP 400) :

{
"error": "Unable to send Re-Auth Request for 999999876543210 on APN ims, no active PDN Session found"
}

API de Configuration de Politique

Le PCRF récupère les politiques QoS à partir des configurations APN stockées dans la base de données. Ces politiques peuvent être créées et gérées via REST API.

Application Automatique des Politiques : Lorsque vous mettez à jour un profil QoS APN (par exemple, changement des limites de bande passante ou QCI), le système envoie automatiquement des Requêtes de Ré-Authentification Gx (RAR) à tous les PGW avec des sessions PDN actives utilisant cet APN. Cela garantit que les changements de politique sont appliqués immédiatement à tous les abonnés connectés sans intervention manuelle.

Architecture de Politique

Les politiques sont définies à travers une structure à trois niveaux :

Identifiant APN → Profil QoS APN → Profil APN
↓ ↓ ↓
"internet" QCI, AMBR, ARP Lien entre les deux

1. Créer un Identifiant APN

Définir le nom de l'APN et le support de version IP.

Point de terminaison : POST /api/apn/identifier

Corps de la Requête :

{
"apn_identifier": {
"apn": "internet",
"ip_version": "ipv4v6"
}
}

Options de Version IP :

  • "ipv4" - IPv4 uniquement
  • "ipv6" - IPv6 uniquement
  • "ipv4v6" - Double pile (IPv4 et IPv6)
  • "ipv4_or_ipv6" - Le réseau décide (soit IPv4 soit IPv6)

Réponse (HTTP 201) :

{
"data": {
"id": 1,
"apn": "internet",
"ip_version": "ipv4v6"
}
}

Validation :

  • apn : Requis, 1-254 caractères, unique
  • ip_version : Requis, doit être l'une des quatre options ci-dessus

Lister les Identifiants APN : GET /api/apn/identifier

2. Créer un Profil QoS APN

Définir les paramètres QoS (bande passante, QCI, priorité).

Point de terminaison : POST /api/apn/qos_profile

Corps de la Requête :

{
"apn_qos_profile": {
"name": "Internet à Effort Optimal",
"qci": 9,
"allocation_retention_priority": 8,
"apn_ambr_dl_kbps": 100000,
"apn_ambr_ul_kbps": 50000,
"pre_emption_capability": false,
"pre_emption_vulnerability": true
}
}

Paramètres QoS :

ChampTypePlageDescription
namestring1-254 charsNom du profil (unique)
qciinteger1-254Identifiant de Classe QoS (1-4 = GBR, 5-9 = Non-GBR)
allocation_retention_priorityinteger1-15Niveau ARP (1 = priorité la plus élevée)
apn_ambr_dl_kbpsinteger1-4,294,967,293Débit Maximum Agrégé APN en Descendant (kbps)
apn_ambr_ul_kbpsinteger1-4,294,967,293Débit Maximum Agrégé APN en Montant (kbps)
pre_emption_capabilitybooleantrue/falsePeut préempter des porteuses de priorité inférieure
pre_emption_vulnerabilitybooleantrue/falsePeut être préempté par des porteuses de priorité supérieure

Valeurs QCI Courantes :

  • 1 - Voix Conversationnelle (VoLTE) - GBR, budget de délai de 100 ms
  • 2 - Vidéo Conversationnelle - GBR, budget de délai de 150 ms
  • 5 - Signalisation IMS - Non-GBR, budget de délai de 100 ms
  • 9 - Porteuse par Défaut (Internet) - Non-GBR, budget de délai de 300 ms

Réponse (HTTP 201) :

{
"data": {
"id": 1,
"name": "Internet à Effort Optimal",
"qci": 9,
"allocation_retention_priority": 8,
"apn_ambr_dl_kbps": 100000,
"apn_ambr_ul_kbps": 50000,
"pre_emption_capability": false,
"pre_emption_vulnerability": true
}
}

Lister les Profils QoS : GET /api/apn/qos_profile

3. Créer un Profil APN

Lier l'identifiant APN avec un profil QoS.

Point de terminaison : POST /api/apn/profile

Corps de la Requête :

{
"apn_profile": {
"name": "Profil APN Internet",
"apn_identifier_id": 1,
"apn_qos_profile_id": 1
}
}

Champs :

Réponse (HTTP 201) :

{
"data": {
"id": 1,
"name": "Profil APN Internet",
"apn_identifier_id": 1,
"apn_qos_profile_id": 1
}
}

Contraintes :

  • apn_identifier_id et apn_qos_profile_id doivent référencer des enregistrements existants
  • Chaque combinaison d'identifiant APN et de profil QoS doit être unique

Lister les Profils APN : GET /api/apn/profile

Exemple Complet de Configuration de Politique

Étape 1 : Créer une Politique APN IMS (VoLTE)

# 1. Créer un Identifiant APN
curl -X POST https://hss.example.com:8443/api/apn/identifier \
-H "Content-Type: application/json" \
-d '{
"apn_identifier": {
"apn": "ims",
"ip_version": "ipv4v6"
}
}'
# Réponse : {"data": {"id": 2, ...}}

# 2. Créer un Profil QoS (Signalisation IMS)
curl -X POST https://hss.example.com:8443/api/apn/qos_profile \
-H "Content-Type: application/json" \
-d '{
"apn_qos_profile": {
"name": "QoS Signalisation IMS",
"qci": 5,
"allocation_retention_priority": 2,
"apn_ambr_dl_kbps": 5000,
"apn_ambr_ul_kbps": 5000,
"pre_emption_capability": true,
"pre_emption_vulnerability": false
}
}'
# Réponse : {"data": {"id": 2, ...}}

# 3. Créer un Profil APN
curl -X POST https://hss.example.com:8443/api/apn/profile \
-H "Content-Type: application/json" \
-d '{
"apn_profile": {
"name": "Profil APN IMS",
"apn_identifier_id": 2,
"apn_qos_profile_id": 2
}
}'
# Réponse : {"data": {"id": 2, ...}}

Étape 2 : Assigner à l'Abonné

Une fois créé, le profil APN est assigné aux abonnés via des profils EPC. Voir Référence API pour lier les profils APN aux abonnés.

Mise à Jour et Suppression de Politique

Mettre à Jour le Profil QoS :

PATCH /api/apn/qos_profile/{id}
PUT /api/apn/qos_profile/{id}

Exemple - Augmenter la Bande Passante pour Tous les Utilisateurs :

# Mettre à jour le profil QoS ID 1 pour augmenter la bande passante
curl -X PATCH https://hss.example.com:8443/api/apn/qos_profile/1 \
-H "Content-Type: application/json" \
-d '{
"apn_qos_profile": {
"apn_ambr_dl_kbps": 150000,
"apn_ambr_ul_kbps": 75000
}
}'

Ce qui se Passe Automatiquement :

  1. Le profil QoS est mis à jour dans la base de données
  2. Le système identifie toutes les sessions PDN actives utilisant les APN liés à ce profil QoS
  3. Pour chaque session active, un Gx RAR est envoyé au PGW correspondant
  4. Les PGW mettent à jour la QoS de la porteuse pour refléter les nouvelles limites de bande passante
  5. Tous les abonnés connectés reçoivent immédiatement la politique mise à jour

Scénario d'Exemple : Si 100 abonnés sont actuellement connectés sur l'APN "internet" utilisant le profil QoS ID 1, tous les 100 verront leurs limites de bande passante mises à jour à 150 Mbps en descendant / 75 Mbps en montant dans les secondes suivant l'achèvement de l'appel API.

Remarque : Lorsque vous mettez à jour un profil QoS APN, le système déclenche automatiquement une ré-auth pour toutes les sessions PDN actives utilisant cet APN, appliquant les nouvelles politiques immédiatement aux abonnés attachés. Aucune ré-auth manuelle n'est requise.

Supprimer des Ressources :

DELETE /api/apn/identifier/{id}
DELETE /api/apn/qos_profile/{id}
DELETE /api/apn/profile/{id}

Contraintes de Suppression :

  • Impossible de supprimer des identifiants APN ou des profils QoS référencés par des profils APN
  • Impossible de supprimer des profils APN assignés à des abonnés actifs

Modèles de Politique

Internet Haute Vitesse (100 Mbps en descendant / 50 Mbps en montant) :

{
"apn_qos_profile": {
"name": "Internet Haute Vitesse",
"qci": 9,
"allocation_retention_priority": 8,
"apn_ambr_dl_kbps": 100000,
"apn_ambr_ul_kbps": 50000,
"pre_emption_capability": false,
"pre_emption_vulnerability": true
}
}

Internet Premium (500 Mbps en descendant / 100 Mbps en montant) :

{
"apn_qos_profile": {
"name": "Internet Premium",
"qci": 8,
"allocation_retention_priority": 5,
"apn_ambr_dl_kbps": 500000,
"apn_ambr_ul_kbps": 100000,
"pre_emption_capability": true,
"pre_emption_vulnerability": false
}
}

IoT/M2M (Bande Passante Faible) :

{
"apn_qos_profile": {
"name": "IoT M2M",
"qci": 9,
"allocation_retention_priority": 10,
"apn_ambr_dl_kbps": 1024,
"apn_ambr_ul_kbps": 512,
"pre_emption_capability": false,
"pre_emption_vulnerability": true
}
}

Services d'Urgence (Priorité Maximale) :

{
"apn_qos_profile": {
"name": "Profil APN d'Urgence",
"qci": 5,
"allocation_retention_priority": 1,
"apn_ambr_dl_kbps": 10000,
"apn_ambr_ul_kbps": 10000,
"pre_emption_capability": true,
"pre_emption_vulnerability": false
}
}

Configuration

Configuration du Service Diameter

Application Gx (config/runtime.exs) :

%{
application_name: :hss_gx,
application_dictionary: :diameter_gen_3gpp_gx,
vendor_specific_application_ids: [
%{vendor_id: 10415, auth_application_id: 16_777_238}
]
}

Application Rx (config/runtime.exs) :

%{
application_name: :hss_rx,
application_dictionary: :diameter_gen_3gpp_rx,
vendor_specific_application_ids: [
%{vendor_id: 10415, auth_application_id: 16_777_236}
]
}

Paramètres QoS

Les paramètres QoS sont extraits de :

  • Porteuse par Défaut : Configuration du profil APN dans la base de données

    • apn_qos_profile.qci (Identifiant de Classe QoS)
    • apn_qos_profile.apn_ambr_ul_kbps (Débit Maximum Agrégé en Montant)
    • apn_qos_profile.apn_ambr_dl_kbps (Débit Maximum Agrégé en Descendant)
    • apn_qos_profile.priority_level (Priorité de Conservation d'Allocation)
  • Porteuse Dédiée : Extrait de la Description du Composant Multimédia Rx AAR

    • QCI : 1 (Voix Conversationnelle)
    • Débit Garanti : À partir des AVPs de Bande Passante Demandée Maximale
    • Filtres de Flux : À partir des AVPs de Description de Flux

Gestion des Erreurs

Code de RésultatTypeSignificationCause
2001SuccèsDIAMETER_SUCCESSRequête traitée avec succès
5001ExpérimentalUtilisateur non trouvéIMSI non présent dans la base de données des abonnés
5002ExpérimentalSession non trouvéeLa session PDN n'existe pas pour mise à jour/terminer
5063ExpérimentalService non autoriséAutorisation multimédia IMS refusée

Détails de Mise en Œuvre

Gestion de Session

Le PCRF suit :

  • Sessions PDN Actives - Une par APN, par abonné
  • Appels VoLTE - Plusieurs appels par session IMS (prend en charge les appels en conférence)
  • Politiques QoS - Appliquées dynamiquement en fonction de la configuration APN
  • Règles de Facturation - Modèles de flux de trafic et politiques spécifiques au service

Fonctionnalités Avancées de Politique

Le PCRF prend en charge un contrôle de politique avancé, y compris :

  • Installation/Suppression de règles de facturation via l'interface Gx
  • Correspondance de Modèle de Flux de Trafic (TFT) pour la différenciation de service
  • Profils de vitesse dynamiques en fonction de l'application ou du type de trafic
  • Politiques conscientes du service déclenchées par des conditions réseau ou le comportement des abonnés

Contactez votre administrateur système pour des informations sur la configuration des règles de facturation avancées et des politiques basées sur les TFT.

Documentation Connexe