CPAR 7.3 User Guide
CPAR 7.3 User Guide
3
User Guide
Published: August 11, 2017
THE SOFTWARE LICENSE AND LIMITED WARRANTY FOR THE ACCOMPANYING PRODUCT ARE SET FORTH IN THE INFORMATION PACKET THAT
SHIPPED WITH THE PRODUCT AND ARE INCORPORATED HEREIN BY THIS REFERENCE. IF YOU ARE UNABLE TO LOCATE THE SOFTWARE LICENSE
OR LIMITED WARRANTY, CONTACT YOUR CISCO REPRESENTATIVE FOR A COPY.
The Cisco implementation of TCP header compression is an adaptation of a program developed by the University of California, Berkeley (UCB) as part of UCB’s public
domain version of the UNIX operating system. All rights reserved. Copyright © 1981, Regents of the University of California.
NOTWITHSTANDING ANY OTHER WARRANTY HEREIN, ALL DOCUMENT FILES AND SOFTWARE OF THESE SUPPLIERS ARE PROVIDED “AS IS” WITH
ALL FAULTS. CISCO AND THE ABOVE-NAMED SUPPLIERS DISCLAIM ALL WARRANTIES, EXPRESSED OR IMPLIED, INCLUDING, WITHOUT
LIMITATION, THOSE OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OR ARISING FROM A COURSE OF
DEALING, USAGE, OR TRADE PRACTICE.
IN NO EVENT SHALL CISCO OR ITS SUPPLIERS BE LIABLE FOR ANY INDIRECT, SPECIAL, CONSEQUENTIAL, OR INCIDENTAL DAMAGES, INCLUDING,
WITHOUT LIMITATION, LOST PROFITS OR LOSS OR DAMAGE TO DATA ARISING OUT OF THE USE OR INABILITY TO USE THIS MANUAL, EVEN IF CISCO
OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
Cisco and the Cisco logo are trademarks or registered trademarks of Cisco and/or its affiliates in the U.S. and other countries. To view a list of Cisco trademarks, go to this
URL: www.cisco.com/go/trademarks. Third-party trademarks mentioned are the property of their respective owners. The use of the word partner does not imply a partnership
relationship between Cisco and any other company. (1721R)
Any Internet Protocol (IP) addresses used in this document are not intended to be actual addresses. Any examples, command display output, and figures included in the
document are shown for illustrative purposes only. Any use of actual IP addresses in illustrative content is unintentional and coincidental.
1-7
Profiles 2-11
Adding Profile Details 2-12
UserGroups 2-12
Adding UserGroup Details 2-14
UserList 2-14
Adding UserList Details 2-15
Users 2-16
Adding User Details 2-17
Scripts 2-18
Adding Script Details 2-21
Policies 2-22
Adding Policy Details 2-22
GroupServers 2-22
Adding Group Server Details 2-24
Services 2-24
Simple Services 2-24
ServiceWithRS 2-32
PEAP Service 2-36
EAP Service 2-39
Diameter Service 2-50
CommandSets 2-55
Adding a Command Set 2-55
DeviceAccessRules 2-56
Adding a Device Access Rule 2-56
FastRules 2-57
Adding a Fast Rule 2-57
Replication 2-58
Adding Replication Details 2-59
Adding the Replication Member Details 2-59
RADIUSDictionary 2-59
Adding RADIUS Dictionary Details 2-60
VendorDictionary 2-61
Adding Vendor Dictionary Details 2-62
Vendor Attributes 2-62
Adding Vendor Attributes 2-63
Vendors 2-63
Adding Vendor Details 2-64
Translations 2-65
Adding Translation Details 2-66
TranslationGroups 2-66
DiameterStatistics 2-146
TACACSStatistics 2-155
Back Up and Restore 2-157
LicenseUpload 2-157
Read-Only GUI 2-158
SCTP Multihoming Support for Diameter Client and Remote Server 4-24
EAP-AKA 5-2
Configuring EAP-AKA 5-2
Testing EAP-AKA with radclient 5-6
EAP-FAST 5-8
Configuring EAP-FAST 5-9
EAP-FAST Keystores 5-13
Testing EAP-FAST with radclient 5-13
PAC Provisioning 5-14
Authentication 5-15
Parameters Used for Certificate-Based Authentication 5-15
radclient Command Reference 5-16
PAC—Credential Export Utility 5-18
PAC Export 5-18
PAC Display 5-19
Syntax Summary 5-19
EAP-GTC 5-19
Configuring EAP-GTC 5-19
Testing EAP-GTC with radclient 5-20
EAP-LEAP 5-21
Configuring EAP-LEAP 5-21
EAP-MD5 5-22
Configuring EAP-MD5 5-22
EAP-Negotiate 5-23
Configuring EAP-Negotiate 5-23
Negotiating PEAP Tunnel Services 5-24
Testing EAP-Negotiate with radclient 5-24
EAP-MSChapV2 5-24
Configuring EAP-MSChapV2 5-24
Testing EAP-MSChapV2 with radclient 5-25
EAP-SIM 5-26
Configuring EAP-SIM 5-26
Quintets to Triplets Conversion 5-30
How to Configure Oracle, Mysql Accounting with the Buffering Option Enabled 5-54
To Select the SQL Statement in Run Time Accounting 5-54
Query 5-54
Insert 5-55
Update 5-55
Delete 5-55
Configuring Oracle, Mysql Accounting 5-56
How Suffix and Prefix Rules Work with Prime Access Registrar 5-57
Configuring Prefix and Suffix Policies 5-57
CRL Support for Cisco Prime Access Registrar 5-58
Configuring Certificate Validation Using CRL 5-59
Using Intermediate Certificates in Prime Access Registrar 5-59
Rolling Encryption Support for Pseudonym Generation in EAP-SIM, EAP-AKA, and EAP-AKA’
Services 5-61
Support for Decrypting Encrypted-IMSI for EAP-SIM, EAP-AKA, and EAP-AKA’ Services 5-64
Overview 7-1
Overview 8-2
Query-Notify 9-6
Call Flow 9-7
Configuration Examples 9-8
Memory and Performance Impact 9-9
Overview 15-1
Configuration 16-1
Command Line Utility 16-1
Recovery 16-2
INDEX
The chapter provides an overview of the RADIUS server, including connection steps, RADIUS message
types, and using Cisco Prime Access Registrar (Prime Access Registrar) as a proxy server.
Prime Access Registrar is a 3GPP-compliant, 64-bit carrier-class RADIUS (Remote Authentication
Dial-In User Service)/Diameter server that enables multiple dial-in Network Access Server (NAS)
devices to share a common authentication, authorization, and accounting database.
Prime Access Registrar handles the following tasks:
• Authentication—determines the identity of users and whether they can be allowed to access the
network
• Authorization—determines the level of network services available to authenticated users after they
are connected
• Accounting—keeps track of each user’s network activity
• Session and resource management—tracks user sessions and allocates dynamic resources
Using a RADIUS server allows you to better manage the access to your network, as it allows you to store
all security information in a single, centralized database instead of distributing the information around
the network in many different devices. You can make changes to that single database instead of making
changes to every network access server in your network.
Prime Access Registrar also allows you to manage the complex interconnections of the new network
elements in order to:
• adequately manage the traffic
• perform appropriate load balancing for desired load distribution
• allow binding of different protocol interfaces corresponding to a subscriber/network element
Service providers transform their 3G and 4G wireless networks with complex services, tiered charging,
converged billing, and more by introducing increasing numbers and types of Diameter-based network
elements. LTE and IMS networks are the most likely to implement these new network
elements—including Policy and Charging Rules Functions (PCRF), Home Subscriber Servers (HSS),
Mobility Management Entities (MME), Online Charging Systems (OCS), and others. As a result, as the
traffic levels grow, these wireless networks are becoming more difficult to manage and scale without the
Prime Access Registrar infrastructure.
Prime Access Registrar allows GUI-based, CLI-based, and REST API-based configurations. For more
details, see Chapter 2, “Using the Graphical User Interface”, “Using the aregcmd Commands” chapter
of the Cisco Prime Access Registrar 7.3 Administrator Guide, and “REST API Framework” chapter of
the Cisco Prime Access Registrar 7.3 Reference Guide.
• Use Users to store information about particular users, such as name, password, group membership,
base profile, and so on.
• Use UserGroups to group users by function, such as PPP, Telnet, or multiprotocol users. Groups
allow you to maintain common authentication and authorization requirements in one place, and have
them referenced by many users.
For more information about UserLists and UserGroups, see the “Configuring and Monitoring the
RADIUS Server” chapter of the Cisco Prime Access Registrar 7.3 Administrator Guide.
Profiles
Prime Access Registrar uses Profiles that allow you to group RADIUS attributes to be included in an
Access-Accept packet. These attributes include values that are appropriate for a particular user class,
such as PPP or Telnet user. The user’s base profile defines the user’s attributes, which are then added to
the response as part of the authorization process.
Although you can use Group or Profile objects in a similar manner, choosing whether to use one rather
than the other depends on your site. If you require some choice in determining how to authorize or
authenticate a user session, then creating specific profiles, and specifying a group that uses a script to
choose among the profiles is more flexible. In such a situation, you might create a default group and then
write a script that selects the appropriate profile based on the specific request. The benefit to this
technique is each user can have a single entry, and use the appropriate profile depending on the way they
log in.
For more information about Profiles, see the “Configuring and Monitoring the RADIUS Server” chapter
of the Cisco Prime Access Registrar 7.3 Administrator Guide.
Scripts
Prime Access Registrar allows you to create scripts you can execute at various points within the
processing hierarchy.
• Incoming scripts—enable you to read and set the attributes of the request packet, and set or change
the Environment dictionary variables. You can use the environment variables to control subsequent
processing, such as specifying the use of a particular authentication service.
• Outgoing scripts—enable you to modify attributes returned in the response packet.
For more information about Scripts, see the “Configuring and Monitoring the RADIUS Server” chapter
of the Cisco Prime Access Registrar 7.3 Administrator Guide.
Services
Prime Access Registrar uses Services to let you determine how authentication, authorization, and/or
accounting are performed.
For example, to use Services for authentication:
• When you want the authentication to be performed by the Prime Access Registrar RADIUS server,
you can specify the local service. In this, case you must specify a specific UserList.
• When you want the authentication performed by another server, which might run an independent
application on the same or different host than your RADIUS server, you can specify either a radius,
ldap, or tacacs-udp service. In this case, you must list these servers by name.
When you have specified more than one authentication service, Prime Access Registrar determines
which one to use for a particular Access-Request by checking the following:
• When an incoming script has set the Environment dictionary variable Authentication-Service with
the name of a Service, Prime Access Registrar uses that service.
• Otherwise, Prime Access Registrar uses the default authentication service. The default
authentication service is a property of the Radius object.
Prime Access Registrar chooses the authentication service based on the variable
Authentication-Service, or the default. The properties of that Service, specify many of the details of
that authentication service, such as, the specific user list to use or the specific application (possibly
remote) to use in the authentication process.
For more information about Services, see the “Configuring and Monitoring the RADIUS Server” chapter
of the Cisco Prime Access Registrar 7.3 Administrator Guide.
RADIUS PROTOCOL
• Types of RADIUS Messages
Packet Contents
The information in each RADIUS message is encapsulated in a UDP (User Datagram Protocol) data
packet. A packet is a block of data in a standard format for transmission. It is accompanied by other
information, such as the origin and destination of the data.
Table 1-1 lists a description of the five fields in each message packet.
Fields Description
Code Indicates message type: Access-Request, Access-Accept, Access-Reject,
Access-Challenge, Accounting-Request, or Accounting-Response.
Identifier Contains a value that is copied into the server’s response so the client can
correctly associate its requests and the server’s responses when multiple
users are being authenticated simultaneously.
Length Provides a simple error-checking device. The server silently drops a packet
if it is shorter than the value specified in the length field, and ignores the
octets beyond the value of the length field.
Authenticator Contains a value for a Request Authenticator or a Response Authenticator.
The Request Authenticator is included in a client’s Access-Request. The
value is unpredictable and unique, and is added to the client/server shared
secret so the combination can be run through a one-way algorithm. The NAS
then uses the result in conjunction with the shared secret to encrypt the
user’s password.
Attribute(s) Depends on the type of message being sent. The number of attribute/value
pairs included in the packet’s attribute field is variable, including those
required or optional for the type of service requested.
Related Documentation
For a complete list of Cisco Prime Access Registrar documentation, see the Cisco Prime Access
Registrar 7.3 Documentation Overview.
Note We sometimes update the documentation after original publication. Therefore, you should also review
the documentation on Cisco.com for any updates.
Cisco Prime Access Registrar (Prime Access Registrar) is a Remote Authentication Dial-In User Service
(RADIUS) / Diameter server that enables multiple dial-in Network Access Server (NAS) devices to
share a common authentication, authorization, and accounting database.
This chapter describes how to use the standalone graphical user interface (GUI) of
Prime Access Registrar to:
• Configure Cisco Prime Access Registrar
• Manage Network Resources managed by Prime Access Registrar
• Administer Prime Access Registrar related activities
The following topics help you to work with and understand the Prime Access Registrar GUI:
• Launching the GUI
• Common Methodologies
• Dashboard
• Configuring Cisco Prime Access Registrar
• Network Resources
• Administration
• Read-Only GUI
Note You can also use Mozilla Firefox 16.0 and Google Chrome 23.0 browsers to launch the
Prime Access Registrar GUI. It can be launched using IPv6 address also.
To start a secure socket layer (SSL) connection, use https to connect to the Prime Access Registrar
server and port 8443, as in the following:
https://ar_server_name:8443
By default, both HTTP and HTTPS are enabled. The following sections describe how to disable HTTP
and HTTPS:
• Disabling HTTP
• Disabling HTTPS
Note For proper function of Prime Access Registrar GUI, the DNS name resolution for the server's hostname
should be defined precisely.
Disabling HTTP
To disable HTTP access, you must edit the server.xml file in the /cisco-ar/apache-tomcat-8.5.16/conf
directory. You must have root privileges to edit this file.
Use a text editor such as vi to open the server.xml file, and comment out lines 96-99. Use the <!--
character sequence to begin a comment. Use the --> character sequence to end a comment.
The following are lines 93-99 of the server.xml file:
<!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->
<!-- CHANGE MADE: Note: to disable HTTP, comment out this Connector -->
<Connector port="8080" maxHttpHeaderSize="8192"
maxThreads=”150 minSpare/Threads=”25” maxSpareThreads=”75”
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" />
The following example shows these lines with beginning and ending comment sequences to disable
HTTP:
<!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->
<!-- CHANGE MADE: Note: to disable HTTP, comment out this Connector -->
<!--
<Connector className="org.apache.catalina.connector.http.HttpConnector"
port="8080" minProcessors="5" maxProcessors="75"
enableLookups="true" redirectPort="8443"
acceptCount="10" debug="0" connectionTimeout="60000"/>
-->
After you modify the server.xml file, you must restart the Prime Access Registrar server for the changes
to take effect. Use the following command line to restart the server:
/opt/CSCOar/bin/arserver restart
Disabling HTTPS
To disable HTTPS access, you must edit the server.xml file in the /cisco-ar/apache-tomcat-8.5.16/conf
directory. You must have root privileges to edit this file.
Use a text editor such as vi to open the server.xml file, and comment out lines 116-121. Use the <!--
character sequence to begin a comment. Use the --> character sequence to end a comment.
The following are lines 111-121 of the server.xml file:
<!-- Define an SSL HTTP/1.1 Connector on port 8443 -->
<!-- CHANGE MADE: enabled HTTPS.
The following example shows these lines with beginning and ending comment sequences to disable
HTTPS.
<!-- Define an SSL HTTP/1.1 Connector on port 8443 -->
<!-- CHANGE MADE: enabled HTTPS.
Note: to disable HTTPS, comment out this Connector -->
<!--
<Connector className="org.apache.catalina.connector.http.HttpConnector"
port="8443" minProcessors="5" maxProcessors="75"
enableLookups="true"
acceptCount="10" debug="0" scheme="https" secure="true">
<Factory className="org.apache.catalina.net.SSLServerSocketFactory"
keystoreFile="/cisco-ar/certs/tomcat/server-cert.p12"
keystorePass="cisco" keystoreType="PKCS12"
clientAuth="false" protocol="TLS"/>
</Connector>
-->
After you modify the server.xml file, you must restart the Prime Access Registrar server for the changes
to take effect. Use the following command line to restart the server:
/opt/CSCOar/bin/arserver restart
Login Page
The login page has fields for a username and password. This page displays when you first attempt to log
into the system, if a session times out, or after you log out of the system.
Logging In
Users who are configured as Administrators can log into the Prime Access Registrar server.
Note While logging in, do not enable the save password option in the browser.
Logging in
Step 1 Enter the relevant url in the browser. The Prime Access Registrar Login page is displayed.
Step 2 Enter the credentials in the provided fields.
Step 3 Click Login. The Prime Access Registrar main page is displayed.
Note After installation of Prime Access Registrar server, when you log into the application for the first time,
the application redirects to the change password page.
Note If aregcmd interface is active, then it needs to be closed for restarting the Prime Access Registrar
server.
Logging Out
To log out of the Prime Access Registrar GUI, click Logout in the upper right portion of the
Prime Access Registrar GUI window.
Common Methodologies
This section explains the operations that are common across the GUI interface of
Prime Access Registrar. The functions explained in this section are referred throughout to this help
system.
This section describes the following:
• Filtering Records
• Deleting Records
• Setting Record Limits per Page
• Performing Common Navigations
• Relocating Records
Filtering Records
To filter a record:
Step 1 Navigate to the required page. For example, choose Configuration > Profiles. The Profile page is
displayed.
Step 2 Enter the known details of the record in the Filter text box.
Step 3 Click Go. The matching records are displayed in the search criteria below.
Step 4 Click Clear Filter to clear the performed filter.
Editing Records
To edit the required records:
Deleting Records
To delete a record:
Step 1 Navigate to the required page. For example, choose Configuration > Profiles. The Profile page is
displayed.
Step 2 Search for a record using the filter option, if required.
Step 3 Check the check box against the record that you want to delete.
Step 4 Click Delete. A message is displayed on successful deletion of the record.
Icons Description
To view the next page
Relocating Records
Table 2-2 describes the icons used for relocating records.
Icons Description
To move a record from the Available List to the Selected List
To move all the records from the Available List to the Selected List
To move all the records from the Selected List to the Available List
Dashboard
The dashboard of the Prime Access Registrar GUI shows you the overview on the status on the server
and user session details. It consists of the three tabs: Server Status, User Sessions, and System
Information.
The Server Status provides the following details:
• AAA Server status— includes the AAA Process, Process ID, and Status.
• Health status of the AAA Server— the status of the AAA Server with respect to the performance
condition is displayed.
The User Sessions consists of two graphs.
• Number of Sessions versus Duration in Days
• Number of Sessions versus Duration in Weeks
The Number of Sessions vs Duration in Weeks report provides the session details with respect to the
number of weeks for which it is queried. The Number of Sessions vs Duration in Days report provides
the session details with respect to the number of days for which it is queried. The Time(mins) vs
Username report provides the accumulated time with respect to the selected username. This report can
also be viewed in the form of chart and grid. Click the relevant icons below the graph to view the details
in the respective formats.
The System Information section consists of two graphs:
• Disk Availability for Prime Access Registrar Directory
• CPU Utilization
The Disk Availability for Prime Access Registrar Directory report provides the details of the available
disk space and used disk space in the Prime Access Registrar directory. When you hover the mouse on
the pie chart, the details of the disk space are displayed. The CPU Utilization report provides the
utilization of the CPU for a specific time. The CPU usage is represented in kilobits per seconds.
Sessions
The Sessions feature of the dashboard helps you in viewing the records based on session id. Table 2-3
lists and describes the various session views in the page.
Fields Description
Release Click to release the selected session details.
Release All Click to release all the records from the list.
Send CoA Click to send the CoA packet to the client device.
SendPoD Click to send the disconnect packet to the NAS to clear sessions and
an Accounting-Stop notification to the client listed in the session
record.
Query All Sessions Click to query all the sessions in the server.
Note You can locate the session id using the filter option. See Filtering Records for more details.
RADIUS
The Radius object is the root of the hierarchy. For each installation of the Cisco Prime Access Registrar
server, there is one instance of the Radius object. You reach all other objects in the hierarchy from the
Radius.
Table 2-4 lists and describes the fields in the Radius Properties page.
Note Fields which are represented with the term “required” in the windows of the Prime Access Registrar
GUI, denote mandatory input.
Fields Description
Name Required; must be unique in the list of servers in the cluster.
Version Required; the currently installed version of Prime Access Registrar.
Description Optional; description of the server.
DefaultSessionManager Cisco Prime Access Registrar uses this property if none of the
incoming scripts sets the environment dictionary variable
Session-Manager.
This field is mandatory if you are upgrading to a later version of
Prime Access Registrar.
IncomingScript Optional; if there is a script, it is the first script
Cisco Prime Access Registrar runs when it receives a request from
any client and/or for any service.
OutgoingScript Optional; if there is a script, it is the last script
Cisco Prime Access Registrar runs before it sends a response to any
client.
DefaultAuthenticationService Optional; Cisco Prime Access Registrar uses this property when
none of the incoming scripts sets the environment dictionary
variable Authentication-Service.
DefaultAuthorizationService Optional; Cisco Prime Access Registrar uses this property when
none of the incoming scripts sets the environment dictionary
variable Authorization-Service.
Fields Description
DefaultAccountingService Optional; Cisco Prime Access Registrar uses this property when
none of the incoming scripts sets the environment dictionary
variable Accounting-Service.
DefaultSessionService Cisco Prime Access Registrar uses this property when none of the
incoming scripts sets the environment dictionary variable
Session-Service.
This field is mandatory if you are upgrading to a later version of
Prime Access Registrar.
Step 1 Choose Configuration > Radius. The Radius Properties page appears.
Step 2 Specify the relevant details.
Step 3 Click Save to save the changes made to the Radius properties page.
On successful setting up of the RADIUS, a message is displayed.
Profiles
You use Profiles to group RADIUS attributes that belong together, such as attributes that are appropriate
for a particular class of PPP or Telnet user. You can reference profiles by name from either the
UserGroup or the User properties. Thus, if the specifications of a particular profile change, you can
make the change in a single place and have it propagated throughout your user community.
Although you can use UserGroups or Profiles in a similar manner, choosing whether to use one rather
than the other depends on your site. When you require some choice in determining how to authorize or
authenticate a user session, then creating specific profiles, and creating a group that uses a script to
choose among them is more flexible.
In such a situation, you might create a default group, and then write a script that selects the appropriate
profile based on the specific request. The benefit to this technique is each user can have a single entry,
and use the appropriate profile depending on the way they log in.
Table 2-5 lists and describes the fields in the Add Profiles page.
Fields Description
Name Required; must be unique in the Profiles list.
Description Optional; description of the profile.
RADIUS Optional; set Radius, if the attribute and value need to be defined for
RADIUS.
Fields Description
VENDOR Optional; set Vendor, if the attribute and value need to be defined
for Vendor.
DIAMETER Optional; set Diameter, if the attribute and value need to be defined
for Diameter.
Attribute Name Optional; based on the Attribute Type selected, the attribute name is
automated. Set the relevant name for the attribute type selected.
Value Attribute Optional; set the value for the selected attribute. Click the Add
button to save the details and list it in Radius and Value list. To
navigate between the listed attributes, use the navigation option
available adjacent to the list. See Relocating Records for more
details. To delete the available attributes, select the relevant
attribute and click the Delete button below.
UserGroups
The UserGroups objects allow you to maintain common authentication and authorization attributes in
one location, and then have many users reference them. By having a central location for attributes, you
can make modifications in one place instead of having to make individual changes throughout your user
community.
For example, you can use several UserGroups to separate users by the services they use, such as a group
specifying PPP and another for Telnet.
Table 2-6 lists and describes the fields in the Add User Groups page.
Fields Description
General Properties tab
UserGroup Name Required; must be unique in the UserGroup list.
Description Optional; description of the group.
BaseProfile Optional; when you set this to the name of a profile,
Cisco Prime Access Registrar adds the properties in the Profile to the
response dictionary as part of the authorization.
AuthenticationScript Optional; when you set this property to the name of a script, you can use
the Script to perform additional authentication checks to determine
whether to accept or reject the user.
AuthorizationScript Optional; when you set this property to the name of a script, you can use
the script to add, delete, or modify the attributes of the Response
dictionary.
Attribute List tab
RADIUS Optional; set Radius, if the attribute and value need to be defined for
RADIUS.
VENDOR Optional; set Vendor, if the attribute and value need to be defined for
Vendor.
DIAMETER Optional; set Diameter, if the attribute and value need to be defined for
Diameter.
Attribute Name Optional; based on the Attribute Type selected, the attribute name is
automated. Set the relevant name for the attribute type selected.
Attribute Value Optional; set the value for the selected attribute. Click the Add button to
save the details and list it in Name and Value list. To navigate between
the listed attributes, use the navigation option available adjacent to the
list. See Relocating Records for more details. To delete the available
attributes, select the relevant attribute and click the Delete button below.
CheckItems List tab
RADIUS Optional; set Radius, if the attribute and value need to be defined for
RADIUS.
VENDOR Optional; set Vendor, if the attribute and value need to be defined for
Vendor.
DIAMETER Optional; set Diameter, if the attribute and value need to be defined for
Diameter.
Attribute Name Optional; based on the Attribute Type selected, the attribute name is
automated. Set the relevant name for the attribute type selected.
Attribute Value Optional; set the value for the selected attribute. Click the Add button to
save the details and list it in Check Name and Check Value list. To
navigate between the listed attributes, use the navigation option available
adjacent to the list. See Relocating Records for more details. To delete
the available attributes, select the relevant attribute and click the Delete
button below.
You can use the User Groups page for the following:
• Filtering Records
• Adding UserGroup Details
• Editing Records
• Deleting Records
Step 1 Choose Configuration > UserGroups. The User Groups page is displayed.
Step 2 Click Add to add new user group details. The Add UserGroup page is displayed.
Step 3 Specify the required details.
Step 4 Click Submit to save the specified details in the User Groups page. Otherwise click Cancel to return to
the User Groups page without saving the details.
On successful creation of the user groups, the User Groups page is displayed else a respective error
message is displayed.
UserList
The UserLists object contains all of the individual UserLists, which in turn, contain the specific users
stored within Prime Access Registrar. Prime Access Registrar references each specific UserList by
name from a Service whose type is set to local. When Prime Access Registrar receives a request, it
directs it to a Service. When the Service has its type property set to local, the Service looks up the user’s
entry in the specific UserList and authenticates and/or authorizes the user against that entry.
You can have more than one UserList in the UserLists object. Therefore, use the UserLists object to
divide your user community by organization. For example, you might have separate UserLists objects
for Company A and B, or you might have separate UserLists objects for different departments within a
company.
Using separate UserLists objects allows you to have the same name in different lists. For example, if
your company has three people named Bob and they work in different departments, you could create a
UserList for each department, and each Bob could use his own name. Using UserLists lets you avoid the
problem of Bob1, Bob2, and so on.
If you have more than one UserList, Prime Access Registrar can run a script in response to requests. The
script chooses the Service, and the Service specifies the actual UserList which contains the user. The
alternative is dynamic properties.
Note The attributes defined for a user list must match the protocol of the incoming packet. For example, if the
incoming packet is a Diameter packet, the attributes defined must be specific to Diameter or common to
both RADIUS and Diameter. Similarly, if the incoming packet is a RADIUS packet, the attributes
defined must be specific to RADIUS or common to both RADIUS and Diameter. Otherwise, the
incoming packet will not be processed.
Table 2-7 lists and describes the fields in the Add User List page.
Fields Description
UserList Name Required; must be unique.
Description Optional; description of the user list.
You can use the User List page for the following:
• Filtering Records
• Adding UserList Details
• Editing Records
• Deleting Records
Step 1 Choose Configuration > UserList. The User List page is displayed.
Step 2 Click Add to add new user list details. The Add UserList page is displayed.
Step 3 Enter the required details.
Step 4 Click Submit to save the specified details in the User List page. Otherwise click Cancel to return to the
User List page without saving the details.
On successful creation of the user list, the User List page is displayed else a respective error message is
displayed.
Note After adding a new user list, you can add users to the user list. See Adding User Details for more
information.
Users
The user objects are created to hold the necessary details to authenticate or authorize a user. These users
form the component of User Lists, where their details are stored within Prime Access Registrar. The
users in local Userlist can have multiple profiles.
Note Usernames might not include the forward slash (/) character. If the Prime Access Registrar server
receives an access request packet with a Username attribute containing a forward slash character and the
Prime Access Registrar server uses an internal UserList to look up users, the server produces an error
(AX_EINVAL) and might fail. If usernames require a forward slash, use a script to translate the slash to
an acceptable, unused character.
Table 2-8 lists and describes the fields in the Add Users page.
Fields Description
General Properties tab
Name Required; must be unique.
Enabled Required; must be checked to allow user access. If Enabled is not checked,
user is denied access.
Allow Null Pwd During authentication, if the Allow NULL Password environment variable is
set to TRUE, user authentication is bypassed. By default, the Allow NULL
Password environment variable is not set.
UserGroup Use the drop-down list to select a UserGroup and use the properties specified
in the UserGroup to authenticate and/or authorize the user. The default is none.
Password Required; length must be between 0-253 characters.
Base Profile Optional; use the drop-down list to select a Profile. If the service-type is not
equal to Authenticate Only, Prime Access Registrar adds the properties in the
Profile to the Response dictionary as part of the authorization. This field is
optional for the CLI, but required for the GUI. Use the menu to select a profile
other than the default None.
Confirm Password Required; must match password.
User Defined Optional; you can use this property to store notational information which you
can then use to filter the UserList. This property also sets the environment
variable for UserDefined.
Authentication Script Optional; use the drop-down list to select the name of a script to perform
additional authentication checks to determine whether to accept or reject the
user. This field is optional for the CLI, but required for the GUI. Use the menu
to select an Authentication Script other than the default None.
Authorization Script Optional; use the drop-down list to select the name of a script to add, delete,
or modify the attributes of the Response dictionary. This field is optional for
the CLI, but required for the GUI. Use the menu to select an Authorization
Script other than the default None.
Description Optional; description of the user.
Attribute List tab
Fields Description
RADIUS Optional; set Radius, if the attribute and value need to be defined for RADIUS.
VENDOR Optional; set Vendor, if the attribute and value need to be defined for Vendor.
Attribute Name Optional; based on the Attribute Type selected, the attribute name is
automated. Set the relevant name for the attribute type selected.
Attribute Value Optional; set the value for the selected attribute. Click the Add button to save
the details and list it in Name and Value list. To navigate between the listed
attributes, use the navigation option available adjacent to the list. See
Relocating Records for more details. To delete the available attributes, select
the relevant attribute and click the Delete button below.
CheckItems List tab
RADIUS Optional; set Radius, if the attribute and value need to be defined for RADIUS.
VENDOR Optional; set Vendor, if the attribute and value need to be defined for Vendor.
Attribute Name Optional; based on the Attribute Type selected, the attribute name is
automated. Set the relevant name for the attribute type selected.
Attribute Value Optional; set the value for the selected attribute. Click the Add button to save
the details and list it in Check Name and Check Value list. To navigate between
the listed attributes, use the navigation option available adjacent to the list. See
Relocating Records for more details. To delete the available attributes, select
the relevant attribute and click the Delete button below.
Step 1 Choose Configuration > UserList. The User List page is displayed.
Step 2 Click the user list name link. The Users page is displayed.
Step 3 Click Add to add new user details. The Add Users page is displayed.
Step 4 Specify the required details.
Step 5 Click Submit to save the specified details in the Users page. Otherwise click Cancel to return to the
Users page without saving the details.
On successful creation of the user details, the Users page is displayed else a respective error message is
displayed.
Scripts
The Script objects define the function Cisco Prime Access Registrar invokes whenever the Script is
referenced by name from other objects in the configuration.
There are four types of scripts:
• REX (RADIUS EXtension) scripts are written in C or C++, and thus are compiled functions that
reside in shared libraries
• TCL scripts are written in TCL, and are interpreted functions defined in source files.
• Java scripts
• Internal scripts, which allow you to add, modify, or delete attributes in the request, response, and
environment dictionaries for RADIUS, Diameter, and TACACS+. For more information about
internal scripts, see the “Using Extension Points” chapter of the
Cisco Prime Access Registrar 7.3 Administrator Guide.
When you use a Prime Access Registrar file service, Prime Access Registrar automatically closes any
opened files. However, if you write scripts that manipulate files, you are responsible for closing them.
If you have more than one extension point script (defined under /Radius/Scripts) using the same Java
class, only one instance of the class is created and used for all the extension point scripts.
For more information about scripts, see the “Using Extension Points” chapter of the
Cisco Prime Access Registrar 7.3 Administrator Guide.
Table 2-9 lists and describes the fields in the Add Scripts page.
Fields Description
Script Name Required; must be unique in the Scripts list.
Language Required; specify either REX, TCL, Java, or Internal.
Description Optional; description of the script.
File/Class Name Required; specifies either a relative or absolute path. When you specify
a relative path, the path must be relative to the
$INSTALL/scripts/radius/$Language directory. When you specify an
absolute path, the server must be able to reach it.
For Java language scripts, the name of the class that implements the
extension interface; the .class file should be placed in
/cisco-ar/scripts/radius/java
Entry Point Required; when not set, Prime Access Registrar uses the value specified
in the Name property.
Init Entry Point Optional; if set, it must be the name of the global symbol
Prime Access Registrar should call when it initializes the shared library
at system start up, and just before it unloads the shared library.
Fields Description
Init Entry Point Optional; when set, it provides the arguments to be passed to the
Arg InitEntryPoint in the environmental variable Arguments.
Note The InitEntryPoint properties allow you to perform
initialization before processing and then cleanup before stopping
the server. For example, when Prime Access Registrar unloads
the script (when it stops the RADIUS server) it calls the
InitEntryPoint again to allow it to perform any clean-up
operations as a result of its initialization. One use of the function
might be to allow the script to close an open Accounting log file
before stopping the RADIUS server.
The following fields appear if the language is set as Internal
Protocol Required; select RADIUS or Diameter to indicate the protocol for which
the attributes are to be modified.
ActionStatements Select one of following the options:
• Simple Attribute Operation—allows you to add, modify, or delete an
attribute value to the request, response, or environment dictionary
• Copy an Attribute—allows you to copy an attribute value from one
dictionary to another
• Concatenate Operation—allows you to concatenate an attribute
value from one dictionary to another
• Replace Operation—allows you to replace an attribute value from
one dictionary to another
• Value Based Manipulations—allows you to manipulate attribute
values in a dictionary based on a given text
• Log or Trace Messages—allows you to create different levels of log
or trace messages
• I can do it myself—allows you to create your own script for the
selected protocol
Left Side of Statement
Operation Choose the operation to perform as Add, Modify, or Delete.
Dictionary Choose Request, Response, or Environment to specify the RADIUS
dictionary to apply the action to.
Attr Type Applicable for RADIUS protocol; select RADIUS or VENDOR to
indicate the attribute type.
Group AVP Applicable for Diameter protocol; select the group AVP and its level to
apply the action to.
Attribute Based on the attribute type/group AVP selected, choose the appropriate
attribute to apply the action to.
Env Attribute Enter the environment attribute to apply the action to.
This field is available only if the Dictionary chosen is Environment.
Right Side of Statement
Fields Description
Text Enter the text that needs to be added, modified, or deleted to/from the
given attribute in the selected dictionary.
Only this field is available if the action statement is Simple Attribute
Operation or Replacement Operation.
This field is also available under the following circumstances:
• If the action statement is Copy an Attribute, Concatenate
Operation, or Value Based Manipulations, and if the type is
chosen as Custom Text
Type Select Radius, Diameter, or Custom Text.
Dictionary If the type is set as Radius or Diameter, choose Request, Response, or
Environment to specify the dictionary to apply the action to.
Attr Type Applicable for RADIUS protocol; select RADIUS or VENDOR to
indicate the attribute type.
Group AVP Applicable for Diameter protocol; select the group AVP and its level to
apply the action to.
Attribute Based on the attribute type/group AVP selected, choose the appropriate
attribute to apply the action to.
Env Attribute Enter the environment attribute to apply the action to.
This field is available only if the Dictionary chosen is Environment.
Concatenate / Replace Options
This section is available if the Action Statements field is set to Concatenate Operation or
Replace Operation.
Type Select Radius, Diameter, or Custom Text.
Text Enter the text to concatenate to or replace the given attribute value in the
selected dictionary.
Only this field is available if the action statement is Replace Operation.
This field is also available if the action statement is Concatenate
Operation and if the type is chosen as Custom Text
Dictionary If the type is Radius, choose Request, Response, or Environment to
specify the RADIUS dictionary to apply the action to.
Attr Type Applicable for RADIUS protocol; select RADIUS or VENDOR to
indicate the attribute type.
Group AVP Applicable for Diameter protocol; select the group AVP and its level to
apply the action to.
Attribute Based on the attribute type/group AVP selected, choose the appropriate
attribute to apply the action to.
Env Attribute Enter the environment attribute to apply the action to.
This field is available only if the Dictionary chosen is Environment.
Text Manipulations
This section is available if the Action Statements field is set to Value Based Manipulations.
Fields Description
Operation Select one of the following options:
• Begins With—to manipulate the attribute value beginning with the
given text
• Contains—to manipulate the attribute value that contains the given
text
• Ends With—to manipulate the attribute value that ends with the
given text
• Strip Text—to strip the given text from the attribute value
Text The text you need to manipulate the attribute value with.
This following fields are available if the Action Statements field is set to Log or Trace
Messages.
Log Type Select one of the following options:
• log—to add a log message
• trace—to add a trace message
Level Applicable only for logs; level of the log message to add.
Message The log or trace message to add.
This following field is available if the Action Statements field is set to I can do it myself.
Statement Enter the action statement as a free text.
Policies
A Policy is a set of rules applied to an Access-Request.
Table 2-10 lists and describes the fields in the Add Policies page.
Fields Description
Name Required; must be unique in the Policies list
Description Optional; description of the Policy
Rules/Policies Required; set the rules/polices to be grouped.
Operators Required; set the operators to be grouped along with selected rules/policies. The
selected rules and operators will be grouped and listed in the Grouping Box. To
delete the available groups, select the relevant group from the Grouping list and
click the Delete button below.
Grouping Optional; grouping of rules.
GroupServers
Prime Access Registrar allows group-based load balancing among Diameter peers.
Fields Description
General Properties tab
Name Required; name of the group server.
MultiplePeersPolicy Required; Policy used by the Prime Access Registrar server to load balance
the peers within the group. This could be one of the following:
• FailOver—Traffic is directed towards first priority remote server within
the group. When Prime Access Registrar loses connectivity with the first
priority remote server, it directs the subsequent traffic towards the second
priority remote server within the group.
• RoundRobin—Traffic is distributed across all the active remote servers
within the group.
GroupTimeOutPolicy Required; action to perform when there is a timeout with the group server. This
could be FailOver, DropPacket, or SendError.
DiameterRemoteServersList
List of Diameter remote servers to add to the group.
Name Required; name of the peer.
Metric Required; metric value for this peer entry. The higher the value the lower the
preference. The highest value of preference is 0.
Weight Required; default value is 0. Specifies the weight percentage for which the
server group needs to load balance the peer.
Note When you set the weight to a value other than 0, the weight should be
in multiples of 10 and the sum of the weights configured in the peer
list should be equal to 100.
IsActive Optional; if this is checked, the new sessions will not go to the peer server. By
default, this is unchecked.
• Deleting Records
Services
Cisco Prime Access Registrar supports authentication, authorization, and accounting (AAA) services. In
addition to the variety of built-in AAA services (specified in the Type property),
Cisco Prime Access Registrar also enables you to add new AAA services through custom shared
libraries.
This section lists the types of services available in Prime Access Registrar with their required and
optional properties. The service you specify determines what additional information you must provide.
The various types of services are:
• Simple Services
• ServiceWithRS
• PEAP Service
• EAP Service
• Diameter Service
Simple Services
Prime Access Registrar provides the following simple services:
• Rex
• File
• Trusted-ID
• Group
• Local
• Java
• WiMAX
• RADIUS-Query
• Dyn-Authz
• Diameter-RADIUS
• RADIUS-Diameter
• Diameter-Query
• 3GPPAuthorization
• 3GPP-Reverse-Authorization
Rex
Select rex service when a custom service needs to be created and a script for authentication,
authorization, or accounting has to be used.
File
Select File type when local accounting is to be performed using a specific file. The files under the
configuration will be saved in the configured name when the server is invoked even if the service is not
being invoked by any request packets.
Prime Access Registrar flushes the accounting record to disk before it acknowledges the request packets.
Based on the specified maximum file size and age, it closes the accounting file, moves it to a new name,
and reopens the file as a new file. The file names are based on its creation and modification dates.
Trusted-ID
Select the trusted-id service type to authorize and authenticate a user based on a Trusted ID. Using SSG's
Transparent Auto-Login (TAL) feature, a TAL access-request packet contains a Trusted ID, such as a
MAC address, that identifies the user without the user's real username and password. If
Prime Access Registrar knows the user associated with the Trusted ID, it uses the Trusted ID to
authenticate and authorize the user. For more information, see the “Using Trusted ID Authorization with
SESM” chapter of the Cisco Prime Access Registrar 7.3 Administrator Guide.
Group
A group service contains a list of references to other services and specifies whether the responses from
each of the services should be handled as a logical AND or OR function, which is specified in the
Result-Rule attribute of Group Services. The default value is AND.
When the Result-Rule attribute is set to AND or OR, each referenced service is accessed sequentially,
and the Group Service waits for a response from the first referenced service before moving on to the next
service (if necessary).
The ResultRule settings parallel-and and parallel-or are similar to the AND and OR settings except that
they ask each referenced service to process the request simultaneously instead of asking each referenced
server sequentially, thereby saving processing time.
Local
Java
Select Java service type when a custom service needs to be created and to use an extension point script
to provide the service’s functionality and handle both RADIUS and TACACS requests for
authentication, authorization, or accounting.
WiMAX
Prime Access Registrar uses the Extensible Authentication Protocol (EAP) to enable the WiMAX
feature. It captures the IP attributes and Mobility Keys that are generated during network access
authentication.
RADIUS-Query
Select this service type to query cached data through RADIUS Packets. It contains the list of session
managers to be queried from and a list of (cached) attributes to be returned in the Access-Accept packet
in response to a RADIUS Query request. It is initiated through an extension point script or through the
Rule and Policy Engine by setting it to a new environment variable named Query-Service.
Dyn-Authz
Select this service type to process dynamic authorization requests. This involves Change of
Authorization (COA) and Packet of Disconnect (POD) features. For more information about these
features, see Chapter 9, “Using Cisco Prime Access Registrar Server Features.”
Diameter-RADIUS
Select this service for Diameter to RADIUS translation to translate incoming Diameter request to a
RADIUS equivalent and then the RADIUS response to Diameter equivalent. Prime Access Registrar
provides scripting points, which operate on the original packet and on the newly translated packet based
on request and response mapping. For more information, see Chapter 4, “Diameter.”
RADIUS-Diameter
Select this service for RADIUS to Diameter translation to translate incoming RADIUS request to a
Diameter equivalent and then the Diameter response to RADIUS equivalent. Prime Access Registrar
provides scripting points, which operate on the original packet and on the newly translated packet based
on request and response mapping. For more information, see Chapter 4, “Diameter.”
Diameter-Query
Select this service type to query cached data through Diameter Packets. It contains the list of session
managers to be queried from and a list of (cached) attributes to be returned in the Access-Accept packet
in response to a Diameter Query request. It is initiated through an extension point script or through the
Rule and Policy Engine by setting it to a new environment variable named Query-Service.
3GPPAuthorization
Select this service to enable 3GPP authorization of subscribers. For more information about 3GPP
authorization, see the “Wireless Support” chapter of the
Cisco Prime Access Registrar 7.3 Reference Guide.
3GPP-Reverse-Authorization
Select this service to enable 3GPP reverse authorization of subscribers. For more information about
3GPP reverse authorization, see the “Wireless Support” chapter of the
Cisco Prime Access Registrar 7.3 Reference Guide.
Table 2-12 lists and describes the fields in the Services Details page. The fields listed below are the entire
list of all the available types. The fields are displayed based on the type selected.
Fields Description
Service Name Required; must be unique in the Services list.
Incoming Script Optional; name of script to run when the service starts.
Type Required; must set it to a valid Prime Access Registrar service.
Outgoing Script Name of script to run when the service ends.
Description Optional; description of the service.
Outage Script Optional; if you set this property to the name of a script,
Cisco Prime Access Registrar runs it when an outage occurs. This property
allows you to create a script that notifies you when the RADIUS server
detects a failure.
Outage Policy Required; the default is DropPacket. This property defines how
Cisco Prime Access Registrar handles requests if all servers listed in the
RemoteServers properties are unavailable (that is, all remote RADIUS
servers are not available). You must set it to one of the following:
AcceptAll, DropPacket, or RejectAll.
The following properties appear for the job type rex.
Filename Required; must be either a relative or an absolute path to the shared library
containing the Service. When the pathname is relative, it must be relative to
$INSTALL/Scripts/Radius/rex.
EntryPoint Required; must be set to the function’s global symbol.
InitEntryPoint Required; must be the name of the global symbol
Cisco Prime Access Registrar should call when it initializes the shared
library and just before it unloads the shared library.
A rex service must have an InitEntryPoint even if the service only returns
REX_OK.
InitEntryPointArgs Optional; when set, it provides the arguments to be passed to the
InitEntryPoint in the environmental variable Arguments.
The following properties appear for the job type file.
FilenamePrefix Required; a string that specifies where Cisco Prime Access Registrar writes
the account records. It must be either a relative or absolute path. When you
specify a relative path, it must be relative to the $INSTALL/logs directory.
When you specify an absolute path, the server must be able to reach it. The
default is Accounting.
Fields Description
MaxFileAge Optional; stored as a string, but is composed of two parts, a number and a
units indicator (<n> <units>) in which the unit is one of: H, Hour, Hours,
D, Day, Days, W, Week, Weeks. The default is one day.
RolloverSchedule Indicates the exact time including the day of the month or day of the week,
hour and minute to roll over the accounting log file.
MaxFileSize Optional; stored as a string, but is composed of two parts, a number and a
units indicator (<n> <units>) in which the unit is one of: K, kilobyte, or
kilobytes, M, megabyte, or megabytes, or G, gigabyte, or gigabytes. The
default is ten megabytes.
UseLocalTimeZone When set to TRUE, indicates the accounting records' TimeStamp is in local
time. When set to FALSE, the default, accounting records' TimeStamp is in
GMT.
FileType Choose log or csv to indicate the file type to export the accounting records
to. If you choose log, the Prime Access Registrar server writes accounting
messages to the accounting.log file in the /opt/CSCOar/logs directory. If
you choose csv, the Prime Access Registrar server writes accounting
messages to the accounting.csv file in the /opt/CSCOar/logs directory.
EnableRollOverIntellig Check the box to enable rollover intelligence for the accounting records
ence based on the accounting service properties. For more information, see
Rolling Encryption Support for Pseudonym Generation in EAP-SIM,
EAP-AKA, and EAP-AKA’ Services, page 5-61.
AttributesToBeLogged The selected list of attributes that must be logged. If the list is empty, the
accounting file service logs all the attributes of the packet.
Delimiter The delimiter to use in the accounting file. This field is available if you set
the FileType as csv. Delimiters could be ‘;’, ‘,’, and ‘:’ and default value is
‘,’.
The following properties appear for the job type trusted-id.
UserService Required; name of service that can be used to authenticate.
SessionManager Required; select the required session manager from the available list.
The following properties appear for the job type group.
Result Rule When set to AND (the default), the response from the GroupService is
positive if each of the services referenced return a positive result. The
response is negative if any of the services reference return a negative result.
When set to OR, the response from the GroupService is positive if any of
the services referenced return a positive result. The response is negative if
all the referenced services return a negative result.
The settings parallel-AND or parallel-OR are similar to AND and OR
settings, except that each referenced service processes requests
simultaneously instead of asking each reference service sequentially to save
processing time.
Fields Description
GroupServices Optional; use the GroupServices subdirectory to specify the subservices in
an indexed list to provide specific ordering control of which services to
apply first. Each subservice listed must be defined in the Services section
of the RADIUS configuration and cannot be a of type group, eap-leap, or
eap-md5.
To navigate between the listed attributes, use the navigation option
available adjacent to the list. See Relocating Records for more details.
The following properties appear for the job type local.
UserList Required; this object contains all of the individual UserLists, which in turn,
contain the specific users stored within Prime Access Registrar.
Cisco Prime Access Registrar references each specific UserList by name
from a Service whose type is set to local.
When Cisco Prime Access Registrar receives a request, it directs it to a
Service. When the Service has its type property set to local, the Service
looks up the user’s entry in the specific UserList and authenticates and/or
authorizes the user against that entry.
Enable Device Access Check the box to enable TACACS+ command authorization.
Note Device Access Rules are applicable for TACACS+ command
authorization. For more information, see TACACS+ Support for
AAA, page 9-57.
Device Access Rule Select a device access rule and click Add. The selected access rule is
displayed in the Device Access Rules list box.
Default Device Access Select the default action to perform on the commands for all the access rules
Action in the authorization service. Options are PermitAll and DenyAll.
The following properties appear for the job type java.
Class name Optional; set to the name of a class that implements the Extension interface.
InitializeArg Optional; set to a string to be passed to the Initialize method if the class
implements the optional ExtensionWithInitialization interface.
The following properties appear for the job type wimax.
HARKKey Required; used as the base key to generate random HARKKey for all the
HAs that are configured in Prime Access Registrar.
By default, the value is cisco112.You can change this value.
WimaxAuthenticationS Required; a valid EAP service which can be used for WiMAX
ervice authentication. By default, this value is none.
HARKLifeTime Required; used as time (in minutes) to regenerate the HARKKeys based on
its lifetime.
WimaxSessionManager Required; set a valid session manager which has HA and HA Cache as
resource managers. By default, this value is none.
WimaxQueryService Required; set a valid RADIUS query service which is configured with
WiMAX session manager. By default, this value is none.
WimaxPrepaidService Optional; set a valid prepaid service to carry out the prepaid functionality
of WiMAX. Otherwise this value is set to none.
Fields Description
AllowAAAToIncludeKe Optional; If this is set, the HAAA will include the hHA-RK-Key,
ys hHA-RK-SPI and hHA-RK-Lifetime in the Access-Accept.
Otherwise, those attributes will not be in the Access-Accept. By default this
value is True.
RequiredMSK Optional; If this is set, the MSK will be provided by the AAA server as a
result of successful EAP-Authentication. By default, this value is False.
The following properties appear for the job type radius-query.
Attribute List tab
Attribute type Select either RADIUS or VENDOR. If Vendor is selected, specify the
vendor type from the drop-down list. Select the attributes from the available
list. To navigate between the listed attributes, use the navigation option
available adjacent to the list. See Relocating Records for more details.
Session Manager tab
Session Manager Select the required session manager from the available list. To navigate
between the listed attributes, use the navigation option available adjacent to
the list. See Relocating Records for more details.
The following property appears for the job type dyn-auth.
Session Cache Query Select the session cache query service to use for dynamic authorization.
Service
The following properties appear for the job type diameter-radius or radius-diameter.
ProxyServiceName Select the Diameter proxy service name.
DiameterApplicationID Select the Diameter service application ID. This field appears only for
radius-diameter service type.
UseFor3GPPReverseAu Check the box to enable 3GPP authorization service in the translation
thorizationService framework. This field appears only for radius-diameter service type.
PreRequestTranslationS Select the scripting point to be called on the original request packet.
cript
PostRequestTranslation Select the scripting point to be called on the translated request packet.
Script
PreResponseTranslation Select the scripting point to be called on the response packet.
Script
PostResponseTranslatio Select the scripting point to be called on the translated response packet.
nScript
ResultCodeMappings This tab allows you to map result codes.
RequestAVPMappings This tab allows you to map request AVPs.
RequestAVPsToBeAdde This tab allows you to map request AVPs to be added.
d
RequestEnvironmentMa This tab allows you to map request environment variables.
ppings
ResponseAVPMappings This tab allows you to map response AVPs.
Fields Description
ResponseAVPsToBeAd This tab allows you to map response AVPs to be added.
ded
ResponseEnvironment This tab allows you to map response environment variables.
Mappings
The following properties appear for the job type diameter-query.
UpdateSessionLastAcce Check the box to update the timestamp when the Diameter session was last
ssTime accessed or called.
Attribute List tab
Attribute type Select either RADIUS or VENDOR. If Vendor is selected, specify the
vendor type from the drop-down list. Select the attributes from the available
list. To navigate between the listed attributes, use the navigation option
available adjacent to the list. See Relocating Records for more details.
Session Manager tab
Session Manager Select the required session manager from the available list. To navigate
between the listed attributes, use the navigation option available adjacent to
the list. See Relocating Records for more details.
The following property appears for the job type 3gpp-authorization.
Protocol Required; select RADIUS or Diameter to indicate the protocol to use for
3GPP authorization.
FetchLocationInformati Check the box to fetch location related information of the
on RADIUS/Diameter client for the 3GPP authorization service.
Prime Access Registrar allows or blocks access of a subscriber to voice
over Wi-Fi (VoWiFi) based on the location information. For more details on
voice over Wi-Fi (VoWiFi) location-based authentication, see the “Wireless
Support” chapter of the Cisco Prime Access Registrar 7.3 Reference Guide
TranslationService Required if the protocol selected is RADIUS; translation service to use
during 3GPP authorization.
DiameterProxyService Required if the protocol selected in Diameter; diameter proxy service to use
during 3GPP authorization.
The following properties appear for the job type 3gpp-reverse-authorization.
TranslationService Required; the translation service to use for 3GPP reverse authorization.
You can use the Simple Services List page for the following:
• Filtering Records
• Adding Simple Service Details
• Editing Records
• Deleting Records
Step 1 Choose Configuration > Services > Simple. The Services List(REX, FILE, LOCAL, GROUP, JAVA...)
page is displayed.
Step 2 Click Add to add new simple service details. The Services Details page is displayed.
Step 3 Enter the required details.
Step 4 Click Submit to save the specified details in the Services List(REX, FILE, LOCAL, GROUP, JAVA...)
page. Otherwise click Cancel to return to the Services List(REX, FILE, LOCAL, GROUP, JAVA...) page
without saving the details.
On successful creation of the simple service properties, the Services List(REX, FILE, LOCAL, GROUP,
JAVA...) page is displayed else a respective error message is displayed.
ServiceWithRS
The RemoteServers directory lists one or more remote servers to process access requests. The servers
must also be listed in order under /Radius/RemoteServers. The order of the RemoteServers list
determines the sequence for directing access requests when MultipleServersPolicy is set to RoundRobin
mode. The first server in the list receives all access requests when MultipleServersPolicy is set to
Failover mode.
The RemoteServers object can be used to specify the properties of the remote servers to which Services
proxy requests. RemoteServers are referenced by name from the RemoteServers list in either the
RADIUS, LDAP or TACACS-UDP Services.
Table 2-13 lists and describes the fields in the Services Details page.
Fields Description
Service Name Required; name of the remote server service
Incoming Script Optional; name of script to run when the service starts
Type Required; Remote service Type must be set to one of the following: ldap,
ldap-accounting, odbc-accounting, odbc, oci-accounting, oci, prepaid, radius,
radius-session, or m3ua.
Outgoing Script Optional; name of script to run when the service ends.
Outage Script Optional; if you set this property to the name of a script, Prime Access Registrar
runs it when an outage occurs. This property allows you to create a script that
notifies you when the RADIUS server detects a failure.
Outage Policy The default is DropPacket. This property defines how Prime Access Registrar
handles requests if all servers listed in the RemoteServers properties are
unavailable (that is, all remote RADIUS servers are not available). You must set it
to one of the following: AcceptAll, DropPacket, or RejectAll.
Description Optional; description of the remote server service
(optional)
Fields Description
MultipleServersPo Required; must be set to either Failover or RoundRobin.
licy
When you set it to Failover, Prime Access Registrar directs requests to the first
server in the list until it determines the server is offline. At which time,
Prime Access Registrar redirects all requests to the next server in the list until it
finds a server that is online.
When you set it to RoundRobin, Prime Access Registrar directs each request to
the next server in the RemoteServers list to share the resource load across all of
the servers listed in the RemoteServers list.
RemoteServers Select the required remote server from the available list. To navigate between the
listed attributes, use the navigation option available adjacent to the list. See
Relocating Records for more details.
AuthorizationInfo Applicable only for the m3ua service type. Choose one of the following from the
LookUp drop-down list:
• MSISDN-IMSI—To fetch MSISDN in the request and send IMSI in the
response to the HLR.
• IMSI-MSISDN—To fetch IMSI in the request and send MSISDN in the
response to the HLR.
• MAP-RESTORE—To fetch the profile information of a subscriber from the
HLR. For more information on configuring the M3UA service with Map
Restore Data authorization, see Configuring M3UA Service with Map Restore
Data Authorization, page 14-14.
MapVersion Applicable only for the m3ua service type; select the map version that HLR
supports.
Device Access Rules
This section is applicable for TACACS+ command authorization and is available only for service types
local-user, oci, odbc, and ldap. For more information on TACACS+ command authorization, see
TACACS+ Support for AAA, page 9-57.
Enable Device Check the box to enable TACACS+ command authorization.
Access
Device Access Select a device access rule and click Add. The selected access rule is displayed in
Rule the Device Access Rules list box.
Default Device Select the default action to perform on the commands for all the access rules in the
Access Action authorization service. Options are PermitAll and DenyAll.
Restore Data Mappings Section
IMSI IMSI received in the response from HLR.
Naea-Preferred CI North American Equal Access preferred Carrier ID List. A list of the preferred
carrier identity codes that are subscribed to.
Roaming Indicates that a subscriber is not allowed to roam in the current Service GPRS
Restricted In Sgsn Support Node (SGSN) or Cisco Mobility Management Entity (MME) area.
Due To
Unsupported
Feature
Fields Description
Network Access The Network Access Mode (NAM) defines if the subscriber is registered to get
Mode access to the CS (non-GPRS/EPS network), to the PS (GPRS/EPS) network, or to
both networks. NAM describes the first level of the subscriber data pseudo-tree
below the IMSIroot. It is permanent subscriber data stored in the HSS / HLR and
the SGSN with the Gs interface option, and the MME with the SGs interface
option.
LMU Indicator Indicates the presence of an LMU.
IST Alert Timer Indicates the IST alert timer value that must be used in the Mobile Switching
Center (MSC) to inform the HLR about the call activities that the subscriber
performs.
Super Charger Indicates whether super charger concept is supported in HLR.
Supported In HLR
CS Allocation Allocation-retention priority for Circuit Switched (CS). This parameter specifies
Retention Priority relative importance to compare with other bearers about allocation and retention
of bearer.
ChargingCharacte Subscribed charging characteristics.
ristics
Access Restriction Allowed Recipient Access Table (RAT) according to subscription data.
Data
UE Reachability Indicates that the Home Subscriber Server (HSS) is awaiting a notification of user
Request Indicator equipment (UE) reachability.
Category Calling party category
LSA Information These parameters refer to one or more localized service areas (LSAs) a subscriber
may be a member of, together with the priority, the preferential access indicator,
the active mode support indicator and active mode indication of each localized
service area. The access right outside these localized service areas is also
indicated.
Subscriber Data
MSISDN MSISDN value in the subscriber data.
Subscriber Status Barring status of the subscriber, which could be Service Granted or Operator
Determined Barring.
Roaming Indicates that the subscriber is not allowed to roam in the current MSC area.
Restriction Due To
Unsupported
Feature
Bearer Service List of extensible bearer services subscribed.
List
Configure the index value to fetch only the required bearer services.
TeleService List List of extensible teleservices subscribed.
Configure the index value to fetch only the required teleservices.
Provisioned SS List of supplementary services provisioned.
Configure the index value to fetch only the required supplementary services.
Fields Description
ODB-Data Operator Determined Barring (ODB) general data and ODB Home Public Land
Mobile Network (HPLMN) specific data.
Regional List of regional subscription areas (zones) in which the subscriber is allowed to
Subscription Data roam.
Configure the index value to fetch only the required zones.
VBS Subscription List of Voice Broadcast Services (VBS) subscribed.
Data
Configure the index value to fetch only the required VBS.
VGCS List of Voice Group Call Services (VGCS) subscribed.
Subscription Data
Configure the index value to fetch only the required VGCS.
LCS Information
Live Communication Server (LCS) related information for the subscriber.
GMLC-List List of Gateway Mobile Location Centers (GMLCs) that are permitted to issue a
call/session unrelated or call/session related MT-LR request.
Configure the index value to fetch only the required GMLCs.
LCS-Privacy Classes of LCS client that are allowed to locate any target Mobile Station (MS).
Exception List
Configure the index value to fetch only the required classes.
MOLR-List Code and status of Mobile Originating Location Request (MO-LR) subscribed.
Configure the index value to fetch only the required requests.
MC-SS-Info
Parameters identifying Multicall (MC) supplementary services (SS) that are subscribed.
MC-SS-Code Code of the MC SS.
MC-SS-Status Status of the MC SS.
NbrSB Maximum number of parallel bearers that may be used as defined by the user’s
subscription.
NbrUser Maximum number of parallel bearers that may be used as defined by the user at
registration of the MC SS.
SGSN-CAMEL-Subscription Info
Parameters identifying the subscribers as having Customized Application for Mobile Enhanced Logic
(CAMEL) services that are invoked in the SGSN.
GPRS-CSI Identifies the subscriber as having GPRS originating SMS CAMEL services.
MO-SMS-CSI Identifies the subscriber as having mobile originating SMS CAMEL services.
MT-SMS-CSI Identifies the subscriber as having mobile terminating SMS CAMEL services.
ProfileMappings
Attribute Select an RADIUS attribute to map the fetched profile data.
Value:Profile Enter a value for the attribute.
ProfileList Select one of the profile lists and click Add. The entered profile details are
displayed in the list box in the ProfileMappings section. You can delete a profile
attribute from the list as required.
You can use the ServiceWithRS List page for the following:
• Filtering Records
• Adding Remote Server Service Details
• Editing Records
• Deleting Records
Step 1 Choose Configuration > Services > ServiceWithRS. The Services List (..with Remote Servers) page
is displayed.
Step 2 Click Add to add new remote server service details. The Services Details page is displayed.
Step 3 Enter the required details.
Step 4 Click Submit to save the specified details in the Services List (..with Remote Servers) page. Otherwise,
click Cancel to return to the Services List (..with Remote Servers) List page without saving the details.
On successful creation of the properties, the Services List (..with Remote Servers) page is displayed else
a respective error message is displayed.
PEAP Service
Protected EAP (PEAP) is an authentication method designed to mitigate several weaknesses of EAP.
PEAP leverages Industry standard authentication of the server using certificates TLS (RFC 2246) and
creation of a secure session that can then be used to authenticate the client.
The PEAP protocol consists of two phases, an authentication handshake phase and a tunnel phase where
another complete EAP authentication exchange takes place protected by the session keys negotiated by
phase one. Prime Access Registrar supports the tunneling of other EAP methods within the PEAP phase
two exchange.
Prime Access Registrar supports the two major existing variants of PEAP:
• PEAP Version 0 (Microsoft PEAP)
• PEAP Version 1 (Cisco Prime PEAP)
PEAP Version 0
PEAP Version 0 also called as Microsoft PEAP is described in IETF drafts
(draft-kamath-pppext-peapv0-00.txt and draft-josefsson-pppext-eap-tls-eap-02.txt). This version of
PEAP uses either EAP-MSChapV2 or EAP-SIM as an authentication method. The testing method used
for this version of PEAP is radclient.
PEAP Version 1
PEAP Version 1 also called as Cisco Prime PEAP is described by IETF draft
(draft-zhou-pppext-peapv1-00.txt). This version can use either EAP-GTC or EAP-SIM as an
authentication method. The testing method used for this version of PEAP is radclient.
Table 2-14 lists and describes the fields in the PEAP Services Details page. The fields listed below are
the entire list of all the available types. The fields are displayed based on the type selected.
Fields Description
Service Name Required; service name
Incoming Script Optional; script Prime Access Registrar server runs when it receives a request
from a client.
Type Required; must set it to a valid Prime Access Registrar service.
Outgoing Script Optional; script Prime Access Registrar server runs before it sends a response to
a client.
Maximum Indicates the maximum length in bytes that a PEAP or EAP-TLS message can
Message Size have before it is fragmented.
Server Required; the full pathname of the file containing the server’s certificate or
Certificate File certificate chain used during the TLS exchange. The pathname can be optionally
prefixed with a special string that indicates the type of encoding used for the
certificate. The two valid encoding prefixes are PEM and DER. If an encoding
prefix is not present, the file is assumed to be in PEM format.
The following example assumes that the subdirectory pki under /cisco-ar
contains the server’s certificate file. The file server-cert.pem is assumed to be in
PEM format; note that the file extension .pem is not significant.
set ServerCertificateFile PEM:/cisco-ar/pki/server-cert.pem
Private Key Required; the password used to protect the server’s private key.
Password
Server RSA Key Required; the full pathname of the file containing the server’s RSA private key.
File
CRL Optional; The URL that Prime Access Registrar should use to retrieve the
Distribution CRL.You can specify a URL that uses HTTP or LDAP.
URL
The following is an example for an HTTP URL:
<http://crl.verisign.com/pca1.1.1.crl>.
CA Certificate Optional; the full pathname of the file containing trusted CA certificates used for
File client verification. The file can contain more than one certificate, but all
certificates must be in PEM format. DER encoding is not allowed.
Certificate Optional; specifies the type of verification used for client certificates. Must be set
Verification to one of RequireCertificate, None, or Optional.
Mode
• RequireCertificate causes the server to request a client certificate and
authentication fails if the client refuses to provide one.
• None will not request a client certificate.
Optional causes the server to request a client certificate but the client is allowed
to refuse to provide one.
Fields Description
CA Certificate Optional; the name of a directory containing trusted CA certificates (in PEM
Path format) used for client verification. This parameter is optional, and if it is used
there are some special preparations required for the directory it references.
Each certificate file in this directory must contain exactly one certificate in PEM
format. The server looks up the certificate files using the MD5 hash value of the
certificate’s subject name as a key. The directory must therefore also contain a set
of symbolic links each of which points to an actual certificate file. The name of
each symbolic link is the hash of the subject name of the certificate.
For example, if a certificate file name ca-cert.pem is located in the
CACertificatePath directory, and the MD5 hash of the subject name contained in
ca-cert.path.pem is 1b96dd93, then a symbolic link named 1b96dd93 must point
to the ca-cert.pem file.
If there are subject name collisions such as multiple certificates with the same
subject name, each link name must be indexed with a numeric extension as in
1b96dd93.0 and 1b96dd93.1.
Verification Optional; specifies the maximum length of the certificate chain used for client
Depth verification.
Enable Session Optional; specifies whether TLS session caching (fast reconnect) is enabled or
Cache not. Set to True to enable session caching; otherwise set to False.
Tunnel Service Required; must be the name of an existing EAP-MSCHAPv2 or EAP-SIM
service.
Authentication Required; specifies time (in seconds) to wait before an authentication request
Timeout times out; defaults to 120.
Description Optional; description of the PEAP service.
(optional)
Session Timeout Optional; if TLS session caching (fast reconnect) is enabled, SessionTimeout
specifies the maximum lifetime of a TLS session. Expired sessions are removed
from the cache and will require a subsequent full authentication.
SessionTimeout is specified as a string consisting of pairs of numbers and units,
where units might be one of the following: M, Minute, Minutes, H, Hour, Hours,
D, Day, Days, W, Week, Weeks, as in the following:
Set SessionTimeout “1 Hour 45 Minutes”
Use ECC Check this box, to use the ECC, RSA, or combination of both the certificates for
Certificates certificate based verification.
When this field is disabled, only RSA is used for certificate based verification.
The default location to fetch the certificate file is /cisco-ar/pki.
Enable Auto When set to TRUE, Prime Access Registrar sends its server certificate chain
Chaining (Server-Cert -> IntermediateCA -> RootCA) while presenting the server
certificate to the client for server side authentication. When set to FALSE,
Prime Access Registrar sends only the server certificate (Server-Cert) to the
client.
Enable WPS Optional; When set to TRUE, enables Windows Provisioning Service (WPS) and
provides two other properties, MasterURL and WPSGuestUserProfile. The
default value is FALSE.
Fields Description
Master URL Optional; when using WPS, specifies the URL of the provisioning server which is
modified with the appropriate fragment and sent to the client.
WPS Guest User Optional; when using WPS, specifies a profile to be used as a guest user profile;
Profile must be a valid profile under /Radius/Profiles.
This profile is used for guests and users whose account has expired. This profile
normally contains attributes denoting the VLAN-id of the guest network (which
has the provisioning server alone) and might contain IP-Filters that would restrict
the access of the guest (to only the provisioning server).
You can use the PEAP Services List page for the following:
• Filtering Records
• Adding PEAP Service Details
• Editing Records
• Deleting Records
Step 1 Choose Configuration > Services > PEAP. The PEAP Services List page is displayed.
Step 2 Click Add to add new PEAP service details. The PEAP Services Details page is displayed.
Step 3 Specify the relevant PEAP service details.
Step 4 Click Submit to save the specified details in the PEAP Services List page. Otherwise click Cancel to
return to the PEAP Services List page without saving the details.
On successful creation of the PEAP service properties, the PEAP Services List page is displayed else a
respective error message is displayed.
EAP Service
Prime Access Registrar supports the Extensible Authentication Protocol (EAP) to provide a common
protocol for differing authentication mechanisms. It provides dynamic selection of the authentication
mechanism at the time of authentication based on information transmitted in the Access-Request.
Prime Access Registrar supports the following EAP authentication methods:
• EAP-AKA
• EAP-AKA-Prime
• EAP-FAST
• EAP-GTC
• EAP-LEAP
• EAP-MD5
• EAP-Negotiate
• EAP-MSChapV2
• EAP-SIM
• EAP-Transport Level Security (TLS)
• EAP-TTLS
EAP-AKA
Authentication and Key Agreement (AKA) is an EAP mechanism for authentication and session key
distribution. It is used in the 3rd generation mobile networks Universal Mobile Telecommunications
System (UMTS) and CDMA2000. AKA is based on symmetric keys, and typically runs in a UMTS
Subscriber Identity Module (USIM), or a (Removable) User Identity Module ((R) UIM), similar to a
smart card. EAP-AKA (Extensible Authentication Protocol Method for UMTS Authentication and Key
Agreement) includes optional identity privacy support, optional result indications, and an optional fast
reauthentication procedure. The EAP-AKA authentication service is extended to generate a Diameter
message Multimedia-Authentication-Request (MAR), with the subscriber identity (IMSI), to the Home
Subscriber Server (HSS) when it requires the authentication vectors. The HSS sends a Diameter
Mutlimedia-Authentication-Answer (MAA) back containing the number of quintuplets.
EAP-AKA-Prime
EAP-AKA-Prime (EAP-AKA') is an EAP authentication method, with a small revision to the existing
EAP-AKA method. EAP- AKA' has a new key derivation function, which binds the keys derived within
the method to the name of the access network. This limits the effects of compromised access network
nodes and keys. EAP-AKA’ supports SHA-256 instead of SHA-1.
EAP-FAST
EAP-FAST is an authentication method which uses the EAP-MSChapV2 method for credential
provisioning and EAP-GTC for authentication. Credential provisioning typically occurs only during the
client’s initial EAP-FAST authentication. Subsequent authentications rely on the provisioned credential
and will usually omit the provisioning step.
This authentication protocol is designed to address the performance shortcomings of prior TLS-based
EAP methods while retaining features such as identity privacy and support for password-based
protocols. The EAP-FAST protocol is described by the IETF draft (draft-cam-winget-eap-fast-00.txt).
EAP-GTC
This method defined in RFC 2284, is used for transmitting a username and password to an authentication
server.
Note It should not be used except as an authentication method for PEAP Version 1 because the password is
not protected.
EAP-LEAP
The new AAA Cisco-proprietary protocol called Light Extensible Authentication Protocol (LEAP)
supported by Prime Access Registrar, is a proprietary Cisco authentication protocol designed for use in
IEEE 802.11 wireless local area network (WLAN) environments. Important features of LEAP include:
• Mutual authentication between the network infrastructure and the user
• Secure derivation of random, user-specific cryptographic session keys
• Compatibility with existing and widespread network authentication mechanisms (e.g., RADIUS)
Note Prime Access Registrar supports a subset of EAP to support LEAP. This is not a general implementation
of EAP for Prime Access Registrar.
The Cisco-Wireless or LEAP is an EAP authentication mechanism where the user password is hashed
based on an MD4 algorithm.
EAP-MD5
This is another EAP authentication exchange. In EAP-MD5 there is a CHAP-like exchange and the
password is hashed by a challenge from both client and server to verify the password. On successful
verification, the connection proceeds, although the connection is periodically rechallenged (per RFC
1994).
EAP-Negotiate
This is a special service used to select at runtime the EAP service to be used to authenticate the client.
It is configured with a list of candidate EAP services that represent the allowable authentication methods
in preference order.
EAP-Negotiate is useful when the client population has deployed a mix of different EAP methods that
must be simultaneously supported by Prime Access Registrar. EAP-Negotiate solves the problem of
distinguishing client requirement by using the method negotiation feature of the EAP protocol.
EAP-MSChapV2
EAP-MSChapv2 encapsulates the MSChapV2 protocol (specified by RFC 2759) and can be used either
as an independent authentication mechanism or as an inner method for PEAP Version 0 (recommended).
This is based on draft-kamath-pppext-eap-mschapv2-00.txt, an informational IETF draft document.
EAP-SIM
An access point uses the Prime Access Registrar RADIUS server to perform EAP-SIM authentication of
mobile clients. Prime Access Registrar must obtain authentication information from the HLR.
Prime Access Registrar contacts the MAP gateway that performs the MAP protocol over SS7 to the
HLR, or alternately it can contact the HLR (through STP in some cases) using the SIGTRAN-M3UA
interface. The EAP-SIM authentication service is extended to generate a Diameter message
Multimedia-Authentication-Request (MAR), with the subscriber identity(IMSI), to the HSS when it
requires the authentication vectors. The HSS sends a Diameter Mutlimedia-Authentication-Answer
(MAA) back containing the number of triplets.
EAP-TTLS
The Extensible Authentication Protocol Tunneled TLS (EAP-TTLS) is an EAP protocol that extends
EAP-TLS. EAP- TTLS extends the authentication negotiation EAP-TLS by using the secure connection
established by the TLS handshake to exchange additional information between client and server. It
leverages TLS (RFC 2246) to achieve certificate-based authentication of the server (and optionally the
client) and creation of a secure session that can then be used to authenticate the client using a legacy
mechanism.
EAP-TTLS is a two-phase protocol. Phase 1 conducts a complete TLS session and derives the session
keys used in Phase 2 to securely tunnel attributes between the server and the client. The attributes
tunneled during Phase 2 can be used to perform additional authentication(s) via a number of different
mechanisms.
The authentication mechanisms used during Phase 2 include PAP, CHAP, MS-CHAP, MS-CHAPv2, and
EAP. If the mechanism is EAP, then several different EAP methods are possible.
Table 2-15 lists and describes the fields in the EAP Services Details page. The fields listed below are the
entire list of all the available types. The fields are displayed based on the type selected.
Fields Description
Service Name Required; service name
Incoming Script Optional script Prime Access Registrar server runs when it receives
a request from a client.
Type Required; must set it to a valid Prime Access Registrar service
Outgoing Script Optional script Prime Access Registrar server runs before it sends
a response to a client
Description (optional) Optional; description of the PEAP service.
Authentication Timeout Mandatory; specifies time (in seconds) to wait before an
authentication request times out; defaults to 120.
UserService Required; name of service that can be used to authenticate using
cleartext passwords.
ServiceList List of preconfigured EAP authentication services. To navigate
between the listed attributes, use the navigation option available
adjacent to the list. See Relocating Records for more details.
Maximum Message Size Required; indicates the maximum length in bytes that a PEAP
message can have before it is fragmented.
Server Certificate File Required; the full pathname of the file containing the server’s
certificate or certificate chain used during the TLS exchange. The
pathname can be optionally prefixed with a special string that
indicates the type of encoding used for the certificate. The two valid
encoding prefixes are PEM and DER. If an encoding prefix is not
present, the file is assumed to be in PEM format.
Private Key Password Required; the password used to protect the server’s private key.
Server Key File Required; the full pathname of the file containing the server’s RSA
private key. The pathname can be optionally prefixed with a special
string that indicates the type of encoding used for the certificate.
The two valid encoding prefixes are “PEM” and “DER”. If an
encoding prefix is not present, the file is assumed to be in PEM
format.
The following example assumes that the subdirectory pki under
/cisco-ar contains the server’s certificate file. The file
server-key.pem is assumed to be in PEM format. The file extension
.pem is not significant.
set ServerRSAKeyFile PEM:/cisco-ar/pki/server-key.pem
Fields Description
CRL Distribution URL Optional; enter the URL that Prime Access Registrar should use to
retrieve the CRL.You can specify a URL that uses HTTP or LDAP.
The following is an example for an HTTP URL:
<http://crl.verisign.com/pca1.1.1.crl>.
CA Certificate File Optional; the full pathname of the file containing trusted CA
certificates used for client verification. The file can contain more
than one certificate, but all certificates must be in PEM format.
DER encoding is not allowed.
Certificate Verification Mode The value is set to optional by default. If set to RequireCertificate,
the client certificate will always be verified. If set to optional, client
certificate verification happens optionally.
CA Certificate Path The name of a directory containing trusted CA certificates (in PEM
format) used for client verification. This parameter is optional and
if it is used there are some special preparations required for the
directory it references.
Each certificate file in this directory must contain exactly one
certificate in PEM format. The server looks up the certificate files
using the MD5 hash value of the certificate’s subject name as a key.
The directory must therefore also contain a set of symbolic links
each of which points to an actual certificate file. The name of each
symbolic link is the hash of the subject name of the certificate.
For example, if a certificate file named ca-cert.pem is located in
the CACertificatePath directory, and the MD5 hash of the subject
name contained in ca-cert.path.pem is 1b96dd93, then a symbolic
link named 1b96dd93 must point to ca-cert.pem.
If there are subject name collisions such as multiple certificates
with the same subject name, each link name must be indexed with
a numeric extension as in 1b96dd93.0 and 1b96dd93.1.
Verification Depth Optional; specifies the maximum length of the certificate chain
used for client verification.
Enable Session Cache Optional; specifies whether TLS session caching (fast reconnect) is
enabled or not. Set to True to enable session caching; otherwise set
to False.
Fields Description
Session Timeout Required; if TLS session caching (fast reconnect) is enabled,
SessionTimeout specifies the maximum lifetime of a TLS session.
Expired sessions are removed from the cache and will require a
subsequent full authentication.
SessionTimeout is specified as a string consisting of pairs of
numbers and units, where units might be one of the following: M,
Minute, Minutes, H, Hour, Hours, D, Day, Days, W, Week, Weeks,
as in the following:
Set SessionTimeout “1 Hour 45 Minutes”
UseECCCertificate Determines the applicability of the authentication mechanism in
SmartGrid Solutions.
When you check this check box, it can use the ECC, RSA, or
combination of both certificate for certificate based verification.
When you uncheck this check box, it can only use the RSA
certificate for certificate based verification. The default location to
fetch the certificate file is /cisco-ar/pki.
EnableAutoChaining When set to TRUE, Prime Access Registrar sends its server
certificate chain (Server-Cert -> IntermediateCA -> RootCA) while
presenting the server certificate to the client for server side
authentication. When set to FALSE, Prime Access Registrar sends
only the server certificate (Server-Cert) to the client.
Authentication Service Specifies the name of the EAP-GTC service used for
authentication. The named service must have the UseLabels
parameter set to True.
User Prompt Optional string the client might display to the user; default is Enter
password:” Use the set command to change the prompt, as in the
following:
set UserPrompt “Admin Password:”
UseLabels Required; must be set to TRUE for EAP-FAST authentication and
set to FALSE for PEAP authentication. Set to FALSE by default.
SystemID Optional; string that identifies the sender of the MSChapV2
challenge message.
IsWindows7Client Optional; must be set to TRUE for EAP-MSChapV2
authentication. Set to FALSE by default.
Authority Identifier Required; a string that uniquely identifies the credential (PAC)
issuer. The client uses this value to select the correct PAC to use
with a particular server from the set of PACs it might have stored
locally.
Authority Information Required; a string that provides a descriptive text for this credential
issuer. The value can be displayed to the client for identification
purposes and might contain the enterprise or server names.
Fields Description
Credential Life Time Optional; specifies the maximum lifetime of a Protected Access
Credential (PAC). Clients that successfully authenticate with an
expired PAC will be reprovisioned with a new PAC.
CredentialLifetime is specified as a string consisting of pairs of
numbers and units, where units might be one of the following: M,
Minute, Minutes, H, Hour, Hours, D, Day, Days, W, Week, Weeks.
Credentials that never expire should be specified as Forever.
Provision Service Required; specifies the name of the EAP-MSChapV2 service used
for provisioning.
Provision Mode Required; specifies the TLS mode used for provisioning. Clients
only support the default Anonymous mode.
Always Authenticate Optional; indicates whether provisioning should always
automatically rollover into authentication without relying on a
separate session. Most environments, particularly wireless, will
perform better when this parameter is set to True, the default value.
SubscriberDBLookup Specifies the type of communication with the HLR/HSS server.
Based on the type selected, the communication happens with the
HLR/HSS server using the diameter Wx interface, MAP protocol,
or SIGTRAN-M3UA protocol.
This field is displayed when you select the eap-sim option in the
Type field.
Subscriber_DBLookup Specifies the type of communication with the HLR/HSS server.
Based on the type selected, the communication happens with the
HLR/HSS server using the diameter Wx interface, SIGTRAN
protocol, or SIGTRAN-M3UA protocol.
This field is displayed when you select the eap-sim, eap-aka, or
eap-aka’ option in the Type field.
DestinationRealm Required. Destination realm to send Diameter packets to the remote
server. The role of the remote server should be Relay.
PreRequestTranslationScript Optional. Prime Access Registrar server runs before sending the
request to the Diameter remote server. The script can modify the
RADIUS packet dictionaries.
PostRequestTranslationScript Optional. Prime Access Registrar server runs before sending the
request to the Diameter remote server. The script can modify the
Diameter packet dictionaries.
PreResponseTranslationScript Optional. Prime Access Registrar server runs after receiving the
response from the Diameter remote server. The script can modify
the Diameter packet dictionaries.
PostResponseTranslationScript Optional. Prime Access Registrar server runs after receiving the
response from the Diameter remote server. The script can modify
the RADIUS packet dictionaries.
FetchAuthorizationInfo When you check this check box, it fetches MSISDN from HLR.
Fields Description
General tab
The details in the tab is displayed based on the eap-sim, eap-aka, or eap-aka-prime option you select
in the Type field.
MultipleServersPolicy Required. Must be set to either Failover or RoundRobin.
When set to Failover, Prime Access Registrar directs requests to
the first server in the list until it determines the server is offline. At
that time, Prime Access Registrar redirects all requests to the next
server in the list until it finds a server that is online.
When set to RoundRobin, Prime Access Registrar directs each
request to the next server in the RemoteServers list to share the
resource load across all of the servers listed in the RemoteServers
list.
NumberOfTriplets Required; number of triplets (1, 2, or 3) to use for authentication;
default is 2.
PseudonymSecret Required; the secret string that is used as the basis for protecting
identities when identity privacy is enabled. This should be at least
16 characters long and have a value that is impossible for an
outsider to guess. The default value is secret. This field is not
available if EnableRollingPseudonymSecret field is checked.
Note It is very important to change PseudonymSecret from its
default value to a more secure value when identity privacy
is enabled for the first time.
PseudonymRenewtime Required; specifies the maximum age a pseudonym can have before
it is renewed. When the server receives a valid pseudonym that is
older than this, it generates a new pseudonym for that subscriber.
The value is specified as a string consisting of pairs of numbers and
units, where the units might be of the following: M, Minute,
Minutes, H, Hour, Hours, D, Day, Days, W, Week, Weeks. The
default value is “24 Hours”.
Examples are: “8 Hours”, “10 Hours 30 Minutes”, “5 D 6 H 10 M”
PseudonymLifetime Required; specifies the maximum age a pseudonym can have before
it is rejected by the server, forcing the subscriber to authenticate
using it’s permanent identity. The value is specified as a string
consisting of pairs of numbers and units, where the units might be
one of the following: M, Minute, Minutes, H, Hour, Hours, D, Day,
Days, W, Week, Weeks. It can also be Forever, in which case,
pseudonyms do not have a maximum age. The default value is
“Forever”.
Examples are: “Forever”, “3 Days 12 Hours 15 Minutes”, “52
Weeks”
Fields Description
NotificationService (Optional); Notification service is an authorization service and is
used to send a notification code to the client in case of an
authorization failure. For more information about the
Notification-Code variable, see the “Environment Dictionary”
chapter of the Cisco Prime Access Registrar 7.3 Reference Guide.
This can be any of the services configured under /radius/services/
except eap services, accounting services, radius-session,
radius-query, and diameter.
ReauthenticationTimeout Required; specifies the time in seconds that reauthentication
identities are cached by the server. Subscribers that attempt to
reauthenticate using identities that are older than this value will be
forced to use full authentication instead. The default value is 3600
(one hour).
EnableReauthentication Optional; when True, the fast reauthentication option is enabled.
The default value is False.
UseOutagePolicyforReauth Default value is FALSE. When set to TRUE,
Prime Access Registrar drops or rejects reauthentication requests
as per outage policy when the remote server is down. This can be
processed only when there is at least one failed full authentication
before proceeding with reauthentication.
OutagePolicy Required for EAP-SIM, EAP-AKA, and EAP-AKA’ services; the
default is DropPacket. This property defines how
Prime Access Registrar handles requests if all servers listed in the
RemoteServers tab are unavailable (that is, all remote RADIUS
servers are not available). You must set it to one of the following:
AcceptAll, DropPacket, or RejectAll.
UseProtectedResults Optional; enables or disables the use of protected results messages.
Results messages indicate the state of the authentication but are
cryptographically protected.
ReauthenticationRealm Optional; realm to use for reauthentication.
MaximumReauthentications Required; specifies the maximum number of times a
reauthentication identity might be reused before it must be
renewed. The default value is 16.
TripletCacheTimeout Required for eap-sim service; time in seconds an entry remains in
the triplet cache. A zero (0) indicates that triplets are not cached.
The maximum is 28 days; the default is 0 (no caching).
QuintetCacheTimeout Required for eap-aka or eap-aka’ service; time in seconds an entry
remains in the quintet cache. A zero (0) indicates that quintets are
not cached. The maximum is 28 days; the default is 0 (no caching).
QuintetGenerationScript Available for eap-aka or eap-aka’ service; script required for
quintet generation.
Authentication Timeout Required; time in seconds to wait for authentication to complete.
The default is 2 minutes; range is 10 seconds to 10 minutes.
UseSimDemoTriplets Optional; set to TRUE to enable the use of demo triplets. This must
be disabled for release builds.
Fields Description
AlwaysRequestIdentity Optional; when True, enables the server to obtain the subscriber’s
identity via EAP/SIM messages instead of relying on the EAP
messages alone. This might be useful in cases where intermediate
software layers can modify the identity field of the
EAP-Response/Identity message. The default value is False.
EnableIdentityPrivacy Optional; when True, the identity privacy feature is enabled. The
default value is False.
Generate3GPPCompliantPseudo Optional; the value is set to False by default. If set to TRUE then
nym Prime Access Registrar generates a 12 octet 3GPP compliant
pseudonym identity. The Pseudonym username identities are used
to protect the privacy of subscriber identities.
SendReAuthIDInAccept Optional; the value is set to False by default. When set to True,
Prime Access Registrar sends SN-Fast-ReAuth-UserName (Starent
VSA) in access-accept message.
Outage Script Optional; if you set this property to the name of a script,
Prime Access Registrar runs it when an outage occurs. This
property allows you to create a script that notifies you when the
RADIUS server detects a failure.
NetworkName Required for eap-aka-prime service type. Name of the access
network for which the authentication is performed. This attribute is
captured to ensure that the peer and the server know the name of the
access network for performing the EAP authentication.
MapVersion Required for SIGTRAN-M3UA remote server; select the map
version HLR supports.
DiameterInterface Select SWx or Wx to indicate the Diameter protocol to use for the
service.
ProxyService Select the diameter proxy service to use.
EnableRollingPseudonymSecret Check this box to activate rolling encryption process that involves
generating rolling pseudonym secrets for the service. This option is
available only when EnableIdentityPrivacy check box is checked.
For more information about rolling encryption support, see Rolling
Encryption Support for Pseudonym Generation in EAP-SIM,
EAP-AKA, and EAP-AKA’ Services, page 5-61.
EnableEncryptedIMSI Check this box to look out for encrypted IMSI in the incoming EAP
response. For more information, see Support for Decrypting
Encrypted-IMSI for EAP-SIM, EAP-AKA, and EAP-AKA’
Services, page 5-64.
The following three fields are available when you check this option.
EncryptedIMSIDelimiter Delimiter value to identify whether the incoming EAP response is
encrypted or not. Default value is ‘\0’ (NULL), which indicates the
incoming message contains encrypted IMSI.
Fields Description
EncryptedIMSIKeyIdDelimiter Delimiter value to indicate the key identifier from the incoming
EAP response. Default value is ‘,’ (comma).
The data that exists between the IMSI delimiter (‘\0’) and Key ID
delimiter (‘,’) in the incoming EAP response, is the encrypted
IMSI.
The data that follows this Key ID delimiter (‘,’) helps the server to
locate the private key that can be used to decrypt the incoming
encrypted IMSI.
DefaultPrivateKey Default private key to use for decryption if no private key is
configured under Advanced > EncryptedIMSI-PrivateKeys. For
more information, see Encrypted IMSI Private Keys
Remote Servers tab
Attribute Optional; list of remote RADIUS servers which are map gateways.
The remote server type must be set to map-gateway. To navigate
between the listed attributes, use the navigation option available
adjacent to the list. See Relocating Records for more details.
You can use the EAP Services List page for the following:
• Filtering Records
• Adding EAP Service Details
• Editing Records
• Deleting Records
Step 1 Choose Configuration > Services > EAP. The EAP Services List page is displayed.
Step 2 Click Add to add new EAP service details. The EAP Services Details page is displayed.
Step 3 Enter the relevant details.
Step 4 Click Submit to save the specified details in the EAP Services List page. Otherwise click Cancel to
return to the EAP Services List page without saving the details.
On successful creation of the EAP Service properties, the EAP Services List page is displayed else a
respective error message is displayed.
Diameter Service
Proxy agents assist in routing Diameter messages using the Diameter routing table. Diameter proxy
service works in tandem with the rule policy engine to perform the routing for multiple realms or
applications. The following are the multiple peer policies supported by the proxy service:
• RoundRobin
• FailOver
• GroupFailOver
• IMSI Range Based.
Table 2-16 lists and describes the fields in the Diameter-Services page. The fields listed below are the
entire list of all the available roles. The fields are displayed based on the role selected.
Fields Description
Name Required; name of the Diameter server.
Description Optional; description of the Diameter server.
Realm Required; realm of the route. Must be unique for a route table.
Role Required; specifies the role that the Diameter entity will play in
resolving messages matching the realm.
The role can be any one of the following:
Relay - Application acting as a Relay Agent.
Redirect - Application acting as a Redirect Agent.
Proxy - Application acting as a Proxy Agent. When the role is set
to Proxy, the IncomingScript and OutgoingScript points are
enabled.
Local - Application processes the requests locally. When the role is
set to Local, the AuthenticationService and AccountingService are
enabled.
By default, the Proxy option is selected. However, you can select
another option from the drop-down list.
Incoming Script Optional; enabled when role is set to Proxy or Local. When set,
must be the name of a known incoming script.
Prime Access Registrar runs the IncomingScript before proxying
the Diameter packet to the remote Diameter server.
Outgoing Script Optional; enabled when role is set to Proxy or Local. When set,
must be the name of a known outgoing script.
Prime Access Registrar runs the OutgoingScript after it receives
the response from the remote Diameter server.
Authentication Service Required; used when service is configured to process the Diameter
requests locally. Set to valid service of type (local/ldap/odbc) to
authenticate the user. This field is displayed when you select the
role type as ‘Local’ in the Role field.
Fields Description
AccountingService Required; used when service is configured to process the
accounting requests locally. Set to valid accounting service of
type(file/odbc-accounting) to write the accounting records. This
field is displayed when you select the role type as ‘Local’ in the
Role field.
Type Required; specifies the service type.The service type ‘Diameter’ is
automatically displayed in this field.
PEER Statements
This is displayed when you select the ‘Local’, ‘Relay’, or ‘Redirect’option in the Role field.
Name Required; name of the peer.
Host Name Required; the hostname or IP address of the peer. The hostname
must exist in the client list for the route to be active.
Metric Required; metric value for the peer entry. The higher the value the
lower the preference. The highest value of preference is 0.
VendorSpecific Required; the default is FALSE. If set to FALSE, the application is
ordinary application and user is prompted to enter the
ApplicationID. If set to TRUE, the application is a VendorSpecific
Application. User is prompted to enter
VendorSpecificApplicationID and VendorID.
VendorID Required; specifies the VendorID for the application.
Example:
DIAMETER 3GPP Cx APPLICATION
VendorSpecificApplicationID 16777216
VendorID 10415
VendorSpecificApplicationID Required; specifies the integer value for the vendor specific
application.
ApplicationID Required; application used in the route. The application Id should
be available in /Advanced/Diameter/Applications.
Applications
This is displayed when you select the ‘Proxy’ option in the Role field.
Name Required; name of the application.
Description The description of the application.
ApplicationID Required; specifies the unique integer value for the application. It
represents the application id of the Application used for load
balancing the Diameter messages.
EnableSticky Required; default is FALSE. If set to True, the sticky entries for
load balancing is enabled and the user is prompted to enter the
values for StickySessionKey, StickyCreationCmdList, and
StickyDeletionCmdList.
Fields Description
MultiplePeersPolicy Required; Policy used by the Prime Access Registrar server to load
balance the peers. Must be set to one of the following:
• RoundRobin—You can list the Diameter remote servers in the
tab below.
• FailOver—You can list the Diameter remote servers in the tab
below.
• GroupFailover—You can create individual groups of Diameter
remote servers and list them in the tab below. This option
allows you to perform group-based load balancing. For more
information, see Group-Based Load Balancing, page 2-23.
• IMSIRangeBased—You can add the list of IMSI ranges in the
tab below.
PeerTimeoutPolicy/GroupTimeo Required; action to perform when there is a timeout with the
utPolicy Diameter peer or group server.
StickySessionKey Required; used as the sticky key for mapping the sticky sessions.
Set the value to a valid attribute-value pair (AVP) in order to use the
sticky key for maintaining Diameter sessions. This ensures that
Prime Access Registrar maps the request to the same server for all
the subsequent messages using the sticky key. For example, set
StickyAVP “Session-Id”.
When the Prime Access Registrar server receives the CCR-I
request, Prime Access Registrar extracts the Session-Id from the
request packet, maps the Session to the peer configured in the list,
and forwards the request to the chosen peer.
Prime Access Registrar chooses the same peer for all the
subsequent messages(CCR-Update/CCR-Terminate) with same
Session-Id.
StickyCreationCmdList Required; specifies the command list to create the sticky entries.
Specify the list of ‘||’ separated command code, AVP name, and its
value to create the sticky sessions.
The following is the StickyCreationCmdList format:
<commandcode1>::<AVPName1=Value1> ||
<commandcode2<::<AVPName2=Value2>||<commandcode3>
For example, if the sticky session entries need to created based on
command code ‘265’or based on command code ‘271’ with
Accounting-Record-Type value as 2, use the format below:
Set StickyCreationCmdList “265||271::
Accounting-Record-Type=2”
Fields Description
StickyDeletionCmdList Required; specifies the command list to delete the sticky
entries.Specify the list of ‘||’ separated command code, AVP name,
and its value to delete the sticky sessions.
The following is the StickyDeletionCmdList format:
<commandcode1>::<AVPName1=Value1> ||
<commandcode2<::<AVPName2=Value2>||<commandcode3>
For example, if the sticky session entries need to deleted based on
command code ‘271’ with Accounting-Record-Type value as 4, use
the format below:
Set StickyDeletionCmdList “271::
Accounting-Record-Type=4”
PEER Definitions Proxy
Name Required; name of the peer.
Host Name Required; hostname or IP address of the peer. The HostName must
exist in the client list for the route to be active.
Metric Required; metric value for this peer entry. The higher the value the
lower the preference. The highest value of preference is 0.
Weight Required; default value is 0. Specifies the weight percentage for
which the service needs to load balance the peer.
Note When you set the weight to a value other than 0, the weight
should be in multiples of 10 and the sum of the weights
configured in the peer list should be equal to 100.
IMSIRanges Required; used for load balancing. The value is set to comma
separated values of IMSI Ranges.
For example, set IMSIRanges
“112156000000001-112156001000000,112156010000001-11215
6011000000”
Note Prime Access Registrar uses the AVP configured in
StickyAVP property to check whether the IMSI is in valid
range.
IsActive Optional; if this is set to true, the new sessions will not go to the
peer server. By default, this is set as false.
You can use the Diameter Services List page for the following:
• Filtering Records
• Adding Diameter Service Details
• Editing Records
• Deleting Records
Step 1 Choose Configuration > Services > Diameter. The Diameter Services page is displayed.
Step 2 Click Add to add new Diameter service details. The DIAMETER Services Details page is displayed.
Step 3 Specify the required details in the PEER Statements, Applications, and PEER Definitions Proxy
specific sections.
Step 4 Click Save DIAMETER Service to save the specified details in the Diameter Services page. Otherwise
click Cancel to return to the Diameter Services page without saving the details.
On successful creation of the Diameter Service properties, the Diameter Services page is displayed else
a respective error message is displayed.
Note You may need to enter PEER Statements, Applications, and PEER Definitions Proxy details based on
the Role that you select in the DIAMETER-Services page.
Step 1 Click Add to add new PEER Statements details section. The fields specific to PEER Statements are
displayed.
Step 2 Specify the required details.
Step 3 Click Save to save the specified details in the PEER Statements section. Otherwise click Cancel to return
to the PEER Statements section without saving the details.
On successful creation of the Diameter Service properties, the Diameter Services page is displayed else
a respective error message is displayed.
Step 1 Click Add to add new Applications details in the Application List section. The fields specific to
Applications are displayed.
Step 2 Specify the required details.
Step 3 Click Save Appln to save the specified details in the Application List section. Otherwise click Cancel
Appln to return to the Application List section without saving the details.
Step 1 Click Add to add new Proxy PEER Statements in the PEER Definitions Proxy section. The fields
specific to Proxy PEER Statements are displayed.
Step 2 Specify the required details.
Step 3 Click Save to save the specified details in the Proxy PEER Statements section. Otherwise click Cancel
to return to the Proxy PEER Statements section without saving the details.
CommandSets
A command set consists of commands and the action to perform during TACACS+ command
authorization.
Step 1 Choose Configuration > Command Sets. Prime Access Registrar lists all the command sets available
in the system. You can edit or delete an existing command set.
Step 2 Click Add to add a new command set.
Step 3 Enter a name and description for the command set.
Step 4 Provide the Command Set parameters. Table 2-17 lists the parameters in the Add Command section.
Step 5 Click Add to add the new command to the set. The command details are displayed in the Commands
section. You can edit or delete a command from the list as required.
Step 6 Click Submit to save the command set details.
You can use the Command Sets page to perform the following as well:
• Filtering Records
• Editing Records
• Deleting Records
DeviceAccessRules
A device access rule consists of conditions or expressions and the applicable command sets for
TACACS+ command authorization.
Step 1 Choose Configuration > Device Access Rules. Prime Access Registrar lists all the device access rules
available in the system. You can edit or delete an existing device access rule.
Step 2 Click Add to add a new device access rule.
Step 3 Enter a name and description for the device access rule.
Step 4 Choose the default device access action to perform on all commands in the device access rule. Options
are Permit All or Deny All.
Step 5 In the Conditions field, include the expressions with AND or OR conditional operator.
Step 6 Select a command set from the drop-down list box and click Add. The selected command set is displayed
in the Command Set Names list box available. Click Delete to remove any command set from the list.
Step 7 Provide the expression details for the device access rule. Table 2-18 lists the parameters for adding
expressions.
Step 8 Click Add to add the expression to the list-box available in the Condition Expressions section. You can
edit or delete the expression from the list as required.
Step 9 Click Submit to save the device access rule details.
FastRules
FastRules provides a mechanism to easily choose the right authentication, authorization, accounting, and
query service(s), drop, reject, or break flows, run a script, choose a session manager and/or a chain of
fast rules required for processing a packet.
FastRules has the following capabilities:
• Provides maximum flexibility and ease in matching information in the incoming packets for
choosing the appropriate service to apply
• Provides an option to match values in AVPs based on value ranges, exact match, and simple string
comparisons using regex
• Provides easy and efficient alternative to rule/policy engine and scripting points for most common
use cases—reduces the use of external scripts to choose an appropriate service
For more information about FastRules and the workflow, see Chapter 11, “Using FastRules to Process
Packet Flow.”
Step 1 Choose Configuration > FastRules. Prime Access Registrar lists fast rules available for RADIUS,
Diameter, and TACACS in the respective tabs. You can edit or delete an existing fast rule.
Step 2 Click Add to add a new fast rule. Table 2-19 provides the list of parameters in the FastRules Details
page.
Step 3 Add Success and Failure attribute values to the Success Mapping and Failure Mapping fields in the
respective sections.
Step 4 Click Save to save the fast rules details.
Replication
The replication feature of Prime Access Registrar allows you to maintain identical configurations on
multiple machines simultaneously. It eliminates the need to have administrators with multiple Prime
Access Registrar installations, make the same configuration changes at each of their installations.
Instead, only the master's configuration must be changed and the slave is automatically configured
eliminating the need to make repetitive, error-prone configuration changes for each individual
installation. In addition to enhancing server configuration management, using replication eliminates the
need for a hot-standby machine.
Employing Prime Access Registrar's replication feature, both servers can perform RADIUS request
processing simultaneously, eliminating wasted resources. It focuses on configuration maintenance only,
not session information or installation-specific information.
Table 2-20 lists and describes the fields in the Replication Details page.
Fields Description
General Properties tab
Replication Type Indicates the type of replication
Transaction Sync Interval (in Duration between periodic transmission of the TransactionSync
ms) message expressed in milliseconds. The default is 60000 or 1
minute.
Transaction Archive Limit The default setting is 100.
The value set for RepTransactionArchiveLimit should be the same
on the master and the slave.
Replication Secret The value of this setting must be identical on both the master and
the slave.
Is Master On the master, set RepIsMaster to TRUE. On the slave, set it to
FALSE.
Master IP Address Specifies the IP Address of the master.
Master Port Specifies the port to be used to send replication messages to the
master.
Replication IP Address The value is set to the IP Address of the machine containing the
Prime Access Registrar installation.
Replication Port Defaults to port1645.
Replication Members tab
Name Name of the slave. The name must be unique.
Fields Description
IP Address Indicates the IP Address of the slave.
Port Port upon which the master will send replication messages to the
slave.
You can use the Replication Details page for the following:
• Filtering Records
• Adding Replication Details
• Adding the Replication Member Details
• Editing Records
• Deleting Records
Step 1 Choose Configuration > Replication. The Replication Details page is displayed.
Step 2 Specify the replication details.
Step 3 Enter the Replication Member Details, if needed.
Step 4 Click Save to save the new replication details. Otherwise click Reset to restore the default values.
On successful creation of the replication details, a success message is displayed else a respective error
message is displayed.
Step 1 Click the Replication Members tab. The List of Replication Members section is displayed.
Step 2 Enter the required details.
Step 3 Click Submit to save the new replication member details.
RADIUSDictionary
The RADIUS dictionary passes information between a script and the RADIUS server, or between scripts
running on a single packet.
Table 2-21 lists and describes the fields in the Add Radius Attributes page. The fields listed below are
the entire list of all the available types. The fields are displayed based on the type selected.
Fields Description
Name Required; must be unique in the RADIUS dictionary list
Description Optional; description of the attribute
Attribute Required; must be a number between 1-255. It must be unique
within the Attribute dictionary list.
Type Required; type governs how the value is interpreted and printed.
Minimum Set to zero
Maximum Set to 253
Enum Number Enums allow you to specify the mapping between the value and the
strings. After you have established this mapping,
Prime Access Registrar then replaces the number with the
appropriate string. The min/max properties represent the lowest to
highest values of the enumeration.
Enum Equivalent The value can range from 1 through 255. Click the Add button to
save the details and list it in the Enums list. To navigate between the
listed attributes, use the navigation option available adjacent to the
list. See Relocating Records for more details. To delete the available
attributes, select the relevant attribute and click the Delete button
below.
Tag The tag number value can range from 0 through 31. The default
value is zero.
You can use the Radius Attributes page for the following:
• Filtering Records
• Adding RADIUS Dictionary Details
• Editing Records
• Deleting Records
Step 1 Choose Configuration > Radius Dictionary. The Radius Attributes page is displayed.
Step 2 Click Add to add new RADIUS dictionary details. The Add RADIUS Dictionary page is displayed.
Step 3 Enter the required details.
Step 4 Click Submit to save the specified details in the Radius Attributes page. Otherwise click Cancel to
return to the Radius Attributes page without saving the details.
On successful creation of the Radius Attributes, the Radius Attributes page is displayed else a respective
error message is displayed.
VendorDictionary
The vendor dictionary allows the user to maintain the attributes of the vendor with respect to vendor id,
vendor type and the attributes required to support the major NAS.
Table 2-22 lists and describes the fields in the Add Vendor Dictionary page. The fields listed below are
the entire list of all the available types. The fields are displayed based on the type selected.
Fields Description
Name Required; must be unique in the Vendor dictionary list
Description Optional; description of the attribute
Vendor ID Required; must be a valid number and unique within the entire
attribute dictionary
Type Required; type governs how the value is interpreted and printed.
Minimum Optional; set to zero
Maximum Optional; set to 253
Enum Number Optional; enums allow you to specify the mapping between the
value and the strings. After you have established this mapping,
Prime Access Registrar then replaces the number with the
appropriate string. The min/max properties represent the lowest to
highest values of the enumeration.
Enum Equivalent Optional; the value can range from 1 through 255. Click the Add
button to save the details and list it in the Enums list. To navigate
between the listed attributes, use the navigation option available
adjacent to the list. See Relocating Records for more details. To
delete the available attributes, select the relevant attribute and click
the Delete button below.
Tag Optional; the tag number value can range from 0 through 31. The
default value is zero.
Vendor Size Optional; set the vendor size to 8, 16, or 32 bit
HasSubAttributeLengthField Optional; indicates that the value field of the attribute has the length
field for the sub attribute.
You can use the Vendor Dictionary page for the following:
• Filtering Records
• Adding Vendor Dictionary Details
• Editing Records
• Deleting Records
Step 1 Choose Configuration > Vendor Dictionary. The Vendor Attributes page is displayed.
Step 2 Click Add to add new Vendor dictionary details. The Add Vendor Dictionary page is displayed.
Step 3 Enter the required details.
Step 4 Click Submit to save the specified details in the Vendor Attributes page. Otherwise click Cancel to
return to the Vendor Attributes page without saving the details.
On successful creation of the vendor dictionary details, the Vendor Attributes page is displayed else a
respective error message is displayed.
Note After adding new vendor dictionary details, you can add vendor attributes details. Or you can
also add vendor attributes details by clicking the link in the vendor dictionary list, see Adding
Vendor Attributes for details.
Vendor Attributes
Vendor-specific attributes are included in specific RADIUS packets to communicate prepaid user
balance information from the Prime Access Registrar server to the AAA client, and actual usage, either
interim or total, between the NAS and the Prime Access Registrar server.
Table 2-23 lists and describes the fields in the Add Vendor Attributes page.
Fields Description
Name Required; must be unique in the Vendor attribute list
Description Optional; description of the attribute
Attribute Required; must be a valid number and unique within the entire
attribute dictionary
Type Required; type governs how the value is interpreted and printed.
Minimum Optional; set to zero
Maximum Optional; set to 253
Enum Number Optional; enums allow you to specify the mapping between the
value and the strings. After you have established this mapping,
Prime Access Registrar then replaces the number with the
appropriate string. The min/max properties represent the lowest to
highest values of the enumeration.
Fields Description
Enum Equivalent Optional; the value can range from 1 through 255. Click the Add
button to save the details and list it in the Enums list. To navigate
between the listed attributes, use the navigation option available
adjacent to the list. See Relocating Records for more details. To
delete the available attributes, select the relevant attribute and click
the Delete button below.
Tag Optional; the tag number value can range from 0 through 31. The
default value is zero.
You can use the Vendor Attributes page for the following:
• Filtering Records
• Adding Vendor Attributes
• Editing Records
• Deleting Records
Step 1 Choose Configuration > Vendor Dictionary. The Vendor Attributes page is displayed.
Step 2 Click the Vendor name link. The Vendor Attributes page is displayed.
Step 3 Click Add to add new Vendor attributes. The Add Vendor Attributes page is displayed.
Step 4 Enter the required details.
Step 5 Click Submit to save the specified details in the Vendor Attributes page. Otherwise click Cancel to
return to the Vendor Attributes page without saving the details.
On successful creation of the vendor attributes, the Vendor Attributes page is displayed else a respective
error message is displayed.
Vendors
The Vendor object provides a central location for specifying all of the request and response processing
a particular NAS or Proxy vendor requires. Depending on the vendor, it might be necessary to map
attributes in the request from one set to another, or to filter out certain attributes before sending the
response to the client. For more information about standard RADIUS attributes, see the “RADIUS
Attributes” chapter of the Cisco Prime Access Registrar 7.3 Reference Guide.
Note When you have also set /Radius/IncomingScript, Cisco Prime Access Registrar runs that script before
the vendor’s script. Conversely, when you have set a /Radius/Outgoing script,
Cisco Prime Access Registrar runs the vendor’s script before that script.
Table 2-24 lists and describes the fields in the Add Vendor page.
Fields Description
Name Required; must be unique in the Vendors list.
IncomingScript Optional; when you specify an IncomingScript,
Cisco Prime Access Registrar runs the script on all requests from clients
that specify that vendor.
Description Optional; description of the vendor.
OutgoingScript Optional; when you specify an OutgoingScript,
Cisco Prime Access Registrar runs the script on all responses to the
Client.
Translations
Translations add new attributes to a packet or change an existing attribute from one value to another.
The Translations subdirectory lists all definitions of Translations the RADIUS server can apply to
certain packets.
Under the /Radius/Translations directory, any translation to insert, substitute, or translate attributes can
be added. The following is a sample configuration under the /Radius/Translations directory:
cd /Radius/Translations
Add T1
cd T1
Set DeleAttrs Session-Timeout,Called-Station-Id
cd Attributes
Set Calling-Station-Id 18009998888
DeleAttrs is the set of attributes to be deleted from the packet. Each attribute is comma separated and
no spaces are allowed between attributes. All attribute value pairs under the attributes subdirectory are
the attributes and values that are going to be added or translated to the packet.
Under the /Radius/Translations/T1/Attributes directory, inserted or translated attribute value pairs can
be set. These attribute value pairs are either added to the packet or replaced with the new value.
If a translation applies to an Access-Request packet, by referencing the definition of that translation, the
Prime Access Registrar server modifies the Request dictionary and inserts, filters, and substitutes the
attributes accordingly. You can set many translations for one packet and the Prime Access Registrar
server applies these translations sequentially.
Table 2-25 lists and describes the fields in the Add Translations page.
Fields Description
General Properties tab
Name Required; must be unique in the Translations list.
Description Optional; description of the Translation
Attribute Type Optional; select either RADIUS or VENDOR. If Vendor is selected, specify
the vendor type from the drop-down list. Select the attributes from the
available list. To navigate between the listed attributes, use the navigation
option available adjacent to the list. See Relocating Records for more details.
Attributes tab
Attribute Type Optional; select either RADIUS or VENDOR. If Vendor is selected, specify
the vendor type from the drop-down list.
Attribute Name Optional; based on the Attribute Type selected, the attribute name is
automated. Set the relevant name for the attribute type selected.
Attribute Value Optional; set the value for the selected attribute. Click the Add button to save
the details and list it in Radius and Value list. To navigate between the listed
attributes, use the navigation option available adjacent to the list. See
Relocating Records for more details. To delete the available attributes, select
the relevant attribute and click the Delete button below.
TranslationGroups
You can add translation groups for different user groups under TranslationGroups. All Translations
under the Translations subdirectory are applied to those packets that fall into the groups. The groups are
integrated with the Prime Access Registrar Rule engine.
The Prime Access Registrar Administrator can use any RADIUS attribute to determine the Translation
Group. The incoming and outgoing translation group can be different translation groups. For example,
you can set one translation group for incoming translations and one for outgoing translations.
Under the /Radius/TranslationGroups directory, translations can be grouped and applied to certain sets
of packets, which are referred to in a rule. The following is a sample configuration under the
/Radius/TranslationGroups directory:
cd /Radius/TranslationGroups
Add CiscoIncoming
cd CiscoIncoming
cd Translations
Set 1 T1
The translation group is referenced through the Prime Access Registrar Policy Engine in the
/Radius/Rules/<RuleName>/Attributes directory. Incoming-Translation-Groups are set to a
translation group (for example CiscoIncoming) and Outgoing-Translation-Groups to another
translation group (for example CiscoOutgoing).
Table 2-26 lists and describes the fields in the Add Translation Groups page.
Fields Description
Name Required; must be unique in the Translations list.
Description Optional; description of the Translation Group.
Translations Optional; lists of translation. To navigate between the listed attributes, use
the navigation option available adjacent to the list. See Relocating Records
for more details.
You can use the Translation Groups page for the following:
• Filtering Records
• Adding Translation Group Details
• Editing Records
• Deleting Records
Step 1 Choose Configuration > TranslationGroups. The Translation Groups page is displayed.
Step 2 Click Add to add new translation group details. The Add TranslationGroup page is displayed.
Step 3 Enter the required details.
Step 4 Click Add TranslationGroup to save the specified details in the Translation Groups page. Otherwise
click Cancel to return to the Translation Groups page without saving the details.
On successful creation of the translation group details, the Translation Groups page is displayed else a
respective error message is displayed.
Diameter
Diameter is a computer networking protocol for Authentication, Authorization and Accounting (AAA).
It is a successor to RADIUS or an enhanced version of the RADIUS protocol. It includes numerous
enhancements in all aspects, such as error handling and message delivery reliability. It extracts the
essence of the AAA protocol from RADIUS and defines a set of messages that are general enough to be
the core of the Diameter Base protocol. The various applications that require AAA functions can define
their own extensions on top of the Diameter base protocol, and can benefit from the general capabilities
provided by the Diameter base protocol.
The following sections can be used to configure Diameter transport management properties, session
management properties, add new application, commands associated with it and application specific
AVPs:
• General
• Session Management
• Applications
• Commands
• DiameterAttributes
General
This section explains how to set Diameter general configuration such as product name, version, and
transport management properties.
Table 2-27 lists and describes the fields in the General Diameter Properties page.
Fields Description
General section
Product Optional; name of the product.
AuthApplicationIdList Specifies the list of AuthApplications that the
Prime Access Registrar server registers to Diameter Base
stack during start up. It is a combination of Auth Applica-
tionId's separated by a colon.
Version Optional; version number.
AcctApplicationIdList Specifies the list of AcctApplications that the
Prime Access Registrar server registers to Diameter Base
stack during start up. It is a combination of Acct Applica-
tionId's separated by a colon.
Transport Management section
Identity Required; identity of the system on which Diameter appli-
cation is running. Must be set to a valid resolvable string.
Realm Required; must be set to a valid Realm in the domain.
EnableIPV6 Required; if set to TRUE it enables IPV6 for the Diameter
application.
ValidateIncomingMessages Check the box to validate incoming messages.
ValidateOutgoingMessages Check the box to validate outgoing messages.
MaximumNumberofDiameterPackets Required; the maximum number of Diameter packets that
can be processed.
DiameterPacketSize Required; the Diameter packet size that can be processed.
An incoming Diameter packet with a packet size more than
the value set in this field will be dropped.
WatchdogTimeout Required; specifies the time interval between watch dog
messages.
ReserveDiameterPacketPool Percentage of the Diameter packet pool to reserve for the
Diameter remote server responses.
Fields Description
TCPListenPort Required; port number on which the
Prime Access Registrar server listens for TCP peer con-
nections.
SCTPListenPort Required; port number on which the
Prime Access Registrar server listens for SCTP peer con-
nections.
ReconnectInterval Required; specifies the time interval between which
Prime Access Registrar server attempts to connect to a dis-
connected peer. If set to 0, then no attempt will be made to
connect to a disconnected peer.
MaxReconnections Required; specifies the number of times
Prime Access Registrar server tries to make a reconnection
attempt. If set to 0, then no attempt will be made to recon-
nect.
RequestRetransmissionInterval Required; the time for which retransmission of pending
requests will be done. If set to 0, then no attempt will be
made to retransmit.
MaxRequestRetransmissionCount Required, maximum number of times
Prime Access Registrar server tries to retransmit a pending
request. If set to 0, then no attempt will be made to retrans-
mit.
Receive BufferSize Required; initial size of buffer that is preallocated for
message reception.
SCTPOptions Section
MaxInitRetry Maximum number of retries for INIT message to open a
connection. Valid range is 0 - 255. Set to 0 to retry indefi-
nitely.
MaxInboundStream Maximum number of incoming streams per connection.
Valid range is 1 - 65545.
MaxOutboundstream Maximum number of outgoing streams per connection.
Valid range is 1 - 65545.
HeartbeatInterval Default heartbeat interval for a connection.
EnableHeartbeat Indicates whether to enable or disable heartbeat to monitor
the connections and allow earlier detection of loss connec-
tions.
AdvertisedHostName Optional, specifies the local hostname address that will be
advertised by the Prime Access Registrar server to other
peers during CER/CEA exchange.
For example:
AdvertisedHostNames = toby-ar1.cisco.com
Step 1 Choose Configuration > Diameter > General. The General Diameter page is displayed.
Step 2 Specify the required details.
Step 3 Click Set to save the specified details.
On successful creation of the general Diameter parameters, a success message is displayed else a
respective error message is displayed.
Session Management
Diameter Base protocol stack provides the functionality of Session Management. Base Stack maintains
sessions separately for authentication and accounting messages. Session-Id AVP is used to identify the
user session.
Table 2-28 lists and describes the fields in the Session Management page.
Fields Description
Session Management section
MaxNumberOfSessions Required; specifies the maximum number of concurrent
Diameter sessions the Prime Access Registrar server will
maintain. These sessions include both Auth and Acct
sessions.
AuthSessions section
EnableStatefulSessions If set to TRUE, the server will enforce stateful sessions and
the client will hint for stateful sessions. Default Value is
TRUE. Set the property to FALSE to disable stateful
sessions.
AuthSessionTimeout Required; specifies the timeout in seconds before a session
requires reauthentication.
LifeTimeTimeout Required; specifies the timeout in seconds before a session
is terminated regardless of whether the session has been re-
authenticated.
GracePeriodTimeout Required; specifies the grace period after the life timeout
and before the full termination of the session.
AbortRetryTimeout Required; specifies the timeout between the subsequent
Abort Session Request (ASR) messages if the initial
attempt fails.
AcctSessions section
AcctSessionTimeout Required; specifies the timeout in seconds before a session
requires reauthentication.
InterimInterval Required; specifies the interim interval dictated to the
client if the entity is a server or hint to the server if the
entity is a client.
RealTime Required; RealTime value dictated to the client.
Step 1 Choose Configuration > Diameter>SessionManagement. The Session Management page is displayed.
Step 2 Enter the required details and click Set.
On successful creation of the parameters, a success message is displayed else a respective error message
is displayed.
Applications
A Diameter application is not a software application, but a protocol based on the Diameter base protocol
(defined in RFC 6733). Each application is defined by an application identifier and can add new
command codes and/or new mandatory AVPs.
When you click the Add button in the Applications page, the Application Details page is displayed.
Table 2-29 lists and describes the fields in the Application Details page.
Fields Description
Name Required; name of the application.
Description Optional; description of the application.
VendorSpecific Required; the default is FALSE. If set to FALSE, the application is
ordinary application and user is prompted to enter the ApplicationID.
If set to TRUE, the application is a VendorSpecific Application. User
is prompted to enter VendorSpecificApplicationID and VendorID.
AuthApplication Required; if set to TRUE the application represents AuthApplication
else it represents Accounting Application.
ApplicationURI Optional; specifies the URI of the Application.
Eg: "ftp://ftp.ietf.org/internet-drafts/draft-ietf-aaa-diameter-nasreq-
12.txt"
ApplicationID Required; specifies the unique integer value for the application.
The following are examples of Diameter application:
NASREQ 1
Mobile-IP 2
Diameter Base Accounting 3
Note ApplicationURI property must be set to 0 for Base Protocol.
VendorSpecificApplicationID Required; specifies the integer value for the vendor specific applica-
tion.
Fields Description
VendorID Required; specifies the VendorID for the application.
Example:
DIAMETER 3GPP Cx APPLICATION
VendorSpecificApplicationID 16777216
VendorID 10415
Commands Required; an indexed list from 1 to <n>. Each entry in the list is the
name of the command. It specifies the list of commands associated
with the application.
To navigate between the listed attributes, use the navigation option
available adjacent to the list. See Relocating Records for more
details.
Step 1 Choose Configuration > Diameter > Applications. The Applications page is displayed.
Step 2 Click Add. The Application Details page is displayed.
Step 3 Enter the relevant details.
Step 4 Click Add Application to save the specified details in the Application Details page. Otherwise click
Cancel to return to the Applications page without saving the details.
On successful creation of the Applications details, a success message is displayed else a respective error
message is displayed.
Commands
Each command in Diameter is associated with a command code. The command can be a request
command or an answer command which is identified by the 'R' bit in the Command Flags field of the
Diameter header.
When you click the Add button in the commands page, the Command Details page is displayed.
Table 2-30 lists and describes the fields in the Command Details page.
Fields Description
Name Required; name of the command.
Description Optional; description of the command.
Command Code Required; specifies the integer code of the command.
EnableProxyBit Required; default is TRUE. When enabled it represents the message
is proxiable.
RequestFixed tab Defines the fixed position of AVP in a request message.
RequestRequired tab The AVP must be present and can appear anywhere in the request
message.
RequestOptional tab The AVP name in optional cannot evaluate to any avp name which is
included in a fixed or required directory. The avp can appear
anywhere in the request message.
AnswerFixed tab Defines the fixed position of AVP in the answer message.
AnswerRequired tab The AVP must present and can appear anywhere in the answer
message.
AnswerOptional tab The AVP name in optional cannot evaluate to any avp name which is
included in a fixed or required directory. The avp can appear
anywhere in the answer message.
You can click the Add button in the Command Details page to add the AVP details. Table 2-31 lists and
describes the fields displayed on clicking the Add button.
Fields Description
Name Required; name of the AVP.
Description Optional; description of the AVP.
Min Specifies the minimum number of times AVP element may be present
in a request. The default value is 0.
Max Specifies the maximum number of times the element may present in
a request. A value of zero implies AVP is not present in the request.
Step 1 Choose Configuration > Diameter > Commands. The Commands page is displayed.
Step 2 Click Add. The Add Commands page is displayed.
Step 3 Enter the relevant details.
Step 4 Click the required tab and click Add to enter the AVP details.
Step 5 Click Save to save the AVP details or click Cancel to exit the page without saving the details.
Step 6 Click Add Command to save the specified details in the Add Commands page. Otherwise click Cancel
to return to the Commands page without saving the details.
The Commands page is displayed with the newly added details or a respective error message is
displayed.
DiameterAttributes
You can define the attributes to use in the Diameter EAP application.
Table 2-32 lists and describes the fields in the DiameterAttributes page.
Fields Description
Name Required; name of the attribute.
Description Optional; description of the attribute.
Attribute Required; attribute value.
VendorID Required; Vendor ID of the Diameter application.
Mandatory Indicates whether the attribute is mandatory or not. Options are May,
Must, and MustNot.
May-Encrypt Choose Yes or No to indicate whether the attribute value can be
encrypted or not.
Protected Indicates whether the attribute value is protected or not. Options are
May, Must, and MustNot.
Type Choose the type of the attribute.
Minimum Minimum value for the attribute.
Maximum Maximum value for the attribute.
Step 1 Choose Configuration > Diameter > DiameterAttributes. The DiameterAttributes page is displayed.
Step 2 Click Add.
Step 3 Provide the relevant details as explained in Table 2-32.
Step 4 Click Add DiameterAttributes to save the specified details. Otherwise click Cancel to return to the
previous page without saving the details.
The DiameterAttributes page is displayed with the newly added details or a respective error message is
displayed.
Advanced
Advanced objects allow configuring system-level properties and the Attribute dictionary. Under normal
system operation, the system-level properties should not be changed.
The following list helps you in defining the system-level properties and attribute dictionary:
• Default
• BackingStore/ServerParam
• RemoteSessionServer
• SNMP and Server Monitor
• DDNS
• Encrypted IMSI Private Keys
• ODBC DataSources
• Log
• Ports
• Interfaces
• Attribute Groups
Default
This feature of GUI allows you in configuring the default values for other functionalists of GUI. The
configurations set in this feature reflects on all the other features.
Table 2-33 lists and describes the fields in the Default Advanced Details page.
Fields Description
Default section
AAAFileServiceSyncInterval Required; specified in milliseconds, the default is 75. This property
governs how often the file AAA service processes accounting
requests and writes the accounting records to the file. You can lower
the number to reduce the delay in acknowledging the Account-Re-
quest at the expense of more frequent flushing of the accounting file
to disk. You can raise the number to reduce the cost of flushing to
disk, at the expense of increasing the delays in acknowledging the
Accounting-Requests. The default value was determined to provide
a reasonable compromise between the two alternatives.
RemoteRadiusServerInterface When set, specifies the local interface to bind to when creating the
RemoteRadiusServer socket. If not set, the Prime Access Registrar
binds to IPADDR_ANY.
Fields Description
MaximumNumberOfXML- Required when using identity caching. Indicates the maximum
Packets number of XML packets to be sent or received. The minimum value
is 1 and the maximum is a 32-bit unsigned integer. The default is
1024.
MaximumODBCResultSize Required; specifies maximum size in bytes for an ODBC mapping.
This parameter affects both ODBC result sizes and the trace log
buffer for tracing script calls that access any of the dictionaries.
(Default value is 256.)
XMLUDPPacketSize Required when using identity caching. Indicates the maximum size
of XML packets to be sent or received. The minimum value is 1 and
the maximum is a 32-bit unsigned integer. The default is 4096.
InitialBackgroundTim- Required; the default is 5. This property specifies the amount of time
erSleepTime the time queue should initially sleep before beginning processing.
This property is only used for initial synchronization and should not
be changed.
RemoteLDAPServerThread- Required; specified in milliseconds, the default is 10. This property
TimerInterval governs how often the ldap RemoteServer thread checks to see if any
results have arrived from the remote LDAP server. You can modify it
to improve the throughput of the server when it proxies requests to a
remote LDAP server.
AdvancedDuplicateDetec- Required when the Advanced Duplicate Detection feature is enabled.
tionMemoryInterval This property specifies how long (in milliseconds)
Cisco Prime Access Registrar should remember a request. You must
specify a number greater than zero. The default is 10,000.
RollingEncryptionKey- Used in conjunction with the session-cache ResourceManager, this
ChangePeriod property specifies the length of time a given EncryptionKey will be
used before a new one is created. When the session-cache Resource-
Manager caches User-Password attributes, Prime Access Registrar
encrypts the User-Password so it is not stored in memory or persisted
on disk in clear text. Prime Access Registrar uses up to 255 encryp-
tion keys, using a new one after each RollingEncryptionKeyChange-
Period expires. If RollingEncryptionKeyChangePeriod is set to 2
days, Prime Access Registrar will create and begin using a new En-
cryptionKey every two days. The oldest key will be retired, and
Prime Access Registrar will re-encrypt any User-Passwords that used
the old key with the new key. This way, if the RollingEncryptionKey-
ChangePeriod is set to 1 day, no key will be older than 255 days.
DefaultReturnedSubnetSi- Optional; used with the ODAP feature and reflects the returned size
zeIfNoMatch of the subnet if no matched subnet is found. There are three options
to select if an exactly matched subnet does not exist: Bigger, Smaller,
and Exact. The default is Bigger.
ODBCEnvironmentMultiVal- Optional; allows you to specify a character that separates multivalued
ueDelimiter attributes in the marker list when using ODBC accounting
Fields Description
RemoteSigtranServerThread- Required; specified in milliseconds, the default is 10. This property
TimerInterval governs how often the sigtran RemoteServer thread checks to see if
any results have arrived from the remote HLR/AuC server. You can
modify it to improve the throughput of the server when it proxies
requests to a remote sigtran server.
AdditionalNativeOracleEr- Optional; 5 digit Oracle native error in order to disconnect the
rors ODBC/OCI remote servers.
EnableLengthFlag Check this box to enable the length flag.
FlushDiskInBackground Check this box to allow Prime Access Registrar to flush the account-
ing record to disk before it acknowledges the request packets.
SendOpCodeInISDResponse Check this box to send operator code in the ISD response.
EnableRoutingContex- Check this box to enable routing context in M3UA.
tInM3UA
DefaultRadiusSharedSecret Enter the default shared secret for RADIUS server.
ReserveRADIUSPacketPool Percentage of the RADIUS packet pool to reserve for the RADIUS
remote server responses.
EnableLocationCapability Check the box to enable location-based attributes within RADIUS
and Diameter that can be used to convey location-related information
for authentication and accounting exchanges.
If this option is enabled, Prime Access Registrar retrieves the
location information from the client and processes the incoming
packet for AA services.
For more information on location information delivery flows, refer to
RFC 5580. For information on location-based attributes in
Prime Access Registrar, see the “Environment Dictionary” chapter
of the Cisco Prime Access Registrar 7.3 Reference Guide.
TLSv1Enabled Applicable only for Diameter; Set to TRUE to use TLS version 1.0
and above for Diameter connection. Set to FALSE to use TLS version
greater than 1.0 for Diameter connection.
DiameterSessionResto- The time at which Prime Access Registrar must run the Diameter
rationPurgeTime session restoration process. Format is HH:MM:SS (24 hrs format)
and default value is 02:00:00.
Recommended time is when the incoming traffic is minimal.
Note This time should always be two hours behind the Diameter
stale session purge time.
DiameterStaleSessionPurge- The time at which Prime Access Registrar must check for Diameter
Time stale sessions. Format is HH:MM:SS (24 hrs format) and default
value is 00:00:00.
Recommended time is when the incoming traffic is minimal.
Fields Description
AR Flags section
HideSharedSecretAndPri- Optional; the default value is TRUE.
vateKeys
The HideSharedSecretAndPrivateKeys property hides:
• The secret that is shared between a RADIUS Client and a
RADIUS Server or between two RADIUS servers in a RADIUS
proxy scenario.
• The PrivateKeyPassword under the certificate-based EAP
services.
When this property is set to TRUE, the following properties are
displayed as <encrypted>:
• PrivateKeyPasswords in:
– peap-v0 service
– peap-v1 service
– eap-tls service
– eap-ttls service
– eap-fast service
• SharedSecret in:
– RemoteServers of type RADIUS
– RemoteServers of type map-gateway
– Clients object
– Resource Manager of type usr-vpn under Gateway subobject
• PseudonymSecret in eap-sim service
• DynamicAuthSecret under DynamicAuthorizationServer subject
in Clients object
• RepSecret under Replication
• Secret in /radius/advanced/DDNS/TSIGKeys
When the value for this property is set to FALSE, all the above prop-
erties are displayed in clear text.
ListenForDynamicAuthoriza- Must be set to TRUE when using the Change of Authorization (CoA)
tionRequests feature or Packet of Disconnect (POD) feature. Default is FALSE.
RequireNASsBehindProxy- Optional; the default is FALSE. If you accept the default,
BeInClientList Cisco Prime Access Registrar only uses the source IP address to
identify the immediate client that sent the request. Leaving it FALSE
is useful when this RADIUS Server should only know about the
proxy server and should treat requests as if they came from the proxy
server. This might be the case with some environments that buy bulk
dial service from a third party and thus do not need to, or are unable
to, list all of the NASs behind the third party’s proxy server. When
you set it to TRUE, you must list all of the NASs behind the Proxy in
the Clients list.
Fields Description
UseAdvancedDuplicateDe- Required; the default is FALSE. Set this property to TRUE when you
tection want Cisco Prime Access Registrar to use a more robust duplicate
request filtering algorithm.
DetectOutOfOrderAccount- Optional; used to detect accounting packets that arrive out of sequen-
ingPackets tial order. The default is FALSE. This property is useful when using
accounting and session management in a RADIUS proxy service.
When the DetectOutOfOrderAccountingPacket property is enabled
(set to TRUE), a new Class attribute is included in all outgoing
Accept packets. The value for this Class attribute will contain the
session magic number. The client will echo this value in the account-
ing packets, and this will be used for comparison.
The session magic number is a unique number created for all sessions
when the session is created or reused and the DetectOutOfOrderAc-
countingPacket property is set to TRUE. The DetectOutOfOrderAc-
countingPacket property is used to detect out-of-order
Accounting-Stop packets in roaming scenarios by comparing the
session magic number value in the session with the session magic
number value contained in the Accounting packet.
The value of 0xffffffff is considered by the Prime Access Registrar
server to be a wild card magic number. If any accounting stop packets
contain the value of 0xffffffff, it will pass the session magic valida-
tion even if the session’s magic number is something else.
The format of the class attribute is as follows:
<4-byte Magic Prefix><4-byte server IP address><4-byte Magic
value>
Java and EAP Parameters section
ClasspathForJavaExtensions A string which is the classpath to be used to locate Java classes and
jar files containing the classes required for loading the Java exten-
sions, either Java extension points or services.
Note The classpath will always contain the directory $INSTALL-
DIR/scripts/radius/java and all of the jar files in that direc-
tory.
JavaVMOptions A string that can contain options to be passed to the JRE upon startup.
JavaVMOptions should be used only when requested by Cisco TAC.
EapBadMessagePolicy Set to one of two values: SilentDiscard (the default) or RejectFailure.
When set to SilentDiscard, the Prime Access Registrar server silently
discards and ignores bad EAP messages unless the protocol specifi-
cation explicitly requires a failure message.
When set to RejectFailure, the Prime Access Registrar server sends
RADIUS Access-Rejects messages with embedded EAP-Failure in
response to bad EAP messages as described in Internet RFC 3579.
Fields Description
CertificateDBPath Required if you are using an LDAP RemoteServer and you want
Prime Access Registrar to use SSL when communicating with that
LDAP RemoteServer. This property specifies the path to the
directory containing the client certificates to be used when establish-
ing an SSL connection to an LDAP RemoteServer. This directory
must contain the cert7.db and cert5.db certificates and the key3.db
and key.db files database used by Netscape Navigator 3.x (and
above) or the ServerCert.db certificate database used by Netscape
2.x servers.
UISessionTimeoutInMins Required; maximum value is 30 minutes.
When set to a non-zero value, an administrator will be able to hold
only one active session. This includes GUI, CLI, and REST API
sessions.
GUI or CLI session will be logged out automatically, if left inactive
for the configured timeout value.
After three consecutive failed login attempts, administrator will be
blocked for the configured time i.e. the administrator will be able to
login only after the time (in mins) mentioned in this field.
Step 1 Choose Configuration > Advanced > Default. The Default Advanced Details page is displayed.
Step 2 Enter the relevant details.
Step 3 Click Set to save the specified details in the Default Advanced Details page. Otherwise, click Reset to
restore the default values. On successful creation of the default configurations, a success message is
displayed else a respective error message is displayed.
BackingStore/ServerParam
The Backing Store is a Parsing Tool which helps you in analyzing the session backing store files. It
retrieves the information on RADIUS sessions, clears phantom sessions details manually and processes
the binary log files information to user-readable format.
The Server parameters are set to configure objects to remote server using the relevant aregcmd
commands.
Table 2-34 lists and describes the fields in the Backing/ServerParam Advanced Details page.
Fields Description
Backing Store section
SessionBackingStoreSyncInterval Sessions will be written to the backing store at this interval
PacketBackingStoreSyncInterval The minimum value is 1 and the maximum is a 32-bit
unsigned integer. The default is 75.
SessionBackingStorePruneInterval Required; specifies the sleep time interval of the session
backing store pruning thread. The recommended and
default value is 6 hours, but you can modify this based on
the traffic patterns you experience.
With SessionBackingStorePruneInterval set to 6 hours,
pruning will occur 6 hours after you restart or reload the
Prime Access Registrar server and recur every 6 hours.
You can set a very low value for this property to make
pruning continuous, but there might not be enough data ac-
cumulated for the pruning to occur and pruning might be
less effective compared to the default setting.
PacketBackingStorePruneInterval Required; specifies the sleep time interval of the packet
backing store pruning thread. The recommended value is 6
hours, but you can modify this based on the traffic patterns
you experience.
When PacketBackingStorePruneInterval is set to 6 hours,
pruning will occur 6 hours after you restart or reload the
Prime Access Registrar server and recur every 6 hours.
You can set a very low value for this property to make
pruning continuous, but there might not be enough data ac-
cumulated for the pruning to occur and pruning might be
less effective compared to the default setting.
BackingStoreDiscThreshold Required; the default is 10 gigabytes. The value of Back-
ingStoreDisc-
Threshold is made up of a number of units which can be K,
kilobyte, or kilobytes, M, megabyte, or megabytes, or G,
gigabyte, or gigabytes.
BackingStoreDiscThreshold is used with session manage-
ment and ODBC accounting and ensures that any data log
files generated will not cross the BackingStoreDiscThresh-
old.
Fields Description
SessionPurgeInterval Optional; the SessionPurgeInterval property determines
the time interval at which to check for timed-out sessions.
If no value is set, the session timeout feature is disabled.
The checks are performed in the background when system
resources are available, so checks might not always occur
at the exact time set.
The minimum recommended value for SessionPurgeInter-
val is 60 minutes. The SessionPurgeInterval value is
comprised of a number and a units indicator, as in n units,
where a unit is one of minutes, hours, days, or weeks.
StaleSessionTimeout Required; the default value is “1 hour.” Specifies the time
interval to maintain a session when a client does not
respond to Accounting-Stop notification.
When the Prime Access Registrar server does not receive
an Accounting-Response from a client after sending an Ac-
counting-Stop packet, Prime Access Registrar maintains
the session for the time interval configured in this property
before releasing the session.
This property is stored as a string composed of two parts: a
number and a unit indicator (<n> <units>) similar to the
MaxFileAge property where the unit is one of: M, Minute,
Minutes, H, Hour, Hours, D, Day, Days, W, Week, or
Weeks.
NumberOfRadiusIdentifiersPerSocket This represents the number of RADIUS Identifiers that
Prime Access Registrar can use per source port, while
proxying requests to remote servers.
To use a different source port for every request that is
proxied, you need to set the value of this property to one.
EnableStickySessionCount Required; either True or False and the default value is True.
When set to True, Prime Access Registrar displays the peer
specific stats showing the number of sticky sessions asso-
ciated with a peer for Diameter proxy service in name_ra-
dius_log file.
StickySessionCountInterval Required; specified in milliseconds and the default is
60000. When the EnableStickySessionCount is set to True,
this field specifies how often the Diameter proxy service
will display the number of sticky sessions associated with
a peer.
StickySessionSyncInterval Required; specified in milliseconds and the default value is
500. Specifies how often the Diameter proxy service will
write the sticky sessions to a file located in /cis-
co-ar/temp/__sticky_sessions_store location.
Fields Description
Server Parameters section
MaximumNumberOfRadiusPackets Required; the default is 8192. This is a critical property
you should set high enough to allow for the maximum
number of simultaneous requests. When more requests
come in than there are packets allocated,
Cisco Prime Access Registrar will drop those additional
requests.
NumberOfRemoteUDPServerSocket Required; the default value for this property is 4.
The NumberOfRemoteUDPServerSockets property allows
you to configure the number of source ports used while
proxying requests to a remote RADIUS server. If the Num-
berOfRemoteUDPServerSockets property is set to a value
n, all remote servers share and use n sockets.
The NumberOfRemoteUDPServerSockets value comprises
a number, as in n, where n should be less than or equal to
the current process file descriptor limit divided by 4.
Note By default, the RADIUS process supports up to
1024 file descriptors. To increase the file descrip-
tors, stop the arserver; in the arserver script,
specify the required value to "NUMBER_OF_-
FILE_DESCRIPTORS" and restart the server. The
value for "NUMBER_OF_FILE_DESCRIPTORS"
should be in the range between 1024 to 65535.
MemoryLimitForRadiusProcess This property is used to avoid crashing of the RADIUS
process. The default value is 3500 Megabytes. This
property is under /radius/advanced. When the RADIUS
process uses memory more than the configured limit,
further sessions are not created and
Prime Access Registrar rejects further incoming requests.
MemorySizeCheckInterval This property is used to avoid crashing of the RADIUS
process. This is used in conjunction with MemoryLimit-
ForRadiusProcess. The default value is 5 minutes. Mem-
orySizeCheckInterval is a hidden parameter in mcd
database. To modify the default value, you need to export
the mcd database. Typically, a separate thread is created to
monitor the RADIUS process memory usage for every 5
minutes.
UDPPacketSize Required; the default is 4096. RFC 2138 specifies the
maximum packet length can be 4096 bytes. Do not change
this value.
Fields Description
PerPacketHeapSize Required; the default is 6500. This property sets the size of
the initial heap for each packet. The heap is the dynamic
memory a request can use during its lifetime. By preallo-
cating the heap size at the beginning of request processing,
we can minimize the cost of memory allocations. If Per-
PacketHeapSize is too low, Prime Access Registrar will
ask the system for memory more often. If PerPacketHeap-
Size is too high, Prime Access Registrar will allocate too
much memory for the request causing the system to use
more memory than required.
MinimumSocketBufferSize Required; the default is 65536 (64 K). This property
governs how deep the system’s buffer size is for queueing
UDP datagrams until Cisco Prime Access Registrar can
read and process them. The default is probably sufficient
for most sites. You can, however, raise or lower it as neces-
sary.
MaximumOutstandingRequests Optional; the default value for this property is 0.
The MaximumOutstandingRequests property is used to
limit the incoming traffic in terms of “requests processed”.
Serves as a hard limit.
The MaximumOutstandingRequests property comprises a
number n, where n can be any nonzero value.
MaximumIncomingRequests Optional; the default value for this property is 0.
ARIsCaseInsensitive When set to FALSE, requires that you provide exact
pathnames with regard to upper and lower case for all
objects, subobjects, and properties. The default setting,
TRUE, allows you to enter paths such as /rad/serv instead
of /Rad/Serv.
Note Prime Access Registrar always authenticates the
RADIUS attribute User-Name with regard to upper
and lower case, regardless of the setting of this
flag.
EnableDiameter Optional; Either TRUE or FALSE; default is TRUE. Set to
True when you want to use the Diameter protocol in
Prime Access Registrar.
Fields Description
KeyStores
This section is available for each of the following EAP services:
• EAP-SIM
• EAP-SIM-3GPP
• EAP-AKA
• EAP-AKA-3GPP
• EAP-AKA-PRIME
• EAP-AKA-PRIME-3GPP
• EAP-FAST
NumberOfKeys Maximum number of keys stored for generating
pseudonym secrets. Value can be from 1 till 1024.
RolloverPeriod Duration between key updates. Default is 1 week.
In case of rolling encryption, this denotes the duration for
which a key is active, after which the key is expired and the
next key is considered as an active key for pseudonym gen-
eration. For more information on rolling encryption, see
Rolling Encryption Support for Pseudonym Generation in
EAP-SIM, EAP-AKA, and EAP-AKA’ Services,
page 5-61.
Step 1 Choose Configuration > Advanced > Backing/ServerParam. The Backing/ServerParam Advanced
Details page is displayed.
Step 2 Specify the relevant details.
Step 3 Click Set to save the specified details in the Backing/ServerParamAdvanced Details page.
On successful creation of the server parameters, a success message is displayed else a respective error
message is displayed.
RemoteSessionServer
Prime Access Registrar sessions can also be stored on a remote database. This improves the overall
scalability of the number of sessions that Prime Access Registrar can simultaneously handle.
The remote session manager internally uses the following two ODBC remote servers:
• Internal-ODBC-Read-Server
• Internal-ODBC-Write-Server
Configurations pertaining to these internal remote servers can be done under the RemoteSessionServer
section.
Note Ensure that the length of fields such as Username, Session/Resource Manager name Session-Key,
Query-Key and so on are limited to the value specified in the schema, while it is configured. Although
the field length of entire session record is 3KB it is limited to 2KB. This is practically sufficient to hold
all the session parameters as well as the cached attributes (if any). For more information about the
schema, see Remote Session Management, page 9-48.
Note Remote session manager will work only with Oracle database.
Table 2-35 lists and describes the fields in the RemoteSessionServer Advanced Details page.
Fields Description
RemoteSessionServer section
ReactivateTimerInterval Mandatory time interval (in milliseconds) to activate an inactive
server; defaults to 300000 ms.
Timeout Mandatory time interval (in seconds) to wait for SQL operation to
complete; defaults to 15 seconds
DataSourceConnections Mandatory number of connections to be established; defaults to 8
ODBCDataSource Name of the ODBCDataSource to use and must refer to one entry in
the list of ODBC datasources configured under /Radius/Ad-
vanced/ODBCDataSources. Mandatory; no default.
KeepAliveTimerInterval Mandatory time interval (in milliseconds) to send a keepalive to keep
the idle connection active; defaults to zero (0) meaning the option is
disabled
MaximumBufferFileSize Mandatory if BufferAccountingPackets is set to TRUE, determines
the maximum buffer file size, defaults to 10 Megabyte)
CacheLimit Default is 250000; This represents the overall limit on cache of all
'remote' session managers. This value is interpreted as the maximum
number of packets that can be present in cache. When the number of
sessions hits this limit, sessions will be 'cached out'. This cache out
operation will continue, until the cache is at least 20% free.
BufferAccountingPackets Mandatory, TRUE or FALSE, determines whether to buffer the ac-
counting packets to local file, defaults to TRUE which means that
packet buffering is enabled.
Note When set to TRUE, a constant flow of incoming accounting
packets can fill the buffer backing store files in /cisco-ar/da-
ta/odbc beyond the size configured in MaximumBufferFile-
Size. Configure BackingStoreDiscThreshold in
/Radius/Advanced when using ODBC accounting.
Fields Description
UseCacheIndex Mandatory; If set to 1, it enables a fast cache based lookup index for
the items in the database. This optimizes the number of queries to the
database hence will improve performance, but limits the number of
sessions that can be scaled.
If set to 0, it disables fast cache based lookup index.
OCITimeOutCount Required; continuous timeout count to disconnect the selected con-
nection. Default value is 10.
OCIConnectionReactivation- Required; time interval for attempting to reconnect the disconnected
Interval OCI remote server session. Default value is 3000 ms.
OCIActiveConnection- Required; threshold count of disconnections after which
ThresholdCount Prime Access Registrar will mark the remote server as down and try
to reactivate it. Default value is 4.
Step 1 Choose Configuration > Advanced > RemoteSessionServer. The RemoteSessionServer Advanced
Details page appears.
Step 2 Specify the relevant details.
Step 3 Click Set to save the specified details in the RemoteSessionServer Advanced Details page.
On successful creation of the RemoteSessionServer details, a success message is displayed else a
respective error message is displayed.
Fields Description
SNMP Info section
InputQueueHighThreshold Percentage that indicates the upper limit of the packet input queue
usage. Default is 90.
Prime Access Registrar supports traps to indicate input queue usage.
When the input buffer exceeds the given high threshold value,
Prime Access Registrar generates a carInputQueueFull trap.
InputQueueLowThreshold Percentage that indicates the lower limit of the packet input queue
usage. Default is 60.
After reaching the high threshold, if the buffer usage drops below a
low threshold value, Prime Access Registrar generates a carInput-
QueueNotVeryFull trap.
DiaInputQueueHighThresh- Percentage that indicates the maximum number of incoming
old Diameter packets. Default is 90.
When the input buffer exceeds the given high threshold value,
Prime Access Registrar generates a carDiaInputQueueFull trap.
DiaInputQueueLowThreshold Percentage that indicates the minimum number of incoming
Diameter packets. Default is 60.
After reaching the high threshold, if the buffer usage drops below a
low threshold value, Prime Access Registrar generates a carDiaIn-
putQueueNotFull trap.
Enabled Check the box to enable SNMP settings.
TracingEnabled Check the box to enable all possible tracing in SNMP agent. Tracing
is used for debugging purposes.
MasterAgentEnabled To use SNMP, enable the master agent. Prime Access Registrar
responds to SNMP queries through the SNMP master agent.
RFC Compliance Info section
AllowRejectAttrs When AllowRejectAttrs is set to FALSE, Reply-Message attributes
will not be passed in an Access Reject packet. When AllowRejectAt-
trs is set to TRUE, attributes will be allowed to pass in an Access
Reject packet.
AllowEAPRejectAttrs When AllowEAPRejectAttrs is set to FALSE, Reply-Message attri-
butes will not be passed in an Access Reject packet if the packet
contains EAP-Message attribute. When AllowEAPRejectAttrs is set
to TRUE, attributes will be allowed to pass in an Access Reject
packet even if the packet contains EAP-Message attribute.
Reply Messages section
Default Optional; when you set this property, Cisco Prime Access Registrar
sends this value when the property corresponding to the reject reason
is not set.
Fields Description
UnknownUser Optional; when you set this property, Cisco Prime Access Registrar
sends back this value in the Reply-Message attribute whenever
Cisco Prime Access Registrar cannot find the user specified by Us-
er-Name.
UserNotEnabled Optional; when you set this property, Cisco Prime Access Registrar
sends back this value in the Reply-Message attribute whenever the
user account is disabled.
UserPasswordInvalid Optional; when you set this property, Cisco Prime Access Registrar
sends back this value in the Reply-Message attribute whenever the
password in the Access-Request packet did not match the password
in the database.
UnableToAcquireResource Optional; when you set this property, Cisco Prime Access Registrar
sends back this value in the Reply-Message attribute whenever one
of the Resource Managers was unable to allocate the resource for this
request.
ServiceUnavailable Optional; when you set this property, Cisco Prime Access Registrar
sends back this value in the Reply-Message attribute whenever a
service the request needs (such as a RemoteServer) is unavailable.
InternalError Optional; when you set this property, Cisco Prime Access Registrar
sends back this value in the Reply-Message attribute whenever an
internal error caused the request to be rejected.
MalformedRequest Optional; when you set this property, Cisco Prime Access Registrar
sends back this value in the Reply-Message attribute whenever a
required attribute (such as User-Name) is missing from the request.
ConfigurationError Optional; when you set this property, Cisco Prime Access Registrar
sends back this value in the Reply-Message attribute whenever the
request is rejected due to a configuration error. For example, if a
script sets an environment variable to the name of an object such as
Authentication-Service, and that object does not exist in the config-
uration, the reason reported is ConfigurationError.
IncomingScriptFailed Optional; when you set this property, Cisco Prime Access Registrar
sends back this value in the Reply-Message attribute whenever one
of the IncomingScripts fails to execute.
OutgoingScriptFailed Optional; when you set this property, Cisco Prime Access Registrar
sends back this value in the Reply-Message attribute whenever one
of the OutgoingScripts fails to execute.
IncomingScriptRejectedRe- Optional; when you set this property, Cisco Prime Access Registrar
quest sends back this value in the Reply-Message attribute whenever one
of the IncomingScripts rejects the Access-Request.
TerminationAction Optional; when you set this property, Cisco Prime Access Registrar
sends back this value in the Reply-Message attribute whenever
Cisco Prime Access Registrar processes the Access-Request as a
Termination-Action and is being rejected as a safety precaution.
Fields Description
OutgoingScriptRejectedRe- Optional; when you set this property, Cisco Prime Access Registrar
quest sends back this value in the Reply-Message attribute whenever one
of the OutgoingScripts rejects the Access-Request.
Server Monitor section
The following parameters enable monitoring the performance of Prime Access Registrar server.
TPSHighThreshold Percentage that indicates the maximum transactions per second
(TPS) value for the server. Helps monitoring the TPS capacity of the
server. Default is 0.
When the transactions exceed the given high threshold value,
Prime Access Registrar generates a carTPSCapacityFull trap.
TPSLowThreshold Percentage that indicates the minimum TPS value for the server.
Helps monitoring the TPS capacity of the server. Default is 0.
After reaching the high threshold, if the TPS value drops below a low
threshold value, Prime Access Registrar generates a carTPSCapaci-
tyNotFull trap.
SigtranTPSHighThreshold Percentage that indicates the maximum TPS value for SIGTRAN
server. Helps to monitor the TPS capacity of the SIGTRAN server.
Default is 0.
When the transactions exceed the given high threshold value,
Prime Access Registrar generates a carSigtranTPSCapacityFull trap.
SigtranTPSLowThreshold Percentage that indicates the minimum TPS value for the SIGTRAN
server. Helps to monitor the TPS capacity of the SIGTRAN server.
Default is 0.
After reaching the high threshold, if the TPS value drops below a low
threshold value, Prime Access Registrar generates a carSigtranTP-
SCapacityNotFull trap.
SMHighThreshold Percentage that indicates the maximum number of sessions that can
be handled by the server. Default is 0.
When the number of sessions exceeds the given high threshold value,
Prime Access Registrar generates a carSessionCapacityFull trap.
SMLowThreshold Percentage that indicates the minimum number of sessions that can
be handled by the server. Default is 0.
After reaching the high threshold, if the number of sessions drops
below a low threshold value, Prime Access Registrar generates a car-
SessionCapacityNotFull trap.
SigtranSMHighThreshold Percentage that indicates the maximum number of sessions that can
be handled by the SIGTRAN server. Default is 0.
When the number of sessions exceeds the given high threshold value,
Prime Access Registrar generates a carSigtranSessionCapacityFull
trap.
Fields Description
SigtranSMLowThreshold Percentage that indicates the minimum number of sessions that can
be handled by the SIGTRAN server. Default is 0.
After reaching the high threshold, if the number of sessions drops
below a low threshold value, Prime Access Registrar generates a car-
SigtranSessionCapacityNotFull trap.
ServerMonitorLogFreqInsecs Frequency (in seconds) of monitoring the TPS and sessions.
Step 1 Choose Configuration > Advanced > SNMP. The SNMP Advanced Details page is displayed.
Step 2 Specify the relevant details.
Step 3 Click Set to save the specified details in the SNMP Advanced Details page.
On successful creation of the SNMP details, a success message is displayed else a respective error
message is displayed.
DDNS
Prime Access Registrar supports Dynamic DNS Remote server. It is a method, protocol, or network that
notifies the server to change the active DNS configuration of its configured hostnames, addresses or
other information stored in DNS.
You can click the Add button in the DDNS Details page to enter the TSIGKeys details in the TSIGKeys
Details section.
Table 2-37 lists and describes the fields in the TSIGKeys Details section.
Fields Description
Name Name of the TSIG Key.
Secret Set to the same base64-encoded string as defined in the DNS server.
Description Description of the TSIG Key
You can use the DDNS Details page for the following:
• Filtering Records
• Setting DDNS Details
• Adding the TSIGKeys for DDNS
• Editing Records
• Deleting Records
Step 1 Choose Configuration > Advanced > DDNS. The DDNS Details page is displayed.
Step 2 Check the SynthesizeReverseZone check box, and click Set DDNS.
Step 1 Choose Configuration > Advanced > DDNS. The DDNS Details page is displayed.
Step 2 Click Add. The TSIGKeys details section is displayed.
Step 3 Enter the relevant details.
Step 4 Click Add to save the specified details in the TSIGKeys Details section.
On successful creation of the TSIGKeys details, a success page is displayed else a respective error
message is displayed.
Fields Description
AllowedKeyIdentifiers Allowed key identifier value. This is the key identifier that appears in
the incoming EAP response.
Click SetAllowedKeyIdentifiers to set the entered value as the
default key identifier.
Name Name of the private key to map to the key identifier, that can be used
to decrypt the incoming encrypted IMSI.
Identifier The key identifier value.
PrivateKey The private key value.
Note You need to save and reload for the changes to take effect.
You can use the EncryptedIMSI-PrivateKeys Details page for the following:
• Filtering Records
• Adding Encrypted IMSI Private Keys
• Editing Records
• Deleting Records
Note You need to save and reload for the changes to take effect.
ODBC DataSources
Prime Access Registrar uses ODBC as the datasource name to be used by the remote server. Multiple
remote servers can use the same ODBCDataSource. Under the ODBCDataSource object definition, a list
defines ODBC.ini filename/value pairs for a connection. The list includes a Type field and a Driver field,
different for each Driver and Data Source, to indicate its Driver and Data Source. Prime Access Registrar
supports only the Easysoft Open Source Oracle Driver.
Table 2-39 lists and describes the fields in the Add ODBC DataSources page.
Fields Description
Name Name of the ODBCDataSource
Description Optional; Description of the ODBC Data Source
Type Required; type of the ODBC data source, which could be myodbc or
oracle_oci.
Driver Required; liboarodbc.so (default value)
Note This attribute is supported only for OBDC.
UserID Required; database username (no default value)
Password Optional; user password; shown encrypted
DataBase Required; Oracle Client configuration database name (no default
value)
Server Set the name of the server
Port Set the port details.
You can use the ODBC DataSources page for the following:
• Filtering Records
• Adding ODBC Data Source
• Log
• Editing Records
• Deleting Records
Step 1 Choose Configuration > Advanced > ODBC DataSources. The ODBC DataSources page is displayed.
Step 2 Click Add to add new ODBC data source details. The ODBC DataSources Details page is displayed.
Step 3 Enter the relevant details.
Step 4 Click Submit to save the specified details. Otherwise click Cancel to return to the ODBC DataSources
page without saving the details.
The ODBC DataSources page is displayed with the newly added details and a success message is
displayed else a respective error message is displayed.
Log
The log files defined in Prime Access Registrar assist you in identifying the issues related to it.
Prime Access Registrar holds sets of log files to store information relevant to server agent processes,
monitoring arserver utility, execution of aregcme commands, mcd internal database details, RADIUS
server processes and debug details of RADIUS request process.
Table 2-40 lists and describes the fields in the Log Files page.
Fields Description
GUI Log Settings section
LOG LEVEL Select either Debug level or Error.
MaxFileSize Set the maximum size of the log file.
Advance Details section
LogFileSize Required; the default is 1 megabyte. This property specifies the
maximum size of the RADIUS server log file. The value for the Log-
FileSize field is a string composed of two parts; a number, and a units
indicator (<n> <units>) in which the unit is one of: K, kilobyte, kilo-
bytes, M, megabyte, megabytes, G, gigabyte, or gigabytes.
The LogFileSize property does not apply to the config_mcd_1_log
or agent_server_1_log files.
Note This does not apply to the trace log.
Fields Description
LogFileCount Required; the default is 2. This property specifies the number of log
files to be kept on the system. A new log file is created when the log
file size reaches LogFileCount.
The LogFileCount property does not apply to the config_mc-
d_1_log or agent_server_1_log files.
TraceFileSize Required; the default is 1 GB. This property specifies the size of the
trace files to be kept on the system. A new trace file is created when
the trace file size reaches TraceFileSize. The value for the Trace-
FileSize field is a string composed of two parts; a number, and a units
indicator (<n> <units>) in which the unit is one of: K, kilobyte, kilo-
bytes, M, megabyte, megabytes, G, gigabyte, or gigabytes.
TraceFileCount Required; this value can be set from 1–100, and the default is 2. This
property specifies the number of trace files to maintain. A value of 1
indicates that no file rolling occurs.
LogServerActivity Required; the default is FALSE, which means
Cisco Prime Access Registrar logs all responses except Access-Ac-
cepts and Access-Challenges. Accepting the default reduces the load
on the server by reducing that amount of information it must log.
Note, the client is probably sending accounting requests to an ac-
counting server, so the Access-Accept requests are being indirectly
logged. When you set it to TRUE, Cisco Prime Access Registrar logs
all responses to the server log file.
TraceLevel Set the trace level.
LogTPSActivity When set to TRUE, this property enables to log the TPS usage in a
CSV file.The TPS is logged in the following format:
<mm-dd-yyyy>, <hh:mm:ss>, <tps-value>
For example,
04-01-2013, 12:00:01, 102
The default is False.
TPSLogFileCount Required only if you check the LogTPSActivity check box; the
number of TPS Sampling log files to maintain in the repository. The
default value is 2.
TPSLogFileNamePrefix Required only if you check the LogTPSActivity check box; this
represents the prefix of the CSV file which will be available in the
logs directory of Prime Access Registrar. The following represents
the CSV filename format:
<user-prefix>-<mm-dd-yyyy>.csv
tps-04-01-2013.csv
TPSSamplingPeriodInSecs Required only if you check the LogTPSActivity check box; this
represents the TPS sampling period in seconds. The minimum
sampling period is set to 5. The default is 30.
EnableSIGTRANStackLogs When set to TRUE, this property enables to log the SIGTRAN stack
logs in stack.log file.
Fields Description
SIGTRANStackLogFileSize Required if you check the EnableSIGTRANStackLogs check box.
This property specifies the maximum size (in megabyte) of the
SIGTRAN stack log file.
SIGTRANLogFileCount Required if you check the EnableSIGTRANStackLogs check box.
This value can be set from 1–100, and the default is 10. This property
specifies the number of SIGTRAN log files to maintain in the
repository.
LogSessionActivity When set to TRUE, this property enables Prime Access Registrar to
log the session count in the server.
SessionLogFileCount Required only if you check the LogSessionActivity check box; the
number of session log files to maintain in the repository. The default
value is 2.
SessionLogFileNamePrefix Required only if you check the LogSessionActivity check box; this
represents the prefix of the session log file which will be available in
the logs directory of Prime Access Registrar.
SessionSamplingPeriodIn- Required only if you check the LogSessionActivity check box; this
Secs represents the session sampling period in seconds. The minimum
sampling period is set to 5. The default is 30.
You can use the Log Files page for the following:
• Filtering Records
• Viewing Log Details
• Downloading Log Details
• Setting Log Details
Step 1 Choose Configuration > Advanced > Log. The Log Files page is displayed.
Step 2 Choose the appropriate radio button and click View to view the file.
Step 1 Choose Configuration > Advanced > Log. The Log Files page is displayed.
Step 2 Choose the appropriate radio button and click Download to download the file.
Step 1 Choose Configuration > Advanced > Log. The Log Files page is displayed.
Step 2 Enter the relevant details and click Set to save the specified details.
Ports
The Ports list specifies which ports to listen to for requests. When you specify a port,
Prime Access Registrar makes no distinction between the port used to receive Access-Requests and the
port used to receive Accounting-Requests. Either request can come in on either port.
Most NASs send Access-Requests to port 1812 and Accounting-Requests to 1813, however,
Prime Access Registrar does not check.
When you do not specify any ports, Prime Access Registrar reads the /etc/services file for the ports to
use for access and accounting requests. If none are defined, Prime Access Registrar uses the standard
ports (1812 and 1813).
Table 2-41 lists and describes the fields in the Ports page.
Fields Description
Port Required; allows you to use ports other than the default, 1812 and
1813. You can use this option to configure Prime Access Registrar to
use other ports,. If you add additional ports, however,
Prime Access Registrar will use the added ports and no longer use the
default ports 1812 and 1813. These default ports can still be used by
adding them to the list of ports to use.
Type Set the port type.
Description Optional; description of the port.
Step 1 Choose Configuration > Advanced > Port. The Ports page is displayed.
Step 2 Enter the relevant details and click Add. The new port details will be listed in the Ports page.
Interfaces
The Interfaces list specifies the interfaces on which the RADIUS server receives and sends requests. You
specify an interface by its IP address.
• When you set an IP address, Prime Access Registrar uses that interface to send and receive
Access-Requests.
• When no interfaces are listed, the server performs an interface discover and uses all interfaces of the
server, physical and logical (virtual).
Note The IP address format is enhanced to support both IPv4 and IPv6.
Step 1 Choose Configuration > Advanced > Interfaces. The Interfaces page is displayed.
Step 2 Enter the IP Address and click Add.
The Interfaces page is displayed with the newly added details and a success message is displayed else a
respective error message is displayed.
Attribute Groups
The Attributes can be grouped using Prime Access Registrar Profile object. The attributes for a
particular user group can be grouped under a profile and the attributes contained in the profiles will be
returned in their access-accepts.
Table 2-42 lists and describes the fields in the Attribute Groups Details page.
Fields Description
Name Name of the attribute group.
Description Optional; description of the attribute group.
Fields Description
Attribute type Select either RADIUS or VENDOR. If Vendor is selected, specify
the vendor type from the drop-down list.
Attribute Name Optional; based on the Attribute Type selected, the attribute name is
automated. Set the relevant name for the attribute type selected. Click
the Add button to save the details and list it in Attribute list. To
navigate between the listed attributes, use the navigation option
available adjacent to the list. See Relocating Records for more
details. To delete the available attributes, select the relevant attribute
and click the Delete button below.
You can use the Attribute Groups page for the following:
• Filtering Records
• Adding Attribute Group Details
• Rules
• Editing Records
• Deleting Records
Step 1 Choose Configuration > Advanced > Attributes Groups. The Attribute Groups page is displayed.
Step 2 Click Add to add new attribute group details. The Attribute Group Details page is displayed.
Step 3 Enter the relevant details.
Step 4 Click Submit to save the specified details in the Attribute Groups Details page. Otherwise click Cancel
to return to the Attribute Groups page without saving the details.
The Attribute Groups page is displayed with the newly added details or a respective error message is
displayed.
Rules
A Rule is a function that selects services based on all input information used by the function.
Table 2-43 lists and describes the fields in the Add Rules List page.
Fields Description
General Properties tab
Name Required; must be unique in the Rule list.
Fields Description
Description Optional; description of the rule.
Type Required; specifies the type of the rule which can be Radius or
Diameter.
Script Name Name of the script.
Attribute Details tab
These fields are displayed based on the type of the rule selected in the Type field.
RADIUS Optional; set Radius, if the attribute and value need to be defined for
RADIUS.
VENDOR Optional; set Vendor, if the attribute and value need to be defined for
Vendor.
AttributeName Optional; based on the Attribute Type selected, the attribute name is
automated. Set the relevant name for the attribute type selected.
AttributeValue Optional; set the value for the selected attribute. Click the Add button
to save the details and list it in Name and Value list. To navigate
between the listed attributes, use the navigation option available
adjacent to the list. See Relocating Records for more details. To
delete the available attributes, select the relevant attribute and click
the Delete button below.
You can use the Rules List page for the following:
• Filtering Records
• Setting Rules
• SessionManagers
• Editing Records
• Deleting Records
Setting Rules
To set new rules:
Step 1 Choose Configuration > Rules. The List of Rules page is displayed.
Step 2 Click Add. The Rules Details page is displayed.
Step 3 Enter the relevant details.
Step 4 Click Submit to save the specified details in the Rules Details page. Otherwise click Cancel to return to
the List of Rules page without saving the details.
The List of Rules page is displayed with the newly added details or a respective error message is
displayed.
SessionManagers
You can use Session Managers to track user sessions. The Session Managers monitor the flow of requests
from each NAS and detect the session state. When requests come through to the Session Manager, it
creates sessions, allocates resources from appropriate Resource Managers, and frees and deletes sessions
when users log out.
The Session Manager enables you to allocate dynamic resources to users for the lifetime of their session.
You can define one or more Session Managers and have each one manage the sessions for a particular
group or company.
Note Session record size is limited by the operating system (OS) paging size (4 KB in Linux). If a request
triggers creation of a session that exceeds the OS paging size, the request will be dropped and the session
will not be created.
Note In this release of Prime Access Registrar, the memory capacity is enhanced to store more than 4 million
active session's by storing the active session records in database server instead of storing it in the main
memory. The capacity is dependent on the number of attributes that are being captured for each session.
Note If the disk partition where Prime Access Registrar stores session backing store data (usually the disk
partition where Prime Access Registrar is installed, such as /opt/CSCOar) is full, the subsequent
packets that try to create sessions will be dropped and no sessions will be created due to lack of disk
space.
Session Managers use Resource Managers, which in turn, manage a pool of resources of a particular
type.
Table 2-44 lists and describes the fields in the Session Manager Details page.
Fields Description
Name Required; must be unique in the Session Managers list.
Description Optional description of the Session Manager.
Type Required; set to local or remote. Local is the traditional session manager
that maintains sessions in memory and has good performance. The remote
session manager operates on a remote ODBC database, and its perfor-
mance is highly dependent on the performance of the ODBC database.
EnableDiameter Optional; check the box if you want to use the session manager for
Diameter services.
Fields Description
SessionKey SessionKey property is used to set the sessionkey value for the Session
Manager.
The SessionManager checks whether the environmental variable Ses-
sion-Key is set or not. If the environmental variable is set, the server uses
it as the sessionkey. If environmental variable Session-Key is not set then
SessionManager gets the value configured in the SessionKey property
under SessionManager.
SessionKey can be a combination of attributes separated by a colon. The
values for those attributes are obtained from the RequestDictionary. If any
one of the attribute that is configured for the sessionkey is not present in
the RequestDictionary, Prime Access Registrar will drop the request.
However, if Session-Key is not set, SessionManager uses NAS-Identifier
and NAS-Port to create the sessionkey. An example configuration,
--> set SessionKey "User-Name:NAS-Port"
The following shows the sample configuration of sessionkey for Session
Manager:
[ //localhost/Radius/SessionManagers/session-mgr-1 ]
Name = session-mgr-1
Description =
Type = local
EnableDiameter = FALSE
IncomingScript =
OutgoingScript =
AllowAccountingStartToCreateSession = TRUE
SessionTimeOut =
PhantomSessionTimeOut =
SessionKey =
ResourceManagers/
AllowAccountingStartTo- Set to TRUE by default; start the session when the
CreateSession Prime Access Registrar server receives an Access Accept or an Account-
ing-Start.
When set to FALSE, start the session when the Prime Access Registrar
server receives an Access Accept.
IncomingScript Optional; name of script to run when the service starts. This script is run
as soon as the session is acquired in Prime Access Registrar.
OutgoingScript Optional; script to be run just before the session is written to backing
store.
Fields Description
SessionTimeOut The SessionTimeOut property is optional; no value for this property
means the session timeout feature is disabled.
Used in conjunction with /Radius/Advanced/SessionPurgeInterval for
the session timeout feature. Enables the session timeout feature for a
Session Manager. If the SessionTimeOut property is set to a value under
a session manager, all sessions that belong to that session manager will
be checked for timeouts at each SessionPurgeInterval. If any sessions
have timed out, they will be released, and all resources associated with
those sessions are also released.
The SessionTimeOut property determines the timeout for a session. If the
time difference between the current time and the last update time is
greater than this property’s value, the session is considered to be stale.
The last update time of the session is the time at which the session was
created or updated.
The SessionTimeOut value is comprised of a number and a units indica-
tor, as in n units, where a unit is one of minutes, hours, days, or weeks.
The default unit is ‘days’.
PhantomSessionTimeOut Optional; no value for this property means the phantom session timeout
feature is disabled.
The PhantomSessionTimeOut property is used in conjunction with /Ra-
dius/Advanced/SessionPurgeInterval to enable the phantom session
timeout feature for Session Manager.
If the PhantomSessionTimeOut property is set to a value under a session
manager, all sessions that belong to that session manager will be checked
for receipt of an Accounting-Start packet. Sessions that do not receive an
Accounting-Start packet from creation until its timeout will be released.
The PhantomSessionTimeOut value comprises a number and a units indi-
cator, as in n units, where a unit is one of minutes, hours, days, or weeks.
The default unit is ‘days’
SessionCreationCmdList Available only if you check the EnableDiameter check box; session
created for the configured application, command code, and AVP.
SessionDeletionCmdList Available only if you check the EnableDiameter check box; session
deleted for the configured application, command code, and AVP.
Fields Description
SessionRestorationTime- Determines the restoration timeout for a session. No value indicates that
out the session restoration feature is disabled for this session manager. Used
in conjunction with /Radius/Advanced/DiameterSessionResto-
rationPurgeTime.
This value comprises a number and a units indicator, as in ‘n’ units, where
a unit could be minutes, hours, days, or weeks. The default unit is ‘days’.
The minimum recommended value is 24hr or 1Day.
If this value is set for a session manager, all sessions that belong to that
session manager will be checked for timeouts at DiameterSessionResto-
rationPurgeTime. If any session is timed out, a Re-Authorization-Request
will be triggered for the timed-out session. And, if Re-Authorization-An-
swer comes with the Result-Code Diameter-Unknown-Session-Id, then
the particular session will be released and all resources associated with
the session will also be released.
If the time difference between the current time and the last update time
for the session is greater than this value, the session is considered to be
stale and must be restored.
Note Session restoration works only if the session manager is Diameter
enabled and it has a 3GPP resource manager.
Resource Managers List Ordered list of Resource Managers. To navigate between the listed attri-
butes, use the navigation option available adjacent to the list. See Relo-
cating Records for more details.
You can use the Session Managers page for the following:
• Filtering Records
• Adding Session Manager Details
• Editing Records
• Deleting Records
Step 1 Choose Configuration > Session Managers. The Session Managers page is displayed.
Step 2 Click Add. The Session Manager Details page is displayed.
Step 3 Enter the required details.
Step 4 Click Add to save the specified details in the Session Manager Details page. Otherwise click Cancel to
return to the Session Managers page without saving the details.
The Session Managers page is displayed with the newly added details or a respective error message is
displayed.
ResourceManager
Resource Managers allow you to allocate dynamic resources to user sessions. The following lists the
different types of Resource Managers.
• IP-Dynamic—manages a pool of IP addresses that allows you to dynamically allocate IP addresses
from a pool of addresses
• IP-Per-NAS-Port—allows you to associate ports to specific IP addresses, and thus ensure each NAS
port always gets the same IP address
• IPX-Dynamic—manages a pool of IPX network addresses
• Subnet-Dynamic—manages a pool of subnet addresses
• Group-Session-Limit—manages concurrent sessions for a group of users; that is, it keeps track of
how many sessions are active and denies new sessions after the configured limit has been reached
• User-Session-Limit—manages per-user concurrent sessions; that is, it keeps track of how many
sessions each user has and denies the user a new session after the configured limit has been reached
• Home-Agent—manages a pool of on-demand IP addresses
• USR-VPN—manages Virtual Private Networks (VPNs) that use USR NAS Clients.
• Home-Agent-IPv6—manages a pool of on-demand IPv6 addresses
• Remote-IP-Dynamic—manages a pool of IP addresses that allows you to dynamically allocate IP
addresses from a pool of addresses. It internally works with a remote ODBC database.
• Remote-User-Session-Limit—manages per-user concurrent sessions; that is, it keeps track of how
many sessions each user has and denies the user a new session after the configured limit has been
reached. It internally works with a remote ODBC database.
• Remote-Group-Session-Limit—manages concurrent sessions for a group of users; that is, it keeps
track of how many sessions are active and denies new sessions after the configured limit has been
reached. It internally works with a remote ODBC database.
• Session Cache—allows you to define the RADIUS attributes to store in cache.
• Dynamic-DNS—manages the DNS server.
• Remote-Session-Cache—allows you to define the RADIUS attributes to store in cache. It should
be used with session manager of type 'remote'.
• 3GPP—allows you to define the attribute for 3GPP authorization.
Each Resource Manager is responsible for examining the request and deciding whether to allocate a
resource for the user, do nothing, or cause Cisco Prime Access Registrar to reject the request.
Table 2-45 lists and describes the fields in the Resource Manager Details page.
Fields Description
Resource Manager Name Required; must be unique in the Resource Managers list.
Fields Description
Description (optional) Optional; description of the Resource Manager.
Type Required; must be either Dynamic-DNS, IP-Dynamic,
IP-Per-NAS-Port, IPX-Dynamic, Session Cache, Subnet-Dynam-
ic, Group-Session-Limit, Home-Agent, User-Session-Limit,
USR-VPN, Home-Agent-IPv6, Remote-IP-Dynamic, Remote-Us-
er-Session-Limit, Remote-Group-Session-Limit, Remote-Ses-
sion-Cache, or 3GPP. Based on the option selected, the fields
displayed in the Resource Manager Details page varies.
The fields displayed in the Resource Manager Details page changes based on the option selected in the
Type field. The following tables describe the fields in the Resource Manager Details page.
DYNAMIC-DNS
Table 2-46 lists and describes the fields in the Resource Manager Details page.
Fields Description
General tab
Max DNS TTLS Set the maximum TTL of the DNS record.
DNS Host bytes Set the number of bytes to be used to construct the reverse zone entry.
Forward Zone Name Set the name of the forward zone. For a given Resource Manager you
must decide which forward zone you will be updating for sessions the
resource manager will manage.
Reverse Zone Name Set the name of the reverse zone.
Forward Zone Server Set the Server IP of the forward zone
Reverse Zone Server Set the Server IP of the reverse zone
Forward Zone TSIG KeyS Server-wide security key to process all forward zone dynamic DNS
updates. This is used if a ForwardZoneTSIGKey was not specified on
the Resource Manager.
Reverse Zone TSIG Keys Server-wide security key to process all reverse zone dynamic DNS
updates. This is used if a ReverseZoneTSIGKey was not specified on
the Resource Manager
GROUP-SESSION-LIMIT
Table 2-47 lists and describes the fields in the Resource Manager Details page.
Fields Description
Group Session Limit Set the GroupSessionLimit property to the maximum number of con-
current sessions for all users.
REMOTE-GROUP-SESSION-LIMIT
Table 2-48 lists and describes the fields in the Resource Manager Details page.
Fields Description
Group Session Limit Set the GroupSessionLimit property to the maximum number of con-
current sessions for all users.
HOME-AGENT
Table 2-49 lists and describes the fields in the Resource Manager Details page.
Fields Description
HomeAgentIPAddresses tab
Start Required; must be an IP address.
End Required; must be an IP address.
Click the Add button to save the details and list it in Start and End IP list. To navigate between the listed
attributes, use the navigation option available adjacent to the list. See Relocating Records for more
details. To delete the available attributes, select the relevant attribute and click the Delete button below.
HOME-AGENT-IPv6
Table 2-50 lists and describes the fields in the Resource Manager Details page.
Fields Description
HomeAgentIPv6Addresses tab
Start Required; must be an IPv6 address.
End Required; must be an IPv6 address.
Click the Add button to save the details and list it in Start and End IPv6 list. To navigate between the
listed attributes, use the navigation option available adjacent to the list. See Relocating Records for more
details. To delete the available attributes, select the relevant attribute and click the Delete button below.
IP-DYNAMIC
Table 2-51 lists and describes the fields in the Resource Manager Details page.
Fields Description
General tab
Reuse IP for same SessionKey When set to TRUE, this property supports overlapping IP addresses
and User between session managers for VPN users. Default value is FALSE.
Net Mask Required; must be set to a valid net mask.
Fields Description
Allow Overlapped IP When set to TRUE, this property supports overlapping IP addresses
Addresses between session managers for VPN users. Default value is FALSE.
IP Addresses tab
Start Required; must be an IP address.
End Required; must be an IP address.
Click the Add button to save the details and list it in Start and End IP list. To navigate between the listed
attributes, use the navigation option available adjacent to the list. See Relocating Records for more
details. To delete the available attributes, select the relevant attribute and click the Delete button below.
REMOTE-IP-DYNAMIC
Table 2-52 lists and describes the fields in the Resource Manager Details page.
Fields Description
General tab
Reuse IP for same SessionKey When set to TRUE, this property supports overlapping IP addresses
and User between session managers for VPN users. Default value is FALSE.
Net Mask Required; must be set to a valid net mask.
Allow Overlapped IP When set to TRUE, this property supports overlapping IP addresses
Addresses between session managers for VPN users. Default value is FALSE.
IP Addresses tab
Start Required; must be an IP address.
End Required; must be an IP address.
Click the Add button to save the details and list it in Start and End IP list. To navigate between the listed
attributes, use the navigation option available adjacent to the list. See Relocating Records for more
details. To delete the available attributes, select the relevant attribute and click the Delete button below.
IP-PER-NAS-PORT
Table 2-53 lists and describes the fields in the Resource Manager Details page.
Fields Description
General tab
Net Mask Required; if used, must be set to a valid net mask.
Allow Overlapped IP When set to TRUE, this property supports overlapping IP addresses
Addresses between session managers for VPN users. Default value is FALSE.
NAS Required; must be the name of a known Client.This value must be the
same as the NAS-Identifier attribute in the Access-Request packet.
Fields Description
IP Config tab
Start Required; must be an IP address.
End Required; must be an IP address.
Port Config tab
Start Required; set the NAS port
End Required; set the NAS port
Click the Add button to save the details and list it in Start and End IP list. To navigate between the listed
attributes, use the navigation option available adjacent to the list. See Relocating Records for more
details. To delete the available attributes, select the relevant attribute and click the Delete button below.
IPX-DYNAMIC
Table 2-54 lists and describes the fields in the Resource Manager Details page.
Fields Description
Networks tab
Start Required; must be an IP address.
End Required; must be an IP address.
Click the Add button to save the details and list it in Start and End IP list. To navigate between the listed
attributes, use the navigation option available adjacent to the list. See Relocating Records for more
details. To delete the available attributes, select the relevant attribute and click the Delete button below.
SESSION-CACHE
Table 2-55 lists and describes the fields in the Resource Manager Details page.
Fields Description
General tab
Overwrite Attributes Specifies whether to overwrite the existing attributes if there are any
in the session record.
Query Key Required; set the QueryKey to the a RADIUS attribute you want to
key on, such as Framed-IP-Address.
A change made in Prime Access Registrar requires that this attribute
not be an XML attribute, even if this session-cache resource manager
is being used for an XML query.
Note Any existing session-cache resource managers using an XML
attribute for the Query Key must be changed to a RADIUS
attribute that this XML attribute is mapped to under Query-
Mappings.
Fields Description
Pending Removal Delay Required; length of time information remains in the cache after the
session ends (defaults to 10 seconds)
Query Mapping tab
XML Attribute Set the QueryKey property to the XML attribute you want to key on
such as XML-Address-format-IPv4 and list all attributes to be cached
in the AttributesToBeCached subdirectory.
Radius Attribute Required; list of attribute pairs, mapping the XML attributes on the
left-hand side to the RADIUS attribute on the right-hand side.
AttributeToBeCached tab
RADIUS Optional; set Radius, if the attribute needs to be defined for RADIUS.
VENDOR Optional; set Vendor, if the attribute needs to be defined for Vendor.
If Vendor is selected, specify the vendor type from the drop-down
list.
Attribute Name Required; use this subdirectory to provide a list of RADIUS attri-
butes you want to store in cache
Click the Add button to save the details and list it in Start and End IP list. To navigate between the listed
attributes, use the navigation option available adjacent to the list. See Relocating Records for more
details. To delete the available attributes, select the relevant attribute and click the Delete button below.
SUBNET-DYNAMIC
Table 2-56 lists and describes the fields in the Resource Manager Details page.
Fields Description
Subnet Dynamic tab
Net Mask Required; must be set to the size of the managed subnets
Start Required; must be an IP addresses
End Required; must be an IP addresses
Click the Add button to save the details and list it in Start and End IP list. To navigate between the listed
attributes, use the navigation option available adjacent to the list. See Relocating Records for more
details. To delete the available attributes, select the relevant attribute and click the Delete button below.
USER-SESSION-LIMIT
Table 2-57 lists and describes the fields in the Resource Manager Details page.
Fields Description
User Session Limit Set the user session limit property to the maximum number of con-
current sessions for a particular user
REMOTE-USER-SESSION-LIMIT
Table 2-58 lists and describes the fields in the Resource Manager Details page.
Fields Description
User Session Limit Set the user session limit property to the maximum number of con-
current sessions for a particular user
USR-VPN
Table 2-59 lists and describes the fields in the Resource Manager Details page.
Fields Description
General tab
Identifier Required; must be set to the VPN ID the USR NAS will use to
identify a VPN.
Neighbor Optional; if set, should be the IP address of the next hop router for
the VPN.
Framed Routing Optional; if set, should be RIP V2 Off or RIP V2 On if the USR
NAS is to run RIP Version 2 for the user.
Gateway tab
Name of Gateway Required; name of the gateway.
Description (optional) Optional; description of the gateway.
IP Address Required; IP address of the gateway
Shared Secret Required; must match the shared secret of the gateway.
Tunnel Refresh Optional; if specified it is the number of seconds the tunnel stays
active before a secure “keepalive” is exchanged between the tunnel
peers in order to maintain the tunnel open.
Location ID Optional; if specified it is a string indicating the physical location of
the gateway. Click the Save button, to save the details.
To edit the gateway details, check the appropriate check box and click the Edit button. Enter new
information in the editable fields and click the Save button. You can also delete the record using Delete
button.
REMOTE-SESSION-CACHE
Table 2-60 lists and describes the fields in the Resource Manager Details page.
Fields Description
General tab
Overwrite Attributes Specifies whether to overwrite the existing attributes if there are any
in the session record.
Fields Description
Query Key Required; set the QueryKey to the a RADIUS attribute you want to
key on, such as Framed-IP-Address.
A change made in Prime Access Registrar requires that this attribute
not be an XML attribute, even if this session-cache resource manager
is being used for an XML query.
Note Any existing session-cache resource managers using an XML
attribute for the Query Key must be changed to a RADIUS
attribute that this XML attribute is mapped to under Query-
Mappings.
Pending Removal Delay Required; length of time information remains in the cache after the
session ends (defaults to 10 seconds)
Remote Query Mapping tab
XML Attribute Set the QueryKey property to the XML attribute you want to key on
such as XML-Address-format-IPv4 and list all attributes to be cached
in the AttributesToBeCached subdirectory.
Radius Attribute Required; list of attribute pairs, mapping the XML attributes on the
left-hand side to the RADIUS attribute on the right-hand side.
RemoteAttributeToBeCached tab
RADIUS Optional; set Radius, if the attribute needs to be defined for RADIUS.
VENDOR Optional; set Vendor, if the attribute needs to be defined for Vendor.
If Vendor is selected, specify the vendor type from the drop-down
list.
Attribute Name Required; use this subdirectory to provide a list of RADIUS attri-
butes you want to store in cache
3GPP
Table 2-61 lists and describes the 3GPP properties in the Resource Manager Details page.
Fields Description
EnableRegistrationFlow Check the box to enable initiation of a Server-Assignment-Request
(SAR) registration message when a session is created and a SAR
deregistration message when a session is deleted.
EnableSessionTermination Check the box to enable initiation of a Server-Termination-Request
(STR) message when a session is deleted.
ReuseExistingSession If selected, SAR registration will not be initiated for an existing
session.
HSSProxyService Required; a service of type Diameter used to group a list of HSS/Di-
ameter servers towards which the SAR and STR messages need to be
initiated in the 3GPP authorization flow.
You can use the Resource Manager List page for the following:
• Filtering Records
• Adding Resource Manager Details
• Network Resources
• Editing Records
• Deleting Records
Step 1 Choose Configuration > Resource Manager. The Resource Manager List page is displayed.
Step 2 Click Add. The Resource Manager Details page is displayed.
Step 3 Enter the required details.
Step 4 Click Submit to save the specified details in the Resource Manager Details page. Otherwise click
Cancel to return to the Resource Manager List page without saving the details.
The Resource Manager List page is displayed with the newly added details or a respective error message
is displayed.
Note Resource Manager supports the following remote type session managers: remote-ip-dynamic,
remote-session-cache, home-agent, remote-user-session-limit, home-agent-ipv6 and
remote-group-session-limit.
Network Resources
Network Resources constitutes the maintenance and management of the details of the clients and remote
servers. The clients IP address and shared secret details are maintained under clients, The management
of server directory with use of remote server protocols details are maintained in remote server.
This section describes the following:
• Clients
• Remote Servers
Clients
All NASs and proxy clients that communicate directly with Prime Access Registrar must have an entry
in the Clients list. This is required because NAS and proxy clients share a secret with the RADIUS server
which is used to encrypt passwords and to sign responses.
Table 2-62 lists and describes the fields in the Client Details page.
Fields Description
Name Required and should match the Client identifier specified in the standard RADIUS
attribute, NAS-Identifier. The name must be unique within the Clients list.
IncomingScript Optional; you can use this property to specify a Script you can use to determine the
services to use for authentication, authorization, and/or accounting.
OutgoingScript Optional; you can use this property to specify a Script you can use to make any Cli-
ent-specific modifications when responding to a particular Client.
Protocol Required; set it to Radius, Diameter, or Tacacs-and-Radius.
Description Optional description of the client.
Vendor Optional; displayed when the protocol is set to Diameter. When set, must be the
name of a known Vendor.
Server Identity Optional; displayed when the protocol is set to Diameter. While exchanging the
CER information in the client, Prime Access Registrar sends the configured server
identity value as the origin-host value. When set, it takes precedence over the /Ra-
dius/Advance/Diameter/TransportManagement configuration.
HostName Required; hostname or IP address of the Diameter client.
Port Required; port on which client connects with the Prime Access Registrar server.
SCTP-Enabled Required; displays when the protocol is set to Diameter and indicates whether the
connection will be an SCTP. If set to TRUE, SCTP will be used. If set to FALSE,
TCP will be used.
Advertised- Optional; displays when the protocol is set to Diameter. While exchanging the CER
Realm information in the client, Prime Access Registrar sends the configured server realm
value as the origin-realms value. It takes precedence over the /Radius/Advance/Di-
ameter/TransportManagement configuration.
WatchDogTim- Time interval between watch dog messages.
eout
MaxIncomin- Maximum number of incoming requests allowed per second.
gRequestRate
KeepAliveTime Time interval, in milliseconds, to keep an idle session active.
InitialTimeout Timeout value, in milliseconds, the Prime Access Registrar server waits for a
response before dropping the packet.
TLS-Enabled Check this box to enable TLS security mechanism for the Diameter client.
Advertised- Optional; specifies the local hostname address that will be advertised by the Prime
HostName Access Registrar server to other peers during CER/CEA exchange.
AuthSession- When EnableAuthSessionState is set to:
StateInASR
• No-State-Maintained—When RTR is received from HSS , Auth-Session-State
AVP should be set with No-State-Maintained on sending ASR to the client; and
the session is deleted.
• State-Maintained—When RTR is received from HSS , Auth-Session-State AVP
should be set with State-Maintained on sending ASR to client. The session is
deleted only on reception of STR from client.
Fields Description
UserLogEn- Displays the user information in the log file for example username, AAAID, client
abled identifier, result-code, and diameter-message-type.
SCTPParameters Section
This section is available if the SCTP-Enabled option is checked.
SourcePort Client source port. Default value is 3868.
DestinationPort Client destination port. Default value is 3868.
PathMaxRe- Maximum number of consecutive retransmissions over a destination transport
trans address of a peer endpoint before it is marked as inactive. Default value is 5.
RTOInitial Initial value of RTO (retransmission timeout) that is used in RTO calculations.
Measured in milliseconds and default value is 3 seconds.
RTOCookieLife Maximum lifespan of the cookie sent in an INIT ACK chunk. Measured in
milliseconds and default value is 60 secs.
RTOMin Minimum value of RTO. Measured in milliseconds and default value is 1 second.
HBInterval Interval when a HEARTBEAT chunk is sent to a destination transport address to
monitor the reachability of an idle destination transport address. Measured in mil-
liseconds and default is 30 seconds.
RTOMax Maximum value of RTO. Measured in milliseconds and default value is 60 seconds.
SACKTimeout Delayed SACK timeout. Default value is 200 msecs.
MaxInitRe- Maximum number of times an INIT chunk or a COOKIE ECHO chunk is retrans-
transmits mitted before an endpoint aborts the initialization process and closes the associa-
tion. Default value is 8.
InitNumOSt- Initial number of streams per socket.
reams
Association- Maximum number of consecutive retransmissions to a peer before an endpoint
MaxRetrans considers that the peer is unreachable and closes the association. Default value is
10.
InitMaxIn- Maximum number of inbound streams per socket.
Streams
SCTPAdver- Displays set of IP addresses for local and remote hosts.
tisedHostName
TLSOptions
This section is available if the protocol is set to Diameter and TLS-Enabled option is checked.
PrivateKeyPass The password used to protect the server’s private key.
word
Fields Description
ServerKeyFile The full pathname of the file containing the server’s RSA private key. The pathname
can be optionally prefixed with a special string that indicates the type of encoding
used for the certificate. The valid encoding prefix is “PEM”. If an encoding prefix
is not present, the file is assumed to be in PEM format.
The following example assumes that the subdirectory pki under /cisco-ar contains
the server’s certificate file. The file server-key.pem is assumed to be in PEM
format. The file extension .pem is not significant.
Fields Description
EnableAuto- When set to TRUE, Prime Access Registrar sends its server certificate chain (Serv-
Chaining er-Cert -> IntermediateCA -> RootCA) while presenting the server certificate to the
client for server side authentication. When set to FALSE, Prime Access Registrar
sends only the server certificate (Server-Cert) to the client.
General Properties tab
The tabs are available if the protocol is set to Radius or Tacacs-and-Radius.
IPAddress Required; must be a valid IP address and unique in the Clients list.
Prime Access Registrar uses this property to identify the Client that sent the
request, either using the source IP address to identify the immediate sender or using
the NAS-IP-Address attribute in the Request dictionary to identify the NAS
sending the request through a proxy.
When a range is configured for a Client’s IPAddress property, any incoming
requests whose source address belongs to the range specified, will be allowed for
further processing by the server. Similarly when a wildcard (an asterisk ‘*’ in this
case) is specified, any incoming requests whose source address matches the
wildcard specification will be allowed. In both the cases, the configured client prop-
erties like SharedSecret, and Vendor are used to process the requests.
You can specify a range of IP addresses using a hyphen as in:
100.1.2.11-20
You can use an asterisk wildcard to match all numbers in an IP address octet as in:
100.1.2.*
You can specify an IPAddress and a subnet mask together using Classless Inter-Do-
main Routing (CIDR) notation as in:
100.1.2.0/24
You can use the IPAddress property to set a base address and use the NetMask
property to specify the number of clients in the subnet range.
Shared Secret Required; must match the secret configured in the Client.
Type Required; accept the default (NAS), or set it to ATM, Proxy, or NAS+Proxy.
Vendor Optional; you can use this property when you need special processing for a specific
vendor’s NAS. To use this property, you must configure a Vendor object and
include a script. Prime Access Registrar provides five Scripts you can use: one for
Ascend, Cisco, Cabletron, Altiga, and one for USR. You can also provide your own
Script.
Fields Description
NetMask Specifies the subnet mask used with the network address setting configured for the
IPAdress property when configuring a range of IP addresses.
This property is not used for a single client with an IP address only. The NetMask
property is used to configure multiple clients when you configure a base IP address
in the IPAddress property. You can set the NetMask property for a range of 256
clients using the following example:
Note If you set the NetMask property, validation will fail if you attempt to specify
a subnet mask using CIDR notation with the IPAddress property (described
above).
Enforce Traffic By default, the value is set to FALSE. When set to TRUE, the traffic throttling check
Throttling for the packet will be executed.
Dynamic Authorization tab
Enable Optional; when set to TRUE, this property enables Change of Authorization (CoA)
Dynamic Au- and Packet of Disconnect (PoD) features.
thorization
Shared Secret Located under the DynamicAuthorizationServer subdirectory, this is the shared
secret used for communicating CoA and PoD packets with the client.
Port Located under the DynamicAuthorizationServer subdirectory, the default port is
3799.
InitialTimeout Located under the DynamicAuthorizationServer subdirectory, the default is 5000.
MaxTries Located under the DynamicAuthorizationServer subdirectory, the default is 3.
COA Attribute This property is found under the DynamicAuthorizationServer subdirectory and
points to a group of attributes to be included in a CoA request sent to this client.
These attribute groups are created and configured under the AttributeGroups subdi-
rectory in /Radius/Advanced.
POD Attribute This property is found under the DynamicAuthorizationServer subdirectory and
points to a group of attributes to be included in a POD request sent to this client.
These attribute groups are created and configured under the AttributeGroups subdi-
rectory in /Radius/Advanced.
Notification Properties tab
Enable Notifi- Required; the default value is FALSE and indicates the client is not capable of
cations receiving Accounting-Stop notifications from the Prime Access Registrar server.
When set to TRUE, the client can receive Accounting-Stop notifications from the
Prime Access Registrar server and additional properties must be configured under
a new sub-directory named NotificationProperties.
InitialTimeout Located under the NotificationProperties subdirectory, specifies the timeout value
in milliseconds the Prime Access Registrar server waits for an Accounting-Re-
sponse packet before attempting a retry (sending another Accounting-Stop packet
to the client).
Required when EnableNotifications is set to TRUE; the default value is 5000.
Fields Description
Port Located under the NotificationProperties subdirectory, specifies the port used by
the Prime Access Registrar server to receive Accounting-Stop packets. Required
when EnableNotifications is set to TRUE; the default value is 1813.
MaxTries Located under the NotificationProperties subdirectory, specifies the number of
times the Prime Access Registrar server sends an Accounting-Stop packet to a
client.
Required when EnableNotifications is set to TRUE; the default value is 3.
Notification- When the EnableNotifications property is set to TRUE, this subdirectory contains
Properties additional properties required to support the Query-Notify feature.
NotificationAt- Located under the NotificationProperties subdirectory, specifies the name of an
tributeGroup attribute group under /Radius/Advanced/AttributeGroups that contains the attri-
butes to be included when sending an the Accounting-Stop packet to this client.
Required when EnableNotifications is set to TRUE; there is no default value. You
must provide the name of a valid AttributeGroup and the named AttributeGroup
must contain at least one valid attribute, or validation will fail.
Step 1 Choose Network Resources > Clients. The Clients page is displayed.
Step 2 Click Add to add new client details. The Client Details page is displayed.
Step 3 Enter the required details in the General Properties, Dynamic Authorization, and Notification Properties
tabs.
Step 4 Click Save to save the specified details in the Client Details page. Otherwise click Cancel to return to
the Client page without saving the details.
The Client page is displayed with the newly added details or a respective error message is displayed.
Remote Servers
You can use the RemoteServers object to specify the properties of the remote servers to which Services
proxy requests.
Note You must not configure a remote server with an IP address, which is same as that of the client. This is
applicable for all types of remote servers.
LDAP
Specify the ldap service type when you want to use a particular LDAP remote server for authentication
and/or authorization.When using LDAP for authentication and a local database for authorization, ensure
that the usernames in both locations are identical with regard to case-sensitivity.
Table 2-63 lists and describes the fields in the Add LDAP-RemoteServers Details page.
Fields Description
LDAP Properties tab
Name Required; name of the LDAP server.
Host Name Required; the LDAP server’s hostname or IP address.
Prime Access Registrar supports IPv4 and IPv6 addresses for the
hostname.
Note To use IPv6 addresses, you must have Next Generation (NG)
license of Prime Access Registrar. For LDAP, IPv6 addresses
must be enclosed in square brackets, as in
[2001:420:27c1:420:250:56ff:fe99:3dfd].
Port Required; defaults to port 389.
Description Description of the LDAP server.
Timeout Required; the default is 15. The timeout property indicates how many
seconds the RADIUS server will wait for a response from the LDAP
server.
Note Use InitialTimeout from above as a template, except this is
timeout is specified in seconds.
Reactivate Time Interval Required; the amount of time (in milliseconds) to wait before retrying a
remote server that was offline. You must specify a number greater than
zero. The default is 300,000 (5 minutes).
Fields Description
MaxReferrals Required; must be a number equal to or greater than zero. This property
indicates how many referrals are allowed when looking up user informa-
tion. When you set this property to zero, no referrals are allowed.
Cisco Prime Access Registrar manages referrals by allowing the
RADIUS server’s administrator to indicate an LDAP “referral attribute,”
which might or might not appear in the user information returned from
an LDAP query. When this information is returned from a query,
Cisco Prime Access Registrar assumes it is a referral and initiates
another query based on the referral. Referrals can also contain referrals.
Note This is an LDAP v2 referral property.
Referral Attribute Required when you have specified a MaxReferrals value. This property
specifies which LDAP attribute, returned from an LDAP search, to check
for referral information.
Note This is an LDAP v2 referral property.
Referral Filter Required when you have specified a MaxReferral value. This is the
filter Cisco Prime Access Registrar uses when processing referrals.
When checking referrals, the information Cisco Prime Access Registrar
finds in the referral itself is considered to be the search path and this
property provides the filter. The syntax is the same as that of the Filter
property.
Note This is an LDAP v2 referral property.
Bind Name Optional; the distinguished name (dn) to use when establishing a connec-
tion between the LDAP and RADIUS servers.
Bind Password Optional; the password associated with the BindName.
Search Path Required; the path that indicates where in the LDAP database to start the
search for user information.
Limit Outstanding Required; the default is FALSE. Cisco Prime Access Registrar uses this
Requests property in conjunction with the MaxOutstandingRequests property to
tune the RADIUS server’s use of the LDAP server.
When you set this property to TRUE, the number of outstanding requests
for this RemoteServer is limited to the value you specified in MaxOut-
standingRequests. When the number of requests exceeds this number,
Cisco Prime Access Registrar queues the remaining requests, and sends
them as soon as the number of outstanding requests drops to this number.
User Password Attribute Required; this specifies which LDAP field the RADIUS server should
check for the user’s password.
Escape Spl.Character in FALSE by default
UserName
Datasource Connections Specifies the number of concurrent connections to the LDAP server. The
default value is 8.
Fields Description
Use SSL A boolean field indicating whether you want
Cisco Prime Access Registrar to use SSL (Secure Socket Layer) when
communicating with this RemoteServer. When you set it to TRUE, be
sure to specify the CertificateDBPath field in the Advanced section,
and be sure the port you specified for this RemoteServer is the SSL port
used by the LDAP server.
EnableKeepAlive Default is FALSE. This is enabled to send a TCP keepalive to keep the
idle connection active.
Filter Required; this specifies the search filter Cisco Prime Access Registrar
uses when querying the LDAP server for user information. When you
configure this property, use the notation “%s” to indicate where the user
ID should be inserted. For example, a typical value for this property is
“(uid=%s),” which means that when querying for information about user
joe, use the filter uid=joe.
Max Outstanding Requests Required when you have set the LimitOutstandingRequests to TRUE.
The number you specify, which must be greater than zero, determines the
maximum number of outstanding requests allowed for this remote server.
Password Encryption Style The default is None. You can also specify crypt, dynamic, SHA-1, and
SSHA-1.
DNSLookup and LDAP Specifies the timeout period after which the Prime Access Registrar
RebindInterval server will attempt to resolve the LDAP hostname to IP address (DNS
resolution); 0 by default
Search Scope Specifies how deep to search within a search path; default is SubTree
which indicates a search of the base object and the entire subtree of
which the base object distinguished name is the highest object.
Base indicates a search of the base object only.
OneLevel indicates a search of objects immediately subordinate to the
base object, but does not include the base object.
Use Binary Password Com- A boolean field that enables binary password comparison for authentica-
parison tion. This property when set to TRUE, enables binary password compar-
ison. By default, this property is set to FALSE.
Use Bind Based Authenti- A boolean field that enables bind-based authentication with LDAP
cation server. By default, this property is set to FALSE. When set to FALSE, it
uses existing legacy authentication method.
On setting this property to TRUE, the mappings LDAPToRadius, LDAP-
ToEnvironment, and LDAPToCheckItem will not work.
LDAPToRadiusMappings tab
LDAPAttribute Set the value for the LDAP attribute
Fields Description
RadiusAttribute A list of name/value pairs in which the name is the name of the ldap
attribute to retrieve from the user record, and the value is the name of the
RADIUS attribute to set to the value of the ldap attribute retrieved.
For example, when the LDAPToRadiusMappings has the entry: Fra-
medIPAddress = Framed-IP-Address, the RemoteServer retrieves the
FramedIPAddress attribute from the ldap user entry for the specified
user, uses the value returned, and sets the Response variable
Framed-IP-Address to that value.
Click the Add button to save the details and list it in the attribute list. To
navigate between the listed attributes, use the navigation option available
adjacent to the list. See Relocating Records for more details. To delete
the available attributes, select the relevant attribute and click the Delete
button below.
LDAPToCheckItems Mappings tab
Attribute Type Select either RADIUS or VENDOR. If Vendor is selected, specify the
vendor type from the drop-down list.
LDAPAttribute Set the value for the LDAP attribute
CheckedItems A list of LDAP attribute/value pairs which must be present in the
RADIUS access request and must match, both name and value, for the
check to pass.
For example, when the LDAPToCheckItemMappings has the entry:
group = User-Group, the Access Request must contain the attribute
group, and it must be set to User-Group.
Click the Add button to save the details and list it in the attribute list. To
navigate between the listed attributes, use the navigation option available
adjacent to the list. See Relocating Records for more details. To delete
the available attributes, select the relevant attribute and click the Delete
button below.
LDAPToEnvironmentalMappings tab
LDAPAttribute Set the value for the LDAP attribute
EnvironmentalAttribute A list of name/value pairs in which the name is the name of the ldap
attribute to retrieve from the user record, and the value is the name of the
Environment variable to set to the value of the ldap attribute retrieved.
For example, when the LDAPToEnvironmentMappings has the entry:
group = User-Group, the RemoteServer retrieves the group attribute
from the ldap user entry for the specified user, uses the value returned,
and sets the Environment variable User-Group to that value.
Click the Add button to save the details and list it in the attribute list. To
navigate between the listed attributes, use the navigation option available
adjacent to the list. See Relocating Records for more details. To delete
the available attributes, select the relevant attribute and click the Delete
button below.
Step 1 Choose Network Resources > RemoteServers > LDAP. The LDAP-RemoteServers page is displayed.
Step 2 Click Add to add LDAP details. The LDAP-RemoteServers Details page is displayed.
Step 3 Enter the required details in the tabs.
Step 4 Click Save LDAP Server to save the specified details in the LDAP-RemoteServers Details page. The
LDAP-RemoteServers page is displayed with the newly added details or a respective error message is
displayed. Otherwise click Cancel to return to the LDAP-RemoteServers page without saving the
details.
LDAP Accounting
Previous releases of Prime Access Registrar supported accessing user data from an LDAP server, but this
feature was limited to performing authentication and authorization (AA). You could only write the
accounting records to local file or oracle database or proxy to another RADIUS server.
Prime Access Registrar supports writing accounting records into LDAP server enabling integration
between billing systems and LDAP.
Table 2-64 lists and describes the fields in the LDAPAcct RemoteServer Details page.
Fields Description
LDAP Acct Properties tab
Name Name of the remote server; this property is mandatory, and there is no
default.
Description Optional description of server.
HostName Required; the LDAP server's hostname or IP address.
Port Required; the default value is 389. Port the LDAP server is listening on.
Timeout Mandatory time interval (in seconds) to wait for LADP-write operation
to complete; defaults to 15 seconds.
ReactivateTimerInterval Mandatory time interval (in milliseconds) to activate an inactive server;
defaults to 300000 ms.
Fields Description
BindName Optional; the distinguished name (dn) to use when establishing a connec-
tion between the LDAP and RADIUS servers.
BindPassword Optional; the password associated with the BindName.
EnableKeepAlive Required; default is FALSE. This is enabled to send a TCP keepalive to
keep the idle connection active.
Delimiter Character used to separate the values of the attributes given in Attribute-
List property.
LDAPEnvironmentMul- Optional; allows you to specify a character that separates multi-valued
tiValueDelimiter attribute lists when using ldap-accounting.
DnPath Required; the path that indicates where in the LDAP database to start the
write for user information.
EntryName Required; this specifies the write entry name Prime Access Registrar
uses when insetting the LDAP server for user information. When you
configure this property, use the notation "%s" to indicate where the user
ID should be inserted. For example, a typical value for this property is
"(uid=%s)," which means that when insetting for information about user
joe, use the fentry name uid=joe.
LimitOutstandingRequests Required; the default is FALSE. Prime Access Registrar uses this
property in conjunction with the MaxOutstandingRequests property to
tune the RADIUS server's use of the LDAP server.
When you set this property to TRUE, the number of outstanding requests
for this RemoteServer is limited to the value you specified in MaxOut-
standingRequests. When the number of requests exceeds this number,
Prime Access Registrar queues the remaining requests, and sends them
as soon as the number of outstanding requests drops to this number.
MaxOutstandingRequests Required when you have set the LimitOutstandingRequests to TRUE.
The number you specify, which must be greater than zero, determines the
maximum number of outstanding requests allowed for this remote server.
ObjectClass Required; list of object classes which are all schemas defined in LDAP
server. These schemas define required attributes and allowed attributes
for an entry which is inserted from Prime Access Registrar.
DNSLookup and Specifies the timeout period after which the Prime Access Registrar
LDAPAcct RebindInterval server will attempt to resolve the LDAP hostname to IP address (DNS
resolution).
Escape Spl.Character in FALSE by default.
UserName
AttributeList List of comma-separated attribute names.
Datasource Connections Mandatory number of connections to be established; defaults to 8.
UseLocalTimeZone Optional; the default is FALSE. It determines the timezone of accounting
records TimeStamp.
Fields Description
UseSSL A boolean field indicating whether you want Prime Access Registrar to
use SSL (Secure Socket Layer) when communicating with this Remote-
Server. When you set it to TRUE, be sure to specify the CertificateDB-
Path field in the Advanced section, and be sure the port you specified
for this RemoteServer is the SSL port used by the LDAP server.
AttributestoWrite tab
LDAPAcctAttribute Set the LDAP Accounting attribute.
EnvironmentalAttribute A list of name and value pairs in which the name is the name of the data
store attribute to retrieve from the user record, and the value is the name
of the RADIUS attribute to set to the value of the data store attribute re-
trieved. The data store attributes must match those defined in the external
SQL file.
Click the Add button to save the details and list it in the Attributes list.
To navigate between the listed attributes, use the navigation option
available adjacent to the list. See Relocating Records for more details. To
delete the available attributes, select the relevant attribute and click the
Delete button below.
You can use the LDAP Acct-RemoteServers page for the following:
• Filtering Records
• Adding LDAP Accounting Details
• Editing Records
• Deleting Records
Step 1 Choose Network Resources > RemoteServers > LDAP Accounting. The LDAPAcct-RemoteServers
page is displayed.
Step 2 Click Add to add LDAP accounting details. The LDAPAcct RemoteServer Details page is displayed.
Step 3 Enter the required details in the tabs.
Step 4 Click Save LDAP Acct Server to save the specified details in the LDAPAcct RemoteServer Details
page. Otherwise click Cancel to return to the LDAPAcct-RemoteServers page without saving the details.
The LDAPAcct-RemoteServers page is displayed with the newly added details or a respective error
message is displayed.
ODBC/OCI
Specify odbc or oci when you want to use an ODBC or OCI service for authentication, authorization and
accounting through an ODBC or OCI data store respectively. Use an ODBC or OCI service to
authenticate and authorize an access requests by querying user information through ODBC or OCI and
to insert accounting records into a data store through ODBC or OCI.
Note The ODBC service supports MYSQL database service and OCI supports Oracle with 10.2.0 to 11.2.0
Oracle client.
Table 2-65 lists and describes the fields in the ODBC/OCI-RemoteServers Details page.
Fields Description
Name Required; name of the ODBC/OCI Server.
Protocol The type of remote server. You select the option ODBC or OCI
from the drop-down list.
Datasource Connections Required; default is 8. This represents the total number of connec-
tions Prime Access Registrar can open with the ODBC server;
total number of threads Prime Access Registrar can create for the
ODBC server.
ODBC Datasource Name Required; name of the ODBCDataSource to use and must refer to
one entry in the list of ODBC datasources configured under /Ra-
dius/Advanced/ODBCDataSources.
User Password Attribute Set the user password.
SNMPTrapIP The SNMP trap IP for the remote servers.
Prime Access Registrar supports IPv4 and IPv6 addresses for the
SNMP trap IP.
Note To use IPv6 addresses, you must have Next Generation
(NG) license of Prime Access Registrar.
Description Description of the ODBC Server
Timeout Required; the default is 15. The timeout property indicates how
many seconds the RADIUS server will wait for a response from the
ODBC server.
Note Use InitialTimeout from above as a template, except this is
timeout is specified in seconds.
Reactivate Time Interval Required; default is 300,000 milliseconds. Length of time to wait
before attempting to reconnect if a thread is not connected to a data
source.
Keep Alive Timer Interval Mandatory time interval (in milliseconds) to send a keepalive to
keep the idle connection active; defaults to zero (0) meaning the
option is disabled
SNMPTrapPort The SNMP trap port for the remote server; defaults to 1521.
Fields Description
OCITimeOutCount This and the following fields appear when you select oci from the
Protocol drop-down list.
Required; continuous timeout count to disconnect the selected
connection. Default value is 10.
OCIConnectionReactivationIn- Required; time interval for attempting to reconnect the disconnect-
terval ed OCI remote server session. Default value is 3000 ms.
OCIActiveConnectionThreshold- Required; threshold count of disconnections after which
Count Prime Access Registrar will mark the remote server as down and
try to reactivate it. Default value is 4.
SQL Definitions tab
Name SQLDefinition properties define the SQL you want to execute.
Description Description of the SQL
Type Prime Access Registrar supports only type query.
SQL SQL query used to add, update or delete a record from a database
Execution SequenceNumber Sequence number for SQLStatement execution, must be greater
than zero (mandatory, no default)
Marker List Defines all markers for the query. MarkerList uses the format Us-
erName/SQL_DATA_TYPE.
RadiusMappings tab
ODBC/OCI Attribute Set the ODBC or OCI attribute
RADIUS Attribute A list of name and value pairs in which the name is the name of the
data store attribute to retrieve from the user record, and the value
is the name of the RADIUS attribute to set to the value of the data
store attribute retrieved. The data store attributes must match those
defined in the external SQL file.
Click the Add button to save the details and list it in the Attributes
list. To navigate between the listed attributes, use the navigation
option available adjacent to the list. See Relocating Records for
more details. To delete the available attributes, select the relevant
attribute and click the Delete button below.
CheckItemsMappings tab
Attribute Type Select either RADIUS or VENDOR. If Vendor is selected, specify
the vendor type from the drop-down list.
ODBC/OCI Attribute Set the ODBC or OCI attribute
CheckItem A list of ODBC attribute/value pairs.
Click the Add button to save the details and list it in the Attributes
list. To navigate between the listed attributes, use the navigation
option available adjacent to the list. See Relocating Records for
more details. To delete the available attributes, select the relevant
attribute and click the Delete button below.
EnvironmentalMappings tab
Fields Description
ODBC/OCI Attribute Set the ODBC or OCI attribute
Environmental Attribute A list of name/value pairs in which the name is the name of the data
store attribute to retrieve from the user record, and the value is the
name of the Environment variable to set to the value of the ODBC
attribute retrieved.
Click the Add button to save the details and list it in the Attributes
list. To navigate between the listed attributes, use the navigation
option available adjacent to the list. See Relocating Records for
more details. To delete the available attributes, select the relevant
attribute and click the Delete button below.
Step 1 Choose Network Resources > RemoteServers > ODBC/OCI. The ODBC/OCI-RemoteServers page is
displayed.
Step 2 Click Add to add ODBC or OCI details. The ODBC/OCI-RemoteServers Details page is displayed.
Step 3 Enter the required details.
Step 4 Click Add to enter the SQL details in the SQL Definitions tab.
Step 5 Click Save to save the specified details in the SQL Definitions tab or click Cancel to cancel the action.
Step 6 Enter the required details in the tabs.
Step 7 Click Add Server to save the specified details in the ODBC/OCI-RemoteServers Details page.
Otherwise click Cancel to return to the ODBC/OCI-RemoteServers page without saving the details.
The ODBC/OCI-RemoteServers page is displayed with the newly added details or a respective error
message is displayed.
ODBC/OCI-Accounting
If you use the Oracle Accounting feature, you must configure an ODBC/OCI-Accounting RemoteServer
object.
Table 2-66 lists and describes the fields in the Add ODBC/OCI Accounting-RemoteServers page.
Fields Description
General Properties tab
Name Name of the remote server; this property is mandatory, and there is
no default.
Protocol The type of Accounting remote server. You can select the option
odbc-accounting or oci-accounting from the drop-down list.
Datasource Connections Mandatory number of connections to be established; defaults to 8
ODBC Datasource Name Name of the ODBCDataSource to use and must refer to one entry
in the list of ODBC datasources configured under /Radius/Ad-
vanced/ODBCDataSources. Mandatory; no default
Buffer Accounting Packets Mandatory, TRUE or FALSE, determines whether to buffer the ac-
counting packets to local file, defaults to TRUE which means that
packet buffering is enabled.
Note When set to TRUE, a constant flow of incoming account-
ing packets can fill the buffer backing store files in /cis-
co-ar/data/odbc beyond the size configured in
MaximumBufferFileSize. Configure BackingStoreDisc-
Threshold in /Radius/Advanced when using ODBC ac-
counting.
Max. Buffer Filesize Mandatory if BufferAccountingPackets is set to TRUE, determines
the maximum buffer file size, defaults to 10 Megabyte)
Backing Store Environment Optional; when BufferAccountingPackets is set to TRUE, contains
Variables a comma-separated list of environment variable names to be stored
into a local file along with buffered packet. No default. BackingS-
toreEnvironmentVariables can also be specified in scripts using the
BackingStoreEnvironmentVariables environment variable.
Attribute List List of comma-separated attribute names.
SNMPTrapIP Optional; when set to a valid IP address, the traps (responding/not
responding traps) for the ODBC/OCI Accounting server will have
this IP address. This is used to identify the server. If the value is
not set, SNMP traps use 255.255.255.255 as the IP address.
Description Optional; description of server.
Timeout Mandatory time interval (in seconds) to wait for SQL operation to
complete; defaults to 15 seconds.
Reactivate Time Interval Mandatory time interval (in milliseconds) to activate an inactive
server; defaults to 300000 ms.
Keep Alive Timer Interval Mandatory time interval (in milliseconds) to send a keepalive to
keep the idle connection active; defaults to zero (0) meaning the
option is disabled.
No. of Retries for Buffered Mandatory if BufferAccountingPackets is set to TRUE. A number
Packet greater than zero determines the number of attempts to be made to
insert the buffered packet into Oracle. Defaults to 3.
Fields Description
Use Local Timezone Set to TRUE or FALSE, determines the timezone of accounting
records' TimeStamp (defaults to FALSE).
Delimiter Character used to separate the values of the attributes given in At-
tributeList property.
SNMPTrapPort Optional; when set to a valid port, the traps (responding/not re-
sponding traps) for the ODBC/OCI Accounting server will have
this port. If the value is not set, SNMP traps use 1521 as the IP port.
OCIAutoCommit This and the following fields appear when you select oci-account-
ing from the Protocol drop-down list.
Required; check this box to let the OCI remote server connections
auto commit the Oracle database transactions.
Prime Access Registrar will not execute the Commit query explic-
itly to commit the Oracle database transactions. Auto Commit flag
is enabled while establishing the connection itself.
OCITransactionCount Required; default value is zero. Number of transactions per con-
nection after which Prime Access Registrar can execute the
Commit query in the Oracle database instead of committing the
transactions after each Oracle query.
OCITimeOutCount Required; continuous timeout count to disconnect the selected
connection. Default value is 10.
OCIConnectionReactivationIn- Required; time interval for attempting to reconnect the disconnect-
terval ed OCI remote server session. Default value is 3000 ms.
OCIActiveConnectionThreshold- Required; threshold count of disconnections after which
Count Prime Access Registrar will mark the remote server as down and
try to reactivate it. Default value is 4.
SQL Definitions tab
Name Required; SQLDefinition properties define the SQL you want to
execute.
Description Description of the SQL
Type Required; Prime Access Registrar supports insert, update and
delete options.
SQL Required; SQL query used to acquire the password
Execution SequenceNumber Required; sequence number for SQLStatement execution, must be
greater than zero (mandatory, no default)
Marker List Required; defines all markers for the query. MarkerList uses the
format UserName/SQL_DATA_TYPE.
You can use the ODBC/OCI Accounting-RemoteServers page for the following:
• Filtering Records
• Adding ODBC/OCI Accounting Details
• Others
• Editing Records
• Deleting Records
Step 1 Choose Network Resources > RemoteServers > ODBC/OCI Accounting. The ODBC/OCI
Accounting-RemoteServers page is displayed.
Step 2 Click Add to add ODBC or OCI accounting details. The ODBC/OCI Accounting-RemoteServers Details
page is displayed.
Step 3 Enter the required details in the tabs.
Step 4 Click Add Accounting Server to save the specified details in the ODBC/OCI
Accounting-RemoteServers Details page. The ODBC/OCI Accounting-RemoteServers page is displayed
with the newly added details or a respective error message is displayed. Otherwise click Cancel to return
to the ODBC/OCI Accounting-RemoteServers page without saving the details.
Diameter
Diameter is a networking protocol which is derived from RADIUS protocol.
You can click the Add button in the Diameter-RemoteServers page to add a new Diameter remote server.
Table 2-67 lists and describes the Diameter remote server properties.
Fields Description
Name Required; name of the Diameter server.
Description Optional; description of the Diameter server.
Protocol Required; protocol used by the Diameter server.
MaxTries Number of retry attempts to be made by the Diameter server for request
and response.
Host Name Host name of the server.
Initial Timeout Specifies the timeout value in milliseconds the Prime Access Registrar
server waits for an Accounting-Response packet before attempting a
retry.
This value must be less than the DWatchDogTimeout value.
Port Port used by the server.
DWatchDogTimeout Time interval between watch dog messages.
IncomingScript Optional; if there is a script, it is the first script Prime Access Registrar
runs when it receives a request from any client and/or for any service.
Fields Description
OutgoingScript Optional; if there is a script, it is the last script Prime Access Registrar
runs before it sends a Diameter packet to the remote server.
You can choose to configure blacklisting as part of the outgoing script for
Diameter remote server. For more information about blacklisting, see the
“Using Extension Points” chapter of the
Cisco Prime Access Registrar 7.3 Administrator Guide.
SCTP-Enabled Indicates whether the connection will be an SCTP. If set to TRUE, SCTP
will be used. If set to FALSE, TCP will be used.
AdvertiseHostName Optional; specifies the local hostname address that will be advertised by
the Prime Access Registrar server to other peers during CER/CEA
exchange.
AdvertiseRealm Advertising realm.
ReactivateTimerInterval Mandatory time interval, in milliseconds, to reactivate an inactive server.
Vendor Select a valid vendor.
LimitOutstandingRequests Check this box to limit the number of outstanding requests. If you enable
this option, the number of outstanding requests for the Diameter remote
server is limited to the value specified in the MaxOutstandingRequests
field.
MaxOutstandingRequests Maximum number of outstanding requests allowed for the Diameter
remote server
MaxPendingPackets Maximum number of packets that can be pending for the Diameter
remote server.
DestinationRealm Required. Destination realm to send Diameter packets to the remote
server. The role of the remote server should be Relay.
TLS-Enabled Check this box to enable TLS security mechanism for the Diameter
remote server.
MaxTPSLimit Maximum number of requests allowed per second for the Diameter
remote server.
MaxSessionLimit Maximum number of sessions allowed for the Diameter remote server.
Host Destination host to send the packets (default is localhost).
SCTPParameters Section
This section is available if the SCTP-Enabled option is checked.
SourcePort Remote server source port. Default value is 3868.
DestinationPort Remote server destination port. Default value is 3868.
PathMaxRetrans Maximum number of consecutive retransmissions over a destination
transport address of a peer endpoint before it is marked as inactive.
Default value is 5.
RTOInitial Initial value of RTO (retransmission timeout) that is used in RTO calcu-
lations. Measured in milliseconds and default value is 3 seconds.
RTOCookieLife Maximum lifespan of the cookie sent in an INIT ACK chunk. Measured
in milliseconds and default value is 60 secs.
Fields Description
RTOMin Minimum value of RTO. Measured in milliseconds and default value is
1 second.
HBInterval Interval when a HEARTBEAT chunk is sent to a destination transport
address to monitor the reachability of an idle destination transport
address. Measured in milliseconds and default is 30 seconds.
RTOMax Maximum value of RTO. Measured in milliseconds and default value is
60 seconds.
SACKTimeout Delayed SACK timeout. Default value is 200 msecs.
MaxInitRetransmits Maximum number of times an INIT chunk or a COOKIE ECHO chunk
is retransmitted before an endpoint aborts the initialization process and
closes the association. Default value is 8.
InitNumOStreams Initial number of streams per socket.
AssociationMaxRetrans Maximum number of consecutive retransmissions to a peer before an
endpoint considers that the peer is unreachable and closes the associa-
tion. Default value is 10.
InitMaxInStreams Maximum number of inbound streams per socket.
SCTPAdvHostName Section
This section is available if the SCTP-Enabled option is checked.
Local SCTP advertising host name of the local server.
Remote SCTP advertising host name of the remote server.
TLSEnabled Section
This section is available if the TLS-Enabled option is checked.
PrivateKeyPassword The password used to protect the server’s private key.
ServerKeyFile The full pathname of the file containing the server’s RSA private key.
The pathname can be optionally prefixed with a special string that
indicates the type of encoding used for the certificate. The valid encoding
prefix is “PEM”. If an encoding prefix is not present, the file is assumed
to be in PEM format.
The following example assumes that the subdirectory pki under
/cisco-ar contains the server’s certificate file. The file server-key.pem is
assumed to be in PEM format. The file extension .pem is not significant.
Fields Description
CACertificatePath The name of a directory containing trusted CA certificates (in PEM
format) used for client verification. This parameter is optional, and if it
is used there are some special preparations required for the directory it
references.
Each certificate file in this directory must contain exactly one certificate
in PEM format. The server looks up the certificate files using the MD5
hash value of the certificate’s subject name as a key. The directory must
therefore also contain a set of symbolic links each of which points to an
actual certificate file. The name of each symbolic link is the hash of the
subject name of the certificate.
For example, if a certificate file named ca-cert.pem is located in the
CACertificatePath directory, and the MD5 hash of the subject name
contained in ca-cert.path.pem is 1b96dd93, then a symbolic link named
1b96dd93 must point to ca-cert.pem.
If there are subject name collisions such as multiple certificates with the
same subject name, each link name must be indexed with a numeric
extension as in 1b96dd93.0 and 1b96dd93.1.
PeerVerificationMode Select one of the following options:
• None—If Prime Access Registrar is not required to provide its
certificate; but, the peer’s certificate must be verified.
• Optional—If Prime Access Registrar can provide its certificate
optionally; but, the peer’s certificate must be verified.
• RequireCertificate—If Prime Access Registrar must provide its
certificate and the peer’s certificate must also be verified.
VerificationDepth Specifies the maximum length of the certificate chain used for client ver-
ification.
EnableAutoChaining When set to TRUE, Prime Access Registrar sends its server certificate
chain (Server-Cert -> IntermediateCA -> RootCA) while presenting the
server certificate to the client for server side authentication. When set to
FALSE, Prime Access Registrar sends only the server certificate (Serv-
er-Cert) to the client.
You can use the Domain Authentication-RemoteServers page for the following:
• Filtering Records
• ODBC/OCI
• Editing Records
• Deleting Records
Step 1 Choose Network Resources > RemoteServers > Diameter. The Diameter-Remote Servers page is
displayed.
Step 2 Click Add to add Diameter remote server details.
Step 3 Enter the required details as described in Table 2-67.
Step 4 Click Add Diameter Server to save the details. Click Cancel to return to the previous page without
saving the details.
The Diameter-Remote Servers page is displayed with the newly added details or a respective error
message is displayed.
Others
This feature of GUI allows you to set other specifications. The various types of protocols are:
• Radius
• Dynamic DNS
• Map-Gateway
• Prepaid-CRB
• Prepaid IS 835C
• Sigtran
• Sigtran-m3ua
Table 2-68 lists and describes the fields in the Remote Server Details page. The fields listed below are
the entire list of all the available protocols. The fields are displayed based on the type of protocol
selected.
Fields Description
Remote Server Details
Name Required; name of the server.
Description Optional; description of the server.
Protocol Required; type of the remote server. Choose from one of the
following options:
• Radius
• Dynamic DNS
• Map-Gateway
• Prepaid-CRB
• Prepa-IS835C
• Sigtran
• Sigtran-m3ua
Fields Description
IP Address Required; this property specifies where to send the proxy request.
It is the address of the remote server. You must set it to a valid IP
address.
Port By default, Prime Access Registrar listens on ports 1812 and 1813.
ReactivateTimerInterval Mandatory time interval (in milliseconds) to activate an inactive
server; defaults to 300000 ms.
MaxTries Number of times the server tries to send dynamic updates to a
server.
Initial Timeout Time, in milliseconds, that the server waits for a response before
retrying a request.
SharedSecret Required; the secret shared between the remote server and the
RADIUS server.
Vendor Optional; when set, must be the name of a known Vendor.
IncomingScript Optional; when set, must be the name of a known incoming script.
Prime Access Registrar runs the IncomingScript after it receives
the response.
OutGoingScript Optional; when set, must be the name of a known outgoing script.
Prime Access Registrar runs the OutgoingScript just before it
sends the proxy request to the remote server.
AccountingPort Port where the RADIUS server sends accounting packets.
AcknowledgeAccounting When ACKAccounting is TRUE, the Prime Access Registrar
server waits for the Accounting-Response from the remote
RADIUS server before sending the corresponding Accounting-Re-
sponse to the client.
When ACKAccounting is FALSE, the Prime Access Registrar
server returns an Accounting-Response to the client without
waiting for a response from the remote server.
SendandForget This field is available if the AcknowledgeAccounting option is
disabled.
After forwarding a proxy packet to the remote server and an initial
response to the client, Prime Access Registrar maintains a buffer
of the original request and a copy of the proxy request until it
receives a response from the remote server or packet timeout is
triggered.
If SendandForget is enabled, Prime Access Registrar deletes the
original and proxy requests from the buffer after sending the
response to the client. This helps in reducing buffer pool exhaus-
tion in case of a low-responding remote server.
Accept Dynamic Authorization The value is set to False, by default.
Requests
Fields Description
MaxRename Retries Number of times that the resource managers can try to add a host
even if it detects that the host's name is already present. This
controls the number of times Prime Access Registrar tries to
modify a host's name to resolve a conflict on each failed update.
MaxTPSLimit Maximum number of requests allowed per second for the remote
server.
This field is available only for RADIUS remote server.
MaxSessionLimit Maximum number of sessions allowed for the remote server.
This field is available only for RADIUS and Sigtran-m3ua remote
servers.
Trim HostName Controls whether Prime Access Registrar trims the hostname
string to the first period character. If this attribute is enabled, the
hostname is truncated before the period. If disabled, the server
retains the period characters in the hostname.
FwdZoneTSIG Server-wide security key to process all forward zone dynamic
DNS updates. This is used if a ForwardZoneTSIGKey was not
specified on the Resource Manager.
ReverseZoneTSIG Server-wide security key to process all reverse zone dynamic DNS
updates. This is used if a ReverseZoneTSIGKey was not specified
on the Resource Manager.
File Name Name of the shared library provided by the billing server vendor,
such as libprepaid.so
Connections Number of threads the prepaid service and billing server can each
use (default is 8).
HostName Required; hostname of the remote server.
Local Sub System Number Required; the default value for this property is 0. This represents
the subsystem number used by SUA user.
CgPA Global Title Address Required; represents the Global Title Address of CallingPartyAd-
dress.
Set OPC In CgPA Required; if it is set to TRUE, OPC will be used in CallingPar-
tyAddress.
CdPANumberingPlan Required; used to specify the numbering plan of the called party.
The default value is 7.
CgPANumberingPlan Required; used to specify the numbering plan of the calling party.
The default value is 7.
Global Title Translation Script This is used to specify the name of the script which is responsible
for translating IMSI to GTA.
You can choose to configure blacklisting as part of the global title
translation script for SIGTRAN-M3UA remote server. For more
information about blacklisting, see the “Using Extension Points”
chapter of the
Cisco Prime Access Registrar 7.3 Administrator Guide.
Fields Description
SUA Configuration Filename Required; used to specify the name of configuration file for SUA
stack initialization.
Max Outstanding Requests This represents the maximum outstanding request to HLR.
Timeout Required; represents the how long the remote server should wait
before marking the request as timedout.
Limit Outstanding Requests Limits the outstanding request to HLR when it is set to TRUE.
SourceIPAddress Required; name of the local IP address.
SourcePort Required; specify the port number in which
Prime Access Registrar is installed for M3UA transactions.
LocalSubSystemNumber Required; the local sub system number is set as 149 by default.
DestinationPort Required; specify the destination port number to which
Prime Access Registrar connects.
IMSITranslationScript Specify the scripting point that is used to modify the IMSI based
on the requirement before sending the request to STP/HLR.
Timeout Required; specify the time (in seconds) to wait before an authenti-
cation request times out; defaults to 120.
ReactivateTimerInterval Required; specify the time interval (in milliseconds) to activate an
inactive server; defaults to 300000 ms (which is 5 minutes).
Limit Outstanding Requests Prime Access Registrar uses this property in conjunction with the
MaxOutstandingRequests property to tune the RADIUS server's
use of the HLR. The default is FALSE.
When you set this property to TRUE, the number of outstanding
requests for this RemoteServer is limited to the value you specified
in MaxOutstandingRequests. When the number of requests
exceeds this number, Prime Access Registrar queues the
remaining requests, and sends them as soon as the number of out-
standing requests drops to this number.
MaxOutstandingRequests Required; specify the maximum number of outstanding requests
allowed for this remote server.
MAP-Version Required; specify the MAP version as 2 or 3 that HLR supports.
NetworkVariant Required for SIGTRAN-M3UA remote server; Choose ITU or
ANSI to represent the standard that SIGTRAN-M3UA remote
server supports.
SubServiceField Required; specify the type of network to which this SAP belongs.
The possible options are INT and NAT which represents interna-
tional network and national network respectively.
TCAPVariant Required; specify the name of the TCAP network variant switch.
The possible options are ITU88, ITU92, or ITU96.
Fields Description
NetworkAppearance Required; specify the network appearance code which ranges from
0-2147483647.
This field is optional for SIGTRAN-M3UA remote servers as per
the RFC 4666 (http://tools.ietf.org/html/rfc4666.) You can set the
value to 0 to remove network appearance from the data packet.
NetworkIndicator Required; specify the network indicator used in SCCP address.
The possible options are NAT and INT which represents interna-
tional network and national network respectively.
RoutingIndicator Required; specify the routing indicator. The possible options are
RTE_GT or RTE_SSN which is used to route the packets for HLR.
MLCNumber Required; specify the MLC number which is required for M3UA
service for fetching the MSISDN from the HLR. This is the map
layer network node number by which the HLR identifies the
Prime Access Registrar in the network. The MLC number is con-
figured in E.164 format.
TrafficMode Required; specify the traffic mode values for the HLR.
LoadShareMode Required; specify the load share mode for the HLR.
When there is more than one associations with HLR, then the load
sharing is set as Signaling Link Selection (SLS). SLS is done based
on a simple round-robin basis.
SCCPVariant The Signaling Connection Control Part (SCCP) variant of the
Global Title:
• Select ITU88, ITU92, or ITU96, if NetworkVariant is set to
ITU.
• Select ANS88, ANS92, or ANS96, if NetworkVariant is set to
ANS.
MaxTimeOuts Maximum number of timeouts allowed for the remote server.
RoutingParameters
OriginPointCode Required; specify the originating point of a message in a signalling
network. The value ranges from 0 - 16777215.
DestinationPointCode Required; specify the destination address of a signalling point in a
SS7 network.
RemoteSubSystemNumber Required; specify the sub system number of the remote server. The
RemoteSubSystemNumber is set as 6 by default.
OPCMask Required; specify the wild card mask for the origin point code. The
value ranges from 0 - 16777215.
DPCMask Specify the wild card mask for the destination point code. The
value ranges from 0 - 16777215.
ServiceIndicatorOctet Specify the service identifier octet. The value ranges from 0 - 255.
Fields Description
RoutingContext Required; specify the routing context which ranges from 0 -
16777215.
Source & Destination IP Addresses
SourceIPAddresses Applicable only for Sigtran-m3ua protocol type. Enter the source
IP address to be configured on the remote server and then click
Add. The entered IP address is displayed in the SourceIPAddresses
list box. Click Delete to remote the IP address from the list.
DestinationIPAddresses Applicable only for Sigtran-m3ua protocol type. Enter the destina-
tion IP address to be configured on the remote server and then click
Add. The entered IP address is displayed in the DestinationIPAd-
dresses list box. Click Delete to remote the IP address from the list.
You can use the RemoteServers page allows for the following:
• Filtering Records
• Setting Other Specifications
• Editing Records
• Deleting Records
Step 1 Select Network Resources > RemoteServers > Others. The RemoteServers page is displayed.
Step 2 Click Add to add other specifications. The Remote Server Details page is displayed.
Step 3 Enter the required details.
Step 4 Click Add Radius Server to save the specified details in the Remote Server Details page. Otherwise
click Cancel to return to the RemoteServers page without saving the details.
The RemoteServers page is displayed with the newly added details or a respective error message is
displayed.
Administration
Administration constitutes the maintenance and management of details specific administrator, various
statistical data respective to the administrators, backing up and restoring server details, and license
management of the server.
This section describes the following:
• Administrators
• Statistics
• DiameterStatistics
• TACACSStatistics
• Back Up and Restore
• LicenseUpload
Administrators
Prime Access Registrar provided super-user administrative access in which administrator can perform
all tasks including starting and stopping the system and changing the configuration.
Prime Access Registrar also provides view-only administrative access. View-only access restricts an
administrator to only being able to observe the system and prevents that user from making changes.
Table 2-69 lists and describes the fields in the Administrator Details page.
Fields Description
Name Required; administrator’s user ID.
Description Optional; description of the administrator.
New Password Required; encrypted password of the administrator.
Confirm New Password Required; encrypted password of the administrator and must
match Password.
View Only Default value (FALSE) indicates that the administrator is able to
modify the configuration. When set to TRUE, the administrator
can only view the server configuration and set the change the
server trace level.
The Administrators page is displayed with the newly added details or a respective error message is
displayed.
Statistics
This feature provides statistical information on the specified RADIUS server.
Table 2-70 lists the statistics information of the RADIUS server.
Step 1 Choose Administration > Statistics. The Radius Server Statistics page is displayed.
Step 2 Click Reset to reset all the RADIUS server statistics.
DiameterStatistics
Prime Access Registrar supports statistic of Diameter messages through the CLI/GUI and SNMP. The
existing ‘stats’ module has been extended to include additional counters related to Diameter. The
Diameter statistics includes peer statistics and global summary statistics details on the specified server.
Table 2-71 lists the statistics information of the Diameter server. The statistical information in
Table 2-72 is displayed based on the Diameter peer selected. Table 2-73 is displayed based on the
Diameter remote server selected.
Metric Value
Diameter Statistics
serverStartTime The start time of the server.
serverResetTime The reset time of the server.
serverState The state of the server.
cdbpLocalStatsTotalUpTime The total time for which the Diameter server
is up.
cdbpLocalResetTime The time elapsed since a server was reset.
cdbpLocalStatsTotalPacketsIn The total number of packets received by a
Diameter Base protocol.
cdbpLocalStatsTotalPacketsOut The total number of packets transmitted by a
Diameter Base protocol.
cdbpLocalStatsTotalPacketsInUse The total number of packets used.
Peer The name of the peer. You can select a peer
from the drop-down list.
Metric Value
Diameter Peers: To view the following fields, select a Diameter peer from the Peer drop-down list
box and then click Show Peer Stats. Click Reset, to reset all the Diameter statistics of the peer.
Stats for the Remote Server The name of the selected peer.
ipaddress The IP address of the peer.
port The port of the peer.
cdbpPeerStatsState Indicates the connection state in the Peer State
Machine of the peer with which the Diameter
server is communicating.
cdbpPeerStatsASAsOut Number of Abort-Session-Answer messages
that are sent to the peer.
cdbpPeerStatsACRsIn Number of Accounting-Request messages
that are received from the peer
cdbpPeerStatsACRsOut Number of Accounting-Request messages
that are sent to the peer.
cdbpPeerStatsACAsIn Number of Accounting-Answer messages that
are received from the peer.
cdbpPeerStatsACAsOut Number of Accounting-Answer messages that
are sent to the peer.
cdbpPeerStatsCERsIn Number of Capabilities-Exchange-Request
messages received from the peer.
cdbpPeerStatsCERsOut Number of Capabilities-Exchange-Request
messages sent to the peer.
Metric Value
cdbpPeerStatsCEAsIn Number of Capabilities-Exchange-Answer
messages received from the peer.
cdbpPeerStatsCEAsOut Number of Capabilities-Exchange-Answer
messages sent to the peer.
cdbpPeerStatsDWRsIn Number of Device-Watchdog-Request
messages received from the peer.
cdbpPeerStatsStateDuration Represents the Peer state duration.
cdbpPeerStatsDWRsOut Number of Device-Watchdog-Request
messages sent to the peer.
cdbpPeerStatsDWAsIn Number of Device-Watchdog-Answer
messages received from the peer.
cdbpPeerStatsDWAsOut Number of Device-Watchdog-Answer
messages sent to the peer.
cdbpPeerStatsDPRsIn Number of Disconnect-Peer-Request
messages received from the peer.
cdbpPeerStatsDPRsOut Number of Disconnect-Peer-Request
messages sent to the peer.
cdbpPeerStatsDPAsIn Number of Disconnect-Peer-Answer
messages received from the peer.
cdbpPeerStatsDPAsOut Number of Disconnect-Peer-Answer
messages sent to the peer.
cdbpPeerStatsRARsIn Number of Re-Auth-Request messages that
are received from the peer.
cdbpPeerStatsRARsOut Number of Re-Auth-Request messages that
are sent to the peer.
cdbpPeerStatsRAAsIn Number of Re-Auth-Answer messages that
are received from the peer.
cdbpPeerStatsLastDiscCause The last cause for a peer’s disconnection.
cdbpPeerStatsRAAsOut Number of Re-Auth-Answer messages that
are sent to the peer.
cdbpPeerStatsSTRsIn Number of Session-Termination-Request
messages that are received from the peer.
cdbpPeerStatsSTRsOut Number of Session-Termination-Request
messages that are sent to the peer.
cdbpPeerStatsSTAsIn Number of Session-Termination-Answer
messages that are received from the peer.
cdbpPeerStatsSTAsOut Number of Session-Termination-Answer
messages that are sent to the peer.
cdbpPeerStatsDWReqTimer The interval between the packets that are sent
to the peers.
cdbpPeerstatsRedirectEvents Number of redirects that are sent from a peer.
Metric Value
cdbpPeerStatsAccDupRequests Number of duplicate Diameter Account-
ing-Request packets.
cdbpPeerStatsMalformedReqsts Number of malformed Diameter packets that
are received.
cdbpPeerStatsAccsNotRecorded Number of Diameter Accounting-Request
packets that are received and responded but
not recorded.
cdbpPeerStatsWhoInitDisconnect Indicates whether the host or peer initiated the
disconnect.
cdbpPeerStatsAccRetrans Number of Diameter Accounting-Request
packets that are retransmitted to the Diameter
server.
cdbpPeerStatsTotalRetrans Number of Diameter packets that are retrans-
mitted to the Diameter server. This does not
include the Diameter Accounting-Request
packets that are retransmitted.
cdbpPeerStatsAccPendReqstsOut Number of Diameter Accounting-Request
packets that are sent to the peer which have
not yet timed out or received a response. This
variable is incremented when an Account-
ing-Request is sent to the server and decre-
mented due to receipt of an
Accounting-Response, a timeout or a retrans-
mission.
cdbpPeerStatsAccReqstsDropped Number of Accounting-Requests to the server
that are dropped.
cdbpPeerStatsHByHDropMessages An answer message that is received with an
unknown hop-by-hop identifier. This does not
include the accounting requests that are
dropped.
cdbpPeerStatsEToEDupMessages The duplicate answer messages that are
locally consumed. This does not include
duplicate accounting requests that are
received.
cdbpPeerStatsUnknownTypes Number of Diameter packets of unknown type
that are received from the peer.
cdbpPeerStatsProtocolErrors Number of protocol errors that are returned to
peer, but not including the redirects.
cdbpPeerStatsTransientFailures Indicates the transient failure count.
cdbpPeerStatsPermanentFailures Indicates the permanent failure count.
cdbpPeerStatsDWCurrentStatus Indicates the connection status of the peer.
cdbpPeerStatsTransportDown Number of unexpected transport failures.
Metric Value
cdbpPeerStatsTimeoutConnAtmpts Number of times the server attempts to
connect to a peer when there is no transport
connection with the peer. This is reset on dis-
connection.
cdbpPeerStatsASRsIn Number of Abort-Session-Request messages
that are received from the peer.
cdbpPeerStatsASRsOut Number Abort-Session-Request messages
that are sent to the peer.
cdbpPeerStatsASAsIn Number of Abort-Session-Answer messages
that are received from the peer.
cdbpPeerStatsDERsIn Number of Diameter-EAP-Request messages
that are received from the peer.
cdbpPeerStatsDERsOut Number of Diameter-EAP-Request messages
that are sent to the peer.
cdbpPeerStatsDEAsIn Number of Diameter-EAP-Answer messages
that are received from the peer.
cdbpPeerStatsDEAsOut Number of Diameter-EAP-Answer messages
that are sent to the peer.
cdbpPeerStatsAARsIn Number of AA-Request messages that are
received from the peer.
cdbpPeerStatsAARsOut Number of AA-Request messages that are
sent to the peer.
cdbpPeerStatsAAAsIn Number of AA-Answer messages that are
received from the peer.
cdbpPeerStatsAAAsOut Number of AA-Answer messages that are sent
to the peer.
cdbpPeerStatsMARsIn Number of Multimedia-Authentication-Re-
quest messages that are received from the
peer.
cdbpPeerStatsMARsOut Number of Multimedia-Authentication-Re-
quest messages that are sent to the peer.
cdbpPeerStatsMAAsIn Number of Mutlimedia-Authentication-An-
swer messages that are received from the peer.
cdbpPeerStatsMAAsOut Number of Mutlimedia-Authentication-An-
swer messages that are sent to the peer.
cdbpPeerStatsSARsIn Number of Server-Assignment-Request
messages that are received from the peer.
ccdbpPeerStatsSARsOut Number of Server-Assignment-Request
messages that are sent to the peer.
cdbpPeerStatsSAAsIn Number of Server-Assignment-Answer
messages that are received from the peer.
Metric Value
cdbpPeerStatsSAAsOut Number of Server-Assignment-Answer
messages that are sent to the peer.
cdbpPeerStatsRTRsIn Number of Registration-Termination-Request
messages that are received from the peer.
cdbpPeerStatsRTRsOut Number of Registration-Termination-Request
messages that are sent to the peer.
cdbpPeerStatsRTAsIn Number of Registration-Termination-Answer
messages that are received from the peer.
cdbpPeerStatsRTAsOut Number of Registration-Termination-Answer
messages that are sent to the peer.
cdbpPeerStatsPPRsIn Number of Push-Profile-Request messages
that are received from the peer.
cdbpPeerStatsPPRsOut Number of Push-Profile-Request messages
that are sent to the peer.
cdbpPeerStatsPPAsIn Number of Push-Profile-Answer messages
that are received from the peer.
cdbpPeerStatsPPAsOut Number of Push-Profile-Answer messages
that are sent to the peer.
Metric Value
Diameter RemoteServers: To view the following fields, select a remote server from the Remote-
Servers drop-down list box and then click Show RemoteServer Stats. Click Reset, to reset all the
Diameter statistics of the remote server.
Stats for the Remote Server The name of the selected remote server.
ipaddress The IP address of the remote server.
port The port of the remote server.
cDiaRemSvrActive Indicates whether the server was active (not in
a down state).
cDiaRemSvrRTTAverage Average round trip time since the last server
restart.
cDiaRemSvrRTTDeviation Indicates a standard deviation of the RTTAv-
erage.
cDiaRemSvrServerType Indicates the remote server type.
cDiaRemSvrTotalRequestsPending Number of requests currently queued.
cDiaRemSvrTotalRequestsOutstanding Number of requests currently proxied that
have not yet returned
cDiaRemSvrTotalRequestsAcknowledged Number of responses received since last
server restart.
Metric Value
cDiaRemSvrStatsState Indicates the connection state of the Diameter
remote server.
cDiaRemSvrStatsASRsIn Number of Abort-Session-Request messages
that are received by the remote server.
cDiaRemSvrStatsASRsOut Number Abort-Session-Request messages
that are sent by the remote server.
cDiaRemSvrStatsASAsIn Number of Abort-Session-Answer messages
that are received by the remote server.
cDiaRemSvrStatsASAsOut Number of Abort-Session-Answer messages
that are sent by the remote server.
cDiaRemSvrStatsACRsIn Number of Accounting-Request messages
that are received by the remote server.
cDiaRemSvrStatsACRsOut Number of Accounting-Request messages
that are sent by the remote server.
cDiaRemSvrStatsACAsIn Number of Accounting-Answer messages that
are received by the remote server.
cDiaRemSvrStatsACAsOut Number of Accounting-Answer messages that
are sent by the remote server.
cDiaRemSvrStatsCERsIn Number of Capabilities-Exchange-Request
messages received by the remote server.
cDiaRemSvrStatsCERsOut Number of Capabilities-Exchange-Request
messages sent by the remote server.
cDiaRemSvrStatsCEAsIn Number of Capabilities-Exchange-Answer
messages received by the remote server.
cDiaRemSvrStatsCEAsOut Number of Capabilities-Exchange-Answer
messages sent by the remote server.
cDiaRemSvrStatsDWRsIn Number of Device-Watchdog-Request
messages received by the remote server.
cDiaRemSvrStatsDWRsOut Number of Device-Watchdog-Request
messages sent by the remote server.
cDiaRemSvrStatsDWAsIn Number of Device-Watchdog-Answer
messages received by the remote server.
cDiaRemSvrStatsDWAsOut Number of Device-Watchdog-Answer
messages sent by the remote server.
cDiaRemSvrStatsDPRsIn Number of Disconnect-Peer-Request
messages received by the remote server.
cDiaRemSvrStatsDPRsOut Number of Disconnect-Peer-Request
messages sent by the remote server.
cDiaRemSvrStatsDPAsIn Number of Disconnect-Peer-Answer
messages received by the remote server.
cDiaRemSvrStatsDPAsOut Number of Disconnect-Peer-Answer
messages sent by the remote server.
Metric Value
cDiaRemSvrStatsRARsIn Number of Re-Auth-Request messages that
are received by the remote server.
cDiaRemSvrStatsRARsOut Number of Re-Auth-Request messages that
are sent by the remote server.
cDiaRemSvrStatsRAAsIn Number of Re-Auth-Answer messages that
are received by the remote server.
cDiaRemSvrStatsRAAsOut Number of Re-Auth-Answer messages that
are sent by the remote server.
cDiaRemSvrStatsSTRsIn Number of Session-Termination-Request
messages that are received by the remote
server.
cDiaRemSvrStatsSTRsOut Number of Session-Termination-Request
messages that are sent by the remote server.
cDiaRemSvrStatsSTAsIn Number of Session-Termination-Answer
messages that are received by the remote
server.
cDiaRemSvrStatsSTAsOut Number of Session-Termination-Answer
messages that are sent by the remote server.
cDiaRemSvrStatsRedirectEvents Number of redirects that are sent from the
remote server.
cDiaRemSvrStatsAccDupRequests Number of duplicate Diameter Account-
ing-Request packets.
cDiaRemSvrStatsMalformedRequests Number of malformed Diameter packets that
are received.
cDiaRemSvrStatsAccsNotRecorded Number of Diameter Accounting-Request
packets that are received and responded but
not recorded.
cDiaRemSvrStatsWhoInitDisconnect Indicates whether the host or remote server
initiated the disconnect.
cDiaRemSvrStatsAccRetrans Number of Diameter Accounting-Request
packets that are retransmitted by the Diameter
remote server.
cDiaRemSvrStatsTotalRetrans Number of Diameter packets that are retrans-
mitted by the Diameter server. This does not
include the Diameter Accounting-Request
packets that are retransmitted.
cDiaRemSvrStatsAccPendRequestsOut Number of Diameter Accounting-Request
packets that are sent by the remote server
which have not yet timed out or received a
response. This variable is incremented when
an Accounting-Request is sent by the server
and decremented due to receipt of an Ac-
counting-Response, a timeout or a retransmis-
sion.
Metric Value
cDiaRemSvrStatsAccReqstsDropped Number of Accounting-Requests that are
dropped.
cDiaRemSvrStatsHByHDropMessages An answer message that is received with an
unknown hop-by-hop identifier. This does not
include the accounting requests that are
dropped.
cDiaRemSvrStatsEToEDupMessages The duplicate answer messages that are
locally consumed. This does not include
duplicate accounting requests that are
received.
cDiaRemSvrStatsUnknownTypes Number of Diameter packets of unknown type
that are received by the remote server.
cDiaRemSvrStatsProtocolErrors Number of protocol errors that are returned by
the remote server, but not including the redi-
rects.
cDiaRemSvrStatsTransientFailures Indicates the transient failure count.
cDiaRemSvrStatsPermanentFailures Indicates the permanent failure count.
cDiaRemSvrStatsDWCurrentStatus Indicates the connection status of the remote
server.
cDiaRemSvrStatsTransportDown Number of unexpected transport failures.
cDiaRemSvrStatsTimeoutConnAtmpts Number of times the remote server attempts to
reconnect when there is no transport connec-
tion. This is reset on disconnection.
cDiaRemSvrStatsMARsIn Number of Multimedia-Authentication-Re-
quest messages that are received by the
remote server.
cDiaRemSvrStatsMARsOut Number of Multimedia-Authentication-Re-
quest messages that are sent by the remote
server.
cDiaRemSvrStatsMAAsIn Number of Mutlimedia-Authentication-An-
swer messages that are received by the remote
server.
cDiaRemSvrStatsMAAsOut Number of Mutlimedia-Authentication-An-
swer messages that are sent by the remote
server.
cDiaRemSvrStatsSARsIn Number of Server-Assignment-Request
messages that are received by the remote
server.
cDiaRemSvrStatsSARsOut Number of Server-Assignment-Request
messages that are sent by the remote server.
cDiaRemSvrStatsSAAsIn Number of Server-Assignment-Answer
messages that are received by the remote
server.
Metric Value
cDiaRemSvrStatsSAAsOut Number of Server-Assignment-Answer
messages that are sent by the remote server.
cDiaRemSvrStatsRTRsIn Number of Registration-Termination-Request
messages that are received by the remote
server.
cDiaRemSvrStatsRTRsOut Number of Registration-Termination-Request
messages that are sent by the remote server.
cDiaRemSvrStatsRTAsIn Number of Registration-Termination-Answer
messages that are received by the remote
server.
cDiaRemSvrStatsRTAsOut Number of Registration-Termination-Answer
messages that are sent by the remote server.
cDiaRemSvrStatsPPRsIn Number of Push-Profile-Request messages
that are received by the remote server.
cDiaRemSvrStatsPPRsOut Number of Push-Profile-Request messages
that are sent by the remote server.
cDiaRemSvrStatsPPAsIn Number of Push-Profile-Answer messages
that are received by the remote server.
cDiaRemSvrStatsPPAsOut Number of Push-Profile-Answer messages
that are sent by the remote server.
cDiaRemSvrStatsDERsIn Number of Diameter-EAP-Request messages
that are received by the remote server.
cDiaRemSvrStatsDERsOut Number of Diameter-EAP-Request messages
that are sent by the remote server.
cDiaRemSvrStatsDEAsIn Number of Diameter-EAP-Answer messages
that are received by the remote server.
cDiaRemSvrStatsDEAsOut Number of Diameter-EAP-Answer messages
that are sent by the remote server.
cDiaRemSvrStatsAARsIn Number of AA-Request messages that are
received by the remote server.
cDiaRemSvrStatsAARsOut Number of AA-Request messages that are
sent by the remote server.
cDiaRemSvrStatsAAAsIn Number of AA-Answer messages that are
received by the remote server.
cDiaRemSvrStatsAAAsOut Number of AA-Answer messages that are sent
by the remote server.
TACACSStatistics
Prime Access Registrar supports CISCO-AAA-SERVER-MIB to describe the statistics of TACACS+
protocol. This is supported through CLI/GUI and SNMP.
Table 2-74 lists the statistics information and the meaning of the values.
Metric Value
TACACS Statistics
serverStartTime The start time of the server.
serverResetTime The reset time of the server.
serverState The state of the server.
totalPacketsReceived Number of packets that are received by a
TACACS+ protocol irrespective of the type of
Authentication and Accounting.
totalPacketsSent Number of packets that are sent by a
TACACS+ protocol irrespective of the type of
Authentication and Accounting.
totalRequests Number of packet requests that are received
by a TACACS+ protocol irrespective of the
type of Authentication and Accounting.
totalResponses Number of packet responses that are sent by a
TACACS+ protocol irrespective of the type of
Authentication and Accounting.
totalAuthenticationRequests Number of authentication requests that are
received by Prime Access Registrar.
totalAuthenticationAccepts Number of authentication requests that are
accepted by Prime Access Registrar.
totalAuthenticationRejects Number of authentication requests that are
rejected by Prime Access Registrar.
totalAuthenticationChallenges Number of authentication challenges that are
faced by Prime Access Registrar.
totalAuthenticationResponses Number of authentication responses that are
sent by Prime Access Registrar.
totalAuthorizationRequests Number of authorization requests that are
received by Prime Access Registrar.
totalAuthorizationAccepts Number of authorization requests that are
accepted by Prime Access Registrar.
totalAuthorizationRejects Number of authorization requests that are
rejected by Prime Access Registrar.
totalAuthorizationResponses Number of authorization responses that are
sent by Prime Access Registrar.
totalAccountingRequests Number of accounting requests that are
received by Prime Access Registrar.
totalAccountingAccepts Number of accounting requests that are
accepted by Prime Access Registrar.
totalAccountingRejects Number of accounting requests that are
rejected by Prime Access Registrar.
Metric Value
totalAccountingResponses Number of accounting requests that are sent
by Prime Access Registrar.
totalPayloadDecryptionFailures Number of packets that are not decrypted by
Prime Access Registrar.
totalPacketsDropped Number of packets that are dropped by
Prime Access Registrar. The packets are
dropped, which are invalid and do not fulfill
the parsing conditions.
Step 1 Choose Administration > Backup & Restore. The Backup page is displayed.
Step 2 Click Backup to take a backup of the database, sessions, and scripts, and stores it in /cisco-ar/backup
directory. The details will be backed up and appended to the backup list and displayed in the Backup
page.
Step 1 Choose Administration > Backup & Restore. The Backup page is displayed.
Step 2 Choose the record from the backup list.
Step 3 Click Restore. The details of the selected back up file will be restored successfully.
LicenseUpload
Prime Access Registrar license information are uploaded using the Upload feature. To upload the license
file:
Step 1 Choose Administration > LicenseUpload. The Prime Access Registrar License-Upload page is
displayed.
Step 2 Click Browse to locate the license file. The File Upload dialog box is displayed.
Step 3 Choose the required file.
Step 4 Click Upload. The selected file will be uploaded in /cisco-ar/license directory.
Note You need to ensure that the license file that you want to upload should be in .lic format.
Step 5 Click Reset to clear the text in the Select the File field, if you want to clear the selected path.
Read-Only GUI
Prime Access Registrar provides a read-only GUI that enables an administrator to observe the system
but prevents that administrator from making changes.
When you configure a user to be an administrator, check the View-Only check box to limit the
administrator to view-only operation. You can also use the CLI by setting the View-Only property to
TRUE under /Administrator/admin_name.
When using the Read-Only GUI, the Configuration, Network Resources and Administration sections are
displayed as same as a fully-enabled administrator. The details of these sections are displayed in text
format and cannot be edited.
This chapter describes RADIUS Accounting in Cisco Prime Access Registrar (Prime Access Registrar)
as defined in Internet RFC 2866.
This chapter contains the following sections:
• Understanding RADIUS Accounting
• Setting Up Accounting
• Oracle Accounting
• LDAP Accounting
• MySQL Support
• Proxying Accounting Records
Note Prime Access Registrar uses UDP port number 1813 as its default port for RADIUS accounting
messages. RFC 2866 defines UDP port number 1813 as the accounting port number.
When a NAS that uses accounting begins a session, it sends an Accounting-Start packet describing the
type of service and the user being connected to the Prime Access Registrar server. When the session
ends, the NAS sends the RADIUS server an Accounting Stop packet describing the type of service that
was delivered. The Accounting Stop packet might also contain statistics such as elapsed time, input and
output octets, or input and output packets.
Setting Up Accounting
To configure Prime Access Registrar to perform accounting, you must do the following:
1. Create a service
2. Set the service type to file
3. Set the DefaultAccountingService field in /Radius to the name of the service you created
After you save and reload the Prime Access Registrar server configuration, the Prime Access Registrar
server writes accounting messages to the accounting.log file in the /opt/CSCOar/logs directory. The
Prime Access Registrar server stores information in the accounting.log file until a rollover event occurs.
A rollover event is caused by the accounting.log file exceeding a pre-set size, a period of time
transpiring, or on a scheduled date.
Note You can also choose to export the accounting messages to a .csv file by providing the appropriate file
type in the accounting service.
When the rollover event occurs, the data in accounting.log is stored in a file named by the prefix
accounting, a date stamp (yyyymmdd), and the number of rollovers for that day. For example,
accounting-20131107-14 would be the 14th rollover on November 07, 2013.
The following shows the properties for a service called CiscoAccounting:
[ //localhost/Radius/Services/acc ]
Name = acc
Description =
Type = file
IncomingScript~ =
OutgoingScript~ =
OutagePolicy~ = RejectAll
OutageScript~ =
FilenamePrefix = accounting
FileType~ = log
EnableRollOverIntelligence = TRUE
MaxFileSize = "10 Megabytes"
MaxFileAge = "1 Day"
RolloverSchedule =
UseLocalTimeZone = FALSE
AttributesToBeLogged/
1. Acct-Session-Id
You can configure an accounting service using any combination of MaxFileSize, MaxFileAge, and
RolloverSchedule. For example, you might configure RolloverSchedule and MaxFileAge at the same
time. This would be useful if you wanted to have an age-based rollover, but also synchronize to an
absolute clock at specified times. The following would set a rollover every twelve hours at 11:59 and
12:59.
You might also consider scheduling MaxFileAge to be six minutes and set RolloverSchedule to the top
of the hour. The following would create ten six-minute long files starting anew every hour.
set RolloverSchedule “0 * * * *”
Although you specify an exact time with the RolloverSchedule property, the Prime Access Registrar
server only checks the rollover schedule when an accounting event occurs. If your
Prime Access Registrar server receives a steady flow of packets (at least one per minute), the times you
specify are accurate. However, if the Prime Access Registrar server does not receive any packets for a
period of time, no rollovers will occur until the next packet is received. The same is true for MaxFileAge
and MaxFileSize.
Based on the maximum file size and the age specified, Prime Access Registrar closes the accounting file,
moves it to a new name, and reopens the file as a new file. The name given to this accounting file depends
on its creation and modification dates.
For example, if the file was created and modified on the same date, the filename will be of the format
FileNamePrefix-<yyyymmdd>-<n>.log, and the suffix will have year, month, day, and number. If the file
was created on some day and modified on another, the filename will be of the format
FileNamePrefix-<yyyymmdd>-<yyyymmdd>-<n>.log, and the suffix will have creation date,
modification date, and number.
This section contains the following topics:
• FilenamePrefix
• MaxFileSize
• MaxFileAge
• RolloverSchedule
• UseLocalTimeZone
• FileType
• EnableRolloverIntelligence
• AttributesToBeLogged
FilenamePrefix
The FileNamePrefix property enables you to specify a path to the file system in which you store the log
files. If you do not manage your log files regularly, they might use the system resources, which will affect
the performance of the Prime Access Registrar server.
We recommend that you store the log files in a file system different from the file system where you
installed the Prime Access Registrar software by specifying the path in the FilenamePrefix property. By
doing so the Prime Access Registrar server continues to run, even if the accounting logs fill the file
system.
The following example specifies the /usr/arlogs/accounting as the FilenamePrefix:
You can also set up a cron job to check the size of the log files and mail the administrator if the file
system is full.
MaxFileSize
Use MaxFileSize to indicate the maximum size of the accounting.log file in minutes, hours, days, or
weeks. MaxFileAge measures the age of the accounting.log file from the time the previous file rollover
occurred.
You can specify the following (case insensitive) file sizes:
• K, Kilobytes, Kilobytes
• M, Megabyte, Megabytes
• G, Gigabyte, Gigabytes
The following are examples of valid commands to set MaxFileSize:
set maxfilesize “1 G”
MaxFileAge
Use MaxFileAge to indicate the maximum age of the log file in minutes, hours, days, or weeks.
MaxFileAge measures the age of the accounting.log file from the time the previous file rollover
occurred.
You can specify the following (case insensitive) periods of time:
• M, Minute, or Minutes preceded by a number from 0 to 59
• H, Hour, or Hours preceded by a number from 0 to 12
• D, Day, or Days preceded by a number from 1 to 31
• W, Week, or Weeks preceded by a number from 1 to 52
The following are examples of valid commands to set MaxFileAge:
set maxfileage “2 d”
set maxfileage “1 H”
RolloverSchedule
You set RolloverSchedule using the following crontab-style time format:
minute hour "day of month" "month of year" "day of week"
Where:
• Minute is a value from 0-59
• Hour is a value from 0-12
• Day (of the month) is a value from 1-31
• Month is a value from 1-12
• Day (of the week) is a value from 0-6, where 0 is Sunday
UseLocalTimeZone
When set to TRUE, the Prime Access Registrar server stores the accounting records in the log using the
local system time. When set to FALSE (the default), Prime Access Registrar stores the accounting
records in the log using Greenwich Mean Time (GMT).
FileType
Use FileType to indicate the type of the file to export the accounting messages to. FileType could be one
of the following:
• log— Prime Access Registrar server writes accounting messages to the accounting.log file in the
/opt/CSCOar/logs directory.
• csv—Prime Access Registrar server writes accounting messages to the accounting.csv file in the
/opt/CSCOar/logs directory. You must set up a delimiter for this file type, which could be ‘;’, ‘,’,
and ‘:’.
EnableRolloverIntelligence
When set to TRUE, rollover intelligence will be enabled for the accounting records based on the
accounting service properties. For example, if a log file is deleted, this parameter will indicate whether
to create a log with the deleted index before continuing with new indexes or to ignore the deleted index
and create log files from the last index available for that date.
For example, if:
• there are log files such as acct-1-1209-2015.log, acct-2-1209-2015.log, through
acct-10-1209-2015.log for that date
• EnableRolloverIntelligence is set to TRUE
• acct-2-1209-2015.log is deleted
The service creates a log file acct-2-1209-2015.log before continuing with acct-11-1209-2015.log.
If EnableRolloverIntelligence is set to FALSE, the service ignores acct-2-1209-2015.log and
continues creating log files from acct-11-1209-2015.log.
AttributesToBeLogged
The AttributesToBeLogged parameter allows you to configure the set of attributes that must be logged
by the accounting file service for a particular packet. If this list is empty, the accounting file service logs
all the attributes available for that particular packet.
Oracle Accounting
Previous releases of Prime Access Registrar supported accessing user data from an Oracle database
using Open Database Connectivity (ODBC), but this feature was limited to performing authentication
and authorization (AA). You could only write the accounting records to local file or proxy to another
RADIUS server.
Prime Access Registrar supports writing accounting records into Oracle database enabling integration
between billing systems and Oracle.
• Prime Access Registrar adds a new type of service and remote server called odbc-accounting that
enables inserting accounting records into Oracle.
• You can write accounting records into Oracle by referring this service in
/Radius/DefaultAccountingService or in the Accounting-Service environment variable.
There is no specified schema structure to use the Oracle accounting feature. You can use your own table
design and configure insert statements using standard SQL in the Prime Access Registrar configuration.
The Prime Access Registrar server executes the insert statements to write the accounting record into
Oracle. This feature is similar to the existing ODBC feature which performs authentication and
authorization.
To improve latency for writing accounting records into database, packet buffering can be used. This
option is enabled using the BufferAccountingPackets property under the odbc-accounting remote server
definition.
Note Prime Access Registrar supports Oracle 10g client and 11g server.
Note For more information about dynamic SQL feature, see Dynamic SQL Feature, page 3-11.
ODBC-Accounting Service
The following is an example of an ODBC-Accounting service:
[ //localhost/Radius/Services/oracle_accounting ]
Name = oracle_accounting
Description =
Type = odbc-accounting
IncomingScript~ =
OutgoingScript~ =
OutagePolicy~ = RejectAll
OutageScript~ =
MultipleServersPolicy = Failover
RemoteServers/
1. accounting_server
ODBC RemoteServers
Create a remote server under /Radius/RemoteServers, and set its protocol to odbc-accounting. The
following is an example of an ODBC-Accounting RemoteServer’s configuration:
[ //localhost/Radius/RemoteServers/accounting_server ]
Name = accounting_server
Description =
Protocol = odbc-accounting
ReactivateTimerInterval = 300000
Timeout = 15
DataSourceConnections = 8
ODBCDataSource =
KeepAliveTimerInterval = 0
BufferAccountingPackets = TRUE
MaximumBufferFileSize = "10 Megabytes"
NumberOfRetriesForBufferedPacket = 3
BackingStoreEnvironmentVariables =
UseLocalTimeZone = FALSE
AttributeList =
Delimiter =
SQLDefinition/
Property Description
Name Name of the remote server; this property is mandatory, and there is no
default
Description Optional description of server
Protocol Must be set to odbc-accounting
ReactivateTimerInterval Mandatory time interval (in milliseconds) to activate an inactive server;
defaults to 300000 ms.
Timeout Mandatory time interval (in seconds) to wait for SQL operation to
complete; defaults to 15 seconds
DataSourceConnections Mandatory number of connections to be established; defaults to 8
ODBCDataSource Name of the ODBCDataSource to use and must refer to one entry in the
list of ODBC datasources configured under
/Radius/Advanced/ODBCDataSources. Mandatory; no default
KeepAliveTimerInterval Mandatory time interval (in milliseconds) to send a keepalive to keep the
idle connection active; defaults to zero (0) meaning the option is disabled
BufferAccountingPackets Mandatory, TRUE or FALSE, determines whether to buffer the
accounting packets to local file, defaults to TRUE which means that
packet buffering is enabled
MaximumBufferFileSize Mandatory if BufferAccountingPackets is set to TRUE, determines the
maximum buffer file size, defaults to 10 Megabyte)
NumberOfRetriesForBuffe Mandatory if BufferAccountingPackets is set to TRUE. A number
redPacket greater than zero determines the number of attempts to be made to insert
the buffered packet into Oracle. Defaults to 3.
BackingStoreEnvironment Optional; when BufferAccountingPackets is set to TRUE, contains a
Variables comma-separated list of environment variable names to be stored into a
local file along with buffered packet. No default.
BackingStoreEnvironmentVariables can also be specified in scripts using
the BackingStoreEnvironmentVariables environment variable.
UseLocalTimeZone Set to TRUE or FALSE, determines the timezone of accounting records'
TimeStamp (defaults to FALSE).
AttributeList List of comma-separated attribute names.
Delimiter Character used to separate the values of the attributes given in
AttributeList property.
SQLDefinition List of insert, update and delete statements to be executed to insert,
update and delete the accounting record.
full. So, having two odbc-accounting remote servers in the service, first one with buffering enabled and
multiple server policy of FailOver will make the other remote servers to receive packets only when the
first remote server's buffer gets full.
AttributeList is to specify the list of attribute names separated with comma. When this 'AttributeList' is
given in the MarkerList, these attributes' values will be appended together with delimiter specified in
'Delimiter' property and will be supplied as input to that marker.
Attributes from the Prime Access Registrar environment and request dictionaries can be specified in the
MarkerList. Request dictionary will be looked up first for the attributes. Other than the standard
attributes in the Prime Access Registrar dictionaries, two new marker variables are supported inside the
marker list. They are,
• TimeStamp—Used to insert the timestamp into Oracle from Prime Access Registrar. Specifying
this will supply the timestamp of that accounting record as a value to the insert statement. Time zone
of this timestamp will be local if UseLocalTimeZone property is set to TRUE, otherwise GMT. This
functionality could also be achieved by employing a trigger on the accounting table in the database.
However, using this marker variable is recommended because the use of triggers negatively affects
performance.
The format of the timestamp marker variable supplied by Prime Access Registrar is
YYYYMMDDHH24MMSS. For example, a timestamp of 20131107211050 represents 21:10:50,
November 07, 2013.
• RawAcctRecord—Used to insert the entire accounting record into the database as a single text
field. Contents of this will be whatever is sent by the NAS in the accounting packet and the format
is name=value pairs delimited with the string specified in Delimiter property. If the delimiter
property is not set, the default delimiter is a new line character. RawAcctRecord can be used with
the other marker variables.
If multivalued attributes are specified in the marker list, the multiple values are concatenated together
with delimiters, and the resulting value will be passed to the insert statement. This delimiter can be
specified using the ODBCEnvironmentMultiValueDelimiter property under /Radius/Advanced.
Configuration Examples
This section provides common Oracle accounting configuration examples most likely to be used.
This section contains the following topics:
• Inserting Selected Attributes into Separate Columns
• Inserting Complete Accounting Packets into One Column
• Inserting Selected Attributes into One Column
• Updating Selected Attributes
• Deleting Selected Attributes
Use the following SQL and MarkerList properties statement to insert selected attributes into separate
Oracle columns. The Oracle table definition will have separate columns for each attribute.
SQL: “insert into ar_acct (username,nasinfo,packet_type,timestamp) values (?,?,?,?)”
MarkerList: “UserName/SQL_CHAR NAS-Identifier/SQL_CHAR Acct-Status-Type/SQL_CHAR
TimeStamp/SQL_TIMESTAMP”
In this example, all the column data types are CHAR/VARCHAR except the timestamp which is DATE.
If packet buffering option is disabled, instead of TimeStamp marker, you can also use Oracle's sysdate
as a value for the timestamp column. The insert statement will look like the following:
“insert into ar_acct (username,nasinfo,packet_type,timestamp) values (?,?,?,sysdate)”
Use SQL and MarkerList properties in the SQLStatement like the following to insert the complete
accounting packet into one Oracle column.
SQL: “insert into ar_acct (timestamp,raw_packet) values (?,?)”
MarkerList: “TimeStamp/SQL_TIMESTAMP RawAcctRecord/SQL_VARCHAR”
To insert selected attribute values into one Oracle column delimited by a comma (,), you must configure
the AttributeList and Delimiter properties of the odbc-accounting RemoteServer object like the
following:
AttributeList = "NAS-Identifier,NAS-Port,Acct-Status-Type,Acct-Session-Id"
Delimiter = ,
The SQL and MarkerList properties in the SQLStatement will look like the following:
SQL: “insert into ar_acct (username,timestamp,attributes) values (?,?,?)”
MarkerList: “UserName/SQL_CHAR TimeStamp/SQL_TIMESTAMP AttributeList/SQL_VARCHAR”
Use the following SQL and MarkerList properties statement to update the selected attributes:
SQL: “update arusers_acct set acct_status_type='stop' where username=? and
acct_status_type=?”
MarkerList: "UserName/SQL_CHAR Acct-Status-Type/SQL_CHAR"
Use the following SQL and MarkerList properties statement to delete the selected attributes:
SQL = "delete from arusers_acct where username=?"
MarkerList = UserName/SQL_CHAR
Packet Buffering
You can optionally use packet buffering to improve latency when writing accounting records into the
database. To enable packet buffering,
• set the BufferAccountingPackets property in the odbc-accounting remote server to TRUE.
This section contains the following topics:
• When Using Packet Buffering
• With Packet Buffering Disabled
LDAP Accounting
Previous releases of Prime Access Registrar, supported accessing user data from an LDAP server, but
this feature was limited to performing authentication and authorization (AA). You can only write the
accounting records to local file or Oracle database or proxy to another RADIUS server.
Prime Access Registrar supports writing accounting records into LDAP server enabling integration
between billing systems and LDAP.
• Prime Access Registrar adds a new type of service and remote server called ldap-accounting that
enables inserting accounting records into LDAP.
• You can write accounting records into LDAP by referring this service in
/Radius/DefaultAccountingService or in the Accounting-Service environment variable.
There is no specified schema structure to use the LDAP accounting feature. You can use your own object
class design and configure, insert data using AttributesToWrite object in the Prime Access Registrar
configuration. The Prime Access Registrar server inserts all configured attributes to write the accounting
record into LDAP server. This feature is similar to the existing LDAP feature which performs
authentication and authorization.
Note Prime Access Registrar supports LDAP version 3 client and LDAP version 3 server.
LDAP-Accounting Service
The following is an example of the LDAP-Accounting service:
[ //localhost/Radius/Services/ldap_accounting ]
Name = ldap_accounting
Description =
Type = ldap-accounting
IncomingScript~ =
OutgoingScript~ =
OutagePolicy~ = RejectAll
OutageScript~ =
MultipleServersPolicy = Failover
RemoteServers/
1. accounting_server
LDAP RemoteServers
Create a remote server under /Radius/RemoteServers, and set its protocol to ldap-accounting. The
following is an example of an LDAP-Accounting RemoteServer’s configuration:
[ //localhost/Radius/RemoteServers/accounting_server ]
Name = accounting_server
Description =
Protocol = ldap-accounting
Port = 389
ReactivateTimerInterval = 300000
Timeout = 15
HostName =
BindName =
BindPassword =
UseSSL = FALSE
EnableKeepAlive = FALSE
DnPath~ =
EntryName~ = (uid=%s)
ObjectClass =
AttributeList =
Delimiter =
LDAPEnvironmentMultiValueDelimiter =
LimitOutstandingRequests = FALSE
MaxOutstandingRequests = 0
EscapeSpecialCharInUserName = FALSE
DNSLookupAndLDAPRebindInterval =
DataSourceConnections = 1
UseLocalTimeZone = FALSE
AttributesToWrite/
Fields Description
Name Name of the remote server; this property is mandatory and there is
no default.
Description Optional description of server.
Protocol Must be set to ldap-accounting .
ReactivateTimerInterval Mandatory time interval (in milliseconds) to activate an inactive
server; defaults to 300000 ms.
Timeout Mandatory time interval (in seconds) to wait for LADP-write
operation to complete; defaults to 15 seconds.
DataSourceConnections Mandatory number of connections to be established; defaults to 8.
EnableKeepAlive Required; default is FALSE. This is enabled to send a TCP
keepalive to keep the idle connection active.
HostName Required; the LDAP server's hostname or IP address.
Fields Description
BindName Optional; the distinguished name (dn) to use when establishing a
connection between the LDAP and RADIUS servers.
BindPassword Optional; the password associated with the BindName.
DnPath Required; the path that indicates where in the LDAP database to
start the write for user information.
EntryName Required; this specifies the write entry name
Prime Access Registrar uses when insetting the LDAP server for
user information. When you configure this property, use the
notation "%s" to indicate where the user ID should be inserted. For
example, a typical value for this property is "(uid=%s)," which
means that when insetting for information about user joe, use the
fentry name uid=joe.
UseLocalTimeZone Optional; the default is FALSE. It determines the timezone of
accounting records TimeStamp.
AttributeList List of comma-separated attribute names.
Delimiter Character used to separate the values of the attributes given in
AttributeList property.
AttributesToWrite List of inserts to be executed to insert the accounting record.
ObjectClass Required; list of object classes which are all schemas defined in
LDAP server. These schemas define required attributes and allowed
attributes for an entry which is inserted from
Prime Access Registrar.
LDAPEnvironmentMultiValueD Optional; allows you to specify a character that separates
elimiter multi-valued attribute lists when using ldap-accounting.
LimitOutstandingRequests Required; the default is FALSE. Prime Access Registrar uses this
property in conjunction with the MaxOutstandingRequests
property to tune the RADIUS server's use of the LDAP server.
When you set this property to TRUE, the number of outstanding
requests for this RemoteServer is limited to the value you specified
in MaxOutstandingRequests. When the number of requests
exceeds this number, Prime Access Registrar queues the remaining
requests, and sends them as soon as the number of outstanding
requests drops to this number.
MaxOutstandingRequests Required when you have set the LimitOutstandingRequests to
TRUE. The number you specify, which must be greater than zero,
determines the maximum number of outstanding requests allowed
for this remote server.
EscapeSpecialCharInUserName FALSE by default.
UseSSL A boolean field indicating whether you want
Prime Access Registrar to use SSL (Secure Socket Layer) when
communicating with this RemoteServer. When you set it to TRUE,
be sure to specify the CertificateDBPath field in the Advanced
section, and be sure the port you specified for this RemoteServer is
the SSL port used by the LDAP server.
AttributeList is to specify the list of attribute names separated with comma. When this 'AttributeList' is
given in the ‘AttributesToWrite’ object, these attribute values will be appended together with delimiter
specified in 'Delimiter' property and will be supplied as input to that ldap field name.
Attributes from the Prime Access Registrar environment and request dictionaries can be specified in the
‘AttributesToWrite’ object. Request dictionary will be looked up first for the attributes. Other than the
standard attributes in the Prime Access Registrar dictionaries, two new variables are supported inside the
‘AttributesToWrite’ object.
They are:
• TimeStamp—Used to insert the timestamp into LDAP server from Prime Access Registrar.
Specifying this will supply the timestamp of that accounting record as a value to the insert. Time
zone of this timestamp will be local if UseLocalTimeZone property is set to TRUE, otherwise GMT.
This functionality could also be achieved by employing a trigger on the accounting object class in
the server.
The format of the timestamp variable supplied by Prime Access Registrar is
YYYYMMDDHH24MMSS. For example, a timestamp of 20131107211050 represents 21:10:50,
November 07, 2013.
• RawAcctRecord—Used to insert the entire accounting record into the database as a single text
field. Contents of this will be whatever is sent by the NAS in the accounting packet and the format
is name=value pairs delimited with the string specified in Delimiter property. If the delimiter
property is not set, the default delimiter is a ‘,’ character. RawAcctRecord can be used with the other
variables.
If multivalued attributes are specified in the attribute list, the multiple values are concatenated together
with delimiters, and the resulting value will be passed to the insert statement. This delimiter can be
specified using the LDAPEnvironmentMultiValueDelimiter property.
Configuration Examples
This section provides common LDAP accounting configuration examples most likely to be used.
This section contains the following topics:
• Inserting Selected Attributes into Separate LDAP Field
• Inserting Complete Accounting Packets into One Field
• Inserting Selected Attributes into One Field
Use the following ObjectClass property and ‘AttribtuesToWrite’ object properties statement to insert
selected attributes into separate LDAP schema. The LDAP schema definition will have separate fields
for each attribute.
[//localhost/Radius/RemoteServers/accounting-server/AttributesToWrite ]
sn = timestamp
uid = username
Use ObjectClass and ‘AttributesToWrite’ object properties in the ldap-accounting remote server like the
following to insert the complete accounting packet into one LDAP field.
[ //localhost/Radius/RemoteServers/accounting-server/AttributeWrites ]
seealso = rawacctrecord
uid = username
To insert selected attribute values into one LDAP field delimited by a comma (,), you must configure the
AttributeList and Delimiter properties of the ldap-accounting RemoteServer object like the following:
AttributeList = User-Name,NAS-Port,Acct-Session-Id
Delimiter = ,
AttributeWrites/
telephonenumber = attributelist
uid = username
Fields Description
Name Required; inherited from the upper directory.
Description An optional description of the service.
Type Must be set to LDAP for LDAP service.
IncomingScript Optional.
OutgoingScript Optional.
OutagePolicy Required; must be set to AcceptAll, DropPacket, or RejectAll.
Default is DropPacket.
OutageScript Optional. if you set this property to the name of a script,
Prime Access Registrar runs it when an outage occurs. This
property allows you to create a script that notifies you when the
RADIUS server detects a failure.
MultipleServersPolicy Required; must be set to RoundRobin or defaults to Failover.
RemoteServers Required; list of one or more remote servers defined under
/Radius/Services/LDAP/RemoteServers. These servers must be
listed in.
MultipleServersPolicy
Use the MultipleServersPolicy property to configure the LDAP remote servers in RoundRobin mode, or
the default Failover mode applies. When set to Failover, Prime Access Registrar directs requests to the
first server in the /Radius/Services/LDAP/RemoteServers list. If that server should fail or go offline,
Prime Access Registrar redirects all requests to the next server in the list. The process continues until
Prime Access Registrar locates an online server.
When set to RoundRobin, Prime Access Registrar directs each request to the next server in the
RemoteServers list to share the resource load across all listed servers.
RemoteServers
Use the RemoteServers directory to list one or more remote servers to process access requests. The
servers must also be listed in order under /Radius/RemoteServers.
The order of the RemoteServers list determines the sequence for directing access requests when
MultipleServersPolicy is set to RoundRobin mode. The first server in the list receives all access requests
when MultipleServersPolicy is set to Failover mode.
Fields Description
Name Name of the remote server; this property is mandatory and there is
no default.
Description Optional description of server.
Protocol Must be set to ldap-accounting.
ReactivateTimerInterval Mandatory time interval (in milliseconds) to activate an inactive
server; defaults to 300000 ms.
Timeout Mandatory time interval (in seconds) to wait for LADP-write
operation to complete; defaults to 15 seconds
DataSourceConnections Mandatory number of connections to be established; defaults to 8.
EnableKeepAlive Mandatory field which is enabled to send a TCP keepalive to keep
the idle connection active; defaults to FALSE meaning the option is
disabled.
HostName Required; the LDAP server's hostname or IP address.
BindName Optional; the distinguished name (dn) to use when establishing a
connection between the LDAP and RADIUS servers.
BindPassword Optional; the password associated with the BindName.
DnPath Required; the path that indicates where in the LDAP database to
start the write for user information.
Fields Description
EntryName Required; this specifies the write entry name
Prime Access Registrar uses when insetting the LDAP server for
user information. When you configure this property, use the
notation "%s" to indicate where the user ID should be inserted. For
example, a typical value for this property is "(uid=%s)," which
means that when insetting for information about user joe, use the
fentry name uid=joe.
UseLocalTimeZone Set to TRUE or FALSE, determines the timezone of accounting
records' TimeStamp (defaults to FALSE).
AttributeList List of comma-separated attribute names.
Delimiter Character used to separate the values of the attributes given in
AttributeList property.
AttributesToWrite List of inserts to be executed to insert the accounting record.
ObjectClass Required; list of object classes which are all schemas defined in
LDAP server. These schemas define required attributes and allowed
attributes for an entry which is inserted from
Prime Access Registrar.
LDAPEnvironmentMultiValueD Optional; allows you to specify a character that separates
elimiter multi-valued attribute lists when using ldap-accounting.
LimitOutstandingRequests Required; the default is FALSE. Prime Access Registrar uses this
property in conjunction with the MaxOutstandingRequests
property to tune the RADIUS server's use of the LDAP server.
When you set this property to TRUE, the number of outstanding
requests for this RemoteServer is limited to the value you specified
in MaxOutstandingRequests. When the number of requests
exceeds this number, Prime Access Registrar queues the remaining
requests, and sends them as soon as the number of outstanding
requests drops to this number.
MaxOutstandingRequests Required when you have set the LimitOutstandingRequests to
TRUE. The number you specify, which must be greater than zero,
determines the maximum number of outstanding requests allowed
for this remote server.
EscapeSpecialCharInUserName FALSE by default.
UseSSL A boolean field indicating whether you want
Prime Access Registrar to use SSL (Secure Socket Layer) when
communicating with this RemoteServer. When you set it to TRUE,
be sure to specify the CertificateDBPath field in the Advanced
section, and be sure the port you specified for this RemoteServer is
the SSL port used by the LDAP server.
Prime Access Registrar provides a DNS Look-up and LDAP Rebind feature that enables you to use a
smart DNS server for LDAP hostname resolution, allows you to query a DNS server at set intervals to
resolve the LDAP hostname, and optionally rebind to the LDAP server, if necessary.
When you configure Prime Access Registrar to use an LDAP directory server, you can specify the
hostname of the LDAP directory server. The hostname can be a qualified or an unqualified name. You
can also specify a timeout period after which Prime Access Registrar will again resolve the hostname.
If the IP address returned is different from the previous, Prime Access Registrar establishes a new LDAP
bind connection.
The DNSLookupAndLDAPRebindInterval property specifies the timeout period after which the
Prime Access Registrar server will attempt to resolve the LDAP hostname to IP address (DNS
resolution). When you do not modify DNSLookupAndLDAPRebindInterval, the default value zero
indicates the server will perform normal connection and binding only at start-up time or during a reload.
Unless you change the default to a value greater than zero, the server will not perform periodic DNS
lookups.
Prime Access Registrar maintains and uses the existing bind connection until a new one is established
to minimize any performance impact during the transfer. Prime Access Registrar ensures that no
requests are dropped or lost during the transfer to a new LDAP binding.
Set the DNSLookupAndLDAPRebindInterval using a numerical value and the letter H for hours or M
for minutes, such as in the following examples:
set DNSLookupAndLDAPRebindInterval 15M—performs DNS resolution every 15 minutes
Note We recommend that you do not set DNSLookupAndLDAPRebindInterval to a value less than 15 minutes
to minimize its effect on server performance.
Step 1 Log into the Prime Access Registrar server, and use aregcmd to navigate to
//localhost/Radius/Remoteservers. If necessary, add the LDAP server, or change directory to it.
cd /Radius/RemoteServers/ldap-serv1/
set DNSLookupAndLDAPRebindInterval 30 M
MySQL Support
Prime Access Registrar provides support for MySQL to query user records from a MySQL database
using odbc interface and enables you to write accounting records into MySQL database using
odbc-accounting. Prime Access Registrar has been tested with MySQL 5.0.90 and MyODBC 3.51.27
(reentrant).
For the Prime Access Registrar server to use MySQL, you must create and configure an
ODBCDataSource object of type myodbc and a RemoteServer object set to protocol odbc.
Note For more information about dynamic SQL feature, see Dynamic SQL Feature, page 3-11.
Configuring MySQL
To configure the Prime Access Registrar server to query records form a MySQL database:
Step 1 Log into the Prime Access Registrar server and launch aregcmd.
Log in as a user with administrative rights such as user admin.
Step 2 Change directory to the /Radius/Advanced/ODBCDataSources and add a new ODBCDataSource.
cd /Radius/Advanced/ODBCDataSources
add mysql
cd mysql
Step 4 Set the Driver property to the path of the MyODBC library.
Step 5 Set the UserID property to a valid username for the MyODBC database and provide a valid password for
this user.
Step 6 Provide a DataBase name and the name of the Prime Access Registrar RemoteServer object to associate
with the ODBCDataSource.
Step 7 Change directory to /Radius/RemoteServers and add a RemoteServer object to associate with the new
ODBCDatasource.
cd /Radius/RemoteServers
add mysql
Step 8 Change directory to the new RemoteServer and set its protocol to odbc-accounting.
cd mysql
Step 9 Set the ODBCDataSource property to the name of the ODBCDataSource to associate with this
RemoteServer object.
Example Configuration
The following shows an example configuration for a MySQL ODBC data source.
[ //localhost/Radius/Advanced/ODBCDataSources/mysql ]
Name = mysql
Type = myodbc
Driver = /tmp/libmyodbc3_r.so
UserID = mysql
Password = <encrypted>
DataBase = test
Server = mysql-a
Port = 3306
Refer to Service Grouping Feature, page 9-14, for more information about the Prime Access Registrar
Service Grouping feature.
RemoteRADIUS/
Name = RemoteRADIUS
Description =
Protocol = radius
IPAddress = aa.bb.cc.dd
Port = 1812
ReactivateTimerInterval = 300000
SharedSecret = secret
Vendor =
IncomingScript~ =
OutgoingScript~ =
MaxTries = 3
InitialTimeout = 2000
AccountingPort = 1813
ACKAccounting = TRUE
If the ACKAccounting property is set to FALSE, Prime Access Registrar disregards the accounting
acknowledgment and continues with the packet processing rather than waiting for the accounting
acknowledgment from the Remote server.
If the ACKAccounting property is set to FALSE, Prime Access Registrar provides the SendandForget
option. You can set this option to TRUE, to delete the original and proxy requests from the buffer that
Prime Access Registrar maintains after sending an accounting response to the client.
The group service, CiscoAccounting in this example, should be defined as the default accounting service
for any accounting packets received by the local Prime Access Registrar server, as in the following:
Diameter is a networking protocol which is derived from RADIUS protocol. It is considered to be the
next generation Authentication, Authorization, and Accounting (AAA) protocol. This is the other core
protocol used in the IP Multimedia Subsystem (IMS) architecture for IMS Entities to exchange AAA
related information. Cisco Prime Access Registrar (Prime Access Registrar) supports Diameter
Applications based on the Diameter Base Protocol defined in RFC 6733.
Diameter is composed of a base protocol and a set of applications which allows it to extend its services
to new access technologies. The base protocol provides basic mechanisms for reliable transport, message
delivery, and error handling. Each application is defined by an application identifier and associated with
commands. Each command is defined with mandatory Attribute Value Pairs (AVPs) and non-mandatory
AVPs including vendor-specific AVPs.
The base protocol must be used in conjunction with a Diameter application. Each application relies on
the services of the base protocol to support a specific type of network access.
The following is the list of applications supported by Prime Access Registrar:
• Diameter Network Access Server Application (NASREQ, RFC 4005)
• Diameter Base Accounting (RFC 6733)
• Diameter Extensible Authentication Protocol (EAP) Application (RFC 4072)
This chapter contains the following sections:
• Diameter with EAP Support, page 4-2
• Diameter Server Startup Log, page 4-3
• Diameter Stack Level Messages, page 4-4
• Configuring Authentication and Authorization for Diameter, page 4-6
• Configuring the Diameter Application in Prime Access Registrar, page 4-8
• Writing Diameter Application in Prime Access Registrar, page 4-17
• Translation Framework for Diameter, page 4-21
• TLS Support for Diameter, page 4-22
• Managing Diameter Sessions, page 4-24
• Blacklisting Support for Diameter Remote Server, page 4-24
• SCTP Multihoming Support for Diameter Client and Remote Server, page 4-24
(Initiate EAP)
Diameter-EAP-Request
EAP-Payload (EAP Start)
Diameter-EAP-Answer
Result-Code=DIAMETER_MULTI_ROUND_AUTH
EAP-Payload (EAP Request #1)
EAP Request #1
361688
continues
The access device issues the EAP-Request/Identity message to the EAP client, and forwards the
EAP-Response/Identity packet, encapsulated within the EAP-Payload AVP, as a Diameter-EAP-Request
to Prime Access Registrar as shown in Figure 4-2. This reduces the number of Diameter message round
trips.
(Initiate EAP)
361689
continues
The conversation continues until the Diameter server sends a Diameter-EAP-Answer with a Result-Code
AVP indicating success or failure, and an optional EAP-Payload. The Result-Code AVP is used by the
access device to determine whether service is to be provided to the EAP client or not. The access device
must not rely on the contents of the optional EAP-Payload to determine whether service is to be provided
or not.
Watchdog Message
The Device-Watchdog-Request and Device-Watchdog-Answer messages are used to proactively detect
transport failures. Device Watchdog message time interval is configurable in Prime Access Registrar.
Disconnect Message
Disconnect messages are initiated when Diameter peers lose transport connection to
Prime Access Registrar.
AdvertisedRealm =
InitialTimeout = 1000
MaxIncomingRequestRate = 0
WatchDogTimeout = 500
SCTP-Enabled = FALSE
TLS-Enabled = FALSE
[ //localhost/Radius/Services/diaservice ]
Name = diaservice
Description =
Type = diameter
IncomingScript~ =
OutgoingScript~ =
EnableSticky = FALSE
MultiplePeersPolicy = Failover
PeerTimeOutPolicy = FailOver
DiaRemoteServers/
Entries 1 to 1 from 1 total entries
Current filter: <all>
65/
Name = 65
Metric = 2
Weight = 0
IsActive = TRUE
Note You should restart the Prime Access Registrar server if you change any Diameter specific configuration.
The following messages are logged in the trace file at the time of authenticating an invalid user:
05/14/2015 5:45:29.478: P831: Packet received from 10.81.79.81
05/14/2015 5:45:29.478: P831: Application id: 1, Cmd code: 265, Flag: 0x80
05/14/2015 5:45:29.478: P831: Using Client: vm050
05/14/2015 5:45:29.478: P831: Packet successfully added
05/14/2015 5:45:29.478: P831: Trace of Diameter Packet
05/14/2015 5:45:29.478: P831: Destination-Realm = cisco.com
05/14/2015 5:45:29.478: P831: User-Name = user.1
05/14/2015 5:45:29.478: P831: User-Password = <encrypted>
05/14/2015 5:45:29.478: P831: Auth-Request-Type = AUTHORIZE_ONLY
05/14/2015 5:45:29.479: P831: Origin-Host = ar-lnx-vm050.cisco.com
05/14/2015 5:45:29.479: P831: Session-Id = .;2096298391;3
05/14/2015 5:45:29.479: P831: Auth-Application-Id = 1
05/14/2015 5:45:29.479: P831: Origin-Realm = xyz.com
05/14/2015 5:45:29.479: P831: Tracing the packet after running the rules and policies
05/14/2015 5:45:29.479: P831: Using Client: vm050
05/14/2015 5:45:29.479: P831: FastRule Engine called for packet
05/14/2015 5:45:29.479: P831: Fastrule return = 0
05/14/2015 5:45:29.479: P831: Authorizing with Service local-users
05/14/2015 5:45:29.479: P831: Getting User user.1's UserRecord from UserList Default
05/14/2015 5:45:29.479: P831: No UserRecord found for User user.1 in UserList
Default, but none _required_ for Authorization.
05/14/2015 5:45:29.479: P831: Trace of Diameter Packet
05/14/2015 5:45:29.479: P831: User-Name = user.1
05/14/2015 5:45:29.479: P831: Result-Code = Diameter-Authentication-Rejected
05/14/2015 5:45:29.479: P831: Auth-Request-Type = AUTHORIZE_ONLY
05/14/2015 5:45:29.479: P831: Origin-Host = 10.81.79.81
05/14/2015 5:45:29.479: P831: Session-Id = .;2096298391;3
05/14/2015 5:45:29.479: P831: Auth-Application-Id = 1
05/14/2015 5:45:29.479: P831: Origin-Realm = cisco.com
05/14/2015 5:45:29.479: P831: Sending response to ar-lnx-vm050.cisco.com
05/14/2015 5:45:29.479: P831: Packet successfully removed
05/14/2015 5:45:29.480: P831: Packet Deleted
You need to set the Identity and AdvertisedHostName properties to IP Address or hostname of the
machine in which Prime Access Registrar is installed.
--> set Identity 10.77.240.69
Set Identity 10.77.240.69
--> cd AdvertisedHostName
set 1 10.77.240.69
Set the Realm in which Cisco Prime Access Registrar server is present.
--> set Realm cisco.com
Set Realm cisco.com
--> save
Validating //localhost...
Saving //localhost...
ls
[ //localhost/Radius/Advanced/Diameter/TransportManagement ]
Identity = 10.77.240.69
Realm = cisco.com
WatchdogTimeout = 500
ValidateIncomingMessages = FALSE
ValidateOutgoingMessages = TRUE
MaximumNumberofDiameterPackets = 8194
ReserveDiameterPacketPool = 0
DiameterPacketSize = 2048
AdvertisedHostName/
1. 10.77.240.69
SCTPOptions/
MaxInitRetry = 3
MaxInboundStream = 4
MaxOutboundstream = 5
EnableHeartbeat = FALSE
HeartbeatInterval = 500
Note Prime Access Registrar can only listen to one port for diameter connections. In the above configuration,
the port number is 3868. All of the diameter clients must use this port number to communicate with the
Prime Access Registrar.
--> cd General/
[ //localhost/Radius/Advanced/Diameter/General ]
Product = Cisco Prime Access Registrar
Version = 7.2.0.0
AuthApplicationIdList = 1
AcctApplicationIdList =
Set AuthApplicationIdList 4
Note In order to resolve the hostnames and get the IP addresses, the Prime Access Registrar should either be
configured with a DNS server IP, or the client's hostnames and IP addresses should be included in the
/etc/hosts file.
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 Prime Access Registrar localhost.localdomain localhost
172.16.29.7 GGSN-Gy
::1 localhost6.localdomain6 localhost6
Added dia-proxy
--> cd dia-proxy
[ //localhost/Radius/Services/dia-proxy ]
Name = dia-proxy
Description =
Type =
--> ls
[ //localhost/Radius/Services/dia-proxy ]
Name = dia-proxy
Description =
Type = diameter
IncomingScript~ =
OutgoingScript~ =
EnableSticky = TRUE
StickySessionKey =
StickyCreationCmdList =
StickyDeletionCmdList =
MultiplePeersPolicy = Failover
PeerTimeOutPolicy = FailOver
DiaRemoteServers/
--> ls
[ //localhost/Radius/Services/dia-proxy ]
Name = dia-proxy
Description =
Type = diameter
IncomingScript~ =
OutgoingScript~ =
EnableSticky = TRUE
StickySessionKey = Session-Id#1
StickyCreationCmdList = 265
StickyDeletionCmdList = 275
MultiplePeersPolicy = RoundRobin
PeerTimeOutPolicy = FailOver
DiaRemoteServers/
Step 3 Add the peers to which Prime Access Registrar needs to load balance the diameter messages.
[ //localhost/Radius/RemoteServers/dia1 ]
Name = dia1
Description =
Protocol = diameter
HostName = 192.168.30.88
Port = 3868
DestinationRealm =
ReactivateTimerInterval = 300000
Vendor =
IncomingScript~ =
OutgoingScript~ =
MaxTries = 3
MaxTPSLimit = 0
MaxSessionLimit = 0
InitialTimeout = 2000
LimitOutstandingRequests = FALSE
MaxPendingPackets = 0
MaxOutstandingRequests = 0
DWatchDogTimeout = 2500
SCTP-Enabled = FALSE
TLS-Enabled = FALSE
AdvertiseHostName =
AdvertiseRealm =
[ //localhost/Radius/RemoteServers/dia2 ]
Name = dia2
Description =
Protocol = diameter
HostName =
Port = 0
DestinationRealm =
ReactivateTimerInterval = 300000
Vendor =
IncomingScript~ =
OutgoingScript~ =
MaxTries = 3
MaxTPSLimit = 0
MaxSessionLimit = 0
InitialTimeout = 2000
LimitOutstandingRequests = FALSE
MaxPendingPackets = 0
MaxOutstandingRequests = 0
DWatchDogTimeout = 2500
SCTP-Enabled = FALSE
TLS-Enabled = FALSE
AdvertiseHostName =
AdvertiseRealm =
--> cd diaRemoteServers/
[ //localhost/Radius/Services/dia-proxy/DiaRemoteServers ]
Entries 0 to 0 from 0 total entries
Current filter: <all>
Added dia1
--> cd dia1/
[ //localhost/Radius/Services/dia-proxy/DiaRemoteServers/dia1 ]
Name = dia1
Metric = 2
Weight = 0
IsActive = TRUE
--> cd ..
[ //localhost/Radius/Services/dia-proxy/DiaRemoteServers ]
Entries 1 to 1 from 1 total entries
Current filter: <all>
dia1/
Added dia2
--> cd dia2
[ //localhost/Radius/Services/dia-proxy/DiaRemoteServers/dia2 ]
Name = dia2
Metric = 3
Weight = 0
IsActive = TRUE
--> save
Validating //localhost...
Saving //localhost...
--> exit
Logging out of localhost...
The following illustrates the diameter proxy service configuration which load balances the diameter
messages to the remote peers.
[ /Radius/Services/dia-proxy ]
Name = dia-proxy
Description =
Type = diameter
IncomingScript~ =
OutgoingScript~ =
EnableSticky = TRUE
StickySessionKey = Session-Id#1
StickyCreationCmdList = 265
StickyDeletionCmdList = 275
MultiplePeersPolicy = RoundRobin
PeerTimeOutPolicy = FailOver
DiaRemoteServers/
Entries 1 to 2 from 2 total entries
Current filter: <all>
dia1/
Name = dia1
Metric = 2
Weight = 0
IsActive = TRUE
dia2/
Name = dia2
Metric = 3
Weight = 0
IsActive = TRUE
b. If the load-balancing logic is configured to be failover, the traffic is directed towards first
priority remote server. When Prime Access Registrar loses connectivity with the first priority
remote server, it directs the subsequent traffic towards the second priority remote server. The
priority of the Diameter remote servers, in case of failover logic, is set with the help of metrics.
For more information about Diameter server group parameters, see GroupServers, page 2-22.
Following is a sample configuration of the Diameter group server:
[ //localhost/Radius/GroupServers ]
Entries 1 to 2 from 2 total entries
Current filter: <all>
Group1/
Name = Group1
Description =
MultiplePeersPolicy = RoundRobin/Failover
PeerTimeOutPolicy = FailOver/SendError/DropPacket
DiaRemoteServers/
Entries 1 to 2 from 2 total entries
Current filter: <all>
vm023/
Name = vm023
Metric = 1
Weight = 0
IsActive = TRUE
vm045/
Name = vm045
Metric = 2
Weight = 0
IsActive = TRUE
Group2/
Name = Group2
Description =
MultiplePeersPolicy = Failover/RoundRobin
PeerTimeOutPolicy = FailOver/SendError/DropPacket
DiaRemoteServers/
Entries 1 to 2 from 2 total entries
Current filter: <all>
vm052/
Name = vm052
Metric = 1
Weight = 0
IsActive = TRUE
vm062/
Name = vm062
Metric = 2
Weight = 0
IsActive = TRUE
[ //localhost/Radius/Services/diapro ]
Name = diapro
Description =
Type = diameter
IncomingScript~ =
OutgoingScript~ =
MultiplePeersPolicy = GroupFailover(/Failover/RoundRobin/ImsiRangebased)
ServerGroups/
Entries 1 to 2 from 2 total entries
Current filter: <all>
Group1/
Name = Group1
Metric = 1
IsActive = TRUE
Group2/
Name = Group2
Metric = 2
IsActive = TRUE
Step 2 Write a rex script (C/C++) and add it in the scripting point or rex service.
[ //localhost/Radius/Services/diaservice ]
Name = diaservice
Description =
Type = rex
IncomingScript~ =
OutgoingScript~ =
OutagePolicy~ = RejectAll
OutageScript~ =
Filename = librexscript.so
EntryPoint = DiaService
InitEntryPoint =
InitEntryPointArgs =
Scripting in Diameter
Prime Access Registrar supports 'rex' scripts for Diameter protocol. The script can be configured only
as the server incoming script. The commands available for scripting are restricted to 'get' and 'put' on the
dictionaries. While setting a value to an attribute, the following convention needs to be followed "<type
number>,<value>". For example, if a 'Class' attribute needs to be added to the response dictionary with
value as "classvalue", then set it as follows in the script:
pResponse->put( pResponse, "Class", "1,classvalue", REX_REPLACE );
The following is the list of supported scripting types with the respective type numbers:
AVP_STRING_TYPE = 1
AVP_ADDRESS_TYPE = 2
AVP_INTEGER32_TYPE = 3
AVP_UINTEGER32_TYPE = 4
AVP_UTF8_STRING_TYPE = 6
AVP_ENUM_TYPE = 7
AVP_TIME_TYPE = 11
Setting response attributes via a script is the only mechanism to add authorization attributes for Diameter
requests.
Variable Description
Request-Type String value.
Response-Type Get/Set the request and response type for diameter packet.
Sample Values
Diameter-Access-Request
Diameter-Access-Accept
Diameter-Access-Reject
Diameter-Accounting-Request
Diameter-Accounting-Response
Diameter-Proxy-Request
Diameter-Proxy-Answer
Diameter-Applicat String value.
ion-Id
Get the application id for the packet. For setting in response, need to use
Auth-Application-id AVPs.
Sample Values
1 ( NASREQ)
Diameter-Comma String value.
nd-Code
Get command code for the diameter packet. It will work only for the
access-request packet, not for the accounting request.
Sample Values
265 ( AA-Request )
*/
if( (strcmp( pszRequestType, "Diameter-Access-Request") == 0) && (strcmp(
pszAppId,"1") ==0 ) && (strcmp( pszCmdCode,"265\
" )== 0 ) )
{
// our application
// example how to get DiaAttrib from the packet.
const char* pszSessionId = pRequest ->get( pRequest,"Session-Id",0,0 );
// print in trace
if( pszSessionId )
pEnviron->trace( pEnviron, 5, "Diameter Session Id: %s", pszSessionId );
// example: how to add dia attrib in response packet
pResponse->put( pResponse, "Calling-Station-Id", "1,00-01-02-03-05", REX_APPEND );
pEnviron->put( pEnviron, "Response-Type", "Diameter-Access-Accept");
iRetVal = REX_OK;
}
return iRetVal;
}
Traces/Logs
05/14/2015 6:11:05.796: P79: Packet received from 10.81.79.81
05/14/2015 6:11:05.796: P79: Application id: 1, Cmd code: 265, Flag: 0x80
05/14/2015 6:11:05.796: P79: Using Client: vm050
05/14/2015 6:11:05.796: P79: Packet successfully added
05/14/2015 6:11:05.796: P79: Trace of Diameter Packet
05/14/2015 6:11:05.796: P79: Destination-Realm = cisco.com
05/14/2015 6:11:05.796: P79: User-Name = bob
05/14/2015 6:11:05.796: P79: User-Password = <encrypted>
05/14/2015 6:11:05.796: P79: Auth-Request-Type = AUTHORIZE_ONLY
05/14/2015 6:11:05.796: P79: Origin-Host = ar-lnx-vm050.cisco.com
05/14/2015 6:11:05.796: P79: Session-Id = .;2096298391;2
05/14/2015 6:11:05.796: P79: Auth-Application-Id = 1
05/14/2015 6:11:05.796: P79: Origin-Realm = xyz.com
05/14/2015 6:11:05.796: P79: Tracing the packet after running the rules and policies
05/14/2015 6:11:05.796: P79: Using Client: vm050
05/14/2015 6:11:05.796: P79: FastRule Engine called for packet
05/14/2015 6:11:05.796: P79: Fastrule return = 0
05/14/2015 6:11:05.796: P79: Authorizing with Service DiaService
05/14/2015 6:11:05.796: P79: Rex: environ->get( "Request-Type" ) ->
"Diameter-Access-Request"
05/14/2015 6:11:05.797: P79: Rex: environ->get( "Diameter-Application-Id" ) ->
"1"
05/14/2015 6:11:05.797: P79: Rex: environ->get( "Diameter-Command-Code" ) ->
"265"
05/14/2015 6:11:05.797: P79: Rex: request->get( "Session-Id", 0 ) ->
".;2096298391;2"
05/14/2015 6:11:05.797: P79: Diameter Session Id: .;2096298391;2
05/14/2015 6:11:05.797: P79: Rex: response->put( "Calling-Station-Id",
"1,00-01-02-03-05", 0 ) -> TRUE
05/14/2015 6:11:05.797: P79: Rex: environ->put( "Response-Type",
"Diameter-Access-Accept" ) -> TRUE
05/14/2015 6:11:05.797: P79: Trace of Diameter Packet
05/14/2015 6:11:05.797: P79: User-Name = bob
05/14/2015 6:11:05.797: P79: Result-Code = Diameter-Success
05/14/2015 6:11:05.797: P79: Auth-Request-Type = AUTHORIZE_ONLY
05/14/2015 6:11:05.797: P79: Origin-Host = 10.81.79.81
05/14/2015 6:11:05.797: P79: Session-Id = .;2096298391;2
05/14/2015 6:11:05.797: P79: Calling-Station-Id = 1,00-01-02-03-05
05/14/2015 6:11:05.797: P79: Auth-Application-Id = 1
05/14/2015 6:11:05.797: P79: Origin-Realm = cisco.com
05/14/2015 6:11:05.797: P79: Sending response to ar-lnx-vm050.cisco.com
Radius-Access-Request = AA
AVPMappings/
NAS-Identifier = Origin-Host
User-Name = User-Name
AVPsToBeAdded/
Origin-Realm = cisco.com
EnvironmentMappings/
ResponseMapping/
ResultCodeMappings/
Diameter-Success = Radius-Access-Accept
Diameter-Unable-To-Deliver = Radius-Access-Reject
AVPMappings/
AVPsToBeAdded/
EnvironmentMappings/
HostName = ar-lnx-vm031.cisco.com
PeerPort = 3868
Vendor =
IncomingScript~ =
OutgoingScript~ =
AdvertisedHostName =
AdvertisedRealm =
MaxIncomingRequestRate = 0
WatchDogTimeout = 500
SCTP-Enabled = FALSE
TLS-Enabled = TRUE
TLSOptions/
PrivateKeyPassword = cisco
ServerCertificateFile = /opt/CSCOar/pki/cert.pem
ServerKeyFile = /opt/CSCOar/pki/key.pem
CACertificateFile = /opt/CSCOar/pki/root-cert.pem
CACertificatePath =
PeerVerificationMode = None/Optional/RequireCertificate
VerificationDepth = 4
EnableAutoChaining = True
Following is the CLI configuration of a Diameter remote server with TLS support:
[ /Radius/RemoteServers/vm58 ]
Name = vm58
Description =
Protocol = diameter
HostName = ar-lnx-vm058.cisco.com
Port = 4322
DestinationRealm = cisco.com
ReactivateTimerInterval = 300000
Vendor =
IncomingScript~ =
OutgoingScript~ =
MaxTries = 3
InitialTimeout = 2000
LimitOutstandingRequests = FALSE
MaxPendingPackets = 0
MaxOutstandingRequests = 0
DWatchDogTimeout = 2500
SCTP-Enabled = FALSE
TLS-Enabled = TRUE
AdvertiseHostName =
AdvertiseRealm =
TLSOptions/
PrivateKeyPassword = cisco
ServerCertificateFile = /opt/CSCOar/pki/cert.pem
ServerKeyFile = /opt/CSCOar/pki/key.pem
CACertificateFile = /opt/CSCOar/pki/root-cert.pem
CACertificatePath =
PeerVerificationMode = None/Optional/RequireCertificate
VerificationDepth = 4
EnableAutoChaining = True
For descriptions of the TLS options, see the Network Resources, page 2-113 section of Chapter 2,
“Using the Graphical User Interface.”
Note When you use Prime Access Registrar with CentOS, ensure that you configure the Diameter SCTP client
and remote servers with different source ports in Prime Access Registrar.
The following shows an example configuration of Diameter remote server with multiple source and
destination addresses:
[ //localhost/Radius/RemoteServers/Diameter-SCTP-Remote-Server ]
Name = Diameter-SCTP-Remote-Server
Description =
Protocol = diameter
HostName = 10.197.66.73
DestinationPort = 3868
DestinationRealm = cisco.com
ReactivateTimerInterval = 2000
Vendor =
IncomingScript~ =
OutgoingScript~ =
MaxTries = 1
MaxTPSLimit = 0
MaxSessionLimit = 0
InitialTimeout = 1500
LimitOutstandingRequests = FALSE
MaxPendingPackets = 0
MaxOutstandingRequests = 0
DWatchDogTimeout = 2000
SCTP-Enabled = TRUE
TLS-Enabled = FALSE
AdvertiseHostName =
AdvertiseRealm =
SCTPParameters/
SourcePort = 3868
RTOInitial = 300
RTOMin = 200
RTOMax = 300
MaxInitRetransmits = 8
AssociationMaxRetrans = 10
PathMaxRetrans = 10
RTOCookieLife = 60000
HBInterval = 50
SACKTimeout = 400
InitNumOstreams = 65535
InitMaxInstreams = 65535
SCTPAdvertisedHostName/
Local/
1. 10.197.66.80
2. 10.197.66.146
Remote/
1. 10.197.66.73
2. 10.197.66.144
The following shows an example configuration of Diameter client with multiple source and destination
addresses:
[ //localhost/Radius/Clients/Diameter-SCTP-Client ]
Name = Diameter-SCTP-Client
Description =
Protocol = diameter
HostName = 10.197.66.72
PeerPort = 3868
Vendor =
IncomingScript~ =
OutgoingScript~ =
AdvertisedHostName =
UserLogEnabled = FALSE
AdvertisedRealm =
InitialTimeout = 1000
MaxIncomingRequestRate = 0
KeepAliveTime = 0
SCTP-Enabled = TRUE
TLS-Enabled = FALSE
SCTPParameters/
SourcePort = 3868
RTOInitial = 100
RTOMin = 100
RTOMax = 100
MaxInitRetransmits = 8
AssociationMaxRetrans = 10
PathMaxRetrans = 5
RTOCookieLife = 60000
HBInterval = 50
SACKTimeout = 200
InitNumOstreams = 65535
InitMaxInstreams = 65535
SCTPAdvertisedHostName/
Local/
1. 10.197.66.146
2. 10.197.66.80
Remote/
1. 10.197.66.72
2. 10.197.66.145
For details of the SCTP parameters, see SCTPParameters Section, page 2-115.
Cisco Prime Access Registrar (Prime Access Registrar) supports the Extensible Authentication Protocol
(EAP) to provide a common protocol for differing authentication mechanisms. EAP enables the dynamic
selection of the authentication mechanism at authentication time based on information transmitted in the
Access-Request. (This type of EAP authentication mechanism is called an authentication exchange.)
Extensible Authentication Protocols (EAP) provide for support of multiple authentication methods.
Cisco Prime Access Registrar supports the following EAP authentication methods:
• EAP-AKA
• EAP-AKA-Prime (EAP-AKA’), page 5-6
• EAP-FAST
• EAP-GTC
• EAP-LEAP
• EAP-MD5
• EAP-Negotiate
• EAP-MSChapV2
• EAP-SIM
• EAP-Transport Level Security (TLS)
• EAP-TTLS
• Protected EAP
– PEAP Version 0 (Microsoft PEAP)
– PEAP Version 1 (Cisco PEAP)
In general, you enable each EAP method by creating and configuring a service of the desired type. Use
the radclient test tool to confirm that the EAP service has been properly configured and is operational.
Both versions of Protected EAP (PEAP) are able to use other EAP methods as the authentication
mechanism that is protected by PEAP encryption. For PEAP Version 0, the supported authentication
methods are EAP-MSChapV2, EAP-SIM, EAP-TLS and EAP-Negotiate. For PEAP Version 1, the
supported authentication methods are EAP-GTC, EAP-SIM, EAP-TLS and EAP-Negotiate.
The PEAP protocol consists of two phases: an authentication handshake phase and a tunnel phase where
another complete EAP authentication exchange takes place protected by the session keys negotiated by
phase one. Cisco Prime Access Registrar supports the tunneling of other EAP methods within the PEAP
phase two exchange.
Prime Access Registrar supports rolling encryption, which involves generating rolling pseudonym
secrets for EAP-SIM, EAP-AKA, and EAP-AKA’ services. For more details, see Rolling Encryption
Support for Pseudonym Generation in EAP-SIM, EAP-AKA, and EAP-AKA’ Services, page 5-61.
Prime Access Registrar also supports decryption of encrypted IMSI from the incoming EAP response.
For more details, see Support for Decrypting Encrypted-IMSI for EAP-SIM, EAP-AKA, and EAP-AKA’
Services, page 5-64.
EAP-AKA
Authentication and Key Agreement (AKA) is an EAP mechanism for authentication and session key
distribution. It is used in the 3rd generation mobile networks Universal Mobile Telecommunications
System (UMTS) and CDMA2000. AKA is based on symmetric keys, and typically runs in a UMTS
Subscriber Identity Module (USIM), or a (Removable) User Identity Module ((R) UIM), similar to a
smart card. EAP-AKA (Extensible Authentication Protocol Method for UMTS Authentication and Key
Agreement) includes optional identity privacy support, optional result indications, and an optional fast
reauthentication procedure.
In support of EAP-AKA, the following features are supported:
• support of MAP protocol over SIGTRAN
• support of HLR and/or HSS (3GPP compliant)
• Wx interface
• Support M3UA-SIGTRAN over IP
For more information on Wx Interface Support, see the Wx Interface Support for SubscriberDB Lookup,
page 9-49.
Prime Access Registrar server supports migration to a converged IP Next Generation Networks (IP
NGN) by supporting SS7 and SIGTRAN (SS7 over IP) for HLR communication to enable the seamlessly
transition to next-generation IP-based signaling networks.
Prime Access Registrar supports M3UA-SIGTRAN to fetch the authentication vectors from HLR for
EAP-AKA authentication, See SIGTRAN-M3UA for more information.
EAP-AKA is based on rfc-4187 (http://www.ietf.org/rfc/rfc4187.txt). This document specifies the
details of the algorithms and messages.
This section contains the following topics:
• Configuring EAP-AKA, page 5-2
• Testing EAP-AKA with radclient, page 5-6
Configuring EAP-AKA
You can use aregcmd to create and configure a service of type eap-aka.
Table 5-1 lists and describes the EAP-AKA service properties.
Property Description
AlwaysRequestIdentity When True, enables the server to obtain the subscriber's identity via
EAP/AKA messages instead of relying on the EAP messages alone.
This might be useful in cases where intermediate software layers can
modify the identity field of the EAP-Response/Identity message. The
default value is False.
EnableIdentityPrivacy When True, the identity privacy feature is enabled. The default value is
False.
PseudonymSecret The secret string that is used as the basis for protecting identities when
identity privacy is enabled. This should be at least 16 characters long
and have a value that is impossible for an outsider to guess. The default
value is secret. This field is not available if the EnableRollingPseud-
onymSecret field is checked.
Note It is very important to change PseudonymSecret from its default
value to a more secure value when identity privacy is enabled
for the first time.
PseudonymRenewtime Specifies the maximum age a pseudonym can have before it is renewed.
When the server receives a valid pseudonym that is older than this, it
generates a new pseudonym for that subscriber. The value is specified
as a string consisting of pairs of numbers and units, where the units
might be of the following: M, Minute, Minutes, H, Hour, Hours, D, Day,
Days, W, Week, Weeks. The default value is "24 Hours".
Examples are: "8 Hours", "10 Hours 30 Minutes", "5 D 6 H 10 M"
PseudonymLifetime Specifies the maximum age a pseudonym can have before it is rejected
by the server, forcing the subscriber to authenticate using it's permanent
identity. The value is specified as a string consisting of pairs of numbers
and units, where the units might be one of the following: M, Minute,
Minutes, H, Hour, Hours, D, Day, Days, W, Week, Weeks. It can also
be Forever, in which case, pseudonyms do not have a maximum age.
The default value is "Forever".
Examples are: "Forever", "3 Days 12 Hours 15 Minutes", "52 Weeks"
NotificationService (Optional); Notification service is an authorization service and is used
to send a notification code to the client in case of an authorization
failure. For more information about the Notification-Code variable, see
This is applicable for RADIIUS and Diameter and can be any of the
services configured under /radius/services/ except eap services,
accounting services, radius-session, radius-query, and diameter.
EnableReauthentication When True, the fast reauthentication option is enabled. The default
value is False.
UseOutagePolicyforReauth Default value is FALSE. When set to TRUE, Prime Access Registrar
drops or rejects reauthentication requests as per outage policy when the
remote server is down. This can be processed only when there is at least
one failed full authentication before proceeding with reauthentication.
MaximumReauthentica- Specifies the maximum number of times a reauthentication identity
tions might be reused before it must be renewed. The default value is 16.
Property Description
ReauthenticationTimeout Specifies the time in seconds that reauthentication identities are cached
by the server. Subscribers that attempt to reauthenticate using identities
that are older than this value will be forced to use full authentication
instead. The default value is 3600 (one hour).
ReauthenticationRealm Optional. If you configure the realm, this value is appended to the Fas-
tReauthenticationUserId.
AuthenticationTimeout Time in seconds to wait for authentication to complete. The default is 2
minutes; range is 10 seconds to 10 minutes.
QuintetGenerationScript~ Optional. If the script is set, the custom scripting point can be used to
read the quintets from a flat file or generate quintets instead of fetching
the quintets from HLR.If the script is not set, the
Prime Access Registrar sends the request to HLR configured in remote
server to fetch the quintets.
UseProtectedResults Enables or disables the use of protected results messages. Results
messages indicate the state of the authentication but are cryptographi-
cally protected.
Subscriber_DBLookup Required. Must be set to either DIAMETER or SIGTRAN-M3UA.
When set to DIAMETER, the HSS lookup happens using the Diameter
Wx Interface. You need to configure the DestinationRealm to send the
Diameter packets to the RemoteServer.
When set to SIGTRAN-M3UA, the HLR/HSS lookup happens using
the SIGTRAN protocol. You need to configure the SIGTRAN remote
server.
FetchAuthorizationInfo Required. When set True, it fetches MSISDN from HLR.
Property Description
Number Of Quintets Configured number of authentication vectors from HLR.
SendReAuthIDInAccept Optional; the value is set to False by default. When set to True, Prime
Access Registrar sends SN-Fast-ReAuth-UserName (Starent VSA) in
access-accept message.
QuintetCacheTimeout Required for eap-aka or eap-aka’ service; time in seconds an entry
remains in the quintet cache. A zero (0) indicates that quintets are not
cached. The maximum is 28 days; the default is 0 (no caching).
cd /Radius/Services
add eap-aka-service
Step 2 Change directory to the service and set its type to eap-aka.
cd eap-aka-service
The following example shows the default configuration for an EAP-AKA service:
[ //localhost/Radius/Services/test ]
Name = test
Description =
Type = eap-aka
AlwaysRequestIdentity = False
EnableIdentityPrivacy = False
EnableRollingPseudonymSecret = false
PseudonymSecret = <encrypted>
PseudonymRenewtime = "24 Hours"
PseudonymLifetime = Forever
NotificationService = local-users
Generate3GPPCompliantPseudonym = False
UseOutagePolicyForReauth = False
EnableReauthentication = False
MaximumReauthentications = 16
ReauthenticationTimeout = 3600
ReauthenticationRealm =
AuthenticationTimeout = 120
QuintetGenerationScript~ =
UseProtectedResults = False
SendReAuthIDInAccept = False
SubscriberDBLookup = SIGTRAN-M3UA
FetchAuthorizationInfo = FALSE
MultipleServersPolicy = Failover
IncomingScript~ =
OutgoingScript~ =
OutageScript~ =
RemoteServers/
The following example shows the default configuration for an EAP-AKA Wx service:
[ //localhost/Radius/Services/eap-aka-wx ]
Name = eap-aka-wx
Description =
Type = eap-aka
AlwaysRequestIdentity = False
EnableIdentityPrivacy = False
PseudonymSecret = <encrypted>
PseudonymRenewtime = "24 Hours"
PseudonymLifetime = Forever
Generate3GPPCompliantPseudonym = False
EnableReauthentication = False
MaximumReauthentications = 16
ReauthenticationTimeout = 3600
ReauthenticationRealm =
AuthenticationTimeout = 120
QuintetGenerationScript~ =
UseProtectedResults = False
SendReAuthIDInAccept = False
SubscriberDBLookup = Diameter
DestinationRealm = mpc.com
PreRequestTranslationScript~ =
PostRequestTranslationScript~ =
PreResponseTranslationScript~ =
PostResponseTranslationScript~ =
To test from radclient, you have to configure /cisco-ar/conf/imsi.conf file on radius server and reload
the server. This file content should have imsi users in the format below:
<username>:<secret>:<sequence number>
For example:
bob:bob:1
EAP-AKA-Prime (EAP-AKA’)
EAP-AKA-Prime (EAP-AKA') is a new EAP authentication method, with a small revision to the existing
EAP-AKA method. EAP- AKA' has a new key derivation function, which binds the keys derived within
the method to the name of the access network. This limits the effects of compromised access network
nodes and keys.
EAP- AKA' is similar to EAP-AKA in all aspects except the following:
Configuring EAP-AKA’
You can use aregcmd to create and configure a service of type eap-aka-prime. EAP-AKA' service has
the following attribute in addition to the service properties listed in Table 5-1.
Property Description
NetworkName Required. Name of the access network for which the authentication is
performed. This attribute is captured to ensure that the peer and the
server know the name of the access network for performing the EAP au-
thentication.
cd /Radius/Services
add eap-aka-prime-service
Step 2 Change directory to the service and set its type to eap-aka-prime.
cd eap-aka-prime-service
The following example shows the default configuration for an EAP-AKA’ service:
//localhost/Radius/Services/eap-aka-prime ]
Name = eap-aka-prime
Description =
Type = eap-aka-prime
AlwaysRequestIdentity = False
EnableIdentityPrivacy = FALSE
EnableRollingPseudonymSecret = false
PseudonymSecret = <encrypted>
PseudonymRenewtime = "24 Hours"
PseudonymLifetime = Forever
NotificationService = local-users
Generate3GPPCompliantPseudonym = False
EnableReauthentication = FALSE
UseOutagePolicyForReauth = False
MaximumReauthentications = 16
ReauthenticationTimeout = 3600
ReauthenticationRealm =
NetworkName = WAN
AuthenticationTimeout = 120
QuintetGenerationScript~ = aka
UseProtectedResults = TRUE
SendReAuthIDInAccept = False
Subscriber_DBLookup = sigtran
MultipleServersPolicy = Failover
IncomingScript~ =
OutgoingScript~ =
OutageScript~ =
RemoteServers/
1. sigtran
To test from radclient, you have to configure /cisco-ar/conf/imsi.conf file on radius server and reload
the server. This file content should have imsi users in the format below:
<username>:<secret>:<sequence number>
For example:
bob:bob:1
EAP-FAST
Cisco Prime Access Registrar supports the EAP-FAST authentication method. EAP-FAST uses the
EAP-MSChapV2 method for credential provisioning and EAP-GTC for authentication. Credential
provisioning typically occurs only during the client’s initial EAP-FAST authentication. Subsequent
authentications rely on the provisioned credential and will usually omit the provisioning step.
EAP-FAST is an authentication protocol designed to address the performance shortcomings of prior
TLS-based EAP methods while retaining features such as identity privacy and support for
password-based protocols. The EAP-FAST protocol is described by the IETF draft
draft-cam-winget-eap-fast-00.txt.
The EAP-FAST credential is known as a Protected Access Credential (PAC) and contains information
used to secure the authentication operations. Parts of the PAC are encrypted by the server and are not
visible to other entities. Clients are expected to securely store PACs locally for use during authentication.
Configuring EAP-FAST involves creating and configuring the required EAP-MSChapV2 and EAP-GTC
services as well as the EAP-FAST service with the appropriate parameters.
You can use the radclient test tool to confirm that the EAP services are properly configured and
operational.
This section contains the following topics:
• Configuring EAP-FAST
• EAP-FAST Keystores
• Testing EAP-FAST with radclient
• Parameters Used for Certificate-Based Authentication
• PAC—Credential Export Utility
Configuring EAP-FAST
You can use aregcmd to create and configure a service of type eap-fast.
To enable EAP-FAST:
cd /Radius/Services
add eap-fast-service
Step 2 Change directory to the service and set its type to eap-fast.
cd eap-fast-service
The follow example shows the default configuration for an EAP-FAST service:
[ //localhost/Radius/Services/eap-fast-service ]
Name = eap-fast-service
Description =
Type = eap-fast
IncomingScript~ =
OutgoingScript~ =
MaximumMessageSize = 1024
PrivateKeyPassword = <encrypted>
ServerCertificateFile = /opt/CSCOar/pki/server-cert.pem
ServerKeyFile = /opt/CSCOar/pki/server-key.pem
CACertificateFile = /opt/CSCOar/pki/root-cert.pem
CACertificatePath = /opt/CSCOar/pki
CRLDistributionURL =
ClientVerificationMode = Optional
VerificationDepth = 4
EnableSessionCache = true
UseECCCertificates = true
SessionTimeout = "5 Minutes"
AuthenticationTimeout = 120
Property Description
IncomingScript Optional script Prime Access Registrar server runs when it receives a
request from a client for EAP-FAST service.
OutgoingScript Optional script Prime Access Registrar server runs before it sends a
response to a client using EAP-FAST.
AuthorityIdentifier A string that uniquely identifies the credential (PAC) issuer. The client
uses this value to select the correct PAC to use with a particular server
from the set of PACs it might have stored locally.
Ensure that the AuthorityIdentifier is globally unique and that it does
not conflict with identifiers used by other EAP-FAST servers or PAC
issuers.
AuthorityInformation A string that provides a descriptive text for this credential issuer. The
value can be displayed to the client for identification purposes and
might contain the enterprise or server names.
MaximumMessageSize Indicates the maximum length in bytes that a PEAP or EAP-TLS
message can have before it is fragmented.
PrivateKeyPassword The password used to protect the server’s private key.
ServerCertificateFile The full pathname of the file containing the server’s certificate or
certificate chain used during the TLS exchange. The pathname can be
optionally prefixed with a special string that indicates the type of
encoding used for the certificate. The two valid encoding prefixes are
PEM and DER. If an encoding prefix is not present, the file is assumed
to be in PEM format.
Property Description
ServerKeyFile The full pathname of the file containing the server’s RSA or ECC
private key. The pathname can be optionally prefixed with a special
string that indicates the type of encoding used for the certificate. The
two valid encoding prefixes are “PEM” and “DER”. If an encoding
prefix is not present, the file is assumed to be in PEM format.
The following example assumes that the subdirectory pki under
/cisco-ar contains the server’s certificate file. The file server-key.pem
is assumed to be in PEM format. The file extension .pem is not
significant.
Property Description
ClientVerificationMode Specifies the type of verification used for client certificates. Must be set
to one of RequireCertificate, None, or Optional.
• RequireCertificate causes the server to request a client certificate
and authentication fails if the client refuses to provide one.
• None will not request a client certificate.
• Optional causes the server to request a client certificate but the
client is allowed to refuse to provide one.
VerificationDepth Specifies the maximum length of the certificate chain used for client
verification.
UseECCCertificates Determines the applicability of the authentication mechanism in
SmartGrid Solutions, see the Smart Grid Solution Management,
page 9-51 for more information.
When UseECCCertificates is set to True, it can use the ECC, RSA, or
combination of both certificate for certificate based verification.
When UseECCCertificates is set to False, it can only use the RSA
certificate for certificate based verification. The default location to
fetch the certificate file is /cisco-ar/pki.
EnableSessionCache Specifies whether TLS session caching (fast reconnect) is enabled or
not. Set to True to enable session caching; otherwise set to False.
SessionTimeout If TLS session caching (fast reconnect) is enabled, SessionTimeout
specifies the maximum lifetime of a TLS session. Expired sessions are
removed from the cache and will require a subsequent full
authentication.
SessionTimeout is specified as a string consisting of pairs of numbers
and units, where units might be one of the following: M, Minute,
Minutes, H, Hour, Hours, D, Day, Days, W, Week, Weeks, as in the
following:
Set SessionTimeout “1 Hour 45 Minutes”
AuthenticationTimeout Mandatory; specifies time (in seconds) to wait before an authentication
request times out; defaults to 120.
CredentialLifetime Specifies the maximum lifetime of a Protected Access Credential
(PAC). Clients that successfully authenticate with an expired PAC will
be reprovisioned with a new PAC.
CredentialLifetime is specified as a string consisting of pairs of
numbers and units, where units might be one of the following: M,
Minute, Minutes, H, Hour, Hours, D, Day, Days, W, Week, Weeks.
Credentials that never expire should be specified as Forever.
AuthenticationService Specifies the name of the EAP-GTC service is used for authentication.
The named service must have the UseLabels parameter set to True.
ProvisionMode Specifies the TLS mode used for provisioning. Clients only support the
default Anonymous mode.
Property Description
ProvisionService Specifies the name of the EAP-MSChapV2 service used for
provisioning.
AlwaysAuthenticate Indicates whether provisioning should always automatically rollover
into authentication without relying on a separate session. Most
environments, particularly wireless, will perform better when this
parameter is set to True, the default value.
Note Prime Access Registrar verifies the certificate during the TLS-based authentication. CRL validation is
done before accepting a client certificate during the TLS authentication.
EAP-FAST Keystores
The EAP-FAST service manages a set of keys used to protect the security and integrity of the PACs it
issues. The keys are stored in/Radius/Advanced/KeyStores/EAP-FAST and are maintained
automatically requiring minimal administration. Administrators can specify the maximum number of
keys that are stored and the frequency of key updates.
The following is the default KeyStores settings:
[ //localhost/Radius/Advanced/KeyStores/EAP-FAST ]
NumberOfKeys = 256
RolloverPeriod = "1 Week"
Property Description
NumberOfKeys Number (from 1-1024) that specifies the maximum number of keys stored for
EAP-FAST.
RolloverPeriod Specifies the amount of time between key updates.
cd /cisco-ar/usrbin
./radclient –s
tunnel eap-mschapv2
tunnel eap-gtc
The simple_eap_fast_test command passes its arguments to the inner authentication mechanism which
in turn treats the arguments as a username and a password. The command in Step 3 should result in
provisioning a new PAC, and Step 5 should result in successful authentication using that PAC.
PAC Provisioning
The following example provisions a PAC for user bob.
pac show
tunnel eap-mschapv2
pac show
A-ID : Prime AR
A-ID-Info : Cisco Prime Access Registrar
I-ID : bob
Expires : Never (0)
Key# : 12
TLV 1 : PAC-Key (1) mandatory (32 bytes)
TLV 2 : PAC-Opaque (2) mandatory (120 bytes)
TLV 3 : PAC-Info (9) mandatory (51 bytes)
In this example the simple_eap_fast_test command indicates that it did not receive an AccessAccept.
This is normal because the provisioning step always results in an AccessReject even when a new PAC
has been successfully provisioned. The last pac show command displayed some status information from
the new PAC and is used to verify that provisioning succeeded and authentication can now be tested. The
PAC information displayed will vary and depends on how EAP-FAST is configured.
Authentication
The following example authenticates user bob (continuing from the PAC Provisioning example).
tunnel eap-gtc
In this example, the EAP_FAST authentication using the PAC from the previous provisioning step
succeeded. The AccessAccept packet received from Prime Access Registrar can be displayed to confirm
that it contains the expected attributes including the MS-MPPE session keys.
• SessionTimeout
The parameters for configuring certificate-based operation are identical to those used for PEAP and
EAP-TLS.
Table 5-4 describes the parameters used for certificate-based authentication.
Parameter Description
AuthorityIdentifier A string that uniquely identifies the credential (PAC) issuer. The client uses
this value to select the correct PAC to use with a particular server from the
set of PACs it might have stored locally. Care should be taken to ensure that
the AuthorityIdentifier is globally unique, that is, is distinct from other PAC
issuers
AuthorityInformation A string that provides some descriptive text for this credential issuer. The
value can be displayed to the client for identification purposes. It can contain
the enterprise and/or server names.
MaximumMessageSize Indicates the maximum length in bytes that a EAP-FAST message can have
before it is fragmented. If certificates are not used for authentication,
fragmentation should not be an issue.
AuthenticationTimeout Indicates the maximum number of seconds before an authentication
operation times out and is rejected.
CredentialLifetime Specifies the maximum lifetime of a PAC (Protected Access Credential).
Clients that successfully authenticate with an expired PAC will be
reprovisioned with a new PAC.
AuthenticationService Specifies the name of the EAP-GTC service that is used for authentication.
The named service must have the UseLabels parameter set to True.
ProvisionMode Specifies the TLS mode that is used for provisioning. As of this writing,
clients only support the default Anonymous mode.
ProvisionService Specifies the name of the EAP-MSChapV2 service that is used for
provisioning.
AlwaysAuthenticate Indicates whether provisioning should always automatically rollover into
authentication without relying on a separate session. Most environments,
particularly wireless, will perform better when this parameter is set to True
(the default value).
eap-trace
Use the eap-trace command to display additional client protocol trace information for EAP methods.
Level is a number from 1 to 5 inclusively. Level 5 shows detailed hex dumps of all messages, level 4
shows a message trace without hex dumps, and levels 3 and below show status and error information. To
turn off trace displays, set the level to 0.
Set the trace level for all EAP methods.
eap-trace level
For example, the following command sets the trace level to 4 for all EAP methods.
eap-trace 4
The following example sets the trace level to 5 for EAP-FAST only. The trace level for other EAP
methods is not affected.
eap-trace eap-fast 5
Note The eap-trace command is for client-side trace information only and is independent of the server trace
level that can be set using aregcmd.
tunnel
The tunnel command is used to specify the inner provisioning and authentication methods for
EAP-FAST. The specified EAP method type must agree with the server’s configured methods or
authentication will fail.
tunnel eap-method
For EAP-FAST provisioning, the only allowable tunnel method is eap-mchavp2. For EAP-FAST
authentication, the only allowable tunnel method is eap-gtc.
simple_eap_fast_test
The arguments are passed to the inner authentication method as its authentication parameters. If a PAC
is not present, the tunnel method should be eap-mschapv2 and provisioning will occur. If a PAC is
present, the tunnel method should be eap-gtc and authentication will occur.
There are also variants for the simple test command for other EAP methods as shown in the following
examples:
pac
The pac command is used display, save, and delete PACs that are received from the server during testing.
radclient maintains a cache of PACs that it knows about and that can be used for authentication testing.
The current PAC cache can be displayed with the pac show command. PACs created during a test session
can be stored to files with the pac save command, and reloaded in another session with the pac load
command. The contents of the PAC cache are completely deleted with pac delete. If the optional
parameter cache is included, PACs are also erased from disk.
The pac show command displays the currently cached PACs. If the optional parameter hex is included,
additional detailed information including hex dumps are included in the display output.
The pac load command loads any previously saved PACS from disk into the active cache.
The pac save command saves all PACs from the active cache to disk. Any previously existing PACS for
the same user will be over-written.
The pac delete command deletes all PACs from the active cache. If the optional cache parameter is
included then PACs are also erased from disk.
PAC Export
Use the pac export command to create a new PAC file. In the following example, eap-fast is the name
of the Prime Access Registrar service configured for EAP-FAST authentication, bob is the name of the
user this PAC will be used for, and password is the password used to derive a key for encrypting the
resulting file. (This password is not the same as the administrator’s password). The PAC file will be
named bob.pac by default. You can use the –f option to give the file a different name.
Note Using the default password is strongly discouraged for security reasons.
PAC Display
Use the pac show command to display information about a PAC file. In the following example, bob.pac
is the name of the PAC file and password is the password used to decrypt the file contents.
Syntax Summary
The complete pac command syntax is as follows:
Where:
-C <cluster>—Specifies the cluster to be used.
-N <user>—Specifies the user.
-P <user-password>—Specifies the password to be used.
-s —Logs in using defaults
-v—Enables verbose output
-f—Exports file name (default = {user-name}.pac)
EAP-GTC
EAP-GTC, defined in RFC 2284, is a simple method for transmitting a user’s name and password to an
authentication server. EAP-GTC should not be used except as an authentication method for PEAP
Version 1 because the password is not protected.
This section contains the following topics:
• Configuring EAP-GTC
• Testing EAP-GTC with radclient
Configuring EAP-GTC
Table 5-5 lists and describes the EAP-GTC specific properties for EAP-GTC authentication.
Property Description
UserService Required; name of service that can be used to authenticate using cleartext
passwords.
Property Description
UserPrompt Optional string the client might display to the user; default is Enter
password:” Use the set command to change the prompt, as in the following:
To enable EAP-GTC, use aregcmd to create and configure a service of type eap-gtc
cd /Radius/Services
add eap-gtc-service
Step 2 Change directory to the service and set its type to eap-gtc.
cd eap-gtc-service
The follow example shows the default configuration for an EAP-GTC service:
[ //localhost/Radius/Services/eap-gtc-service ]
Name = eap-gtc
Description =
Type = eap-gtc
IncomingScript~ =
OutgoingScript~ =
AuthenticationTimeout = 120
UserService =
UserPrompt = "Enter password:"
UseLabels = False
Step 3 Set the service’s UserService to local-users or another local authentication service that is able to
authenticate using clear-text passwords.
The response packet should indicate an Access-Accept if authentication was successful. View the
response packet to ensure the authentication was successful.
EAP-LEAP
Prime Access Registrar supports the new AAA Cisco-proprietary protocol called Light Extensible
Authentication Protocol (LEAP), a proprietary Cisco authentication protocol designed for use in IEEE
802.11 wireless local area network (WLAN) environments. Important features of LEAP include:
• Mutual authentication between the network infrastructure and the user
• Secure derivation of random, user-specific cryptographic session keys
• Compatibility with existing and widespread network authentication mechanisms (e.g., RADIUS)
• Computational speed
Note Prime Access Registrar supports a subset of EAP to support LEAP. This is not a general implementation
of EAP for Prime Access Registrar.
Configuring EAP-LEAP
You can use aregcmd to create and configure a service of type eap-leap. When you create an EAP-LEAP
service type, you must also specify a UserService to perform AAA service. The UserService can be any
configured authentication service.
To enable EAP-LEAP:
cd /Radius/Services
add eap-leap-service
cd eap-leap-service
[ //localhost/Radius/Services/eap-leap-service ]
Name = newone
Description =
Type =
IncomingScript~ =
OutgoingScript~ =
AuthenticationTimeout = 120
UserService =
EAP-MD5
Cisco Prime Access Registrar supports EAP-MD5, or MD5-Challenge, another EAP authentication
exchange. In EAP-MD5 there is a CHAP-like exchange and the password is hashed by a challenge from
both client and server to verify the password is correct. After verified correct, the connection proceeds,
although the connection is periodically re-challenged (per RFC 1994).
Configuring EAP-MD5
Specify type eap-md5 when you create an EAP-MD5 service. When you create an EAP-MD5 service
type, you must also specify a UserService to perform AAA service. The UserService can be any
configured authentication service.
You can use aregcmd to create and configure a service of type eap-md5. When you create an EAP-MD5
service type, you must also specify a UserService to perform AAA service. The UserService can be any
configured authentication service.
To enable EAP-MD5:
cd /Radius/Services
add eap-md5-service
cd eap-md5-service
[ //localhost/Radius/Services/eap-md5-service ]
Name = newone
Description =
Type =
IncomingScript~ =
OutgoingScript~ =
AuthenticationTimeout = 120
UserService =
EAP-Negotiate
EAP-Negotiate is a special service used to select at runtime the EAP service to be used to authenticate
the client. EAP-Negotiate is configured with a list of candidate EAP services that represent the allowable
authentication methods in preference order. When an EAP session begins, the EAP-Negotiate service
tires the first service in the list. If the client does not support that method, it will respond with an
EAP-Nak message which triggers EAP-Negotiate to try the next method on the list until a valid method
is found or the list is exhausted in which case authentication fails.
EAP-Negotiate is useful when the client population has deployed a mix of different EAP methods that
must be simultaneously supported by Prime Access Registrar. It can be difficult or impossible to reliably
distinguish which clients require which methods simply by examining RADIUS attributes or other
packet properties. EAP-Negotiate solves this problem by using the method negotiation feature of the
EAP protocol. Negotiation can be used to select the primary EAP method used for authentication and
also to select the inner method for PEAP.
This section contains the following topics:
• Configuring EAP-Negotiate
• Negotiating PEAP Tunnel Services
• Testing EAP-Negotiate with radclient
Configuring EAP-Negotiate
You may first use aregcmd to create and configure the EAP services that will be used for authentication,
then create and configure a service of type eap-negotiate.
To enable EAP-Negotiate:
cd /Radius/Services
add eap-negotiate-service
cd eap-negotiate-service
[ //localhost/Radius/Services/negotiate ]
Name = negotiate
Description =
Type = eap-negotiate
IncomingScript~ =
OutgoingScript~ =
AuthenticationTimeout = 120
ServiceList =
Step 3 Set the ServiceList property to a list of preconfigured EAP authentication services.
The ServiceList property lists the names of the EAP services that can be negotiated with this instance of
EAP-Negotiate. The ServiceList property is a space-separated list and must consist of valid EAP service
name, not service types, in preference order from left to right. Each service and type on the list must be
unique; duplicates are not allowed.
Note Not all supplicants support negotiation of the PEAP inner method. EAP-Negotiate can only be used with
supplicants that can use EAP-Nak to reject an unsupported inner method.
EAP-MSChapV2
EAP-MSChapv2 is based on draft-kamath-pppext-eap-mschapv2-00.txt, an informational IETF draft
document. EAP-MSChapv2 encapsulates the MSChapV2 protocol (specified by RFC 2759) and can be
used either as an independent authentication mechanism or as an inner method for PEAP Version 0
(recommended).
This section contains the following topics:
• Configuring EAP-MSChapV2
• Testing EAP-MSChapV2 with radclient
Configuring EAP-MSChapV2
To enable EAP-MSChapv2, use aregcmd to create and configure a service of type eap-mschapv2
cd /Radius/Services
add eap-mschapv2
Note This example named the service eap-mschapv2, but you can use any valid name for your service.
cd eap-mschapv2
[ //localhost/Radius/Services/eap-mschapv2 ]
Name = eap-mschapv2
Description =
Type = eap-mschapv2
IncomingScript~ =
OutgoingScript~ =
AuthenticationTimeout = 120
UserService =
SystemID =
Step 3 Set the service’s UserService to local-users or another local authentication service that is able to
authenticate using MSChapV2.
Step 4 You might (optionally) set a string for System ID that identifies the sender of the MSChapV2 challenge
message, as in the following:
p006
The simple_eap_mschapv2_test command above sends an Access-Request for user bob with the user’s
password. The response packet should indicate an Access-Accept if authentication was successful.
Step 3 View the response packet to ensure the authentication was successful.
p006
Service-Type = Framed
Framed-Protocol = PPP
Framed-IP-Address = 192.168.0.0
Framed-IP-Netmask = 255.255.255.0
Framed-Routing = None
Framed-MTU = 1500
Framed-Compression = VJ TCP/IP header compression
Framed-IPX-Network = 1
EAP-Message = 03:01:00:04
Ascend-Idle-Limit = 1800
Message-Authenticator = 27:90:7e:20:78:34:43:2e:9d:cd:a8:75:82:53:03:65
EAP-SIM
Cisco Prime Access Registrar supports EAP-SIMv16. In a GSM network a subscriber is issued a smart
card called the subscriber identity module (SIM) that contains a secret key (Ki) and an International
Mobile Subscriber Identity (IMSI). The key (Ki) is also stored in the GSM authentication center located
with the Home Location Registry (HLR).
An access point uses the Prime Access Registrar RADIUS server to perform EAP-SIM authentication of
mobile clients. Prime Access Registrar must obtain authentication information from the HLR.
Prime Access Registrar contacts the MAP gateway that performs the MAP protocol over SS7 to the
HLR, see SIGTRAN-M3UA for more information.
In support of EAP-SIM, the Wx Interface feature will be supported. For more information on Wx
Interface Support, see the Wx Interface Support for SubscriberDB Lookup, page 9-49.
Configuring EAP-SIM
You can use aregcmd to create and configure a service of type eap-sim.
Table 5-6 lists and describes the EAP-SIM specific properties.
Property Description
AlwaysRequestIdentity When True, enables the server to obtain the subscriber's identity via
EAP/AKA messages instead of relying on the EAP messages alone.
This might be useful in cases where intermediate software layers can
modify the identity field of the EAP-Response/Identity message. The
default value is False.
EnableIdentityPrivacy When True, the identity privacy feature is enabled. The default value is
False.
Property Description
PseudonymSecret The secret string that is used as the basis for protecting identities when
identity privacy is enabled. This should be at least 16 characters long
and have a value that is impossible for an outsider to guess. The default
value is secret. This field is not available if the EnableRollingPseud-
onymSecret field is checked.
Note It is very important to change PseudonymSecret from its default
value to a more secure value when identity privacy is enabled
for the first time.
PseudonymRenewtime Specifies the maximum age a pseudonym can have before it is renewed.
When the server receives a valid pseudonym that is older than this, it
generates a new pseudonym for that subscriber. The value is specified
as a string consisting of pairs of numbers and units, where the units
might be of the following: M, Minute, Minutes, H, Hour, Hours, D, Day,
Days, W, Week, Weeks. The default value is "24 Hours".
Examples are: "8 Hours", "10 Hours 30 Minutes", "5 D 6 H 10 M"
PseudonymLifetime Specifies the maximum age a pseudonym can have before it is rejected
by the server, forcing the subscriber to authenticate using it's permanent
identity. The value is specified as a string consisting of pairs of numbers
and units, where the units might be one of the following: M, Minute,
Minutes, H, Hour, Hours, D, Day, Days, W, Week, Weeks. It can also
be Forever, in which case, pseudonyms do not have a maximum age.
The default value is "Forever".
Examples are: "Forever", "3 Days 12 Hours 15 Minutes", "52 Weeks"
NotificationService (Optional); Notification service is an authorization service and is used
to send a notification code to the client in case of an authorization
failure. For more information about the Notification-Code variable, see
This can be any of the services configured under /radius/services/
except eap services, accounting services, radius-session, radius-query,
and diameter.
EnableReauthentication When True, the fast reauthentication option is enabled. The default
value is False.
UseOutagePolicyforReauth Default value is FALSE. When set to TRUE, Prime Access Registrar
drops or rejects reauthentication requests as per outage policy when the
remote server is down. This can be processed only when there is at least
one failed full authentication before proceeding with reauthentication.
MaximumReauthentica- Specifies the maximum number of times a reauthentication identity
tions might be reused before it must be renewed. The default value is 16.
ReauthenticationTimeout Specifies the time in seconds that reauthentication identities are cached
by the server. Subscribers that attempt to reauthenticate using identities
that are older than this value will be forced to use full authentication
instead. The default value is 3600 (one hour).
ReauthenticationRealm Optional. If you configure the realm, this value is appended to the Fas-
tReauthenticationUserId.
Property Description
AuthenticationTimeout Time in seconds to wait for authentication to complete. The default is 2
minutes; range is 10 seconds to 10 minutes.
QuintetGenerationScript~ Optional. If the script is set, the custom scripting point can be used to
read the quintets from a flat file or generate quintets instead of fetching
the quintets from HLR.If the script is not set, the
Prime Access Registrar sends the request to HLR configured in remote
server to fetch the quintets.
UseProtectedResults Enables or disables the use of protected results messages. Results
messages indicate the state of the authentication but are cryptographi-
cally protected.
TripletCacheTimeout Required; timeout value of triplet cache.
SubscriberDBLookup Required. Must be set to either DIAMETER or SIGTRAN-M3UA.
When set to DIAMETER, the HSS lookup happens using the Diameter
Wx Interface. You need to configure the DestinationRealm to send the
Diameter packets to the RemoteServer.
When set to SIGTRAN-M3UA, the HLR/HSS lookup happens using
the SIGTRAN protocol. You need to configure the SIGTRAN remote
server.
When set to MAP, the HLR lookup happens using the MAP interface.
FetchAuthorizationInfo Required. When set True, it fetches MSISDN from HLR.
cd /Radius/Services
add eap-sim-service
Step 2 Change directory to the service and set its type to eap-sim.
cd eap-sim-service
[ //localhost/Radius/Services/EAP-SIM ]
Name = EAP-SIM
Description =
Type = eap-sim
NumberOfTriplets = 2
UseSimDemoTriplets = False
AlwaysRequestIdentity = False
EnableIdentityPrivacy = False
EnableRollingPseudonymSecret = false
PseudonymSecret = <encrypted>
PseudonymRenewtime = "24 Hours"
PseudonymLifetime = Forever
NotificationService = local-users
Generate3GPPCompliantPseudonym = False
EnableReauthentication = False
UseOutagePolicyForReauth = False
MaximumReauthentications = 16
ReauthenticationTimeout = 3600
ReauthenticationRealm =
TripletCacheTimeout = 120
AuthenticationTimeout = 120
UseProtectedResults = False
SendReAuthIDInAccept = False
SubscriberDBLookup = SIGTRAN-M3UA
FetchAuthorizationInfo = FALSE
MultipleServersPolicy = Failover
IncomingScript~ =
OutgoingScript~ =
OutageScript~ =
RemoteServers/
[ //localhost/Radius/Services/eap-sim-wx ]
Name = eap-sim-wx
Description =
Type = eap-sim
NumberOfTriplets = 2
UseSimDemoTriplets = False
AlwaysRequestIdentity = False
EnableIdentityPrivacy = False
PseudonymSecret = <encrypted>
PseudonymRenewtime = "24 Hours"
PseudonymLifetime = Forever
Generate3GPPCompliantPseudonym = False
EnableReauthentication = False
MaximumReauthentications = 16
ReauthenticationTimeout = 3600
ReauthenticationRealm =
TripletCacheTimeout = 120
AuthenticationTimeout = 120
UseProtectedResults = False
SendReAuthIDInAccept = False
SubscriberDBLookup = DIameter
DestinationRealm = hss.com
PreRequestTranslationScript~ =
PostRequestTranslationScript~ =
PreResponseTranslationScript~ =
PostResponseTranslationScript~
Note The EAP-SIM property OutagePolicy present in earlier versions of Prime Access Registrar is no longer
part of the EAP-SIM configuration.
Note The IMSI number that is stored in HLR is used for EAP-SIM authentication.
Step 4 Enter the server name in which the session key is created to view the eap-sim service details.
p006
Configuring EAP-TLS
You can use aregcmd to create and configure a service of type eap-tls. Table 5-7 describes the EAP-TLS
configuration properties:
Property Description
IncomingScript Optional script Prime Access Registrar server runs when it receives a
request from a client for EAP-TLS service
OutgoingScript Optional script Prime Access Registrar server runs before it sends a
response to a client using EAP-TLS
MaximumMessageSize Indicates the maximum length in bytes that a PEAP or EAP-TLS message
can have before it is fragmented.
PrivateKeyPassword The password used to protect the server’s private key.
ServerCertificateFile The full pathname of the file containing the server’s certificate or
certificate chain used during the TLS exchange. The pathname can be
optionally prefixed with a special string that indicates the type of
encoding used for the certificate. The two valid encoding prefixes are
PEM and DER. If an encoding prefix is not present, the file is assumed to
be in PEM format.
ServerKeyFile The full pathname of the file containing the server’s RSA or ECC (remove
for Diameter) private key. The pathname can be optionally prefixed with
a special string that indicates the type of encoding used for the certificate.
The two valid encoding prefixes are “PEM” and “DER”. If an encoding
prefix is not present, the file is assumed to be in PEM format.
The following example assumes that the subdirectory pki under /cisco-ar
contains the server’s certificate file. The file server-key.pem is assumed
to be in PEM format. The file extension .pem is not significant.
Property Description
CACertificateFile The full pathname of the file containing trusted CA certificates used for
client verification. The file can contain more than one certificate, but all
certificates must be in PEM format. DER encoding is not allowed.
CACertificatePath The name of a directory containing trusted CA certificates (in PEM
format) used for client verification. This parameter is optional, and if it is
used there are some special preparations required for the directory it
references.
Each certificate file in this directory must contain exactly one certificate
in PEM format. The server looks up the certificate files using the MD5
hash value of the certificate’s subject name as a key. The directory must
therefore also contain a set of symbolic links each of which points to an
actual certificate file. The name of each symbolic link is the hash of the
subject name of the certificate.
For example, if a certificate file named ca-cert.pem is located in the
CACertificatePath directory, and the MD5 hash of the subject name
contained in ca-cert.path.pem is 1b96dd93, then a symbolic link named
1b96dd93 must point to ca-cert.pem.
If there are subject name collisions such as multiple certificates with the
same subject name, each link name must be indexed with a numeric
extension as in 1b96dd93.0 and 1b96dd93.1.
CRLDistributionURL Optional. The URL that Prime Access Registrar should use to retrieve the
CRL.You can specify a URL that uses HTTP or LDAP.
The following is an example for an HTTP URL:
<http://crl.verisign.com/pca1.1.1.crl>.
ClientVerificationMode Specifies the type of verification used for client certificates. Must be set
to one of RequireCertificate, None, or Optional.
• RequireCertificate causes the server to request a client certificate and
authentication fails if the client refuses to provide one.
• None will not request a client certificate.
• Optional causes the server to request a client certificate but the client
is allowed to refuse to provide one.
VerificationDepth Specifies the maximum length (in bytes?) of the certificate chain used for
client verification.
Property Description
UseECCCertificates Determines the applicability of the authentication mechanism in
SmartGrid Solutions, see the Smart Grid Solution Management,
page 9-51 for more information.
When UseECCCertificates is set to True, it can use the ECC, RSA, or
combination of both certificate for certificate based verification.
When UseECCCertificates is set to False, it can only use the RSA
certificate for certificate based verification. The default location to fetch
the certificate file is /cisco-ar/pki.
EnableSessionCache Specifies whether TLS session caching (fast reconnect) is enabled or not.
Set to True to enable session caching; otherwise set to False.
SessionTimeout If TLS session caching (fast reconnect) is enabled, SessionTimeout
specifies the maximum lifetime of a TLS session. Expired sessions are
removed from the cache and will require a subsequent full authentication.
SessionTimeout is specified as a string consisting of pairs of numbers and
units, where units might be one of the following: M, Minute, Minutes, H,
Hour, Hours, D, Day, Days, W, Week, Weeks, as in the following:
Set SessionTimeout “1 Hour 45 Minutes”
AuthenticationTimeout Mandatory; specifies time (in seconds) to wait before an authentication
request times out; defaults to 120.
Enable autochaining When set to TRUE, Prime Access Registrar sends its server certificate
chain (Server-Cert -> IntermediateCA -> RootCA) while presenting the
server certificate to the client for server side authentication. When set to
FALSE, Prime Access Registrar sends only the server certificate
(Server-Cert) to the client.
cd /Radius/Services
add eap-tls-service
Step 2 Change directory to the service and set its type to eap-tls.
cd eap-tls-service
[ //localhost/Radius/Services/eap-tls-service ]
Name = eap-tls-service
Description =
Type = eap-tls
IncomingScript~ =
OutgoingScript~ =
MaximumMessageSize = 1024
PrivateKeyPassword = <encrypted>
ServerCertificateFile = /opt/CSCOar/pki/server-cert.pem
ServerKeyFile = /opt/CSCOar/pki/server-key.pem
CACertificateFile = /opt/CSCOar/pki/root-cert.pem
CACertificatePath = /opt/CSCOar/pki
CRLDistributionURL =
ClientVerificationMode = Optional
VerificationDepth = 4
EnableSessionCache = true
UseECCCertificates = true
SessionTimeout = "5 Minutes"
AuthenticationTimeout = 120
Note Prime Access Registrar verifies the certificate during the TLS-based authentication. CRL validation is
done before accepting a client certificate during the TLS authentication.
Property Description
ClientVerificationMode Specifies the type of verification used for client certificates. Must be set
to one of the following:
• RequireCertificate—Causes the server to request a client certificate
and authentication fails if the client refuses to provide one.
• None—Server will not request a client certificate.
• Optional—Causes the server to request a client certificate but the
client is allowed to refuse to provide one.
simple_eap_tls_test arg1
The argument is arbitrary for the simple_eap_tls_test command and can be anything. You can either
select RSA or ECC client certificates using this argument.
EAP-TTLS
Prime Access Registrar supports the Extensible Authentication Protocol Tunneled TLS (EAP-TTLS).
EAP-TTLS is an EAP protocol that extends EAP-TLS. In EAP-TLS, a TLS handshake is used to
mutually authenticate a client and server. EAP- TTLS extends this authentication negotiation by using
the secure connection established by the TLS handshake to exchange additional information between
client and server.
EAP-TTLS leverages TLS (RFC 2246) to achieve certificate-based authentication of the server (and
optionally the client) and creation of a secure session that can then be used to authentication the client
using a legacy mechanism. EAP-TTLS provides several benefits:
• Industry standard authentication of the server using certificates (TLS)
• Standardized method for session key generation using TLS PRF
• Strong mutual authentication
• Identity privacy
• Fast reconnect using TLS session caching
• EAP message fragmentation
• Secure support for legacy client authentication methods
EAP-TTLS is a two-phase protocol. Phase 1 conducts a complete TLS session and derives the session
keys used in Phase 2 to securely tunnel attributes between the server and the client. The attributes
tunneled during Phase 2 can be used to perform additional authentication(s) via a number of different
mechanisms.
The authentication mechanisms that can be used during Phase 2 include PAP, CHAP, MS-CHAP,
MS-CHAPv2, and EAP. If the mechanism is EAP, then several different EAP methods are possible.
The Phase 2 authentication can be performed by the local AAA Server (the same server running
EAP-TTLS) or it can be forwarded to another server (known as the home AAA Server). In the latter case,
the home server has no involvement in the EAP-TTLS protocol and can be any AAA service that
understands the authentication mechanism in use and is able to authenticate the user. It is not necessary
for the home server to understand EAP-TTLS.
This section contains the following topics:
• Configuring EAP-TTLS
• Testing EAP-TTLS with radclient
Configuring EAP-TTLS
Configuring EAP-TTLS involves two major tasks:
1. Configuring the TLS parameters used for Phase 1
2. Selecting the Phase 2 authentication methods and specifying whether authentication is performed
locally or forwarded to the home server.
If authentication is forwarded, the configuration must include the identity of the remote home server and
its shared secret.
You configure EAP-TTLS using the aregcmd CLI to create the appropriate services and specify their
parameters. Use the radclient test tool to confirm that the services have been properly configured and
are operational.
Property Description
IncomingScript Optional script Prime Access Registrar server runs when it receives a
request from a client for EAP-TTLS service.
OutgoingScript Optional script Prime Access Registrar server runs before it sends a
response to a client using EAP-TTLS.
MaximumMessageSize Indicates the maximum length in bytes that a PEAP or EAP-TLS
message can have before it is fragmented.
PrivateKeyPassword The password used to protect the server’s private key.
ServerCertificateFile The full pathname of the file containing the server’s certificate or
certificate chain used during the TLS exchange. The pathname can be
optionally prefixed with a special string that indicates the type of
encoding used for the certificate. The two valid encoding prefixes are
PEM and DER. If an encoding prefix is not present, the file is assumed
to be in PEM format.
ServerKeyFile The full pathname of the file containing the server’s RSA or ECC private
key. The pathname can be optionally prefixed with a special string that
indicates the type of encoding used for the certificate. The two valid
encoding prefixes are “PEM” and “DER”. If an encoding prefix is not
present, the file is assumed to be in PEM format.
The following example assumes that the subdirectory pki under /cisco-ar
contains the server’s certificate file. The file server-key.pem is assumed
to be in PEM format. The file extension .pem is not significant.
Property Description
CACertificateFile The full pathname of the file containing trusted CA certificates used for
client verification. The file can contain more than one certificate, but all
certificates must be in PEM format.
Note DER encoding is not allowed.
CACertificatePath The name of a directory containing trusted CA certificates (in PEM
format) used for client verification. This parameter is optional, and if
used, there are some special preparations required for the directory it
references.
Each certificate file in this directory must contain exactly one certificate
in PEM format. The server looks up the certificate files using the MD5
hash value of the certificate’s subject name as a key. The directory must
therefore also contain a set of symbolic links each of which points to an
actual certificate file. The name of each symbolic link is the hash of the
subject name of the certificate.
For example, if a certificate file named ca-cert.pem is located in the
CACertificatePath directory, and the MD5 hash of the subject name
contained in ca-cert.path.pem is 1b96dd93, then a symbolic link named
1b96dd93 must point to ca-cert.pem.
If there are subject name collisions such as multiple certificates with the
same subject name, each link name must be indexed with a numeric
extension as in 1b96dd93.0 and 1b96dd93.1.
See rehash-ca-certs Utility, page 5-44 for information about how to
create the required certificate file hash links.
CRLDistributionURL Optional. The URL that Prime Access Registrar should use to retrieve
the CRL.You can specify a URL that uses HTTP or LDAP.
The following is an example for an HTTP URL:
<http://crl.verisign.com/pca1.1.1.crl>.
ClientVerificationMode Specifies the type of verification used for client certificates. Must be set
to one of RequireCertificate, None, or Optional.
• RequireCertificate causes the server to request a client certificate
and authentication fails if the client refuses to provide one.
• None will not request a client certificate.
• Optional causes the server to request a client certificate but the client
is allowed to refuse to provide one.
VerificationDepth Specifies the maximum length of the certificate chain used for client
verification.
Property Description
UseECCCertificates Determines the applicability of the authentication mechanism in
SmartGrid Solutions, see the Smart Grid Solution Management,
page 9-51 for more information.
When UseECCCertificates is set to True, it can use the ECC, RSA, or
combination of both certificate for certificate based verification.
When UseECCCertificates is set to False, it can only use the RSA
certificate for certificate based verification. The default location to fetch
the certificate file is /cisco-ar/pki.
EnableSessionCache Specifies whether TLS session caching (fast reconnect) is enabled or not.
Set to True to enable session caching; otherwise set to False.
SessionTimeout If TLS session caching (fast reconnect) is enabled, SessionTimeout
specifies the maximum lifetime of a TLS session. Expired sessions are
removed from the cache and require a subsequent full authentication.
SessionTimeout is specified as a string consisting of pairs of numbers
and units, where units might be one of the following: M, Minute,
Minutes, H, Hour, Hours, D, Day, Days, W, Week, Weeks, as in the
following:
Set SessionTimeout “1 Hour 45 Minutes”
AuthenticationTimeout Mandatory; specifies time (in seconds) to wait before an authentication
request times out. The default is 120.
AuthenticationService Mandatory; specifies the authentication service to use to authenticate
users. See Configuring an EAP-TTLS Authentication Service, page 5-39
for more information.
Note The authentication service must exist before you can save the
EAP-TTLS service configuration.
cd /Radius/Services
add eap-ttls-service
Step 2 Change directory to the service and set its type to eap-ttls.
cd eap-ttls-service
[ //localhost/Radius/Services/eap-ttls-service ]
Name = eap-ttls-service
Description =
Type = eap-ttls
IncomingScript~ =
OutgoingScript~ =
MaximumMessageSize = 1024
PrivateKeyPassword = <encrypted>
ServerCertificateFile = /opt/CSCOar/pki/server-cert.pem
ServerKeyFile = /opt/CSCOar/pki/server-key.pem
CACertificateFile = /opt/CSCOar/pki/root-cert.pem
CACertificatePath = /opt/CSCOar/pki
CRLDistributionURL =
ClientVerificationMode = Optional
VerificationDepth = 4
EnableSessionCache = true
UseECCCertificates = true
SessionTimeout = "5 Minutes"
AuthenticationTimeout = 120
Note Prime Access Registrar verifies the certificate during the TLS-based authentication. CRL validation is
done before accepting a client certificate during the TLS authentication.
Note After you make a configuration change, you must save the configuration before it can be used.
You can use a service like the local-users service (created as part of the example configuration) to
authenticate users in the local UserList.
This service can be used to authenticate using PAP, CHAP, MSCHAP, and MSCHAPv2.
This example uses a service named eap-mschapv2 for authentication. Attempts to authenticate using any
other method than EAP-MSChapV2 (assuming the service type is also eap-mschapv2) will fail.
You can use the EAP-negotiate method to authenticate using more than one EAP type. The following
example defines an EAP service named eap-negotiate that can negotiate EAP-MSChapV2 or EAP-GTC
then configures an EAP-TTLS service to authenticate using that service.
To configures an EAP-TTLS service to authenticate using eap-negotiate:
cd /Radius/Services
add eap-nego
cd eap-nego
cd /Radius/Services/eap-ttls
You can configure EAP-TTLS to authenticate using both legacy and EAP methods with a Group service
using an OR result rule. A configuration like that shown in the following example first attempts to
authenticate with the eap-negotiate service. If that fails, the server attempts to authenticate with the
local-users service.
cd /Radius/Services
add local-or-eap
cd local-or-eap
set ResultRule OR
cd GroupServices
add 1 eap-negotiate
add 2 local-users
cd /Radius/Services/eap-ttls
You can configure an EAP-TTLS service to forward authentication to a remote AAA Server known (or
the home server). The following configures a RADIUS service to use a remote server, then configures
EAP-TTLS to use that service for authentication.
The first step in the following example configures a remote RADIUS server (aaa-remote) with its IP
address and the shared secret that it shares with the local server. You might also specify other important
parameters such as ports, timeouts, and maximum number of retries. See , for information about
configuring RADIUS services.
To configure a remote RADIUS server (aaa-remote) with its IP address and a shared secret:
cd /Radius/RemoteServers
add aaa-remote
cd aaa-remote
The following step configures a RADIUS service to use the remote server created in the previous step.
You might also configure other important parameters such as the failover strategy. See , for information
about configuring RADIUS services.
Step 2 Configure an AAA service.
cd /Radius/Services
add home
cd home
cd RemoteServers
add 1 aaa-remote
cd /Radius/Services/eap-ttls
Other configurations are also possible. For example, a group service can be used to perform some
authentications locally and forward others to a remote server.
Where:
identity is the user’s name.
password is the user’s password
method is one of: PAP, CHAP, MSChap, MSChapV2, or PEAP.
Note If the method parameter is EAP, the tunnel command must be used to specify the EAP method
type.
cd /cisco-ar/usrbin
./radclient –s
The following commands show how to test the other valid legacy methods.
cd /cisco-ar/usrbin
./radclient –s
tunnel eap-mschapv2
To test with a different EAP method, use the tunnel command to specify the method as shown in the
following command to specify EAP-TLS.
tunnel eap-tls
rehash-ca-certs Utility
The rehash-ca-certs utility works with the CACertificatePath property and enables you to create the
required certificate file hash links (similar to those used with PEAP and EAP-TLS). The rehash-ca-certs
utility is only used when the server is validating certificates from the client (which is optional and not a
common case for EAP-TTLS).
The syntax for the rehash-ca-certs utility is:
Each directory path specified on the command line is scanned by the rehash-ca-certs utility for
filenames with the pem extension (such as ca-cert.pem) and the appropriate hash link is created as
described above. Before creating links, rehash-ca-certs first removes all existing links in the directory,
so each invocation creates fresh links. The –v option enables verbose output.
The following is an example of the rehash-ca-certs utility:
./rehash-ca-certs ../pki
The rehash-ca-certs utility warns about PEM files that do not contain certificates. On Cisco Prime
Access Registrar, intermediate/chained certificates cannot be imported.
To run Prime Access Registrar with PEAP authentication:
Step 1 Add both root and intermediate CA in the directory /opt/CSCOar/pki (as configured for
CACertificatePath in the service NYU-NetIDs-PEAPService).
Step 2 Change the directory to pki:
cd /opt/CSCOar/pki
eap-trace
Use the eap-trace command to display additional client protocol trace information for EAP methods.
Set the level to a number from 1 to 5 inclusively. Level 5 shows detailed hexadecimal dumps of all
messages. Level 4 shows a message trace without hexadecimal dumps. Levels 3 and below show status
and error information. To turn off trace displays, set the level to 0.
Use eap-trace level to set the trace level for all EAP methods. The following example command sets the
trace level to 4 for all EAP methods:
eap-trace 4
Use eap-trace method level to set the trace level for the specified EAP method. The following example
command sets the trace level to 5 for PEAP Version0 only. The trace level for other EAP methods is not
affected.
eap-trace peap-v0 5
Note The eap-trace command is for client-side trace information only and is independent of the server trace
level you set using aregcmd.
tunnel
Use the tunnel command to specify the inner authentication method for PEAP. The specified EAP
method type must agree with the server’s configured authentication method or authentication will fail.
tunnel eap-method
For PEAP Version 0, the allowable tunnel methods are EAP-MSCHAPV2 and EAP-SIM. For PEAP
Version 1, the allowable tunnel methods are EAP-GTC and EAP-SIM.
The arguments are passed to the inner authentication method as its authentication parameters. For
EAP-MSChapv2 the arguments are username and password; for EAP-SIM they are IMSI and key.
The arguments are passed to the inner authentication method as its authentication parameters. For
EAP-GTC the arguments are username and password; for EAP-SIM they are IMSI and key.
simple_eap_tls_test arg1
Protected EAP
Protected EAP (PEAP) is an authentication method designed to mitigate several weaknesses of EAP.
PEAP leverages TLS (RFC 2246) to achieve certificate-based authentication of the server (and
optionally the client) and creation of a secure session that can then be used to authenticate the client.
PEAP provides several benefits:
• Industry standard authentication of the server using certificates (TLS)
• Standardized method for session key generation using TLS PRF
• Strong mutual authentication
• Identity privacy
• Fast reconnect using TLS session caching
• EAP message fragmentation
• Secure support for legacy client authentication methods
Cisco Prime Access Registrar supports the two major existing variants of PEAP, PEAP Version 0
(Microsoft PEAP) and PEAP Version 1 (Cisco PEAP). PEAP Version 0 is described in IETF drafts,
draft-kamath-pppext-peapv0-00.txt and draft-josefsson-pppext-eap-tls-eap-02.txt. This version of
PEAP can use either EAP-MSChapV2 or EAP-SIM as an authentication method. PEAP Version 1 is
described by IETF draft draft-zhou-pppext-peapv1-00.txt. PEAP Version 1 can use either EAP-GTC
or EAP-SIM as an authentication method.
This section contains the following topics:
• PEAP Version 0
• PEAP Version 1
PEAP Version 0
This section describes configuring PEAP Version 0 and testing it with radclient.
Property Description
IncomingScript Optional script Prime Access Registrar server runs when it receives a
request from a client for PEAP-v0 service.
OutgoingScript Optional script Prime Access Registrar server runs before it sends a
response to a client using PEAP-v0
MaximumMessageSize Indicates the maximum length in bytes that a PEAP or EAP-TLS
message can have before it is fragmented.
PrivateKeyPassword The password used to protect the server’s private key.
Property Description
ServerCertificateFile The full pathname of the file containing the server’s certificate or
certificate chain used during the TLS exchange. The pathname can be
optionally prefixed with a special string that indicates the type of
encoding used for the certificate. The two valid encoding prefixes are
PEM and DER. If an encoding prefix is not present, the file is assumed
to be in PEM format.
The following example assumes that the subdirectory pki under
/cisco-ar contains the server’s certificate file. The file server-cert.pem
is assumed to be in PEM format; note that the file extension .pem is not
significant.
Property Description
ClientVerificationMode Specifies the type of verification used for client certificates. Must be set
to one of RequireCertificate, None, or Optional.
• RequireCertificate causes the server to request a client certificate
and authentication fails if the client refuses to provide one.
• None will not request a client certificate.
• Optional causes the server to request a client certificate but the
client is allowed to refuse to provide one.
VerificationDepth Specifies the maximum length of the certificate chain used for client
verification.
UseECCCertificates Determines the applicability of the authentication mechanism in
SmartGrid Solutions, see the Smart Grid Solution Management,
page 9-51 for more information.
When UseECCCertificates is set to True, it can use the ECC, RSA, or
combination of both certificate for certificate based verification.
When UseECCCertificates is set to False, it can only use the RSA
certificate for certificate based verification. The default location to fetch
the certificate file is /cisco-ar/pki.
EnableSessionCache Specifies whether TLS session caching (fast reconnect) is enabled or
not. Set to True to enable session caching; otherwise set to False.
SessionTimeout If TLS session caching (fast reconnect) is enabled, SessionTimeout
specifies the maximum lifetime of a TLS session. Expired sessions are
removed from the cache and will require a subsequent full
authentication.
SessionTimeout is specified as a string consisting of pairs of numbers
and units, where units might be one of the following: M, Minute,
Minutes, H, Hour, Hours, D, Day, Days, W, Week, Weeks, as in the
following:
Set SessionTimeout “1 Hour 45 Minutes”
AuthenticationTimeout Mandatory; specifies time (in seconds) to wait before an authentication
request times out; defaults to 120.
TunnelService Mandatory; must be the name of an existing EAP-MSCHAPv2 or
EAP-SIM service for PEAP Version 0.
EnableWPS When set to TRUE, enables Windows Provisioning Service (WPS) and
provides two other properties, MasterURL and WPSGuestUserProfile.
The default value is FALSE.
Property Description
MasterURL When using WPS, specifies the URL of the provisioning server which is
modified with the appropriate fragment and sent to the client.
WPSGuestUserProfile When using WPS, specifies a profile to be used as a guest user profile;
must be a valid profile under /Radius/Profiles.
This profile is used for guests and users whose account has expired. This
profile normally contains attributes denoting the VLAN-id of the guest
network (which has the provisioning server alone) and might contain
IP-Filters that would restrict the access of the guest (to only the
provisioning server).
cd /Radius/Services
add peap-v0-service
cd peap-v0-service
//localhost/Radius/Services/peap-v0-service ]
Name = peap-v0-service
Description =
Type = peap-v0
IncomingScript~ =
OutgoingScript~ =
MaximumMessageSize = 1024
PrivateKeyPassword = <encrypted>
ServerCertificateFile = /opt/CSCOar/pki/server-cert.pem
ServerKeyFile = /opt/CSCOar/pki/server-key.pem
CACertificateFile = /opt/CSCOar/pki/root-cert.pem
CACertificatePath = /opt/CSCOar/pki
CRLDistributionURL =
ClientVerificationMode = Optional
VerificationDepth = 4
EnableSessionCache = true
UseECCCertificates = true
SessionTimeout = "5 Minutes"
AuthenticationTimeout = 120
EnableWPS = FALSE
Step 3 Set the service’s TunnelService property to the name of an existing EAP-MSCHAPV2 or EAP-SIM
service.
or
Note Prime Access Registrar verifies the certificate during the TLS-based authentication. CRL validation is
done before accepting a client certificate during the TLS authentication.
tunnel eap-mschapv2
or
tunnel eap-sim
Step 3 Use the simple_eap_peapv0_test command to authenticate using PEAP Version 0, as in the following:
The simple_eap_peapv0_test command passes its arguments to the inner authentication mechanism
which treats the arguments as either a username and a password (for eap-mschapv2) or as an IMSI and
a key (for eap-sim).
The following example tests PEAP Version 0 with EAP-MSCHAPV2 as the inner authentication
mechanism using username bob and password bob:
tunnel eap-mschapv2
The following example tests PEAP Version 0 with EAP-SIM as the inner authentication mechanism
using IMSI 1124567891 and key 0112456789ABCDEF:
tunnel eap-sim
PEAP Version 1
This section describes configuring PEAP Version 1 and testing it with radclient.
Property Description
IncomingScript Optional script Prime Access Registrar server runs when it receives a
request from a client for PEAP-v1 service.
OutgoingScript Optional script Prime Access Registrar server runs before it sends a
response to a client using PEAP-v1.
MaximumMessageSize Indicates the maximum length in bytes that a PEAP or EAP-TLS message
can have before it is fragmented.
PrivateKeyPassword The password used to protect the server’s private key.
ServerCertificateFile The full pathname of the file containing the server’s certificate or
certificate chain used during the TLS exchange. The pathname can be
optionally prefixed with a special string that indicates the type of
encoding used for the certificate. The two valid encoding prefixes are
PEM and DER. If an encoding prefix is not present, the file is assumed to
be in PEM format.
CACertificateFile The full pathname of the file containing trusted CA certificates used for
client verification. The file can contain more than one certificate but all
certificates must be in PEM format. DER encoding is not allowed.
CACertificatePath The name of a directory containing trusted CA certificates (in PEM
format) used for client verification. This parameter is optional, and if it
is used there are some special preparations required for the directory it
references.
Each certificate file in this directory must contain exactly one certificate
in PEM format. The server looks up the certificate files using the MD5
hash value of the certificate’s subject name as a key. The directory must
therefore also contain a set of symbolic links each of which points to an
actual certificate file. The name of each symbolic link is the hash of the
subject name of the certificate.
For example, if a certificate file named ca-cert.pem is located in the
CACertificatePath directory, and the MD5 hash of the subject name
contained in ca-cert.path.pem is 1b96dd93, then a symbolic link named
1b96dd93 must point to the ca-cert.pem file.
If there are subject name collisions such as multiple certificates with the
same subject name, each link name must be indexed with a numeric
extension as in 1b96dd93.0 and 1b96dd93.1.
Property Description
CRLDistributionURL Optional. The URL that Prime Access Registrar should use to retrieve the
CRL.You can specify a URL that uses HTTP or LDAP.
The following is an example for an HTTP URL:
<http://crl.verisign.com/pca1.1.1.crl>.
ClientVerificationMode Specifies the type of verification used for client certificates. Must be set
to one of RequireCertificate, None, or Optional.
• RequireCertificate causes the server to request a client certificate and
authentication fails if the client refuses to provide one.
• None will not request a client certificate.
• Optional causes the server to request a client certificate but the client
is allowed to refuse to provide one.
VerificationDepth Specifies the maximum length of the certificate chain used for client
verification.
UseECCCertificates Determines the applicability of the authentication mechanism in
SmartGrid Solutions, see the Smart Grid Solution Management,
page 9-51 for more information.
When UseECCCertificates is set to True, it can use the ECC, RSA, or
combination of both certificate for certificate based verification.
When UseECCCertificates is set to False, it can only use the RSA
certificate for certificate based verification. The default location to fetch
the certificate file is /cisco-ar/pki.
EnableSessionCache Specifies whether TLS session caching (fast reconnect) is enabled or not.
Set to True to enable session caching; otherwise set to False.
SessionTimeout If TLS session caching (fast reconnect) is enabled, SessionTimeout
specifies the maximum lifetime of a TLS session. Expired sessions are
removed from the cache and will require a subsequent full authentication.
SessionTimeout is specified as a string consisting of pairs of numbers and
units, where units might be one of the following: M, Minute, Minutes, H,
Hour, Hours, D, Day, Days, W, Week, Weeks, as in the following:
Set SessionTimeout “1 Hour 45 Minutes”
AuthenticationTimeout Mandatory; specifies time (in seconds) to wait before an authentication
request times out; defaults to 120.
TunnelService Mandatory; must be the name of an existing EAP-GTC or EAP-SIM
service for PEAP Version 0.
cd /Radius/Services
add peap-v1-service
cd peap-v1-service
//localhost/Radius/Services/eap-peap-v1-service ]
Name = eap-peap-v1-service
Description =
Type = peap-v1
IncomingScript~ =
OutgoingScript~ =
MaximumMessageSize = 1024
PrivateKeyPassword = <encrypted>
ServerCertificateFile = /opt/CSCOar/pki/server-cert.pem
ServerKeyFile = /opt/CSCOar/pki/server-key.pem
CACertificateFile = /opt/CSCOar/pki/root-cert.pem
CACertificatePath = /opt/CSCOar/pki
CRLDistributionURL =
ClientVerificationMode = Optional
VerificationDepth = 4
EnableSessionCache = true
UseECCCertificates = true
SessionTimeout = "5 Minutes"
AuthenticationTimeout = 120
Step 3 Set the service’s TunnelService property to the name of an existing EAP-GTC or EAP-SIM service.
or
tunnel eap-gtc
or
tunnel eap-sim
Step 3 Use the simple_eap_peapv1_test command to authenticate using PEAP Version 1, as in the following:
The simple_eap_peapv1_test command passes its arguments to the inner authentication mechanism
which treats the arguments as either a username and a password (for EAP-GTC) or as an IMSI and a key
(for EAP-SIM).
Query
You can query the accounting details from Oracle by referring this service in
/Radius/DefaultAuthenticationService and in /Radius/DefaultAuthorization.
The following example is an SQL statement used for Authentication and Authorization of the subscribed
users. You can use the SQL and MarkerList properties statement to query the selected attributes from
Oracle.
sql1/
Name = sql1
Description =
Type = query
SQL = "select password , username from arusers where username = ?"
ExecutionSequenceNumber = 1
MarkerList = UserName/SQL_CHAR
Insert
You can insert user details into SQL database by Oracle accounting. This service is used by referring the
/Radius/DefaultAccountingService or Accounting-Service environment variable.
For instance, you can use the following SQL and MarkerList properties statement to insert the selected
attributes:
sql1/
Name = sql1
Description =
Type = insert
SQL = "insert into sql_test (username,nas) values (?,?)"
ExecutionSequenceNumber = 1
MarkerList = "UserName/SQL_CHAR NAS-Identifier/SQL_CHAR"
Update
You can easily modify the details in an SQL table with the UPDATE statement.
For example, you can use the following SQL and MarkerList properties statement to update the selected
attributes:
sql2/
Name = sql2
Description =
Type = update
SQL = "update sql_test set packet='stop' where username=?"
ExecutionSequenceNumber = 2
MarkerList = UserName/SQL_CHAR
Delete
You can remove the unnecessary records from SQL database using DELETE statement.
For example, you can use the following SQL and MarkerList properties statement to delete the selected
attributes:
sql/
Name = sql
Description =
Type =delete
SQL = "delete from arusers_acct where username=?"
ExecutionSequenceNumber = 1
MarkerList = UserName/SQL_CHAR
[ //localhost/Radius/Services/oracle-acc/RemoteServers ]
1. oracle-acc
[ //localhost/Radius/RemoteServers/oracle-acc ]
Name = oracle-acc
Description =
Protocol = oci-accounting
ReactivateTimerInterval = 300000
Timeout = 15
DataSourceConnections = 8
ODBCDataSource = oracle
SNMPTrapIP =
SNMPTrapPort = 1521
KeepAliveTimerInterval = 0
BufferAccountingPackets = TRUE
MaximumBufferFileSize = "10 Megabytes"
NumberOfRetriesForBufferedPacket = 3
BackingStoreEnvironmentVariables =
UseLocalTimeZone = FALSE
AttributeList =
Delimiter =
SQLDefinition/
[ //localhost/Radius/Advanced/ODBCDataSources/oracle ]
Name = oracle
Description =
Type = oracle_oci
UserID = scott
Password = <encrypted>
DataBase = ORCL
[ //localhost/Radius/Scripts/sql ]
Name = sql
Description =
Language = tcl
Filename = sql.tcl
EntryPoint = sqltest
InitEntryPoint =
InitEntryPointArgs =
Script
The script statements are executed based on the IP address that you specified in the query. Here is a
sample script to select the SQL statements.
proc sqltest {request response environ} {
How Suffix and Prefix Rules Work with Prime Access Registrar
Prime Access Registrar includes several scripts that you can use with the rules. The following are the
most commonly used rules:
• Prefix Rule, See ExecPrefixRule, page 10-17 for more information
• Suffix Rule, See ExecSuffixRule, page 10-18 for more information
Step 1 Activate the Policy Engine by configuring SelectPolicy. This script explains you how to set a suffix and
prefix policy in the grouping list.
--> cd selectPolicy/
[ //localhost/Radius/Policies/SelectPolicy ]
Name = SelectPolicy
Description =
Grouping = suffixrule&prefixrule
Step 2 Run the configuration rules for Prefix and Suffix.
Step 3 Set Script = ExecSuffixRule in the prefix rule configuration.
[ //localhost/Radius/Rules ]
Entries 1 to 2 from 2 total entries
Current filter: <all>
prefixrule/
Name = prefixrule
Description =
Type = radius
Script~ = ExecPrefixRule
Attributes/
Authentication-Service = local-users
Authorization-Service = local-users
Delimiters = @#%$/
Prefix = cisco
StripPrefix = no
Step 4 Specify Script = ExecRealmRule in the suffix configuration to scan.
suffixrule/
Name = suffixrule
Description =
Type = radius
Script~ = ExecRealmRule
Attributes/
Realm = @cisco.com
Note Prime Access Registrar uses the CRLDistributionURL property in the following services:
eap-tls
eap-ttls
eap-fast
peap-v0
peap-v1
The following shows an example to import intermediate certificates in Prime Access Registrar:
Step 1 Copy the Client Root CA and Intermediate CA Certificate in /cisco-ar/certs/wimax/ directory.
cp /tmp/wimax_device_root.pem /cisco-ar/certs/wimax/
cp /tmp/wimax_device_root_ca1.pem /cisco-ar/certs/wimax/
/opt/CSCOar/bin/rehash-ca-certs –v /cisco-ar/certs/wimax/
/opt/CSCOar/bin/aregcmd –s
cd Radius/Services/eap-ttls
//localhost/Radius/Services/eap-ttls-service ]
Name = eap-ttls-service
Description =
Type = eap-ttls
IncomingScript~ =
OutgoingScript~ =
MaximumMessageSize = 1024
PrivateKeyPassword = <encrypted>
ServerCertificateFile = /opt/CSCOar/pki/server-cert.pem
ServerKeyFile = /opt/CSCOar/pki/server-key.pem
CACertificateFile = /opt/CSCOar/pki/root-cert.pem
CACertificatePath = /opt/CSCOar/pki
CRLDistributionURL =
ClientVerificationMode = Optional
VerificationDepth = 4
EnableSessionCache = true
UseECCCertificates = true
SessionTimeout = "5 Minutes"
AuthenticationTimeout = 120
save
/opt/CSCOar/bin/arserver restart
User-Defined Keys
Prime Access Registrar allows you to configure pseudonym encryption keys. There are two types of
user-defined keys:
• For generating 3GPP compliant pseudonym secrets—configured at
/Radius/Advanced/KeyStores/3GPPKeys
• For generating non-3GPP compliant pseudonym secrets—configured at
/Radius/Advanced/KeyStores/non3GPPKeys
If user-defined keys are not configured, Prime Access Registrar uses system generated keys for rolling
encryption.
Key Store
The Key Store maintains a set of keys that are user-defined and/or auto-generated. There is only one
active key at any point in time that is used for generating the pseudonym secret. Rest of the keys are
inactive and are used for decryption of old pseudonyms if used for pseudonym generation. After a
rollover period, another key is selected as an active key and is used for pseudonym generation. Expiry
of a pseudonym depends on the PseudonymLifetime property set for the corresponding EAP service.
For each key store, you can configure the number of keys and rollover period for each key, which is one
week by default. For each type of EAP service, there are two key stores:
• For generating 3GPP compliant pseudonym secrets—number of keys is limited to 15. Default is 15.
Each key should be 16 digits in length.
• For generating non-3GPP compliant pseudonym secrets—number of keys is limited to 1024. Default
is 256. Each key should be 29 digits in length.
Following is the CLI configuration of a key store:
[ //localhost/Radius/Advanced/KeyStores ]
EAP-FAST/
NumberOfKeys = 256
RolloverPeriod = "1 Week"
EAP-SIM/
NumberOfKeys = 256
RolloverPeriod = "1 Week"
EAP-SIM-3GPP/
NumberOfKeys = 15
RolloverPeriod = "1 Week"
EAP-AKA/
NumberOfKeys = 256
RolloverPeriod = "1 Week"
EAP-AKA-3GPP/
NumberOfKeys = 15
RolloverPeriod = "1 Week"
EAP-AKAPRIME/
NumberOfKeys = 256
RolloverPeriod = "1 Week"
EAP-AKAPRIME-3GPP/
NumberOfKeys = 15
RolloverPeriod = "1 Week"
3GPPKeys/
Non3GPPKeys/
[ //localhost/Radius/Advanced/KeyStores/3GPPKeys ]
Set 1 erafgageasgaafde
Set 2 tttttttadfadfaff
[ //localhost/Radius/Advanced/KeyStores/Non3GPPKeys ]
Set 1 sfsgsghsr
--> set 2
Set 2 afgfsfgsfgsf
EAP Service
Rolling encryption is applicable for an EAP-SIM, EAP-AKA, or EAP-AKA’ service. This feature is
applicable only when the parameter EnableRollingPseudonymSecret is set to TRUE for the service. Each
service uses either the 3GPP compliant or non-3GPP compliant pseudonym key store based on the
Generate3GPPCompliantPseudonym option set for the service.
The EAP service uses the current active key of the corresponding key store to generate the pseudonym.
After rollover period of the current active key, the next active key is selected and used for pseudonym
generation. When Prime Access Registrar receives the pseudonym back from the client, it decrypts the
pseudonym using the same key that was used to generate the pseudonym. Based on the
PseudonymRenewtime and PseudonymLifetime set for the service, if the pseudonym received from the
client is expired or to be renewed, Prime Access Registrar uses the current active key from the
corresponding key store,
Note The private keys must contain the base64encode padding characters i.e. the final two double equals “==”.
Decryption will fail for the keys without “==”.
Note While configuring the private key in Prime Access Registrar, remove the “==” because
Prime Access Registrar will add those “==” while processing the request.
A sample configuration of an EAP-AKA service with encrypted IMSI parameters is given below:
[ //localhost/Radius/Services/eap-aka ]
Name = eap-aka
Description =
Type = eap-aka
NumberOfQuintets = 1
AlwaysRequestIdentity = False
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 =
QuintetCacheTimeout = 120
AuthenticationTimeout = 120
QuintetGenerationScript~ =
UseProtectedResults = False
SendReAuthIDInAccept = False
Subscriber_DBLookup =
[ //localhost/Radius/Advanced/KeyStores ]
EAP-FAST/
EAP-SIM/
EAP-SIM-3GPP/
EAP-AKA/
EAP-AKA-3GPP/
EAP-AKAPRIME/
EAP-AKAPRIME-3GPP/
EncryptedIMSI-PrivateKeys/
3GPPKeys/
Non3GPPKeys/
--> cd encryptedIMSI-PrivateKeys/
[ //localhost/Radius/Advanced/KeyStores/EncryptedIMSI-PrivateKeys ]
AllowedKeyIdentifiers = CertificateSerialNumber
keys/
--> cd keys/
[ //localhost/Radius/Advanced/KeyStores/EncryptedIMSI-PrivateKeys/keys ]
Entries 1 to 1 from 1 total entries
Current filter: <all>
keys1/
--> cd keys1/
[ //localhost/Radius/Advanced/KeyStores/EncryptedIMSI-PrivateKeys/keys/keys1 ]
Name = keys1
Identifier = CertificateSerialNumber
Privatekey =
Note You must save and reload the server after configuring the private keys for the changes to take effect.
This chapter provides information about how to use the replication feature in
Cisco Prime Access Registrar (Prime Access Registrar).
This chapter contains the following sections:
• Replication Overview
• How Replication Works
• Replication Configuration Settings
• Setting Up Replication
• Replication Example
• Full Resynchronization
• Replication Setup with More Than One Slave
Note When using replication, use the aregcmd command-line interface to make configuration changes to the
Prime Access Registrar server. Replication is not supported when using the GUI.
Replication Overview
Prime Access Registrar replication feature can maintain identical configurations on multiple machines
simultaneously. When replication is properly configured, changes an administrator makes on the primary
or master machine are propagated by Prime Access Registrar to a secondary or slave machine.
Replication eliminates the need to have administrators with multiple Prime Access Registrar
installations make the same configuration changes at each of their installations. Instead, only the
master's configuration need be changed and the slave is automatically configured eliminating the need
to make repetitive, error-prone configuration changes for each individual installation. In addition to
enhancing server configuration management, using replication eliminates the need for a hot-standby
machine.
Using a hot-standby machine is a common practice to provide more fault-tolerance where a
fully-installed and configured system stands ready to takeover should the primary machine fail.
However, a system setup for hot-standby is essentially an idle machine only used when the primary
system fails. Hot-standby or secondary servers are expensive resources. Employing
Prime Access Registrar's replication feature, both servers can perform RADIUS request processing
simultaneously, eliminating wasted resources.
The replication feature focuses on configuration maintenance only, not session information or
installation-specific information such as Administrator, Interface, Replication or Advanced
machine-specific configuration changes. These configuration items are not replicated because they are
specific to each installation and are not likely to be identical between master and slave. While changes
to Session Managers, Resource Manager, and Remote Servers are replicated to the slave and stored in
the slave's configuration database, they are not hot-configured on the slave (see Hot Configuration
Detailed below for more information)
Changes should be made only on the master server. Making changes on a slave server will not be
replicated and might result in an unstable configuration on the slave. Any changes made using
replication will not be reflected in existing aregcmd sessions. aregcmd only loads its configuration at
start up; it is not dynamically updated. For example, if aregcmd is running on the slave, and on the
master aregcmd is used to add a client, the new client, while correctly replicated and hot-configured,
will not be visible in the slave's aregcmd until aregcmd is exited and restarted.
When there is a configuration change, the master server propagates the change set to all member servers
over the network. All member servers have to update their configuration after receiving the change set
notifications from master server. Propagating the change set to a member serve involves multiple packet
transfer from the master server to the member because the master serve has to convey all the
configuration changes to the member. The number of packets to be transferred depends on the size of
the change set.
After receiving a change set notification, the member server will go offline before applying the change
set received from master server. This state is indicated by the log message Radius Server is offline
in name_radius_1_log file. When the change set is successfully applied, the member server goes up
automatically. This is indicated by the log message Radius Server is online in name_radius_1_log
file. When the member server goes offline to apply the change set, no incoming packets are processed.
Due to the number of packets to be transferred in the change set and the amount of time the member
server will be offline updating its databasepoints, we recommend that you use multiple save commands
rather than a large configuration change with one save command. You can also minimize the number of
changes that occur in a replication interval by modifying either the RepTransactionArchiveLimit or the
RepTransactionSyncInterval, or both of these properties. For example, instead of using the default value
of 100 for the RepTransactionArchiveLimit, you might change it to 20.
Note The IP address format is enhanced to support both IPv4 and IPv6.
Master Server
The master server or primary server is the fully configured machine that is used to archive all the
transactions that taken place in Prime Access Registrar.
Step 1 The administrator makes a change to the master server’s configuration using the aregcmd command line
interface (CLI) and issues a save command.
Step 2 After the changes are successfully validated, the changes are stored in the Prime Access Registrar
database.
Step 3 aregcmd then notifies the Prime Access Registrar server executing on the master of the configuration
change.
Step 4 The Prime Access Registrar server then updates its version of the configuration stored in memory. (This
is called hot-config because it happens while the server is running and processing requests.)
Step 5 The Prime Access Registrar server first copies the changes pertaining to the aregcmd save, also known
as a transaction to its replication archive, then transmits the transaction to the slave server for processing.
Step 6 In aregcmd, the prompt returns indicating that the save has completed successfully, the transaction has
been archived, and the transaction has been transmitted to the slaves.
Slave Server
The slave server or secondary server is a fully-installed and configured system stands ready to takeover
when the primary machine fails.
Step 1 When the slave server receives the transaction, its contents are verified.
Step 2 After verification, the changes are applied to the slave server's database.
Step 3 The changes are then applied (hot-configured) in the slave server's in-memory configuration.
Step 4 The transaction is written to the slave server's replication archive.
Security
Replication has two primary security concerns:
1. Security of the transactions transmitted to the slave server
2. Storage of transactions in the replication archive
Both of these concerns use shared secret (MD5) encryption via the shared secret specified in the
replication configuration on both master and slave servers. Replication data transmitted between master
and slave is encrypted at the source and decrypted at the destination the same way as standard RADIUS
packets between Prime Access Registrar's clients and the Prime Access Registrar server. Transactions
written to the replication archive are also encrypted in the same manner and decrypted when read from
the replication archive.
Replication Archive
The replication archive serves two primary purposes:
• To provide persistent, or saved, information regarding the last successful transaction
• To persist transactions in case the slave server requires re synchronization (see Ensuring Data
Integrity below for more information on re synchronization).
The replication archive is simply a directory located in ../CSCOar/data/archive. Each transaction
replicated by the master is written to this directory as a single file. The name of each transaction file is
of the form txn########## where ########## is the unique transaction number assigned by the master
server. The replication archive size, that is the number of transaction files it might contain, is configured
in the Replication configuration setting of TransactionArchiveLimit. When the TransactionArchive limit
is exceeded, the oldest transaction file is deleted.
Transaction Order
When the master prepares a transaction for replication, it assigns the transaction a unique transaction
number. This number is used to ensure the transactions are processed by the slave in exactly the same
order as they were processed on the master. Transactions are order dependent. Since the functionality of
Prime Access Registrar's configuration replication feature is to maintain identical configurations
between master and slave, if transaction order were not retained, master and slave would not contain
identical configurations. Consider where two transactions modify the same thing (a defined client's IP
address for example). If the first transaction was a mistake and the second was the desired result, the
client configuration on the master would contain the second setting; however, if the transactions were
processed in the reverse order on the slave, the client configuration on the slave would contain the
mistaken IP Address. This example illustrates the critical need for transaction ordering to ensure data
integrity.
Automatic Resynchronization
Automatic Resynchronization is the most significant feature with respect to data integrity. This feature
ensures the configurations on both the master and slave are identical. If they are not, this feature
automatically corrects the problem.
When the master and slave start-up, they determine the transaction number of the last replication
transaction from their respective replication archives. The master immediately begins periodic
transmission of a TransactionSync message to the slave. This message informs the slave of the
transaction number of the transaction that the master last replicated.
If the transaction number in the TransactionSync message does not match the transaction number of the
last received transaction in the slave's archive, then the slave will request resynchronization from the
master. The resynchronization request sent by the slave will include the slave's last received transaction
number.
The master will respond by retransmitting each transaction since the last transaction number indicated
by the slave in the resynchronization request. The master obtains these transactions from its replication
archive.
Should the slave's last received transaction number be less than the lowest transaction number in the
master's replication archive, then automatic resynchronization cannot occur as the master's replication
archive does not contain enough history to synchronize the slave. In this case, the slave must be
resynchronized with a full-resynchronization.
Full Resynchronization
Full Resynchronization means that the slave has missed more transactions than are stored in the master's
replication archive and cannot be resynchronized automatically. There is no automatic
full-resynchronization mechanism in Prime Access Registrar's configuration replication feature. To
perform a full resynchronization, see Full Resynchronization.
Understanding Hot-Configuration
Hot-Configuration is the process of reflecting configuration changes made to Prime Access Registrar's
internal configuration database in the in-memory configuration of the executing Prime Access Registrar
server. Hot-Configuration is accomplished without interruption of RADIUS request processing. For
example, if an administrator uses aregcmd to configure a new client and issues a save command, when
the prompt returns, the newly configured client can send requests to Prime Access Registrar.
Hot-Configuration minimizes the down-time associated with having to restart an Prime Access Registrar
server to put configuration changes into effect. With the Hot-Configuration feature, a restart is only
necessary when a Session Manager, Resource Manager or Remote Server configuration is modified.
These configuration elements might not be hot-configured because they maintain state (an active session,
for example) and cannot be modified without losing the state information they maintain. Changes to
these configuration elements require a restart of Prime Access Registrar to put them into effect.
Hot-Configuration’s only connection to the replication feature is that when a change is replicated to the
slave, the slave is hot-configured to reflect the replicated change as if an administrator had used aregcmd
to make the changes directly on the slave server.
Note Any misconfiguration of replication will impact the performance of Prime Access Registrar. Hence
manual resync is required to rectify the misconfiguration.
• RepIsMaster
• RepMasterIPAddress
• RepMasterPort
• Rep Members Subdirectory
• Rep Members/Slave1
• Name
• IPAddress
• Port
RepType
RepType indicates the type of replication. The choices available are SMDBR and NONE.
When RepType is set to NONE, replication is disabled. To enable replication, set RepType to SMDBR
for Single Master DataBase Replication. RepType must be set to SMDBR on both the master and slave
servers.
RepTransactionSyncInterval
Master
On the master server, RepTransactionSyncInterval is the duration between periodic transmission of the
TransactionSync message expressed in milliseconds. The default is 60000 or 1 minute.
The purpose of RepTransactionSyncInterval is to indicate how frequently to check for an out-of -sync
condition between the master and slave servers. When the slave received the TransactionSync message,
it uses its contents to determine if it needs to resynchronize with the master.
The larger the setting for RepTransactionSyncInterval, the longer the period of time between out-of-sync
detection. However, if RepTransactionSyncInterval is set too small, the slave can frequently request
resynchronization when it is not really out of sync. If the duration is too small, the slave cannot
completely receive a transaction before it receives the TransactionSync message. In this case, the servers
will remain synchronized, but there will be unnecessary excess traffic that could affect performance.
Note We recommend that you use smaller values for the RepTransactionSyncInterval to limit the time a slave
server is offline applying change sets during automatic resynchronization.
Slave
On the slave, RepTransactionSyncInterval is used to determine if the slave has lost contact with the
master and to alert administrators of a possible loss of connectivity between the master an slave. If the
elapsed time since the last received TransactionSync message exceeds the setting of
RepTransactionSyncInterval, the slave writes a log message indicating that it might have lost contact
with the master. This log message is repeated each TransactionSyncInterval until a TransactionSync
message is received.
RepTransactionArchiveLimit
On both master and slave, the RepTransactionArchiveLimit setting determines how many transactions
can be stored in the archive. The default setting is 100. When the limit is exceeded, the oldest transaction
file is deleted. If a slave requires resynchronization and the last transaction it received is no longer in the
archive, a full resynchronization will be necessary to bring the slave back in sync with the master.
Note The value set for RepTransactionArchiveLimit should be the same on the master and the slave.
An appropriate value for RepTransactionArchiveLimit depends upon how much hard disk space an
administrator can provide for resynchronization. If this value is large, say 10,000, then the last 10,000
transactions will be stored in the archive. This is like saying the last 10,000 saves from aregcmd will be
stored in the archive. Large values are best. The size of each transaction depends upon how many
configuration changes were included in the transaction, so hard disk space usage is difficult to estimate.
Note We recommend that you use smaller values for the RepTransactionArchiveLimit to limit the time a slave
server is offline applying change sets during automatic resynchronization.
If the slave should go down or otherwise be taken off line, the value of RepTransactionArchiveLimit and
the frequency of aregcmd saves will determine how long the slave can be offline before a
full-resynchronization will be required.
There are two reasons why a slave server should have an archive:
1. The slave must save the last received transaction for resynchronization purposes (at a minimum).
2. Should the master go down, the slave can then be configured as the master and provide
resynchronization services to other slaves.
RepIPAddress
The RepIPAddress value is set to the IP Address of the machine containing the Prime Access Registrar
installation.
Note The IP address format is enhanced to support both IPv4 and IPv6.
RepPort
The RepPort is the port used to receive of replication messages. In most cases, the default value (1812)
is sufficient. If another port is to be used, the interfaces must exist in the machine.
RepSecret
RepSecret is the replication secret shared between the master and slave. The value of this setting must
be identical on both the master and the slave.
RepIsMaster
The RepIsMaster setting indicates whether the machine is a master or a slave. On the master, set
RepIsMaster to TRUE. On the slave set it to FALSE. Only the master can have this value set to TRUE
and there can be only one master.
RepMasterIPAddress
RepMasterIPAddress specifies the IP Address of the master. On the master, set RepMasterIPAddress to
the same value used in RepIPAddress above. On the slave, RepMasterIPAddress must be set to the IP
Address of the master.
Note The IP address format is enhanced to support both IPv4 and IPv6.
RepMasterPort
RepMasterPort is the port to use to send replication messages to the master. In most cases, the default
value (1812) is sufficient; however, if another is to be used, the interfaces must exist in the machine.
Rep Members/Slave1
Each slave is added much like a client is added. Each slave must have a configuration in the Rep
Members directory to be considered part of the replication network by the master. The master will not
transmit any messages or replications to servers not in this list, and any communication received by a
server not in this list will be ignored.
Note Although it is possible to configure multiple slaves with the same master, we have only considered a
single-master/single-slave configuration. This is the recommended configuration.
Name
This is the name of the slave. The name must be unique.
IPAddress
This is the IP Address of the slave.
Note The IP address format is enhanced to support both IPv4 and IPv6.
Port
This is the port upon which the master will send replication messages to the slave.
Setting Up Replication
This section provides step-by-step instructions about how to configure replication on both the master and
member servers. The “Replication Example” section on page 6-13, shows an example of replication
configuration.
If possible, open an xterm window on both the master and member. In each of these windows, change
directory to $INSTALL/logs and run xtail to watch the logs. This allows you to watch replication log
messages as they occur. If you are using a system which had a previous installation of
Prime Access Registrar, delete all files located in the $INSTALL/data/archive directory if it is present
on either the master or member systems. This section contains the following topics:
• Configuring The Master
• Configuring The Member
• Verifying the Configuration
Step 1 On the machine which is to be the master, using aregcmd, navigate to //localhost/Radius/Replication
Step 2 Set the RepType to SMDBR:
cd /Radius/Advanced
cd “rep members”
Note You must enclose Rep Members in quotes due to the space in the name.
add member1
cd member1
Step 11 Set the IPAddress to the IP Address of the machine to be the member:
Note The RepPort and RepMasterPort properties on the Master must correspond to one of the ports
configured in /Radius/Advanced/Ports, if one is configured. Otherwise, the default values for
the RepPort and RepMasterPort properties are sufficient.
save
reload
Step 1 On the machine which is to be the member, using aregcmd, navigate to //localhost/Radius/Replication.
Step 2 Set the RepType to SMDBR.
Step 5 Set RepMasterIPAddress to IP Address of the master (the same value used in Step 3 on page 8-1).
cd /Radius/Advanced
Step 7 If the Master has been configured to use a port other than the well-known (and default) RADIUS ports,
configure each Member to use the same port.
Note The RepPort and RepMasterPort properties on the Master must correspond to one of the ports
configured in /Radius/Advanced/Ports, if one is configured. Otherwise, the default values for
the RepPort and RepMasterPort properties are sufficient.
save
reload
Replication Example
This section provides an example of replication and shows the actions that occur.
Adding a User
The Users object contains all of the information necessary to authenticate a user or authorize a user.
Users in local UserLists can have multiple profiles. On the master server, use aregcmd to add a new user
to the default user list.
add testuser
cd testuser
Verifying Replication
You can use one of two methods to verify that the new user testuser was properly replicated to the
member:
• Run aregcmd on the member and look at the default userlist to see if it is there.
• Run radclient on the member and enter simple testuser testuser to create a simple access request
packet (p001).
Enter p001 send to send it. When it returns with p002, enter p002 to see if it is an Access Accept
packet or an Access Reject packet. If it is an Access Accept, the user was properly replicated to the
member. Using radclient is the recommended method to validate that a user was properly replicated.
On the Master, use aregcmd to delete the user from the default user list and save the user list.
Step 1 Create a text file called add5users with the following commands:
add /Radius/UserLists/Default/testuser1
cd /Radius/UserLists/Default/testuser1
add /Radius/UserLists/Default/testuser2
cd /Radius/UserLists/Default/testuser2
add /Radius/UserLists/Default/testuser3
cd /Radius/UserLists/Default/testuser3
add /Radius/UserLists/Default/testuser4
cd /Radius/UserLists/Default/testuser4
add /Radius/UserLists/Default/testuser5
cd /Radius/UserLists/Default/testuser5
save
When the prompt returns, go to the member and use aregcmd to view the /radius/defaults/userlist.
There should be five users there named testuser1 through testuser5.
/etc/init.d/arservagt stop
cd /radius/userlist/default
add foouser
cd foouser
save
On the member, run /etc/init.d/arservagt start. Notice the following log messages in the Master's log:
*** ./name_radius_1_log ***
10/23/2013 23:33:19 name/radius/1 Info Server 0 Resynchronizing member1.
As the log above shows, when the member started up, it validated its last received transaction number
(#3) with the master's last replicated transaction number (#4). They did not match because a replication
was initiated by the master which was not received by the member (because the member was stopped).
When the member detected this discrepancy, the member made a resynchronization request to the master.
The master responded by transmitting the missed transaction (#4) to the member. After it received and
processed the retransmitted transaction, the member determined that it was then synchronized with the
master and placed itself in an online status.
Full Resynchronization
Full Resynchronization means that the member has missed more transactions than are stored in the
master's replication archive and can not be resynchronized automatically. There is no automatic
full-resynchronization mechanism in Prime Access Registrar's configuration replication feature. If a full
resynchronization is required, you must export the master server’s database and update the member
configuration.
Note Before beginning, ensure there are no aregcmd sessions logged into the master server.
Step 1 On the master server, stop the Prime Access Registrar server agent using the following command:
/etc/init.d/arserver stop
/etc/init.d/arserver start
/etc/init.d/arserver stop
$INSTALL/bin/keybuild mcddb
cd $INSTALL/data/archive
f. As a safety check, run the following UNIX command to verify the integrity of the database.
$INSTALL/bin/dbcheck mcddb
/etc/init.d/arserver start
Note After you start the member server with the master server’s database, you will probably see
messages such as the following:
These messages will likely continue until you complete steps h and i.
save
Validating //localhost...
Saving //localhost...
reload
The member will start up and show online status in the log after it has verified it is synchronized with
the master.
Cisco Prime Access Registrar (Prime Access Registrar) software includes the identity caching feature.
Prime Access Registrar runs as application layer software and can be used standalone or in conjunction
with other workstations running Prime Access Registrar.
Note The identity caching feature is available on Prime Access Registrar releases 3.5.2 and above.
Identity caching provides subscriber identity resolution services with fast access to associated subscriber
identity data for service providers, enabling them to offer new services to their customers based on
identity caching and context information management.
This chapter contains the following sections:
• Overview
• Identity Caching Features
• Configuring Cisco Prime Access Registrar for Identity Caching
• Starting Identity Caching
Overview
Identity caching enables Cisco equipment to gain context information about the operator’s subscribers
to support network functions or to enhance subscriber’s experience on the operator’s network. Figure 7-1
on page 7-2, Prime Access Registrar System Overview, shows the network environment where
Prime Access Registrar identity caching might be used.
For example, Client Services Gateway (CSG) uses IP mapping information provided by identity caching
to support post-paid content billing. Identity caching acquires subscriber information from other devices
and information sources in the operator’s network. The type of information provided is limited by the
available information sources and is configurable by the operator, but might include information such as
IP address, MSISDN, and IMSI. Identity caching does not duplicate the operator’s persistent data stores.
Identity caching provides a protocol-based interface through which Cisco network elements
(Prime Access Registrar identity caching clients) can access subscriber information.
The Prime Access Registrar servers receive RADIUS flows from the Gateway GPRS support Node
(GGSN) which acts as a type of network access station (NAS). These flows perform full AAA
(authentication, authorization, and accounting). You can configure the Prime Access Registrar servers
to redirect the accounting information (only) to an identity caching server to be cached. The GGSN can
also be configured to direct only the RADIUS accounting information directly to the
Prime Access Registrar server.
Prime Access Registrar also receives XML identity query flows from the CSM which acts as a NAS. In
the event that a CSM should fail or lose its information, the information can be refreshed from the
information cached in the Prime Access Registrar server.
Prime Access Registrar acquires subscriber information such as the IP address, the mobile Subscriber
ISDN number (MSISDN), and the International Mobile System Identifier (IMSI) from AAA requests the
Prime Access Registrar server receives, typically from the GGSN. The types of information provided is
limited by the available information sources and is configurable by the operator.
Prime Access Registrar includes an XML Query Identity enhancement. Prime Access Registrar
previously supported User-Name lookup based on the Framed IP address of an existing session. The
XML Query Identity enhancement enables Framed IP address lookup based on the User-Name in an
existing session.
AAA
AAA
AAA
CNSAR Internet
CNSAR
CNSAR
GGSN CE590s
PDSN/HA
Catalyst 6000s Catalyst 6000s
with RLB/CSM CSMs
122007
XML identity query flows
• Enhance redundancy with stateful fail-over support for applications by finding the right connection
between subscriber identity and IP address using the Identity Cache function.
• Uses an XML interface to make it easier for any network function or application to use without
having to have detailed internal knowledge about the execution environment or programming
methods.
• Provides user identity resolution with fast access to associated subscriber data
• Establishes an identity and Access Management solution that can be used in and across multiple
network domains
• Provides a way to use identity resolution to manage the growth of 2.5G mobile data access services
(GSM/GPRS) and to provide always-on mobile data access including the following:
– Ties various IP addresses to a unique subscriber identifier
– Dynamically assigning and reusing IP addresses and controlling services with consistent
identification
– Correlates previous content activity when a mobile subscriber reconnects
– Correlates IP addresses, mobile numbers, username, and identifiers to support customer billing
– Correlates and identifies subscribers using both 2.5G and WLAN services and provides a way
to control and manage operator network services
– Provides subscriber privacy control
– Provides a way to cache content with various customers and their networks
cd /Radius/Clients
add xml-client
cd xml-client
[ //localhost/Radius/Clients/xml-client ]
Name = xml-client
Description =
IPAddress =
SharedSecret =
Type = NAS
Vendor =
IncomingScript~ =
OutgoingScript~ =
EnablePOD = FALSE
This client object is very similar to the localhost object defined in the example configuration. The
SharedSecret property will be ignored if the client is an XML client, but still must be set to a non-null
value. The Type property is also ignored for XML clients.
Step 3 Define a port object for each RADIUS port and each XML port to be used. Two RADIUS ports, the
second immediately following the first in numeric value, must be defined even if only one is needed. A
typical identity caching installation requires the following port configuration:
cd /Radius/Advanced/Ports
add 1812
add 1813
add 8080
Note Although ports 1812 and 1813 are the default ports for Prime Access Registrar, you must add them to
/Radius/Advanced/Ports to also add port 8080.
Step 4 Change directory to the 1812 port and set its type to Radius-Access.
cd /Radius/Advanced/Ports/1812
Step 5 Change directory to the 1813 port and set its type to Radius-Accounting.
cd /Radius/Advanced/Ports/1813
Step 6 Change directory to the 8080 port and set its type to XML.
-cd /Radius/Advanced/Ports/8080
Step 7 Define and configure an accounting service of type file and set it as the DefaultAccountingService.
An accounting service is required for Prime Access Registrar to cache identity information, even if no
accounting service is needed otherwise. If you added the example configuration during installation, a
local-file accounting service is already configured.
If you did not add the example configuration during software installation, see the Setting Up Accounting
section in Chapter 3, “RADIUS Accounting.”
cd /Radius/ResourceManagers
add cache
cd cache
Step 10 Set the QueryKey to a RADIUS attribute you want to key on.
For example, use the following command to set the QueryKey to User-Name:
The QueryKey must match the string on the right-hand side of one of the pairs you list in
QueryMappings. It is not necessary for the QueryKey to be configured under AttributesToBeCached
because the QueryKey will always be cached by default.
Note The QueryKey property must always be a RADIUS attribute. The Prime Access Registrar server forces
a NULL IP address (0.0.0.0) if it detects an incorrectly configured QueryKey.
Step 11 Change directory to AttributesToBeCached and use the set command to provide a list of RADIUS
attributes you want to store in cache.
cd AttributesToBeCached
set 1 Calling-Station-ID
Set 2 User-Name
Set 3 Framed-IP-Address
The attributes a session-cache resource manager caches can be queried through both RADIUS Query and
XML Query packets. When you cache attributes Framed-IP-Address or User-Name, or when you use
XML-Address-format-IPv4 or XML-UserId-id_type-subscriber_id as the QueryKey, you must map the
XML attributes to RADIUS attributes in the QueryMappings subdirectory.
Step 12 Change directory to QueryMappings and use the set command to list the attribute pairs, mapping the
XML attributes on the left-hand side to the RADIUS attribute on the right-hand side.
Step 13 Change directory to /Radius/SessionManagers and add a SessionManager for identity caching.
cd /Radius/SessionManagers
add IDcache
Step 14 Change directory to the new identity caching SessionManager, then change directory to the
ResourceManager list.
cd IDcache/ResourceManagers
Step 15 Use the set command to associate the identity caching ResourceManager with this SessionManager.
set 1 cache
Step 16 Change directory to /Radius and set the DefaultSessionManager to the identity caching
SessionManager.
cd /Radius
save
reload
exit
cd /opt/CSCOar/bin
$p send
This assumes that you are running radclient on the same server and using 1813 as the accounting port.
Step 3 Send XML requests to the specified XML port (Cisco suggests port 8080 as shown above). A typical
XML packet will look like the following:
<?xml version="1.0"?>
<Request>
<UserIdRequest>
<UserId id_type="subscriber_id">bob</UserId>
</UserIdRequest>
</Request>
To do this using xmlclient, put the XML text into a file, then enter the following command:
cd /opt/CSCOar/bin
Note This assumes that xmlclient is running on the same server as identity caching and that 8080 is the XML
port. Use the command xmlclient -H for information about how to use a different port or how to run
xmlclient from a different server.
Note For a successful query, xml response will have the IPAddress associated with the requested user-name
and for failure query it returns 0.0.0.0 as the IPAddress.
XML Interface
The XML interface is used for subscriber context information queries and responses to those queries.
The XML interface is on a UDP port (8080) and is configurable. Identity caching supports the XML
data-type definition (DTD) supported by the CSG.
The mapping from queries to replies can be one to many. For example, a UDP datagram might contain
several queries but each reply will be returned in a separate datagram. No single query or reply can
exceed the configured MTU of a datagram. Any that does results in an error.
If a query result is negative, the reply will consist of a null subscriber ID. All other error conditions cause
Prime Access Registrar to drop the request. Errors are logged locally using the Prime Access Registrar
logging mechanism.
Cisco Prime Access Registrar (Prime Access Registrar) supports two types of prepaid billing, IS835C
and Cisco Real-time Billing (CRB), a Cisco proprietary solution. The IS835C version adheres to
industry standards and is the preferred version.
Three components are required to support a prepaid billing service, such as the following:
• AAA client
• Prime Access Registrar server
• External prepaid billing server
The most important factor for an effective prepaid billing service is in developing a shared library to be
configured under the prepaid RemoteServer object. The shared library should be developed to implement
all specified API functions. You will have to provide a shared library that meets the needs of your
environment. The shared library must implement the API functions to perform the various tasks required
for your specific implementation of the prepaid billing service.
Note Cisco works with you to develop the prepaid billing service and implement the API. For more
information, contact your Cisco systems engineer.
Overview
When a subscriber uses a prepaid billing service, each call requires a set of data about the subscriber.
However, the AAA network has no previous knowledge of the subscriber’s usage behavior.
Prime Access Registrar uses an iterative authorization paradigm over multiple sessions to support the
prepaid billing solution.
Each time an authorization request is made, the billing server apportions a fraction of the subscriber’s
balance into a quota. When a subscriber uses multiple sessions, each session must obtain its own quota.
When a previously allocated quota is depleted, a session must be reauthorized to obtain a new quota.
Note The granularity and the magnitude of the quota is in the design and implementation of the prepaid billing
server and is beyond the scope of this document. In general, a smaller quota generates more network
traffic, but allows more sessions per subscriber. When the quota is equal to a subscriber’s total account
balance, there is minimal network traffic, but only one session can be supported.
When a subscriber’s current quota is depleted, the AAA client initiates a reauthorization request sending
Access-Request packets. After the Prime Access Registrar server receives the request, it forwards the
request to the billing server. The billing server then returns the next quota to use. The new quota might
not be the same as the previous, and the billing server might adjust the quota dynamically.
Property Description
Filename Name of the shared library provided by the billing server vendor, such as
libprepaid.so
IPAddress IP address of the billing server
Port Port used on the billing server, such as port 66
Connections Number of threads the prepaid service and billing server can each use (default
is 8).
cd /radius/remoteserver
add prepaid-is835c
cd prepaid-is835c
Port = 0
Filename =
Connections = 8
cd /radius/services
add prepaid
Added prepaid
cd prepaid
cd RemoteServer
add 1 prepaid-is835c
Added 1
cd /radius/services
add Prepaid-LocalAuthentication
Added prepaid-LocalAuthentication
cd prepaid-LocalAuthentication
[ //localhost/Radius/Services/prepaid-LocalAuthentication ]
Name = prepaid-LocalAuthentication
Description =
Type =
Step 3 Set the UserList property to the userlist that contains IS835C prepaid users.
Note You can use an LDAP or ODBC service in place of the local authentication service.
The authentication service must add the Prime Access Registrar internal attribute prepaid (subattribute
22) to the response upon successful authentication.
If you are using Prime Access Registrar for an accounting service with your prepaid billing solution, you
must configure a group service, for example prepaid-file, that ties accounting requests to both the
regular accounting service (local-file in our example) and the prepaid service.
Step 1 Use aregcmd to add a prepaid authentication group service under /Radius/Services.
cd /radius/services
add prepaid-groupAuthentication
Added prepaid-groupAuthentication
cd prepaid-groupAuthentication
[ //localhost/Radius/Services/prepaid-groupAuthentication ]
Name = group-prepaidAuthentication
Description =
Type =
The group service requires the ResultRule to be set to AND, the default setting for a group service.
ls
[ //localhost/Radius/Services/group-prepaidAuthentication ]
Name = group-prepaidAuthentication
Description =
Type = group
IncomingScript~ =
OutgoingScript~ =
ResultRule = AND
GroupServices/
Step 3 Change directory to GroupServices and add references to the prepaid service and the authentication
service.
cd GroupServices
[ //localhost/Radius/Services/group-prepaidAuthentication/GroupServices ]
add 1 Prepaid-LocalAuthentication
Added 1
add 2 prepaid
Added 2
Measurement Type Billing Server Action AAA Server Action AAA Client Action
Duration Return duration quota Convert duration quota Compare running
to VSAs and pass along duration quota with
quota returned by
Prime Access Registrar
server
Total volume Return volume quota Convert volume quota Compare running
to VSAs and pass along volume quota with
quota returned by
Prime Access Registrar
server
Uplink volume Return volume quota Convert volume quota Compare running
to VSAs and pass along volume quota with
quota returned by
Prime Access Registrar
server
Downlink volume Return volume quota Convert volume quota Compare running
to VSAs and pass along volume quota with
quota returned by
Prime Access Registrar
server
Total packets Return packet quota Convert packet quota to Compare running
VSAs and pass along packet quota with quota
returned by
Prime Access Registrar
server
Uplink packets Return packet quota Convert packet quota to Compare running
VSAs and pass along packet quota with quota
returned by
Prime Access Registrar
server
Measurement Type Billing Server Action AAA Server Action AAA Client Action
Downlink packets Return packet quota Convert packet quota to Compare running
VSAs and pass along packet quota with quota
returned by
Prime Access Registrar
server
Logical OR of two Return quota of both Convert both to VSA Monitor both quota and
measurements measurements and pass along issue reauthorization
packet when any one
trips
Prime Access Registrar provides maximum flexibility to billing servers by allowing the metering
variable to be modified as the service is used. This requires network nodes to measure all parameters all
the time, but to report values only after receiving a reauthorization request.
Note If you have been using an earlier implementation of CRB prepaid billing (Cisco Access Registrar 3.5.2
or earlier), you must recompile the API implementation with the newer API due to the addition of the
parameter ebs_context as the first parameter to all API methods. Contact your Cisco systems engineer
for assistance with the new API.
Property Description
Filename Name of the shared library provided by the billing server vendor, such as
libprepaid.so
IPAddress IP address of the billing server
Port Port used on the billing server, such as port 66
Connections Number of threads the prepaid service and billing server can each use (default
is 8).
cd /radius/remoteservers
add prepaid-crb
Added prepaid-crb
cd prepaid-crb
cd /radius/services
add prepaid
Added prepaid
cd prepaid
cd RemoteServers
add 1 prepaid-crb
Added 1
Note The following steps are required only when using Prepaid-CRB with SSG.
cd /radius/services
add prepaid-LocalFileAccounting
add prepaid-LocalFileAccounting
cd prepaid-LocalFileAccounting
cd /radius/services
add Prepaid-LocalAuthentication
Added prepaid-LocalAuthentication
cd prepaid-LocalAuthentication
[ //localhost/Radius/Services/prepaid-LocalAuthentication ]
Name = prepaid-LocalAuthentication
Description =
Type =
Step 3 Set the UserList property to the userlist that contains IS835C prepaid users.
Note You can use an LDAP or ODBC service in place of the local authentication service.
cd /radius/services
add Prepaid-Accounting
Added prepaid-accounting
cd prepaid-accounting
[ //localhost/Radius/Services/prepaid-accounting ]
Name = prepaid-accounting
Description =
Type =
cd GroupServices
[ //localhost/Radius/Services/prepaid-accounting/GroupServices ]
add 1 prepaid
Added 1
add 2 prepaid-LocalFileAccounting
Added 2
Step 1 Use aregcmd to add a prepaid authentication group service under /Radius/Services.
cd /radius/services
add prepaid-groupAuthentication
Added group-prepaidAuthentication
cd group-prepaidAuthentication
[ //localhost/Radius/Services/group-prepaidAuthentication ]
Name = group-prepaidAuthentication
Description =
Type =
The group service requires the ResultRule to be set to AND, the default setting for a group service.
ls
[ //localhost/Radius/Services/group-prepaidAuthentication ]
Name = group-prepaidAuthentication
Description =
Type = group
IncomingScript~ =
OutgoingScript~ =
ResultRule = AND
GroupServices/
Step 3 Change directory to GroupServices and add references to the prepaid service and the authentication
service.
cd GroupServices
[ //localhost/Radius/Services/group-prepaidAuthentication/GroupServices ]
add 1 Prepaid-LocalAuthentication
Added 1
add 2 prepaid
Added 2
Step 1 Use aregcmd to add the PCO-Parse-Client-Outgoing outgoing script under /Radius/Scripts:
cd /radius/scripts
add PCO-Parse-Client-Outgoing
Added PCO-Parse-Client-Outgoing
cd PCO-Parse-Client-Outgoing
[ //localhost/Radius/Scripts/PCO-Parse-Client-Outgoing ]
Name = PCO-Parse-Client-Outgoing
Description =
Language =
cd /radius/scripts
add PPI-Parse-Prepaid-Incoming
cd PPI-Parse-Prepaid-Incoming
Step 1 Use aregcmd to add the PPO-Parse-Prepaid-Outgoing outgoing script under /Radius/Scripts:
cd /radius/scripts
cd /radius/scripts
add PPO-Parse-Prepaid-Outgoing
Added PPO-Parse-Prepaid-Outgoing
cd PPO-Parse-Prepaid-Outgoing
cd /radius/clients
add SSG
Set PCO-Parse-Client-Outgoing
1c Access-Request 1s aaa_ebs_init_authenticate()
CRB_AR_INIT_AUTHENTICATE
3c Access-Request 3s aaa_ebs_init_authorize()
CRB_AR_INIT_AUTHORIZE
5c Accounting-Start
Accounting-Resp 6s
Data Flow
7c Access-Request+VSAs 7s aaa_ebs_reauthorize()
9c Accounting-Stop+VSAs 9s aaa_ebs_return_quota()
Access-Request (Authentication)
Flow 1c shows the client sending the Access-Request to AAA Server, part of a normal authentication
request. The exact nature of the message contents is dictated by the access technology, be it be
CDMA1X-RTT, GPRS, or another. The Access-Request might involve other messages such as
PAP/CHAP or another form of authentication.
The Flow 1c Access-Request might contain a prepaid specific VSA, CRB_AUTH_REASON. Table 8-4
lists the attributes included in the authentication Access-Request. This tells the Prime Access Registrar
server to authenticate the subscriber with the Prepaid server as well. If the value is
CRB_AR_INIT_AUTHENTICATE, the initial quota must be obtained for a single service prepaid
solution. If this VSA is not present, the Prime Access Registrar server will not authenticate with the
Prepaid billing server.
Attribute
Number Attribute Name Description Notes
1 User-Name APPL: Mobile Node Required
Username
2 NAS IP Address Accounting Node IP APPL: Required, POA
Address
31 Calling-station-ID APPL:MSISDN or IMSI APPL: Conditional
26, 9 CRB_AUTH_REASON See VSA section Required
CRB_AR_INIT_AUTHENTICATE
26, 9 CRB_USER_ID APPL:PDSN address or APPL: Required,
SSG address Address of the PDSN
Attribute
Number Attribute Name Description Notes
26, 9 CRB_SERVICE_ID APPL: Service ID such as
Simple IP service, Mobile
IP service, or VPN
service
26, 9 CRB_SESSION_ID This VSA contains the Required; the session
session key ID ID must be globally
information unique across all clients
and across reboots of
the client
In Flow 1s, the Prime Access Registrar server sends a call to the billing server to authenticate the prepaid
user and possibly determine more information about the subscriber’s account. The
Prime Access Registrar server can be configured to generate this packet flow, using a subscriber profile
parameter, if the request is from a prepaid subscriber.
Access-Accept (Authentication)
Flow 2b shows the billing server returning the authentication result. The billing server returns a failure
if the prepaid subscriber has an inadequate balance.
Flow 2s shows the Prime Access Registrar server sending the Access-Accept to the AAA client. This
message flow contains at least one prepaid billing-specific VSA (listed in Table 8-5) and might contain
other access technology-specific attributes.
Attribute
Number Attribute Name Description Notes
26, 9 CRB__USER_TYPE See Vendor-Specific Optional
Attributes, page 8-25
CRB_AR_INIT_AUTHENTICATE
Access-Request (Authorization)
In Flow 3c, the AAA client sends another Access-Request, this time to authorize the subscriber.
Table 8-6 lists the attributes required by the Prime Access Registrar server to authorize the subscriber.
The session key ID used must be specified using a prepaid VSA pointing to the RADIUS attribute
(standard or VSA).
Attribute
Number Attribute Name Description Notes
1 User-Name APPL: Mobile Node Required
Username
2 NAS IP Address Accounting Node IP Address APPL: Required, POA
Attribute
Number Attribute Name Description Notes
31 Calling-station-ID APPL:MSISDN or IMSI APPL: Conditional
26, 9 CRB_AUTH_REASON See Vendor-Specific Required
CRB_AR_INIT_AUTHORIZE Attributes, page 8-25
26, 9 CRB_USER_ID APPL:PDSN address or SSG APPL: Required,
address Address of the PDSN
26, 9 CRB_SERVICE_ID APPL: Service ID such as
Simple IP service, Mobile IP
service, or VPN service
26, 9 CRB_SESSION_ID This VSA contains the Required; the session
session key ID information ID must be globally
unique across all clients
and across reboots of
the client
.In Flow 3s, the Prime Access Registrar server sends the Prepaid billing server to obtain a quota. The
quota might contain several values depending on the number of measurement parameters chosen.
Access-Accept (Authorization)
Flow 4b shows the billing server returning the quota array for the subscriber.
In Flow 4s, the Prime Access Registrar server converts the quota array received into VSAs and sends an
Access-Accept with the assembled VSAs to the AAA client. Table 8-7 lists the prepaid-specific VSAs
that might be included in the Access-Accept response message sent to the AAA client. For more detailed
information about the VSAs, see Vendor-Specific Attributes, page 8-25.
Attribute
Number Attribute Name
26, 9 CRB_DURATION
26, 9 CRB_TOTAL_VOLUME
26, 9 CRB_UPLINK_VOLUME
26, 9 CRB_DOWNLINK_VOLUME
26, 9 CRB_TOTAL_PACKETS
26, 9 CRB_UPLINK_PACKETS
26, 9 CRB_DOWNLINK_PACKETS
Flows 3c through 4s are repeated for every service started or restarted by the AAA client.
However, if the return parameters indicate that the authorization is rejected, an Access-Accept message
is generated and sent to the client as shown in Table 8-8. When this type of error condition occurs, no
other VSA is included in the Access-Accept message.
Attribute
Number Attribute Name Description Notes
26, 9 CRB_TERMINATE_CAUSE Identifies why a Conditional; rejection
subscriber failed might be returned with
authentication: Access-Accept and zero
1. Exceeded the balance (0) quota
2. Exceeded the overdraft
3. Bad credit
4. Services suspended
5. Invalid User
Accounting-Start
In Flow 5c, the AAA client sends the Accounting-Start. In Flow 6s, the Prime Access Registrar server
replies with the Accounting-Response.
Data Flow
At this point, the data transfer begins. The AAA client monitors the subscriber’s allocated quotas for
metering parameters. A subscriber’s Reauthorization request is generated when a quota for at least one
of the metering parameters, is depleted.
Attribute
Number Attribute Name Description Notes
1 User-Name APPL: Mobile Node Conditional
Username
2 NAS IP Address Accounting Node IP APPL: Required, POA
Address address, or Home Node
address
31 Calling-station-ID APPL:MSISDN or IMSI APPL: Conditional
26, 9 CRB_AUTH_REASON See VSA Required
26, 9 CRB_USER_ID APPL: PDSN address or APPL: Required,
SSG address address of SGSN
Attribute
Number Attribute Name Description Notes
26, 9 CRB_DURATION See Vendor-Specific Required
26, 9 CRB_TOTAL_VOLUME Attributes, page 8-25 Conditional
26, 9 CRB_UPLINK_VOLUME
26, 9 CRB_DOWNLINK_VOLUME
26, 9 CRB_TOTAL_PACKETS
26, 9 CRB_UPLINK_PACKETS
26, 9 CRB_DOWNLINK_PACKETS
Attribute
Number Attribute Name
26, 9 CRB_USER_TYPE
26, 9 CRB_DURATION
26, 9 CRB_TOTAL_VOLUME
26, 9 CRB_UPLINK_VOLUME
26, 9 CRB_DOWNLINK_VOLUME
26, 9 CRB_TOTAL_PACKETS
26, 9 CRB_UPLINK_PACKETS
26, 9 CRB_DOWNLINK_PACKETS
Flow 10s shows the Prime Access Registrar server sending final Accounting-Response message to the
AAA client.
Attribute
Number Attribute Name Description Notes
1 User-Name APPL: Mobile Node Username Conditional
2 NAS IP Address Accounting Node IP Address APPL: Required, POA
31 Calling-station-ID APPL:MSISDN or IMSI APPL: Conditional
40, 2 Acct_status_type Indicates the accounting “Stop” for Required; this value (2)
the service indicates an
Accounting-Stop request
message
42 Acct-Input-Octets The number of octets sent by the Required
subscriber; uplink
43 Acc_Output_Octets The number of octets received by
the subscriber; downlink
46 Acct-Session-Time Duration of the session
47 Acct-Input-Packets Number of packets sent by the
subscriber
48 Acct-Output-Packets Number of packets received by the
subscriber
49 Acct-Terminate-Cause This parameter, used for tracking,
should remain the same for all
accounting requests for a given
service.
26, 9 CRB_DURATION See Vendor-Specific Attributes, Conditional
26, 9 CRB_TOTAL_VOLUM page 8-25
E
26, 9 CRB_UPLINK_VOLU
ME
26, 9 CRB_DOWNLINK_VO
LUME
26, 9 CRB_TOTAL_PACKE
TS
26, 9 CRB_UPLINK_PACKE
TS
26, 9 CRB_DOWNLINK_PA
CKETS
26, 9 CRB_SESSION_ID Specifies the RADIUS attribute Optional
carrying the session ID information
Vendor-Specific Attributes
Vendor-specific attributes are included in specific RADIUS packets to communicate prepaid user
balance information from the Prime Access Registrar server to the AAA client, and actual usage, either
interim or total, between the NAS and the Prime Access Registrar Server.
Table 8-12 lists the VSAs that will be defined in the API. Table 8-12 also lists the string to be used with
Cisco-AVPair below the VSA.
Note VSAs that start with CRB are used for Cisco Radius Billing prepaid service.
Table 8-12 Vendor-Specific Attributes for the Cisco Prepaid Billing Solution
Source
VSA Name Type (Call Flow) Description
CRB_AUTH_REASON Int8 1c, 7c, 7’c Passed with re-authorization:
1. Initial Authentication
crb-auth-reason
2. Initial Authorization
3. Re-authorization
4. Return Quota
5. Query to EBS
CRB_USER_ID String 1c, 7c, 7’c APPL: In PDSN this can be
Address of the PDSN.
crb-user-id
CRB_SERVICE_ID String 1c, 7c Identifies the subscriber’s
crb-service-id service
Table 8-12 Vendor-Specific Attributes for the Cisco Prepaid Billing Solution (continued)
Source
VSA Name Type (Call Flow) Description
CRB_DURATION Int32 4s, 8s Downlink quota received by the
AAA client
crb-duration
CRB_TOTAL_VOLUME Total Volume quota received by
the AAA client
crb-total-volume
CRB_UPLINK_VOLUME Uplink volume quota received by
the AAA client
crb-uplink-volume
CRB_DOWNLINK_VOLUME Uplink Volume quota received
by the AAA client
crb-downlink-volume
CRB_TOTAL_PACKETS Downlink Packet quota received
by the AAA client
crb-total-packets
CRB_UPLINK_PACKETS Uplink Packet quota received by
crb-uplink-packets the AAA client
Table 8-12 Vendor-Specific Attributes for the Cisco Prepaid Billing Solution (continued)
Source
VSA Name Type (Call Flow) Description
CRB_TERMINATE_CAUSE Int8 4se Identifies why a subscriber failed
authentication:
crb-terminate-cause
1. Exceeded the balance
2. Exceeded the overdraft
3. Bad credit
4. Services suspended
5. Invalid User
6. Invalid Password
7. System Error
8. Disabled
9. Expired
10. Valid in Future
11. Used up
12. No Parallel sessions
13. Session Already closed
14. Invalid session
CRB_PRIVATE String n/a Reserved for future use
crb-private
Note Cisco works with you to develop the prepaid billing service and implement the API. For more
information, contact your Cisco systems engineer.
At various times, according to the call flow described in the Prepaid Call Flow Specification (CRB or
IS835C), Prime Access Registrar calls out appropriate API functions present in the shared library. The
values for the arguments passed to these API calls are purely derived from the incoming RADIUS packet
and Prime Access Registrar does not maintain any dynamic information related to the call flow. It is up
to the API function to make use of the information passed to it as C structures to contact the Billing
server, get appropriate data, and return the same to Prime Access Registrar using the designated
arguments.
Note See the API specifications for more details pertaining to the arguments and return values of the API.
MaximumIncomingRequestRate
You can use the MaximumIncomingRequestRate property to limit incoming traffic in terms of “allowed
requests per second”.
For example, if you set the MaximumIncomingRequestRate to n, then at any given second, only n
requests are accepted for processing. In the next second, another n requests are accepted regardless of
whether the requests accepted earlier are processed or not. This condition serves as a soft limit.
The MaximumIncomingRequestRate property by default is zero (disabled).
MaximumOutstandingRequests
You can use the MaximumOutstandingRequests property to limit incoming traffic in terms of “requests
processed”.
For example, if you set the MaximumOutstandingRequests to n, n requests are accepted for processing.
Further requests are accepted only after processing some of these requests and sending the replies back.
This condition serves as a hard limit.
The MaximumOutstandingRequests property by default is zero (disabled).
Note You can enable either of these properties independent of the other.
or
set MaximumOutstandingRequests n
Option Description
-d<directory> Optional. Accepts a directory as parameter with
no trailing slash. You can use this option to
change the default directory to scan for
BackingStore log files. Default is current
directory.
-f<logfile> Optional. Accepts a logfile as parameter with no
leading or trailing slashes. You can use this option
to change the default log files. Allows you to enter
individual logfile name as well as wildcard
characters surrounded by single quotes.
-v Optional. No parameters.You can use this option
to get total session count and phantom session
count.
-p Optional. No parameters. Generates a list of
phantom sessions. You can use this option to clear
the stale sessions.
-o Optional. Accepts <output file> as parameter. You
can use this option to convert BackingStore log
files to readable files and write the results to the
output file specified.
-a Optional. No parameters. You can use this option
to print all session statistics, such as per-NAS
stale session count, total active sessions, and total
stale sessions.
-h You can use this option to get help with usage of
carbs.pl.
Note Before you increase the setting for RADIUS_WORKER_THREAD_COUNT , you should be certain that
you are running into a worker thread starvation issue. If you use scripts that consume a lot of processing
and memory, you might run out of memory if you create too many worker threads.
The purpose of this enhancement is to take advantage of spare CPU bandwidth which was not being used
in earlier releases of Prime Access Registrar due to a lower number of worker threads. At times, the
worker threads would be stuck doing work that took a long time to complete, like running a script.
Having more threads will help mitigate these situations and will help improve on the latency created due
to lack of free worker threads.
Step 1 Log into the Prime Access Registrar server as a root user and change directory to /cisco-ar/bin.
Step 2 Use a text editor and open the arserver file.
Step 3 Locate the line with the RADIUS_WORKER_THREAD_COUNT variable.
#change this to configure number of worker threads
RADIUS_WORKER_THREAD_COUNT=256
Step 4 Modify the number of RADIUS worker threads to the number you choose.
Note There is no upper limit to the number of RADIUS worker threads you can enable in your
Prime Access Registrar server, but you should take care not to exceed your server’s memory
capacity.
Step 5 Save the file and restart the Prime Access Registrar server.
Session-Key Lookup
The Session-Key Lookup feature enables you to identify the Session Manager and Session Key of an
existing session based on certain attributes associated with that session, such as the Mobile Station
Integrated Services Digital Network (MSISDN) number.
The Session-Key Lookup feature requires the following enhancements to Prime Access Registrar
software:
• Enabling a query service to be invoked for Ascend-IP-Allocate packets
• Enabling the setting of the Session-Key and Session-Manager environment variables by a query
operation
• Performing session management after the query operation
• A new environment variable, Set-Session-Mgr-And-Key-Upon-Lookup, which when set to TRUE
causes a session-cache Resource Manager to set the Session-Manager and Session-Key environment
variables during the query lookup.
The Session-Key Lookup feature is useful in a scenario where an existing session requires an update
from an incoming Ascend-IPA-Allocate packet (from a different NAS or device) with modified
authorization attributes. Note that this Ascend-IPA-Packet might not have the exact set of attributes as
the original packet that created the session. However, the Ascend-IPA-Allocate packet must contain at
least one attribute that can uniquely identify the session (such as the MSISDN number) and should
contain the same UserName of the original session.
The Session-Key Lookup feature works in tandem with the RADIUS Query feature, where a RADIUS
Query service is defined with the unique attribute (such as the MSISDN number) as the query-key and
is configured to query all session managers. The Query-Service environment variable is set to the defined
RADIUS Query service and the new environment variable (Set-Session-Mgr-And-Key-Upon-Lookup)
is set to TRUE for this Ascend-IPA-Allocate packet. This triggers a query operation on all the live
sessions. If there is a match, the Session-Manager and Session-Key of that session is used for subsequent
session management. During session management, the session cache is updated with the modified
authorization attributes.
The Session-Manager (or any outgoing script that executes after the Session-Manager Outgoing Script)
should not reject the packet when doing a Session-Key lookup. Doing so causes the session to be deleted.
Query-Notify
The Query-Notify feature enables you to store information about Wireless Application Protocol (WAP)
gateways that have queried for User Identity-IP Address mapping and send appropriate messages to the
WAP gateway when the subscriber logs out of the network.
Prime Access Registrar has been enhanced to update the session cache with the attribute-value pairs of
an interim accounting update packet. This ensures the Prime Access Registrar server provides updated
or current information to the WAP gateway during the proxy of interim records or query of the session
cache.
Prime Access Registrar has been enhanced to also notify the WAP gateways that have queried a session
with interim accounting update packets. If a WAP gateway does not respond to the Interim accounting
update packets, the Prime Access Registrar server times out and retries by notifying the WAP gateways
again. If there is no response after all the retries, the proxy packet is deleted and no change is made to
the session or the WAP gateway’s state in the Prime Access Registrar server. You can configure the
number of retries under /Radius/Clients/notificationproperties.
The accounting response packet from the Prime Access Registrar server to the GPRS Gateway Support
Node (GGSN) is independent of the proxy operation to the WAP gateways. The accounting response
packet is sent back immediately without waiting for responses from the WAP gateways.
The Query-Notify feature also enables you to quarantine IP addresses for a configurable amount of time
if a WAP gateway does not respond to Accounting-Stop packets sent by the Prime Access Registrar
server.
The Prime Access Registrar server stores information about clients (usually the IP address) that queried
for particular user information and sends RADIUS Accounting-Stop packets to those clients when the
Prime Access Registrar server receives the Accounting-Stop packet. There is no intermediate proxy
server between the Prime Access Registrar server and the WAP gateway.
To support the Query-Notify feature, the Prime Access Registrar server’s radius-query service has been
modified to also store information like the IP address about the clients queried for cached information.
The information is stored in the user session record along with the cached information so it is available
after a server reload.
Call Flow
This section describes the call flow of the Query-Notify feature.
1. The Prime Access Registrar server caches information from an from Accounting-Start.
This information is usually from a GGSN when a subscriber enters into the network.
2. When a WAP gateway receives a request to authenticate a subscriber, it queries the
Prime Access Registrar server using an Access-Request packet to retrieve the cached information
for that subscriber.
3. The Prime Access Registrar server responds with Access-Accept if an entry is found for the
subscriber in its cache; otherwise the server returns an Access-Reject.
The Prime Access Registrar server sends an Access-Accept packet to the WAP gateway. The list of
attributes sent in this Access-Accept will depends on radius-query service configuration.
Note You use aregcmd to configure the attributes for the Access-Accept packet in the
AttributesToBeReturned subdirectory under a radius-query service type.
4. If the Prime Access Registrar server finds a cache entry for the subscriber and if the
EnableNotifications property is set to TRUE, the Prime Access Registrar server stores the client IP
address in the subscriber’s cache.
5. If the Prime Access Registrar server receives an Accounting-Interim-Update packet from the
GGSN, it responds by sending an Accounting-Response packet then sends the
Accounting-Interim-Update packets to all the queried clients of the WAP Gateways.
If the WAP gateway queried clients do not respond to the Accounting-Interim-Update packets, the
Prime Access Registrar server times out and retries by notifying the WAP gateways again. If there
is no response after all the retries, the proxy packet is deleted and no change is made to the session
or the WAP gateway’s state in the Prime Access Registrar server. The StaleSessionTimeout property
under /Radius/Advanced is not applicable for Accounting-Interim-Update packets.
6. When the subscriber logs out of the network, the Prime Access Registrar server receives an
Accounting-Stop packet and responds by sending an Accounting-Response back to the client.
Before releasing the subscriber’s session, the Prime Access Registrar server looks for any client IP
addresses in the subscriber’s cache. If it finds any, the Prime Access Registrar server sends
Accounting-Stop packets to those clients with the attributes configured in the
NotificationAttributeGroup subdirectory for each client.
The Prime Access Registrar server forms the attributes with those attributes in the session cache and
from the Accounting-Stop packet. The Prime Access Registrar server uses the value configured for
the Port property in the NotificationProperties subdirectory as the destination port for the
Accounting-Stop packet and uses the client’s shared secret.
The Prime Access Registrar server then waits for Accounting-Response packets from each client to
which it has sent Accounting-Stop packets. The Prime Access Registrar server waits for the time
interval configured in the InitialTimeout property configured in the NotificationProperties
subdirectory before sending another Accounting-Stop packet. If it does not receive an
Accounting-Response packet, the Prime Access Registrar server sends additional Accounting-Stop
packets until the number of attempts reaches the value configured in the MaxTries property in the
NotificationProperties subdirectory.
7. When the Prime Access Registrar server receives an Accounting-Response packet from each client,
the server releases the subscriber session.
If the Prime Access Registrar server does not receive Accounting-Response packets from all clients
after the configured time and attempts, the server maintains the subscriber session for the time
interval configured in the StaleSessionTimeout property in /Radius/Advanced then releases the
subscriber session.
The Prime Access Registrar server maintains the subscriber session to address the quarantine IP
address requirement. The Prime Access Registrar server must quarantine IP addresses if a WAP
gateway does not respond to Accounting-Stop sent by the Prime Access Registrar server. The length
of time an IP address is quarantined depends on the value of the InitialTimeOut property under the
NotificationProperties subdirectory of /Radius/Clients/wap_gateway.
8. If the StaleSessionTimeout property is TRUE for a subscriber session, the Prime Access Registrar
server rejects any query requests from clients for this session cache. After the StaleSessionTimeout
expires, the Prime Access Registrar server will again send Accounting-Stop to all the clients listed
in the session and proceeds to delete this subscriber session regardless of the status of the
Accounting-Stop.
Configuration Examples
Note In addition to the following configuration, the StaleSessionTimeout property must be set in
/Radius/Advanced. This property has a default value of 1 hour.
Call Flow
The following is the WPS process and Wireless Internet Service Provider (WISP) packet sequence for a
new wireless client login at a Wi-Fi hotspot location:
1. The client discovers the WISP network at a Wi-Fi hotspot.
2. The client authenticates as guest (with null username and credentials) to the Prime Access Registrar
server .
3. The client is provisioned and a new account is created.
4. The client is authenticated using the new account credentials and accesses the Internet.
The Prime Access Registrar server performs the following functions during WPS:
1. Detects the guest subscriber login from the null username and null credentials during PEAPv0
(MS-PEAP) authentication.
2. Grants a successful login and returns a sign-up URL of the provisioning server as a
PEAP-Type-Length-Value (TLV) in the next Access-Challenge Packet.
The following is an example value for the URL PEAP-TLV:
http://www.example.com/provisioning/master.xml#sign up
Where #sign up is the parameter for this action and is a required element of the value.
The sign-up URL value is passed when the user authenticates as guest. The sign-up URL is a
fragment within the Master URL. You can also configure other fragments to be returned in the
Master URL. See Master URL Fragments, page 9-11 for more information about the different
fragments.
3. Sends a VLAN-ID or IP filter (or both) in the final Access-Accept packet to restrict the guest user’s
accessibility to only the Provisioning server.
4. Authenticates using the user configuration in the user database after the client is provisioned and a
new account is created.
Example Configuration
The following shows an example configuration for the WPS feature:
[ //localhost/Radius/Services/peapv0 ]
Name = peapv0
Description =
Type = peap-v0
IncomingScript~ =
OutgoingScript~ =
MaximumMessageSize = 1024
PrivateKeyPassword = <password>
ServerCertificateFile = <path_to_ServerCertificateFile>
ServerRSAKeyFile = <path_to_ServerRSAKeyFile>
CACertificateFile = <path_to_CACertificateFile>
CACertificatePath =<path_to_CACertificatePath>
ClientVerificationMode = Optional
VerificationDepth = 4
EnableSessionCache = True
SessionTimeout = "5 Minutes"
AuthenticationTimeout = 120
TunnelService = eap-mschapv2
EnableWPS = True
MasterURL = http://www.example.com/provisioning/master.xml
WPSGuestUserProfile = WPS-Guest-User-Profile
When you set the EnableWPS property to TRUE, you must provide values for the properties MasterURL
and WPSGuestUserProfile. See Environment Variables, page 9-11 for more information.
Environment Variables
The following two environment variables are used to support WPS:
• Send-PEAP-URI-TLV
• Master-URL-Fragment
Send-PEAP-URI-TLV
Send-PEAP-URI-TLV property is a Boolean value used by the authenticating user service to make the
PEAP-V0 service include the URI PEAP-TLV in the protected success message. Under different
circumstances Prime Access Registrar might send back different fragments within the MasterURL to the
client, as described above.
The conditions under which this has to be sent is best known to the user authentication service (the
service that is specified within the eap-mschapv2 service, which in turn is the tunnel service for
PEAP-V0 service). So when it decides that it needs to send back the URL it can set this variable to
TRUE. The default value for this is FALSE.
Master-URL-Fragment
The Prime Access Registrar authenticating user service uses Master-URL-Fragment to set the fragment
within the Master URL that needs to be sent back. The Prime Access Registrar user authentication
service sets the fragment to different values under different circumstances. While the
Send-PEAP-URL-TLV indicates whether to send the URL or not, Master-URL-Fragment is used to
intimate which fragment within the URL needs to be sent. If this variable is not set and if it is required
to send the URL, ‘#signup’ will be sent by default.
Sign up
This value is passed when the user authenticates as guest. The following is an example value for the URL
PEAP-TLV:
http://www.example.com/provisioning/master.xml#sign up
where #sign up is the parameter for this action and a required element of the value.
Renewal
This value is passed when the user’s account is expired and needs renewal before network access can be
granted. The following is an example value for the URL PEAP-TLV:
http://www.example.com/provisioning/master.xml#renewal
where #renewal is the parameter for this action and a required element of the value.
Password change
This value is passed when the user is required to change the account password. An example value for the
URL PEAP-TLV is:
http://www.example.com/provisioning/master.xml#passwordchange
where #passwordchange is the parameter for this action and a required element of the value.
Force update
This value is passed when the WISP requires the Wireless Provisioning Services on the client to
download an updated XML master file. This method of updating the XML master file on the client
should be used only to correct errors; otherwise, the TTL expiry time in the XML master file is used to
provide background updates. The following is an example value for the URL PEAP-TLV:
http://www.example.com/provisioning/master.xml#forceupdate
where #forceupdate is the parameter for this action and a required element of the value.
Unsupported Features
The following features are part of the Microsoft WPS functionality, but are not supported in the
Prime Access Registrar:
• Account Expiration and Renewal
• Password Changing and Force Update
Command Completion
Prime Access Registrar’s command completion feature provides online help by listing possible entries
to the current command line when you press the Tab key after entering a partial command. The
Prime Access Registrar server responds based on:
• The location of the cursor including the current directory
• Any data you have entered on the command line prior to pressing the Tab key
The command completion feature emulates the behavior of Cisco IOS and Kermit. When you press the
Tab key after entering part of a command, the Prime Access Registrar server provides any identifiable
object and property names. For example, after you first issue aregcmd and log into
Prime Access Registrar, enter the following:
cd <Tab>
Administrators/ Radius/
cd /Radius/services/local-file
//localhost/Radius/Services/local-file ]
Name = local-file
Description =
Type = file
IncomingScript~ =
OutgoingScript~ =
OutagePolicy~ = RejectAll
OutageScript~ =
FilenamePrefix = accounting
MaxFileSize = "10 Megabytes"
MaxFileAge = "1 Day"
RolloverSchedule =
Values can also be tab-completed. For example, if you decide to set the local-file service’s type to file,
you can do the following:
Step 1 The first task is to set up the subservices which are to be part of the AccountingGroupService. Since
subservices are merely configured Services which have been included in a service group, you need only
define two new Services.
For this example, we will define two new radius Services called OurAccountingService and
TheirAccountingService. A provider might want to maintain duplicate accounting logs in parallel with
their bulk customer's accounting logs.
Step 2 Change directory to /radius/services. At the command line, enter the following:
cd /radius/services
[ //localhost/Radius/Services ]
Entries 1 to 2 from 2 total entries
Current filter: <all>
local-file/
local-users/
add OurAccountingService
add TheirAccountingService
The configuration of these Services is very similar to standalone Radius accounting service.
Step-by-step configuration instructions are not provided, but the complete configuration is shown below:
[ //localhost/Radius/Services/OurAccountingService ]
Name = OurAccountingService
Description =
Type = radius
IncomingScript = OurAccountingInScript
OutgoingScript = OurAccountingOutScript
OutagePolicy = RejectAll
OutageScript =
MultipleServersPolicy = Failover
RemoteServers/
1. OurPrimaryServer
2. OurSecondaryServer
[ //localhost/Radius/Services/TheirAccountingService ]
Name = TheirAccountingService
Description =
Type = radius
IncomingScript = TheirAccountingInScript
OutgoingScript = TheirAccountingOutScript
OutagePolicy = RejectAll
OutageScript =
MultipleServersPolicy = Failover
RemoteServers/
1. TheirPrimaryServer
2. TheirSecondaryServer
The next step is to create the new AccountingGroupService. The purpose of this Service is to process
Accounting requests through both OurAccountingService and TheirAccountingService.
Step 4 At the command line, enter the following:
add AccountingGroupService
Added AccountingGroupService
cd AccountingGroupService
[ //localhost/Radius/Services/AccountingGroupService ]
Name = AccountingGroupService
Description =
Type =
IncomingScript =
OutgoingScript =
Step 5 Set the ResultRule to AND to ensure that both services process the accounting request successfully.
ls
[ //localhost/Radius/Services/AccountingGroupService ]
Name = AccountingGroupService
Description =
Type = group
IncomingScript =
OutgoingScript =
ResultRule = AND
GroupServices/
cd GroupServices
[ //localhost/Radius/Services/AccountingGroupService/GroupServices ]
set 1 OurAccountingService
Set 1 OurAccountingService
Set 2 TheirAccountingService
Set 2 TheirAccountingService
ls
[ //localhost/Radius/Services/AccountingGroupService ]
Name = AccountingGroupService
Description =
Type = group
IncomingScript = AcctGroupSvcInScript
OutgoingScript = AcctGroupSvcOutScript
ResultRule = AND
GroupServices/
1. OurAccountingService
2. TheirAccountingService
This completes the setup of the AccountingGroupService. To use this Service simply set it as the
DefaultAccountingService and/or configure a policy/rule set which will select this Service. Essentially,
this can be used in the same manner as any other standalone service.
Summary of Events
The following describes the flow of what happens when a client sends an accounting request which is
processed by the AccountingGroupService:
1. ActGroupSvcInScript is executed.
2. OurAccountingService is called.
3. OurAccountingService's Incoming Script, OurAccountingInScript is called.
4. The request is sent to the Remote Server OurPrimaryServer and/or OurSecondaryServer, if
necessary.
5. If a response is not received, because we used the AND ResultRule, the request failed and no
response is sent to the client and the request is dropped. If a response is received, then the process
continues.
6. OurAccountingService's Outgoing Script, OurAccountingOutScript is called.
7. TheirAccountingService is called.
8. TheirAccountingService's Incoming Script, TheirAccountingInScript is called.
9. The request is sent to the Remote Server TheirPrimaryServer and/or TheirSecondaryServer, if
necessary.
10. If a response is not received, because we used the AND ResultRule, the request failed and no
response is sent to the client and the request is dropped. If a response is received, then the process
continues.
11. TheirAccountingService's Outgoing Script, TheirAccountingOutScript is called.
12. AcctGroupSvcOutScript is executed.
13. Standard processing continues.
Step 1 The first task is to set up the subservices which are to be part of the AuthenticationGroupService. Since
subservices are merely configured Services which have been included in a service group, we will simply
define two new Services. For simplicity, we will define two new radius Services called
AuthenticationServiceA and AuthenticationServiceB.
Step 2 At the command line, enter the following:
cd /radius/services
[ //localhost/Radius/Services ]
add AuthenticationServiceA
add AuthenticationServiceB
Step 3 The configuration of these Services is very similar to standalone Radius authentication service.
Step-by-step configuration instructions are not provided, but the complete configuration is shown below:
[ //localhost/Radius/Services/AuthenticationServiceA ]
Name = AuthentictionServiceA
Description =
Type = radius
IncomingScript = AuthAInScript
OutgoingScript = AuthAOutScript
OutagePolicy = RejectAll
OutageScript = AuthAOutageScript
MultipleServersPolicy = Failover
RemoteServers/
1. PrimaryServerA
2. SecondaryServerA
[ //localhost/Radius/Services/AuthenticationServiceB ]
Name = AuthentictionServiceB
Description =
Type = radius
IncomingScript = AuthBInScript
OutgoingScript = AuthBOutScript
OutagePolicy = RejectAll
OutageScript = AuthBOutageScript
MultipleServersPolicy = Failover
RemoteServers/
1. PrimaryServerB
2. SecondaryServerB
The next step is to create the new "AuthenticationGroupService". The purpose of this Service is to
process authentication requests through both AuthenticationServiceA and AuthenticationServiceB if
AuthenticationServiceA rejects the request.
Step 4 At the command line, enter the following:
add AuthenticationGroupService
Added AuthenticationGroupService
cd AuthenticationGroupService
[ //localhost/Radius/Services/AuthenticationGroupService ]
Name = AuthenticationGroupService
Description =
Type =
IncomingScript =
OutgoingScript =
Next set the ResultRule to OR because we want to ensure that if the first subservice rejects the request,
we then try the second subservice. If the second subservice rejects the request, then the response to the
client is a reject.
Step 5 At the command line, enter the following:
set ResultRule OR
Set ResultRule OR
ls
[ //localhost/Radius/Services/AuthenticationGroupService ]
Name = AuthenticationGroupService
Description =
Type = group
IncomingScript = AuthGroupSvcInScript
OutgoingScript = AuthGroupSvcOutScript
ResultRule = OR
GroupServices/
cd GroupServices
[ //localhost/Radius/Services/AuthenticationGroupService/GroupServices ]
set 1 AuthenticationServiceA
Set 1 AuthenticationServiceA
Set 2 AuthenticationServiceB
Set 2 AuthenticationServiceB
ls
[ //localhost/Radius/Services/AuthenticationGroupService ]
Name = AuthenticationGroupService
Description =
Type = group
IncomingScript = AuthGroupSvcInScript
OutgoingScript = AuthGroupSvcOutScript
ResultRule = OR
GroupServices/
1. AuthenticationServiceA
2. AuthenticationServiceB
This completes the setup of the AuthenticationGroupService. To use this Service simply set it as the
DefaultAuthenticationService and/or configure a policy/rule set which will select this Service.
Essentially, this can be used in the same manner as any other standalone Service.
Summary of Events
The following describes the flow of what happens when a client sends an Authentication request which
is processed by the AuthenticationGroupService:
1. AuthGroupSvcInScript is executed.
2. AuthenticationServiceA is called.
3. AuthenticationServiceA's Incoming Script, AuthAInScript is called.
4. If the response is a reject or the request is dropped (due to an Outage Policy):
a. AuthenticationServiceA's Outgoing Script, AuthAOutScript is called.
b. Processing continues with the next service.
5. If the response is an Accept:
a. AuthenticationServiceA's Outgoing Script, AuthAOutScript is called.
b. Skip to step 9.
6. AuthenticationServiceB is called.
7. AuthenticationServiceB's Incoming Script, AuthBInScript is called.
8. Since this is the last subservice in our Group Service:
a. AuthenticationServiceB's Outgoing Script, AuthBOutScript is called.
b. Regardless of whether the request is Accepted or Rejected, processing will continue at step 9.
9. AuthGroupSvcOutScript is executed.
10. Standard processing continues.
Table 9-2 Remote LDAP Server Password Encryption Style Values (continued)
The default value for the PasswordEncryptionStyle property on a Remote LDAP Server is dynamic.
Note Using the dynamic setting for the PasswordEncryptionStyle property will require a bit more processing
for each password comparison. When using dynamic, the Prime Access Registrar server must examine
each password for a known prefix. This should have no visible impact on performance.
Logs
Turn on trace to level 4 to indicate (via the trace log) which password comparison method is being used.
Dynamic Attributes
Prime Access Registrar supports dynamic values for the configuration object properties listed below.
Dynamic attributes are similar to UNIX shell variables. With dynamic attributes, the value is evaluated
at run time. All of the objects that support dynamic attributes will have validation turned off in aregcmd.
This section contains the following topics:
• Object Properties with Dynamic Support
• Dynamic Attribute Format
• Configuration
• Example
• Notes
• Validation
DefaultSessionManager
IncomingScript
OutgoingScript
/Radius/Clients
client1/
IncomingScript
OutgoingScript
/Radius/Userlist/Default
user1/
Group
BaseProfile
AuthenticationScript
AuthorizationScript
/Radius/UserGroup
Group1/
BaseProfile
AuthenticationScript
AuthorizationScript
/Radius/Vendor
Vendor1/
IncomingScript
OutgoingScript
/Radius/Service
Service1/
IncomingScript
OutgoingScript
OutageScript
OutagePolicy
/Radius/RemoteServers
remoteserver1/
IncomingScript
OutgoingScript
Remoteldapserver1/
Searchpath
Filter
Note To differentiate the properties that support dynamic attributes, we place a tilde (~) after each
property, as in IncomingScript~. However, when the Prime Access Registrar administrator
is required to set values for those properties, continue to use the original property name, such
as set IncomingScript ${e|realm}{Test}. The tilde is only for visual effect, and including the
tilde will generate an error (“310 command Failed.”)
The default Authentication Service is determined at run time. Prime Access Registrar first checks to see
if there is one value of realm in the environment dictionary. If there is, it becomes the value of
DefaultAuthenticationService. If there is not, check the value of realm in the request dictionary. If there
is one value, it becomes the value of DefaultAuthenticationService. Otherwise, local-users is the
DefaultAuthenticationService. If we do not set local-users as the default value, the
DefaultAuthenticationService is null. The same concept applies to all other attribute properties.
The validation for the dynamic values of the object property will only validate the default value. In the
above example, Prime Access Registrar will do validation to check whether local-users is one of services
defined in the service subdirectory.
Note When setting specific property values, do not use the tilde (~) in the property name. Doing so generates
a 310 Command Failed error.
Configuration
1. Configure the tag attributes as untagged attributes under the /Radius/Advanced/Attribute
Dictionary directory (for example, Tunnel-Type).
2. Attach the “_tag” tag to these attributes when configuring the attributes under all of the other
directories as tagged attributes (for example, Tunnel-Type_tag10 under the /Radius/Profiles/test
directory). Without the tag number, the default value is (_tag = _tag0).
Example
/Radius/Advanced/Attribute Dictionary
/Tunnel-Client-ID
Name = Tunnel-Client-Endpoint
Description =
Attribute = 66
Type = STRING
Min = 0
Max = 253
/Radius/Profiles/test
Name = test
Description =
/Attributes
Tunnel-Client-Endpoint_tag3 = “129.56.112.1”
Notes
1. “_tag” is reserved for the tunneling attributes. No other attributes should include this suffix.
2. The tag number value can range from 0 through 31.
Validation
The Prime Access Registrar server checks whether the tag attributes are defined under the
/Radius/Advanced/Attribute Dictionary directory. The server also checks whether the tag number falls
within the range (0-31).
When the 6400 sends out the device authentication packet, it might have different
User-Name/User-Password attributes for each 6400 NAS. When Prime Access Registrar receives the
packet, it tries to obtain the Device-Name/Device-Password attributes from the NAS entry in the
Prime Access Registrar configuration database. When the User-Name/User-Password in the packet
match the configured Device-Name/Device-Password attribute values, Prime Access Registrar assumes
that it must get the device. The next step is to replace the User-Name attribute with the concatenated
<module>/<slot>/<port> string. From this point, the packet is treated as a regular packet.
Note A user record with the name of the concatenated string must be created.
Note This format only supports NAS Port Format D. See Cisco IOS documentation for more information
about NAS port formats.
The format of the new User-Name attribute is the printf of “%s-%d-%d-%d-%d-%d” for the following
values:
NAS-IP—in dot format of the NAS-Ip-Address attribute. For example, 10.10.10.10.
slot—apply mask 0xF0000000 on NAS-Port attribute and shift right 28 bits. For example, NAS-Port is
0x10000000, the slot value is 1.
module—apply mask 0x08000000 on NAS-Port attribute and shift right 27 bits. For example, NAS-Port
is 0x08000000, the module value is 1.
port—apply mask 0x07000000 on NAS-Port attribute and shift right 24 bits. For example, NAS-Port is
0x06000000,the port value is 6.
VPI—apply mask 0x00FF0000 on NAS-Port attribute and shift right 16 bits. For example, NAS-Port is
0x00110000, the VPI value is 3.
VCI—apply mask 0x0000FFFF on NAS-Port attribute. For example, NAS-Port is 0x00001001, the VCI
value is 9.
User-Profile
This attribute is of type string with the format:
<Value1>::<Value2> …
The User-Profile attribute is intended to hold a list of profile names. <Value1> and <Value2> represent
the names of the profiles. They are separated by the “::” character, therefore, the “::” can not be part of
the profile name. The order of values in the string has significance, as the profiles are evaluated from left
to right. In this example, profile <Value2> is applied after profile <Value1>.
Assume the user record has a field called UserProfile that holds the name of the profile that applies to
this user. This field is mapped to the environment attribute User-Profile. Following is how the mapping
is done with aregcmd:
QuickExample/
Name = QuickExample
Description =
Protocol = ldap
IPAddress = 209.165.200.224
Port = 389
ReactivateTimerInterval = 300000
Timeout = 15
HostName = QuickExample.company.com
BindName =
BindPassword =
UseSSL = FALSE
SearchPath = "o=Ace Industry, c=US"
Filter = (uid=%s)
UserPasswordAttribute = password
LimitOutstandingRequests = FALSE
MaxOutstandingRequests = 0
MaxReferrals = 0
ReferralAttribute =
ReferralFilter =
PasswordEncryptionStyle = None
LDAPToEnvironmentMappings/
UserProfile = User-Profile
LDAPToRadiusMappings/
After Prime Access Registrar authenticates the user, it checks whether User-Profile exists in the
environment dictionary. If it finds User-Profile, for each value in User-Profile, Prime Access Registrar
looks up the profile object defined in the configuration database and adds all of the attributes in the
profile object to the response dictionary. If any attribute is included in more than one profile, the newly
applied profile overrides the attribute in the previous profile.
User-Group
You can use the User-Group environment variable to apply the user profile as well. In
Prime Access Registrar, a user can belong to a user group, and that user group can have a pointer to a
user profile. When Prime Access Registrar finds that a packet has User-Group set, it obtains the value
of the User-Profile within the user group, and if the User-Profile exists, it applies the attributes defined
in the user profile to that user.
Note that in Prime Access Registrar, every user can also directly have a pointer to a user profile.
Prime Access Registrar applies profiles in the following order:
1. If the user profile defined in the user group exists, apply it.
2. If the user profile defined in the user record exists, apply it.
The profile in User-Group is more generic than in User-Profile. Therefore, Prime Access Registrar
applies the profile from generic to more specific.
MultiLink-PPP (ML-PPP)
Prime Access Registrar supports MultiLink-PPP (ML-PPP). ML-PPP is an IETF standard, specified by
RFC 1717. It describes a Layer 2 software implementation that opens multiple, simultaneous channels
between systems, providing additional bandwidth-on-demand, for additional cost. The ML-PPP standard
describes how to split, recombine, and sequence datagrams across multiple B channels to create a single
logical connection. The multiple channels are the ports being used by the Network Access Server (NAS).
During the AA process, Prime Access Registrar authenticates the user connection for each of its
channels, even though they belong to the same logical connection. The Authentication process treats the
multilink connection as if it is multiple, single link connections. For each connection,
Prime Access Registrar creates a session dedicated for management purposes. The session stays active
until you logout, which subsequently frees up all of the ports in the NAS assigned to each individual
session, or until the traffic is lower than a certain threshold so that the secondary B channels are
destroyed thereafter. Prime Access Registrar has the responsibility of maintaining the active session list
and discards any session that is no longer valid in the system, by using the accounting stop packet issued
from NAS. The multiple sessions that were established for a single logical connection must be destroyed
upon the user logging out.
In addition, the accounting information that was gathered for the sessions must be aggregated for the
corresponding logical connection by the accounting software. Prime Access Registrar is only
responsible for logging the accounting start and accounting stop times for each session. As those
sessions belong to the same bundle, IETF provides two standard RADIUS attributes to identify the
related multilink sessions. The attributes are Acct-Multi-Session-Id (attribute 50) and
Acct-Link-Count (attribute 51), where Acct-Multi-Session-Id is a unique Accounting identifier used
to link multiple related sessions in a log file, and Acct-Link-Count provides the number of links known
to have existed in a given multilink session at the time the Accounting record was generated. The
Accounting software is responsible for calculating the amount of the secondary B channel’s connection
time.
The secondary B channel can go up and down frequently, based upon traffic. The Ascend NAS supports
the Target-Util attribute, which sets up the threshold for the secondary channel. When the traffic is
above that threshold the secondary channel is up, and when the traffic is below that threshold, the
secondary B channel is brought down by issuing an Accounting stop packet to Prime Access Registrar.
On the other hand, if you bring down the primary channel (that is, log out), the secondary B channel is
also destroyed by issuing another Accounting stop packet to Prime Access Registrar.
/Radius
/UserGroups
/ISDN-Users
Name = ISDN-Users
Description = “ Users who always use ISDN”
BaseProfile = Default-ISDN-Users
Authentication-Script =
Authorization-Script =
The Port-Limit attribute controls the number of concurrent sessions a user can have. The Target-Util
attribute controls the threshold level at which the second B channel should be brought up.
Modify or
Object Add Delete
Radius Yes Yes
UserLists Yes Yes
UserGroups Yes Yes
Policies Yes Yes
Clients Yes Yes
Vendors Yes Yes
Scripts Yes Yes
Services Yes Yes
SessionManagers Yes No
ResourceManagers Yes No
Profiles Yes Yes
Rules Yes Yes
Translations Yes Yes
TranslationGroups Yes Yes
RemoteServers Yes No
Replication No No
Advanced Yes Yes
SNMP No No
Ports No No
Interfaces No No
NAS Monitor
The ability to monitor when a NAS is down (really only unreachable from Prime Access Registrar) is
provided by nasmonitor. This program will repeatedly query a TCP port at the specified IP address until
the device (NAS) is reachable. If the NAS is not reachable after a period of time, a warning e-mail is
sent; if the NAS is still not reachable after another period of time, a message is sent to
Prime Access Registrar to release all sessions associated with that NAS. The port to query, the query
frequency, the first time interval, the back-off time interval, and the E-mail address to send to are all
configurable (with defaults); the only required parameter is the NAS IP address. This program will work
for any device that has a TCP port open; it can either be run by hand, when desired, or put in a cron job.
See nasmonitor -h for details.
Note You must have tclsh installed in /usr/local/bin to use nasmonitor. tclsh is part of the standard Tcl
installation that can be downloaded from http://www.scriptics.com.
Note The arbug script neither updates nor replaces any system or Prime Access Registrar-related
configuration.
Running arbug
To run the arbug script, change directory to /cisco-ar/bin and enter the following:
./arbug
Files Generated
The arbug script generates five files that are compressed into a tarball. Table 9-7 provides a summary
of the information found in each of the files.
File Description
car.debug.tar.* Machine-specific information including OS type, RAM details, disk
space information, swap space information, patch information and open
file details.
car.config.tar.* Prime Access Registrar server configuration, server statistics, database
dump by taking the administrator username and password as the input.
car.confini.tar.* Information about ODBC .ini files and SNMP configuration
car.core.tar.* Core files if any are present
car.logcerscr.tar.* Information from scripts directory, certificate directory, license directory
Step 1 Log into the Prime Access Registrar server, and use aregcmd to navigate to
//localhost/Radius/UserLists/default/bob.
[ //localhost/Radius/UserLists/Default/bob ]
Name = bob
Description =
Password = <encrypted>
AllowNullPassword = FALSE
Enabled = TRUE
Group~ = PPP-users
BaseProfile~ =
AuthenticationScript~ =
AuthorizationScript~ =
UserDefined1 =
Attributes/
CheckItems/
cd CheckItems
[ //localhost/Radius/UserLists/Default/bob/CheckItems ]
save
Step 1 Log into the Prime Access Registrar server, and use aregcmd to navigate to
//localhost/Radius/UserGroups/Default.
cd /Radius/UserGroups/Default
[ //localhost/Radius/UserGroups/Default ]
Name = Default
Description = "Users who sometimes connect using PPP and sometimes connect "
BaseProfile~ =
AuthenticationScript~ =
AuthorizationScript~ = AuthorizeService
Attributes/
CheckItems/
cd CheckItems
[ //localhost/Radius/UserGroups/Default/CheckItems ]
save
User-Specific Attributes
The Prime Access Registrar server supports user-specific attributes which enables the
Prime Access Registrar server to return attributes on a per-user or per-group basis without having to use
profiles.
The Prime Access Registrar server includes a property called HiddenAttributes to the User and
UserGroup object. The HiddenAttributes property contains a concatenation of all user-level reply
attributes. The HiddenAttributes property is not displayed, nor can the value be set or unset using the
command-line interface.
The order of application of attributes is as follows:
1. UserGroup Base Profile
2. UserGroup Attributes
3. User Base Profile
4. User Attributes
The value of the HiddenAttributes property is used dynamically to construct and populate a virtual
attributes directory in the User object. All values from the Attributes directory will go into the
HiddenAttributes property. This occurs transparently when the administrator issues a save command.
Packet of Disconnect
Prime Access Registrar supports the Packet of Disconnect (POD) feature that enables the
Prime Access Registrar server to send disconnect requests (PODs) to a NAS so that all the session
information and the resources associated with the user sessions can be released. Prime Access Registrar
can also determine when to trigger and send the POD.
For example, when a PDSN handoff occurs during a mobile session, the new PDSN sends out a new
access-request packet to Prime Access Registrar for the same user. Prime Access Registrar should detect
this handoff by the change in NAS-Identifier in the new request and trigger sending a POD to the old
PDSN if it supports POD. Prime Access Registrar also provides an option for administrator to initiate
sending POD requests through the command-line interface (CLI) for any user session.
Prime Access Registrar forwards POD requests from external servers to the destination NAS.
This section contains the following topics:
• Configuring Packet of Disconnect
• Proxying POD Requests from External Servers
If the Prime Access Registrar server might send a POD to this client, set the
EnableDynamicAuthorization property to TRUE. When you set this property to TRUE, the
Prime Access Registrar server creates a DynamicAuthorizationServer subdirectory under the client
object. The following example shows a newly created DynamicAuthorizationServer subdirectory:
[ //localhost/Radius/Clients/NAS1/DyanamicAuthorizationServer ]
Port = 3799
DynamicAuthSharedSecret =
InitialTimeout = 5000
MaxTries = 3
PODAttributeGroup =
COAAttributeGroup =
The default port is 3799. You can change the port, if desired.
The property DynamicAuthSharedSecret is initially set to the same as value as the client's SharedSecret
property when you set EnableDynamicAuthorization to TRUE. You can chose to configure a different
secret for POD in this subdirectory.
The InitialTimeout property represents the number of milliseconds used as a timeout for the first attempt
to send a POD packet to a remote server. For each successive retry on the same packet, the previous
timeout value used is doubled. You must specify a number greater than zero, and the default value is 5000
(or 5 seconds).
The MaxTries property represents the number of times to send a proxy request to a remote server before
deciding the server is offline. You must specify a number greater than zero, and the default is 3.
The PODAttributeGroup property points to a group of attributes to be included in a disconnect-request
packet sent to this client.
The attributes you configure under the AttributesToBeCached directory are cached in the session
record during session management. The cached attributes are then sent in the disconnect-request for this
session.
The OverwriteAttributes property indicates whether to overwrite the existing attributes if there are any
in the session record. Since this resource manager can be invoked during Access-Request as well as
Accounting-Start processing, the OverwriteAttributes can be used to control if the attributes cached
during Access-Request processing can be overwritten with the attributes available during
Accounting-Start processing.
The following is an example of a typical session-cache resource manager:
[ //localhost/Radius/ResourceManagers/RM-New ]
Name = RM-New
Description =
Type = session-cache
OverwriteAttributes = TRUE
AttributesToBeCached/
1. Framed-IP-Address
2. CDMA-Correlation-ID
QueryMappings/
The attributes used in the example can be added as an indexed list using add or set commands (in any
order).
query-sessions
The syntax for using query-sessions with-Age option is the following:
Where <path> is the path to the server, session-manager or resource manager and <value> is the
minimum age of the session specified in minutes or hours with options M, Minutes, H or Hours. This
command returns all sessions that are older than the given age value.
The syntax for using query-sessions with-Attribute option is the following:
Where <name> is the RADIUS attribute name and <value> is the value of the attribute to be matched.
This command returns the sessions where a session record contains and matches the attribute value
specified in <value> field.
release-sessions
The syntax for using release-sessions with-Age option is:
Where, <path> is the path to the server, session-manager or resource manager and <value> is the
minimum age of the session specified in minutes or hours with options M for Minutes, H for Hours. This
command returns all sessions that are older than the given age value.
The syntax for using release-sessions with-Attribute option is:
Where, <name> is the RADIUS attribute name and <value> is the value of the attribute to be matched.
This command returns the sessions where a session record contains and matches the attribute value
specified in <value> field.
A new option is also available for release-sessions command to enable an administrator to trigger
sending a POD for a user after the session is released.
Where, <path> is the path to the server, Session Manager, or Resource Manager and <type> is one of the
following: NAS, User, IP-Address ID, or Age. The release-sessions command with an optional
[send-pod] at the end results in Prime Access Registrar sending a POD request. The PoD requests are
directed to port number configured in /radius/clients/<client name>/DynamicAuthorizationServer/port.
By default it is set to 3799. To configure udp xxx, set the port value as:
If the Prime Access Registrar server might send a CoA request to this client, set the
EnableDynamicAuthorization property to TRUE. When you set this property to TRUE, the
Prime Access Registrar server creates a DynamicAuthorizationServer subdirectory under the client
object. The following example shows a newly created DynamicAuthorizationServer subdirectory:
[ //localhost/Radius/Clients/NAS1/COA ]
Port = 3799
DynamicAuthSharedSecret =
InitialTimeout = 5000
MaxTries = 3
PODAttributeGroup =
COAAttributeGroup =
The default port is 3799. You can change the port, if desired.
The property DynamicAuthSharedSecret is initially set to the same as value as the client's SharedSecret
property when you set EnableDynamicAuthorization to TRUE. You can chose to configure a different
secret for CoA in this subdirectory.
The InitialTimeout property represents the number of milliseconds used as a timeout for the first attempt
to send a CoA packet to a remote server. For each successive retry on the same packet, the previous
timeout value used is doubled. You must specify a number greater than zero, and the default value is 5000
(or 5 seconds).
The MaxTries property represents the number of times to send a proxy request to a remote server before
deciding the server is offline. You must specify a number greater than zero, and the default is 3.
The COAAttributeGroup property points to a group of attributes to be included in a CoA request packet
sent to this client.
You can create and configure the COAAttributeGroup in the /Radius/Advanced/AttributeGroups/
directory. The default group is not set to any value by default. When an attribute group is configured, the
Prime Access Registrar server includes the attributes in this group in a CoA request. The values for these
attributes are fetched from the user’s session record.
The CoA attribute group configuration can be used with a session-cache Resource Manager. For
example, any new attributes that are to be sent in a CoA request can be configured for caching by the
session-cache Resource Manager so they will be available in the session record when it is to be sent in
the CoA request.
The CoA request might also contain AV pairs from the optional profile name in the query-session CLI
command used to send the CoA request. In a 3GPP2 scenario, a profile containing the Filter-Id attribute
set to a value “Hot-Line Active” can be included when a user is to be hot-lined. This can be used as a
hot-line profile possibly containing other attributes as desired by the wireless operator. Another profile
might be defined containing the Filter-Id attribute with the value “Hot-Line Normal.” This profile can
be used with the query-session CLI command to bring the user back to normal.
The CoA request packet sent by the Prime Access Registrar server conforms to internet RFC 3756. In
response to a CoA request initiated by the Prime Access Registrar server, the client should respond with
a COA-ACK if it is able to hot-line the user based on credentials available in the CoA request. If the
client is unable to hot-line the user for any reason, the client can include an error-cause attribute with the
appropriate reason in a COA-NAK packet.
The Prime Access Registrar server logs all CoA responses. If the Prime Access Registrar server does not
receive a response to a CoA request within the timeout period, it will retransmit for the configured
number of retries, then logs an error if no response is received.
The Prime Access Registrar server forwards proxied CoA requests sent by external servers to the
destination NAS. The CoA requests are proxied based on the NAS-IP-Address in the incoming request.
The proxied CoA requests from external servers are forwarded to the destination NAS only if the source
IP address is configured to accept dynamic authorization requests. The responses received from the NAS
(either COA-ACK or COA-NAK) are forwarded back to the source where the Prime Access Registrar
server received the original proxy request.
Dynamic DNS
Prime Access Registrar supports the Dynamic DNS protocol providing the ability to update DNS
servers. The dynamic DNS updates contain the hostname/IP Address mapping for sessions managed by
Prime Access Registrar.
You enable dynamic DNS updates by creating and configuring new Resource Managers and new Remote
Servers, both of type dynamic-dns. The dynamic-dns Resource Managers specify which zones to use for
the forward and reverse zones and which Remote Servers to use for those zones. The dynamic-dns
Remote Servers specify how to access the DNS Servers.
This section contains the following topics:
• Configuring Dynamic DNS
• Testing Dynamic DNS with radclient
cd /Radius/Advanced/DDNS/TSIGKeys
add foo.com
This example named the TSIG Key, foo.com, which is related to name of the example DNS server we
use. You should choose a name for TSIG keys that reflects the DDNS client-server pair (for example,
foo.bar if the client is foo and the server is bar), but you should use the name of the TSIG Key as defined
in the DNS server.
Step 3 Configure the TSIG Key:
cd foo.com
The Secret should be set to the same base64-encoded string as defined in the DNS server. If there is a
second TSIG Key for the primary server of the reverse zone, follow these steps to add it, too.
Step 4 Use aregcmd to create and configure one or more dynamic-dns Remote Servers.
Step 5 Create the dynamic-dns remote server for the forward zone:
cd /Radius/RemoteServers
add ddns
This example named the remote server ddns which is the related to the remote server type. You can use
any valid name for your remote server.
Step 6 Configure the dynamic-dns remote server:
cd ddns
set IPAddress 10.10.10.1 (ip address of primary dns server for zone)
If the reverse zone will be updated and if the primary server for the reverse zone is different than the
primary server for the forward zone, you will need to add another Remote Server. Follow the previous
two steps to do so. Note that the IP Address and the TSIG Key will be different.
You can now use aregcmd to create and configure a resource manager of type dynamic-dns.
Step 7 Create the dynamic-dns resource manager:
cd /Radius/ResourceManagers
add ddns
This example named the service ddns which is the related to the resource manager type but you can use
any valid name for your resource manager.
Step 8 Configure the dynamic-dns resource manager.
cd ddns
Finally, reference the new resource manager from a session manager. Assuming that the example
configuration was installed, the following step will accomplish this. If you have a different session
manager defined you can add it there if that is appropriate.
Step 9 Reference the resource manager from a session manager:
cd /Radius/SessionManagers/session-mgr-1/ResourceManagers
set 5 DDNS
Note The Property AllowAccountingStartToCreateSession must be set to TRUE for dynamic DNS to work.
aregcmd
trace 4
cd /opt/CSCOar/bin
radclient
Example:
$p send
Step 6 Check the aregcmd trace log and the dns server to verify that the host entry was updated in both the
forward and reverse zones.
Note When using the same service for reauthentication and reauthorization, a loop can occur in these services.
The loop count, by default is 10. You can change the loop count using the Dynamic-Service-Loop-Limit
environment variable.
Note Ensure that the length of fields such as Username, Session/Resource Manager name Session-Key,
Query-Key and so on are limited to the value specified in the Table 9-8 while it is configured. Although
the field length of entire session record is 3KB it is limited to 2KB. This is practically sufficient to hold
all the session parameters as well as the cached attributes (if any).
Field Type
ID NUMBER(10)
SESSION_KEY VARCHAR2(20)
NAME VARCHAR2(20)
PER_USER_RM VARCHAR2(20)
PER_GROUP_RM VARCHAR2(20)
IP_RM VARCHAR2(20)
IP VARCHAR2(20)
SESSION_MANAGER VARCHAR2(20)
AC NUMBER(10)
NAS VARCHAR2(20)
CACHE_RM VARCHAR2(20)
Q_VALUE VARCHAR2(20)
TS NUMBER(15)
SESSION_RECORD VARCHAR2(3072)
Note Remote session manager will work only with Oracle database.
Note In remote-session-manager, query-session with the 'with-age' option will not work.
RADIUS DIAMETER
EAP-SIM / EAP-AKA Request Multimedia-Auth-Request
283908
EAP-SIM / EAP-AKA Response Multimedia-Auth-Answer
NAS AR HSS
For more information on Wx interface, see the 3GPP TS 29.124 and TS 29.229 specifications.
Configuration Examples
The following shows an example configuration for EAP-AKA:
[ //localhost/Radius/Services/eap-aka-wx ]
Name = eap-aka-wx
Description =
Type = eap-aka
AlwaysRequestIdentity = False
EnableIdentityPrivacy = False
PseudonymSecret = <encrypted>
PseudonymRenewtime = "24 Hours"
PseudonymLifetime = Forever
Generate3GPPCompliantPseudonym = False
EnableReauthentication = False
MaximumReauthentications = 16
ReauthenticationTimeout = 3600
ReauthenticationRealm =
AuthenticationTimeout = 120
QuintetGenerationScript~ =
UseProtectedResults = False
SendReAuthIDInAccept = False
SubscriberDBLookup = Diameter
DestinationRealm = mpc.com
PreRequestTranslationScript~ =
PostRequestTranslationScript~ =
PreResponseTranslationScript~ =
PostResponseTranslationScript~ =
Note The attribute with (M) represents mandatory, (O) represents optional, (C) represents conditionally
available.
If 3GPP-IMSI is present in the incoming request packet, the following 3GPP-related attributes are also
reported to the LI server:
• 3GPP-IMSI
• Called-Station-Id
• Calling-Station-Id
• 3GPP-PDP-Type
• SGSN-Address
• GGSN-Address
• 3GPP-IMSI-MCC-MNC
• 3GPP-NSAPI
• 3GPP-SGSN-MCC-MNC
• 3GPP-IMEISV
Intercept Response
Each request from the LIS contains a transaction-id which is copied on to the reply from
Prime Access Registrar. For each request type there is an appropriate response type with appropriate
return data.
Table 9-9 provides the list of Intercept results for RADIUS and Diameter.
Step 1 Create the RexLiScript script object that will be set in Virtual-Server-Outgoing-Script point.
[ //localhost/Radius/Scripts/virtual ]
Name = virtual
Description =
Language = rex
Filename = libLiScript.so
EntryPoint = RexLiScript
InitEntryPoint = InitRexLiScript
InitEntryPointArgs =
Note The file 'libLiScript.so' comes up with Prime Access Registrar kit. You have to copy it into
/cisco-ar/scripts/radius/rex/ path.
save
reload
Prime Access Registrar provides command authorization support to authorize the cmd mode commands.
Command authorization is based on device access rules and the decision to authorize is based on
command sets and conditions or expressions defined for the access rules. They determine whether to
authorize a set of commands for the user or not.
If you enable TACACS+ command authorization for a service, you must define the following:
• Command sets—You must configure the list of commands with the arguments and the action to
perform: permit or deny.
• Device access rules—You must configure the conditions or expressions and the command sets that
are applicable to the access rule if the conditions are met.
• Service—You must enable the device access and associate the device access rules for the service.
When a packet enters the service, it selects the first device access rule and evaluates the condition. If the
condition is met, then the service applies the device access rule for the request. If the command that is
processed matches a command listed in the command set, the service decides on whether to permit the
command for the user or not based on the permissions set up. See the example below.
Device Access
Rule Condition Command Set Command Arguments Action
NewAccessRule Expr1 OR Expr2 cmdset1 show * permit
Where:
enable ~/serial*/ deny
Expr1 = user-name=bob
Expr2 = nas-identifier=~/PGW*/
OR = Conditional operator
In the above example, if one of the conditions user-name = bob or nas-identifier = ~/PGW*/ is met, then
the service applies the device access rule. If the processed command with its arguments matches one of
the commands listed above, then the service permits or denies the command according to the setup.
Note Prime Access Registrar supports POSIX Extended Regular Expression (ERE) for command
arguments and condition expressions value property.
Figure 9-2 shows the transaction flow for TACACS+ command authorization.
The following is an example configuration of device access rules and command sets configured for a
local-users service:
[ //localhost/Radius ]
Name = Radius
Description =
Version = 7.2.0.0
IncomingScript~ =
OutgoingScript~ =
DefaultAuthenticationService~ = local-users
DefaultAuthorizationService~ = local-users
DefaultAccountingService~ = local-file
DefaultSessionService~ =
DefaultSessionManager~ = session-mgr-1
UserLists/
UserGroups/
Policies/
Clients/
Vendors/
Scripts/
Services/
SessionManagers/
ResourceManagers/
Profiles/
Rules/
Translations/
TranslationGroups/
RemoteServers/
CommandSets/
DeviceAccessRules/
FastRules/
Advanced/
Replication/
--> cd /r/DeviceAccessRules/
[ //localhost/Radius/DeviceAccessRules ]
Entries 0 to 0 from 0 total entries
Current filter: <all>
--> add d2
Added d2
--> cd d2
[ //localhost/Radius/DeviceAccessRules/d2 ]
Name = d2
Description =
CommandSetNames =
Conditions =
DefaultDeviceAction = PermitAll
ConditionExpressions/
--> CD ConditionExpressions/
[ //localhost/Radius/DeviceAccessRules/d2/ConditionExpressions ]
Entries 0 to 0 from 0 total entries
Current filter: <all>
--> add a1
Added a1
--> add a2
Added a2
--> cd a1
[ //localhost/Radius/DeviceAccessRules/d2/ConditionExpressions/a1 ]
Name = a1
Description =
Attribute =
Value =
--> cd ..
[ //localhost/Radius/DeviceAccessRules/d2/ConditionExpressions ]
Entries 1 to 2 from 2 total entries
Current filter: <all>
a1/
a2/
--> cd a2
[ //localhost/Radius/DeviceAccessRules/d2/ConditionExpressions/a2 ]
Name = a2
Description =
Attribute =
Value =
--> cd /r/CommandSets/
[ //localhost/Radius/CommandSets ]
Entries 0 to 0 from 0 total entries
Current filter: <all>
Added cm1
--> cd cm1
[ //localhost/Radius/CommandSets/cm1 ]
Name = cm1
Description =
Commands/
--> cd Commands/
[ //localhost/Radius/CommandSets/cm1/Commands ]
--> cd ..
[ //localhost/Radius/CommandSets/cm1 ]
Name = cm1
Description =
Commands/
--> cd ..
[ //localhost/Radius/CommandSets ]
Entries 1 to 1 from 1 total entries
Current filter: <all>
cm1/
Added cm2
--> cd cm2
[ //localhost/Radius/CommandSets/cm2 ]
Name = cm2
Description =
Commands/
--> cd commands/
[ //localhost/Radius/CommandSets/cm2/Commands ]
Validating //localhost...
Saving //localhost...
For more information on configuring the command sets and device access rules in the GUI, see the
CommandSets, page 2-55 and DeviceAccessRules, page 2-56 sections in Chapter 2, “Using the
Graphical User Interface.”
You can use the policy engine to determine the AAA services for processing a request packet based on
the User-Name suffix, User-Name prefix, Calling-Station-ID, Called-Station-ID and Nas-IP-Address.
You configure the policy Engine through policies and rules.
This chapter contains the following sections:
• Configuring Policies and Rules
• Routing Requests
• Standard Scripts Used with Rules
Configuring Policies
You configure policies under /Radius/Policies. To enable the Prime Access Registrar server to use
policies, you must first configure policy named SelectPolicy.
[ //localhost/Radius/Policies/SelectPolicy ]
Name = SelectPolicy
Description =
Grouping = rule1|rule2
The Grouping property of a policy determines which rules are to be evaluated and in which order. Rules
are evaluated from left to right. Use the pipe (|) or ampersand (&) character to group rules.
Note Before you can provide rules in the Grouping property, the rules must first be added to the configuration
under /Radius/Rules.
Configuring Rules
You configure rules under /Radius/Rules. When you add a rule, provide the script that should be
executed for the rule and the attributes to use if the rule succeeds. The script you specify must be defined
under /Radius/Scripts, as shown in the following:
[ //localhost/Radius/Rules/rule1 ]
Name = rule1
Description =
Type = radius
Script~ =
Attributes/
Authentication-service = local-users
Authorization-service = local-users
Realm = @cisco.com
[ //localhost/Radius/Scripts/ExecRealmRule ]
Name = ExecRealmRule
Description =
Language = Rex
Filename = librexscript.so
EntryPoint = ExecRealmRule
InitEntryPoint =
InitEntryPointArgs =
Wildcard Support
Prime Access Registrar supports limited wildcard functionality in rules for Realm, DNIS, and CLID
attributes, specifically the asterisk (*) and question mark (?) characters. The asterisk matches any
number of characters, including the null character. The question mark matches any single character, not
including the null character. Prime Access Registrar also supports both wildcard characters in one
pattern, as in CLID = 180098?87*.
Note The realms should start with either the @ or # character. For example, Realm=@cisco.com.
• For an exact matching of the realm, you should configure the rule with the exact realm. For example,
for an exact match to abc@cisco.com, you should use Realm=@cisco.com.
• If you use Realm=cisco.com (without any valid character), values such as xyz@us.cisco.com,
xyz@uk.cisco.com, abc#cisco.com, and so on can also match and return a success.
The following is an example using the asterisk wildcard character used in a Rule named rule1:
[ //localhost/Radius/Rules/rule1 ]
Name=rule1
Description =
ScriptName = ExecRealmRule
Attributes/
Authentication-Service = Local-Users
Authorization-Service = Local-Users
Realm = ~/@*cisco.com/
Rule rule1 succeeds when the domain of the username in an access request matches the @*cisco.com
pattern. Each of the following is a good match: @us.cisco.com, @eng.cisco.com, and @cisco.com. With
a match, the ExecRealmRule script sets Authentication-Service and Authorization-Service to
Local-Users in the environment dictionary.
The following is an example using the "?" wildcard character in a Rule named rule2:
[ //localhost/Radius/Rules/rule2 ]
Name = rule2
Description =
ScriptName = ExecDNISRule
Attributes/
Authentication-Service = Translation-Service
Authorization-Service = Translation-Service
DNIS = 1800345987?
Rule rule2 succeeds if the Called-Station-Id attribute (DNIS) in the packet matches 1800345987?. Each
of the following is a good match: 18003459876 and 18003459870, while 1800345987 is not. With a
match, the ExecDNISRule script sets Authentication-Service and Authorization-Service to
Translation-Service in the environment dictionary.
Validation
When policies are configured, Prime Access Registrar performs the following validations:
• Ensures the scripts included in the rules are defined under the /Radius/Scripts directory.
• Ensures the attributes included in the rules are defined under the /Radius/Advanced/Attribute
Dictionary directory.
• Ensures the rules included in the policies are defined under the /Radius/Rule directory.
Known Anomalies
The following anomalies currently exist:
• Grouping expressions are not checked for validity.
• The use of parentheses to denote precedence is not supported in a Grouping definition.
• A check is not performed to determine whether a policy that is included within another policy is
defined under the /Radius/Policies directory.
Routing Requests
Using the policy engine, Prime Access Registrar enables you to route requests based on attributes in
access request packets. The following sections describe how to route requests based on different
attributes:
• Routing Requests Based on Realm
• Routing Requests Based on DNIS
• Routing Requests Based on CLID
• Routing Requests Based on NASIP
• Routing Requests Based on User-Name Prefix
• Attribute Translation
• Time of Day Access Restrictions
xyzrule/
Name = xyzrule
Description =
Script~ = ExecRealmRule
Attributes/
Authentication-Service = xyz-service
Authorization-Service = xyz-service
Realm = @xyz.com
The ExecRealmRule script matches the realm with the suffix in the User-Name attribute and sets the
appropriate service for processing the packet. This is a standard script available with
Prime Access Registrar. Prime Access Registrar can also be configured to set a particular kind of service
for multiple realms. For example, the following configuration can be used if packets with @pqr.com or
@klm.com should be processed using the same service klm-service.
[ //localhost/Radius/Rules ]
rulex/
Name = rulex
Description =
Script~ = ExecRealmRule
Attributes/
Authentication-Service = klm-service
Authorization-Service = klm-service
Realm = “@pqr.com” “@klm.com”
Name = SelectPolicy
Description =
Grouping = abcrule|xyzrule
xyzrule/
Name = xyzrule
Description =
Script~ = ExecDNISRule
Attributes/
Authentication-Service = xyz-service
Authorization-Service = xyz-service
DNIS = “2222222” “3333333”
The ExecDNISRule script matches the DNIS value configured in Prime Access Registrar with the value
in the Called-Station-Id attribute of the request packet and sets the appropriate service for processing the
packet. ExecDNISRule is a standard script available with Prime Access Registrar.
[ //localhost/Radius/Rules ]
abcrule/
Name = abcrule
Description =
Script~ = ExecCLIDRule
Attributes/
Authentication-Service = abc-service
Authorization-Service = abc-service
CLID = 1111111
xyzrule/
Name = xyzrule
Description =
Script~ = ExecCLIDRule
Attributes/
Authentication-Service = xyz-service
Authorization-Service = xyz-service
CLID = “2222222” “3333333”
The ExecCLIDRule script matches the CLID value configured in Prime Access Registrar with the value
in the CLID attribute of the request packet and sets the appropriate service for processing the packet.
ExecCLIDRule is a standard script available with Prime Access Registrar.
xyzrule/
Name = xyzrule
Description =
Script~ = ExecNASIPRule
Attributes/
Authentication-Service = xyz-service
Authorization-Service = xyz-service
Client-IP-Address = 2.2.2.2
The ExecNASIPRule script matches the Client IP address configured in Prime Access Registrar with
the value in the NAS-IP-Address attribute of the request packet and sets the appropriate service for
processing the packet. ExecNASIPRule is a standard script available with Prime Access Registrar.
prefixrule/
Name = prefixrule
Description =
Script~ = ExecPrefixRule
Attributes/
Authentication-Service = abc-service
Authorization-Service = abc-service
Delimiters = @#%&/
Prefix = cisco
StripPrefix = No
ExecPrefixRule script matches the prefix configured in Prime Access Registrar with the prefix in the
User-Name attribute of the request packet and sets the appropriate service for processing the packet.
ExecPrefixRule is a standard script available with Prime Access Registrar. See ExecPrefixRule for
more information.
Attribute Translation
The attribute translation feature supports the RADIUS proxy enabling you to customize attribute filters
so that RADIUS attribute value (AV) pairs can be inserted, deleted, or substituted.
For example, when a request is proxied from AAA Server on ISP A to AAA Server on ISP B, some AV
pairs might be substituted (such as IP address) because they might not be valid on the ISP B network.
Additionally, ISP B might return some vendor-specific attributes (VSAs) that are not applicable to ISP
A's network. Therefore, ISP A will substitute ISP B's VSA value pairs for ISP A's VSAs.
Two configuration points under the /Radius directory support this feature,
• Translations
• TranslationGroups
• Parsing Translation Groups
Translations
Under the /Radius/Translations directory, any translation to insert, substitute, or translate attributes can
be added. The following is a sample configuration under the /Radius/Translations directory:
[ //localhost/Radius/Translations/T1 ]
Name = T1
Description =
DeleteAttrs = Session-Timeout,Called-station-id
Attributes/
Calling-Station-id = 1232909
DeleteAttrs is the set of attributes to be deleted from the packet. Each attribute is comma separated and
no spaces are allowed between attributes.
Under the /Radius/Translations/T1/Attributes directory, the attributes that should be inserted and the
attributes that should be substituted are specified. These AV pairs are either added to the packet if not
present already or replaced with the configured value.
TranslationGroups
Under the /Radius/TranslationGroups directory, translations can be grouped and applied to certain sets
of packets, which are referred to in a rule.
The following is a sample configuration under the /Radius/TranslationGroups directory:
[ //localhost/Radius/TranslationGroups/CiscoIncoming ]
Name = CiscoIncoming
Description =
Translations/
1. T1
The translation group is referenced through the Prime Access Registrar policy engine in the
/Radius/Rules/<RuleName>/Attributes directory.
• Incoming-Translation-Groups are set to a translation group (for example CiscoIncoming).
[ //localhost/Radius/Translations ]
Entries 1 to 1 from 1 total entries
Current filter: <all>
T1/
Name = T1
Description =
Attributes/
calling-station-id = 111
[ //localhost/Radius/TranslationGroups ]
Entries 1 to 1 from 1 total entries
Current filter: <all>
CiscoIncoming/
Name = CiscoIncoming
Description =
Translations/
1. T1
Note If more than one profile is to be added to the Acceptedprofiles variable, use two colons to separate them
(::).
If the user is authenticated, the Baseprofile of the user is compared with the Acceptedprofiles. All the
profiles that are in the Baseprofile and in Acceptedprofiles will be used as profiles while sending the
response for the user.
For example, consider the following user configuration of user1:
[ //localhost/Radius/UserLists/new/user1 ]
Name = user1
Description =
Password = <encrypted>
AllowNullPassword = FALSE
Enabled = TRUE
Group~ = regularusers
BaseProfile~ =highprivilegeaccess::readonlyaccess::regularaccess
AuthenticationScript~ =
AuthorizationScript~ =
UserDefined1 =
Attributes/
CheckItems/
The Baseprofile of the user1 has highprivilegeaccess, readonlyaccess and regularaccess. If the
Acceptedprofiles of the user has regularaccess and highprivilegeaccess, the profiles regularaccess and
highprivilegeaccess will be used while sending the response packet.
This section contains the following topics:
Set timerange “* * * * *”
The first star indicates minutes and can be a value from 0-59. The second star indicates hours and can
be a value from 0-23. The third star indicates day of the month and can be a value from 1-31. The fourth
star indicates month and can be a value from 1-12. The fifth star indicates day of the week and can be a
value from 0-6 where 0 indicates Sunday, 1 indicates Monday, and so on.
For example, to schedule a particular action to occur every Sunday during the month of December, use
a command line like this:
Set timerange “* * * 12 0”
Policies
[ //localhost/Radius/Policies ]
Entries 1 to 1 from 1 total entries
Current filter: <all>
SelectPolicy/
Name = SelectPolicy
Description =
Grouping = ppprule|telnetrule
Rules
[ //localhost/Radius/Rules ]
Entries 1 to 2 from 2 total entries
Current filter: <all>
ppprule/
Name = ppprule
Description =
Script~ = ExecTimeRule
Attributes/
acceptedprofiles = default-ppp-users
timerange = "* 10-18 * * * "
telnetrule/
Name = telnetrule
Description =
Script~ = ExecTimeRule
Attributes/
acceptedprofiles = default-telnet-users
Profiles
[ //localhost/Radius/Profiles ]
Entries 1 to 5 from 5 total entries
Current filter: <all>
default-PPP-users/
Name = default-PPP-users
Description =
Attributes/
Ascend-Idle-Limit = 1800
Framed-Compression = "VJ TCP/IP header compression"
Framed-MTU = 1500
Framed-Protocol = PPP
Framed-Routing = None
Service-Type = Framed
default-Telnet-users/
Name = default-Telnet-users
Description =
Attributes/
Login-IP-Host = 204.253.96.3
Login-Service = Telnet
Login-TCP-Port = 541
User
[ //localhost/Radius/UserLists/new/user1 ]
Name = user1
Description =
Password = <encrypted>
AllowNullPassword = FALSE
Enabled = TRUE
Group~ = regularusers
BaseProfile~ = default-telnet-users::default-ppp-users
AuthenticationScript~ =
AuthorizationScript~ =
UserDefined1 =
Attributes/
CheckItems/
Policies
In the following configuration, SelectPolicy selects the policy to process packets with realm abc.com or
xyz.com. Based on the realm that arrives in the request packet, abcrealmrule and xyzrealmrule decide
whether to use abc-policy or xyz-policy to process the packets. abc-policy and xyz-policy are configured
with rules to check for DNIS numbers in the respective domains and set the AA services appropriately.
[ //localhost/Radius/Policies ]
Entries 1 to 3 from 3 total entries
Current filter: <all>
SelectPolicy/
Name = selectpolicy
Description =
Grouping = abcrealmrule|xyzrealmrule
abc-policy/
Name = abc-policy
Description =
Grouping = abcDNISrule1|abcDNISrule2
xyz-policy/
Name = xyz-policy
Description =
Grouping = xyzDNISrule1|xyzDNISrule2
Rules
[ //localhost/Radius/Rules ]
Entries 1 to 6 from 6 total entries
Current filter: <all>
abcrealmrule/
Name = abcrealmrule
Description =
Script~ = ExecRealmRule
Attributes/
policy = abc-policy
realm = @abc.com
xyzrealmrule/
Name = xyzrealmrule
Description =
Script~ = ExecRealmRule
Attributes/
policy = xyz-policy
realm = @xyz.com
abcDNISrule1/
Name = abcDNISrule1
Description =
Script~ = ExecDNISRule
Attributes/
Authentication-Service = abc1-service
Authorization-Service = abc1-service
DNIS = 1111111
abcDNISrule2/
Name = abcDNISrule2
Description =
Script~ = ExecRealmRule
Attributes/
Authentication-Service = abc2-service
Authorization-Service = abc2-service
DNIS = 2222222
xyzDNISrule1/
Name = xyzDNISrule1
Description =
Script~ = ExecRealmRule
Attributes/
Authentication-Service = xyz1-service
Authorization-Service = xyz2-service
DNIS = 6666666
xyzDNISrule2/
Name = xyzDNISrule2
Description =
Script~ = ExecRealmRule
Attributes/
Authentication-Service = xyz2-service
Authorization-Service = xyz2-service
DNIS = 7777777
ExecRealmRule
Use the ExecRealmRule script to determine the Authentication service and Authorization service to be
used to process the request packet based on the suffix (Realm) in the User-Name attribute. You configure
the Realm for which the packet should be checked and the service to use in the Attributes subdirectory
of a rule. The ExecRealmRule script supports multivalued attributes with which you can configure to
check for multiple Realms.
For example, the following statement checks the request packet for three realms. If one of these three
realms is found in the request packet, the ExecRealmRule script sets the attributes to the values listed
in the Attributes subdirectory of the rule that references the ExecRealmRule script.
Prior to Cisco Prime Access Registrar (Prime Access Registrar), ExecRealmRule was interpreted as a
regular expression pattern and was evaluated accordingly. ExecRealmRule now does a simple case
insensitive comparison by default of the value specified for the realm attribute for the realm of a
username and optionally performs regular expression matching.
You can now specify a pattern using the following notation:
~/pattern/
Where pattern is a string of alpha-numeric characters that might include wild card characters, as in
“@*cisco.com” to match patterns (realms) that end in cisco.com.
Note The question mark (?) should not be used without a character pattern preceding it. Specifying ? as the
first character might have undesirable results. (For regexp terminology, the question mark should be
preceded by an atom.)
The ExecRealmRule script checks the request packet for the Realm and applies the values set for the
following attributes:
• Authentication-Service
• Authorization-Service
• Policy
ExecDNISRule
Use the ExecDNISRule script to determine the Authentication service and Authorization service to be
used to process the request packet based on the Called-Station-Id (DNIS) attribute. The DNIS for which
the packet should be checked and the services can be configured through the Policy Engine. The
ExecDNISRule script supports multivalued attributes, by which you can configure multiple DNIS for
checking.
For example, the following statement checks for a Calling-Station-Id of 1111111, 2222222, or 3333333.
If one of the DNIS values is true, the script applies the values set for the Authentication-Service,
Authorization-Service, and Policy attributes.
ExecCLIDRule
Use the ExecCLIDRule script with the Policy Engine to determine the Authentication service and
Authorization service to be used to process the request packet based on the Calling-Station-Id (CLID)
attribute. The CLID for which the packet should be checked and the services can be configured through
the Policy Engine. ExecCLIDRule supports multivalued attributes by which you can configure multiple
CLID for checking.
For example, the following statement checks for Calling-Station-ID and applies Authentication-Service,
Authorization-Service, and Policy.
The ExecCLIDRule script checks the request packet for the Calling-Station-Id and applies the values
set for the following attributes:
• Authentication-Service
• Authorization-Service
• Policy
ExecNASIPRule
The Policy Engine references the ExecNASIPRule script to determine the AAA Services, Policy and
Session Manager based on the Client-IP-Address and Subnet-Mask set in the Policy Engine. The
ExecNASIPRule script supports multi-value attributes by which multiple you can configure the
Client-IP-Address and Subnet-Mask in aregcmd for checking.
For example, the following statements check for Client-IP-Address and Subnet-Mask and applies
Authentication-Service, Authorization-Service, Accounting-Service, Policy, and Session-Manager.
The ExecNASIPRule script checks the request packet for the Client-IP-Address and Subnet-Mask and
applies the values set for the following attributes:
• Authentication-Service
• Authorization-Service
• Accounting-Service
• Policy
• Session Manager
ExecPrefixRule
The Policy Engine references the ExecPrefixRule to determine the authentication and authorization
services based on the prefix in the User-Name attribute of the request packet and assigns the appropriate
service for processing the packet.
Table 10-1 lists the ExecPrefixRule script attributes.
Attribute Description
Delimiters A list of valid delimiters; you can use any
character as a delimiter, such as @#-/.
Prefix List of valid prefixes.
StripPrefix Option to strip or not to strip the prefix from the
User-Name. If you configure this attribute to
YES, the ExecPrefixRule strips the prefix from
the User-Name. If you configure this attribute to
NO, the ExecPrefixRule does not strip the prefix
from the User-Name. By default, this attribute is
set to YES.
For example, if cisco/bob@abc.com is the User-Name attribute, the ExecPrefixRule script sets the
Authentication-Service to abc-service and User-Name to:
• bob@abc.com when the StripPrefix attribute is set to YES.
• cisco/bob@abc.com when the StripPrefix attribute is set to NO.
You can configure the Prefix attribute in Prime Access Registrar using the aregcmd as follows:
set Prefix “cisco”
The Prime Access Registrar server does a case-insensitive comparison of the value specified for the
prefix attribute of a username.
You can configure the Prefix by specifying a pattern using the following notation:
~/pattern/
[ //localhost/Radius/Rules/prefix/Attributes ]
Delimiters = #@-/
Prefix = ~/cis*/
Where a pattern is a string of alpha-numeric characters that can include wild card characters, as in
“cis*” to match patterns (realms) that start with “cis”.
Note If you specify / as the delimiter while configuring ExecPrefix Rule, you must configure the prefix as
Prefix =~/pattern//.
Note The question mark (?) should not be used without a character pattern preceding it. Specifying ? as the
first character might have undesirable results. (For regexp terminology, the question mark should be
preceded by an atom.)
ExecSuffixRule
The Policy Engine references ExecSuffixRule to determine the AAA services, policy and session
managers based on the suffix (or realm) set in the Policy Engine. You can use aregcmd to configure
ExecSuffixRule to support multivalued attributes, as in the following:
In the User-Name bob@abc.com, ExecSuffixRule first checks for any of the configured delimiters in
the User-Name. If there is a match, ExecSuffixRule checks for the configured suffix in the User-Name.
If the suffix matches, ExecSuffixRule checks for the value of the StripSuffix variable. If StripSuffix is
set to Yes, the suffix (including the delimiter) is stripped from the User-Name attribute of the Access
Request.
Table 10-2 lists the ExecSuffixRule script attributes.
Attribute Description
Delimiters A list of valid delimiters; you can use any character as a
delimiter such as these: @#/
Attribute Description
Suffix List of valid suffixes to scan
StripSuffix The default value (No) does not strip the suffix from the
User-Name. When set to Yes, ExecSuffixRule does strip the
suffix.
The Prime Access Registrar server does a case-insensitive comparison of the value specified for the
suffix attribute for the suffix of a username.
You can also specify a pattern using the following notation:
~/pattern/
Where pattern is a string of alpha-numeric characters that might include wild card characters, as in
“@*cisco.com” to match patterns (realms) that end in cisco.com.
Note The question mark (?) should not be used without a character pattern preceding it. Specifying ? as the
first character might have undesirable results. (For regexp terminology, the question mark should be
preceded by an atom.)
[ //localhost/Radius/Policies/SelectPolicy ]
Name = SelectPolicy
Description =
Grouping = suffixrule&prefixrule
[ //localhost/Radius/Rules ]
Entries 1 to 2 from 2 total entries
Current filter: <all>
prefixrule/
Name = prefixrule
Description =
Type = radius
Script~ = ExecPrefixRule
Attributes/
Authentication-Service = local-users
Authorization-Service = local-users
Delimiters = @#%$/
Prefix = cisco
StripPrefix = no
suffixrule/
Name = suffixrule
Description =
Type = radius
Script~ = ExecRealmRule
Attributes/
Realm = @cisco.com
In this example, if bob@abc.com is the User-Name attribute, ExecSuffixRule strips the User-Name
bob@abc.com and sets the User-Name environment variable to bob because StripSuffix is configured as
yes.
ExecTimeRule
Use the ExecTimeRule script to implement access restriction on users based on time. The
ExecTimeRule script checks the time at which the request packet arrives and based on that the
authorization parameters for the user can be decided. Based on the time of the request packet if the rule
succeeds then ExecTimeRule sets the environment variable, Acceptedprofiles to a profile or a set of
profiles.
For example, the following statement checks for Timerange and applies AcceptedProfiles.
Acceptedprofiles=Regularaccess::Highprivilegeaccess
ParseTranslationGroupsByRealm
The Policy Engine references the ParseTranslationGroupsByReal script to determine the incoming and
outgoing translation groups based on realm set in the Policy Engine. Use the
ParseTranslationGroupsByReal script to add or filter attributes in request and response packets. The
ParseTranslationGroupsByReal script supports multi-value attributes enabling you to configure to check
for multiple Realms.
For instance, the following statement checks for three Realms. If True, the Policy Engine applies the
values set for the Incoming-Translation-Group and Outgoing-Translation-Groups attributes.
ParseTranslationGroupsByDNIS
This script is referenced from the Policy Engine to determine the incoming and outgoing translation
groups based on DNIS set in the Policy Engine. This script can be used to add/filter attributes in
request/response packets. This script supports multi-value attributes, by which multiple DNIS can be
configured for checking.
For example, the following statement checks for Calling-Station-ID and applies
Incoming-Translation-Groups and Outgoing-Translation-Groups.
ParseTranslationGroupsByCLID
The Policy Engine references the ParseTranslationGroupsByCLID script to determine the incoming and
outgoing translation groups based on CLID set in the Policy Engine. You can use the
ParseTranslationGroupsByCLID script to add and filter attributes in request and response packets. The
ParseTranslationGroupsByCLID script supports multi-value attributes, by which you can configure
multiple CLIDs for checking.
For example, the following statement checks for the Calling-Station-ID and applies
Incoming-Translation-Groups and Outgoing-Translation-Groups.
ParseTranslationGroupsByDNIS
The ParseTranslationGroupsByDNIS script is referenced from the policy engine to determine the
incoming and outgoing translation groups based on DNIS set in the policy engine. The
ParseTranslationGroupsByDNIS script can be used to add and/or filter attributes in request and
response packets. The ParseTranslationGroupsByDNIS script supports multi-value attributes, by
which multiple DNIS can be configured for checking.
For example, the following statement checks for the Calling-Station-ID and applies
Incoming-Translation-Groups and Outgoing-Translation-Groups.
While using rule policy engine and scripting points to process packet flow, you need to be familiar with
programming languages, and create scripts to attach them to the Prime Access Registrar configuration.
FastRules concept is an easier and efficient alternative to rule policy engine and scripting points.
FastRules provides a mechanism to easily choose the right authentication, authorization, accounting, and
query service(s), drop, reject, or break flows, run a script, choose a session manager and/or a chain of
fast rules required for processing a packet.
FastRules has the following capabilities:
• Provides maximum flexibility and ease in matching information in the incoming packets for
choosing the appropriate service to apply
• Provides an option to match values in AVPs based on value ranges, exact match, and simple string
comparisons using regex
• Provides easy and efficient alternative to rule/policy engine and scripting points for most common
use cases—reduces the use of external scripts to choose an appropriate service
Figure 11-1 describes the workflow for FastRules.
FastRules also provides an option to use Internal Scripts as part of the workflow. Internal scripts allow
you to add, modify, or delete attributes in the request, response, and environment dictionaries for
RADIUS, Diameter, and TACACS+.
Route-FastRule
Type =
access-request Pass InternalScript Local
AND User-Name = (Strip realm) service
bob@xyz.com
Fail
FastRule-2
InternalScript
Drop
(re-auth service)
OCIService
Configuring FastRules
FastRules can be configured either through the GUI or through a CLI.
A sample CLI for configuring fast rules is given below:
[ //localhost/Radius/Fastrules]
Ruledefintions\
radroot\
Name = radroot
Desc =
Protocol = Radius
Condition = A1 AND (A2 OR A3)
Success = Authen(mod1)-->fr2-->Author(oci)
Failure =
Attributes\
A1\
Name = A1
Attribute = Calling-station-id
Value = 1.2.3.4
A2\
Name = A2
Attribute = User-name
Value = bob
A3\
Name = A3
Attribute = User-name
Value = BEGINS_WITH(jane)
fr1\
Name = fr1
Desc =
Protocol = Radius
Condition = Attri1
Success = Authen(proxy)
Failure = DROP
Attributes\
Attri1\
Name = Attr1
Attribute = Calling-station-id
Value = 2.3.4.5
fr2\
Name = fr2
Desc =
Protocol = Radius
Condition = Attribute1
Success = Authen(local)
Failure =
Attributes\
Attribute1\
Name = Attribute1
Attribute = Status
Value = Failure
.
Order\
Radius\
1. radroot
2. fr1
Diameter\
1.
Tacacs\
1.
Services\
mod1\
Name = mod1
Desc =
Type = mod
Service = ldap
Dictionary\
+env:Calling = req:Calling-Station-Id
-req:Calling-Station-Id = ""
+req:Calling-Station-Id = "5.6.7.8"
+res:Calling-Station-Id = env:Calling
#res:Called-Station-Id = “123456789”
This chapter provides information about using Lightweight Directory Access Protocol (LDAP) with
Cisco Prime Access Registrar (Prime Access Registrar) to access information directories. You can use
Prime Access Registrar to authenticate and authorize access requests by querying user information
through LDAP.
Note Prime Access Registrar supports LDAP version 3 and LDAP version 2 directory servers.
Configuring LDAP
To use LDAP in Prime Access Registrar, use aregcmd to do the following:
1. Configuring the LDAP Service.
2. Configuring an LDAP RemoteServer.
3. Setting LDAP As Authentication and Authorization Service.
4. Saving Your Configuration.
After you issue the save command, Prime Access Registrar attempts to validate the configuration,
checks for all required properties, and ensures there is no logic error. If the validation is successful,
Prime Access Registrar saves the configuration to the MCD database. When Prime Access Registrar is
reloaded, it shuts down any current LDAP connections and builds new connections for the configured
LDAP remote servers.
Parameter Description
Name Required; inherited from the upper directory
Description An optional description of the service
Type Must be set to LDAP for LDAP service
IncomingScript Optional
OutgoingScript Optional
OutagePolicy Required; must be set to AcceptAll or Drop Packet, or defaults to RejectAll
OutageScript Optional
MultipleServersPolicy Required; must be set to RoundRobin or defaults to Failover.
RemoteServers Required; list of one or more remote servers defined under
/Radius/Services/LDAP/RemoteServers. These servers must be listed in
order under /Radius/RemoteServers.
MultipleServersPolicy
Use the MultipleServersPolicy property to configure the LDAP remote servers in RoundRobin mode, or
the default Failover mode applies. When set to Failover, Prime Access Registrar directs requests to the
first server in the /Radius/Services/LDAP/RemoteServers list. If that server should fail or go offline,
Prime Access Registrar redirects all requests to the next server in the list. The process continues until
Prime Access Registrar locates an online server.
When set to RoundRobin, Prime Access Registrar directs each request to the next server in the
RemoteServers list to share the resource load across all listed servers.
RemoteServers
Use the RemoteServers directory to list one or more remote servers to process access requests. The
servers must also be listed in order under /Radius/RemoteServers.
The order of the RemoteServers list determines the sequence for directing access requests when
MultipleServersPolicy is set to RoundRobin mode. The first server in the list receives all access requests
when MultipleServersPolicy is set to Failover mode.
Note You can leave the BindName, BindPassword, UserPasswordAttribute, PasswordEncryptionStyle and
DNSLookupAndLDAPRebindInterval properties blank when you configure the Bind-Based
Authentication feature in Prime Access Registrar.
Parameter Description
Name Required name you assign
Description Optional description of the server
Protocol Required and must be set to LDAP; no default value
Port Required; port on which LDAP server listens, default is port 389.
Note If port is not set or set to zero, LDAP remote server will
automatically be set to port 389.
ReactivateTimerInterval Required; default is 300000 (ms)
Timeout Required; specifies length of time Prime Access Registrar waits for a
response from the LDAP server before noting the server as down;
default is 15 (seconds)
HostName Required; specifies the hostname, FQDN, or IP address of the LDAP
server
BindName Specifies the distinguished name (DN) in the LDAP server for
Prime Access Registrar to bind with the LDAP server
BindPassword Specifies the password for the distinguished name
UseSSL FALSE by default
Parameter Description
SearchPath~ Specifies search base to the organization and domain; for example:
o=cisco.com
Filter~ (uid=%s) by default
UserPasswordAttribute Should be set to the attribute in the directory server which stores users’
passwords; default is userpassword
LimitOutstandingRequests FALSE by default
MaxOutstandingRequests Limits the number of requests to the LDAP server; used to throttle the
request load when the LDAP server does not function well under high
TPS rates (default is 0)
MaxReferrals Limits the number of referrals Prime Access Registrar allows when
working with LDAPv2 (default is 0)
ReferralAttribute LDAP attribute that contains a referral for LDAPv2
ReferralFilter Filter used when following a referral for LDAPv2
PasswordEncryptionStyle Dynamic by default; must be set to one of the following depending on
the algorithm used by the LDAP server to encrypt passwords:
Dynamic
Crypt
None
SHA-1
SSHA-1
When set to Dynamic, Prime Access Registrar analyzes the password
and detects the encryption algorithm used.
None indicates that the LDAP server stores clear text passwords.
Note If CHAP authentication is used with LDAP backing store,
passwords in LDAP must be stored as clear text.
EscapeSpecialCharInUser FALSE by default
Name
DNSLookupAndLDAPReb Specifies the timeout period after which the Prime Access Registrar
indInterval server will attempt to resolve the LDAP hostname to IP address (DNS
resolution); 0 by default
DataSourceConnections Specifies the number of concurrent connections to the LDAP server. The
default value is 8.
SearchScope Specifies how deep to search within a search path; default is SubTree
which indicates a search of the base object and the entire subtree of
which the base object distinguished name is the highest object.
Base indicates a search of the base object only.
OneLevel indicates a search of objects immediately subordinate to the
base object, but does not include the base object.
Parameter Description
LDAPToRadiusMappings Optional; a list of name/value pairs in which the name is the name of the
ldap attribute to retrieve from the user record, and the value is the name
of the RADIUS attribute to set to the value of the ldap attribute
retrieved.
For example, when the LDAPToRadiusMappings has the entry:
FramedIPAddress = Framed-IP-Address, the RemoteServer retrieves
the FramedIPAddress attribute from the ldap user entry for the
specified user, uses the value returned, and sets the Response variable
Framed-IP-Address to that value.
LDAPToEnvironmentMapp Optional; a list of name/value pairs in which the name is the name of the
ings ldap attribute to retrieve from the user record, and the value is the name
of the Environment variable to set to the value of the ldap attribute
retrieved.
For example, when the LDAPToEnvironmentMappings has the entry:
group = User-Group, the RemoteServer retrieves the group attribute
from the ldap user entry for the specified user, uses the value returned,
and sets the Environment variable User-Group to that value.
LDAPToCheckItemMappin Optional; a list of LDAP attribute/value pairs which must be present in
gs the RADIUS access request and must match, both name and value, for
the check to pass.
For example, when the LDAPToCheckItemMappings has the entry:
group = User-Group, the Access Request must contain the attribute
group, and it must be set to User-Group.
UseBindBasedAuthenticati A boolean field that enables bind-based authentication with LDAP
on server. By default, this property is set to FALSE that uses existing legacy
authentication method.
On setting this property to TRUE, the mappings LDAPToRadius,
LDAPToEnvironment, and LDAPToCheckItem will not work.
UseBinaryPasswordCompa A boolean value that enables binary-based password comparison to
rison authenticate. This property when set to TRUE, enables binary password
comparison. By default this property is set to FALSE.
Note We recommend that you do not set DNSLookupAndLDAPRebindInterval to a value less than 15 minutes
to minimize its effect on server performance.
Step 1 Log into the Prime Access Registrar server, and use aregcmd to navigate to
//localhost/Radius/Remoteservers. If necessary, add the LDAP server, or change directory to it.
cd /Radius/RemoteServers/ldap-serv1/
set DNSLookupAndLDAPRebindInterval 30 M
Prime Access Registrar records any name resolution failures, bind successes and failures, and the
destination hostname and IP address in the log file. At trace level 3, Prime Access Registrar also logs
the time of any new bind connections and the closing of any old bind connections.
If either the name resolution or bind attempt fail, Prime Access Registrar continues using the existing
bind connection until the timeout has expired again. If there is no existing bind connection,
Prime Access Registrar marks the remote server object as down.
LDAPToRadiusMappings
Configure LDAPToRadiusMappings with a list of name/value pairs where name is the name of the data
store attribute to retrieve from the user record and the value is the name of the RADIUS attribute to set
to the value of the data store attribute retrieved.
Values stored in a multivalued field in the LDAP directory are mapped to multiple RADIUS attributes,
For example, if the LDAPToRadiusMappings has the following entry:
tunnel-info = Cisco-AVPair
The following LDAP fields in the user's record will create four Cisco-AVPair attributes in the user's
Access-Accept RADIUS packet:
tunnel-info: vpdn:tunnel-id=ssg001
tunnel-info: vpdn:tunnel-type=12tp
tunnel-info: vpdn:ip-addresses=10.2.2.2
tunnel-info: vpdn:12tp-tunnel-password=secret
LDAPToEnvironmentMappings
LDAPToEnvironmentMappings comprises a list of attribute name/value pairs or AV pairs where the
name is the name of the data store attribute to retrieve from the user record, and the value is the name of
the Environment variable to set to the value of the LDAP attribute retrieved.
For example, when the LDAPToEnvironmentMappings has the entry: group =User-Group, the
RemoteServer retrieves the attribute from the LDAP user entry for the specified user, uses the value
returned, and sets the Environment variable User-Group to that value.
LDAPToCheckItemMappings
LDAPToCheckItemMappings comprises a list of LDAP AV pairs which must be present in the RADIUS
access request and must match, both name and value, for the check to pass. Prime Access Registrar will
first authenticate the user's password in the Access-Request before validating the check item attributes.
cd /Radius/RemoteServers/ldap-server
/Radius/RemoteServers/Ldap-Server
EscapeSpecialCharinUserName = TRUE
Messages like those above could indicate that the hostname specified does not resolve to the correct IP
address of the LDAP server or the configured port number might not be the port on which the LDAP
server listens.
The following messages are logged in the name_radius_1_trace file, when Prime Access Registrar
server fails to bind to the LDAP server.
10/12/2013 11:45:14: Log: Remote LDAP Server ldapserver (spatula-u5:389): Unable to
bind to LDAP Server: No such object ()
The Distinguished Name (DN) provided in the BindName property was invalid. The DN provided in the
BindName property should contain the exact string used in the directory server to define the object.
The following messages are logged in the name_radius_1_trace file, when Prime Access Registrar
server fails to bind to the LDAP server.
The messages above indicate that the password provided in the BindPassword property was incorrect.
The following messages are logged in the name_radius_1_trace file, when user bob tries to login.
These messages indicate that user bob tried to login with an incorrect password.
10/12/2013 11:36:59: P8461: Authenticating and Authorizing with Service AR-LDAP
10/12/2013 11:36:59: id = 7
10/12/2013 11:36:59: P8461: Remote LDAP Server ldapserver (spatula-u5: 389): Querying
LDAP server, id = 7.
10/12/2013 11:36:59: P8461: Remote LDAP Server ldapserver (spatula-u5: 389): Got LDAP
response, id = 7.
10/12/2013 11:36:59: P8461: Remote Server ldapserver (spatula-u5:389): User bob's
password does not match
10/12/2013 11:36:59: P8461: User bob's password does not match
10/12/2013 11:36:59: P8461: Rejecting request
10/12/2013 11:36:59: P8461: Rejecting request
10/12/2013 11:36:59: P8461: Trace of Access-Reject packet
10/12/2013 11:36:59: P8461: identifier = 6
10/12/2013 11:36:59: P8461: length = 35
10/12/2013 11:36:59: P8461: reqauth = de:8d:4b:c4:f9:c0:06:a6:98:2d:8c:e9:f3:a9:a3:c2
10/12/2013 11:36:59: P8461: Reply-Message = Access Denied
The following messages are logged in the name_radius_1_trace file, when user bob tries to login.
These messages indicate the user record for user bob does not contain an attribute called pass. The
UserPasswordAttribute property has an incorrect value called pass. The UserPasswordAttribute property
should have the attribute name in the directory records where the user password is stored.
10/12/2013 12:02:09: P9865: Authenticating and Authorizing with Service AR-LDAP
10/12/2013 12:02:09: id = 2
10/12/2013 12:02:09: P9865: Remote LDAP Server ldapserver (spatula-u5: 389): Querying
LDAP server, id = 2.
10/12/2013 12:02:09: P9865: Remote LDAP Server ldapserver (spatula-u5: 389): Got LDAP
response, id = 2.
10/12/2013 12:02:09: P9865: Remote LDAP Server ldapserver (spatula-u5: 389): LDAP
entry for user bob did not have a password (" pass") attribute
10/12/2013 12:02:09: P9865: User bob's password does not match
10/12/2013 12:02:09: P9865: Rejecting request
10/12/2013 12:02:09: P9865: Rejecting request
10/12/2013 12:02:09: P9865: Trace of Access-Reject packet
10/12/2013 12:02:09: P9865: identifier = 10
10/12/2013 12:02:09: P9865: length = 35
10/12/2013 12:02:09: P9865: reqauth = 0d:b6:83:f9:e8:3d:a4:ad:f1:c9:33:72:91:0b:29:1c
10/12/2013 12:02:09: P9865: Reply-Message = Access Denied
Note Remember to reload the Prime Access Registrar server after any changes to the LDAP server
configuration.
cd RemoteServers
add 1 ldapserver
Step 3 Create the LDAP Remote Server Object.
[ //localhost/Radius ]
cd RemoteServers
add ldapserver
cd ldapserver
[ //localhost/Radius/RemoteServers/ldap ]
set Port <remote ldap server prt numer>
set HostName <remote ldap server name/ipaddress>
set SearchPath <configured in ldap server>
set UseBindBasedAuthentication TRUE
cd /Radius
set DefaultAuthenticationService <ldap service name>
set DefaultAuthorizationService <ldap service name>
Step 4 Save the configuration.
save
Step 5 Restart the application.
reload
Cisco Prime Access Registrar (Prime Access Registrar) supports Open Database Connectivity (ODBC)
and Oracle Call Interface (OCI), open specifications that provide application developers a
vendor-independent API with which to access data sources. For ODBC, Prime Access Registrar supports
MySQL database connectivity and for OCI, it supports Oracle database connectivity. It provides
RemoteServer objects and services to support ODBC or OCI. You can use Prime Access Registrar to
authenticate and authorize access requests by querying user information through ODBC or OCI.
ODBC or OCI is an application program interface (API). Real data exchange between an application and
data store is still carried out by SQL through ODBC or OCI. To achieve the most flexibility, you are
required to define your own SQL using aregcmd. Prime Access Registrar will register the SQL
statements and send them to the data store through ODBC or OCI when required. Because you can define
your own SQL, Prime Access Registrar supports sites that have their own data stores.
ODBC is configured using .ini files, specifically odbc.ini and odbcinst.ini. However, you cannot create
or modify these files directly. Prime Access Registrar creates the .ini files after you use aregcmd to
configure the ODBC connection. The SQL is stored in the local database (MCD). During execution, the
Prime Access Registrar server reads the local database, prepares the SQL statements, and sends the SQL
to the data source.
Note For OCI, the .ini files are not needed to connect to the database.
Note Prime Access Registrar uses its own ODBC driver manager and does not share existing ODBC drivers
(if you already have ODBC installed). If you are already using ODBC, you will have to maintain two
separate ODBC installations.
The ODBC or OCI memory requirement depends on your configuration. The more datasources you
configure, the more memory is required. Packet processing time might increase if you configure a large
number of SQL statements under SQLDefinition.
The Prime Access Registrar package includes some ODBC and OCIlib Drivers, and you should use the
included driver whenever possible. If a data store’s ODBC driver is not included with
Prime Access Registrar, you are required to install it. You configure the driver library using aregcmd to
modify the associated ini file.
Note For OCI services, ensure that you have installed the Oracle client properly by using tnsping or sqlplus
utilities. Oracle Instant Client libraries are not supported by OCI services.
Configuring ODBC/OCI
You use aregcmd to define your ODBC configuration and SQL statements. The Prime Access Registrar
server automatically creates the ODBC.ini file for your driver manager and driver based on how you
configure ODBC.
After you save and validate your configuration, it is saved in the MCD database. If you have configured
an ODBC service, Prime Access Registrar will query the MCD database and create or modify the
odbc.ini file before it builds a connection to the database. When you reload your configuration,
Prime Access Registrar shuts down any existing ODBC connections, then queries the MCD database to
create or modify the odbc.ini file and build a new connection for any configured ODBC Data Sources.
The following shows an example configuration for AA remote server:
[ //localhost/Radius/RemoteServers/oracle-access ]
Name = oracle-access
Description =
Protocol = odbc
ReactivateTimerInterval = 300000
Timeout = 15
DataSourceConnections = 8
ODBCDataSource = gordon
SNMPTrapIP =
SNMPTrapPort = 1521
KeepAliveTimerInterval = 0
SQLDefinition/
UserPasswordAttribute = password
SQLStatements/
Entries 1 to 1 from 1 total entries
Current filter: <all>
sql1/
Name = sql1
Description =
Type = query
SQL = "select password , username from arusers where username = ?"
ExecutionSequenceNumber = 1
MarkerList = UserName/SQL_CHAR
ODBCToRadiusMappings/
ODBCToEnvironmentMappings/
ODBCToCheckItemMappings/
Name = sql
Description =
Type = insert
SQL = "insert into accounting(username,acct_status_type) values (? , ?)"
ExecutionSequenceNumber = 1
MarkerList = "UserName/SQL_CHAR Acct-Status-Type/SQL_CHAR "
You use aregcmd to define your OCI configuration and SQL statements.
After you save and validate your configuration, it is saved in the MCD database.
The following shows an example configuration for OCI AA remote server:
[ //localhost/Radius/RemoteServers/AA_OCI]
Name = AA_OCI
Description =
Protocol = oci
ReactivateTimerInterval = 60000
Timeout = 1
OCITimeOutCount = 2
OCIActiveConnectionThresholdCount = 2
OCIConnectionReactivationInterval = 30000
DataSourceConnections = 4
ODBCDataSource = VM011DB
SNMPTrapIP =
SNMPTrapPort = 1521
KeepAliveTimerInterval = 3000
SQLDefinition/
UserPasswordAttribute = password
SQLStatements/
Entries 1 to 1 from 1 total entries
Current filter: <all>
sql1/
Name = sql1
Description =
Type = procedure
SQL = "call Access_Request(?,?)"
ExecutionSequenceNumber = 1
MarkerList = "UserName/SQL_CHAR password/SQL_OUT"
OCIToRadiusMappings/
OCIToEnvironmentMappings/
OCIToCheckItemMappings/
The following shows an example configuration for OCI AAA remote server:
[ //localhost/Radius/RemoteServers/oracle-accounting ]
Name = accounting
Description =
Protocol = oci-accounting
ReactivateTimerInterval = 6000
Timeout = 3
OCITimeOutCount = 2
OCIActiveConnectionThresholdCount = 2
OCIConnectionReactivationInterval = 3000
DataSourceConnections = 4
ODBCDataSource = VM011DB
SNMPTrapIP =
SNMPTrapPort = 1521
KeepAliveTimerInterval = 0
BufferAccountingPackets = FALSE
MaximumBufferFileSize = "10 Megabytes"
NumberOfRetriesForBufferedPacket = 3
BackingStoreEnvironmentVariables =
UseLocalTimeZone = FALSE
OCIAutoCommit = TRUE
OCITransactionCount = 0
AttributeList =
Delimiter =
SQLDefinition/
SQLStatements/
Entries 1 to 1 from 1 total entries
Current filter: <all>
sql/
Name = sql
Description =
Type = procedure
SQL = "call Accounting_Request(?,?)"
ExecutionSequenceNumber = 1
MarkerList = "UserName/SQL_CHAR Acct-Status-Type/SQL_CHAR"
Note We will use ODBC or OCI as the ODBC or OCI service name in the following examples.
Parameter Description
Name Required; inherited from the upper directory
Description An optional description of the service
Type Must be set to ODBC for ODBC service or OCI for OCI service
IncomingScript Optional
OutgoingScript Optional
OutagePolicy Required; must be set to AcceptAll or Drop Packet, or defaults to RejectAll
OutageScript Optional
Parameter Description
MultipleServersPolicy Required; must be set to RoundRobin or defaults to Failover.
When set to Failover, Prime Access Registrar directs requests to the first
server in the list until it determines the server is offline. If so,
Prime Access Registrar redirects all requests to the next server in the list
until it finds an online server.
When set to RoundRobin, Prime Access Registrar directs each request to
the next server in the RemoteServers list to share the resource load across
all servers in the RemoteServers list.
RemoteServers Required list of remote servers defined under
/Radius/Services/ODBC/RemoteServers such as ODBC-Primary and
ODBC-Secondary
Parameter Description
Name Required; inherited from the upper directory
Description An optional description of the server
Protocol Required and must be set to ODBC or OCI for ODBC or OCI
service respectively; no default value
ReactivateTimerInterval Required; default is 300000 (ms)
Timeout Required; default is 15 (seconds)
OCITimeOutCount Required; continuous timeout count to disconnect the selected
connection. Default is 10.
OCIActiveConnectionThreshold Required; threshold count of disconnections after which Prime
Count Access Registrar will mark the remote server as down and try to
reactivate it. Default value is 4.
OCIConnectionReactivationInte Required; time interval for attempting to reconnect the
rval disconnected OCI remote server session. Default value is 3000
ms.
Parameter Description
DataSourceConnections Required; number of concurrent connections to data source
(default is 8)
ODBCDataSource Required; no default value
SQLDefinition SQLDefinition/ (mandatory, no default);
UserPasswordAttribute = (mandatory, no default; data store field
for user password)
SQLStatements/
SQLStatement1/
SQLStatement2/
ODBCToRadiusMappings Optional; a list of name/value pairs in which the name is the
(OCIToRadiusMappings) name of the odbc attribute to retrieve from the user record, and
the value is the name of the RADIUS attribute to set to the value
of the odbc attribute retrieved.
For example, when the ODBCToRadiusMappings has the
entry: FramedIPAddress = Framed-IP-Address, the
RemoteServer retrieves the FramedIPAddress attribute from
the odbc user entry for the specified user, uses the value
returned, and sets the Response variable Framed-IP-Address to
that value.
Note When you select the protocol as OCI, the field name will
be displayed as OCIToRadiusMappings.
Parameter Description
ODBCToEnvironmentMappings Optional; a list of name/value pairs in which the name is the
(OCIToEnvironmentMappings) name of the odbc attribute to retrieve from the user record, and
the value is the name of the Environment variable to set to the
value of the odbc attribute retrieved.
For example, when the ODBCToEnvironmentMappings has
the entry: group = User-Group, the RemoteServer retrieves the
group attribute from the odbc user entry for the specified user,
uses the value returned, and sets the Environment variable
User-Group to that value.
Note When you select the protocol as OCI, the field name will
be displayed as OCIToEnvironmentMappings.
Note When you select the protocol as OCI, the field name will
be displayed as OCIToCheckItemMappings.
In all the above cases, the Prime Access Registrar will attempt to re-establish the remote server
connection after reactivation timer expires.
Tuning Parameters
1. SQLNET.ORA timeout configuration
Tuning $ORACLE_HOME/network/admin/sqlnet.ora file on the Oracle Client
For proper function of the reactivate timer interval, one or more of the following parameters in
sqlnet.ora file needs to be tuned:
– SQLNET.INBOUND_CONNECT_TIMEOUT
– SQLNET.OUTBOUND_CONNECT_TIMEOUT
– SQLNET.SEND_TIMEOUT
– SQLNET.RECV_TIMEOUT
Ensure that the ReactivateTimerInterval of ODBC/ODBC-Accounting remoteservers is greater than the
timeout values configured in sqlnet.ora.
2. AdditionalNativeOracleErrors connection lost error configuration
Whenever OCI remote server oracle connection encounters configured ORA error,
Prime Access Registrar will disconnect the remote server and reactivate it after the
ReactivateTimerInterval
Example
set /Radius/Advanced/AdditionalNativeOracleErrors
"3113,3114,12543,25408,25402,600,12502,12170,3135, 12518, 12526, 12528, 1089, 12547,
1041, 1092, 12537, 12514"
SQL Definitions
SQLDefinitions lists the UserPasswordAttribute and one or more SQL statements, listed numerically in
the order to be run. The UserPasswordAttribute represents a column in the database that contains users’
password information. Individual SQLStatements are numbered SQL1 through SQLn under
SQLStatements, as shown in the following example:
SQLDefinition/
UserPasswordAttribute = asdfjkl
SQLStatements/
SQL1/
SQL2/
SQL3/
...
The following example is an SQL statement used for Authentication and Authorization:
SQLStatements/
SQL1
Name = SQL1
Type = query (mandatory, no default; must be query/procedure)
SQL = SQL statement (mandatory, no default)
ExecutionSequenceNumber = Sequence number for SQLStatement execution.(mandatory,
no default and must be greater than zero).
MarkerList = UserName/SQL_DATA_TYPE …… (mandatory, UserName must be defined)
For more information on stored procedures and stored functions, refer to Oracle Stored Procedures,
page 13-14.
Table 13-3 describes the SQL Statement parameters.
Parameter Description
Name Name/number of SQL statement
Type Query (mandatory, no default value)
SQL SQL query statement
ExecutionSequenceNumber Sequence number for SQLStatement execution, must be
greater than zero (mandatory, no default)
MarkerList Defines all markers for the query. MarkerList uses the
format UserName/SQL_DATA_TYPE.
The resulted column from distinct(attribute) will be put into attribute which can be used for ODBC
Mappings. The actual result set from Oracle for this column would be named distinct(attribute).
5. The column list in the SQL statement must be delimited with a comma (,) and any extra spaces
between statements are ignored. Aliasing for column names in SQL is not allowed. SQLDefinition
properties define the SQL you want to execute, as shown in the following example.
To configure the multiple entries in the MarkerList list, surround the entire string in double quotes like
the following:
set MarkerList "UserName/SQL_CHAR CLID/SQL_CHAR"
To make this work, a variable called CLID must be in the environment dictionary. You can use a script
to copy the appropriate value into the variable.
ODBCToRadiusMappings/OCIToRadiusMappings
You configure ODBCToRadiusMappings or OCIToRadiusMappings with a list of name/value pairs
where name is the name of the data store attribute to retrieve from the user record and the value is the
name of the RADIUS attribute to set to the value of the data store attribute retrieved.
For example, use the following aregcmd command to set a value for the variable Framed-IP-Address:
If two rows are returned for ciscoavpair column, two Cisco-AVPair attributes will be created.
ODBCToEnvironmentMappings/OCIToEnvironmentMappings
Under ODBCToEnvironmentMappings or OCIToEnvironmentMappings there is a list of name and value
pairs in which the name is the name of the data store attribute to retrieve from the user record, and the
value is the name of the Environment variable to set to the value of the ODBC or OCI attribute retrieved.
For example, when the ODBCToEnvironmentMappings has the entry: group =User-Group, the
RemoteServer retrieves the attribute from the ODBC user entry for the specified user, uses the value
returned, and sets the environment variable User-Group to that value. When an SQL select statement
returns more than one row for a column mapped under ODBCToEnvironmentMappings, the value for all
rows is concatenated and assigned to the environment variable.
ODBCToCheckItemMappings/OCIToCheckItemMappings
A list of ODBC or OCI attribute/value pairs which must be present in the RADIUS access request and
must match, both name and value, for the check to pass.
For example, when the ODBCToCheckItemMappings or OCIToCheckItemMappings has the entry:
group = User-Group, the Access Request must contain the attribute group, and it must be set to
User-Group.
Table 13-4 describes the OCILib Open Source Oracle Driver options for OCI.
Table 13-4 OCILib Open Source Oracle Driver Options for OCI
Parameter Description
Name Name of the ODBCDataSource
Type Required; must be Oracle_oci
Database Required; Oracle Client configuration database name (no default value)
UserID Required; database username (no default value)
Password Optional user password; shown encrypted
Use aregcmd to configure the OCI Service as the default authentication and authorization service under
//localhost /Radius as in the following:
Note When you use an ODBC or OCI service, configure the BackingStoreDiscThreshold property under
/Radius/Advanced to ensure that the data generated by log files do not exceed the size limit configured.
Use aregcmd to configure the OCI Service as the default authentication and authorization service under
//localhost /Radius as in the following:
Note Prime Access Registrar does not support, return value with the "call" format for the stored procedures.
AA_OCI/
Name = AA_OCI
Description =
Protocol = oci
ReactivateTimerInterval = 60000
Timeout = 1
OCITimeOutCount = 2
OCIActiveConnectionThresholdCount = 2
OCIConnectionReactivationInterval = 30000
DataSourceConnections = 4
ODBCDataSource = VM011DB
SNMPTrapIP =
SNMPTrapPort = 1521
KeepAliveTimerInterval = 3000
SQLDefinition/
UserPasswordAttribute = password
SQLStatements/
Entries 1 to 1 from 1 total entries
Current filter: <all>
sql1/
Name = sql1
Description =
Type = procedure
SQL = "call Access_Request(?,?)"
ExecutionSequenceNumber = 1
MarkerList = "UserName/SQL_CHAR password/SQL_OUT"
OCIToRadiusMappings/
OCIToEnvironmentMappings/
OCIToCheckItemMappings/
The following shows an example configuration for OCI AAA remote server:
accounting/
Name = accounting
Description =
Protocol = oci-accounting
ReactivateTimerInterval = 6000
Timeout = 3
OCITimeOutCount = 2
OCIActiveConnectionThresholdCount = 2
OCIConnectionReactivationInterval = 3000
DataSourceConnections = 4
ODBCDataSource = VM011DB
SNMPTrapIP =
SNMPTrapPort = 1521
KeepAliveTimerInterval = 0
BufferAccountingPackets = FALSE
MaximumBufferFileSize = "10 Megabytes"
NumberOfRetriesForBufferedPacket = 3
BackingStoreEnvironmentVariables =
UseLocalTimeZone = FALSE
OCIAutoCommit = TRUE
OCITransactionCount = 0
AttributeList =
Delimiter =
SQLDefinition/
SQLStatements/
Entries 1 to 1 from 1 total entries
Current filter: <all>
sql/
Name = sql
Description =
Type = procedure
SQL = "call Accounting_Request(?,?)"
ExecutionSequenceNumber = 1
MarkerList = "UserName/SQL_CHAR Acct-Status-Type/SQL_CHAR"
Note Prime Access Registrar supports Oracle stored procedures for OCI AA and OCI AAA remote servers.
MySQL Support
Prime Access Registrar provides support for MySQL to query user records from a MySQL database and
enables you to write accounting records into MySQL when using Oracle accounting.
Prime Access Registrar has been tested with MySQL 5.0.90 and MyODBC 3.51.27 (reentrant).
This section contains the following topics:
• MySQL Driver
• Configuring a MySQL Datasource
• Example Configuration
MySQL Driver
You can download the MySQL driver from the MySQL website at http://mysql.com. You can go directly
to the driver download page using the following URL:
http://dev.mysql.com/downloads/connector/odbc/3.51.html
Save the downloaded file to a temporary location such as /tmp. Use commands to unzip and install the
driver.
For better performance with mysql, add the following code to the odbcinst.ini file under the
/cisco-ar/odbc/etc directory:
[mysql]
DRIVER=/usr/lib/libmyodbc3_r.so
Threading = 1
Step 1 Log into the Prime Access Registrar server and launch aregcmd.
Log in as a user with administrative rights such as user admin.
Step 2 Change directory to the /Radius/Advanced/ODBCDataSources and add a new ODBCDataSource.
cd /Radius/Advanced/ODBCDataSources
add mysql
cd mysql
[ //localhost/Radius/Advanced/ODBCDataSources/mysql ]
Name = mysql
Description =
Type =
The following is the default configuration for an ODBCDataSource object of type myodbc:
[ //localhost/Radius/Advanced/ODBCDataSources/mysql ]
Name = mysql
Description =
Type = myodbc
Driver =
UserID =
Password =
DataBase =
Server =
Port = 3306
Step 4 Set the Driver property to the path of the MyODBC library. Use a command like the following:
Step 5 Set the UserID property to a valid username for the MyODBC database and provide a valid password for
this user.
Step 6 Provide a DataBase name and the name of the Prime Access Registrar RemoteServer object to associate
with the ODBCDataSource.
Step 7 Change directory to /Radius/RemoteServers and add a RemoteServer object to associate with the new
ODBCDatasource.
cd /Radius/RemoteServers
add mysql
Step 8 Change directory to the new RemoteServer and set its protocol to odbc.
cd mysql
Step 9 Set the ODBCDataSource property to the name of the ODBCDataSource to associate with this
RemoteServer object.
Step 10 Change directory to /Radius/Services and add an ODBC service as described in Configuring an
ODBC/OCI Service, page 13-6.
Step 11 Change directory to /Radius and set the DefaultAuthenticationService and DefaultAuthorizationService
properties to the ODBC service added in the previous step.
Example Configuration
The following shows an example configuration for a MySQL ODBC data source. See Configuring an
ODBC DataSource, page 13-13 for more information.
[ //localhost/Radius/Advanced/ODBCDataSources/mysql ]
Name = mysql
Type = myodbc
Driver = /tmp/libmyodbc3_r.so
UserID = mysql
Password = <encrypted>
DataBase = test
Server = mysql-a
Port = 3306
The following shows an example configuration for a RemoteServer. See Configuring an ODBC/OCI
RemoteServer, page 13-7 for more information.
[ //localhost/Radius/RemoteServers/mysql-a ]
Name = mysql
Description =
Protocol = odbc
ReactivateTimerInterval = 300000
Timeout = 15
DataSourceConnections = 8
ODBCDataSource = mysql
KeepAliveTimerInterval = 0
SQLDefinition/
UserPasswordAttribute = asdfjkl
SQLStatements/
SQL1/
Name = SQL1
Type = query (mandatory, no default; must be query)
SQL = SQL statement (mandatory, no default)
ExecutionSequenceNumber = Sequence number for SQLStatement
execution.(mandatory, no default and must be greater than zero).
MarkerList = UserName/SQL_DATA_TYPE …… (mandatory, UserName must be defined)
SQL2/
SQL3/
ODBCToRadiusMappings/
ODBCToEnvironmentMappings/
ODBCToCheckItemMappings/
The following shows an example configuration for an ODBC service. See Configuring an ODBC/OCI
Service, page 13-6 for more information.
[ //localhost/Radius/Services/ODBC ]
Name = ODBC
Description =
Type = ODBC
IncomingScript~ =
OutgoingScript~ =
OutagePolicy~ = RejectAll
OutageScript~ =
MultipleServersPolicy = Failover
RemoteServers/
1. mysql-a
SIGTRAN, a working group of the Internet Engineering Task Force (IETF), has defined a protocol for
the transport of real-time signaling data over IP networks. Cisco Prime Access Registrar
(Prime Access Registrar) supports SS7 messaging over IP (SS7oIP) via SIGTRAN-M3UA, a new
transport layer which leverages Stream Control Transmission Protocol (SCTP). Prime Access Registrar
supports SIGTRAN-M3UA to fetch the authentication vectors from HLR, which is required for
EAP-AKA/EAP-SIM authentication.
Note You have SIGTRAN-M3UA interface support in addition to the existing SUA interface support.
The EAP-AKA and EAP-SIM authentication service is extended to use M3UA. When using M3UA
service for authentication, the subscriber identity (IMSI) is used to send a request to HLR and receives
information from HLR containing the authentication information for authenticating an user. The
authentication service initiates a request to the SIGTRAN server using IMSI, which retrieves the
configured number of authentication vectors from HLR, i.e Triplets or Quintets.
The Prime Access Registrar server initiates the MAP service. After enabling the MAP service, the
Prime Access Registrar server sends a sendAuthenticationInfo request that contains IMSI and the
number of requested authentication vectors to HLR. The HLR sends a response containing the requested
vectors information to Prime Access Registrar. Next, the Prime Access Registrar server sends a
sendRoutinginfoForLCS request that contains IMSI and the GMLC address to HLR. The HLR sends a
response containing the MSISDN information for authenticating the mobile subscribers.
Prime Access Registrar provides map-restore-data authentication support for m3ua services.
Prime Access Registrar supports multiple remote servers with the protocol type, SIGTRAN-M3UA.
However, Prime Access Registrar validates and ensures the following when multiple remote servers are
available:
• The source port is different for all the remote servers.
• If Origin Point Code (OPC) is different, the routing context is also different for all the remote
servers.
• The Destination Point Code (DPC) is different for all the remote servers.
• The NetworkVariant, SubServiceField (SSF), TCAPVariant, NetworkAppearance, and
NetworkIndicator values are the same for all the remote servers.
This section describes the following:
• Prerequisites to SIGTRAN-M3UA
• Configuring EAP-AKA/EAP-SIM with SIGTRAN-M3UA
• Configuring M3UA Service
• Blacklisting Support for SIGTRAN-M3UA Remote Server, page 14-21
• Support for SCTP Multihoming in SIGTRAN-M3UA, page 14-21
• Tuning Global SIGTRAN Parameters, page 14-22
• SIGTRAN-M3UA Logs, page 14-24
Prerequisites to SIGTRAN-M3UA
Before enabling the SIGTRAN-M3UA remote server, you must do the following:
• ensure that LKSCTP is not available in the Prime Access Registrar server.
• ensure to restart the Prime Access Registrar server whenever you make any configuration changes.
• ensure that you have the 32-bit rpm files for the relevant RHEL OS versions while installing the Cisco
Prime Access Registrar. For the list of required rpms for the relevant OS versions, see Required 32-bit
rpms for Relevant RHEL OS Versions.
Note You must install the rpm verions relevant to the RHEL OS versions while installing the
Prime Access Registrar.
• ensure that the ‘bc’ command (which is an arbitrary precision calculator language) is present while
installing Prime Access Registrar in a Linux machine. If the ‘bc’ command is not present, install the
relevant rpm such as bc-1.06.95-1.el6.x86_64 on that machine.
• ensure that you have the following packages while installing the Prime Access Registrar:
– gcc version-3.4.6
– gdome-config-0.8.1
Note You need to build the gdome-config-0.8.1 package to make it available. For more
information, see Building gdome Package, page 14-3
– xml2-config-2.6.23
– pkg-config-0.15.0
– glib-2.30
– gtk-2.41
– libxml-2.2.6.20
Step 4 Use the cd command to move into the package obtained from Step 3.
Step 5 Execute the following commands:
./configure --prefix=<GdomeInstallPath> --with-glib-prefix=<GlibInstalledDirectory>
make
make install
Where,
cd /Radius/Services
add eap-aka-service
set eap-aka
cd remoteServers/
Set 1 m3ua
The following shows an example configuration for EAP-AKA service with SIGTRAN-M3UA remote
server support, see Table 5-1 to know more about EAP-AKA service properties.
[ //localhost/Radius/Services ]
Entries 1 to 2 from 2 total entries
Current filter: <all>
eap-aka/
Name = eap-aka
Description =
Type = eap-aka
AlwaysRequestIdentity = False
EnableIdentityPrivacy = False
PseudonymSecret = <encrypted>
PseudonymRenewtime = "24 Hours"
PseudonymLifetime = Forever
Generate3GPPCompliantPseudonym = False
EnableReauthentication = False
MaximumReauthentications = 16
ReauthenticationTimeout = 3600
ReauthenticationRealm =
AuthenticationTimeout = 120
QuintetGenerationScript~ =
UseProtectedResults = False
SendReAuthIDInAccept = False
Subscriber_DBLookup = SIGTRAN-M3UA
FetchAuthorizationInfo = FALSE
MultipleServersPolicy = Failover
IncomingScript~ =
OutgoingScript~ =
OutageScript~ =
RemoteServers/
cd /Radius/Services
add eap-sim-service
set eap-sim
cd remoteServers
Set 1 m3ua
The following shows an example configuration for EAP-SIM service with SIGTRAN-M3UA remote
server support. See Table 5-6 to know more about EAP-SIM service properties.
eap-sim/
Name = eap-sim
Description =
Type = eap-sim
NumberOfTriplets = 2
UseSimDemoTriplets = False
AlwaysRequestIdentity = False
EnableIdentityPrivacy = False
PseudonymSecret = <encrypted>
PseudonymRenewtime = "24 Hours"
PseudonymLifetime = Forever
Generate3GPPCompliantPseudonym = False
EnableReauthentication = False
MaximumReauthentications = 16
ReauthenticationTimeout = 3600
ReauthenticationRealm =
TripletCacheTimeout = 0
AuthenticationTimeout = 120
UseProtectedResults = False
SendReAuthIDInAccept = False
SubscriberDBLookup = SIGTRAN-M3UA
FetchAuthorizationInfo = FALSE
MultipleServersPolicy = Failover
IncomingScript~ =
OutgoingScript~ =
OutageScript~ =
RemoteServers/
Note After enabling the SIGTRAN-M3UA remote server, you must ensure to restart the
Prime Access Registrar server whenever you make any configuration changes.
Note If you set FetchAuthorizationInfo as TRUE for EAP-AKA or EAP-SIM service for SIGTRAN-M3UA
in Prime Access Registrar, it fetches the MSISDN information from HLR in response. The following is
an example script for reading the MSISDN information from the response,
proc MapMSISDN {request response environ} {
$environ get AuthorizationInfo
}
cd /r/remoteServers/
add M3UA
cd M3UA
Step 6 Set the reactivate timer interval for the remote server.
Note Prime Access Registrar supports the following local Sub System Numbers (SSNs) by
default:
SGSN (149)
VLR (7)
GMLC (145)
Set mlcnumber
cd routingparameters/
set OriginPointCode 2
set DestinationPointCode 4
set RemoteSubSystemNumber 6
set RoutingContext 11
Note Prime Access Registrar supports either ITU or ANSI variant in one running instance. Both the variants
are not supported simultaneously.
The following shows an example configuration of SIGTRAN-M3UA remote server with ITU variant:
[ //localhost/Radius/RemoteServers/m3ua ]
Name = m3ua
Description =
Protocol = sigtran-m3ua)
SourcePort = 2905
LocalSubSystemNumber = 149
DestinationPort = 2905
IMSITranslationScript~ =
GlobalTitleTranslationScript~ = setGT
Timeout = 15
ReactivateTimerInterval = 2000
LimitOutstandingRequests = FALSE
MaxOutstandingRequests = 0
MaxRetries = 3
MAPVersion = 2
NetworkVariant = ITU
SubServiceField = NAT
TCAPVariant = ITU96
NetworkAppearance = 1
NetworkIndicator = NAT
MLCNumber = 123456789012345
TrafficMode = LOADSHARE
LoadShareMode = SLS
RoutingIndicator = RTE_GT
RoutingParameters/
OriginPointCode = 2
DestinationPointCode = 4
RemoteSubSystemNumber = 6
OPCMask = 16383
DPCMask = 16383
ServiceIndicatorOctet = 0
RoutingContext = 11
SourceGTAddress/
SourceGTDigits = 919845071842
SourceGTFormat = GTFRMT_4
SourceNatureofAddress = INTNUM
SourceTranslationType = 0
SourceNumberingPlan = ISDN
SourceEncodingScheme = BCDEVEN
DestinationGTAddress/
DestGTDigits = 919845071842
DestGTFormat = GTFRMT_4
DestNatureofAddress = INTNUM
DestTranslationType = 0
DestNumberingPlan = ISDN
DestEncodingScheme = BCDEVEN
Property Description
Name Required; inherited from the upper directory.
Description An optional description of the service.
Protocol Represents the type of remote server. The value should be SIG-
TRAN-M3UA.
SourcePort The port number in which Prime Access Registrar is installed for M3UA
transactions.
Property Description
LocalSubSystemNumber The local sub system number is set as 149 by default.
DestinationPort The destination port number to which Prime Access Registrar connects.
IMSITranslationScript The scripting point is used to modify the IMSI based on the requirement
before sending the request to STP/HLR.
GlobalTitleTranslationSc This is used to specify the name of the script which is responsible for
ript translating IMSI to Global Title Address (GTA).
You can choose to configure blacklisting as part of the global title
translation script for SIGTRAN-M3UA remote server. For more
information about blacklisting, see .
Timeout Specifies the time (in seconds) to wait before an authentication request
times out; defaults to 15.
MaxTimeOuts Maximum number of timeouts allowed for the remote server.
MaxSessionLimit Maximum number of sessions allowed for the remote server.
ReactivateTimerInterval Specifies the time interval (in milliseconds) to activate an inactive server;
defaults to 300000 ms (which is 5 minutes).
LimitOutstandingRe- Required; the default is FALSE. Prime Access Registrar uses this property
quests in conjunction with the MaxOutstandingRequests property to tune the
RADIUS server's use of the HLR.
When you set this property to TRUE, the number of outstanding requests
for this RemoteServer is limited to the value you specified in MaxOut-
standingRequests. When the number of requests exceeds this number,
Prime Access Registrar queues the remaining requests, and sends them as
soon as the number of outstanding requests drops to this number.
MaxOutstandingRe- Required when you have set the LimitOutstandingRequests to TRUE. The
quests number you specify, which must be greater than zero, determines the
maximum number of outstanding requests allowed for this remote server.
TrafficMode The mode of the traffic for the HLR. The possible values are
LOADSHARE or ACTSTANDBY.
LoadShareMode Required. The TrafficMode is set as LOADSHARE, which is a type of load
sharing scheme.
When there is more than one associations with HLR, then the load sharing
is set as Signaling Link Selection (SLS). SLS is done based on a simple
round-robin basis.
MAPVersion The version of the MAP. The possible values are 2 or 3. Specify the MAP
version that the HLR supports, i.e, 2 or 3 during the configuration.
NetworkVariant Required. Choose ITU or ANSI to represent the network variant switch.
Property Description
SubServiceField Specifies the type of network to which this SAP belongs. The possible
options are:
• INT—represents international network
• NAT—represents national network
• RESERVE—represents reserved network
• SPARE—represents spare network
SCCPVariant The Signaling Connection Control Part (SCCP) variant of the Global Title:
• Select ITU88, ITU92, or ITU96, if NetworkVariant is set to ITU.
• Select ANS88, ANS92, or ANS96, if NetworkVariant is set to ANS.
TCAPVariant Required; represents the name of the tcap network variant switch. The
possible options are ITU88, ITU92, or ITU96.
NetworkAppearance Required. A parameter that represents network appearance in the M3UA
packet. Value ranges from 0-2147483647 and the default value is 1.
This is optional as per the RFC 4666 (http://tools.ietf.org/html/rfc4666.)
You can set this value to 0 to remove network appearance from the data
packet.
NetworkIndicator The network indicator used in SCCP address. The possible options are
NAT and INT which represents international network and national network
respectively.
MLCNumber Required, if you select FetchAuthorizationInfo as True in EAP-AKA or
EAP-SIM services. Also, required for M3UA service for fetching the
MSISDN from the HLR. This is the map layer network node number by
which the HLR identifies the Prime Access Registrar in the network. The
MLC number is configured in E.164 format.
RoutingIndicator Required; represents the routing indicator. The possible values are Route
on Global Title (RTE_GT) or Route on Sub System Number (RTE_SSN).
You can use either RTE_GT or RTE_SSN value to route the packets for
HLR.
RoutingParameters
OriginPointCode Required; represents the originating point of a message in a signaling
network. The value ranges from 0-16777215.
This value must be less than OPCMask.
DestinationPointCode Required; represents the destination address of a signaling point in a SS7
network.
This value must be less than DPCMask.
RemoteSubSystemNum- Required; represents the sub system number of the remote server. The Re-
ber moteSubSystemNumber is set as 6 by default.
Property Description
OPCMask Represents the wild card mask for the origin point code. The value ranges
from 0-16777215.
Default value is 16383 for ITU and16777215 for ANSI.
DPCMask Represents the wild card mask for the destination point code. The value
ranges from 0-16777215.
Default value is 16383 for ITU and16777215 for ANSI.
ServiceIndicatorOctet Represents the service identifier octet. The value ranges from 0-255.
RoutingContext Required; represents the routing context which ranges from 0-16777215.
SourceIPAddresses
add 1, add 2,... Represent the multiple source IP addresses configured on the remote
server.
DestinationIPAddresses
add 1, add 2,... Represent the multiple destination IP addresses configured on the remote
server.
SourceGTAddress
The following fields are displayed only when you set RTE_GT as RoutingIndicator.
SourceGTDigits Required; an unique number to identify the source.
SourceGTFormat Required; represents the format of the global translation (GT) rule. The
possible values are GTFRMT_0, GTFRMT_1, GTFRMT_2, GTFRMT_3,
GTFRMT_4, or GTFRMT_5.
The GT format is GTFRMT_0, GTFRMT_1, or GTFRMT_2 for ANSI
variant. GTFRMT_0 is the default format for both ANSI and ITU variants.
SourceNatureofAddress Required; represents the type of the source address. The possible values are
ADDR_NOTPRSNT (Address not present), SUBNUM (Subscriber
number), NATSIGNUM (National significant number), or INTNUM (In-
ternational number.)
SourceTranslationType Required; represents the type of translation. The possible values ranges
from 0-255.
SourceNumberingPlan Required; represents the numbering plan of the network that the subscriber
uses. For example, land mobile numbering plan, ISDN mobile numbering
plan, private or network specific numbering plan.
SourceEncodingScheme Required; represents the BCD encoding scheme. The possible values are
UNKN (Unknown), BCDODD (BCD Odd), BCDEVEN (BCD Even), or
NWSPEC (National specific). This must be set based on the length of the
GT.
DestinationGTAddress
The following fields are displayed only when you set RTE_GT as RoutingIndicator.
DestGTDigits Required; an unique number to identify the destination.
Property Description
DestGTFormat Required; represents the format of the global translation (GT) rule. The
possible values are GTFRMT_0, GTFRMT_1, GTFRMT_2, GTFRMT_3,
GTFRMT_4, or GTFRMT_5.
The GT format is GTFRMT_0, GTFRMT_1, or GTFRMT_2 for ANSI
variant. GTFRMT_0 is the default format for both ANSI and ITU variants.
DestNatureofAddress Required; represents the type of the destination address. The possible
values are ADDR_NOTPRSNT (Address not present), SUBNUM (Sub-
scriber number), NATSIGNUM (National significant number), or
INTNUM (International number.)
DestTranslationType Required; represents the type of translation. The possible values ranges
from 0-255.
DestNumberingPlan Required; represents the numbering plan of the network that the subscriber
uses. For example, Land mobile numbering plan, ISDN mobile numbering
plan, private or network specific numbering plan. Possible values are
DATA, GENERIC, ISDN, ISDNMOB, LANMOB, MARMOB, NWSPEC,
TEL, TELEX, and UNKN.
DestEncodingScheme Required; represents the BCD encoding scheme. The possible values are
UNKN (Unknown), BCDODD (BCD Odd), BCDEVEN (BCD Even), or
NWSPEC (National specific). This must be set based on the length of the
GT.
The following shows an example configuration of SIGTRAN-M3UA remote server with ANSI variant:
[ //localhost/Radius/RemoteServers ]
Entries 1 to 1 from 1 total entries
Current filter: <all>
STP/
Name =STP
Description =
Protocol = Sigtran-m3ua
SourcePort = 2905
LocalSubSystemNumber = 149
DestinationPort = 2905
IMSITranslationScript~ =
Timeout = 15
MaxTimeOuts = 200
MaxSessionLimit = 0
ReactivateTimerInterval = 2000
LimitOutstandingRequests = FALSE
MaxOutstandingRequests = 0
MAPVersion = 2
NetworkVariant = ANS
SubServiceField = NAT
SCCPVariant = ANS92
TCAPVariant = ITU96
NetworkAppearance = 1
NetworkIndicator = NAT
MLCNumber = 123456789012345
TrafficMode = LOADSHARE
LoadShareMode = SLS
RoutingIndicator = RTE_GT
GlobalTitleTranslationScript~ =
MaskPointCode = FALSE
RoutingParameters/
OriginPointCode = 13967019
DestinationPointCode = 13966849
RemoteSubSystemNumber = 6
OPCMask = 16777215
DPCMask = 16777215
ServiceIndicatorOctet = 3
RoutingContext = 11
SourceIPAddresses/
1. 10.81.78.142
DestinationIPAddresses/
1. 10.81.78.145
SourceGTAddress/
SourceGTDigits = 919845071842
SourceGTFormat = GTFRMT_2
SourceTranslationType = 10
DestinationGTAddress/
DestGTDigits = 919845071842
AdditionalDestGTDigits = 9198,2011
DestGTFormat = GTFRMT_2
DestTranslationType = 9
cd /Radius/Services
add FetchAuthInfo
Note See Example Configuration, page 14-14 for a sample configuration with
• Map-Restore—To fetch the profile information of a subscriber from the HLR. For more information
on configuring the M3UA service with Map Restore Data authorization, see Configuring M3UA
Service with Map Restore Data Authorization, page 14-14.
cd remoteServers
Set 1 m3ua
Example Configuration
The following shows an example configuration of the M3UA service:
[ //localhost/Radius/Services/test ]
Name = test
Description =
Type = m3ua
IncomingScript~ =
OutgoingScript~ =
OutageScript~ =
OutagePolicy~ = RejectAll
AuthorizationInfoLookUp = IMSI-MSISDN
RemoteServers/
NoReplyConditionTime =
LongForwardedToNumber =
BasicService/
BS-Ext-BearerService = bsextbsservice
BS-Ext-Teleservice = bsextteleservice
CallBarringInfo/
CB-SS-Code =
CallBarFeatureList/
Index =
CB-SS-Status =
BasicService/
CB-Ext-BearerService =
CB-Ext-Teleservice =
CugInfo/
CugSubList/
Index =
CugSubscription/
Cug-Index =
cug-Interlock =
IntraCUG-Options =
BasicServiceGroupList/
Index =
CUG-Ext-BearerService =
CUG-Ext-Teleservice =
CugInformation/
Cug-FeatureList/
Index =
CUG-Feature/
BasicService.Ext-BearerService =
PreferentialCUG-Indicator =
InterCUG-Restrictions =
SS-Data/
SSD-SS-Code =
SSD-SS-Status =
SS-SubscriptionOption/
CliRestrictionOption =
OverrideCategory =
BasicServiceGroupList/
Index =
BSG-Ext-BearerService =
BSG-Ext-Teleservice =
EMLPP-Info/
MaximumEntitledPriority =
DefaultPriority =
ODB-Data/
ODB-GeneralData =
ODB-HPLMN-Data =
RegionalSubscriptionData/
Index =
RegionalSubscriptionData =
VBSSubscriptionData/
Index =
VBS-GroupId =
BroadcastInitEntitlement =
VGCSSubscriptionData/
Index =
VGCS-GroupId =
AdditionalSubscriptions =
AdditionalInfo =
LongGroupId =
LCSInformation/
GMLC-List/
Index =
GMLC =
LCS-PrivacyExceptionList/
Index =
PE-SS-Code =
SS-Status =
LCSNotificationToMSUser =
ExternalClientList/
Index =
ClientIdentity.ExternalAddress =
ExtCliGMLC-Restriction =
ExtCliNotificationToMSUser =
PLMNClientList/
Index =
PLMNClient =
ServiceTypeList/
Index =
ServiceTypeIdentity =
SerTypeGMLC-Restriction =
SerTypeNotificationToMSUser =
MOLR-List/
Index =
MOLR-SS-Code =
MOLR-SS-Status =
MC-SS-Info/
MC-SS-Code =
MC-SS-Status =
NbrSB =
NbrUser =
SGSN-CAMEL-SubscriptionInfo/
GPRS-CSI/
GPRS-CamelCapabilityHandling =
GPRS-NotificationToCSE =
GPRS-CSI-Active =
GPRS-CamelTDPDataList/
Index =
GPRS-TriggerDetectionPoint =
GPRS-ServiceKey =
GPRS-GSMSCF-Address =
DefaultSessionHandling =
MO-SMS-CSI/
MOSMS-CamelCapabilityHandling =
MOSMS-NotificationToCSE =
MOSMS-CSI-Active =
SMS-CAMEL-TDP-DataList/
Index =
MO-SMS-TriggerDetectionPoint =
MO-ServiceKey =
MO-GSMSCF-Address =
MO-DefaultSMSHandling =
MT-SMS-CSI/
MTSMS-CamelCapabilityHandling =
MTSMS-NotificationToCSE =
MTSMS-CSI-Active =
SMS-CAMEL-TDP-DataList/
Index =
MT-SMS-TriggerDetectionPoint =
MT-ServiceKey =
MT-GSMSCF-Address =
MT-DefaultSMSHandling =
MT-SMSCAMELTDP-CriteriaList/
Index =
SMS-TriggerDetectionPoint =
TPDU-TypeCriterion =
MG-CSI/
MobilityTriggers =
MG-ServiceKey =
MG-GSMSCF-Address =
MG-NotificationToCSE =
MG-CSI-Active =
ProfileMappings/
imsi = 100,Profile1
naea = 20,Profile2
naea = 30,Profile3
[ //localhost/Radius/Profiles ]
Entries 1 to 6 from 6 total entries
Current filter: <all>
default-PPP-users/
default-SLIP-users/
default-Telnet-users/
Profile1/
Profile2/
Profile3/
Parameter Description
IMSI IMSI received in the response from HLR.
Naea-Preferred CI North American Equal Access preferred Carrier ID List. A list of the preferred
carrier identity codes that are subscribed to.
Roaming Restricted In Indicates that a subscriber is not allowed to roam in the current Service GPRS
Sgsn Due To Support Node (SGSN) or Cisco Mobility Management Entity (MME) area.
Unsupported Feature
Network Access Mode The Network Access Mode (NAM) defines if the subscriber is registered to get
access to the CS (non-GPRS/EPS network), to the PS (GPRS/EPS) network or
to both networks. NAM describes the first level of the subscriber data
pseudo-tree below the IMSIroot. It is permanent subscriber data stored in the
HSS / HLR and the SGSN with the Gs interface option, and the MME with the
SGs interface option.
LMU Indicator Indicates the presence of an LMU.
IST Alert Timer Indicates the IST alert timer value that must be used in the Mobile Switching
Center (MSC) to inform the HLR about the call activities that the subscriber
performs.
Super Charger Indicates whether super charger concept is supported in HLR.
Supported In HLR
CS Allocation Allocation-retention priority for Circuit Switched (CS). This parameter
Retention Priority specifies relative importance to compare with other bearers about allocation
and retention of bearer.
ChargingCharacteristi Subscribed charging characteristics.
cs
Table 14-2 Restore Data Mappings and Profile Mappings Parameters (continued)
Parameter Description
Access Restriction Allowed Recipient Access Table (RAT) according to subscription data.
Data
UE Reachability Indicates that the Home Subscriber Server (HSS) is awaiting a notification of
Request Indicator user equipment (UE) reachability.
Category Calling party category
LSA Information These parameters refer to one or more localized service areas (LSAs) a
subscriber may be a member of, together with the priority, the preferential
access indicator, the active mode support indicator and active mode indication
of each localized service area. The access right outside these localized service
areas is also indicated.
Subscriber Data
MSISDN MSISDN value in the subscriber data.
Subscriber Status Barring status of the subscriber, which could be Service Granted or Operator
Determined Barring.
Roaming Restriction Indicates that the subscriber is not allowed to roam in the current MSC area.
Due To Unsupported
Feature
Bearer Service List List of extensible bearer services subscribed.
Configure the index value to fetch only the required bearer services.
TeleService List List of extensible teleservices subscribed.
Configure the index value to fetch only the required teleservices.
Provisioned SS List of supplementary services provisioned.
Configure the index value to fetch only the required supplementary services.
ODB-Data Operator Determined Barring (ODB) general data and ODB Home Public
Land Mobile Network (HPLMN) specific data.
Regional Subscription List of regional subscription areas (zones) in which the subscriber is allowed
Data to roam.
Configure the index value to fetch only the required zones.
VBS Subscription List of Voice Broadcast Services (VBS) subscribed.
Data
Configure the index value to fetch only the required VBS.
VGCS Subscription List of Voice Group Call Services (VGCS) subscribed.
Data
Configure the index value to fetch only the required VGCS.
LCS Information
Live Communication Server (LCS) related information for the subscriber.
GMLC-List List of Gateway Mobile Location Centers (GMLCs) that are permitted to issue
a call/session unrelated or call/session related MT-LR request.
Configure the index value to fetch only the required GMLCs.
LCS-Privacy Classes of LCS client that are allowed to locate any target Mobile Station
Exception List (MS).
Configure the index value to fetch only the required classes.
Table 14-2 Restore Data Mappings and Profile Mappings Parameters (continued)
Parameter Description
MOLR-List Code and status of Mobile Originating Location Request (MO-LR)
subscribed.
Configure the index value to fetch only the required requests.
MC-SS-Info Parameters identifying Multicall (MC) supplementary services (SS).
SGSN-CAMEL-Subscri Parameters identifying the subscribers as having Customized Application for
ption Info Mobile Enhanced Logic (CAMEL) services that are invoked in the SGSN.
ProfileMappings
Attribute The RADIUS attribute to map the fetched profile data.
Value:Profile Value of the attribute.
You can configure an environment variable to fetch the required values from the subscriber data packets.
You can run a script to fetch the environment variable along with the values. See the example below:
proc FetchBearerService {request response environ} {
set bearerService [ $environ get bs-ext ]
$request trace 2 "BearerService value fetched is " $bearerService
}
In the above script bs-ext is the environment variable that is configured. If the values fetched from
BearerServiceList are 17,18,19,20 and 21, the above script returns the value 17:18:19:20:21.
Similarly we can run scripts to retrieve other environment variables as well.
Prime Access Registrar allows you to configure multiple source and destination addresses on the remote
server. The following shows an example configuration of SIGTRAN-M3UA remote server with multiple
source and destination addresses:
[ /Radius/RemoteServers/m3ua ]
Name = m3ua
Description =
Protocol = sigtran-m3ua
SourcePort = 2805
LocalSubSystemNumber = 149
DestinationPort = 2855
IMSITranslationScript~ =
GlobalTitleTranslationScript~ =
Timeout = 15
ReactivateTimerInterval = 300000
LimitOutstandingRequests = FALSE
MaxOutstandingRequests = 0
MAPVersion = 3
NetworkVariant = ITU
SubServiceField = NAT
TCAPVariant = ITU96
NetworkAppearance = 1
NetworkIndicator = NAT
MLCNumber = 123456789012345
TrafficMode = LOADSHARE
LoadShareMode = SLS
RoutingIndicator = RTE_SSN
RoutingParameters/
OriginPointCode = 2
DestinationPointCode = 4
RemoteSubSystemNumber = 6
OPCMask = 16383
DPCMask = 16383
ServiceIndicatorOctet = 0
RoutingContext = 11
SourceIPAddresses/
DestinationIPAddresses/
--> cd SourceIPAddresses
--> add 1 192.168.0.2
--> add 2 192.168.0.3
--> cd ../DestinationIPAddresses
--> add 1 192.168.0.5
--> add 2 192.168.0.6
In the above example, the link between IP addresses 192.168.0.2 and 192.168.0.5 acts as the primary
link and the link between IP addresses 192.168.0.3 and 192.168.0.6 acts as the secondary link. With the
Multihoming feature, if one of the interfaces in the primary link is down, the secondary link carries the
active traffic. On restoration of the IP address, the traffic switches back to the primary link.
Parameter Description
rtoMin Minimum value of retransmission timeout
rtoMax Maximum value of retransmission timeout
rtoInitial Initial value of retransmission timeout
alpha Retransmission timeout alpha value
beta Retransmission timeout beta value
maxAssocReTx Maximum association retransmission
maxPathReTx Maximum path retransmission
maxInitReTx Maximum initial retransmission
cookieLife Cookie life
intervalTm Heartbeat interval
maxAckDelayTm SACK period
maxNmbInStrms Maximum number of inbound streams
maxNmbOutStrms Maximum number of outbound streams
mtuInitial Initial value of maximum transmission unit
mtuMinInitial Minimum Initial value of maximum transmission unit
mtuMaxInitial Maximum Initial value of maximum transmission unit
Step 1 Launch the CLI tool SIGTRANXMLEdit from the /cisco-ar/bin directory.
The tool displays the list of editable parameters available in the default.xml file as shown below.
1. RTO min (RTOMI) from the header _sbSctSapCfg
2. RTO max (RTOMA) from the header _sbSctSapCfg
3. RTO Initial (RTOI) from the header _sbSctSapCfg
4. RTO Alpha (RTOA) from the header _sbGenReCfg
5. RTO Beta (RTOB) from the header _sbGenReCfg
6. Assoc. Max retrans. (AMR) from the header _sbGenReCfg
7. Path Max retrans. (PMR) from the header _sbGenReCfg
8. Initial retrans. Attempts (IMR) from the header _sbGenReCfg
9. Cookie life (VCL) from the header _sbSctSapReCfg
10. HB interval (HBI) from the header _sbSctSapReCfg
11. SACK period (TSACK) from the header _sbSctSapReCfg
12. Streams per association (MIS/MOS) from the header _sbGenCfg
13. Maximum Transmission unit (MTU) from the header _sbGenCfg
The tool prompts you to enter the new value against the first parameter as shown below.
Enter values for the following parameters (just press ‘return’ to skip):
Maximum number of inbound streams "maxNmbInStrms" [ 1024 ] :
In this example, 1024 is the value that exists for the parameter in the default.xml file.
Step 2 Type the new value and press ENTER or just press ENTER to skip and proceed to the next parameter.
Perform this step for all parameters as shown below.
Enter values for the following parameters (just press ‘return’ to skip):
Step 3 When prompted for a confirmation, type Yes and press ENTER to save the changes. The tool displays
the modified parameters with the new and old values.
Changed Value of maxNmbInStrms is 87 <- 1024
Changed Value of maxNmbOutStrms is 90 <- 1024
Changed Value of mtuMinInitial is 65 <- 1500
Changed Value of mtuMaxInitial is 33 <- 1500
Changed Value of maxInitReTx is 9 <- 5
Changed Value of maxAssocReTx is 4 <- 10
Changed Value of maxPathReTx is 2 <- 5
Changed Value of alpha is 15 <- 12
Changed Value of beta is 34 <- 25
Changed Value of maxAckDelayTm is 89 <- 2
Changed Value of cookieLife is 67 <- 60
Changed Value of intervalTm is 89 <- 15
[root@ar-lnx-vm061 bin]#
SIGTRAN-M3UA Logs
The following logs are applicable for SIGTRAN-M3UA:
• stack.log—Logs the interaction between Prime Access Registrar and STP/HLR.
• sm.log—Logs the internal debug information for SIGTRAN-M3UA stack manager.
• m3ua.log—Logs the inter-process communication between Prime Access Registrar and
SIGTRAN-M3UA stack.
• cliActivity.log—Logs the initialization and command interactions.
Overview
Prime Access Registrar provides SNMP MIB and trap support for users of network management
systems. The supported MIBs enable the network management station to collect state and statistic
information from an Prime Access Registrar server. The traps enable Prime Access Registrar to notify
interested network management stations of failure or impending failure conditions.
Prime Access Registrar supports the MIBs defined in the following RFCs:
• RADIUS Authentication Client MIB for IPv6, RFC 4668
• RADIUS Authentication Server MIB for IPv6, RFC 4669
• RADIUS Accounting Client MIB for IPv6, RFC 4670
• RADIUS Accounting Server MIB for IPv6, RFC 4671
• CISCO Diameter Base Protocol MIB
Prime Access Registrar MIB support enables a standard SNMP management station to check the current
state of the server as well as the statistics on each client or each proxied remote server.
Prime Access Registrar Trap support enables a standard SNMP management station to receive trap
messages from an Prime Access Registrar server. These messages contain information indicating that
either the server was brought up or down, or that the proxied remote server is down or has come back
online.
Supported MIBs
The MIBs supported by Prime Access Registrar enable a standard SNMP management station to check
the current state of the server and statistics for each client or proxied remote server.
RADIUS-AUTH-CLIENT-MIB
The RADIUS-AUTH-CLIENT-MIB describes the client side of the RADIUS authentication protocol.
The information contained in this MIB is useful when an Prime Access Registrar server is used as a
proxy server.
RADIUS-AUTH-SERVER-MIB
The RADIUS-AUTH-SERVER-MIB describes the server side of the RADIUS authentication protocol.
The information contained in this MIB describes managed objects used for managing a RADIUS
authentication server.
RADIUS-ACC-CLIENT-MIB
The RADIUS-ACC-CLIENT-MIB describes the client side of the RADIUS accounting protocol. The
information contained in this MIB is useful when an Prime Access Registrar server is used for
accounting.
RADIUS-ACC-SERVER-MIB
The RADIUS-ACC-CLIENT-MIB describes the server side of the RADIUS accounting protocol. The
information contained in this MIB is useful when an Prime Access Registrar server is used for
accounting.
CISCO-DIAMETER-BASE-PROTOCOL-MIB
Prime Access Registrar uses the CISCO-DIAMETER-BASE-PROTOCOL-MIB as an interface to query
the Diameter statistics, though configuring the Diameter through SNMP is not possible.
Prime Access Registrar supports LocalStatistics and PeerStatiscics only. The LocalStats provides
statistical information about the local diameter server and the PeerStats provides statistical information
about the peers and the messages to/from the peers.
SNMP Traps
The traps supported by Prime Access Registrar enable a standard SNMP management station to receive
trap messages from an Prime Access Registrar server. These messages contain information indicating
whether a server was brought up or down, or that the proxied remote server is down or has come back
online.
A trap is a network message of a specific format issued by an SNMP entity on behalf of a network
management agent application. A trap is used to provide the management station with an asynchronous
notification of an event.
When a trap is generated, a single copy of the trap is transmitted as a trap PDU to each destination
contained within a list of trap recipients.
The list of trap recipients is shared by all events and is determined at server initialization time along with
other trap configuration information. The list of trap recipients dictates where Prime Access Registrar
traps are directed.
The configuration of any other SNMP agent on the host is ignored. By default, all traps are enabled but
no trap recipients are defined. By default, no trap is sent until trap recipients are defined.
Traps are configured using the command line interface (CLI). After configuring traps, the configuration
information is re initialized when a server reload or restart occurs.
Note SNMP queries and traps communication can be performed over IPv6.
When you configure traps, you must provide the following information:
• List of trap recipients (community string for each)
• Suppressing traps for any type of message
• Frequency of traps for any type of message
This topic contains the following sections:
• Supported Traps, page 15-4
• Configuring Traps, page 15-11
Supported Traps
The traps supported by Prime Access Registrar enable the Prime Access Registrar server to notify
interested management stations of events, failure, or impending failure conditions. Traps are a network
message of a specific format issued by an SNMP entity on behalf of a network management agent
application. Traps are used to provide the management station with an asynchronous notification of an
event.
This section contains the following topics:
• carServerStart
• carServerStop
• carInputQueueFull
• carInputQueueNotVeryFull
• carDiaInputQueueFull
• carDiaInputQueueNotFull
• carOtherAuthServerNotResponding
• carOtherAuthServerResponding
• carOtherAccServerNotResponding
• carOtherAccServerResponding
• carAccountingLoggingFailure
• carLicenseUsage
• carSigtranLicenseUsage
• carDiameterPeerDown
• carDiameterPeerUp
• carTPSCapacityFull
• carTPSCapacityNotFull
• carSigtranTPSCapacityFull
• carSigtranTPSCapacityNotFull
• carSessionCapacityFull
• carSessionCapacityNotFull
• carSigtranSessionCapacityFull
• carSigtranSessionCapacityNotFull
• carLicenseUsageReset
• carSigtranLicenseUsageReset
• carReplicationSyncFailure
• carReplicationSuccess
carServerStart
carServerStart signifies that the server has started on the host from which this notification was sent.
This trap has one object, carNotifStartType, which indicates the start type. A firstStart indicates this is
the server process’ first start. reload indicates this server process has an internal reload. This typically
occurs after rereading some configuration changes, but reload indicates this server process did not quit
during the reload process.
carServerStop
carServerStop signifies that the server has stopped normally on the host from which this notification
was sent.
carInputQueueFull
carInputQueueFull indicates that the percentage of use of the packet input queue has reached its high
threshold. This trap has two objects:
• carNotifInputQueueHighThreshold—indicates the high limit percentage of input queue usage
• carNotifInputQueueLowThreshold—indicates the low limit percentage of input queue usage
By default, carNotifInputQueueHighThreshold is set to 90% and carNotifInputQueueLowThreshold is
set to 60%.
Note The values for these objects cannot be changed at this time. You will be able to modify them in a future
release of Prime Access Registrar.
After this notification has been sent, another notification of this type will not be sent again until the
percentage usage of the input queue goes below the low threshold.
If the percentage usage reaches 100%, successive requests might be dropped, and the server might stop
responding to client requests until the queue drops down again.
carInputQueueNotVeryFull
carInputQueueNotVeryFull indicates that the percentage usage of the packet input queue has dropped
below the low threshold defined in carNotifInputQueueLowThreshold. This trap has two objects:
• carNotifInputQueueHighThreshold—indicates the high limit percentage of input queue usage
• carNotifInputQueueLowThreshold—indicates the low limit percentage of input queue usage
After this type of notification has been sent, it will not be sent again until the percentage usage goes back
up above the high threshold defined in carNotifInputQueueHighThreshold.
carDiaInputQueueFull
carDiaInputQueueFull signifies that the percentage of use of the Diameter packet input queue has
reached its high threshold. This trap has two objects:
• carNotifDiaInputQueueHighThreshold—indicates the high limit percentage of Diameter packet
input queue usage.
carDiaInputQueueNotFull
carDiaInputQueueNotFull signifies that the percentage of use of Diameter packet input queue has
dropped below the low threshold defined in carNotifDiaInputQueueLowThreshold. This trap has two
objects:
• carNotifDiaInputQueueHighThreshold—indicates the high limit percentage of Diameter packet
input queue usage.
• carNotifDiaInputQueueLowThreshold—indicates the low limit percentage of the Diameter packet
input queue usage.
After this type of notification has been sent, it will not be sent again until the percentage usage goes back
up above the high threshold defined in carNotifDiaInputQueueHighThreshold.
carOtherAuthServerNotResponding
carOtherAuthServerNotResponding indicates that an authentication server is not responding to a
request sent from this server. This trap has three objects:
• radiusAuthServerAddress—indicates the identity of the concerned server
• radiusAuthClientServerPortNumber—indicates the port number of the concerned server
• carAuthServerType—indicates the type of the concerned server
The index of these three objects identifies the entry in radiusAuthServerTable and carAccServerExtTable
which maintains the characteristics of the concerned server.
Note One should not rely solely on carOtherAuthServerNotResponding for server state. Several conditions,
including a restart of the Prime Access Registrar server, could result in either multiple
carOtherAuthServerNotResponding notifications being sent or in a carOtherAuthServerResponding
notification not being sent. NMS can query the carAuthServerRunningState in carAuthServerExtTable
for the current running state of this server.
carOtherAuthServerResponding
carOtherAuthServerResponding signifies that an authentication server which had formerly been in a
down state is now responding to requests from the Prime Access Registrar server. This trap has three
objects:
• radiusAuthServerAddress—indicates the identity of the concerned server
• radiusAuthClientServerPortNumber—indicates the port number of the concerned server
• carAuthServerType—indicates the type of the concerned server
The index of these three objects identifies the entry in radiusAuthServerTable and carAccServerExtTable
which maintains the characteristics of the concerned server.
One should not rely on receiving this notification as an indication that all is well with the network.
Several conditions, including a restart of the Prime Access Registrar server, could result in either
multiple carOtherAuthServerNotResponding notifications being sent or in a
carOtherAuthServerResponding notification not being sent. The NMS can query the
carAuthServerRunningState in carAuthServerExtTable for the current running state of this server.
carOtherAccServerNotResponding
carOtherAuthServerNotResponding signifies that an accounting server is not responding to the
requests sent from this server. This trap has three objects:
• radiusAccServerAddress—indicates the identity of the concerned server
• radiusAccClientServerPortNumber—indicates the port number of the concerned server
• carAcchServerType—indicates the type of the concerned server
The index of these three objects identifies the entry in radiusAuthServerTable and arAccServerExtTable
which maintains the characteristics of the concerned server.
One should not solely rely on this for server state. Several conditions, including the restart of the
Prime Access Registrar server, could result in either multiple carOtherAccServerNotResponding
notifications being sent or in a carOtherAccServerResponding notification not being sent. The NMS can
query the carAccServerRunningState in carAccServerExtTable for current running state of this server.
carOtherAccServerResponding
carOtherAccServerResponding signifies that an accounting server that had previously sent a not
responding message is now responding to requests from the Prime Access Registrar server. This trap has
three objects:
• radiusAccServerAddress—indicates the identity of the concerned server
• radiusAccClientServerPortNumber—indicates the port number of the concerned server
• carAccServerType—indicates the type of the concerned server
The index of these three objects identifies the entry in radiusAuthServerTable and arAccServerExtTable
which maintains the characteristics of the concerned server.
One should not rely on the reception of this notification as an indication that all is well with the network.
Several conditions, including the restart of the Prime Access Registrar server, could result in either
multiple carOtherAccServerNotResponding notifications being sent or in a
carOtherAccServerResponding notification not being sent. The NMS can query the
carAccServerRunningState in carAccServerExtTable for the current running state of this server.
carAccountingLoggingFailure
carAccountingLoggingFailure signifies that this Prime Access Registrar server cannot record
accounting packets locally. This trap has two objects:
• carNotifAcctLogErrorReason—indicates the reason packets cannot be recorded locally
• carNotifAcctLogErrorInterval—indicates how long to wait until another notification of this type
might be sent. A value of 0 (zero) indicates no time interval checking, meaning that no new
notification can be sent until the error condition is corrected.
carLicenseUsage
carLicenseUsage signifies the percentage of transactions per second (TPS) usage or session usage from
the available license values.
TPS
The TPS trap is generated when the Prime Access Registrar server reaches license usage slabs namely
80%, 90%, 100%, and 110%. These traps are generated only once for every slab during the increasing
steady state. Increasing steady state is a state when Prime Access Registrars’ incoming request rate
shows 80% of the license usage over a period of 20 minutes. These traps will be regenerated only if a
increasing steady state is observed after a decreasing steady state.
Concurrent Session
The concurrent session trap is generated when the Prime Access Registrar server reaches 80%. The
incoming traffic slabs defined for trap generation are 80%, 90%, 100%, and 110% of the licensed
Concurrent Sessions. These traps are generated once for every slab during the increasing steady state.
carSigtranLicenseUsage
carSigtranLicenseUsageTrap signifies the percentage of SIGTRAN TPS usage or SIGTRAN session
usage from the available license values.
carDiameterPeerDown
carDiameterPeerDown signifies that a Diameter peer is down. The identity of the peer is given by
cdbpPeerIpAddress.
carDiameterPeerUp
carDiameterPeerUp signifies that a Diameter peer is up. The identity of the peer is given by
cdbpPeerIpAddress.
carTPSCapacityFull
carTPSCapacityFull signifies that the TPS of the Prime Access Registrar server has reached the
configured high threshold capacity. This trap has the following objects:
• carNotifTPSHighThreshold—indicates the maximum limit of the TPS of the
Prime Access Registrar server.
• carNotifTPSLowThreshold—indicates the minimum limit of the TPS of the Prime Access Registrar
server.
• carServerTPSUsage—indicates the current TPS usage of the Prime Access Registrar server.
After this notification is sent, this type of notification will not be sent again until the TPS of
Prime Access Registrar server reduces below the configured carNotifTPSLowThreshold value.
carTPSCapacityNotFull
carTPSCapacityNotFull signifies that the TPS of the Prime Access Registrar server has dropped below
the configured low threshold capacity. This trap has the following objects:
• carNotifTPSHighThreshold—indicates the maximum limit of the TPS of the
Prime Access Registrar server.
• carNotifTPSLowThreshold—indicates that the minimum limit of the TPS of the
Prime Access Registrar server.
• carServerTPSUsage—indicates the current TPS usage of the Prime Access Registrar server.
After this notification is sent, this type of notification will not be sent again until the TPS of
Prime Access Registrar server increases beyond the configured carNotifTPSHighThreshold value.
carSigtranTPSCapacityFull
carSigtranTPSCapacityFull signifies that the SIGTRAN TPS of the Prime Access Registrar server has
reached the configured high threshold capacity. This trap has the following objects:
• carNotifSigtranTPSHighThreshold—indicates the maximum limit of the SIGTRAN TPS of the
Prime Access Registrar server.
• carNotifSigtranTPSLowThreshold—indicates the minimum limit of the SIGTRAN TPS of the
Prime Access Registrar server.
• carServerSigtranTPSUsage—indicates the current SIGTRAN TPS usage of the
Prime Access Registrar server.
After this notification is sent, this type of notification will not be sent again until the SIGTRAN TPS of
Prime Access Registrar server reduces below the configured carNotifSigtranTPSLowThreshold value.
carSigtranTPSCapacityNotFull
carSigtranTPSCapacityNotFull signifies that the SIGTRAN TPS of the Prime Access Registrar server
has reached the configured low threshold capacity. This trap has the following objects:
• carNotifSigtranTPSHighThreshold—indicates the maximum limit of the SIGTRAN TPS of the
Prime Access Registrar server.
• carNotifSigtranTPSLowThreshold—indicates the minimum limit of the SIGTRAN TPS of the
Prime Access Registrar server.
• carServerSigtranTPSUsage—indicates the current SIGTRAN TPS usage of the
Prime Access Registrar server.
After this notification is sent, this type of notification will not be sent again until the SIGTRAN TPS of
Prime Access Registrar server increases beyond the configured carNotifSigtranTPSHighThreshold
value.
carSessionCapacityFull
carSessionCapacityFull signifies that the session TPS of the Prime Access Registrar server has reached
the configured high threshold capacity. This trap has the following objects:
• carNotifSessionHighThreshold—indicates the maximum limit of the session TPS of the
Prime Access Registrar server.
carSessionCapacityNotFull
carSessionCapacityNotFull signifies that the session TPS of the Prime Access Registrar server has
reached the configured low threshold capacity. This trap has the following objects:
• carNotifSessionHighThreshold—indicates the maximum limit of the session TPS of the
Prime Access Registrar server.
• carNotifSessionLowThreshold—indicates the minimum limit of the session TPS of the
Prime Access Registrar server.
• carServerSessionUsage—indicates the current session TPS usage of the Prime Access Registrar
server.
After this notification is sent, this type of notification will not be sent again until the session TPS of
Prime Access Registrar server increases beyond the configured carNotifSessionHighThreshold value.
carSigtranSessionCapacityFull
carSigtranSessionCapacityFull signifies that the SIGTRAN session TPS of the
Prime Access Registrar server has reached the configured high threshold capacity. This trap has the
following objects:
• carNotifSigtranSessionHighThreshold—indicates the maximum limit of the SIGTRAN session TPS
of the Prime Access Registrar server.
• carNotifSigtranSessionLowThreshold—indicates the minimum limit of the SIGTRAN session TPS
of the Prime Access Registrar server.
• carServerSessionUsage—indicates the current SIGTRAN session TPS usage of the
Prime Access Registrar server.
After this notification is sent, this type of notification will not be sent again until the SIGTRAN session
TPS of Prime Access Registrar server reduces below the configured
carNotifSigtranSessionLowThreshold value.
carSigtranSessionCapacityNotFull
carSigtranSessionCapacityNotFull signifies that the SIGTRAN session TPS of the
Prime Access Registrar server has reached the configured low threshold capacity. This trap has the
following objects:
• carNotifSigtranSessionHighThreshold—indicates the maximum limit of the SIGTRAN session TPS
of the Prime Access Registrar server.
• carNotifSigtranSessionLowThreshold—indicates the minimum limit of the SIGTRAN session TPS
of the Prime Access Registrar server.
• carServerSessionUsage—indicates the current SIGTRAN session TPS usage of the
Prime Access Registrar server.
After this notification is sent, this type of notification will not be sent again until the SIGTRAN session
TPS of Prime Access Registrar server increases beyond the configured
carNotifSigtranSessionHighThreshold value.
carLicenseUsageReset
carLicenseUsageReset signifies that the server usage is nominal after exceeding the license thresholds.
This notification carries the percentage of License Usage.
carSigtranLicenseUsageReset
carSigtranLicenseUsageReset signifies that server SIGTRAN usage is nominal after exceeding the
license thresholds. This notification carries the percentage of SIGTRAN License Usage.
carReplicationSyncFailure
carReplicationSyncFailure notifies that there is a synchronization failure in Prime Access Registrar
replication. This notification is triggered when there is a failure in sync message exchanges or upon out
of sync configuration detection. This trap has four objects:
• carNotifReplicationMasterInetAddrType—indicates the type of Internet address of the Master,
which could be IPv4 address, IPv6 address, or DNS domain name.
• carNotifReplicationMasterIPAddress—indicates the IP address of the Master referred to using the
version-neutral IP address.
• carNotifReplicationMemberIPAddress—indicates the type of Internet address of the Member,
which could be IPv4 address, IPv6 address, or DNS domain name.
• carNotifReplicationMemberInetAddrType—indicates the IP address of the Member referred to
using the version-neutral IP address.
carReplicationSuccess
carReplicationSuccess notifies that replication synchronization, which had formerly been in a down
state is now resolved. This trap has four objects:
• carNotifReplicationMasterInetAddrType—indicates the type of Internet address of the Master,
which could be IPv4 address, IPv6 address, or DNS domain name.
• carNotifReplicationMasterIPAddress—indicates the IP address of the Master referred to using the
version-neutral IP address.
• carNotifReplicationMemberIPAddress—indicates the type of Internet address of the Member,
which could be IPv4 address, IPv6 address, or DNS domain name.
• carNotifReplicationMemberInetAddrType—indicates the IP address of the Member referred to
using the version-neutral IP address.
Configuring Traps
The Prime Access Registrar SNMP implementation uses various configuration files to configure its
applications.
This section contains the following topics:
• SNMP Configuration
• Configuring Trap Recipient
SNMP Configuration
A sample configuration file is available in /cisco-ar/ucd-snmp/share/snmp/snmpd.conf. This
configuration file is used to configure SNMP query permissions and trap recipients.
Note Most sites use a single NMS, not two as shown below.
# -----------------------------------------------------------------------------
trapcommunity trapcom
trapsink zubat trapcom 162
trap2sink ponyta trapcom 162
###############################################################################
trapcommunity defines the default community string to be used when sending traps. This command
must appear prior to trapsink or trap2sink which use this community string.
trapsink and trap2sink are defined as follows:
trapsink hostname community port
trap2sink hostname community port
Community String
A community string is used to authenticate the trap message sender (SNMP agent) to the trap recipient
(SNMP management station). A community string is required in the list of trap receivers.
Prerequisites
1. You must enable SNMP agent capability in Prime Access Registrar. To do so:
Log into the CLI. In SNMP object defined as /radius/advanced/snmp, set Enabled to true as shown
below:
--> cd /radius/advanced/snmp/
[//localhost/Radius/Advanced/SNMP ]
Enabled = TRUE
TracingEnabled = FALSE
InputQueueHighThreshold = 90
InputQueueLowThreshold = 60
MasterAgentEnabled = TRUE
2. Make required changes to the snmpd.conf file located in /cisco-ar/ucd-snmp/share/snmp. After any
change to snmpd.conf, restart the Prime Access Registrar server for the changes to take effect.
After modifying snmpd.conf file, ensure that you restart the Prime Access Registrar server for the
changes to take effect.
Note For receiving query responses and traps on the NMS, the NMS server must be configured corresponding
to the definitions and configurations in snmpd.conf file of Prime Access Registrar.
authNoPriv Authentication using MD5 trapsess -r 0 -v 3 -u snmpv3user Instructs SNMP agent to send traps
or SHA and no encryption -n "" -l authNoPriv -a SHA -A to snmpv3 user using SHA to the
snmpv3authPass -x AES -X
snmpv3encPass 10.10.10.11 162
defined NMS address
(or)
trapsess -r 0 -v 3 -u snmpv3user
-n "" -l authNoPriv -a SHA -A
snmpv3authPass 127.0.0.1 162
authPriv Authentication using MD5 trapsess -r 0 -v 3 -u snmpv3user Instructs SNMP agent to send traps
or SHA and encryption -n "" -l authPriv -a SHA -A to snmpv3 user using SHA and AES
snmpv3authPass -x AES -X
using DES/AES snmpv3encPass 10.10.10.11 162
algorithms to the defined NMS
address
After modifying snmpd.conf file, ensure that you restart the Prime Access Registrar server for the
changes to take effect.
This chapter describes the Cisco Prime Access Registrar (Prime Access Registrar) shadow backup
facility, which ensures a consistent snapshot of Prime Access Registrar’s database for backup purposes.
Because the Prime Access Registrar’s database (called MCD) does a variety of memory caching, and
might be active at any time, you cannot simply rely on doing system backups to protect the data in the
database. At the time you run a system backup, there could be Prime Access Registrar operations in
progress that cause the data copied to the system backup tape to be inconsistent and unusable as a
replacement database.
To ensure a consistent backup, Prime Access Registrar uses a shadow backup facility. Once a day, at a
configurable time, Prime Access Registrar suspends all activity to the database and takes a snapshot of
the critical files. This snapshot is guaranteed to be a consistent view of the database, and it is preserved
correctly on a system backup tape.
This chapter contains the following sections:
• Configuration
• Recovery
• mcdshadow Command Files
Configuration
The only configuration for this facility is through a single entry in the system Registry at
$INSTALL/conf/car.conf is the registry path to this item.
This entry is a string that represents the time-of-day at which the shadow backup is scheduled to occur
(in 24 hour HH:MM format). The default is 12:45.
When you remove this entry or set it to an illegal value (for example, anything that does not begin with
a digit), backups are suppressed.
Recovery
When it is necessary to use the shadow backup to recover data, either because the regular working
database has been corrupted by a system crash, or because the disk on which it resides has become
corrupted.
cd $INSTALL/data/db
$INSTALL/bin/keybuild mcddb
File Description
mcddb.dbd Template file that describes the low-level data schema for the Raima runtime
library.
mcddb.k01 Key files that contain the data that is redundant with the data files.
mcddb.k02 Prime Access Registrar does not back up these files because they can be
mcddb.k03 completely rebuilt with the keybuild command.
mcdcd.d01 Data files that contain the backup.
mcdcd.d02
mcdcd.d03
mcdConfig.txt Text file from which Prime Access Registrar configures the initial at-install-time
database.
File Description
mcdschema.txt Text file that contains a version number denoting the level of the schema
contained in the dbd file. Prime Access Registrar will not attempt to open the
database unless the number in this file matches a constant that is hard-coded in
the libraries. If the result of the mcdshadow command (which uses copies of the
data files) is divorced from its original mcdschema.txt, you will not be able to run
Prime Access Registrar.
vista.taf Working files used by the Raima runtime library to ensure transactional integrity.
vista.tcf
vista.tjf
Authorization 14-14
Symbols
definition 1-1
/bin/arserver 9-4
B
A
BackingStoreDiscThreshold 2-86, 2-130, 13-14
AcceptAll 2-27 BaseProfile 2-13
Access Registrar blacklisting Diameter 4-24
definition 1-1 blacklisting SIGTRAN-M3UA 14-21
internal database 16-1
objects 1-2
server 2-10
C
Accounting 3-1 Callback-Number 1-6
attributes 1-6 Change of Authorization (CoA) 9-40
database 1-1 Check item attributes 9-34
definition 1-1 CIDR notation 2-117
log file 2-25 Cisco Prime Access Registrar
MaxFileAge 3-3 backups 16-1
MaxFileAge format 3-4 Classless Inter-Domain Routing 2-117
MaxFileSize 3-3 Clients
MaxFileSize format 3-4 IPAddress 2-117
RolloverSchedule 3-3 vendor properties 2-117
setting up 3-2 CoA requests 9-40
Start 3-1 command authorization support 9-57
Stop 3-1 Commands
Accounting records 8-11 eap-trace 5-45
arbug 9-33 tunnel 5-45
arserver file 9-4 Configuration Examples
Attribute Dictionary 1-6 Query-Notify feature 9-8
Attributes Configuring
check item 9-34 check item attributes 9-35
AttributesToBeLogged 3-6 LDAP RemoteServer 12-3
AttributesToBeReturned 9-7 ODBC RemoteServer 13-7
Logging in
H
GUI 2-3
Hot configuration 6-6 Login page 2-3
Hot-lining 9-40
M
I
m3ua service
IncomingScript 2-10, 2-64, 2-114 map restore data 14-14
Incoming scripts 1-3 map restore data 14-14
Information collection authorization flow 14-14
automatic 9-33 CLI 14-16
InitEntryPoint 2-19 insert subscriber data 14-15
Input queue map restore data authorization 14-14
high threshold 15-5 CLI configuration 14-16
internal scripts 2-18 flow 14-14
GUI 2-19 insert subscriber data structure 14-15
IPAddress 2-117 Master-URL-Fragment 9-11
MCD 16-1
mcdcd.d01-d03 16-2
L
mcdConfig.txt 16-2
LDAP 12-1 mcddb.dbd 16-2
hostname 12-3 mcddb.k01-k03 16-2
MultipleServersPolicy 12-2 mcdshadow 16-1
LDAP Accounting 2-124 Measurements
LDAP Rebind 12-6 prepaid billing 8-7
failures 12-6 Microsoft WPS 9-9
LDAP RemoteServer 12-3 multiple 1-1
LDAP service 12-2 MultipleServersPolicy 12-2, 13-7
LDAPToCheckItemMappings 12-7
LDAPToEnvironmentMappings 12-7
N
LDAPToRadiusMappings 12-7
LEAP 5-21 NAS 1-1, 3-1
Lightweight Directory Access Protocol 12-1 NAS-IP-Address 1-6
local 2-25 NAS-Port 1-6
UserList type 2-29 NetMask 2-118
local service 2-29 NotificationProperties 2-119
Log files
file system 3-4
managing 3-3
Policy 10-1
O
Policy engine
ODBC.ini file 13-2 attribute translation 10-9
ODBCDataSource 13-10, 13-13 parsing translation groups 10-10
ODBC RemoteServer 13-7 reducing overhead 10-13
ODBC service 13-6 time of day access restrictions 10-11
ODBCToEnvironmentMappings 13-12 wildcard support 10-2
ODBCToRadiusMappings 13-12 Port 8080 2-1
ORACLE_HOME 13-2 PPO-Parse-Prepaid-Outgoing 8-16
Oracle Driver PPP 1-3, 1-6, 2-11
Easysoft Open Source 13-13 Prepaid
Oracle functions 13-11 AA service 8-5, 8-12
OS paging size 2-101 group service 8-5, 8-13, 8-14
OutagePolicy 2-27 Prepaid billing
OutageScript 2-27 measurements 8-7
OutgoingScript 2-10, 2-64, 2-114 Protected EAP 5-1
Outgoing scripts 1-3
Overview 1-1
Q
Query-Notify 9-6
P
Query-Notify AttributeGroup
Packet buffering 3-11 configuration example 9-9
Packet fields 1-6 Query-Notify client
Packet of disconnect 9-36 configuration example 9-9
Paging size (operating system) 2-101 quintets-triplets conversion 5-30
ParseTranslationGroupsByCLID 10-10, 10-21
ParseTranslationGroupsByDNIS 10-10, 10-20, 10-21
ParseTranslationGroupsByReal 10-20
R
ParseTranslationGroupsByRealm 10-10 radclient
Password testing EAP-TTLS 5-42
length of 2-16 radclient commands 5-44
Password change 9-12 RADIUS
PCO-Parse-Client-Outgoing 8-15 messages 1-5
PEAP Version 0 5-46 RADIUS_WORKER_THREAD_COUNT 9-4
PEAP Version 1 5-51 RADIUS packet fields 1-6
PhantomSessionTimeOut 2-103 RadiusServer object 1-2
Policies radius to diameter 4-21
configuring 10-1 RejectAll 2-27
validation 10-3
T X
TACACS+ XML Query Identity 7-2
command authorization 9-57
command authorization flow 9-59
translation
diameter to radius 4-21
Trap recipents 15-12
Traps
carAccountingLoggingFailure 15-7
carInputQueueFull 15-5
carInputQueueNotVeryFull 15-5
carOtherAccServerResponding 15-7