User Tools

Site Tools


vIMS Functional Testing

This page describes a proposal to perform a functional test of the OPNFV platform in Release 1 by deploying a virtualized IP Multimedia Subsystem (vIMS), configuring it to deliver services to a set of emulated SIP endpoints, deploying a virtualized test system that implements those emulated SIP endpoints, and performing a series of simple functional tests on the vIMS, including the ability to establish SIP sessions between emulated endpoints.

All of these steps will be fully automated such that they can be called from a Jenkins script, thereby enabling this functional test to be included if appropriate in the Continuous Integration process.

This functional test will verify that

  • The OpenStack Nova API can be called to instantiate a set of VMs that together comprise a vIMS network function
  • The OpenStack Glance service is capable of serving up the required images
  • The virtual networking component of the platform can provide working IP connectivity between and among the VMs
  • The platform as a whole is capable of supporting the running of a real virtualized network function that delivers a typical service offered by a network operator, i.e. voice telephony

Functional testing of vIMS in OPNFV Release 1 will be limited to a basic, non-scalable and non-fault-tolerant deployment of IMS. Furthermore, in this release the vIMS will perform only control plane functions (i.e. processing of SIP signaling messages) and will not be passing RTP media streams.

In future releases, the same software elements can be deployed with multiple instances of each VNF component to provide a fault tolerant and dynamically scalable deployment of IMS. With the addition of virtualized Session Border Controller software elements, the scope of vIMS functional testing can be further expanded to include the handling of RTP media.

Software Components of the vIMS

The software components to be deployed as the VNF, and the software that performs the functional testing of the VNF, are all open source. They form part of Project Clearwater. The following software elements will be deployed for the purposes of the vIMS functional test:

  • Bono - SIP edge proxy, corresponds to Proxy Call Session Control Function (P-CSCF) in IMS terminology.
  • Sprout - SIP registrar and message router. Together with Homestead, corresponds to Interrogating CSCF (I-CSCF) and Serving CSCF (S-CSCF) in IMS terminology.
  • Homestead - repository of subscriber credentials and service profiles.
  • Homer - repository of subscriber-controlled call service setttings.
  • Ellis - provides a provisioning API enabling subscribers to be configured in Homestead and Homer.
  • Clearwater-live-test - emulates SIP endpoints to enable automated functional testing of vIMS.
  • BIND - provides a DNS server to enable the components of Clearwater to find each other.

Each of these components will be instantiated as a single virtual machine.

Networking Requirements

All of the software components listed above need to be able to connect to each via IP. There are no other specific networking requirements. It does not matter how the IP connectivity is provided, i.e. whether it uses VLAN, VXLAN, GRE etc.

Deployment and Test Process

We will use OpenStack Heat to automate the deployment of the vIMS and test components, via the following steps:

  • Heat will call Nova to instantiate the required number of VMs, with Ubuntu as their base OS, using a set of Heat templates
  • Cloud-init will perform first-stage initialization of the VMs
  • We will run chef-solo on each node to pull in the required Clearwater packages and configure them

Once the VMs are all up and running, Clearwater-live-test will provision a small number of subscribers on the vIMS. Essentially this involves injecting pairs of SIP identity and password into the Homestead and Homer repositories via the API exposed by Ellis.

Clearwater-live-test will then perform a set of functional tests. At the least, these tests will include:

  • Performing registration of SIP endpoints with the vIMS
  • Establishing SIP dialogs between and among pairs of SIP endpoints

Finally, Clearwater-live-test will report success or failure of these tests.

vims_functional_testing.txt · Last modified: 2015/04/10 09:06 by Martin Taylor