Adding Attributes to an Access-Accept
This feature allows you to add attribute values retrieved from an external subscriber database to Access-Accept message. For example, you might want to include the subscriber's level of service in the Access-Accept as the value of the attribute Reply-Message. Another example might be retrieving the IP address to be assigned to a mobile node and returning it in the Access-Accept as the value of the attribute Framed-IP-Address.
Overview
An Access-Accept can include attribute values. Two authentication plug-ins are used to accomplish the tasks of authentication and adding attributes to an Access-Accept. The authentication plug-ins are:
- SIMAuth (acting as an EAP helper)
This authenticator provides EAP authentication for the SIM authentication module.- Helped Authenticator (usually the SQL plug-in: radsql.aut or radsqljdbc.aut). This authenticator accesses the database, retrieves the specified attributes, and attaches them to the Access-Accept. In this situation, the helped authenticator does not perform any authentication tasks and its password-checking is suppressed. All authentication is performed by SIMAuth, the EAP helper.
Data Flow
Authentication of the Access-Request and the addition of attributes to the Access-Accept is handled according to the following flow of data:
- The mobile device sends an Access-Request to Steel-Belted Radius Carrier.
- SIMAuth manages the EAP negotiation (challenge, and response).
- If SIMAuth authenticates the request, it attaches the IMSI and MSISDN of the mobile device, and sends the request to the SQL plug-in: radsql.aut or radsqljdbc.aut.
- radsql.aut or radsqljdbc.aut can use the IMSI or MSISDN as a key to query the database and request attribute values (as a separate step from the SIMAuth authentication).
- The helped authenticator (usually the SQL authentication plug-in: radsql.aut or radsqljdbc.aut), returns the Access-Accept with attribute values attached.
Figure 27 shows an example data flow in which Steel-Belted Radius Carrier, SIMAuth, and the SQL plug-ins (either radsql.aut or radsqljdbc.aut) work together to perform the following tasks:
- Access authentication (performed by SIMAuth)
- Addition of MSISDN and IMSI to the request (performed by SIMAuth)
- Database access and attribute retrieval (performed by radsql.aut in this example called SQLAuthenticator)
- Addition of retrieved attributes to the Access-Accept (performed by the SQL plug-in: radsql.aut)
Configuration Tasks
To add attributes to the Access-Accept, you need to perform the following tasks:
- Configure the related files, as described in Configuring Files for Adding Attributes to Access-Accept.
- Activate authentication as described in Activate the Authentication Method.
Configuring Files for Adding Attributes to Access-Accept
The following files require special configuration to allow the addition of attributes to the Access-Accept:
To configure files for adding attributes to Access-Accept:
Setting
Enable=0ensures that these files are disabled.This renaming causes SIMAuth to become the EAP helper.
- In the [Bootstrap] section of
simauth.eap, ensure that Enable is set to 1.- Open the relevant database access configuration file. This file is one of:
- Check the [Bootstrap] section of
radsql.aut,radsqljdbc.aut, orldapauth.autfor the name of the specified authentication method. In the following example, the name of the specified authentication method is SQLAuthenticator.Example:
[Bootstrap]
Initializationstring=SQLAuthenticatorFor more information on configuring the
radsql.autandradsqljdbc.autfiles, seeChapter 10, SQL Authentication Files in this guide and Chapter 18, Configuring SQL Authentication in the Steel-Belted Radius Carrier Administration and Configuration Guide.For more information about how to configure the
ldapauth.autfile,seeChapter 12, LDAP Authentication File in this guide and Chapter 20, Configuring LDAP Authentication in the Steel-Belted Radius Carrier Administration and Configuration Guide.
- Ensure that there is a section in the
eap.inifile that includes the name of the helped authentication method you specified in Step 5. In this example the name is SQLAuthenticator.
- Ensure that the following lines are included in the helped authentication method section in
eap.inithat you created in Step 6.
[SQLAuthenticator]
EAP-Only=1
First-Handle-Via-Auto-EAP=1
EAP-Type=SIM,AKA
Available-EAP-Only-Values=1
- Suppress database password checking in the helped authentication method as described for Oracle, JDBC, and LDAP databases.
- Oracle or JDBC: Do not provide a password in the
SQL=SELECTstatement in the [Settings] section of radsql.aut or radsqljdbc.aut. In the [Results] section of these files, include aPASSWORD=statement, leaving the password blank.
Example:
[Results]
Password=- LDAP: Remove the
%password=setting from the [Response] section.
- Insert a query into
radsql.aut,radsqljdbc.aut, orldapauth.autto select the attributes to be added to the Access-Accept.The selection of attributes from the database can be based on the database key values for IMSI or MSISDN. The values for IMSI or MSISDN are added to the request by SIMAuth in the attributes 3GPP-IMSI or Funk-SS7-MSISDN so that they can be used in the database query.
SQL=SELECT subscriber-level FROM table 1 WHERE IMSI=@3GPP-IMSI
- Activate the helped authentication method. See "Order of Authentication Methods" in the Chapter 14, Setting Up Authentication Policies in the Steel-Belted Radius Carrier Administration and Configuration Guide.
Example Configuration for Adding Attributes to Access-Accept
Figure 28 shows a sample configuration. The purpose of this configuration is to query the database for a subscriber-level value and return the subscriber-level value along with the Access-Accept.
Example Overview
In this example, an Access-Request is sent for a mobile device with IMSI 123456789. The value of the subscriber-level for this device is retrieved from the database, assigned to the attribute Reply-Message, and attached to the Access-Accept.
The configuration lines and syntax (shown in Figure 28) associate all the configuration files together to attach an attribute to the Access-Accept.
Example Notes
The sample configuration shown in Figure 28 configures the data flow in the following way:
Access-Request
An Access-Request is sent to Steel-Belted Radius Carrier for the user with an IMSI value of 123456789.
SIMAuth
Simauth.eap file is enabled
Simauth.aut file is disabled.Radsql.aut
[Bootstrap] section contains the name of the specified authentication method (SQLAuthenticator). You later add a SQLAuthenticator section to the
eap.inifile.Enter a
SQL=SELECTstatement to retrieve data from the database based on the value of the IMSI in the Access-Request. Do not include a password in theSQL SELECTstatement.The
@Password=statement suppresses password checking of the database.The
@Reply-Message=1/40field indicates the following:
- The
Reply-Messageattribute is added to the Access-Accept and carry the value retrieved from the database.- The
1in@Reply-Message=1/40indicates that the first item in theSQL=SELECTstatement (subscriber-level) is the column name of the SQL database from which the value is selected.- The
40in@Reply-Message=1/40indicates that the width of the subscriber-level column is 40 characters.Eap.ini
The
eap.inifile must contain a section corresponding to the name of the helped authentication method named in theInitializationstringstatement in theradsql.autfile. [SQLAuthenticator]in this example.The eap.ini file must contain the lines shown in Figure 28 to configure the SQL plug-in (either radsql.aut or radsqljdbc.aut). These lines, prevent either radsql.aut or radsqljdbc.aut from acting without SIMAuth. This is necessary because password-checking by radsql.aut or radsqljdbc.aut is suppressed and the only authentication being performed would be by SIMAuth (the EAP helper).
SQL database table 1
In this example, the SQL database is queried by the SQL plug-in:
radsql.aut,and the subscriber-level for IMSI 123456789 is found to bebasic.Access-Accept
The value of
basicis assigned to the attribute Reply-Message and included in the Access-Accept.Activate the Authentication Method
See "Order of Authentication Methods" in the Chapter 14, Setting Up Authentication Policies in the Steel-Belted Radius Carrier Administration and Configuration Guide.