Update XCAP server
To configure the XCAP Server for Sentinel VoLTE, you need to populate XCAP server settings and MMTel service data. You may optionally enable XCAP authentication using Sentinel AGW.
Populate XCAP server settings and MMTel service data
There are several configuration items for the administrative User Interface (in REM) related to XCAP connectivity and MMTel service data mappings.
These include:
-
the XCAP server configuration, such as
-
Sh Cache Microservice stack configuration
-
XPaths used to map between the UE’s "simservs" document and the HSS "MMTel-Services" document
-
any extension configuration to expand the standard Simservs document
-
-
the REM Web UI for viewing and editing Transparent Data in the HSS, such as
-
the MMTel-Services document (for example Communication Diversion, Communication Barring etc)
-
the IMS-ODB-Information document used for Operator Determined Barring
-
the Metaswitch-TAS-Services document used for additional subscriber configuration
-
This can either be done manually following the admin guide, or more easily using the script sentinel-volte-mappings-config
.
This file is located in the build/bin
directory of the Sentinel VoLTE SDK.
This can be executed from your VoLTE TAS’s command line, provided the Java Runtime Environment (v 7+) is installed. The command must be given these arguments:
Mandatory Arguments | What it specifies |
---|---|
-u (--username) |
Your Rhino Element Manager (REM) username. |
-pw (--password) |
Your Rhino Element Manager (REM) password. |
-h (--hostname) |
The hostname or IP address of your Rhino Element Manager (REM). |
-p (--port) |
The port of your Rhino Element Manager (REM). |
-n (--network-operator) |
The network operator name. |
-r (--rhino-instance-id) |
The Rhino Instance ID. |
-s (--serverurl-shcm) |
The URL for the Sh Cache Microservice |
Optional Arguments |
What it specifies |
-sph (--shcm-proxy-host) |
The proxy host used to connect to the Sh Cache Microservice |
-sph (--shcm-proxy-port) |
The proxy port used to connect to the Sh Cache Microservice |
-x (--xcap-mapping) |
Must be in the format Can be specified multiple times. e.g. |
-m (--metaswitch-xcap-mapping) |
Must be in the format Can be specified multiple times. e.g. |
-im (--include-mappings) |
Explicitly designate what Subscriber Data and XCAP mappings to include in a comma delimited list while implicitly excluding other mappings. Valid options include 'msw' = Metaswitch-TAS-Services, 'odb' = IMS-ODB-Information, 'mmtel' = MMTEL-Services |
-ah (--additional-host-mappings) |
Additional XCAP host names (in addition to the one specified with -h or --hostname), can be specified multiple times |
-o (--override) |
Will override all existing mappings with the currently provided options |
Here is an example command:
cd ~/sentinel-volte/sentinel-volte-sdk ./build/bin/sentinel-volte-mappings-config -u emadm -pw password -h localhost -p 8080 -r Local -n Metaswitch -s http://localhost:8088/shcache/v1
To see a listing of the required arguments, from the command line, execute the JAR file without any arguments. |
The tool can also be run from the Sentinel AGW SDK inside the sentinel-gaa-sdk directory.
|
Enable XCAP authentication using Sentinel AGW
By default the XCAP Server assumes that requests will be authenticated externally using an Authentication Proxy (AP). If this is the case, no further configuration is required.
If an AP is not suitable or available, the XCAP server can be configured to authenticate requests itself using OpenCloud Sentinel AGW. Sentinel AGW provides an implementation of 3GPP GAA (Generic Authentication Architecture) procedures.
For more information, and instructions on configuring the XCAP Server with Sentinel AGW, see the Sentinel AGW Guide.
OpenIMS HSS
If you’re using the OpenIMS HSS, you’ll need to specify the interface (IP address and port values) that it uses:
1 |
Edit the |
---|---|
2 |
Find the |
3 |
Change its |
4 |
Change its |
Create init.d scripts
There are two init.d
scripts for Ubuntu Linux which make starting and stopping Rhino and REM easier (linked below):
Note: These are illustrative and useful for Proof of concept rather than production environments.
To set these up:
1 |
Copy the script to the host server’s sudo cp rhino /etc/init.d |
---|---|
2 |
Make the script executable: |
3 |
Refresh, with the sudo update-rc.d rhino defaults 99 |
Rhino SAS Configuration
To enable Rhino to send events to MetaView Service Assurance Server (SAS), refer to Enabling VoLTE SAS tracing
Provision Location Based Dialling Data
Tools are provided to provision and verify data mappings for the LocationBasedDialling feature.
lbd-provision
and ldb-verify
are located in the build/bin
directory of the Sentinel VoLTE SDK.
lbd-provision
This tool takes a .csv file as input and populates the location_based_dialling_data_3gpp
table in Cassandra with the data.
Mandatory Arguments | What it specifies |
---|---|
-c |
Comma separated list of Cassandra contact points. |
Optional Arguments |
What it specifies |
-p |
Cassandra port (defaults to 9042 if omitted). |
-f |
Input CSV file. |
-d |
Dryrun, no data in Cassandra will be modified. |
-i |
Reset, Cassandra data will be overwritten with input file. |
-b |
Rollback, second most recent stored data will be restored. |
-h |
Help |
The input CSV file must be comma separated with no header row.
Each line should be in the following format <cell-id>,<dialled-number>,<destination-number>
.
Whitespaces and empty lines are ignored.
Valid characters for dialled-number
and destination-number
entries are: 0-9
, #
, and *
.
lbd-provision
will fetch the existing data in cassandra and perform a diff with the content of the input CSV file.
New entries in the input file not present in the database are added. Current entries not in the input file are removed.
If the -i
option is used, all data is overwritten with the content of the input file.
Each time lbd-provision
is run the dataset is stored in the location_based_dialling_uploaded_files
table.
The -b
option can be used to rollback to the previous data set.
The location_based_dialling_uploaded_files
table has to have been loaded with previous runs of lbd-provision
before rollback can be used.
If -b
is run twice, the original record set is returned, so effectively it toggles between the current and previous data sets.
If the -b
option is not used, -f
must be provided.
Here is an example:
$ cat lbd-provision-test-data.csv testdata0,717,4165550000 testdata1,718,4165550001 testdata2,719,4165550002 $ $ ./lbd-provision -c localhost -f lbd-provision-test-data.csv -i Saving Cassandra contact points: localhost Saving input file: /home/ubuntu/lbd-provision-test-data.csv Setting reset flag Connected to Cassandra Sorted file to: /home/ubuntu/work/input-sorted.csv Processing input file to update Cassandra: /home/ubuntu/work/input-sorted.csv Creating entry: testdata0,717,4165550000 Creating entry: testdata1,718,4165550001 Creating entry: testdata2,719,4165550002 Removing all data from table: location_based_dialling_data_3gpp Creating data in: location_based_dialling_data_3gpp Updated Cassandra with entire input file Not deleting old rows as less than 3 files saved SUCCESS
The lbd-provisioning tool can provision up to 5 million rows. Functionality beyond this number of rows is not supported. |
lbd-verify
This tool queries the existing data in Cassandra and the Vertical Service Code profiles in Rhino and checks that each entry exists in both places.
Mandatory Arguments | What it specifies |
---|---|
-c |
Comma separated list of Cassandra contact points. |
-r |
Rhino client directory. |
Optional Arguments |
What it specifies |
-p |
Cassandra port (defaults to 9042 if omitted). |
-h |
Help |
Here is an example:
$ ./lbd-verify -c localhost -r RhinoSDK/client Saving Cassandra contact points: localhost Saving rhino client: /home/ubuntu/RhinoSDK/client Connected to Cassandra Found dialled number: 717 Found dialled number: 718 Found dialled number: 719 Found platformOperator: Metaswitch Found address: 718 Found address: 717 Found address: 719 SUCCESS: All data in Cassandra and profiles matches
Restart Rhino
Finally, restart Rhino by executing the following commands in a terminal, from the Rhino install directory.
./stop-rhino.sh --node 101 ./start-rhino.sh
If you chose to set up the Rhino init.d script, you can use these commands to stop and start it.
|