Contents

Introduction

Informações de Apoio

Configuração de CPAR

Configuração global

Configuração do Cliente

Configuração de regras rápidas

Configuração de serviços

Configuração de servidores remotos

Gerenciador de Sessão

Gerenciador de Recursos

Scripts

Configuração de registro de CPAR

Valores de tempo limite

Tamanho do pacote de diâmetro

Gerenciar sessões no CPAR

Atributos (AVP) em cache no CPAR AAA para sessões de assinantes

Verificar

Troubleshoot

Introduction

Este documento descreve o procedimento na configuração de autenticação, autorização e contabilização (AAA) do Cisco Prime Access Registrar (CPAR).

Este procedimento aplica-se a um ambiente Openstack usando a versão NEWTON em que o ESC não está gerenciando o CPAR e o CPAR está instalado diretamente na VM implantada no Openstack.

Informações de Apoio

O Ultra-M é uma solução de núcleo de pacotes móveis virtualizados pré-embalada e validada, projetada para simplificar a implantação de VNFs. O OpenStack é o Virtualized Infrastructure Manager (VIM) para Ultra-M e consiste nos seguintes tipos de nó:

- Computação

- Disco de Armazenamento de Objeto - Computação (OSD - Compute)

- Controlador

- Plataforma OpenStack - Diretor (OSPD)

A arquitetura de alto nível da Ultra-M e os componentes envolvidos estão descritos nesta imagem:

Este documento destina-se aos funcionários da Cisco que estão familiarizados com a plataforma Cisco Ultra-M e detalha as etapas necessárias para serem executadas no OpenStack e no sistema operacional Redhat.

Note: A versão Ultra M 5.1.x é considerada para definir os procedimentos neste documento.

Configuração de CPAR

Configuração global

A configuração global do diâmetro deve ser configurada com valores apropriados, como o Application-ID e o endereço IP do host de origem, território 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 precisa ser atualizado com o endereço IP correspondente a ser resolvido para que o nome de domínio totalmente qualificado da identidade AAA (FQDN) usado no gerenciamento de transporte e no nome do host seja resolvido

Configuração do Cliente

A configuração do cliente deve ser configurada com os peers de Diâmetro onde o tráfego é recebido, nesse 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

Configuração de regras rápidas

FastRules é usado para mapear o serviço correspondente em tempo de execução com base em determinada condição, a condição é baseada nos Pares de Valor Atribuído (AVP - Attributed Value Pairs) e seus valores presentes na mensagem de diâmetro, se nenhuma regra rápida correspondida seleciona o serviço Padrão.

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 nenhuma das FastRules acima coincidiu, o pacote é processado como por serviço padrão.

Cd /Radius/

DefaultAuthenticationService~ = encrypted-imsi-service

DefaultAuthorizationService~ = 3gpp-auth

Configuração de serviços

A configuração do serviço é onde o serviço é definido como por autenticação, requisito de autorização:

Cd /Radius/Services/

O Encryted-IMSI-Service é usado para autenticações EAP-AKA e com IMSI criptografado para dispositivos Apple. Se não for necessário, defina o parâmetro EncryptedIMSI como 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

O serviço de proxy de dia é usado para selecionar o servidor remoto e pode definir a política de peer, a opção GroupFailover é usada como MultiplePeerPolicy, quando há vários peers remotos e deseja agrupar o mesmo. Além disso, defina GroupTimeOutPolicy como Failover para vários grupos

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

Os ServerGroups mencionados acima estão definidos em /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

O serviço S6b é usado para processar o procedimento de Atualização PGW sobre S6b.

s6b/

Name = s6b

Description =

Type = 3gpp-authorization

Protocol = diameter

IncomingScript~ =

OutgoingScript~ =

SessionManager =

DiameterProxyService = dia-proxy

FetchLocationInformation = False

O inverso 3gpp é usado para que mensagens iniciadas pelo HSS sejam processadas.

3gpp-reverse/

Name = 3gpp-reverse

Description =

Type = 3gpp-reverse-authorization

IncomingScript~ = AAARTRCheck

OutgoingScript~ =

SessionManager = sm1

TranslationService =

O serviço de consulta é usado durante o procedimento Re-Authorization, em que o perfil atualizado do cache é diretamente obtido com base no PPR recebido do 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

O serviço nulo é apenas responder com êxito ao processo de terminação S6b, pois não há sessão armazenada em cache sobre S6b.

null/

Name = null

Description =

Type = null

IncomingScript~ =

OutgoingScript~ =

Configuração de servidores remotos

Remoteservers são definidos com peer remoto para o qual os pacotes são enviados do AAA, como o HSS. Se o DRA for usado, defina as mesmas informações de DRA em Clients e em RemoteServers;

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 =

Gerenciador de Sessão

O Gerenciador de Sessão deve definir sobre o cache de sessão, que funciona em conjunto com o Gerenciador de Recursos. O gerenciador de sessões é chamado nos serviços 3gpp-auth, 3gpp-reverse e 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

Gerenciador de Recursos

Os gerentes de recursos são definidos para alocar os recursos e mapeados para gerentes de sessão.

Esses três gerenciadores de recursos são usados.

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

Esta tabela exibe todos os scripts usados durante o processamento dos pacotes.

Nome

Arquivo de script

Ponto de entrada

Descrição

Clipe

test.tcl

clid

Procura o Application-Id 16777264 e o Diameter-Command Code 268, obtém o valor do nome de usuário e o copia no atributo call-station-ID da solicitação de chegada.

Este script é chamado de ponto de script de entrada de RADIUS

rmserver

test.tcl

rm_server

Procura o atributo Server-Assignment-Type, se existir, remove o campo Remote-Server da solicitação de entrada.

Este script é chamado de ponto de script de entrada de serviço de proxy de dia

removeuserdados

libremove userdata.so

removerDadosUsuário

O script Rex é usado para verificar primeiro as informações recebidas do HSS, especialmente ‘Non-3GPP-IP-Access’ e ‘Non-3GPP-IP-Access-APN’ ambos devem ter o valor ‘NON_3GPP_SUBSCRIPTION_ALLOWED (0)’ e ‘Non_3GPP_APNS_ENABLE (0)’, caso contrário, falhará na autorização. Seguida de uma simples comparação do nome da APN recebido da mensagem SWm DER (AVP de seleção de serviço) com a configuração da APN baixada do HSS, se houver correspondência, ela copia somente os detalhes específicos da APN e remove os AVPs indesejados e prepara o DEA final para o ePDG. Se não houver autorização de correspondência falhar e se não houver AVP de seleção de serviço no DER, todas as informações do APN serão enviadas, mas como AVP externo.

Este script é chamado de ponto de script de saída 3gpp-auth

removeuserdataquery

libremove userdataquery.so

removerDadosUsuário

O script Rex é usado para verificar primeiro as informações recebidas do HSS, especialmente o Non-3GPP-IP-Access e o Non-3GPP-IP-Access-APN ambos devem ter o valor NON_3GPP_SUBSCRIPTION_ALLOWED (0) e Non_3GPP_APNS_ENABLE (0) falha na autorização. Seguida de uma simples comparação do nome da APN recebido da mensagem SWm DER (AVP de seleção de serviço) com a configuração da APN baixada do HSS, se houver correspondência, ela copia somente os detalhes específicos da APN e remove os AVPs indesejados e prepara o DEA final para o ePDG. Se não houver autorização de correspondência falhar e se não houver AVP de seleção de serviço no DER, todas as informações do APN serão enviadas, mas como AVP externo.

Este script é referenciado em serviço de consultaPonto de script de saída

out

test.tcl

newsessionState

Script de entrada do serviço de proxy do dia - usado para desdefinir o sticky para as mensagens que já foram processadas. Para ex; se MAR/MAA for recebido do DRA1, o SAR de usuário subsequente usará o mesmo DRA1 e, se não estiver disponível e for mantido sticky, não realizará failover. Para fazer failover para DRA alternativo, esse sticky deve ser removido. O script é usado para remover o Identificador de Rede Visitado em direção ao S6b SAR(PGW_update) HSS.

rmdh

test.tcl

rmdh

Remove o DestinationHost AVP em pacotes com DiameterCode 301 e 303.

rmvnid

test.tcl

rmvnid

Remove o Identificador de Rede Visitado AVP em pacotes com DiameterCode 256 e Server-Assignment-Type é 13.

AAReplaceResultCode

test.tcl

replaceResultCode

Substituir o código de resultado AVP por "Teste" em pacotes com DiameterCode 274 e Result-Code "Diameter-Unknown-Session-Id"

AAARTRCheck

librexblockRTR.so

AAARTRCheck

Quando vários RTR são recebidos para a mesma sessão, os duplicados serão excluídos e registrados.

Alguns dos scripts podem não ser necessários em versões mais recentes, os scripts listados devem ser usados no CPAR versão 7.3.0.3

Todos os scripts estão localizados no caminho /opt/CSCOar/scripts/radius/.

Configuração de registro de CPAR

A pasta /opt/CSCOar/logs armazena todos os logs do aplicativo. O arquivo name_radius_1_log registra todas as solicitações descartadas e rejeitadas, portanto, é importante armazenar esse arquivo para fins de solução de problemas.

O CPAR permite uma configuração muito flexível para armazenar esse log de acordo com suas necessidades. Com base no requisito, esse valor pode ser definido, aqui os últimos 20 arquivos de log são mantidos, cada arquivo com um tamanho de 5 Mb.

Para habilitar este parâmetro de registro 2 específico deve ser configurado no modo aregcmd:

/Radius/Advanced

LogFileSize = "5 Megabytes"

LogFileCount = 20

A convenção de nomenclatura de log segue a regra especificada nesta tabela:

Descrição

Nome do arquivo de log

Último log

name_radius_1_log

2º ao registro mais recente

name_radius_1_log.01

3º para o último log

name_radius_1_log.02

...

...

20 para o último log

name_radius_1_log.19

Tabela 2 Numeração do registro.

Valores de tempo limite

O CPAR tem tempos limite configuráveis do servidor. A configuração atual tem estas configurações:

Intervalos gerais localizados em /Radius/Advanced

- DiameterStaleConnectionDeletionTimeOut 300000 (ms) Este temporizador indicou por quanto tempo uma conexão de diâmetro pode ficar inativa antes que o CPAR a marque como inativa.

Os tempos limite do cliente estão localizados em /Radius/Clients/<client_name>

- InitialTimeout 3000 (ms) Tempo esperado por uma resposta do DRA antes que o CPAR a considere inalcançável.

Tempo limite do servidor remoto localizado em /Radius/RemoteServers/<remote_server_name>

- InitialTimeout 3000 (ms) Tempo esperado por uma resposta do DRA antes que o CPAR a considere inalcançável.

- DWatchDogTimeout 2500 (ms) O tempo esperou uma repetição do DRA para o pacote DiamaterWatchDog antes que o CPAR o considere inalcançável.

- ReativateTimerInterval 300000 (ms) Tempo que o CPAR aguardará até tentar novamente estabelecer uma conexão com um peer de diâmetro.

Tamanho do pacote de diâmetro

Este documento aborda o significado do comando Diameter Packet size e os motivos que o levaram a manter esse parâmetro no valor 4096.

Como explicado na imagem acima, o tamanho máximo do pacote de diâmetro que o CPAR espera receber é de 4.096 bytes. Esse valor é configurado na variável DiameterPacketSize localizada no diretório /Radius/Advanced/Diameter/TransportManagement. Todos os pacotes que não estiverem em conformidade com esse valor serão descartados. O tamanho total do pacote é obtido após a adição do tamanho dos atributos em cache da sessão mais o tamanho do pacote de diâmetro recebido.

Por exemplo, vamos considerar um tamanho de pacote PPR de 4000 bytes e dentro dessa mensagem Non-3GPP-User-Data tem tamanho de 3800 bytes. Se a sessão já tiver colocado em cache alguns atributos e o tamanho dos dados em cache for de 297 bytes, o tamanho da sessão excederá 4.096 bytes e a mensagem será removida pelo CPAR.

Durante o projeto e a análise de pacotes maiores que 4096 foram realizados. Os resultados indicam que, em média, 36 pacotes (SAA) maiores que 4096 chegam a cada instância de CPAR por dia. Esse número de pacotes não é significativo, pois é muito pequeno.

Esse parâmetro é configurável e pode ser aumentado se necessário. No entanto, o valor é aumentado para além de 4096, o que implica algumas desvantagens:

- Se DiameterPacketSize for aumentado para 5 KB, o CPAR aceitará pacotes SAA maiores que 4096 bytes. No entanto, se o PPR for iniciado para a mesma sessão de usuário, já que o tamanho de Non-3GPP-User-Data é de 4260 bytes, a atualização da sessão falhará e levará ao cancelamento do registro do usuário.

- DiameterPacketSize afeta diretamente a memória de inicialização alocada ao processo radius. Quanto maior o DiameterPacketSize, maior a quantidade de memória RES alocada ao processo Radius na inicialização de CPAR.

Esta imagem mostra um exemplo da saída do comando top em uma instância onde DiameterPacketSize está configurado como 4096:

Se o parâmetro DiameterPackerSize for aumentado para 6000, a saída do comando superior será semelhante a esta:

- Além da alocação de memória de inicialização, uma vez que o sistema esteja em uso, há um buffer de memória dinâmico interno que cresce em relação ao número de pacotes que estão atingindo o CPAR. Se, por exemplo, 1000 pacotes atingirem o CPAR em um ponto, o CPAR aloca internamente no buffer 1000 * DiameterPacketSize no valor de memória, independentemente do tamanho dos pacotes individuais (o CPAR sabe que o DiameterPacketSize indica o tamanho máximo do pacote). Esse buffer de memória interna aloca mais memória se DiameterPacketSize for incrementado e menos memória se for decrementado.

Recomenda-se manter esse parâmetro como 4096, já que foi decidido que o número de pacotes maiores que 4096 são insignificantes e as desvantagens representariam um comportamento indesejado.

Gerenciar sessões no CPAR

O único mecanismo que existe no CPAR para monitorar o número de sessões é pelo método explicado neste documento. Não há OID que possa ser recuperado via SNMP que contenha essas informações.

O CPAR é capaz de gerenciar sessões, insira o CPAR CLI com /opt/CSCOar/bin/aregcmd e faça login com credenciais de administrador.

Com o comando count-sessions /r, todo CPAR mostra todas as sessões anexadas a ele naquele momento.

Para ver mais informações sobre a(s) sessão(s), o CPAR tem o comando query-sessions /r all que fornece as informações de todas as sessões anexadas ao CPAR.

Para apenas mostrar as informações de uma sessão específica, o comando pode ser alterado e usar o valor de usuário, ou seja: query-sessions /r com usuário 310310990007655

Esta lista contém todos os filtros possíveis para o comando query-sessions:

- Todos

- com ID

- com NAS

- com usuário

- com chave

- com idade+

- with-Attribute.

Finalmente, para desconectar sessões do CPAR, use o comando release-sessions /r all, e todas as sessões anexadas a esse momento são desconectadas.

Um filtro pode ser aplicado para desanexar uma sessão específica.

Atributos (AVP) em cache no CPAR AAA para sessões de assinantes

O Prime Access Registrar suporta o cache de atributos em Session Managers que podem ser usados para consultar dados. Este serviço de consulta Diameter contém uma lista de gerentes de sessão a serem consultados e uma lista de atributos (armazenados em cache) a serem devolvidos no pacote Access-Accept em resposta a uma solicitação de consulta DIAMETER. Isso é iniciado por meio de um script de ponto de extensão ou pelo Mecanismo de regra e política, configurando-o em uma nova variável de ambiente denominada Serviço de consulta.

O serviço Consulta DIAMETER deve ser selecionado através de um script de ponto de extensão ou através do Mecanismo de Regra e Política, definindo-o para uma nova variável de ambiente denominada Serviço de Consulta. A razão para isso é que a solicitação de consulta DIAMETER vem como uma solicitação de acesso e o servidor não tem como saber se é uma solicitação de consulta DIAMETER ou uma solicitação de autenticação normal. A definição da variável de ambiente Query-Service informa ao servidor Prime Access Registrar que a solicitação é uma solicitação DIAMETER Query para que o servidor Prime Access Registrar possa processar a solicitação com o serviço de consulta de diâmetro definido na variável de ambiente Query-Service.

Quando um serviço de consulta DIAMETER é selecionado para processar uma solicitação de acesso, ele consulta a lista configurada de gerentes de sessão para um registro correspondente usando o valor QueryKey configurado no Gerenciador de recursos do cache de sessão mencionado nesses gerentes de sessão como chave. Se um registro correspondente for encontrado, um Access-Accept contendo uma lista de atributos em cache presentes (com base na configuração) no registro correspondente será enviado de volta ao cliente. Se o cache de sessão contiver um atributo com vários valores, todos os valores desse atributo serão retornados na resposta como um atributo com vários valores. Se não houver registro correspondente, um pacote Access-Reject será enviado ao cliente.

O Prime Access Registrar apresenta pontos de script no nível do Session Manager, juntamente com interfaces programáveis (APIs) automáticas para acessar informações em cache presentes no registro da sessão. Você pode usar esses pontos de script e APIs para gravar scripts de ponto de extensão para modificar as informações em cache.

No momento, nossa implantação não tem scripts escritos ou usa APIs programáveis para acessar esses dados, mas a opção está lá.

Os atributos que nosso gerente de sessão armazena no momento são:

Codificado com hardware em /radius/resourcemanagers/swmcache/AttributesToBeCached:

- Não-3GPP-User-Data

- Seleção de serviço

Por padrão:

- Nome de usuário (IMSI)

- Host de origem

- Auth-Application-Id

- Origem-território

- ID da sessão

Tais atributos são visíveis por sessão quando este comando query-sessions é usado na CLI.

Verificar

No momento, não há procedimento de verificação disponível para esta configuração.

Troubleshoot

Atualmente, não existem informações disponíveis específicas sobre Troubleshooting para esta configuração.