Sommario

Introduzione

Premesse

Configurazione CPAR

Configurazione globale

Configurazione client

Configurazione Fast Rules

Configurazione servizi

Configurazione server remoti

Gestione sessioni

Gestione risorse DITA

Script

Configurazione registrazione CPAR

Valori di timeout

Diametro del pacchetto

Gestisci sessioni in CPAR

Attributi (AVP) memorizzati nella cache in CPAR AAA per le sessioni del sottoscrittore

Verifica

Risoluzione dei problemi

Introduzione

Questo documento descrive la procedura per l'autenticazione, l'autorizzazione e l'accounting (AAA) di Cisco Prime Access Registrar (CPAR).

Questa procedura è valida per un ambiente Openstack che utilizza la versione NEWTON in cui ESC non gestisce CPAR e CPAR è installato direttamente sulla VM distribuita in Openstack.

Premesse

Ultra-M è una soluzione di base di pacchetti mobili preconfezionata e convalidata, progettata per semplificare l'installazione di VNF. OpenStack è Virtualized Infrastructure Manager (VIM) per Ultra-M ed è costituito dai seguenti tipi di nodi:

- Calcola

- Disco Object Storage - Compute (OSD - Compute)

- Controller

- Piattaforma OpenStack - Director (OSPD)

L'architettura di alto livello di Ultra-M e i componenti coinvolti sono illustrati in questa immagine:

Questo documento è destinato al personale Cisco che ha familiarità con la piattaforma Cisco Ultra-M e descrive in dettaglio i passaggi richiesti da eseguire in OpenStack e Redhat OS.

Nota: Per definire le procedure descritte in questo documento, viene presa in considerazione la release di Ultra M 5.1.x.

Configurazione CPAR

Configurazione globale

La configurazione Diameter Global deve essere configurata con valori appropriati, quali ID applicazione e indirizzo IP host di origine, area di autenticazione, ecc.,

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

È necessario aggiornare /etc/hosts con l'indirizzo IP corrispondente da risolvere per il nome di dominio completo (FQDN) dell'identità AAA utilizzato nella gestione del trasporto e per risolvere il nome host

Configurazione client

La configurazione del client deve essere configurata con i peer con diametro in cui viene ricevuto il traffico, in questo caso 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

Configurazione Fast Rules

FastRules viene utilizzato per mappare il servizio corrispondente in fase di esecuzione in base a determinate condizioni. La condizione si basa su coppie di valori attribuiti (AVP, Attributed Value Pairs) e sui relativi valori presenti nel messaggio relativo al diametro. Se non vi sono regole veloci corrispondenti, FastRules seleziona il servizio predefinito.

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/

Se nessuna delle regole FastRules precedenti corrisponde, il pacchetto viene elaborato in base al Servizio predefinito.

Cd /Radius/

DefaultAuthenticationService~ = encrypted-imsi-service

DefaultAuthorizationService~ = 3gpp-auth

Configurazione servizi

Configurazione servizio è la configurazione del servizio in base all'autenticazione e ai requisiti di autorizzazione:

Cd/Radius/Services/

Encrypted-IMSI-Service viene utilizzato per le autenticazioni EAP-AKA e con la crittografia IMSI per i dispositivi Apple. Se non è necessario, impostare il parametro EncryptedIMSI su False

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

Il servizio dia-proxy viene utilizzato per selezionare il server remoto e può definire i criteri peer. L'opzione GroupFailover viene utilizzata come MultiplePeerPolicy quando sono presenti più peer remoti e si desidera raggruppare gli stessi. Definire inoltre GroupTimeOutPolicy per eseguire il failover in più gruppi

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

I gruppi di server sopra indicati sono definiti in /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

Il servizio S6b viene utilizzato per elaborare la procedura di aggiornamento PGW su S6b.

s6b/

Name = s6b

Description =

Type = 3gpp-authorization

Protocol = diameter

IncomingScript~ =

OutgoingScript~ =

SessionManager =

DiameterProxyService = dia-proxy

FetchLocationInformation = False

La funzione 3gpp-reverse viene utilizzata per elaborare i messaggi avviati da HSS.

3gpp-reverse/

Name = 3gpp-reverse

Description =

Type = 3gpp-reverse-authorization

IncomingScript~ = AAARTRCheck

OutgoingScript~ =

SessionManager = sm1

TranslationService =

Il servizio di query viene utilizzato durante la procedura di riautorizzazione per ottenere direttamente il profilo aggiornato dalla cache in base al file PPR ricevuto da 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

Il servizio nullo deve semplicemente rispondere con un esito positivo per il processo di terminazione S6b poiché non vi è alcuna sessione memorizzata nella cache su S6b.

null/

Name = null

Description =

Type = null

IncomingScript~ =

OutgoingScript~ =

Configurazione server remoti

I server remoti vengono definiti con un peer remoto a cui vengono inviati i pacchetti da AAA come HSS. Se si utilizza DRA, definire le stesse informazioni DRA sia nei client che nei server remoti;

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 =

Gestione sessioni

Gestione sessioni consente di definire la memorizzazione nella cache delle sessioni e interagisce con Gestione risorse DITA. Il gestore della sessione è indicato in 3gpp-auth, 3gpp-reverse e servizi di query;

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

Gestione risorse DITA

I manager delle risorse vengono definiti per allocare le risorse e mappati ai manager delle sessioni.

Vengono utilizzati questi tre gestori di risorse.

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/

Script

Questa tabella visualizza tutti gli script utilizzati durante l'elaborazione dei pacchetti.

Nome

File script

Punto di ingresso

Descrizione

Clid

test.tcl

clid

Cerca Application-Id 1677264 e Diameter-Command Code 268, ottiene il valore username e lo copia nell'attributo calling-station-ID dalla richiesta in arrivo.

Lo script è indicato in Radius Incoming scriptinpoint

server rm

test.tcl

rm_server

Cerca l'attributo Server-Assignment-Type, se esistente rimuove il campo Server remoto dalla richiesta in ingresso.

Riferimento a questo script nel servizio dia-proxy Script in ingresso

rimuovetadati

libremoveuserdata.so

RimuoviDatiUtente

Lo script Rex viene utilizzato per controllare innanzitutto le informazioni ricevute da HSS, in particolare il valore "Non-3GPP-IP-Access" e il valore "Non-3GPP-IP-Access-APN" devono avere entrambi il valore "NON_3GPP_SUBSCRIPTION_ALLOWED (0)" e il valore "Non_3GPP_APNS_ENABLE (0)", altrimenti l'autorizzazione non riuscirà. Seguito da un semplice confronto del nome APN ricevuto dal messaggio SWm DER (service-selection AVP) con la configurazione APN scaricata da HSS, se c'è una corrispondenza copia solo i dettagli APN specifici e rimuove gli AVP indesiderati e prepara la DEA finale verso l'ePDG. Se non c'è nessuna corrispondenza, l'autorizzazione non ha esito positivo e se non c'è una selezione dei servizi, in DER vengono inviate tutte le informazioni del servizio, ma come AVP esterno.

Questo script è indicato in 3gpp-auth scriptinpoint in uscita

rimuovereuserdataquery

libremoveuserdataquery.so

RimuoviDatiUtente

Lo script Rex viene utilizzato per controllare innanzitutto le informazioni ricevute da HSS, in particolare il valore Non-3GPP-IP-Access e Non-3GPP-IP-Access-APN, entrambi dovrebbero avere il valore NON_3GPP_SUBSCRIPTION_ALLOWED (0) e Non_3GPP_APNS_ENABLE (0) altrimenti l'autorizzazione non riesce. Seguito da un semplice confronto del nome APN ricevuto dal messaggio SWm DER (service-selection AVP) con la configurazione APN scaricata da HSS, se c'è una corrispondenza copia solo i dettagli APN specifici e rimuove gli AVP indesiderati e prepara la DEA finale verso l'ePDG. Se non c'è nessuna corrispondenza, l'autorizzazione non ha esito positivo e se non c'è una selezione dei servizi, in DER vengono inviate tutte le informazioni del servizio, ma come AVP esterno.

Si fa riferimento a questo script in query serviceOutgoing scriptinpoint

uscita

test.tcl

nuovostatoSessione

Script in ingresso del servizio proxy DIA - utilizzato per annullare l'impostazione della permanente per i messaggi già elaborati. Ad esempio, se MAR/MAA viene ricevuto da DRA1, l'utente successivo SAR utilizzerà lo stesso DRA1 e, se non è disponibile e viene mantenuta la sticky, non eseguirà il failover. Per eseguire il failover su DRA alternativo, è necessario rimuovere questo adesivo. Lo script viene utilizzato per rimuovere l'identificatore di rete visitato verso S6b SAR(PGW_update) HSS.

rmdh

test.tcl

rmdh

Rimuove il protocollo AVP dell'host di destinazione nei pacchetti con DiameterCode 301 e 303.

rmvnid

test.tcl

rmvnid

Rimuove l'AVP dell'identificatore di rete visitato nei pacchetti con DiameterCode 256 e Server-Assignment-Type 13.

CodiceRisultatoSostituzioneAAR

test.tcl

sostituisciCodiceRisultato

Sostituire Result-Code AVP con "Test" nei pacchetti con DiameterCode 274 e Result-Code "Diameter-Unknown-Session-Id"

AARTRCheck

librexblockRTR.so

AARTRCheck

Quando si ricevono più RTR per la stessa sessione, i duplicati verranno eliminati e registrati.

Alcuni script potrebbero non essere necessari nella versione successiva, gli script elencati in precedenza devono essere utilizzati nella versione 7.3.0.3 di CPAR

Tutti gli script si trovano nel percorso /opt/CSCOar/scripts/radius/.

Configurazione registrazione CPAR

La cartella /opt/CSCOar/logs memorizza tutti i log delle applicazioni. Il file name_radius_1_log registra tutte le richieste eliminate e rifiutate, pertanto è importante memorizzare questo file per la risoluzione dei problemi.

CPAR consente una configurazione molto flessibile per memorizzare questo registro in base alle vostre esigenze. In base al requisito è possibile definire questo valore, dove vengono conservati gli ultimi 20 file di log, ciascuno con una dimensione di 5 MB.

Per abilitare questa registrazione specifica, è necessario configurare 2 parametri in modalità aregcmd:

/Radius/Advanced

LogFileSize = "5 MB"

LogFileCount = 20

La convenzione di denominazione dei registri segue la regola specificata in questa tabella:

Descrizione

Nome del file di log

Ultimo log

nome_raggio_1_log

Secondo/ultimo log

name_radius_1_log.01

3° all'ultimo log

name_radius_1_log.02

...

...

Dal 20° all'ultimo log

name_radius_1_log.19

Tabella 2 Numerazione log.

Valori di timeout

CPAR presenta timeout configurabili dal server. La configurazione corrente è la seguente:

Timeout generali in /Radius/Advanced

- DiameterStaleConnectionDeletionTimeOut 300000 (ms) Questo timer indica per quanto tempo una connessione con diametro può rimanere inattiva prima che CPAR la contrassegni come inattiva.

Timeout client in /Radius/Clients/<nome_client>

- InitialTimeout 3000 (ms) Tempo di attesa per una risposta da DRA prima che CPAR la consideri irraggiungibile.

Timeout del server remoto in /Radius/RemoteServers/<nome_server_remoto>

- InitialTimeout 3000 (ms) Tempo di attesa per una risposta da DRA prima che CPAR la consideri irraggiungibile.

- DWatchDogTimeout 2500 (ms) Tempo di attesa per una riproduzione da DRA per il pacchetto DiamaterWatchDog prima che CPAR lo consideri irraggiungibile.

- ReactivateTimerInterval 300000 (ms) Tempo di attesa di CPAR per il nuovo tentativo di stabilire una connessione con un peer di diametro.

Diametro del pacchetto

In questo documento viene illustrato il significato del comando Diameter Packet size e vengono illustrati i motivi che hanno portato a mantenere questo parametro al valore 4096.

Come spiegato nell'immagine precedente, le dimensioni massime del pacchetto del diametro che CPAR si aspetta di ricevere sono di 4096 byte. Questo valore è configurato nella variabile DiameterPacketSize situata nella directory /Radius/Advanced/Diameter/TransportManagement. Tutti i pacchetti non conformi a questo valore verranno scartati. Le dimensioni totali del pacchetto si ottengono dopo l'aggiunta delle dimensioni degli attributi della sessione memorizzati nella cache più le dimensioni del pacchetto di diametro ricevuto.

Si consideri, ad esempio, un pacchetto PPR di 4000 byte e all'interno di questo messaggio la dimensione dei dati utente non-3GPP è di 3800 byte. Se la sessione ha già memorizzato nella cache alcuni attributi e la dimensione dei dati memorizzati nella cache è di 297 byte, la dimensione della sessione supera i 4096 byte e il messaggio viene eliminato da CPAR.

Durante il progetto è stata effettuata l'analisi dei pacchetti di dimensioni superiori a 4096. I risultati indicano che in media 36 pacchetti (SAA) più grandi di 4096 arrivano a ciascuna istanza CPAR al giorno. Questo numero di pacchetti non è significativo in quanto è molto piccolo.

Questo parametro è configurabile e può essere aumentato se necessario. Tuttavia, l'aumento del valore oltre il 4096 comporta alcuni svantaggi:

- Se DiameterPacketSize viene aumentato a 5 KB, CPAR accetterà pacchetti ASA più grandi di 4096 byte. Tuttavia, se PPR viene avviato per la stessa sessione utente, poiché la dimensione dei dati utente non 3GPP è di 4260 byte, l'aggiornamento della sessione non riesce e porta all'annullamento della registrazione dell'utente.

- DiameterPacketSize influisce direttamente sulla memoria di avvio allocata al processo del raggio. Maggiore è la proprietà DiameterPacketSize, maggiore è la quantità di memoria RES allocata al processo Radius all'avvio di CPAR.

Nell'immagine viene mostrato un esempio dell'output del comando top in un'istanza in cui DiameterPacketSize è configurato su 4096:

Se il parametro DiameterPackerSize viene aumentato a 6000, l'output del comando top avrà il seguente aspetto:

- Oltre all'allocazione della memoria di avvio, una volta che il sistema è in uso, c'è un buffer interno di memoria dinamica che cresce in relazione a quanti pacchetti stanno raggiungendo CPAR. Se ad esempio 1000 pacchetti hanno raggiunto CPAR in un determinato punto, CPAR alloca internamente nel buffer 1000 * DiameterPacketSize di memoria, indipendentemente dalle dimensioni dei singoli pacchetti (CPAR sa che DiameterPacketSize indica le dimensioni massime del pacchetto). Questo buffer di memoria interno alloca più memoria se DiameterPacketSize viene incrementato e meno memoria se viene diminuito.

Si consiglia di mantenere questo parametro su 4096, poiché si è deciso che il numero di pacchetti superiori a 4096 è trascurabile e che gli svantaggi rappresenterebbero un comportamento indesiderato.

Gestisci sessioni in CPAR

L'unico meccanismo esistente in CPAR per monitorare il numero di sessioni è tramite il metodo illustrato in questo documento. Non esiste un OID che possa essere recuperato tramite SNMP contenente queste informazioni.

CPAR è in grado di gestire le sessioni, immettere la CLI di CPAR con /opt/CSCOar/bin/aregcmd e accedere con le credenziali di amministratore.

Con il comando count-sessions /r all CPAR vengono visualizzate tutte le sessioni associate al comando in quel momento.

Per visualizzare ulteriori informazioni sulle sessioni, CPAR ha il comando query-sessions /r all che fornisce le informazioni di tutte le sessioni collegate a CPAR.

Per visualizzare solo le informazioni di una sessione specifica, è possibile modificare il comando e utilizzare il valore USER, ovvero: query-sessions /r con-Utente 310310990007655

Questo elenco contiene tutti i possibili filtri per il comando query-session:

- Tutto

- with-ID

- con NAS

- con utente

- con tasto

- with-Age+

- with-Attribute

Infine, per scollegare le sessioni da CPAR, utilizzare il comando release-sessions /r all e tutte le sessioni collegate a quel momento vengono scollegate.

È possibile applicare un filtro per scollegare una sessione specifica.

Attributi (AVP) memorizzati nella cache in CPAR AAA per le sessioni del sottoscrittore

Prime Access Registrar supporta la memorizzazione nella cache degli attributi in Session Manager che può essere utilizzata per eseguire query sui dati. Questo servizio di query del diametro contiene un elenco di responsabili di sessione da cui eseguire una query e un elenco di attributi (memorizzati nella cache) da restituire nel pacchetto di accettazione dell'accesso in risposta a una richiesta di query del diametro. Questo viene avviato tramite uno script del punto di estensione o tramite il Motore regole e criteri impostandolo su una nuova variabile di ambiente denominata Query-Service.

Il servizio di query DIAMETER deve essere selezionato tramite uno script del punto di estensione o tramite il Motore regole e criteri impostandolo su una nuova variabile di ambiente denominata Query-Service. Il motivo è che la richiesta di query DIAMETER è una richiesta di accesso e il server non ha modo di sapere se si tratta di una richiesta di query DIAMETER o di una normale richiesta di autenticazione. L'impostazione della variabile di ambiente Query-Service indica al server Prime Access Registrar che la richiesta è una richiesta di query DIAMETER in modo che il server Prime Access Registrar possa elaborare la richiesta con il servizio di query del diametro impostato nella variabile di ambiente Query-Service.

Quando un servizio query DIAMETER viene selezionato per elaborare una richiesta di accesso, esegue una query sull'elenco configurato dei responsabili di sessione per ottenere un record corrispondente utilizzando il valore QueryKey configurato nel gestore risorse della cache di sessione a cui viene fatto riferimento in questi responsabili di sessione come chiave. Se viene trovato un record corrispondente, viene restituito al client un Access-Accept contenente un elenco degli attributi memorizzati nella cache presenti (in base alla configurazione) nel record corrispondente. Se la cache della sessione contiene un attributo multivalore, tutti i valori di tale attributo vengono restituiti nella risposta come attributo multivalore. Se non esiste un record corrispondente, al client viene inviato un pacchetto di rifiuto di accesso.

Prime Access Registrar introduce punti di script a livello di Session Manager insieme alle interfacce programmabili automatizzate (API) per accedere alle informazioni memorizzate nella cache presenti nel record della sessione. È possibile utilizzare questi punti di script e API per scrivere script dei punti di estensione per modificare le informazioni memorizzate nella cache.

Al momento, la nostra distribuzione non dispone di script scritti o utilizza API programmabili per accedere a tali dati, ma l'opzione è disponibile.

Gli attributi attualmente memorizzati dal gestore della sessione sono:

Hardcoded in /radius/resourcemanagers/swmcache/AttributesToBeCached:

- Dati utente non 3GPP

- Service-Selection

Per impostazione predefinita:

- Nome utente (IMSI)

- Host di origine

- Auth-Application-Id

- Area di autenticazione di origine

- ID sessione

Questi attributi sono visibili per sessione quando questo comando query-session viene usato sulla CLI.

Verifica

Attualmente non è disponibile una procedura di verifica per questa configurazione.

Risoluzione dei problemi

Al momento non sono disponibili informazioni specifiche per la risoluzione dei problemi di questa configurazione.