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-2.9.0.x.zip
To unzip sentinel-gaa-sdk-2.9.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 three profile tables:
-
SentinelConfigurationTable
, -
NormalizationFeatureConfigProfileTable
, and -
MMTelCDIVConfigProfileTable
.
Now connect REM to the node running the BSF. Go to Management
→ Profiles
. Create the following three profile tables:
-
Profile spec
SentinelConfigurationProfile
, table nameSentinelConfigurationTable
. -
Profile spec
sentinel-core-normalizer-config-profile
, table nameNormalizationFeatureConfigProfileTable
. -
Profile spec
mmtel-cdiv-profile
, table nameMMTelCDIVConfigProfileTable
.
Finally, import the three exported profile tables into the BSF node.
9.2. Using the Rhino console.
Alternatively, if using the Rhino console to copy the configuration manually, the following commands must be run (replacing the examples below with the right configuration):
cd ~/RhinoSDK/client/bin ./rhino-console createprofiletable name=SentinelConfigurationProfile,vendor=OpenCloud,version=2.7.1 SentinelConfigurationTable ./rhino-console createprofiletable name=sentinel-core-normalizer-config-profile,vendor=OpenCloud,version=2.7.1 NormalizationFeatureConfigProfileTable ./rhino-console createprofiletable name=mmtel-cdiv-profile,vendor=OpenCloud,version=2.7.1 MMTelCDIVConfigProfileTable ./rhino-console createprofile SentinelConfigurationTable SentinelConfiguration PlatformOperator OpenCloud DefaultNetworkOperator OpenCloud HttpParameterForHttpDetermineNetworkOperator ImsiMccMnc DefaultOcsEntityId DiameterRoOcs ./rhino-console createprofile NormalizationFeatureConfigProfileTable OpenCloud:::: CountryCode 64 InternationalEscapeCode 00 MinNormalizableLength 0 NationalPrefix 0 NetworkDialingCode 6 NormalizeTo international ProfileVersion 1 ./rhino-console createprofile MMTelCDIVConfigProfileTable OpenCloud:::: NonProvisionableRetargetURIs [sip:111,tel:111,111] MaxDiversionAction REJECT
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. |