User Tools

Site Tools


vims_functional_testing

This is an old revision of the document!


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 and Media Resource Function software elements, the scope of vIMS functional testing can be 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 http://www.projectclearwater.org. 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 and Serving 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-framework - emulates SIP endpoints to enable automated functional testing of vIMS

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

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
  • Cloud-init will perform first-stage initialization of the VMs
  • We will run chef-solo https://docs.chef.io/chef_solo.html on each node to pull in the required Clearwater packages and configure them

We will provide a script that provisions 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.

The script will then kick off the functional tests performed by Clearwater-live-test-framework. This element will report success or failure of the tests.

vims_functional_testing.1426258464.txt.gz · Last modified: 2015/03/13 14:54 by Martin Taylor