Contenu

Introduction

Informations générales

Configuration CPAR

Configuration globale

Configuration du client

Configuration rapide des règles

Configuration des services

Configuration des serveurs distants

Gestionnaire de session

Gestionnaire de ressources

Scripts

Configuration de la journalisation CPAR

Valeurs de délai d'attente

Taille du paquet de diamètre

Gérer les sessions dans CPAR

Attributs (AVP) mis en cache sur CPAR AAA pour les sessions d'abonnés

Vérification

Dépannage

Introduction

Ce document décrit la procédure de configuration AAA (Authentication, Authorization and Accounting) de Cisco Prime Access Registrar.

Cette procédure s'applique à un environnement Openstack utilisant la version NEWTON où ESC ne gère pas CPAR et CPAR est installé directement sur la machine virtuelle déployée sur Openstack.

Informations générales

Ultra-M est une solution de coeur de réseau de paquets mobiles virtualisés prépackagée et validée conçue pour simplifier le déploiement des VNF. OpenStack est le gestionnaire d'infrastructure virtualisée (VIM) pour Ultra-M et comprend les types de noeuds suivants :

- Calcul

- Disque de stockage d'objets - Calcul (OSD - Calcul)

- Contrôleur

- Plate-forme OpenStack - Director (OSPD)

L'architecture de haut niveau d'Ultra-M et les composants impliqués sont représentés dans cette image :

Ce document est destiné au personnel de Cisco qui connaît la plate-forme Cisco Ultra-M et décrit en détail les étapes à suivre dans les systèmes d'exploitation OpenStack et Redhat.

Note: La version Ultra M 5.1.x est prise en compte afin de définir les procédures de ce document.

Configuration CPAR

Configuration globale

La configuration globale Diamètre doit être configurée avec des valeurs appropriées, telles que l'ID d'application et l'adresse IP de l'hôte d'origine, le domaine, etc.,

Cd /Radius/Advanced/Diameter/

Diameter/

IsDiameterEnabled = TRUE

General/

Product = CPAR

Version = 7.3.0.3

AuthApplicationIdList = 1:5:16777264:16777265:16777272:16777250

AcctApplicationIdList = 3

TransportManagement/

Identity = aaa01.aaa.epc.mncxx.mccxx.3gppnetwork.org

Realm = epc.mncxx.mccxx.3gppnetwork.org

WatchdogTimeout = 500

ValidateIncomingMessages = FALSE

ValidateOutgoingMessages = TRUE

MaximumNumberofDiameterPackets = 8192

ReserveDiameterPacketPool = 0

DiameterPacketSize = 4096

AdvertisedHostName/

1. aaa01.aaa.epc.mncxx.mccxx.3gppnetwork.org

/etc/hosts doit être mis à jour avec l'adresse IP correspondante à résoudre pour le nom de domaine complet d'identité AAA utilisé dans la gestion du transport et le nom d'hôte à résoudre

Configuration du client

La configuration du client doit être configurée avec les homologues de diamètre où le trafic est reçu, dans ce cas DRA.

Cd /Radius/Clients/

DRA01/

Name = DRA01

Description =

Protocol = diameter

HostName = x.x.x.x

PeerPort = 3868

Vendor =

IncomingScript~ =

OutgoingScript~ =

AdvertisedHostName =

UserLogEnabled = FALSE

AdvertisedRealm =

InitialTimeout = 3000

MaxIncomingRequestRate = 0

KeepAliveTime = 0

AuthSessionStateInASR = No-State-Maintained

SCTP-Enabled = FALSE

TLS-Enabled = FALSE

Configuration rapide des règles

FastRules est utilisé pour mapper le service correspondant au moment de l'exécution en fonction de certaines conditions, la condition est basée sur les paires de valeurs attribuées (AVP) et ses valeurs présentes dans le message de diamètre, si aucune règle rapide ne correspond, elle sélectionne le service par défaut.

Cd /Radius/FastRules/

FastRules/

RuleDefinitions/

Entries 1 to 5 from 5 total entries

Current filter: <all>

r1/

Name = r1

Description = Used for HSS initiated Flows

Protocol = diameter

Condition = "1 OR 2"

Success = author(3gpp-reverse)

Failure = Rule(r2)

Attributes/

Entries 1 to 2 from 2 total entries

Current filter: <all>

1/

Name = 1

Description =

Dictionary = environment

Attribute = Diameter-Command-Code

Value = 304

2/

Name = 2

Description =

Dictionary = environment

Attribute = Diameter-Command-Code

Value = 305

r2/

Name = r2

Description = Used for PGW Update procedure over S6b

Protocol = diameter

Condition = "1 AND 2"

Success = author(s6b)

Failure = Rule(r3)

Attributes/

Entries 1 to 2 from 2 total entries

Current filter: <all>

1/

Name = 1

Description =

Dictionary = Request

Attribute = Auth-Application-Id

Value = 16777272

2/

Name = 2

Description =

Dictionary = request

Attribute = Diameter-Command-Code

Value = 265

r3/

Name = r3

Description = OPTIONAL used for PGW Termination procedure

Protocol = diameter

Condition = "1 and 2"

Success = author(null)

Failure = Rule(r4)

Attributes/

Entries 1 to 2 from 2 total entries

Current filter: <all>

1/

Name = 1

Description =

Dictionary = Request

Attribute = Auth-Application-Id

Value = 16777272

2/

Name = 2

Description =

Dictionary = environment

Attribute = Diameter-Command-Code

Value = 275

r4/

Name = r4

Description = Used for SWm Termination procedure

Protocol = diameter

Condition = "1 and 2"

Success = author(3gpp-auth)

Failure = Rule(r5)

Attributes/

Entries 1 to 2 from 2 total entries

Current filter: <all>

1/

Name = 1

Description =

Dictionary = request

Attribute = Auth-Application-Id

Value = 16777264

2/

Name = 2

Description =

Dictionary = environment

Attribute = Diameter-Command-Code

Value = 275

r5/

Name = r5

Description = Used for SWm ReAuthorization

Protocol = diameter

Condition = "1 and 2"

Success = Query(query)

Failure =

Attributes/

Entries 1 to 2 from 2 total entries

Current filter: <all>

1/

Name = 1

Description =

Dictionary = environment

Attribute = Diameter-Command-Code

Value = 265

2/

Name = 2

Description =

Dictionary = request

Attribute = Auth-Application-Id

Value = 16777264

Order/

Radius/

Diameter/

1. r1

Tacacs/

Si aucune des FastRules ci-dessus ne correspond, le paquet est traité en fonction du service par défaut.

Cd /Radius/

DefaultAuthenticationService~ = encrypted-imsi-service

DefaultAuthorizationService~ = 3gpp-auth

Configuration des services

La configuration du service est l'endroit où le service est défini en fonction de l'authentification, des exigences d'autorisation :

Cd/Radius/Services/

Encryprted-IMSI-Service est utilisé pour les authentifications EAP-AKA et avec IMSI chiffré pour les appareils Apple. Si ce n'est pas nécessaire, affectez la valeur False au paramètre EncryptedIMSI

encrypted-imsi-service/

Name = encrypted-imsi-service

Description =

Type = eap-aka

NumberOfQuintets = 1

AlwaysRequestIdentity = True

EnableIdentityPrivacy = False

EnableRollingPseudonymSecret = False

PseudonymSecret = <encrypted>

PseudonymRenewtime = "24 Hours"

PseudonymLifetime = Forever

NotificationService =

Generate3GPPCompliantPseudonym = False

EnableReauthentication = False

UseOutagePolicyForReauth = False

MaximumReauthentications = 16

ReauthenticationTimeout = 3600

ReauthenticationRealm =

EnableEncryptedIMSI = True

EncryptedIMSIDelimiter = NULL

EncryptedIMSIKeyIdDelimiter = ,

DefaultPrivateKey = xxxxxxxxxxxxxxxxxxxxxxxx

QuintetCacheTimeout = 0

AuthenticationTimeout = 120

QuintetGenerationScript~ =

UseProtectedResults = False

SendReAuthIDInAccept = False

Subscriber_DBLookup = DiameterDB

DiameterInterface = SWx

ProxyService = dia-proxy

The 3GPP service is used for Registration/Profiledownload from HSS over SWx;

3gpp-auth/

Name = 3gpp-auth

Description =

Type = 3gpp-authorization

Protocol = diameter

IncomingScript~ =

OutgoingScript~ = removeuserdata

SessionManager = sm1

DiameterProxyService = dia-proxy

FetchLocationInformation = False

Le service dia-proxy est utilisé pour sélectionner le serveur distant et peut définir une stratégie d'homologue, l'option GroupFailover est utilisée comme MultiplePeerPolicy, lorsqu'il existe plusieurs homologues distants et souhaite regrouper les mêmes. Définissez également GroupTimeOutPolicy pour basculer vers plusieurs groupes

dia-proxy/

Name = dia-proxy

Description =

Type = diameter

IncomingScript~ = rmserver

OutgoingScript~ =

MultiplePeersPolicy = GroupFailover

GroupTimeOutPolicy = FailOver

ServerGroups/

Entries 1 to 2 from 2 total entries

Current filter: <all>

Group_Primary_DRA/

Name = Group_Primary_DRA

Metric = 0

IsActive = TRUE

Group_Secondary_DRA/

Name = Group_Secondary_DRA

Metric = 1

IsActive = TRUE

Les ServerGroups mentionnés ci-dessus sont définis dans /Radius/GroupServers/

GroupServers/

Entries 1 to 2 from 2 total entries

Current filter: <all>

Group_Primary_DRA/

Name = Group_Primary_DRA

Description =

MultiplePeersPolicy = RoundRobin

PeerTimeOutPolicy = FailOver

DiaRemoteServers/

Entries 1 to 2 from 2 total entries

Current filter: <all>

DRA01/

Name = DRA01

Metric = 0

Weight = 0

IsActive = TRUE

DRA02/

Name = DRA02

Metric = 1

Weight = 0

IsActive = TRUE

Group_Secondary_DRA/

Name = Group_Secondary_DRA

Description =

MultiplePeersPolicy = RoundRobin

PeerTimeOutPolicy = FailOver

DiaRemoteServers/

Entries 1 to 4 from 4 total entries

Current filter: <all>

DRA03/

Name = DRA03

Metric = 0

Weight = 0

IsActive = TRUE

DRA04/

Name = DRA04

Metric = 2

Weight = 0

IsActive = TRUE

DRA05/

Name = DRA05

Metric = 1

Weight = 0

IsActive = TRUE

Le service S6b est utilisé pour traiter la procédure PGW Update sur S6b.

s6b/

Name = s6b

Description =

Type = 3gpp-authorization

Protocol = diameter

IncomingScript~ =

OutgoingScript~ =

SessionManager =

DiameterProxyService = dia-proxy

FetchLocationInformation = False

Le 3gpp-inverse est utilisé pour le traitement des messages initiés par HSS.

3gpp-reverse/

Name = 3gpp-reverse

Description =

Type = 3gpp-reverse-authorization

IncomingScript~ = AAARTRCheck

OutgoingScript~ =

SessionManager = sm1

TranslationService =

Le service de requête est utilisé lors de la procédure de réautorisation où obtenir directement le profil mis à jour à partir du cache en fonction du PPR reçu de HSS.

query/

Name = query

Description =

Type = diameter-query

IncomingScript~ =

OutgoingScript~ = removeuserdataquery

UpdateSessionLastAccessTime = False

SessionManagersToBeQueried/

1. sm1

AttributesToBeReturned/

1. Non-3GPP-User-Data

2. Service-Selection

Le service Null doit simplement répondre avec succès pour le processus de terminaison S6b car il n'y a aucune session mise en cache sur S6b.

null/

Name = null

Description =

Type = null

IncomingScript~ =

OutgoingScript~ =

Configuration des serveurs distants

Les serveurs distants sont définis avec un homologue distant auquel les paquets sont envoyés depuis AAA comme le HSS. Si DRA est utilisé, définissez les mêmes informations DRA dans les clients et les serveurs distants ;

RemoteServers/

DRA01/

Name = DRA01

Description =

Protocol = diameter

HostName = 10.169.48.235

DestinationPort = 3868

DestinationRealm = epc.mnc300.mcc310.3gppnetwork.org

ReactivateTimerInterval = 300000

Vendor =

IncomingScript~ = AAAReplaceResultCode

OutgoingScript~ = rmdh

MaxTries = 3

MaxTPSLimit = 0

MaxSessionLimit = 0

InitialTimeout = 3000

LimitOutstandingRequests = FALSE

MaxPendingPackets = 0

MaxOutstandingRequests = 0

DWatchDogTimeout = 2500

SCTP-Enabled = FALSE

TLS-Enabled = FALSE

AdvertiseHostName =

AdvertiseRealm =

Gestionnaire de session

Le gestionnaire de sessions doit définir la mise en cache des sessions, il fonctionne conjointement avec le gestionnaire de ressources. Le gestionnaire de session est référencé dans les services 3gpp-auth, 3gpp-inverse et de requête ;

Cd /Radius/SessionManagers/

sm1/

Name = sm1

Description =

Type = local

EnableDiameter = True

IncomingScript =

OutgoingScript =

AllowAccountingStartToCreateSession = FALSE

SessionTimeOut =

PhantomSessionTimeOut =

SessionKey = User-Name:Session-Id

SessionCreationCmdList = 268||305

SessionDeletionCmdList = 275

SessionRestorationTimeOut = 24h

ResourceManagers/

1. 3gpp

2. swmcache

3.  per-user

Gestionnaire de ressources

Les gestionnaires de ressources sont définis pour allouer les ressources et mappés aux gestionnaires de session.

Ces trois gestionnaires de ressources sont utilisés.

Cd /Radius/ResourceManagers/

ResourceManagers/

3gpp/

Name = 3gpp

Description =

Type = 3gpp

EnableRegistrationFlow = TRUE

EnableSessionTermination = false

ReuseExistingSession = True

HSSProxyService = dia-proxy

Per-User/

Name = Per-User

Description =

Type = user-session-limit

UserSessionLimit = 0

swmcache/

Name = swmcache

Description =

Type = session-cache

OverwriteAttributes = FALSE

QueryKey = Session-Id

PendingRemovalDelay = 10

AttributesToBeCached/

1. Non-3GPP-User-Data

2. Service-Selection

QueryMappings/

Scripts

Ce tableau affiche tous les scripts utilisés lors du traitement des paquets.

Name (nom)

Fichier de script

Point d'entrée

Description

Clip

test.tcl

clouer

Recherche l'ID d'application 1677264 et le code de commande de diamètre 268, obtient la valeur de nom d'utilisateur et la copie dans l'attribut ID de station d'appel à partir de la demande entrante.

Ce script est référencé dans Radius Incoming scriptinpoint

rmserver

test.tcl

serveur_rm

Recherche l'attribut Server-Assignment-Type, s'il existe, supprime le champ Remote-Server de la demande entrante.

Ce script est référencé dans le point de script entrant du service dia-proxy

removeuserdata

libremoveuserdata.so

removeUserData

Le script Rex est utilisé pour vérifier d'abord les informations reçues de HSS, en particulier les valeurs ‘Non-3GPP-IP-Access’ et ‘Non-3GPP-IP-Access-APN’ doivent avoir la valeur ‘NON_3GPP_SUBSCRIPTION_ALLOWED (0)’ et ‘Non_3GPP_APNS_ENABLE (0)’ si l'autorisation échoue. Suit une simple comparaison du nom APN reçu du message SWm DER (service-selection AVP) avec la configuration APN téléchargée à partir de HSS, s'il y a correspondance, il copie uniquement les détails APN spécifiques et supprime les AVP indésirables et prépare le DEA final vers l'ePDG. Si aucune autorisation de correspondance n'échoue et s'il n'y a pas d'AVP de sélection de service dans DER, toutes les informations APN sont envoyées mais en tant qu'AVP externe.

Ce script est référencé dans 3gpp-auth Outgoing scriptinpoint

removeuserdataquerie

libremoveuserdataquery.so

removeUserData

Le script Rex est utilisé pour vérifier d'abord les informations reçues de HSS, en particulier Non-3GPP-IP-Access et Non-3GPP-IP-Access-APN qui doivent avoir la valeur NON_3GPP_SUBSCRIPTION_ALLOWED (0) et Non_3GPP_APNS_ENABLE (0). Suit une simple comparaison du nom APN reçu du message SWm DER (service-selection AVP) avec la configuration APN téléchargée à partir de HSS, s'il y a correspondance, il copie uniquement les détails APN spécifiques et supprime les AVP indésirables et prépare le DEA final vers l'ePDG. Si aucune autorisation de correspondance n'échoue et s'il n'y a pas d'AVP de sélection de service dans DER, toutes les informations APN sont envoyées mais en tant qu'AVP externe.

Ce script est référencé dans service de requêtePoint de script sortant

sortir

test.tcl

ÉtatNouvelleSession

Script entrant du service proxy Dia : utilisé pour dédéfinir la clé des messages déjà traités. Par ex. si MAR/MAA est reçu de DRA1, l'utilisateur SAR suivant utilisera le même DRA1 et s'il n'est pas disponible et que le sticky est maintenu, il ne bascule pas. Afin de basculer vers un DRA alternatif, ce sticky doit être supprimé. Le script est utilisé pour supprimer l'identificateur de réseau visité vers S6b SAR(PGW_update) HSS.

rmdh

test.tcl

rmdh

Supprime l'AVP DestinationHost dans les paquets avec DiameterCode 301 et 303.

rmvnid

test.tcl

rmvnid

Supprime l'AVP Visited-Network-Identifier dans les paquets avec DiameterCode 256 et le Server-Assignment-Type est 13.

CodeRésultatPlaceAAAR

test.tcl

replaceResultCode

Remplacer le code de résultat AVP par “ ” de test en paquets par DiameterCode 274 et Code de résultat “ Diameter-Unknown-Session-Id ”

Vérification AAARTRC

librexblockRTR.so

Vérification AAARTRC

Lorsque plusieurs RTR sont reçus pour une même session, les doublons sont supprimés et consignés.

Certains scripts peuvent ne pas être requis dans la version supérieure, les scripts listés ci-dessus doivent être utilisés dans CPAR version 7.3.0.3

Tous les scripts se trouvent dans le chemin /opt/CSCOar/scripts/radius/.

Configuration de la journalisation CPAR

Le dossier /opt/CSCOar/logs stocke tous les journaux d'application. Le fichier name_radius_1_log enregistre toutes les demandes rejetées et rejetées. Il est donc important de stocker ce fichier à des fins de dépannage.

CPAR permet une configuration très flexible pour stocker ce journal en fonction de vos besoins. En fonction des besoins, cette valeur peut être définie. Ici, les 20 derniers fichiers journaux sont conservés, chaque fichier ayant une taille de 5 Mo.

Pour activer ces paramètres de journalisation 2 spécifiques, vous devez configurer en mode aregcmd :

/Radius/Advanced

LogFileSize = « 5 mégaoctets »

NombreFichiersJournal = 20

La convention d'appellation du journal suit la règle spécifiée dans ce tableau :

Description

Nom du fichier journal

Dernier journal

nom_rayon_1_log

2e au dernier journal

name_radius_1_log.01

3e au dernier journal

name_radius_1_log.02

...

...

Journal du 20e au dernier

name_radius_1_log.19

Tableau 2 Numérotation des journaux.

Valeurs de délai d'attente

CPAR dispose de délais d'attente configurables par le serveur. La configuration actuelle est la suivante :

Délais d'attente généraux dans /Radius/Advanced

- DiameterStaleConnectionDelectionTimeOut 300000 (ms) Ce compteur indique la durée pendant laquelle une connexion de diamètre peut être inactive avant que CPAR ne la marque comme inactive.

Délais d'expiration du client dans /Radius/Clients/<nom_client>

- InitialTimeout 3000 (ms) Délai d'attente d'une réponse de DRA avant que CPAR ne la considère inaccessible.

Délais d'attente du serveur distant situés dans /Radius/RemoteServers/<nom_serveur_distant>

- InitialTimeout 3000 (ms) Délai d'attente d'une réponse de DRA avant que CPAR ne la considère inaccessible.

- DWatchDogTimeout 2500 (ms) Durée d'attente d'une réexécution du paquet DRA pour DiamaterWatchDog avant que CPAR ne le considère comme inaccessible.

- ReactivateTimerInterval 300000 (ms) Durée pendant laquelle CPAR attendra jusqu'à la nouvelle tentative d'établissement d'une connexion avec un homologue de diamètre.

Taille du paquet de diamètre

Ce document traite de la signification de la commande Diameter Packet size et des raisons qui vous ont amené à maintenir ce paramètre à la valeur 4096.

Comme expliqué dans l'image ci-dessus, la taille maximale de paquet que CPAR s'attend à recevoir est de 4 096 octets. Cette valeur est configurée sous la variable DiameterPacketSize située dans le répertoire /Radius/Advanced/Diameter/TransportManagement. Tous les paquets qui ne respectent pas cette valeur seront supprimés. La taille totale du paquet est obtenue après l'ajout de la taille des attributs de session mis en cache plus la taille du paquet de diamètre reçu.

Par exemple, prenons en compte une taille de paquet PPR de 4000 octets et dans ce message Non-3GPP-User-Data a une taille de 3800 octets. Si la session a déjà mis en cache certains attributs et que la taille des données mises en cache est de 297 octets, la taille de la session dépasse 4 096 octets et le message est supprimé par CPAR.

Au cours du projet et de l'analyse de paquets de plus de 4096 a été effectuée. Les résultats indiquent que, en moyenne, 36 paquets (SAA) de plus de 4096 arrivent à chaque instance CPAR par jour. Ce nombre de paquets n'a pas de signification car il est très petit.

Ce paramètre est configurable et peut être augmenté si nécessaire. Cependant, la valeur est augmentée au-delà de 4096 comporte quelques inconvénients :

- Si DiameterPacketSize est porté à 5 Ko, CPAR accepte les paquets SAA de plus de 4 096 octets. Cependant, si PPR est lancé pour la même session utilisateur, puisque la taille de Non-3GPP-User-Data est de 4260 octets, la mise à jour de la session échoue et conduit à la radiation de l'utilisateur.

- DiameterPacketSize affecte directement la mémoire de démarrage allouée au processus radius. Plus le DiameterPacketSize est grand, plus la quantité de mémoire RES allouée au processus Radius au démarrage de CPAR est importante.

Cette image montre un exemple de sortie de la commande top dans une instance où DiameterPacketSize est configuré sur 4096 :

Si le paramètre DiameterPackerSize est porté à 6000, la sortie de la commande top ressemble à ceci :

- Outre l'allocation de mémoire de démarrage, une fois le système utilisé, il existe une mémoire tampon dynamique interne qui augmente en fonction du nombre de paquets qui atteignent CPAR. Si, par exemple, 1000 paquets atteignent CPAR à un moment donné, CPAR alloue en interne dans la mémoire tampon 1000 * Valeur DiameterPacketSize de la mémoire, quelle que soit la taille des paquets individuels (CPAR sait que DiameterPacketSize indique la taille maximale du paquet). Cette mémoire tampon interne alloue plus de mémoire si DiameterPacketSize est incrémenté et moins de mémoire si elle est décrémentée.

Il est recommandé de conserver ce paramètre en tant que 4096, car il a été décidé que le nombre de paquets supérieurs à 4096 est négligeable et que les inconvénients pourraient poser un comportement indésirable.

Gérer les sessions dans CPAR

Le seul mécanisme qui existe dans CPAR pour surveiller le nombre de sessions est la méthode expliquée dans ce document. Il n'existe aucun OID qui puisse être récupéré via SNMP qui contient ces informations.

CPAR est capable de gérer des sessions, de saisir l'interface CLI CPAR avec /opt/CSCOar/bin/aregcmd et de se connecter avec les informations d'identification de l'administrateur.

Avec la commande count-sessions /r, tout CPAR affiche toutes les sessions qui lui sont associées à ce moment.

Pour voir plus d'informations sur les sessions CPAR a la commande query-sessions /r all qui donne les informations de toutes les sessions jointes à CPAR.

Pour afficher uniquement les informations d'une session spécifique, la commande peut être modifiée et utiliser la valeur USER, c'est-à-dire : query-sessions /r avec-Utilisateur 310310990007655

Cette liste contient tous les filtres possibles pour la commande query-sessions :

- all

- with-ID

- with-NAS

- with-User

- with-Key

- with-Age+

- with-Attribute.

Enfin, pour détacher des sessions de CPAR, utilisez la commande release-sessions /r all, et toutes les sessions attachées à ce moment sont détachées.

Un filtre peut être appliqué pour détacher une session spécifique.

Attributs (AVP) mis en cache sur CPAR AAA pour les sessions d'abonnés

Prime Access Registrar prend en charge la mise en cache des attributs dans les gestionnaires de session qui peuvent être utilisés pour interroger des données. Ce service de requête de diamètre contient une liste de gestionnaires de session à interroger et une liste d'attributs (mis en cache) à renvoyer dans le paquet Access-Accept en réponse à une requête de DIAMETER. Cette opération est initiée par un script de point d'extension ou par le moteur de règles et de stratégies en le définissant sur une nouvelle variable d'environnement nommée Query-Service.

Le service Requête DIAMETER doit être sélectionné via un script de point d'extension ou via le moteur de règles et de stratégies en le paramétrant sur une nouvelle variable d'environnement nommée Service de requête. La raison en est que la requête DIAMETER entre en tant que requête d'accès et que le serveur n'a aucun moyen de savoir s'il s'agit d'une requête DIAMETER ou d'une requête d'authentification normale. La définition de la variable d'environnement Query-Service indique au serveur Prime Access Registrar que la requête est une requête DIAMETER de sorte que le serveur Prime Access Registrar puisse traiter la requête avec le service de requête de diamètre défini dans la variable d'environnement Query-Service.

Lorsqu'un service de requête DIAMETER est sélectionné pour traiter une demande d'accès, il interroge la liste configurée des gestionnaires de session pour un enregistrement correspondant à l'aide de la valeur QueryKey configurée dans le gestionnaire de ressources de cache de session référencé sous ces gestionnaires de session en tant que clé. Si un enregistrement correspondant est trouvé, un Access-Accept contenant une liste des attributs mis en cache présents (en fonction de la configuration) dans l'enregistrement correspondant est renvoyé au client. Si le cache de session contient un attribut à valeurs multiples, toutes les valeurs de cet attribut sont retournées dans la réponse en tant qu'attribut à valeurs multiples. Si aucun enregistrement ne correspond, un paquet Access-Reject est envoyé au client.

Prime Access Registrar introduit des points de script au niveau du gestionnaire de session, ainsi que des interfaces programmables automatisées (API) pour accéder aux informations mises en cache présentes dans l'enregistrement de session. Vous pouvez utiliser ces points de script et ces API pour écrire des scripts de point d'extension pour modifier les informations mises en cache.

Pour le moment, notre déploiement n'a pas de scripts écrits ou utilise des API programmables pour accéder à ces données, mais l'option est là.

Les attributs que notre gestionnaire de session stocke actuellement sont les suivants :

Matériel codé dans /radius/resourcemanagers/swmcache/AttributesToBeCached :

- Données utilisateur non 3GPP

- Sélection de service

Par défaut :

- Nom d'utilisateur (IMSI)

- Origine-Hôte

- Auth-Application-Id

- Domaine d'origine

- ID de session

Ces attributs sont visibles par session lorsque cette commande query-sessions est utilisée sur l'interface de ligne de commande.

Vérification

Aucune procédure de vérification n'est disponible pour cette configuration.

Dépannage

Il n'existe actuellement aucune information de dépannage spécifique pour cette configuration.