This section explains how to install the BSF Server on the OpenCloud Rhino TAS.
The Sentinel Authentication Gateway BSF Server is a SLEE service deployed on OpenCloud Rhino. It is installed using the Sentinel SDK infrastructure, which takes care of downloading any dependent SLEE components and automatically deploying them on Rhino.
To install the Sentinel Authentication Gateway BSF Server:
Use Ant from the SDK or configure your own
The Ant build tool is required during installation.
The Sentinel Authentication Gateway SDK includes a copy of Ant that is preconfigured with the necessary libraries for retrieving SDK dependencies.
To use the SDK’s Ant, run You can use your own Ant installation (version 1.9 or later) by copying the bundled libraries to your $ cd ~/sentinel-gaa/sentinel-gaa-sdk/build/ant $ cp ivy.jar ant-build-support.jar ~/.ant/lib In the following examples, we assume the Install with or without Sentinel VoLTE
The BSF Server may be installed with or without Sentinel VoLTE (see the Sentinel VoLTE dependency section). The following instructions are the same whether Sentinel VoLTE is installed or not. |
1. Unzip sentinel-gaa-sdk-3.1.0.x.zip
To unzip sentinel-gaa-sdk-3.1.0.x.zip
:
1 |
Copy the downloaded install zip file to a machine where Rhino and the BSF Server will run.
$ mkdir ~/sentinel-gaa |
||
---|---|---|---|
2 |
Unzip.
This creates the directory |
2. Install Rhino SDK (optional)
This step is not required if you have already installed a Rhino instance for Sentinel Authentication Gateway or if you are using an existing Sentinel VoLTE installation.
For testing and evaluation purposes, you can have the Sentinel Authentication Gateway SDK download and start a Rhino SDK instance. Sentinel Authentication Gateway can then be deployed into this instance.
To install Rhino using the SDK:
1 |
Run the $ cd ~/sentinel-gaa/sentinel-gaa-sdk/rhino-sdk $ ant install-rhino The |
---|---|
2 |
Start the Rhino SDK. $ ant start-rhino |
3. Modify SDK Properties
If you installed your own Rhino, you need to modify the rhino.home
property in the sdk.properties file.
$ cd ~/sentinel-gaa/sentinel-gaa-sdk
edit the sdk.properties file. Replace this line with the location of your rhino installation. e.g.
rhino.home=/home/ubuntu/rhino
4. Go Offline (optional)
Before installing you can take the SDK offline if required. This will create and populate an offline repository with the artifacts needed for installation.
If you go offline, internet access will not be needed for the installation, the offline repo will be used instead.
You can skip this step, in which case the install will use the internet to download the installation artifacts.
To go offline:
$ cd ~/sentinel-gaa/sentinel-gaa-sdk $ ./build/bin/go-offline Mirroring OpenCloud dependencies to repositories/opencloud-offline-mirror Copying SDK index to offline repository... Copying SDK infrastructure dependencies to offline repository... Copying modules to offline repository... Installing module 681/681 Finished copying repository artifacts. Updating 'ivy.properties' to use offline resolvers: ivy.sdk-resolvers.file=offline-resolvers.xml ivy.cache.root=${sdk.root}/build/target/ivy-caches/offline-resolvers.cache Configuration complete. SDK is now in 'offline' mode. Use 'go-online' to return to online mode.
5. Create a BSF deployment module
1 |
Run the $ cd ~/sentinel-gaa/sentinel-gaa-sdk $ ./build/bin/sdkadm This starts the interactive |
---|---|
2 |
Run the
|
The deployment module is created in the deploy-bsf
directory.
This describes the configuration and dependencies that will be deployed into Rhino.
6. Edit the default configuration
The default configuration properties for the BSF are in the file deploy-bsf/config/config.properties
, as shown below:
zh-server.realm=zh-realm zh-server.hostname=zh-server.fqdn zh-server.address=zh-server.fqdn zh-server.uri=aaa\://zh-server.fqdn\:3868 zh-client.realm=zh-realm zh-client.hostname=zh-client http-ra.address=0.0.0.0 http-ra.port=8001 cassandra-cql-ra.host=localhost cassandra-cql-ra.port=9042 bsf.tracelevel=Info platform.operator.name= diameterbase.tracelevel=Info
These should be updated as appropriate for your environment.
In particular the zh-*
properties specify how the BSF contacts its HSS:
Property | Description | Example |
---|---|---|
zh-server.realm |
The HSS Diameter realm. This will be used in Destination-Realm AVPs. |
|
zh-server.hostname |
The FQDN of the HSS. This will be used in Destination-Host AVPs. |
|
zh-server.uri |
The |
|
zh-server.address |
May be used to connect to an address different from the HSS address specified above.
This can be useful during testing to connect to a simulator while leaving the other HSS properties unchanged.
If not needed, just set this to the same value as |
|
zh-client.realm |
The BSF’s Diameter realm. This will be used in Origin-Realm AVPs. |
|
zh-client.hostname |
The FQDN of the BSF. This will be used in Origin-Host AVPs. |
|
These properties can be updated after deployment. For more information see Updating the configuration below, and also BSF Configuration.
7. Publish the BSF deployment module
Before deploying, it is necessary to "publish" our BSF deployment module.
This creates the required deployment artifacts that the SDK tools will use to deploy the module and its dependencies.
The default Ant target in the deploy-bsf
module performs this publishing step.
$ cd deploy-bsf $ ant
8. Run the deploy, bind, and configure scripts
The following Ant targets will deploy the BSF service (and its dependencies), and apply the default configuration.
$ ant deploy-with-deps $ ant bind-with-deps $ ant configure-with-deps
The BSF service will now be active.
9. Create the Sentinel configuration profiles
If you installed Sentinel Authentication Gateway on top of an existing Sentinel-VoLTE installation, you can skip this step. |
If you installed Sentinel Authentication Gateway in Rhino without an existing Sentinel-VoLTE installation, some configuration needs to be copied from Sentinel-VoLTE. This can be done using REM (preferred) or using the Rhino console.
9.1. Using REM
First, connect REM to the node running Sentinel-VoLTE.
Go to Management
→ Profiles
.
Using the green and white arrows next to the profile tables, export the following four profile tables:
-
SentinelConfigurationTable
, -
NormalizationFeatureConfigProfileTable
, -
MMTelCDIVConfigProfileTable
, and -
DialPlanEnforcementConfigProfileTable
.
Now connect REM to the node running the BSF. Go to Management
→ Profiles
. Create the following four profile tables:
-
Profile spec
SentinelConfigurationProfile
, table nameSentinelConfigurationTable
. -
Profile spec
sentinel-core-normalizer-config-profile
, table nameNormalizationFeatureConfigProfileTable
. -
Profile spec
mmtel-cdiv-profile
, table nameMMTelCDIVConfigProfileTable
. -
Profile spec
dialplan-enforcement-profile
, table nameDialPlanEnforcementConfigProfileTable
.
Finally, import the four exported profile tables into the BSF node.
9.2. Using Rhino CLI tools.
The Rhino CLI tools may be found in the <rhino-install>/client/bin directory. |
On a Sentinel-VOLTE node, export the four profile tables using the rhino-snapshot
tool.
./rhino-snapshot --snapshot --outputdir volte SentinelConfigurationTable NormalizationFeatureConfigProfileTable MMTelCDIVConfigProfileTable DialPlanEnforcementConfigProfileTable
Convert the profile snapshots into rhino export xml files suitable for import.
./snapshot-to-export volte/snapshots/SentinelConfigurationTable/ SentinelConfigurationTable.xml ./snapshot-to-export volte/snapshots/NormalizationFeatureConfigProfileTable NormalizationFeatureConfigProfileTable.xml ./snapshot-to-export volte/snapshots/MMTelCDIVConfigProfileTable MMTelCDIVConfigProfileTable.xml ./snapshot-to-export volte/snapshots/DialPlanEnforcementConfigProfileTable DialPlanEnforcementConfigProfileTable.xml
Copy the profile export xml files to the BSF node. On the BSF node, create the four profile tables.
cd ~/RhinoSDK/client/bin ./rhino-console createprofiletable name=SentinelConfigurationProfile,vendor=OpenCloud,version=3.1.0 SentinelConfigurationTable ./rhino-console createprofiletable name=sentinel-core-normalizer-config-profile,vendor=OpenCloud,version=3.1.0 NormalizationFeatureConfigProfileTable ./rhino-console createprofiletable name=mmtel-cdiv-profile,vendor=OpenCloud,version=3.1.0 MMTelCDIVConfigProfileTable ./rhino-console createprofiletable name=dialplan-enforcement-profile,vendor=OpenCloud,version=3.1.0 DialPlanEnforcementConfigProfileTable
Finally import the four profile tables using the importprofiles command in rhino-console
.
./rhino-console importprofiles SentinelConfigurationTable.xml -table SentinelConfigurationTable ./rhino-console importprofiles NormalizationFeatureConfigProfileTable.xml -table NormalizationFeatureConfigProfileTable ./rhino-console importprofiles MMTelCDIVConfigProfileTable.xml -table MMTelCDIVConfigProfileTable ./rhino-console importprofiles DialPlanEnforcementConfigProfileTable.xml -table DialPlanEnforcementConfigProfileTable
Updating the configuration
You can update the configuration after deployment by editing the config/config.properties
file and running the configure
target from your deploy-bsf
directory:
$ vi config/config.properties $ ant publish-local configure
When applying a new configuration, the Sentinel SDK’s See BSF Configuration for detailed information on how the BSF is configured, to plan changes with minimal disruption. |