summaryrefslogtreecommitdiffstats
path: root/nokiav2
diff options
context:
space:
mode:
Diffstat (limited to 'nokiav2')
-rw-r--r--nokiav2/docs/intro.rst4
-rw-r--r--nokiav2/docs/onboarding.rst462
-rw-r--r--nokiav2/docs/sampleVnfs/simple/simple.csarbin12133 -> 11484 bytes
-rw-r--r--nokiav2/docs/sampleVnfs/simple/vfc.nslcm.scaledata.json41
-rw-r--r--nokiav2/docs/sampleVnfs/simpleDual/vfc.nslcm.scaledata.json41
-rw-r--r--nokiav2/docs/sampleVnfs/simple_cmcc/cbam.instantiation.request.json3
-rw-r--r--nokiav2/docs/sampleVnfs/simple_cmcc/simple.csarbin12133 -> 11484 bytes
-rw-r--r--nokiav2/docs/sampleVnfs/simple_cmcc/vfc.ns.create.request.json2
-rw-r--r--nokiav2/docs/sampleVnfs/simple_cmcc/vfc.nslcm.scaledata.json41
-rw-r--r--nokiav2/docs/samplevnf.rst27
10 files changed, 544 insertions, 77 deletions
diff --git a/nokiav2/docs/intro.rst b/nokiav2/docs/intro.rst
index fb7678f9..0972bfdb 100644
--- a/nokiav2/docs/intro.rst
+++ b/nokiav2/docs/intro.rst
@@ -42,4 +42,6 @@ Supported features
- L3 networks
- - logical interfaces \ No newline at end of file
+ - logical interfaces
+
+ - Supported CBAM versions: 17.5 SP1, 17.5 SP2, 17.5 MP1, 18.0, 18.5 \ No newline at end of file
diff --git a/nokiav2/docs/onboarding.rst b/nokiav2/docs/onboarding.rst
index 4abf8faf..3380e438 100644
--- a/nokiav2/docs/onboarding.rst
+++ b/nokiav2/docs/onboarding.rst
@@ -1,150 +1,468 @@
-Onboard NS
-==========
+On-board NS
+===========
+
+The following section describes how to create an E2E service.
Create licensing model
----------------------
+The following section will create a license model. The license model is required for onboarding a VNF.
- Log into ONAP portal with designer role (cs0008)
- - Create License model
+- Select SDC from the application
+
+- Select ONBOARD
+
+- Click on CREATE NEW VLM
+
+- Specify the name of the license <licenseName>
+
+- Specify the description of the license
+
+- Select Entitlement pools from left
+
+- Click on ADD ENTITLEMENT POOL on right
+
+ - Specify the name (can be anything)
+
+ - Click on SAVE
+
+- Select License key groups from left
+
+- Click on ADD LICENSE KEY GROUP
+
+ - Specify the name (can be anything)
+
+ - Select universal type
+
+ - Click on SAVE
+
+- Select Feature groups from left
+
+- Click on ADD FEATURE GROUP
+
+ - Specify the name (can be anything) <featureGroup>
+
+ - Set 123456 as part number
+
+ - Set 123456 as manufacturer reference number
+
+ - Click on entitlement pools in middle
- - ONBOARD / Create new VLM
+ - Add previously created entitlement pool with arrow button
- - name = select a name easy to remember
+ - Click on license key groups in middle
- - Entitlement pool / add new Entitlement pool
+ - Add previously created license key group with arrow button
- - name = any
+ - Click on SAVE
- - License key group / add new license key group
+- Select License agreements from left
- - name = any
+- Click on ADD LICENSE AGREEMENT on right
- - type = universal
+ - Specify the name (can be anything)
- - Feature groups / add feature group
+ - Select unlimited license term
- - name = any
+ - Click on feature groups
- - part number = 123456
+ - Add previously created feature group with arrow button
- - manufacturer reference number = 123456
+- Click on the submit button on top right
- - entitlement pool (add any with arrow button)
+Prepare the ETSI configuration JSON
+-----------------------------------
- - license key group (add any with arrow button)
+The ETSI configuration of VF is the information gap that is required to instantiate a VNF, but this information is not
+provided by the VF-C component to the VNFM. The ETSI configuration is a JSON serialized into a string, which is specified
+as a VF property during VF design time.
- - save
+The JSON has the following root elements:
- - License agreements / Add license agreement
+- vimType: The type of the VIM
- - name = any
+- instantiationLevel: The initial instantiation level of the VNF.
- - license term unlimited
+- computeResourceFlavours: The collection of compute flavors.
- - feature groups (add any with arrow button)
+- zones: The collection of availability zones.
- - Check in (lock icon at top)
+- softwareImages: The collection of software images.
+
+- extManagedVirtualLinks: The collection of externally managed virtual links.
+
+- externalConnectionPointAddresses: Addresses of the external connection points.
+
+- extVirtualLinks: The collection of external virtual links.
+
+- extensions: The collection of VNF properties
+
+- additionalParams: Additional parameters passed during instantiation to the VNFM.
+
+- domain: The domain of the OpenStack cloud (only available in Amsterdam)
- - Submit (tick icon at top)
On-board VNF
------------
- - On-board / Create new VSP (vendor software package)
+The following section requires the CSAR and the ETSI configuration of the VNF to be available as a prerequisite.
- - Create VSP
+- Log into ONAP portal with designer role (cs0008)
- - name = select a name easy to remember
+- Select SDC from the application
- - vendor = name of the license model
+- Select ONBOARD
- - category = Database (IMPORTANT NOT TO CHANGE THIS (linked to the global customer))
+- Click on CREATE NEW VSP
- - onboarding procedure = network package
+ - Specify a the name of the VNF <vnfPackageName> (ex. vnf_simple_20180526_1)
- - description = any
+ - Select the previously created license model as vendor
- - Upload CSAR
+ - Select Database (General) for the category. It is important to select a category that has been linked to the customer.
- - overview / software product attachments / select file
+ - Select network package for onboarding procedure
- - Select licence
+ - Specify description
- - overview / software product details / license agreement
+ - Click on CREATE
- - licenses
+- Click on SELECT FILE from SOFTWARE PRODUCT ATTACHMENTS and upload the CSAR file
- - set license version, license agreement, feature groups
+- Click on General on the left
- - click on save icon at top
+ - Select 1.0 as for licensing version under LICENSES
- - commit & submit using icons at top
+ - Select the previously created license agreement <licenseName>
- - Create VF
+ - Select the previously created feature group <featureGroup>
- - home / import / import vsp (select VSP from list)
+ - Click on save icon at top right
- - set General / Vendor model number to CBAM package VNFD ID
+ - Click on Submit icon at top right
- - set sVNFM property assignment / inputs / nf_type set NokiaSVNFM
+- Select HOME using the small arrow left from ONBOARD at top
- - commit
+- Hoover over the import icon and select Import VSP
- - submit for testing
+- Select the created VSP from the list by name <vnfPackageName>
- - Test VF
+- Click on import VSP icon
- - Log in as tester role
+ - Set the CBAM VNF package identifier as the Vendor model number on left bottom
- - Select VF
+ - Click on create on top right
- - Start testing button
+- Click on Properties assignment on left
- - Accept testing
+ - Click on Inputs
-Design network service
-----------------------
+ - Specify NokiaSVNFM for the nf_type property
+
+ - Specify the ETSI configuration JSON for the etsi_config property
+
+ - Click on Save on the middle
+
+- Click on Check in
+
+- Search for the created VNF using the search box at top right <vnfPackageName>
+
+- Click on the VF
+
+- Click on submit for testing at top right
+
+- Log out using the small person icon at top right
+
+- Log in with tester role (jm0007)
+
+- Select SDC from the application
+
+- Search for the created VNF using the search box at top right <vnfPackageName>
+
+- Click on Start testing
+
+- Click on Accept
+
+- Log out using the small person icon at top right
+
+
+Design a network service
+------------------------
+
+The following section design a network service. The prerequisite is that the tested VF package is available.
+
+- Log into ONAP portal with designer role (cs0008)
+
+- Select SDC from the application
+
+- Select HOME
+
+- Hoover over the Add icon and select add service
+
+ - Specify the name of the network service <nsName> (ex. ns_simple_20180526_1)
+
+ - Specify 123456 ad project code
+
+ - Specify description
+
+ - Select Network Service for the category
+
+ - If the network service is missing from the list
+
+ - Log in as demo user and select SDC
+
+ - Click on Create
+
+ - Click on Composition at left
+
+ - Search for the created VF using the search box at top left <vnfPackageName>
+
+ - Drag the VF icon to middle
+
+ - Wait for the icon to appear at the middle (only drag once)
+
+ - Click on the icon on the middle
+
+ - Click on very small pencil icon at top right
+
+ - Specify the name of the VF
+
+ - Click on check in
+
+ - Search for the created NS using the search box at top right <nsName>
+
+ - Click on the NS icon
+
+ - Click on Submit for testing
+
+- Log out using the small person icon at top right
+
+- Log in with tester role (jm0007)
+
+ - Select SDC from the application
+
+ - Search for the created VNF using the search box at top right <vnfPackageName>
+
+ - Click on Start testing
+
+ - Click on Accept
+
+ - Log out using the small person icon at top right
+
+- Log in with tester role (gv0001)
+
+ - Select SDC from the application
+
+ - Search for the created VNF using the search box at top right <vnfPackageName>
+
+ - Click on Approve on top right
+
+ - Log out using the small person icon at top right
+
+- Log in with operation role (op0001)
+
+ - Select SDC from the application
+
+ - Search for the created VNF using the search box at top right <vnfPackageName>
+
+ - Click on Distribute on top right
+
+ - Click on monitor in an order to verify that the distribution was successful
+
+ - Click on the small arrow next to the Distribution ID
+
+ - The list should contain at least two lines staring with sdc and aai-ml
+
+ - If the list does not contain enough elements it can be refreshed with the small icon at middle right
+
+ - Each of the two lines should contain a green check sign next to Deployed
+
+ - Log out using the small person icon at top right
+
+
+
+Design a VF for the E2E service
+-------------------------------
+
+This step is only required if the UUI is planed to be used to manage the E2E service. The VF of the E2E service is
+a wrapper to be able to treat the created NS as a VF. The prerequisite of this step is that the network service was
+successfully distributed.
+
+- Determine the UUIDs of the created NS in previous step
+
+ - Using a REST client of your choice, send a request to the following URL: https://sdc.api.simpledemo.onap.org:8443/sdc/v1/catalog/services
+
+ - HTTP method: GET
+
+ - Set the following values in the Header of the request:
+
+ - basic auth SDC:SDC
+
+ - X-ECOMP-InstanceID: VFC
+
+ - Accept: application/json
+
+ - Search for the created service by name <nsName> and note the uuid and invariantUUID fields
+
+- Log in with designer role (cs0008)
+
+ - Select SDC from the application
+
+ - Select HOME
+
+ - Hoover over the Add icon and select add VF
+
+ - Specify the name of the VF <vfForNsName> (ex. vf_for_ns_simple_20180526_1_vIMS)
+
+ - the name must contain the vIMS character sequence (even if this is not an IMS)
+
+ - Specify something for the Vendor
+
+ - Specify any numeric value for the Vendor Release
+
+ - Specify something for description
+
+ - Select Network Service for the category
+
+ - Click on Create on top right
+
+ - Click on Composition at left
+
+ - Search for the NSD using the search box at top left
+
+ - Drag the NSD icon to middle
+
+ - Wait for the icon to appear at the middle (only drag once)
+
+ - Click on the icon on the middle
+
+ - Click on very small pencil icon at top right
+
+ - Specify the name of the NSD (ex. firstNsd ) <nsdName>
+
+ - Click on the name of the VF next to HOME at top
+
+ - Select Properties Assignment
+
+ - Select the check box before providing_service_uuid and providing_service_invariant_uuid properties
+
+ - Click on Declare at right
+
+ - Click on Inputs at middle
+
+ - Specify the UUID of the service (that was determined in previous step) for the <nsdName>_providing_service_uuid property
+
+ - Specify the invariant UUID of the service (that was determined in previous step) for the <nsdName>_providing_service_invariant_uuid property
+
+ - Click on Save
+
+ - Click on Check in
+
+ - Search for the created VF using the search box at top right <vfForNsName>
+
+ - Click on the VF icon
+
+ - Click on Submit for testing
+
+- Log out using the small person icon at top right
+
+- Log in with tester role (jm0007)
+
+ - Select SDC from the application
+
+ - Search for the created VNF using the search box at top right <vfForNsName>
+
+ - Click on Start testing
+
+ - Click on Accept
+
+ - Log out using the small person icon at top right
+
+
+Design a E2E service
+--------------------
+
+This step is only required if the UUI is planed to be used to manage the E2E service. The prerequisite of this step is that the VF
+wrapping the network service is tested.
+
+- Log in with designer role (cs0008)
+
+ - Select SDC from the application
+
+ - Select HOME
+
+ - Hoover over the Add icon and select add Service
+
+ - Specify the name of the NS <e2eNsName> (ex. e2e_simple_20180526_1)
+
+ - Specify any numeric value for the Project Code
+
+ - Specify something for description
+
+ - Select E2E Service for the category
+
+ - Click on Create on top right
+
+ - Click on Composition at left
+
+ - Search for the created VF using the search box at top left <vfForNsName>
+
+ - Drag the VF icon to middle
+
+ - Wait for the icon to appear at the middle (only drag once)
+
+ - Click on the name of the NS next to HOME at top
+
+ - Click on Check in
+
+ - Search for the created NS using the search box at top right <e2eNsName>
+
+ - Click on the NS icon
+
+ - Click on Submit for testing
+
+- Log out using the small person icon at top right
- - Create Service
+- Log in with tester role (jm0007)
- - Log in with designer role (cs0008)
+ - Select SDC from the application
- - home / add / add service
+ - Search for the created NS using the search box at top right <e2eNsName>
- - name = select a name easy to remember
+ - Click on Start testing
- - project code = 123456
+ - Click on Accept
- - Check in & check out (required to save a safe point to restore to if something goes wrong)
+ - Log out using the small person icon at top right
- - Add created VF (Composition)
+- Log in with tester role (gv0001)
- - drag icon to main picture (be patient only drag once, if multiple icons appear restart procedure )
+ - Select SDC from the application
- - Check in
+ - Search for the created VNF using the search box at top right <e2eNsName>
- - Open service again and verify that the VF is part of the service under composition
+ - Click on Approve on top right
- - Submit for testing
+ - Log out using the small person icon at top right
- - Test Service
+- Log in with operation role (op0001)
- - Log in with tester role (jm0007)
+ - Select SDC from the application
- - start testing & accept
+ - Search for the created VNF using the search box at top right <e2eNsName>
- - Approve service
+ - Click on Distribute on top right
- - Log in with governance role (gv0001)
+ - Click on monitor in an order to verify that the distribution was successful
- - Select service and press approve
+ - Click on the small arrow next to the Distribution ID
- - Distribute the service
+ - The list should contain at least two lines staring with sdc and aai-ml
- - Log in with operations role (op0001)
+ - If the list does not contain enough elements it can be refreshed with the small icon at middle right
- - Select service and push distribute
+ - Each of the two lines should contain a green check sign next to Deployed
- - Click on monitor (verify that the state of the service is distributed)
+ - Log out using the small person icon at top right
diff --git a/nokiav2/docs/sampleVnfs/simple/simple.csar b/nokiav2/docs/sampleVnfs/simple/simple.csar
index a3726c19..bdea8ad8 100644
--- a/nokiav2/docs/sampleVnfs/simple/simple.csar
+++ b/nokiav2/docs/sampleVnfs/simple/simple.csar
Binary files differ
diff --git a/nokiav2/docs/sampleVnfs/simple/vfc.nslcm.scaledata.json b/nokiav2/docs/sampleVnfs/simple/vfc.nslcm.scaledata.json
new file mode 100644
index 00000000..9933aeba
--- /dev/null
+++ b/nokiav2/docs/sampleVnfs/simple/vfc.nslcm.scaledata.json
@@ -0,0 +1,41 @@
+{
+ "scale_options": [
+ {
+ "nsd_id": "94362600-0219-483e-bf23-e92a705dbc2a",
+ "ns_scale_aspect": "NS_LEVEL_ASPECT",
+ "ns_scale_info": [
+ {
+ "step": 1,
+ "vnf_scale_info": [
+ {
+ "vnfd_id": "b635ce2f-7ca4-49eb-8bd4-fdef54cde950",
+ "vnf_scaleAspectId": "simpleAspect",
+ "numberOfSteps": "1"
+ }
+ ]
+ },
+ {
+ "step": 2,
+ "vnf_scale_info": [
+ {
+ "vnfd_id": "b635ce2f-7ca4-49eb-8bd4-fdef54cde950",
+ "vnf_scaleAspectId": "simpleAspect",
+ "numberOfSteps": "2"
+ }
+ ]
+ },
+ {
+ "step": 3,
+ "vnf_scale_info": [
+ {
+ "vnfd_id": "b635ce2f-7ca4-49eb-8bd4-fdef54cde950",
+ "vnf_scaleAspectId": "simpleAspect",
+ "numberOfSteps": "1"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
+
diff --git a/nokiav2/docs/sampleVnfs/simpleDual/vfc.nslcm.scaledata.json b/nokiav2/docs/sampleVnfs/simpleDual/vfc.nslcm.scaledata.json
new file mode 100644
index 00000000..9933aeba
--- /dev/null
+++ b/nokiav2/docs/sampleVnfs/simpleDual/vfc.nslcm.scaledata.json
@@ -0,0 +1,41 @@
+{
+ "scale_options": [
+ {
+ "nsd_id": "94362600-0219-483e-bf23-e92a705dbc2a",
+ "ns_scale_aspect": "NS_LEVEL_ASPECT",
+ "ns_scale_info": [
+ {
+ "step": 1,
+ "vnf_scale_info": [
+ {
+ "vnfd_id": "b635ce2f-7ca4-49eb-8bd4-fdef54cde950",
+ "vnf_scaleAspectId": "simpleAspect",
+ "numberOfSteps": "1"
+ }
+ ]
+ },
+ {
+ "step": 2,
+ "vnf_scale_info": [
+ {
+ "vnfd_id": "b635ce2f-7ca4-49eb-8bd4-fdef54cde950",
+ "vnf_scaleAspectId": "simpleAspect",
+ "numberOfSteps": "2"
+ }
+ ]
+ },
+ {
+ "step": 3,
+ "vnf_scale_info": [
+ {
+ "vnfd_id": "b635ce2f-7ca4-49eb-8bd4-fdef54cde950",
+ "vnf_scaleAspectId": "simpleAspect",
+ "numberOfSteps": "1"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
+
diff --git a/nokiav2/docs/sampleVnfs/simple_cmcc/cbam.instantiation.request.json b/nokiav2/docs/sampleVnfs/simple_cmcc/cbam.instantiation.request.json
deleted file mode 100644
index 0e0dcd23..00000000
--- a/nokiav2/docs/sampleVnfs/simple_cmcc/cbam.instantiation.request.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-
-} \ No newline at end of file
diff --git a/nokiav2/docs/sampleVnfs/simple_cmcc/simple.csar b/nokiav2/docs/sampleVnfs/simple_cmcc/simple.csar
index 48a38b8e..bdea8ad8 100644
--- a/nokiav2/docs/sampleVnfs/simple_cmcc/simple.csar
+++ b/nokiav2/docs/sampleVnfs/simple_cmcc/simple.csar
Binary files differ
diff --git a/nokiav2/docs/sampleVnfs/simple_cmcc/vfc.ns.create.request.json b/nokiav2/docs/sampleVnfs/simple_cmcc/vfc.ns.create.request.json
index d6e9d2dc..eea9b728 100644
--- a/nokiav2/docs/sampleVnfs/simple_cmcc/vfc.ns.create.request.json
+++ b/nokiav2/docs/sampleVnfs/simple_cmcc/vfc.ns.create.request.json
@@ -1,6 +1,6 @@
{
"nsName": "simple_20180517_1",
- "csarId": "58b0320f-f4f1-421f-ba38-2dda1f2d6484",
+ "csarId": "9a1a4b1b-58fa-446c-b86c-829b4bce9d80",
"context": {
"globalCustomerId" : "Demonstration",
"serviceType" : "Database"
diff --git a/nokiav2/docs/sampleVnfs/simple_cmcc/vfc.nslcm.scaledata.json b/nokiav2/docs/sampleVnfs/simple_cmcc/vfc.nslcm.scaledata.json
new file mode 100644
index 00000000..9933aeba
--- /dev/null
+++ b/nokiav2/docs/sampleVnfs/simple_cmcc/vfc.nslcm.scaledata.json
@@ -0,0 +1,41 @@
+{
+ "scale_options": [
+ {
+ "nsd_id": "94362600-0219-483e-bf23-e92a705dbc2a",
+ "ns_scale_aspect": "NS_LEVEL_ASPECT",
+ "ns_scale_info": [
+ {
+ "step": 1,
+ "vnf_scale_info": [
+ {
+ "vnfd_id": "b635ce2f-7ca4-49eb-8bd4-fdef54cde950",
+ "vnf_scaleAspectId": "simpleAspect",
+ "numberOfSteps": "1"
+ }
+ ]
+ },
+ {
+ "step": 2,
+ "vnf_scale_info": [
+ {
+ "vnfd_id": "b635ce2f-7ca4-49eb-8bd4-fdef54cde950",
+ "vnf_scaleAspectId": "simpleAspect",
+ "numberOfSteps": "2"
+ }
+ ]
+ },
+ {
+ "step": 3,
+ "vnf_scale_info": [
+ {
+ "vnfd_id": "b635ce2f-7ca4-49eb-8bd4-fdef54cde950",
+ "vnf_scaleAspectId": "simpleAspect",
+ "numberOfSteps": "1"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
+
diff --git a/nokiav2/docs/samplevnf.rst b/nokiav2/docs/samplevnf.rst
index 6a4717e0..dd6efdbe 100644
--- a/nokiav2/docs/samplevnf.rst
+++ b/nokiav2/docs/samplevnf.rst
@@ -10,10 +10,36 @@ Simple
- NS instantiation request on VF-C API :download:`instantiate.json <sampleVnfs/simple/vfc.ns.instantiation.request.json>` (several fields must be changed to fit actual environment)
+- NS instantiation request on VF-C API when ETSI config is not supplied: download:`instantiate.json <sampleVnfs/simple/vfc.ns.instantiation.request.json>` (several fields must be changed to fit actual environment)
+
+- E2E scaling data: :download:`instantiate.json <sampleVnfs/simple/vfc.ns.instantiation.request.direct.json>` (several fields must be changed to fit actual environment)
+
- NS heal request on VF-C API: :download:`heal.json <sampleVnfs/simple/vfc.ns.heal.request.json>` (several fields must be changed to fit actual environment)
- VNF scale request on VF-C API: :download:`scale.json <sampleVnfs/simple/vfc.vnf.scale.request.json>` (several fields must be changed to fit actual environment)
+Simple CMCC
+-----------
+
+The Simple VNF altered to suite the CMCC lab environment (no support for floating IPs)
+
+- CSAR: :download:`csar <sampleVnfs/simple_cmcc/simple.csar>`
+
+- ETSI configuration: :download:`csar <sampleVnfs/simple_cmcc/etsi_config.json>`
+
+- NS creation request on VF-C API :download:`create.json <sampleVnfs/simple_cmcc/vfc.ns.create.request.json>` (several fields must be changed to fit actual environment)
+
+- NS instantiation request on VF-C API :download:`instantiate.json <sampleVnfs/simple_cmcc/vfc.ns.instantiation.request.direct.json>` (several fields must be changed to fit actual environment)
+
+- NS instantiation request on VF-C API when ETSI config is not supplied: download:`instantiate.json <sampleVnfs/simple_cmcc/vfc.ns.instantiation.request.json>` (several fields must be changed to fit actual environment)
+
+- E2E scaling data: :download:`instantiate.json <sampleVnfs/simple_cmcc/vfc.ns.instantiation.request.direct.json>` (several fields must be changed to fit actual environment)
+
+- NS heal request on VF-C API: :download:`heal.json <sampleVnfs/simple_cmcc/vfc.nslcm.scaledata.json>` (several fields must be changed to fit actual environment)
+
+- VNF scale request on VF-C API: :download:`scale.json <sampleVnfs/simple_cmcc/vfc.vnf.scale.request.json>` (several fields must be changed to fit actual environment)
+
+
Simple Dual
-----------
@@ -27,6 +53,7 @@ Simple Dual
- VNF scale request on VF-C API: :download:`scale.json <sampleVnfs/simpleDual/vfc.vnf.scale.request.json>` (several fields must be changed to fit actual environment)
+
VOLTE IMS
---------