The Sentinel VoLTE Cloud environment is an Amazon Elastic Cloud Compute (EC2) based, functional IMS network in the Cloud.

Audience

This document is intended for:

  • engineers looking to gain knowledge around VoLTE and IMS.

Topics

Cloud Environment Architecture

The Sentinel VoLTE Cloud environment is an Amazon Elastic Cloud Compute (EC2) based, small scale, functional IMS network in the Cloud.

Components

It includes five main components, each running in its own EC2 instance:

  • OpenCloud Sentinel VoLTE TAS

  • OpenIMS HSS

  • Metaswitch Clearwater IMS

  • Session Border Controller (not yet available)

  • Dialogic XMS - Media Resource Function (not yet available).

Each instance is published in Amazon as an EC2 AMI. New instances of the three images can be spun-up from the AMIs in about five minutes.

volte cloud demo ec2

Architecture

Component Features

Sentinel VoLTE TAS

  • Online Charging via Diameter Ro

  • MMTEL-AS features, from GSMA IR.92

  • SCC-AS features, from GSMA IR.64

  • Subscriber configuration via REM HSS Subscriber Data page

  • XCAP provisioning for subscriber self provisioning/configuration of MMTEL features

OpenIMS HSS

  • Typical HSS functions

  • Sh Transparent User Data repository — for MMTel Supplementary Service Data

Clearwater IMS

Project Clearwater is an open source implementation of the IP Multimedia Subsystem for cloud computing environments.

Note OpenCloud configures the three instances to communicate between themselves.
Component Documentation URL

Sentinel VoLTE

Sentinel VoLTE

Clearwater IMS Core

http://www.projectclearwater.org/

OpenIMS HSS

http://www.openimscore.org/

Dialogic XMS

http://www.dialogic.com/en/products/media-server-software/xms.aspx

Perimeta Session Border Controller

http://www.metaswitch.com/perimeta-session-border-controller-sbc

Commissioning the Cloud Environment

Commissioning options

There are three options for setting up the Sentinel VoLTE cloud environment in EC2:

OpenCloud provides account

  • OpenCloud has responsibility for billing.

  • OpenCloud R&D installs Sentinel VoLTE and other network infrastructure on a new EC2 account.

  • EC2 sub-account is created, providing full access to the customer.

  • The sub-account can be manually disabled/removed by OpenCloud at any point.

  • OpenCloud provides the customer with a specific login URL for EC2 console, a username/password, and an ssh key.

  • Customer configures SIP user agents to make calls.

Note A user for your Amazon AWS account must be created for OpenCloud to set up the account. Here’s how to give OpenCloud access to your account.

Customer provides account

  • Customer has responsibility for billing.

  • Customer provides OpenCloud with temporary access to an EC2 ‘power user’ account by providing the following details:

    • Access key

    • Secret key

    • Amazon EC2 region

    • Amazon EC2 account number.

  • OpenCloud R&D installs Sentinel VoLTE and other network infrastructure in the customer’s account via an automated Jenkins job.

  • OpenCloud provides ssh keys to the customer for ssh access to the EC2 instances.

  • Customer configures SIP User Agents to make calls.

Customer manually installs

  • Customer provides OpenCloud with ec2 account number.

  • OpenCloud shares the three AMIs with the customer.

  • Customer installs the Sentinel VoLTE cloud environment by following how to manually install the Sentinel VoLTE cloud environment.

Amazon AWS account types

OpenCloud supports both ‘classic’ and newer ‘default-VPC’ EC2 accounts.

  • If the ec2 account is classic:

    A separate VPC is deployed and configured for the Sentinel VoLTE Cloud Environment.

  • If the ec2 account has a default VPC:

    that VPC is used for the Sentinel VoLTE Cloud Environment.

How to give OpenCloud access to your account

To use the first of the two options above, a user for your Amazon AWS account must be created for OpenCloud.

Here is how to do that:

1

Log in to your AWS account.

2

Select “IAM” from the drop-down Services menu at the top-left of the screen.

iam step2

3

From the IAM dashboard:

  • Click Create a New Group of Users.

iam step3

4

On the GROUP NAME page:

  • Specify the name for the group (for example, OpenCloud).

  • Click Continue.

iam step4

5

On the PERMISSIONS page:

  • Select the Power User Access policy template.

  • Click Continue on the next screen.

iam step5

6

On the USERS page:

  • Enter a user name (for example, opencloud).

  • Ensure that Generate an access key for each User is checked.

  • Click Continue.

iam step6

7

  • Review your selections.

  • Click Continue.

8

On the next screen:

  • Download (or view and take note of) the given security credentials.

Important This is your only opportunity to get these security credentials.
iam step7

Once you have finished, provide OpenCloud with the security credentials for the new user, and we will set up and configure the Sentinel VoLTE cloud environment.

You can then delete the new user by right-clicking on it and selecting Delete from the Users section of the IAM web console.

Manually Install Sentinel VoLTE Cloud Environment

Follow these steps to manually install an ec2 Sentinel VoLTE cloud environment.

Tip An output (bulleted in blue) from a step should be noted, as it forms the input to a subsequent step.

1 Determine the AMI IDs

Determine the AMI IDs for the VoLTE, HSS and Clearwater images:

  • $VOLTEAMIID

  • $HSSAMIID

  • $CWAMIID.

2 Create a keypair, VPC, and security groups

Create a keypair

Step Command Output

1

Create keypair

ec2-create-keypair cloud-keypair

$KEYPAIR

Create a VPC

If the ec2 account is an ‘ec2 classic’ then it won’t have a default VPC.
If there is no default VPC, follow the steps in this table.
Otherwise, use the default VPC.

Step Command Output

1

Create VPC

ec2-create-vpc 10.0.0.0/24

$VPCID

2

Create Internet Gateway

ec2-create-internet-gateway

$GATEWAYID

3

Attach Internet Gateway to VPC

ec2-attach-internet-gateway $GATEWAYID -c $VPCID

4

Create Route Table

ec2-create-route-table $VPCID

$ROUTETABLEID

5

Create Route Table entry

ec2-create-route $ROUTETABLEID -g $GATEWAYID -r 0.0.0.0/0

6

Create Subnet

ec2-create-subnet -c $VPCID -i 10.0.0.0/24

$SUBNETID

7

Modify Subnet: Auto-assign public IP

ec2-modify-subnet-attribute $SUBNETID -m true

8

Set DNS hostnames to true

ec2-modify-vpc-attribute -c $VPCID -d true

9

Associate Subnet to Route Table

ec2-associate-route-table $ROUTETABLEID -s $SUBNETID
Use the default VPC

If the ec2 account has a default-VPC, then use that and one of its subnets:

  • $VPCID

  • $SUBNETID.

Create two security groups

Step Command Output

1

Create Access group

ec2-create-group "VoLTE cloud access" -d "Access Security group for VoLTE environment" -c $VPCID

$SGID‑ACCESS

2

Create Internal group

ec2-create-group "VoLTE cloud internal" -d "Internal Security group for VoLTE environment" -c $VPCID

$SGID‑INTERNAL

3 Add rules to security groups

Add these rules to the security groups you created:

Security group Rules

Access

SIP

ec2-authorize $SGID-ACCESS -P tcp -p 5052 -o $SGID-INTERNAL
ec2-authorize $SGID-ACCESS -P tcp -p 5054 -o $SGID-INTERNAL
ec2-authorize $SGID-ACCESS -P tcp -p 5060
ec2-authorize $SGID-ACCESS -P udp -p 5060

SSH

ec2-authorize $SGID-ACCESS -P tcp -p 22

RTP

ec2-authorize $SGIDaccess -P udp -p 16000-18000

Internal

All internal traffic

ec2-authorize $SGID-INTERNAL -P all -o $SGID-INTERNAL

All traffic from access group

ec2-authorize $SGID-INTERNAL -P all -o $SGID-ACCESS

SSH

ec2-authorize $SGID-INTERNAL -P tcp -p 22

GUI Access for REM, HSS, MRF

ec2-authorize $SGID-INTERNAL -P tcp -p 8080
ec2-authorize $SGID-INTERNAL -P tcp -p 443

Limit outbound access to only the access and internal security groups

ec2-authorize $SGID-INTERNAL -P all -o $SGID-INTERNAL --egress
ec2-authorize $SGID-INTERNAL -P all -o $SGID-ACCESS --egress
ec2-revoke $SGID-INTERNAL -P all -s 0.0.0.0/0 --egress

4 Create the instances from the AMIs

Command Output

1

ec2-run-instances $VOLTEAMIID -t m3.large -k $KEYPAIR -s $SUBNETID
--associate-public-ip-address true -g $SGID-INTERNAL

$VOLTE_INSTANCE_ID

2

ec2-run-instances $HSSAMIID -t m1.medium -k $KEYPAIR -s $SUBNETID --associate-public-ip-address true -g $SGID-INTERNAL

$HSS_INSTANCE_ID

3

ec2-run-instances $CWAMIID -t m3.large -k $KEYPAIR -s $SUBNETID --associate-public-ip-address true -g $SGID-INTERNAL

$CW_INSTANCE_ID

Note
  • If you are using a Perimeta SBC, then it should use the Access Security group.

  • If you are not using Perimeta, then Clearwater should use the Access Security group.

  • VOLTE, HSS and MRF (when used) should use the Internal Security group.

5 Note IP addresses and DNS names

Note the following:

internal IP address of each of the servers

  • $VOLTE-INTERNAL-IP

  • $HSS-INTERNAL-IP

  • $CW-INTERNAL-IP

internal DNS name of each of the servers

  • $VOLTE-INTERNAL-DNS

  • $HSS-INTERNAL-DNS

  • $CW-INTERNAL-DNS

external IP address of each of the servers

  • $VOLTE-EXTERNAL-IP

  • $HSS-EXTERNAL-IP

  • $CW-EXTERNAL-IP

external DNS of each of the servers

  • $VOLTE-EXTERNAL-DNS

  • $HSS-EXTERNAL-DNS

  • $CW-EXTERNAL-DNS

6 Add entries to each instance in /etc/hosts

ssh into each instance and add these entries to /etc/hosts:

Instance Entry

volte-instance

$VOLTE-INTERNAL-IP

hss-instance

$HSS-INTERNAL-IP

clearwater-instance

$CW-INTERNAL-IP

7 Update configuration

Update these configurations:

Configuration What to update Command

HSS Application Server

rhino address

rhinosipaddr="sip:$VOLTE-INTERNAL-DNS:5060;transport=tcp" +
Via HSS Admin GUI --> Services / Application Servers page

or

ssh ec2 hss +
mysql -u root -ppassword -D hss_db -e "update application_server set server_name = '$rhinosipaddr' where name = 'Rhino_AS';"

HSS S-CSCF

clearwater address

cwsipaddr="sip:$CW-INTERNAL-IP:5054" +
Via HSS Admin GUI --> Network Configuration / Preferred S-CSCF Sets page

or

ssh ec2 hss +
mysql -u root -ppassword -D hss_db -e "update preferred_scscf_set set scscf_name = '$cwsipaddr' where name = 'sprout';"

clearwater

HSS and upstream details

ssh ec2 cw +
vi /etc/clearwater/config +
upstream_hostname=$CW-INTERNAL-IP +
hss_hostname=$HSS-INTERNAL-DNS +
hss_port=3868

/etc/clearwater/s-cscf.json

clearwater hostname

ssh ec2 cw +
vi /etc/clearwater/s-cscf.json
{
   "s-cscfs" : [
   {   "server" : "sip:$CW-EXTERNAL-DNS:5054;transport=TCP",
   "priority" : 0,
   "weight" : 100,
   "capabilities" : []
   }
   ]
}

8 Effect changes

To effect the configuration changes:

Step Command

1

Install Ralf and point clearwater config at Ralf

ssh ec2 cw +
vi /etc/clearwater/config +
#ralf_hostname=
Note If CDF is not required, ignore the above and comment out Ralf.

2

Restart clearwater to pick up changes

ssh ec2 cw +
sudo service clearwater-infrastructure restart +
sudo monit stop bono +
sudo monit stop ellis +
sudo monit restart sprout +
sudo monit restart homestead

3

Update details in HSS configuration

ssh ec2 hss +
vi /home/ubuntu/HSS/FHoSS/deploy/DiameterPeerHSS.xml +
change: +
FQDN="$HSS-INTERNAL-DNS" +
Realm="example.com" +
<Acceptor port="3868" bind="$HSS-INTERNAL-IP" /> +
vi /home/ubuntu/HSS/FHoSS/deploy/hss.properties +
change: +
host=$HSS-INTERNAL-IP +
port=8080

4

Restart HSS to pick up changes

ssh ec2 hss +
sudo /etc/init.d/hss stop +
sudo /etc/init.d/hss start

Using the Cloud Environment

This section includes the following topics about how to interact with the Sentinel VoLTE Cloud environment:

Basic Access

Administrators can access the EC2 instances, for configuration, using SSH or OAM consoles.

SSH access

With the provided ssh key (such as volte-cloud.pem), the administrator can ssh access each of the servers.

OAM consoles

Both the OpenIMS and VoLTE TAS VM include browser-based OAM consoles.

These run as follows:

Service URL within the Cloud environment Username Password

Rhino Element Manager

http://<VOLTE_PUBLIC_IP>:8080/rem

emadm

ec2oc2014!

HSS Web Console

http://<HSS_PUBLIC_IP>:8080/hss.web.console

hssAdmin

ec2oc2014!

User Agent Configuration

This section gives instructions for how to configure a variety of SIP user agents (UAs) for use with the Sentinel VoLTE cloud environment.

OpenCloud has successfully tested the cloud environment with the following programs:

Name Tested platforms

Zoiper

Windows 8, Windows 7, Ubuntu Linux, Mac OS X, Android, iOS 7

Jitsi

Ubuntu Linux

Linphone

Windows 8, Windows 7, Linux, iOS 7

Twinkle

Ubuntu Linux

Jitsi

Jitsi runs on Windows, Linux, and Mac platforms.

Windows configuration

Tip
  • Use default values unless otherwise stated.

  • <CLEARWATER_PUBLIC_IP> should be substituted with the public IP of the EC2 instance that is running the Clearwater IMS. (By default this instance will be labelled Clearwater IMS).

  • 6505550425@example.com is used as an example.

1

From the menubar:

  • Select File ▶ Add new account…​.

  • Select SIP from the dropdown box.

  • Click the Advanced button.

jitsi1

2

On the Account tab:

  • SIP ID: 6505550425@example.com

  • Password: ec2oc-6505550425

  • Display Name: 6505550425 (optional)

jitsi2

3

On the Connection tab:

  • Registrar: example.com

  • Authorization name: 6505550425@example.com

  • Client TLS certificate: none

  • Configure proxy automatically: false

  • Proxy: <CLEARWATER_PUBLIC_IP>

  • Proxy Port: 5060

  • Preferred transport: TCP

  • Keep alive method: REGISTER

jitsi3

Linphone

Linphone runs on Windows, Linux, Mac, Android, iPhone, and Blackberry platforms.

Note
You must use version 3.7.0 or later!

Windows and Linux have been successfully tested by OpenCloud.
The Android version (at the time of writing) does not contain sufficient capabilities out-of-the-box.

Windows configuration

Tip
  • Use default values unless otherwise stated.

  • <CLEARWATER_PUBLIC_IP> should be substituted with the public IP of the EC2 instance that is running the Clearwater IMS (By default this instance will be labelled Clearwater IMS).

  • 6505550425@example.com is used as an example.

1

Open Options ▶ Preferences.

linphone1

2

Under the Manage SIP Accounts tab, add a proxy account with these details:

  • Your SIP identity: sip:6505550425@example.com

  • SIP Proxy Address: sip:<CLEARWATER_PUBLIC_IP>:5060;transport=tcp*

  • Transport: TCP

  • Route: sip: <CLEARWATER_PUBLIC_IP>:5060;transport=tcp

  • Contact Params: 6505550425

linphone2

3

When attempting to connect with this account, you will be prompted for a username and password:

  • Username: 6505550425@example.com

  • Password: ec2oc-6505550425

Twinkle

Twinkle runs on the Linux platform.

Warning Twinkle has not been updated in some time; getting it to run on recent versions of Linux can be difficult.

Linux configuration

Tip
  • Use default values unless otherwise stated.

  • <CLEARWATER_PUBLIC_IP> should be substituted with the public IP of the EC2 instance that is running the Clearwater IMS. (By default this instance will be labelled Clearwater IMS.)

  • User 6505550425@example.com is used as an example.

1

When starting Twinkle for the first time, it will prompt you to create a user account.

  • Select Profile editor when prompted.

  • Enter a name of your choice.

  • Click OK.

Tip Access the Profile Editor after initial setup by selecting Edit ▶ User Profile…​.

twinkle1

2

Under the User tab:

  • Your Name: 6505550425

  • User Name: 6505550425

  • Domain: example.com

  • Realm: example

  • Authentication Name: 6505550425@example.com

  • Password: ec2oc-6505550425

twinkle2

3

Under the SIP server tab:

  • Use outbound proxy: true

  • Outbound proxy: <CLEARWATER_PUBLIC_IP>;transport=tcp

twinkle3

Zoiper

Zoiper runs on the Windows, Linux, Mac, Android, and iPhone platforms.

Below are instruction for configuring with Windows, Android, and iOS 7.

Tip

User 6505550425@example.com is used below as an example.

Use default values unless otherwise stated.

<CLEARWATER_PUBLIC_IP> should be substituted with the public IP of the EC2 instance that is running the Clearwater IMS. (By default this instance will be labelled Clearwater IMS.)

Windows configuration

1

Select Preferences from the Settings menu.

Tip If creating a new account, you will need to enter some of the settings below in the creation wizard rather than the main Preferences window.

zoiper1

2

Under Accounts / General:

SIP Account options

  • Domain: example.com

  • Username: 6505550425

  • Password: ec2oc-6505550425

  • Caller ID Name: 6505550425 (optional)

Outbound options

  • Auth. Username: 6505550425@example.com

  • Use Outbound Proxy: true

  • Outbound Proxy: <CLEARWATER_PUBLIC_IP>:5060

zoiper2

3

Under Accounts ▶ Advanced:

  • Use TCP transport: true

zoiper3

Android configuration

1

Go to Config ▶ Accounts ▶ Add Account ▶ SIP.

2

Enter the following details into the SIP Account screen:

Authentication

  • Host: example.com

  • Username: 6505550425

  • Password: ec2oc-6505550425

Optional (not actually optional!)

  • Authentication User: 6505550425@example.com

  • Outbound Proxy: <CLEARWATER_PUBLIC_IP>:5060

  • Caller ID Name: 6505550425 (this one is optional)

300

3

From the SIP Account screen, select Network Settings:

  • Transport Type: TCP

300

4

If set-up is successful, the new account will appear on the Config ▶ Accounts screen, with a green tick next to it.

Tip Tapping on the tick will allow you to deregister and register.

300

iOS 7 configuration

1

Go to Settings ▶ Accounts ▶ Add Account
(tap + in the upper-right corner of the screen) ▶ SIP account

2

Enter the following details into the SIP Account screen:

SIP options

  • Account name: a name for this SIP account (for example, OC VoLTE)

  • Domain: example.com

  • Username: 6505550425

  • Password: ec2oc-6505550425

  • Caller ID: 6505550425

Advanced Settings

  • Auth Username: 6505550425@example.com

  • Select Use Outbound Proxy

  • Outbound Proxy: <CLEARWATER_PUBLIC_IP>:5060

300

3

Under Additional Settings on the same screen:

  • Select Network Settings.

300

4

Select Transports type: TCP.

300

5

If set up is successful, the new account will appear on the Settings ▶ Accounts screen.

If registration is successful, selecting the account will show a Registration Status of OK, under which there is an Unregister button to un-register.

300

IMS Identities

Included IMS subscriptions

Several preconfigured IMS subscriptions are included in the VoLTE cloud environment for testing purposes.

IMS Subscription IMS Public Identity IMS Private Identity Domain Password
6505550335
sip:6505550335&#64;example.com
6505550335&#64;example.com
example.com
ec2oc&#8209;6505550335
6505550337
sip:6505550337&#64;example.com
6505550337&#64;example.com
example.com
ec2oc&#8209;6505550337
6505550386
sip:6505550386&#64;example.com
6505550386&#64;example.com
example.com
ec2oc&#8209;6505550386
6505550425
sip:6505550425&#64;example.com
6505550425&#64;example.com
example.com
ec2oc&#8209;6505550425
6505550201
sip:6505550201&#64;example.com
6505550201&#64;example.com
example.com
ec2oc&#8209;6505550201
6505550202
sip:6505550202&#64;example.com
6505550202&#64;example.com
example.com
ec2oc&#8209;6505550202
6505550203
sip:6505550203&#64;example.com
6505550203&#64;example.com
example.com
ec2oc&#8209;6505550203
6505550204
sip:6505550204&#64;example.com
6505550204&#64;example.com
example.com
ec2oc&#8209;6505550204
6505550205
sip:6505550205&#64;example.com
6505550205&#64;example.com
example.com
ec2oc&#8209;6505550205
6505550206
sip:6505550206&#64;example.com
6505550206&#64;example.com
example.com
ec2oc&#8209;6505550206
6505550207
sip:6505550207&#64;example.com
6505550207&#64;example.com
example.com
ec2oc&#8209;6505550207
6505550208
sip:6505550208&#64;example.com
6505550208&#64;example.com
example.com
ec2oc&#8209;6505550208
6505550209
sip:6505550209&#64;example.com
6505550209&#64;example.com
example.com
ec2oc&#8209;6505550209
6505550210
sip:6505550210&#64;example.com
6505550210&#64;example.com
example.com
ec2oc&#8209;6505550210

Viewing IMS subscription and identities

IMS Subscriptions and related identities can be viewed through the HSS Web Console.

1

Log in to the HSS web console.

Note See Basic Access for credentials to log in.

A Welcome page displays.

hss home

2

Click the User Identities link.

A User Identities page displays.

hss user identities

3

Click the Search link under IMS Subscriptions.

The Search page displays.

hss subscription search page

4

Click the Search button on the Subscription Search page.

Note The search button can be clicked without entering any text.

The Search Results page displays.

hss subscription search results

5

View a subscription within the results.

Note In the Search Results page, you can click a result to then view the subscription.

The Subscription page displays (in this example, IMS subscription '6505550425').

hss subscription view
Tip You can click links within the subscription (such as the IMS Private Identity (IMPI).
Tip
Viewing other aspects of IMS identities

In the IMS Identities page, there are three search menus you can use for more detail:

  • IMS Subscriptions (IMSUs)

  • IMS Private Identities (IMPIs)

  • IMS Public Identities (IMPUs).

Note
Adding new IMS subscriptions and identities

To add new IMS subscriptions and identities, see Adding a New User to the HSS.

Viewing transparent user data

Transparent user data can be stored in the HSS and accessed over the Diameter Sh interface. The OpenIMS HSS does not provide a view of transparent user data within its web console, but Sentinel VoLTE’s Rhino Element Manager does.

To view transparent user data:

1

Log into Rhino Element Manager (REM).

Tip For information about login credentials, see Basic Access.

2

Select Sentinel ▶ HSS Subscriber Data.

rem sentinel menu

The HSS Subscriber Data screen displays.

rem hss subscriber data

3

Enter an IMS Public User Identity (IMPU) in the IMS User Identity box, then click the Load button.

In this case, the IMPU sip:6505550425@example.com was entered.

rem sub data loaded

4

Check the ICB Rules line to see that the user has an Anonymous condition for Incoming Communication Barring.

Note Allow is set to false, which means anonymous callers are rejected.

Adding a New User to the HSS

Note As an example, this page shows how to add user 6505550411.

HSS configuration

To configure HSS:

1

Login to the HSS web console;
and navigate to the User Identities page.

login

2

Create the IMS:

  • Click IMS Subscription / Create.

  • Enter:

    • Name: 6505550411

    • Capabilities Set: cap_set1

    • Preferred S-CSCF: sprout

  • Click Save.

create imsu

3

Create the IMPI:

  • Click Private Identity / Create.

  • Enter:

    • Identity: 6505550411@example.com

    • Secret Key: random password — write it down!

    • Authentication Schemas: SIP Digest

    • Default: SIP Digest

  • Click Save.

create impi

4

Associate the IMPI to the IMSU:

  • Enter:

    • IMSU Identity: 6505550411

  • Click Add/Change.

  • Click Save.

associate impi imsu

5

Create the IMPU:

  • Click Public Identity / Create.

  • Enter:

    • Identity: sip:6505550411@example.com

    • Service Profile: default_sp

    • Charging-Info Set: default_charging_set

  • Click Save.

create impu

6

Associate IMPI to IMPU:

  • Enter:

    • IMPI Identity: 6505550411@example.com

  • Click Add.

associate impi imsu

7

Add Visited Network to IMPU:

  • Enter:

    • Visited Network: example.com

  • Click Add.

add visited network

OCS configuration

To configure OCS:

1

Login to VoLTE TAS and edit this file:
~/RhinoSDK/rhino-connectivity/diameter-2.6.0.7/simulators/ocs-simulator/config/accounts.xml

2

Add an entry for 65055500411; for example:

<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- this is a sample account file for the Billing simulator -->
<!DOCTYPE billing-simulator-accounts PUBLIC "-//Open Cloud Ltd.//DTD Billing Simulator Accounts 1.0//EN" "http://www.opencloud.com/dtd/billsim-accounts_1_0.dtd">
<billing-simulator-accounts>
<account>
<msisdn>sip:65055500411@example.com</msisdn>
<unlimited/>
</account>
<account>
<msisdn>sip:6505550335@example.com</msisdn>
<unlimited/>
</account>

3

Restart the OCS simulator:

ubuntu@ip-172-31-36-135:~/RhinoSDK/rhino-connectivity/diameter-2.6.0.7/simulators/ocs-simulator$ sudo /etc/init.d/ocs stop

ubuntu@ip-172-31-36-135:~/RhinoSDK/rhino-connectivity/diameter-2.6.0.7/simulators/ocs-simulator$ sudo /etc/init.d/ocs start

Add MMTel CDIV data in REM

To add MMTel CDIV data:

1

Login to the REM HSS Subscriber Data page.

hss subscriber data

2

Click HSS Data: Add,
and enter:
IMS user identity: sip:6505550411@example.com

add hss data

3

Set CDIV features.

Note For CDIV syntax, see Example CDIV rules

4

Set ACR rules.

Note For ACR syntax, see ACR rule example

5

Click Save.

add transparent data

MMTel Demonstrations

This section shows how to set up subscribers to see a variety of MMTel features in action.

Anonymous Calling

To see anonymous calling in action:

1

Start two UEs:

  • Register sip:6505550335@example.com

6505550335 registered

  • Register sip:6505550425@example.com

6505550425 registered

2

Make a call from sip:6505550335@example.com to sip:6505550425@example.com.

6505550335 calling

Note The incoming call is from 6505550335@example.com.

3

In REM, navigate to Sentinel / HSS Subscriber data OR XCAP…​.

4

Search for sip:6505550335@example.com.

5

Edit the HSS Data and set:

  • OIR Active: true

  • OIR Default Behaviour: presentation-restricted

6505550335 set OIR

6

Wait 30 seconds.

7

Make a call from sip:6505550335@example.com to sip:6505550425@example.com.

6505550335 anonymous call

The incoming call is Anonymous.

Anonymous Call Rejection

To see anonymous call rejection in action:

1

Start two UEs:

  • Register sip:6505550335@example.com

6505550335 registered zoiper

  • Register sip:6505550425@example.com

6505550425 registered

2

In REM, navigate to Sentinel / HSS Subscriber data.

3

Search for sip:6505550425@example.com.

4

Edit the HSS Data and set:

  • ICB Active: true

6505550425 set acr

5

Wait 30 seconds.

6

Make a call from sip:6505550335@example.com to sip:6505550425@example.com.

The incoming call is rejected.

6505550425 acr

CDIV No-Answer Scenario

To see the CDIV no-answer scenario in action:

1

Start a UE for each of:

  • sip:6505550335@example.com

  • sip:6505550337@example.com

  • sip:6505550425@example.com

For example:

6505550335 registered

2

Make a call
from sip:6505550335@example.com
to sip:6505550337@example.com

6505550335 calling
Note Note the incoming call.

3

Make a call
from sip:6505550335@example.com
to sip:6505550425@example.com

6505550425 6505550335 calling
Note Note the incoming call.

4

In REM:

  • Navigate to Sentinel ▶ HSS Subscriber data.

  • Search for sip:6505550337@example.com.

  • Edit the HSS Data.

    • Set CDIV Active to true.

6505550337 set cdiv true

5

Wait 30 seconds.

6

Make a call
from sip:6505550335@example.com
to sip:6505550337@example.com .

Important Don’t answer it. Leave it ringing for 30 seconds.

The incoming call to 6505550337 is diverted to 6505550425.

6505550335 call diverted

CDIV Unconditional Scenario

To see the CDIV unconditional scenario in action:

1

Start a UE for each of:

  • sip:6505550335@example.com

  • sip:6505550337@example.com

  • sip:6505550425@example.com

For example:

6505550335 registered

2

Make a call
from sip:6505550335@example.com
to sip:6505550386@example.com

6505550335 incoming call uncon
Note Note the incoming call.

3

In REM:

  • Navigate to Sentinel ▶ HSS Subscriber data.

  • Search for sip:6505550386@example.com.

  • Edit the HSS Data:

    • Set CDIV Active to true.

6505550386 set cdiv true

4

Wait 30 seconds.

5

Make a call
from sip:6505550335@example.com
to sip:6505550386@example.com.

Important Don’t answer it. Leave it ringing for 30 seconds.

The incoming call is automatically diverted to 6505550425.

6505550335 call diverted

CDIV Busy Scenario

To see the CDIV busy scenario in action:

1

Start a UE for each of:

  • sip:6505550335@example.com

Important Use Zoiper for sip:6505550335@example.com.
  • sip:6505550337@example.com

  • sip:6505550425@example.com.

For example:

6505550335 registered zoiper

2

In REM:

  • Navigate to Sentinel ▶ HSS Subscriber data.

  • Search for sip:6505550335@example.com.

  • Edit the HSS Data:

    • Set CDIV Active to true.

6505550335 set cdiv true

3

Wait 30 seconds.

4

Make a call
from sip:6505550386@example.com
to sip:6505550335@example.com.

zoiper incoming

5

Reject the call.

The call is automatically diverted to 6505550425@example.com.

6505550386 call busy diverted

IMS Configuration in HSS

IMS configuration is stored in HSS. This page shows which IMS components are stored where.

IMS subscription (IMSI)

Each subscriber has a IMS subscription which is linked to a preferred S-CSCF — Sprout.

imsi

Preferred S‑CSCF

The Preferred S-CSCF page can be reached from the network configuration page. The entry for Sprout points to the SIP URI of the S-CSCF.

preferred scscf

Default profile

Each of the subscribers in HSS is linked to the service profile default_sp. This service profile is linked to the two iFCs SipInvite and SipRegister.

As the name implies, the 'SipInvite' iFC is for INVITE initiated signalling, and 'SipRegister' is for REGISTER initiated signalling.

serviceprofile

Initial filter criteria

The iFCs SipInvite and SipRegister are linked to the VoLTE TAS via the Application Server definition Rhino_AS.

SipInvite:

ifc sipinvite

SipRegister:

ifc sipregister

Application server

The Application server entry for Rhino_AS provides the connection details for the VoLTE TAS server.

application server

Decommissioning the Cloud Environment

To decommission the VoLTE cloud environment, the EC2 the administrator needs to:

1

Login to the AWS console.

2

Terminate:

  • the Sentinel Volte TAS instance

  • the OpenIMS HSS instance

  • the Clearwater IMS instance.

3

Delete:

  • the associated volumes

  • the associated snapshots

  • the security group

  • the key pair.