In dem Dokumentationssatz für dieses Produkt wird die Verwendung inklusiver Sprache angestrebt. Für die Zwecke dieses Dokumentationssatzes wird Sprache als „inklusiv“ verstanden, wenn sie keine Diskriminierung aufgrund von Alter, körperlicher und/oder geistiger Behinderung, Geschlechtszugehörigkeit und -identität, ethnischer Identität, sexueller Orientierung, sozioökonomischem Status und Intersektionalität impliziert. Dennoch können in der Dokumentation stilistische Abweichungen von diesem Bemühen auftreten, wenn Text verwendet wird, der in Benutzeroberflächen der Produktsoftware fest codiert ist, auf RFP-Dokumentation basiert oder von einem genannten Drittanbieterprodukt verwendet wird. Hier erfahren Sie mehr darüber, wie Cisco inklusive Sprache verwendet.
Cisco hat dieses Dokument maschinell übersetzen und von einem menschlichen Übersetzer editieren und korrigieren lassen, um unseren Benutzern auf der ganzen Welt Support-Inhalte in ihrer eigenen Sprache zu bieten. Bitte beachten Sie, dass selbst die beste maschinelle Übersetzung nicht so genau ist wie eine von einem professionellen Übersetzer angefertigte. Cisco Systems, Inc. übernimmt keine Haftung für die Richtigkeit dieser Übersetzungen und empfiehlt, immer das englische Originaldokument (siehe bereitgestellter Link) heranzuziehen.
Dieses Dokument beschreibt das Verfahren zur Konfiguration der Authentifizierung, Autorisierung und Abrechnung (AAA) von Cisco Prime Access Registrar (CPAR).
Dieses Verfahren gilt für eine OpenStack-Umgebung mit der NEWTON-Version, in der ESC CPAR nicht verwaltet und CPAR direkt auf dem auf OpenStack bereitgestellten virtuellen System installiert ist.
Ultra-M ist eine vorkonfigurierte und validierte virtualisierte Mobile Packet Core-Lösung, die die Bereitstellung von VNFs vereinfacht. OpenStack ist der Virtualized Infrastructure Manager (VIM) für Ultra-M und besteht aus den folgenden Knotentypen:
Die High-Level-Architektur von Ultra-M und die beteiligten Komponenten sind in diesem Bild dargestellt:
Hinweis: Die Ultra M 5.1.x-Version wird in Betracht gezogen, um die in diesem Dokument beschriebenen Verfahren zu definieren.
Die globale Konfiguration des Durchmessers muss mit entsprechenden Werten konfiguriert werden, z. B. Anwendungs-IDs und ursprüngliche Host-IP-Adresse, Bereich usw.
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 muss mit der entsprechenden IP-Adresse aktualisiert werden, damit sie für den im Transportmanagement verwendeten vollqualifizierten AAA-Domänennamen (FQDN) und den aufzulösenden Hostnamen aufgelöst werden kann.
Die Client-Konfiguration muss mit den Diameter-Peers konfiguriert werden, von denen der Datenverkehr empfangen wird, in diesem Fall 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
FastRules wird verwendet, um den entsprechenden Dienst in der Laufzeit basierend auf bestimmten Bedingungen zuzuordnen. Die Bedingung basiert auf den Attributed Value Pairs (AVP) und ihren Werten in der Durchmessermeldung. Wenn keine schnellen Regeln übereinstimmen, wird der Standarddienst ausgewählt.
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/
Wenn keine der oben genannten FastRules übereinstimmt, wird das Paket gemäß dem Standarddienst verarbeitet.
Cd /Radius/ DefaultAuthenticationService~ = encrypted-imsi-service DefaultAuthorizationService~ = 3gpp-auth
Bei der Servicekonfiguration wird der Service gemäß der Authentifizierungs- und Autorisierungsanforderung definiert:
CD/Radius/Dienste/
Encrypted-IMSI-Service wird für EAP-AKA-Authentifizierungen und IMSI-verschlüsselt für Apple-Geräte verwendet. Falls nicht erforderlich, setzen Sie den EncryptedIMSI-Parameter auf 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
Der Dia-Proxy-Dienst wird verwendet, um den Remote-Server auszuwählen und kann Peer-Richtlinien definieren. Die GroupFailover-Option wird als MultiplePeerPolicy verwendet, wenn mehrere Remote-Peers vorhanden sind und diese gruppieren möchten. Definieren Sie außerdem die GroupTimeOutPolicy für Failover auf mehrere Gruppen.
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
Die oben genannten Servergruppen sind definiert 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
Der S6b-Dienst wird verwendet, um die PGW-Aktualisierungsprozedur für S6b zu verarbeiten.
s6b/ Name = s6b Description = Type = 3gpp-authorization Protocol = diameter IncomingScript~ = OutgoingScript~ = SessionManager = DiameterProxyService = dia-proxy FetchLocationInformation = False
Der 3gpp-reverse wird für die Verarbeitung von durch HSS initiierten Nachrichten verwendet.
3gpp-reverse/ Name = 3gpp-reverse Description = Type = 3gpp-reverse-authorization IncomingScript~ = AAARTRCheck OutgoingScript~ = SessionManager = sm1 TranslationService =
Der Abfragedienst wird während der erneuten Autorisierung verwendet, um das aktualisierte Profil direkt aus dem Cache abzurufen, basierend auf der vom HSS empfangenen PPR.
query/ Name = query Description = Type = diameter-query IncomingScript~ = OutgoingScript~ = removeuserdataquery UpdateSessionLastAccessTime = False SessionManagersToBeQueried/ 1. sm1 AttributesToBeReturned/ 1. Non-3GPP-User-Data 2. Service-Selection
Der Null-Service besteht darin, nur mit einem Erfolg für den S6b-Terminierungsprozess zu antworten, da keine über S6b zwischengespeicherte Sitzung vorhanden ist.
null/ Name = null Description = Type = null IncomingScript~ = OutgoingScript~ =
Remoteserver werden mit einem Remote-Peer definiert, an den Pakete wie der HSS von AAA gesendet werden. Wenn DRA verwendet wird, definieren Sie die gleichen DRA-Informationen sowohl auf Clients als auch auf Remote-Servern.
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 =
Der Sitzungs-Manager definiert den Sitzungs-Cache und arbeitet mit dem Ressourcen-Manager zusammen. Der Sitzungsmanager wird in den 3GPP-Auth-, 3GPP-Reverse- und Abfragediensten referenziert.
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
Ressourcenmanager werden definiert, um die Ressourcen zuzuweisen, und werden Sitzungsmanagern zugeordnet.
Diese drei Ressourcenmanager werden verwendet.
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/
In dieser Tabelle werden alle Skripte angezeigt, die während der Paketverarbeitung verwendet wurden.
Name |
Skriptdatei |
Einstiegspunkt |
Beschreibung |
Clid |
test.tcl |
Klippe |
Sucht nach der Anwendungs-ID 16777264 und dem Diameter-Command-Code 268, ruft den Wert für den Benutzernamen ab und kopiert ihn aus der eingehenden Anforderung in das Attribut für die Anrufer-ID. Auf dieses Skript wird in Radius Incoming scriptinpoint verwiesen. |
rmserver |
test.tcl |
rm_server |
Sucht nach dem Attribut "Server-Assignment-Type", das das Feld "Remote-Server" aus der eingehenden Anforderung entfernt, falls dieses Attribut vorhanden ist. Dieses Skript wird in dia-proxy service Incoming scriptinpoint referenziert |
EntfernenBenutzerdaten |
libremoveuserdata.so |
EntfernenBenutzerdaten |
Rex-Skript wird verwendet, um zuerst die von HSS empfangenen Informationen zu überprüfen, insbesondere "Non-3GPP-IP-Access" und "Non-3GPP-IP-Access-APN", die beide den Wert "NON_3GPP_SUBSCRIPTION_ALLOWED (0)" und "Non_3GPP_APNS_ENABLE (0)" haben sollten, da sonst die Autorisierung fehlschlägt. Anschließend wird ein einfacher Vergleich des APN-Namens, der von der SWm DER-Nachricht (Serviceauswahl-AVP) empfangen wurde, mit der von HSS heruntergeladenen APN-Konfiguration durchgeführt. Wenn eine Übereinstimmung besteht, werden nur die spezifischen APN-Details kopiert, die unerwünschten AVPs entfernt und die endgültige DEA für die ePDG vorbereitet. Wenn keine Übereinstimmungsautorisierung fehlschlägt und keine Serviceauswahl-AVP in DER vorhanden ist, werden alle APN-Informationen gesendet, jedoch als äußere AVP. Dieses Skript wird in 3gpp-auth Outgoing Scriptinpoint referenziert. |
EntfernenBenutzerDatenabfragen |
libremoveuserdataquery.so |
EntfernenBenutzerdaten |
Rex-Skript wird verwendet, um zuerst die empfangenen Informationen von HSS zu überprüfen, insbesondere die Werte Non-3GPP-IP-Access und Non-3GPP-IP-Access-APN sollten beide den Wert NON_3GPP_SUBSCRIPTION_ALLOWED (0) und Non_3GPP_APNS_ENABLE (0) haben, sonst schlägt die Autorisierung fehl. Anschließend wird der APN-Name, der von der SWm DER-Nachricht empfangen wurde (Service-Selection-AVP), mit der von HSS heruntergeladenen APN-Konfiguration verglichen. Wenn eine Übereinstimmung besteht, werden nur die spezifischen APN-Details kopiert, die unerwünschten AVPs entfernt und die endgültige DEA für ePDG vorbereitet. Wenn keine Übereinstimmungsautorisierung fehlschlägt und keine Serviceauswahl-AVP in DER vorhanden ist, werden alle APN-Informationen gesendet, jedoch als äußere AVP. Auf dieses Skript wird im Abfragedienst verwiesenAusgehender Skriptinpoint |
Ausgang |
test.tcl |
NewsessionState |
Eingehendes Skript des Dia-Proxydiensts - wird verwendet, um die Haftfunktion für die Nachrichten aufzuheben, die bereits verarbeitet wurden. Beispiel: Wenn MAR/MAA von DRA1 empfangen wird, verwendet der nachfolgende Benutzer-SAR denselben DRA1. Wenn dieser nicht verfügbar ist und der Status erhalten bleibt, erfolgt kein Failover. Um ein Failover auf alternative DRAs durchzuführen, muss dieses Problem behoben werden. Das Skript wird verwendet, um den "Visited-Network-Identifier" für S6b SAR(PGW_update) HSS zu entfernen. |
rmdh |
test.tcl |
rmdh |
Entfernt DestinationHost AVP in Paketen mit DiameterCode 301 und 303. |
rmvnid |
test.tcl |
rmvnid |
Entfernt Visited-Network-Identifier AVP in Paketen mit DiameterCode 256 und der Server-Assignment-Type ist 13. |
AAAReplaceResultCode |
test.tcl |
ErsetzenResultCode |
Ersetzen Sie Resultcode-AVP durch "Test" in Paketen mit DiameterCode 274 und Resultcode "Diameter-Unknown-Session-Id". |
AAARTRCheck |
librexblockRTR.so |
AAARTRCheck |
Wenn mehrere RTRs für dieselbe Sitzung empfangen werden, werden doppelte davon gelöscht und protokolliert. |
Einige der Skripte sind in einer höheren Version möglicherweise nicht erforderlich. Die aufgeführten Skripte sind in CPAR Version 7.3.0.3 zu verwenden.
Alle Skripte befinden sich im Pfad /opt/CSCOar/scripts/radius/.
Im Ordner /opt/CSCOar/logs werden alle Anwendungsprotokolle gespeichert. Der Dateiname_radius_1_log registriert alle verworfenen und abgelehnten Anfragen. Daher ist es wichtig, diese Datei für die Fehlerbehebung zu speichern.
CPAR ermöglicht eine sehr flexible Konfiguration, um dieses Protokoll entsprechend Ihren Anforderungen zu speichern. Abhängig von der Anforderung kann dieser Wert definiert werden, hier werden die letzten 20 Protokolldateien gespeichert, jede Datei hat eine Größe von 5 MB.
Um diese spezifische Protokollierung zu aktivieren, müssen zwei Parameter im aregcmd-Modus konfiguriert werden:
/Radius/Advanced
LogFileSize = "5 MB"
LogFileCount = 20:
Die Namenskonvention für Protokolle folgt der in dieser Tabelle angegebenen Regel:
Beschreibung |
Name der Protokolldatei |
Neuestes Protokoll |
name_radius_1_log |
2. bis neuestes Protokoll |
name_radius_1_log.01 |
Protokoll 3 bis neueste Version |
name_radius_1_log.02 |
... |
... |
20. bis neuestes Protokoll |
name_radius_1_log.19 |
Tabelle 2 Nummerierung der Protokolle.
CPAR verfügt über vom Server konfigurierbare Zeitüberschreitungen. Das aktuelle Setup hat die folgende Konfiguration:
Allgemeine Zeitüberschreitungen in /Radius/Advanced
Client-Timeouts in /Radius/Clients/<Client_Name>
Timeouts für Remote-Server in /Radius/RemoteServers/<remote_server_name>
Dieses Dokument beschreibt die Bedeutung des Befehls Diameter Packet size und die Gründe, die Sie dazu veranlasst haben, diesen Parameter auf den Wert 4096 zu setzen.
Wie in der obigen Abbildung erläutert, erwartet CPAR eine Paketgröße mit einem maximalen Durchmesser von 4096 Byte. Dieser Wert wird unter der DiameterPacketSize-Variable im Verzeichnis "/Radius/Advanced/Diameter/TransportManagement" konfiguriert. Alle Pakete, die diesen Wert nicht erfüllen, werden verworfen. Die Gesamtpaketgröße wird ermittelt, nachdem die Größe der zwischengespeicherten Sitzungsattribute plus die Größe des empfangenen Durchmesserpakets hinzugefügt wurde.
Betrachten wir beispielsweise eine PPR-Paketgröße von 4000 Byte, und innerhalb dieser Nachricht hat Non-3GPP-User-Data eine Größe von 3800 Byte. Wenn die Sitzung bereits einige Attribute zwischengespeichert hat und die Größe der zwischengespeicherten Daten 297 Byte beträgt, überschreitet die Sitzungsgröße 4096 Byte, und die Nachricht wird von CPAR verworfen.
Während des Projektes und der Analyse von Paketen größer als 4096 wurde durchgeführt. Die Ergebnisse zeigen, dass durchschnittlich 36 Pakete (SAA) mit mehr als 4.096 Anrufen pro CPAR-Instanz pro Tag eingehen. Diese Anzahl an Paketen ist nicht aussagekräftig, da sie sehr klein ist.
Dieser Parameter ist konfigurierbar und kann bei Bedarf erhöht werden. Die Wertsteigerung über 4096 hinaus bringt jedoch einige Nachteile mit sich:
Dieses Bild zeigt ein Beispiel für die Ausgabe des obersten Befehls in einer Instanz, in der DiameterPacketSize auf 4096 konfiguriert ist:
Wenn der Parameter DiameterPackerSize auf 6000 erhöht wird, sieht die Ausgabe des obersten Befehls wie folgt aus:
Es wird empfohlen, diesen Parameter auf 4096 zu setzen, da entschieden wurde, dass die Anzahl der Pakete, die größer als 4096 sind, vernachlässigbar ist und die Nachteile ein unerwünschtes Verhalten darstellen würden.
Der einzige Mechanismus, der in CPAR zur Überwachung der Anzahl der Sitzungen vorhanden ist, wird durch die in diesem Dokument erläuterte Methode erreicht. Es gibt keine OID, die über SNMP mit diesen Informationen abgerufen werden kann.
CPAR ist in der Lage, Sitzungen zu verwalten, geben Sie die CPAR-CLI mit /opt/CSCOar/bin/aregcmd ein, und melden Sie sich mit Administratorrechten an.
Mit dem Befehl count-sessions /r zeigt alle CPAR alle Sitzungen an, die zu diesem Zeitpunkt damit verbunden sind.
Um mehr Informationen über die Sitzung(en) anzuzeigen, hat CPAR den Befehl query-sessions /r all, der die Informationen über alle Sitzungen angibt, die an CPAR angeschlossen sind.
Um nur die Informationen einer bestimmten Sitzung anzuzeigen, kann der Befehl geändert und der USER-Wert verwendet werden, z. B.: query-sessions /r with-User 310310990007655
Diese Liste enthält alle möglichen Filter für den Befehl query-sessions:
Zum Trennen von CPAR-Sitzungen verwenden Sie den Befehl release-sessions /r all, und alle Sitzungen, die an diesen Moment angeschlossen sind, werden getrennt.
Ein Filter kann angewendet werden, um eine bestimmte Sitzung zu trennen.
Prime Access Registrar unterstützt das Attribut-Caching bei Session Managern, das zur Abfrage von Daten verwendet werden kann. Dieser Diameter-Abfragedienst enthält eine Liste der abzufragenden Sitzungsmanager und eine Liste von (zwischengespeicherten) Attributen, die im Access-Accept-Paket als Antwort auf eine DIAMETER-Abfrageanforderung zurückgegeben werden. Dies wird über ein Erweiterungspunktskript oder über die Regel- und Policy Engine initiiert, indem sie eine neue Umgebungsvariable mit dem Namen Query-Service festlegt.
Der DIAMETER-Abfragedienst sollte über ein Erweiterungspunktskript oder über die Regel- und Policy Engine ausgewählt werden, indem er auf eine neue Umgebungsvariable mit dem Namen Query-Service festgelegt wird. Der Grund dafür ist, dass die DIAMETER Query-Anfrage als Access-Anfrage eingeht und der Server nicht wissen kann, ob es sich um eine DIAMETER Query-Anfrage oder um eine normale Authentifizierungsanfrage handelt. Durch das Festlegen der Umgebungsvariable Query-Service wird der Prime Access Registrar-Server informiert, dass es sich bei der Anforderung um eine DIAMETER Query-Anforderung handelt, sodass der Prime Access Registrar-Server die Anforderung mit dem in der Umgebungsvariable Query-Service festgelegten Diameter-Abfragedienst verarbeiten kann.
Wenn ein DIAMETER-Abfragedienst für die Verarbeitung einer Access-Request ausgewählt ist, fragt er die konfigurierte Liste der Session-Manager nach einem passenden Datensatz ab. Hierzu wird der QueryKey-Wert verwendet, der im Session-Cache-Ressourcen-Manager konfiguriert ist, auf den unter diesen Session-Managern als Schlüssel verwiesen wird. Wenn ein passender Datensatz gefunden wird, wird ein Access-Accept mit einer Liste von zwischengespeicherten Attributen, die (auf Grundlage der Konfiguration) im passenden Datensatz vorhanden sind, an den Client zurückgesendet. Wenn der Sitzungscache ein mehrwertiges Attribut enthält, werden alle Werte dieses Attributs in der Antwort als mehrwertiges Attribut zurückgegeben. Wenn kein passender Datensatz vorhanden ist, wird ein Access-Reject-Paket an den Client gesendet.
Prime Access Registrar führt Scripting-Punkte auf Session Manager-Ebene sowie automatisierte programmierbare Schnittstellen (APIs) ein, um auf im Sitzungsdatensatz vorhandene, zwischengespeicherte Informationen zuzugreifen. Sie können diese Skriptpunkte und APIs verwenden, um Erweiterungspunktskripts zu schreiben, um die zwischengespeicherten Informationen zu ändern.
Derzeit verfügt unsere Bereitstellung nicht über geschriebene Skripte oder nutzt programmierbare APIs, um auf solche Daten zuzugreifen, aber die Option ist vorhanden.
Die derzeit von unserem Sitzungsmanager gespeicherten Attribute sind:
Festcodiert unter /radius/resourcemanagers/swmcache/AttributesToBeCached:
Standardmäßig:
Solche Attribute sind für jede Sitzung sichtbar, wenn dieser Befehl für Abfragesitzungen in der CLI verwendet wird.
Für diese Konfiguration ist derzeit kein Überprüfungsverfahren verfügbar.
Für diese Konfiguration sind derzeit keine spezifischen Informationen zur Fehlerbehebung verfügbar.
Überarbeitung | Veröffentlichungsdatum | Kommentare |
---|---|---|
1.0 |
28-Aug-2018 |
Erstveröffentlichung |