Sentinel VoLTE is installed through the use of an installer program.
The installer can run in interactive and non-interactive modes - suitable for manual and automated installs respectively. When running in interactive mode it will prompt you for various necessary settings and save them.
The installer will offer to install the Rhino SDK for you, or allow you to specify an existing Rhino installation. Once either a new Rhino SDK install, or an existing installation is selected the installer will install Sentinel VoLTE into your Rhino or Rhino SDK. |
The installer prepares configures for a single node Sentinel VoLTE system, with a single peer for various other network elements such as:
-
Media Resource Function (MRF)
-
Interrogating Call Session Control Function (I-CSCF)
-
Home Subscriber Server (HSS)
-
Online Charging System (OCS), and/or Prepaid Service Control Point (SCP)
-
Alternative options for storage of the Third Party Registration data
For more advanced configurations, such as clustering, or multiple signalling peers, it is recommended becoming familiar with the Rhino platform, SIS and Sentinel VoLTE products.
To install Sentinel VoLTE services in interactive mode:
For further information on installation read:
1. Unzip sentinel-volte-sdk.zip
To unzip sentinel-volte-sdk.zip
:
1 |
Copy the downloaded install zip file to a machine where Rhino and Sentinel VoLTE will run.
user@machine$ mkdir ~/sentinel-volte |
||
---|---|---|---|
2 |
Unzip. user@machine$ cp ~/sentinel-volte-sdk.zip ~/sentinel-volte user@machine$ cd ~/sentinel-volte user@machine$ unzip sentinel-volte-sdk.zip |
2. Run the installer
The installer prompts you for various configuration settings, such as the SIP URI for the MRF. You can review and change settings prior to installation so don’t worry if you got something wrong first time. |
The install program is split into several "phases".
These are:
-
initialisation of the environment
-
question and answer (in interactive mode)
-
review settings (in interactive mode)
-
execution of installation
NB: the installer captures full logging from the various tools that it uses, and writes these logs into the sentinel-volte-sdk/build/target/log directory.
NB: Before installing, if the host requires a proxy to access Artifactory then it must be configured in sdk.properties
.
sdk.properties
can be found in the top-level directory of the unzipped package. Find the section marked with # Proxy settings
and
change it to the following:
# Proxy settings # sdk.http.proxyHost=<proxy hostname here> sdk.http.proxyPort=<proxy port here> sdk.https.proxyHost<proxy hostname here> sdk.https.proxyPort=<proxy port here> # # These properties are used for both http and https. sdk.http.nonProxyHosts=localhost|127.0.0.1
To run the installer:
1 |
The testuser@machine$ cd ~/sentinel-volte/sentinel-volte-sdk testuser@machine$ build/bin/installer The installer first initialises the environment. It typically shows output similar to the following Initialising the SDK ... Retrieving Installer dependencies ... done. You may be prompted for Artifactory credentials, which should have been supplied to you by OpenCloud. |
||||
---|---|---|---|---|---|
2 |
Question and answer to determine necessary settings The installer will prompt the user for various values. A value inside square brackets, if present, is the default answer
for that question. When the user presses the Explanations of all of the questions the installer will ask are laid out over the next few steps. Note that some of the questions will only appear under certain circumstances, so not all of them will be seen in a given installer run. |
||||
3 |
Taking the SDK offline The user is prompted whether or not they want to take the SDK offline. You can optionally take the SDK offline by creating a local repository. This will take several minutes depending on connection speed, but will make subsequent retrievals much faster and remove the need for an internet connection. Do you want to take the SDK offline? y/[N] > If the user presses the The user is then presented with progress information related to the downloading of artifacts necessary to take the SDK offline. This process can take more than 30 minutes. |
||||
4 |
HSS or HLR The user can choose to use the HSS or HLR for various functionality. You can choose to use the HSS or the HLR. If you select HSS, then supplementary service data will be read from the HSS, and the CMSISDN will be used for SCC TADS Routing. If you select HLR, then supplementary service data will be read from the HLR, and the MSRN will be used for SCC TADS Routing. Use HSS or HLR? [hss] > If the user enters |
||||
5 |
Option for use of an external Prepaid Service Control Point for Online Charging You can have the option of using CAP-based online charging instead of Diameter Ro-based online charging in your installation. This will deploy additional components. Deploy optional CAP-based online charging components? y/[N] > If the user press the key |
||||
6 |
Creation of a deployment module The installer will now create a suitable deployment module. This may take several minutes. |
||||
7 |
Basic SDK Questions Your organization's name, e.g. Rocket Communications Inc. sdk.component.vendor [UNSET] > This value will be used for the sdk.component.version [1.0] > This value will be used for the The name of the platform operator, e.g. Rocket. sdk.platform.operator.name [UNSET] > The name of the platform operator for the system. It is used extensively throughout configuration profiles. An Ivy organization field, recommended lower case with no whitespace e.g. "rocket". sdk.ivy.org [UNSET] > This value is used as the sdk.ivy.publish.revision [1.0.0] > This value is used as the base of the |
||||
8 |
Install Rhino Questions You can either have the installer set up a Rhino SDK for you or point it at an existing Rhino installation, SDK or production. Note: If you want to use an existing Rhino installation it has to be running and a proper license has to be installed when finishing the installation after the configuration. Also make sure that you have adjusted the memory settings and created a tcapsim-gt-table.txt file as detailed in the documentation. Set up a Rhino SDK installation automatically? y/[N] > If you allow the installer to set up a new Rhino SDK installation, it will prompt for a license file. Enter the path to your Rhino license file > /home/testuser/Downloads/opencloud.license It then installs the Rhino SDK and starts it. If you instruct the installer to use an existing Rhino, the installer will prompt for the path to the Rhino client directory. Enter the path to your Rhino client directory > /home/testuser/rhino/2.4/client If the associated installation is a Rhino production then additional information is required to complete configuration. You can either have the installer deploy against Rhino SDK or production. Does the specified client point to a production installation? y/[N] > If you choose Yes, then the installer prompts for details of the cluster nodes and hosts. Enter your Rhino node setup. It has to be formatted like this: {nodeId,nodeId}host,{nodeId}host Examples: {101}localhost {101,102}host1,{103}host2 Node setup [{101}localhost] > {101}hostname1,{102}hostname2 |
||||
9 |
International and Roaming Network Questions Home domain [example.com] > A domain name for a home network. Home network prefix [65] > A corresponding network prefix for that home domain. Home network MCC [525] > The MCC for the home network
Comma separated list of home network MNCs eg 01,02 Home network MNC list [01,02,07] > A list of MNCs for the home network.
Roaming domain [roaming.com] > A domain name for a visited network. Roaming network prefix [65] > A corresponding network prefix for that roaming domain. Note that additional home and roaming networks can be specified through the MMTel Determine International and Roaming Status feature configuration profile once setup is complete. |
||||
10 |
Play Announcement Questions Media server URI [sip:mrf@mrfhost.example:5060] > The URI of the Media Resource Function (MRF). The hostname part should either be a resolvable name or the IP address of the MRF. |
||||
11 |
Online Charging Questions Online charging involves realtime communication with an external charging system, e.g. to an OCS via Diameter Ro Enable online charging? [Y]/n > y If the user enters This install allows online charging using either Diameter Ro or CAP. Enter the type you want with "ro" or "cap". Charging type [ro] > The installer uses Diameter Ro by default if the user does NOT select CAP-based online charging in step 5. This installation will use Diameter Ro for online charging. If the user chooses Yes and |
||||
12 |
Diameter Ro and CCA Questions - if This value is placed into the Origin-Host AVP. Host [diameterclient] > The Diameter hostname for Sentinel VoLTE. It is used in the Origin-Host AVP of outgoing diameter messages. The Diameter Ro release used for online charging can be configured to one of the following release versions: V8d0, V960, Va00, Vb80, Vcb0 Diameter Ro release [Vcb0] > The Diameter release e.g (rel 12.11.0,Vcb0) used for online charging. This installer allows setting up a simple configuration with a single peer for the OCS. If you need a configuration with multiple peers, you can either do so after the installation finishes by following the Diameter documentation, or editing the following file now: [path-to-config-file]/DiameterConfig.xml Do you want to set up a simple configuration? [Y]/n > If yes, the installer will provide a series of prompts for setting up a basic diameter configuration (where there is a single OCS server); if no, you will need to manually configure diameter peers for the charging system. Peer URI [aaa://diameterserver:3868;transport=tcp] > URI of the online charging server. Diameter peer address [diameterserver] > Diameter address of the online charging server. Realm name [example.com] > Diameter Realm for the online charging system. |
||||
13 |
Diameter Rf The Rf Control RA is used by interim CDR features to send accounting data to the CDF during offline charging interactions. Enabling this RA will implicitly enable interim CDRs. Disabling the Rf Control RA will prevent interim CDR features from interacting with the CDF, but they may still be configured to write interim CDRs to disk. Enable Rf Control RA? [Y]/n > This value is placed into the Origin-Host AVP. Host [diameterclient] > The Diameter hostname for Sentinel VoLTE. It is used in the Origin-Host AVP of outgoing diameter messages. The Diameter Rf release used for offline charging can be configured to one of the following release versions: V8d0, V960, Va00, Vb80, Vcb0 Diameter Rf release [Vcb0] > The Diameter release e.g (rel 12.11.0,Vcb0) used for Rf. This installer allows setting up a simple configuration with a single peer for the CDF. If you need a configuration with multiple peers, you can either do so after the installation finishes by following the Diameter documentation, or editing the following file now: /home/user/akendall/repos/sentinel-volte/sentinel-volte-sdk/target/artifacts/sentinel-volte-sdk/deploy-volte/config/sentinel-rf-control-ra-deploy/rf-control-ra-config.yaml Do you want to set up a simple configuration? [Y]/n > If yes, the installer will provide a series of prompts for setting up a basic diameter configuration (where there is a single CDF); if no, you will need to manually configure diameter peers for the Rf system. Peer URI [aaa://RfCDF:5898;transport=tcp] > URI of the CDF. This address is only necessary if the host in the peer URI specified above is not resolvable. If it is then you can just accept the default value here. Peer address [RfCDF] > Peer address of the CDF. Realm name [opencloud] > Realm of the CDF. |
||||
14 |
Call Detail Records (CDRs) Enabling interim CDRs implicitly due to Rf Control RA being enabled Session CDRs are written to disk only at the end of a session. Enable session CDRs? y/[N] > If Rf was not enabled in step 13 then an additional question will be asked regarding enabling Interim CDRs |
||||
15 |
CAP Charging (IM-SSF) - if Country code [65] > The country code for the home network. Default media server address [sip:mrf@mrfhost.example:5060]> Address of the media server (MRF) to be used by the IM-SSF. |
||||
16 |
Sh Cache Diameter Questions This value is placed into the Origin-Host AVP. Host [diameterclient] > The Diameter host for Sentinel VoLTE. It is used in the Origin-Host AVP of outgoing diameter messages. This installer allows setting up a simple configuration with a single peer for the HSS. If you need a configuration with multiple peers, you can either do so after the installation finishes by following the Diameter documentation, or editing the following file now: [path-to-config-file]/sh-cache-ra-config.yaml Do you want to set up a simple configuration? [Y]/n > If yes, the installer will provide a series of prompts for setting up a basic diameter configuration (where there is a single HSS server); if no, you will need to manually configure diameter peers for the HSS. Peer URI [aaa://diameterserver:3888;transport=tcp] > URI of the HSS. This address is only necessary if the host in the peer URI specified above is not resolvable. If it is then you can just accept the default value here. Peer address [diameterserver] > Diameter address of the HSS. Realm name [example.com] > Diameter Realm for the HSS. |
||||
17 |
Sentinel Registrar Questions The registrar allows configuration to be specific to a particular node, which may be necessary for some settings like the ATU-STI. If a certain property is not found in a node-specific profile, or no profile exists for the current node, the registrar will fall back on the standard profile. This installer will configure the standard profile and add a node-specific profile for node 101. If you are using more than one node then you can edit the file [path-to-config-file]/RegistrarConfigurationTable.yaml after finishing the configuration in the installer, but before proceeding with the actual installation. Destination realm [example.com] > Diameter realm for the Home Subscriber Server (HSS) ATU-STI [sip:localhost:5060] > The Access Transfer Update - Session Transfer Identifier. Registration Data Storage can use either the HSS, or a Cassandra database. Specify the type you want with either "HssCache" or "Cassandra". Registration Data Storage type [HssCache] > Determines where the registrar will store third party registration data. Data can be stored in either the HSS, or a Cassandra database. Please enter a comma separated list of Cassandra hosts in the form "host1,host2" Cassandra Hosts [localhost] > Comma separated list of hostnames for the Cassandra database. Please enter the port Cassandra is listening on Cassandra Port [9042] > The destination port for the Cassandra database server. |
||||
18 |
Sentinel VoLTE Shared Config Questions Sentinel VoLTE shared configuration can be specific to a particular node, which may be necessary for some settings like the MMTel and SCC AS URI's. If a certain property is not found in a node-specific profile, or no profile exists for the current node, then Sentinel VoLTE shared config will fall back on the standard profile. This installer will configure the standard profile and add a node-specific profile for node 101. If you are using more than one node then you can edit the file [path-to-config-file]/VoLTESharedConfigProfileTable.yaml after finishing the configuration in the installer, but before proceeding with the actual installation. MMTel AS URI [sip:mmtel@127.0.0.1:5060] > The URI that identifies this MMTel AS SCC AS URI [sip:scc@127.0.0.1:5060] > The URI that identifies this SCC AS |
||||
19 |
External Session Tracking Questions External Session Tracking uses Cassandra to save session information that can be shared across nodes. Please enter a comma separated list of Cassandra hosts in the form "host1,host2" Cassandra Hosts [localhost] > Comma separated list of hostnames for the Cassandra database. Please enter the port Cassandra is listening on Cassandra Port [9042] > The destination port for the Cassandra database server. |
||||
20 |
SIP SIS RA Questions SIP SIS RA Host [localhost] > The hostname for the server hosting Sentinel VoLTE. |
||||
21 |
MMTel Conferencing Questions The URI of the Interrogating Call Session Control Function. The Conf and ECT features will automatically add an "lr" parameter to it. The hostname part should either be a resolvable name or the IP address of the I-CSCF. Example: sip:127.0.0.1:5054;transport=tcp I-CSCF URI [sip:icscf@icscfhost.example:5060] > The URI of the Interrogating Call Session Control Function (I-CSCF). The URI of the Media Resource Function. The hostname part should either be a resolvable name or the IP address of the MRF. Example: sip:msml@127.0.0.1:5060 MRF URI [sip:mrf@mrfhost.example:5060] > The URI of the Media Resource Function (MRF) to be used as the conference bridge. Conference Factory PSI [sip:conf-factory@example.com] > A Public Service Identifier that can be used by a subscriber to establish a conference call. The Conference MSML Schema Vendor Name. Used by the Conf feature to determine mapper selection when creating MSML documents for interaction with the MRF. Conference MSML Schema Vendor Name [Dialogic] > The name of the vendor providing the conference MSML schema. |
||||
22 |
ODB Questions Enable HSS IMS-ODB-Information query ==================================== The SubscriberDataLookupFromHss feature does NOT query the Operator Determined Barring information (IMS-ODB-Information) by default. Enable HSS query for IMS-ODB-Information: y/[N] Answering |
||||
23 |
HLR Configuration The following questions concern the HLR configuration. They are only asked if the user has chosen to use the HLR - a question asked near the beginning of the install. The SCCP address of the HLR. Example: type=C7,ri=pcssn,pc=6,ssn=143,national=false HLR address [type=C7,ri=pcssn,pc=6,ssn=143,national=false] > The SCCP address of the Sentinel VoLTE AS. Example: type=C7,ri=gt,digits=653333333,gti=4,nature=international,numbering=isdn,tt=0,national=true Originating Sentinel address [type=C7,ri=pcssn,pc=7,ssn=157] > The address of the MLC (Sentinel). Example: address=222,nature=INTERNATIONAL,numberingPlan=ISDN MLC address [address=653333333,nature=INTERNATIONAL,numberingPlan=ISDN] > The timeout value for opening the MAP dialog with the HLR (in milliseconds). Invoke timeout [5000] > |
||||
24 |
T-ADS Questions LTE (E-UTRAN) is an allowed PS access network technology. You can also configure WLAN to be an allowed access network. Allow WLAN access? y/[N] > Answering 'yes' will allow subscribers to use WiFi as an access network. |
||||
25 |
Review settings Once all questions have been answered, the user is provided the opportunity to review and if happy, accept the settings. TIP: settings are saved to disk, so that they can be read later. Review settings *************** Basic SDK properties ==================== sdk.component.vendor: Rocket Communications Inc sdk.component.version: 1.0 sdk.platform.operator.name: Rocket sdk.ivy.org: rocket sdk.ivy.publish.revision: 1.0.0 ... edited for brevity MMTel Conferencing ================== I-CSCF URI: sip:192.168.10.1:5054;transport=tcp MRF URI: sip:192.168.10.17 Conference Factory PSI: sip:conf-factory@example.com Play Announcements ================== Media server URI: sip:annc@192.168.10.17:5060 Accept these values? [Y]/n > y ... edited for brevity Configuration changes written. If the user presses the |
||||
26 |
Execution phase Now that the installer has gathered all necessary information it provides the user with the option to install the VoLTE TAS now. Install now? [Y]/n > If the user wants to install at a later time, they can press the Installing Rhino ... done. Starting Rhino in the background ... done. Publishing deployment module deploy-volte ... done. Deploying; this is going to take a while ... done. Binding; this is going to take a while ... done. Configuring; this is going to take a while ... done. Running post-installation tasks ... done. Installation completed successfully in 32 minutes and 19 seconds. Rhino has been left running to finish applying configuration changes. The configuration has been saved to the file {sdk-path}/install.properties. This file can be used to re-run the installation non-interactively with the same settings. The installation has now completed successfully. |
A properties file is automatically created when the interactive installer is run. This file is located in the sentinel-volte-sdk directory and named install.properties .
In this way an interactive installations settings are saved, and can be distributed through the install.properties file.
You can later use this file for a new installation using the Non-interactive mode.
Save this file for future upgrade procedure as instructed here and here.
|
Non-interactive mode
To run the installer in non-interactive mode a properties file is passed to the installer program
testuser@machine$ cd ~/sentinel-volte/sentinel-volte-sdk testuser@machine$ ./build/bin/installer -p my-install.properties
SIS and CGIN
During installation SIS and CGIN versions are extracted into the SDK directory structure. This is so that SIS can be configured as necessary.
The CGIN connectivity pack is extracted into the sentinel-volte-sdk/cgin/cgin-connectivity-full-CGIN_VERSION
directory.
The SIS is extracted into the sentinel-volte-sdk/sis/SIS_VERSION
directory.
Here CGIN_VERSION
and SIS_VERSION
are the release versions for each product respectively (e.g. 1.5.2.8 and 2.5.2.7)
The SIS console command is located at sentinel-volte-sdk/sis/SIS_VERSION/admin/sis-console
.
Background information
The installer sits on top of the Sentinel VoLTE SDK infrastructure
The installer works by creation of a "deployment module" for Sentinel VoLTE. This module name is "deploy-volte" and it is located in the root of the Sentinel VoLTE SDK directory.
A deployment module can be created through the use of the sdkadm create-deployment-module command. The values that the user enters (or passes in when using non-interactive mode) are written into the various configuration files in this deployment module.
The deployment module is then published, and the deployer, binder and configurer are invoked in order to install/bind/configure the application in Rhino.
This means that the the installer is part of the Sentinel VoLTE SDK, and that there is no technology difference between the SDK and an "off the shelf install". Therefore custom configurations can easily be made through modification of the deployment module, and publishing it, and running the configurer.
Installer log files
The installer captures full logging from the various tools that it uses, and writes these logs into the sentinel-volte-sdk/build/target/log directory. This output is more verbose than the user sees when running the installer.
Each time an install is done, a file called install.log is created in this directory. If there is a previous install.log file, that it is moved to install_date.log. The value of "date" is the time of the last write timestamp in the file.
Therefore running the installer three times results in three installer log files.