Sentinel IPSMGW 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 IPSMGW into your Rhino or Rhino SDK. |
The installer prepares configuration for a single node Sentinel IPSMGW system, with a single peer for various other network elements such as:
-
Interrogating Call Session Control Function (I-CSCF)
-
Home Location Register (HLR)
-
Cassandra storage for Third Party Registration data
For more advanced configurations, such as clustering or multiple signalling peers, familiarity with the Rhino platform, SIS and Sentinel products is recommended.
To install Sentinel IPSMGW services in interactive mode:
For further information on installation read:
1. Unzip ipsmgw-sdk.zip
To unzip ipsmgw-sdk.zip
:
1 |
Copy the downloaded install zip file to a machine where Rhino and Sentinel IPSMGW will run.
user@machine$ mkdir ~/sentinel-ipsmgw |
||
---|---|---|---|
2 |
Unzip. user@machine$ cp ~/ipsmgw-sdk.zip ~/sentinel-ipsmgw user@machine$ cd ~/sentinel-ipsmgw user@machine$ unzip ipsmgw-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 ipsmgw-sdk/build/target/log directory.
To run the installer:
1 |
The testuser@machine$ cd ~/sentinel-ipsmgw/ipsmgw-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. |
||
---|---|---|---|
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 |
||
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 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 |
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 |
||
5 |
Rhino details The installer then prompts for details of the Rhino installation used for this installation of IPSMGW. 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, it will prompt for the path to the Rhino client directory and check if you are using a Rhino SDK or a production cluster. Enter the path to your Rhino client directory > /home/testuser/rhino/client 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 |
||
6 |
Review settings Once the basic SDK configuration questions have been answered, the user is provided the opportunity to review and if happy, accept the settings.
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 Configuration changes written. If the user presses the |
||
7 |
Creation of a deployment module The installer will now create a suitable deployment module. This may take several minutes. |
||
8 |
General configuration Details of the IPSMGW environment - hosts, ports, addresses etc The SCCP address of the HLR. This value is used as a template address if 'Use MSISDN as HLR Address' is configured. In this case the configured digits are replaced by the subscriber MSISDN in the outbound HLR address. Examples: type=C7,ri=pcssn,pc=5,ssn=6 or type=C7,ri=gt,digits=0,ssn=6,national=false,nature=INTERNATIONAL,numbering=ISDN,gti=4,tt=0 HLR address [type=C7,ri=pcssn,pc=5,ssn=6] > Within the MAP Proxy and ATM Registration features, controls whether to address the outbound HLR leg using a GT address formed from the subscriber MSISDN, using the configured address as a template. Use MSISDN as HLR Address y/[N] > A Template SCCP address used for routing to SMSC, address will be modified based on the received MSC address. Example: type=C7,ri=gt,digits=0,ssn=8,national=false,nature=INTERNATIONAL,numbering=ISDN,gti=4,tt=0 Template SMSC address [type=C7,ri=gt,digits=0,ssn=8,national=false,nature=INTERNATIONAL,numbering=ISDN,gti=4,tt=0] > The originating SCCP address of the Sentinel IP-SM-GW. Example: type=C7,ri=pcssn,pc=5,ssn=147 Originating Sentinel address [type=C7,ri=pcssn,pc=5,ssn=147] > The international SCCP address of the Sentinel IP-SM-GW. Example: address=653333333,nature=INTERNATIONAL,numberingPlan=ISDN IP-SM-GW Sentinel address [address=653333333,nature=INTERNATIONAL,numberingPlan=ISDN] > The TCAP invoke timeout (in milliseconds). Invoke timeout [5000] > The domain used to compose SIP URIs from the MSISDN. Terminating domain [opencloud.com] > The Address of the Interrogating Call Session Control Function. The hostname part should either be a resolvable name or the IP address of the I-CSCF. Example: sip:127.0.0.1:5052;lr;transport=tcp I-CSCF URI [sip:127.0.0.1:5052;lr;transport=tcp] > The SIP transport used to determine the local SIP URI, which is used as the address of IPSMGW Valid values are: 'udp' or 'tcp'. SIP transport [udp] > The delivery order to use for MT deliveries Valid values are: CS_THEN_PS or PS_THEN_CS or CS_ONLY or PS_ONLY Delivery Order [PS_THEN_CS] > Charging can be enabled separately for MT deliveries over PS and CS, and for MO. Do you want to enable charging over PS for MT deliveries? y/[N] > Do you want to enable charging over CS for MT deliveries? y/[N] > Do you want to enable charging for MO deliveries? y/[N] >
|
||
9 |
Sentinel Registrar Details of the Cassandra database used for Third Party Registration data Please enter a comma separated list of Cassandra contact points in the form "host1,host2" Cassandra Contact Points [localhost] > Please enter the port Cassandra is listening on Cassandra Port [9042] > |
||
10 |
IPSMGW Cassandra IPSMGW uses Cassandra to save routing information that can be shared across nodes. Please enter a comma separated list of Cassandra contact points in the form "host1,host2" Cassandra Contact Points [localhost] > Please enter the port Cassandra is listening on Cassandra Port [9042] > |
||
11 |
Sh Cache Microservice RA Configuration that is used by the Sh Cache Microservice RA. The URL for the Sh Cache Microservice. Server URL [http://localhost:8088] > The URL for the Sh Cache Microservice. This is what Sh Cache Microservice requests are sent to. Whether to use a proxy server. Proxy Enabled y/[N] > If yes, the installer will next ask to configure the proxy server. The hostname of the proxy server. Proxy Host [localhost] > Hostname of the proxy server. The port of the proxy server. Proxy Port [3128] > Port of the proxy server. The URL that notifications from Sh Cache Microservice will be sent to. This hostname must be able to be resolved by ShCM hosts. Notification URL [http://localhost:8089] > The notification URL. The local port the RA will listen on for notification requests. This is allowed to differ from the port in 'http.notificationURL', as the local port may not be visible to other nodes depending on the network topology. Notification Port [8089] > The port to listen on for notification requests. Subscription expiry time in seconds. Subscription Expiry Time [3600] > Expiry time for subscriptions to UE Reachability For IP. |
||
12 |
Correlation RA Configuration that is used by the Correlation RA to generate MT Correlation IDs(fake IMSIs). The name of the Correlation ID Pool Pool name [OpenCloud] > Mobile Country Code (MCC) [001] > Mobile Network Code (MNC) [01] > |
||
13 |
SIP SIS RA Listen Address This specifies the host that you want to receive SIP traffic on. This is the hostname or IP address that you want to receive SIP traffic on. SIP SIS RA Host [localhost] > If installing on a production Rhino with multiple nodes running on the same host, the installer will report that the SIP RA OffsetPort functionality is enabled, with the port offset set to the lowest node ID. The port will default to 5060, modified as described in the configuration. As an example, if nodes 101 and 102 are running on host1, and node 201 is running on host2, the ports used will be 5060-101+101=5060 for node 101, 5060-101+102=5061 for node 102, and 5060-101+201=5160 for node 201. Port offset for SIP SIS RA listen addresses =========================================== Offsetting SIP SIS RA listen ports by nodeId - 101 Otherwise, the port offset functionality will not be enabled and port 5060 will be used by default. Port offset for SIP SIS RA listen addresses =========================================== SIP SIS RA 'port offset' functionality not required, as there are no hosts with multiple nodes running |
||
14 |
OCSS7 Server list for CGIN MAP RA This specifies the OCSS7 server list for the cginmapra entity related to the sccp address. It has to contain the port. This is a comma separated list of hostname or IP address and the port of OCSS7 SGC nodes to connect to. eg localhost:13021,localhost:13022 OCSS7 SGC node Host and Port list [localhost:13021] > |
||
15 |
Diameter Ro and CCA Questions - if any charging options chosen at step 6 This value is placed into the Origin-Host AVP. Host [diameterclient] > The Diameter hostname for Sentinel IP-SM-GW. 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 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. |
||
16 |
PS Delivery configuration Details for the PS Delivery feature The Timer to decide whether PS Delivery has failed (in milliseconds). Delivery Failure Timer [5000] > The RP-Error codes that will stop fallback if PS_THEN_CS is used. The special value of '-1' will mean no error codes are used. Example: 21,22 Fallback Avoidance Codes [22] > |
||
17 |
PS Delivery Per Node URI This specifies the URI for each node that PSDelivery will set as the From: address in outgoing MESSAGE requests. If installing on a cluster, this question will be repeated for each node specified at the start of the installation process. The SIP Local URI of Rhino node 101. Example: sip:127.0.0.1:5060 Node 101 SIP Local URI [sip:127.0.0.1:5060] > |
||
18 |
CS Delivery configuration Error handling behaviour for the CS Delivery feature The Delivery Error codes that will stop fallback if CS_THEN_PS is used. The special value of '-1' will mean no error codes are used. Example: 0,1 Fallback Avoidance Codes [0] > |
||
19 |
IPSMGW SCCP Whitelist GT Entries This defines a whitelist of incoming SCCP origin addresses that will not be rejected by the IPSMGW SCCP Whitelist feature when triggered by an OpenRequest. Comma separated list of SCCP Whitelist GT Prefixes. The special value of '-' will mean no whitelist is provisioned and all SCCPs will be accepted. Example: 64123,64124 SCCP Whitelist GT Prefix List [-] > |
||
20 |
IPSMGW CDR RA Configuration The configuration properties of the CDR resource adaptor. See Configuration for more details. Approximate maximum size in bytes before a new CDR file is started. After a CDR is written, the total file size is compared to MaxSize. If the current file size is larger, it is completed. If MaxSize is 0, no size-based rollover is done. MaxSize [100000000] > Number of CDRs to be written to a CDR file before a new file is started. The line count does not include the header and footer lines, if enabled. If MaxLines is 0, no line-based rollover is done. MaxLines [0] > Number of milliseconds of operation before time-based file rollover. If a CDR file is used for more than MaxInterval seconds without being rolled over due to line- or size-based limits, it is completed anyway. If CreateEmptyFiles is True, at least one CDR file is created every MaxInterval seconds, even if no CDRs are written. MaxInterval [600000] >
|
||
21 |
Review settings Once all questions have been answered, the user is provided the opportunity to review, and if happy, accept the settings.
Review settings *************** General configuration ===================== HLR Address: type=C7,ri=pcssn,pc=5,ssn=6 Use MSISDN as HLR Address: false Template SMSC Address: type=C7,ri=gt,digits=0,ssn=8,national=false,nature=INTERNATIONAL,numbering=ISDN,gti=4,tt=0 Sentinel Originating Address: type=C7,ri=pcssn,pc=5,ssn=147 Sentinel IP-SM-GW Address: address=653333333,nature=INTERNATIONAL,numberingPlan=ISDN HLR Invoke Timeout (ms): 5000 Terminating domain: opencloud.com I-CSCF URI: sip:127.0.0.1:5052;lr;transport=tcp SIP transport: udp Sentinel Registrar ================== Cassandra Contact Points: localhost Cassandra Port: 9042 Sh Cache Microservice RA ================= Server URL: http://localhost:8088 Proxy Enabled: false Notification URL: http://localhost:8089 Notification Port: 8089 Subscription Expiry Time: 3600 MT Correlation ID ================= Profile name: OpenCloud MCC: 001 MNC: 01 Port offset for SIP SIS RA listen addresses =========================================== Not offsetting SIP SIS RA listen port Listen Address for SIP SIS RA ============================= SIP SIS RA Host: localhost OCSS7 Server list for CGIN MAP RA ============================== OCSS7 SGC node Host and Port list: localhost:13021 Diameter (Ro & CCA) ============================== Host: diameterclient Peer URI: aaa://diameterserver:3868;transport=tcp Peer address: diameterserver Realm name: example.com PS Delivery configuration ========================= PS Delivery Fallback Timer (ms): 5000 RP-Error Fallback Avoidance Codes: [22] PS Delivery Per Node URIs ========================= Node 101 SIP Local URI: sip:127.0.0.1:5060 Accept these values? [Y]/n > CS Delivery configuration ========================= Delivery Fallback Avoidance Codes: [0] IPSMGW SCCP Whitelist GT Entries ================================ 64125,64124 IPSMGW CDR RA configuration =========================== MaxSize: 100000000 MaxLines: 0 MaxInterval (ms): 600000 ArchiveCommand: If the user presses the |
||
22 |
Execution phase Now that the installer has gathered all necessary information it provides the user with the option to install the IPSMGW TAS now. Install now? [Y]/n > If the user wants to install at a later time, they can press the If 'Y' is selected the installer proceeds to install Sentinel IPSMGW into Rhino (or Rhino SDK). Publishing deployment module ... 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 11 minutes and 27 seconds. Rhino has been left running to finish applying configuration changes. The installation has now completed successfully. |
A properties file called install.properties is automatically created in the ipsmgw-sdk directory when the interactive installer is run. It stores all the data entered during the install.
You can use this file for a new installation using the Non-interactive mode.
|
Non-interactive mode
To run the installer in non-interactive mode a properties file is passed to the installer program
testuser@machine$ cd ~/sentinel-ipsmgw/ipsmgw-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 ipsmgw-sdk/cgin/cgin-connectivity-full-CGIN_VERSION
directory.
The SIS is extracted into the ipsmgw-sdk/sis/SIS_VERSION
directory.
Here CGIN_VERSION
and SIS_VERSION
are the release versions for each product respectively (e.g. 1.5.4.1 and 2.5.4.1)
The SIS console command is located at ipsmgw-sdk/sis/SIS_VERSION/admin/sis-console
.
Background information
The installer sits on top of the Sentinel IPSMGW SDK infrastructure
The installer works by creation of a 'deployment module' for Sentinel IPSMGW. The module is named "deploy-ipsmgw" and is located in the root of the Sentinel IPSMGW 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.
During an install, the deployment module is first published, then 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 IPSMGW 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 ipsmgw-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. i.e. running the installer three times results in three installer log files.