From cbf303ec56a1e59d87cf15ba98c6626fa6a03c03 Mon Sep 17 00:00:00 2001 From: =?utf8?q?C=C3=A9dric=20Ollivier?= Date: Fri, 15 Jun 2018 08:19:18 +0200 Subject: [PATCH] Remove cloudify_ims_perf MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit All that modules are uncovered, unverified and deprecated. They will be safely reverted as soon as they are updated, verified by gates and unit tests are added. Change-Id: Iac0893f9f0ccb485d91cd17305e744aff9bf9414 Signed-off-by: Cédric Ollivier (cherry picked from commit cd8edb720d2e72842c35e9d6271fc81e6717679d) --- docs/testing/user/userguide/test_details.rst | 30 - docs/testing/user/userguide/test_overview.rst | 15 - functest/opnfv_tests/vnf/ims/cloudify_ims_perf.py | 498 - .../opnfv_tests/vnf/ims/cloudify_ims_perf.yaml | 89 - functest/opnfv_tests/vnf/ims/ixia/__init__.py | 0 .../ims/ixia/files/REG_CALL_OPNFV_v13.rxf.template | 16731 ------------------- .../vnf/ims/ixia/files/Registration_only_LPS.tst | Bin 491520 -> 0 bytes .../opnfv_tests/vnf/ims/ixia/files/SIPCall.tst | Bin 573440 -> 0 bytes .../vnf/ims/ixia/utils/IxChassisUtils.py | 150 - .../opnfv_tests/vnf/ims/ixia/utils/IxLoadUtils.py | 399 - .../opnfv_tests/vnf/ims/ixia/utils/IxRestUtils.py | 193 - .../opnfv_tests/vnf/ims/ixia/utils/__init__.py | 0 12 files changed, 18105 deletions(-) delete mode 100644 functest/opnfv_tests/vnf/ims/cloudify_ims_perf.py delete mode 100644 functest/opnfv_tests/vnf/ims/cloudify_ims_perf.yaml delete mode 100644 functest/opnfv_tests/vnf/ims/ixia/__init__.py delete mode 100644 functest/opnfv_tests/vnf/ims/ixia/files/REG_CALL_OPNFV_v13.rxf.template delete mode 100644 functest/opnfv_tests/vnf/ims/ixia/files/Registration_only_LPS.tst delete mode 100644 functest/opnfv_tests/vnf/ims/ixia/files/SIPCall.tst delete mode 100644 functest/opnfv_tests/vnf/ims/ixia/utils/IxChassisUtils.py delete mode 100644 functest/opnfv_tests/vnf/ims/ixia/utils/IxLoadUtils.py delete mode 100644 functest/opnfv_tests/vnf/ims/ixia/utils/IxRestUtils.py delete mode 100644 functest/opnfv_tests/vnf/ims/ixia/utils/__init__.py diff --git a/docs/testing/user/userguide/test_details.rst b/docs/testing/user/userguide/test_details.rst index e42234623..688b67431 100644 --- a/docs/testing/user/userguide/test_details.rst +++ b/docs/testing/user/userguide/test_details.rst @@ -380,36 +380,6 @@ The Clearwater architecture is described as follows: :alt: vIMS architecture -cloudify_ims_perf -^^^^^^^^^^^^^^^^^ -This testcase extends the cloudify_ims test case. -The first part is similar but the testing part is different. -The testing part consists in automating a realistic signaling load on the vIMS -using an Ixia loader (proprietary tools) - - - You need to have access to an Ixia licence server defined in the - configuration file and have ixia image locally. - -This test case is available but not declared in testcases.yaml. The declaration -of the testcase is simple, connect to your functest-vnf docker, add the -following section in -/usr/lib/python2.7/site-packacges/functest/ci/testcases.yaml:: - - - - case_name: cloudify_ims_perf - project_name: functest - criteria: 80 - blocking: false - description: >- - Stress tests based on Cloudify. Ixia loader images and access to Ixia - server license. - dependencies: - installer: '' - scenario: 'os-nosdn-nofeature-ha' - run: - module: 'functest.opnfv_tests.vnf.ims.cloudify_ims_perf' - class: 'CloudifyImsPerf' - vyos-vrouter ^^^^^^^^^^^^ This test case deals with the deployment and the test of vyos vrouter with diff --git a/docs/testing/user/userguide/test_overview.rst b/docs/testing/user/userguide/test_overview.rst index 934b8d9b6..e8fee5e56 100644 --- a/docs/testing/user/userguide/test_overview.rst +++ b/docs/testing/user/userguide/test_overview.rst @@ -155,21 +155,6 @@ validate the scenario for the release. | | | | Technical Specs and are executed | | | | | through protocol drivers provided| | | | | by ABot. | -| | +------------+----------------------------------+ -| | | cloudify | Based on cloudify_ims test case | -| | | \_ims_perf | cloudify_ims_perf substitutes | -| | | | the signaling test suite by an | -| | | | automatic deployment of an Ixia | -| | | | loader and generic SIP stress | -| | | | tests. | -| | | | This work has been initiated | -| | | | during the plugfest and allows | -| | | | realistic load tests on top of | -| | | | cloudify_ims. Please note that | -| | | | this test is available but not | -| | | | declared in testcases.yaml as it | -| | | | requires access to proprietary | -| | | | resources (Ixia loader) | +-------------+---------------+------------+----------------------------------+ diff --git a/functest/opnfv_tests/vnf/ims/cloudify_ims_perf.py b/functest/opnfv_tests/vnf/ims/cloudify_ims_perf.py deleted file mode 100644 index 37148c918..000000000 --- a/functest/opnfv_tests/vnf/ims/cloudify_ims_perf.py +++ /dev/null @@ -1,498 +0,0 @@ -#!/usr/bin/env python - -# Copyright (c) 2017 Orange, IXIA and others. -# -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Apache License, Version 2.0 -# which accompanies this distribution, and is available at -# http://www.apache.org/licenses/LICENSE-2.0 - -"""CloudifyImsPerf testcase implementation.""" - -import logging -import os -import time - -import json -import yaml -import paramiko -import dns.resolver -from jinja2 import Environment, FileSystemLoader -from snaps.config.flavor import FlavorConfig -from snaps.config.image import ImageConfig -from snaps.config.network import NetworkConfig, PortConfig, SubnetConfig -from snaps.config.router import RouterConfig -from snaps.config.security_group import ( - Direction, Protocol, SecurityGroupConfig, SecurityGroupRuleConfig) -from snaps.config.vm_inst import FloatingIpConfig, VmInstanceConfig -from snaps.openstack.create_flavor import OpenStackFlavor -from snaps.openstack.create_instance import OpenStackVmInstance -from snaps.openstack.create_network import OpenStackNetwork -from snaps.openstack.create_router import OpenStackRouter -from snaps.openstack.create_security_group import OpenStackSecurityGroup -from xtesting.energy import energy - -from functest.opnfv_tests.openstack.snaps import snaps_utils -from functest.opnfv_tests.vnf.ims import cloudify_ims -from functest.opnfv_tests.vnf.ims.ixia.utils import IxChassisUtils -from functest.opnfv_tests.vnf.ims.ixia.utils import IxLoadUtils -from functest.opnfv_tests.vnf.ims.ixia.utils import IxRestUtils -from functest.utils import config -from functest.utils import env - -__author__ = "Valentin Boucher " - - -class CloudifyImsPerf(cloudify_ims.CloudifyIms): - """Clearwater vIMS deployed with Cloudify Orchestrator Case.""" - - __logger = logging.getLogger(__name__) - - def __init__(self, **kwargs): - """Initialize CloudifyIms testcase object.""" - if "case_name" not in kwargs: - kwargs["case_name"] = "cloudify_ims_perf" - super(CloudifyImsPerf, self).__init__(**kwargs) - - # Retrieve the configuration - try: - self.config = getattr( - config.CONF, 'vnf_{}_config'.format(self.case_name)) - except Exception: - raise Exception("VNF config file not found") - - self.snaps_creds = '' - self.created_object = [] - - config_file = os.path.join(self.case_dir, self.config) - self.orchestrator = dict( - requirements=get_config("orchestrator.requirements", config_file), - ) - self.details['orchestrator'] = dict( - name=get_config("orchestrator.name", config_file), - version=get_config("orchestrator.version", config_file), - status='ERROR', - result='' - ) - self.__logger.debug("Orchestrator configuration %s", self.orchestrator) - self.vnf = dict( - descriptor=get_config("vnf.descriptor", config_file), - inputs=get_config("vnf.inputs", config_file), - requirements=get_config("vnf.requirements", config_file) - ) - self.details['vnf'] = dict( - descriptor_version=self.vnf['descriptor']['version'], - name=get_config("vnf.name", config_file), - version=get_config("vnf.version", config_file), - ) - self.__logger.debug("VNF configuration: %s", self.vnf) - - self.test = dict( - version=get_config("vnf_test_suite.version", config_file), - inputs=get_config("vnf_test_suite.inputs", config_file), - requirements=get_config("vnf_test_suite.requirements", config_file) - ) - - self.details['test_vnf'] = dict( - name=get_config("vnf_test_suite.name", config_file), - version=get_config("vnf_test_suite.version", config_file), - requirements=get_config("vnf_test_suite.requirements", config_file) - ) - self.images = get_config("tenant_images", config_file) - self.__logger.info("Images needed for vIMS: %s", self.images) - - def test_vnf(self): - """Run IXIA Stress test on clearwater ims instance.""" - start_time = time.time() - - cfy_client = self.orchestrator['object'] - - outputs = cfy_client.deployments.outputs.get( - self.vnf['descriptor'].get('name'))['outputs'] - dns_ip = outputs['dns_ip'] - ellis_ip = outputs['ellis_ip'] - - self.__logger.info("Creating full IXIA network ...") - subnet_settings = SubnetConfig(name='ixia_management_subnet', - cidr='10.10.10.0/24', - dns_nameservers=[env.get('NAMESERVER')]) - network_settings = NetworkConfig(name='ixia_management_network', - subnet_settings=[subnet_settings]) - network_creator = OpenStackNetwork(self.snaps_creds, network_settings) - network_creator.create() - self.created_object.append(network_creator) - ext_net_name = snaps_utils.get_ext_net_name(self.snaps_creds) - router_creator = OpenStackRouter( - self.snaps_creds, - RouterConfig( - name='ixia_management_router', - external_gateway=ext_net_name, - internal_subnets=[subnet_settings.name])) - router_creator.create() - self.created_object.append(router_creator) - - # security group creation - self.__logger.info("Creating security groups for IXIA VMs") - sg_rules = list() - sg_rules.append( - SecurityGroupRuleConfig(sec_grp_name="ixia_management", - direction=Direction.ingress, - protocol=Protocol.tcp, port_range_min=1, - port_range_max=65535)) - sg_rules.append( - SecurityGroupRuleConfig(sec_grp_name="ixia_management", - direction=Direction.ingress, - protocol=Protocol.udp, port_range_min=1, - port_range_max=65535)) - sg_rules.append( - SecurityGroupRuleConfig(sec_grp_name="ixia_management", - direction=Direction.ingress, - protocol=Protocol.icmp)) - - ixia_managment_sg_settings = SecurityGroupConfig( - name="ixia_management", rule_settings=sg_rules) - securit_group_creator = OpenStackSecurityGroup( - self.snaps_creds, - ixia_managment_sg_settings) - - securit_group_creator.create() - self.created_object.append(securit_group_creator) - - sg_rules = list() - sg_rules.append( - SecurityGroupRuleConfig(sec_grp_name="ixia_ssh_http", - direction=Direction.ingress, - protocol=Protocol.tcp, port_range_min=1, - port_range_max=65535)) - - ixia_ssh_http_sg_settings = SecurityGroupConfig( - name="ixia_ssh_http", rule_settings=sg_rules) - securit_group_creator = OpenStackSecurityGroup( - self.snaps_creds, - ixia_ssh_http_sg_settings) - - securit_group_creator.create() - self.created_object.append(securit_group_creator) - - chassis_flavor_settings = FlavorConfig( - name="ixia_vChassis", - ram=4096, - disk=40, - vcpus=2) - flavor_creator = OpenStackFlavor(self.snaps_creds, - chassis_flavor_settings) - flavor_creator.create() - self.created_object.append(flavor_creator) - - card_flavor_settings = FlavorConfig( - name="ixia_vCard", - ram=4096, - disk=4, - vcpus=2) - flavor_creator = OpenStackFlavor(self.snaps_creds, - card_flavor_settings) - flavor_creator.create() - self.created_object.append(flavor_creator) - - load_flavor_settings = FlavorConfig( - name="ixia_vLoad", - ram=8192, - disk=100, - vcpus=4) - flavor_creator = OpenStackFlavor(self.snaps_creds, - load_flavor_settings) - flavor_creator.create() - self.created_object.append(flavor_creator) - - chassis_image_settings = ImageConfig( - name=self.test['requirements']['chassis']['image'], - image_user='admin', - exists=True) - - card_image_settings = ImageConfig( - name=self.test['requirements']['card']['image'], - image_user='admin', - exists=True) - - load_image_settings = ImageConfig( - name=self.test['requirements']['load']['image'], - image_user='admin', - exists=True) - - chassis_port_settings = PortConfig( - name='ixia_chassis_port', network_name=network_settings.name) - - card1_port1_settings = PortConfig( - name='ixia_card1_port1', network_name=network_settings.name) - - card2_port1_settings = PortConfig( - name='ixia_card2_port1', network_name=network_settings.name) - - card1_port2_settings = PortConfig( - name='ixia_card1_port2', network_name="cloudify_ims_network") - - card2_port2_settings = PortConfig( - name='ixia_card2_port2', network_name="cloudify_ims_network") - - load_port_settings = PortConfig( - name='ixia_load_port', network_name=network_settings.name) - - chassis_settings = VmInstanceConfig( - name='ixia_vChassis', - flavor=chassis_flavor_settings.name, - port_settings=[chassis_port_settings], - security_group_names=[ixia_ssh_http_sg_settings.name, - ixia_managment_sg_settings.name], - floating_ip_settings=[FloatingIpConfig( - name='ixia_vChassis_fip', - port_name=chassis_port_settings.name, - router_name=router_creator.router_settings.name)]) - - vm_creator = OpenStackVmInstance(self.snaps_creds, - chassis_settings, - chassis_image_settings) - - self.__logger.info("Creating Ixia vChassis VM") - vm_creator.create() - fip_chassis = vm_creator.get_floating_ip().ip - self.created_object.append(vm_creator) - - card1_settings = VmInstanceConfig( - name='ixia_vCard1', - flavor=card_flavor_settings.name, - port_settings=[card1_port1_settings, card1_port2_settings], - security_group_names=[ixia_managment_sg_settings.name]) - - vm_creator = OpenStackVmInstance(self.snaps_creds, - card1_settings, - card_image_settings) - - self.__logger.info("Creating Ixia vCard1 VM") - vm_creator.create() - vcard_ips = list() - vcard_ips_p2 = list() - vcard_ips.append(vm_creator.get_port_ip('ixia_card1_port1')) - vcard_ips_p2.append(vm_creator.get_port_ip('ixia_card1_port2')) - self.created_object.append(vm_creator) - - card2_settings = VmInstanceConfig( - name='ixia_vCard2', - flavor=card_flavor_settings.name, - port_settings=[card2_port1_settings, card2_port2_settings], - security_group_names=[ixia_managment_sg_settings.name]) - - vm_creator = OpenStackVmInstance(self.snaps_creds, - card2_settings, - card_image_settings) - - self.__logger.info("Creating Ixia vCard2 VM") - vm_creator.create() - vcard_ips.append(vm_creator.get_port_ip('ixia_card2_port1')) - vcard_ips_p2.append(vm_creator.get_port_ip('ixia_card2_port2')) - self.created_object.append(vm_creator) - - load_settings = VmInstanceConfig( - name='ixia_vLoad', - flavor=load_flavor_settings.name, - port_settings=[load_port_settings], - security_group_names=[ixia_ssh_http_sg_settings.name, - ixia_managment_sg_settings.name], - floating_ip_settings=[FloatingIpConfig( - name='ixia_vLoad_fip', - port_name=load_port_settings.name, - router_name=router_creator.router_settings.name)]) - - vm_creator = OpenStackVmInstance(self.snaps_creds, - load_settings, - load_image_settings) - - self.__logger.info("Creating Ixia vLoad VM") - vm_creator.create() - fip_load = vm_creator.get_floating_ip().ip - self.created_object.append(vm_creator) - - self.__logger.info("Chassis IP is: %s", fip_chassis) - login_url = "https://" + str(fip_chassis) + "/api/v1/auth/session" - cards_url = "https://" + str(fip_chassis) + "/api/v2/ixos/cards/" - - payload = json.dumps({"username": "admin", - "password": "admin", - "rememberMe": "false"}) - api_key = json.loads(( - IxChassisUtils.ChassisRestAPI.postWithPayload( - login_url, payload)))["apiKey"] - - self.__logger.info("Adding 2 card back inside the ixia chassis...") - - for ip in vcard_ips: - payload = {"ipAddress": str(ip)} - response = json.loads(IxChassisUtils.ChassisRestAPI.postOperation( - cards_url, api_key, payload)) - count = 0 - while (int( - IxChassisUtils.ChassisRestAPI.getWithHeaders( - response['url'], api_key)['progress']) != 100): - self.__logger.debug("Operation did not finish yet. \ - Waiting for 1 more second..") - time.sleep(1) - if count > 60: - raise Exception("Adding card take more than 60 seconds") - count += 1 - - ssh = paramiko.SSHClient() - ssh.set_missing_host_key_policy(paramiko.MissingHostKeyPolicy()) - ssh.connect(fip_chassis, username="admin", password="admin") - cmd = "set license-check disable" - run_blocking_ssh_command(ssh, cmd) - cmd = "restart-service ixServer" - run_blocking_ssh_command(ssh, cmd) - - self.config_ellis(ellis_ip) - - # Get IPs of P-CSCF - resolver = dns.resolver.Resolver() - resolver.nameservers = [dns_ip] - result = resolver.query("bono.clearwater.local") - - iplistims = '' - i = 0 - for rdata in result: - i = i + 1 - print rdata.address - iplistims += str(rdata.address) - if i != len(result): - iplistims += ';' - - kResourcesUrl = 'http://%s:%s/api/v0/resources' % (fip_load, 8080) - - kRxfPath = r"REG_CALL_OPNFV_v13.rxf" - test_filname = self.test['inputs']['test_filname'] - kGatewaySharedFolder = '/mnt/ixload-share/' - kRxfRelativeUploadPath = 'uploads/%s' % os.path.split(kRxfPath)[1] - kRxfAbsoluteUploadPath = os.path.join(kGatewaySharedFolder, - kRxfRelativeUploadPath) - kChassisList = [str(fip_chassis)] - dataFileNameList = [test_filname, - 'Registration_only_LPS.tst', - 'SIPCall.tst'] - - kPortListPerCommunityCommunity = {"VoIP1@VM1": [(1, 1, 1)], - "VoIP2@VM2": [(1, 2, 1)]} - - kStatsToDisplayDict = self.test['inputs']['stats'] - connection = IxRestUtils.getConnection(fip_load, 8080) - - self.__logger.info("Creating a new session...") - sessionUrl = IxLoadUtils.createSession(connection, - self.test['version']) - - license_server = self.test['inputs']['licenseServer'] - IxLoadUtils.configureLicenseServer(connection, - sessionUrl, - license_server) - - files_dir = os.path.join(self.case_dir, 'ixia/files') - target_file = open(os.path.join(files_dir, test_filname), 'w') - j2_env = Environment(loader=FileSystemLoader(files_dir), - trim_blocks=True) - self.test['inputs'].update(dict( - ipchassis=fip_chassis, ipcard1=vcard_ips_p2[0], - ipcard2=vcard_ips_p2[1], iplistims=iplistims - )) - - target_file.write( - j2_env.get_template(test_filname + '.template').render( - self.test['inputs'] - )) - target_file.close() - - self.__logger.info('Uploading files %s...' % kRxfPath) - for dataFile in dataFileNameList: - localFilePath = os.path.join(files_dir, dataFile) - remoteFilePath = os.path.join(kGatewaySharedFolder, - 'uploads/%s' % dataFile) - IxLoadUtils.uploadFile(connection, kResourcesUrl, - localFilePath, remoteFilePath) - self.__logger.info('Upload file finished.') - - self.__logger.info("Loading repository %s..." % kRxfAbsoluteUploadPath) - IxLoadUtils.loadRepository(connection, sessionUrl, - kRxfAbsoluteUploadPath) - - self.__logger.info("Clearing chassis list...") - IxLoadUtils.clearChassisList(connection, sessionUrl) - - self.__logger.info("Adding chassis %s..." % (kChassisList)) - IxLoadUtils.addChassisList(connection, sessionUrl, kChassisList) - - self.__logger.info("Assigning new ports...") - IxLoadUtils.assignPorts(connection, sessionUrl, - kPortListPerCommunityCommunity) - - self.__logger.info("Starting the test...") - IxLoadUtils.runTest(connection, sessionUrl) - - self.__logger.info( - "Polling values for stats %s..." % (kStatsToDisplayDict)) - result = IxLoadUtils.pollStats(connection, sessionUrl, - kStatsToDisplayDict) - self.__logger.info("Test finished.") - self.__logger.info("Checking test status...") - testRunError = IxLoadUtils.getTestRunError(connection, sessionUrl) - - self.__logger.info(result) - duration = time.time() - start_time - self.details['test_vnf'].update(status='PASS', - result=result, - duration=duration) - if testRunError: - self.__logger.info( - "The test exited with following error: %s" % (testRunError)) - self.details['test_vnf'].update(status='FAIL', duration=duration) - return False - else: - self.__logger.info("The test completed successfully.") - self.details['test_vnf'].update(status='PASS', duration=duration) - self.result += 1/3 * 100 - return True - - def clean(self): - """Clean created objects/functions.""" - super(CloudifyImsPerf, self).clean() - - @energy.enable_recording - def run(self, **kwargs): - """Execute CloudifyIms test case.""" - return super(CloudifyImsPerf, self).run(**kwargs) - - -# ---------------------------------------------------------- -# -# YAML UTILS -# -# ----------------------------------------------------------- -def get_config(parameter, file_path): - """ - Get config parameter. - - Returns the value of a given parameter in file.yaml - parameter must be given in string format with dots - Example: general.openstack.image_name - """ - with open(file_path) as config_file: - file_yaml = yaml.safe_load(config_file) - config_file.close() - value = file_yaml - for element in parameter.split("."): - value = value.get(element) - if value is None: - raise ValueError("The parameter %s is not defined in" - " reporting.yaml" % parameter) - return value - - -def run_blocking_ssh_command(ssh, cmd, error_msg="Unable to run this command"): - """Command to run ssh command with the exit status.""" - stdin, stdout, stderr = ssh.exec_command(cmd) - if stdout.channel.recv_exit_status() != 0: - raise Exception(error_msg) diff --git a/functest/opnfv_tests/vnf/ims/cloudify_ims_perf.yaml b/functest/opnfv_tests/vnf/ims/cloudify_ims_perf.yaml deleted file mode 100644 index a6633dfc1..000000000 --- a/functest/opnfv_tests/vnf/ims/cloudify_ims_perf.yaml +++ /dev/null @@ -1,89 +0,0 @@ ---- -tenant_images: - ubuntu_14.04: - /home/opnfv/functest/images/ubuntu-14.04-server-cloudimg-amd64-disk1.img - cloudify_manager_4.0: - /home/opnfv/functest/images/cloudify-manager-premium-4.0.1.qcow2 - # PATH of the virtual chassis image. - IXIA_CHASSIS: # Ixia_Virtual_Chassis_8.30_EA_KVM.qcow2 - # PATH of the virtual card image. - IXIA_CARD: # Ixia_Virtual_Load_Module_8.30_EA_KVM.qcow2 - # PATH of the virtual loader image. - IXIA_LOAD: # Ixia_Virtual_Loader_8.30_EA_KVM.qcow2 -orchestrator: - name: cloudify - version: '4.0' - requirements: - flavor: - name: m1.medium - ram_min: 4096 - os_image: 'cloudify_manager_4.0' -vnf: - name: clearwater - version: '107' - descriptor: - file_name: /src/vims/openstack-blueprint-with-numbers.yaml - name: clearwater-opnfv - version: '122' - requirements: - flavor: - name: m1.small - ram_min: 2048 - compute_quotas: - cores: 150 - instances: 100 - ram: 256000 - network_quotas: - security_group: 25 - security_group_rule: 100 - port: 150 - inputs: - image_id: 'ubuntu_14.04' - flavor_id: 'm1.small' - agent_user: ubuntu - key_pair_name: cloudify_ims_kp - private_key_path: '/etc/cloudify/cloudify_ims.pem' - external_network_name: '' - public_domain: clearwater.opnfv - release: repo122 - bono_cluster_size: 2 - sprout_cluster_size: 2 - vellum_cluster_size: 2 - dime_cluster_size: 2 - homer_cluster_size: 2 - number_of_subscribers: 50000 -vnf_test_suite: - name: ixia - version: "8.30.0.161" - requirements: - chassis: - image: IXIA_CHASSIS - card: - image: IXIA_CARD - load: - image: IXIA_LOAD - inputs: - ipgw: '10.67.79.1' - pnregistering: '201001[0000-]' - pncalling: '201000[0000-]' - pncalled: '201000[5000-]' - sipportregistering: '[5060-]' - sipportcalling: '[5061-]' - sipportcalled: '[5062-]' - domainname: 'clearwater.opnfv' - authpassword: 'toto' - registeringtotalcalls: '1000' - registeringduration: '180' - activecalls: '1000' - testduration: '360' - test_filname: 'REG_CALL_OPNFV_v13.rxf' - licenseServer: '' # IP of YOUR IXIA LICENSE SERVER - stats: - 'Signaling(VoIPSip)': - - 'Successful Registrations' - - 'Failed Registrations' - - 'Active Calls' - - 'Attempted Calls' - - 'Received Calls' - - 'Failed Attempted Calls' - - 'Failed Received Calls' diff --git a/functest/opnfv_tests/vnf/ims/ixia/__init__.py b/functest/opnfv_tests/vnf/ims/ixia/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/functest/opnfv_tests/vnf/ims/ixia/files/REG_CALL_OPNFV_v13.rxf.template b/functest/opnfv_tests/vnf/ims/ixia/files/REG_CALL_OPNFV_v13.rxf.template deleted file mode 100644 index 279362810..000000000 --- a/functest/opnfv_tests/vnf/ims/ixia/files/REG_CALL_OPNFV_v13.rxf.template +++ /dev/null @@ -1,16731 +0,0 @@ - - - <_smSessionXml ver="[0, [1, [0, [0]]]]" type="ixSMSessionXML"> - <rpf> <Ixia.Aptixia.StackManager.SMSession type="Ixia.Aptixia.StackManager.SMSession" objectid="d0db76dc-f224-429f-91ba-e207cd4711db" version="6.70.420"> <doWaitLinkUp type="Bool">0</doWaitLinkUp> <doGratArp type="Bool">0</doGratArp> <subscribeToGratArpNotifications type="Bool">0</subscribeToGratArpNotifications> <doInterfaceCheck type="Bool">0</doInterfaceCheck> <rebootPortsBeforeConfigure type="Bool">0</rebootPortsBeforeConfigure> <testDuration type="Int">10000</testDuration> <checkLinkState type="Bool">0</checkLinkState> <portGroupList type="ListNode"> <Ixia.Aptixia.StackManager.PortGroup type="Ixia.Aptixia.StackManager.PortGroup" objectid="e7fa1f9e-23d9-4742-96b2-6edce6c4424e" version="6.70.420"> <name type="String">VM1</name> <category type="String" /> <stack type="Ixia.Aptixia.StackManager.L1EthernetPlugin" objectid="45426251-0720-4316-b8a5-d6bce32e3d2e" version="6.70.420"> <autoNegotiate type="Bool">1</autoNegotiate> <speed type="String">k100FD</speed> <advertise10Half type="Bool">1</advertise10Half> <advertise10Full type="Bool">1</advertise10Full> <advertise100Half type="Bool">1</advertise100Half> <advertise100Full type="Bool">1</advertise100Full> <advertise1000Full type="Bool">1</advertise1000Full> <advertise2500Full type="Bool">1</advertise2500Full> <advertise5000Full type="Bool">1</advertise5000Full> <advertise10000Full type="Bool">0</advertise10000Full> <cardDualPhy type="Ixia.Aptixia.StackManager.DualPhyPlugin" objectid="836ee0d6-1957-42eb-a7a4-53bcfbdd36e0" version="6.70.420"> <medium type="String">copper</medium> <ixLoadRestObjectId type="Int">2</ixLoadRestObjectId> </cardDualPhy> <cardElm type="Ixia.Aptixia.StackManager.EthernetELMPlugin" objectid="8387c005-0df9-4fd2-977e-1c234c7be0cc" version="6.70.420"> <negotiateMasterSlave type="Bool">1</negotiateMasterSlave> <negotiationType type="String">master</negotiationType> <ixLoadRestObjectId type="Int">2</ixLoadRestObjectId> </cardElm> <enableFlowControl type="Bool">0</enableFlowControl> <directedAddress type="String">01:80:C2:00:00:01</directedAddress> <dataCenter type="Ixia.Aptixia.StackManager.DataCenterSettings" objectid="df9be2ec-31d8-47f0-babe-79a1710303f3" version="6.70.420"> <dcSupported type="Bool">1</dcSupported> <dcEnabled type="Bool">0</dcEnabled> <dcFlowControl type="Ixia.Aptixia.StackManager.DataCenterSettingsSkeleton+eFlowControlType">0</dcFlowControl> <dcMode type="Ixia.Aptixia.StackManager.DataCenterSettingsSkeleton+eDataCenterMode">2</dcMode> <dcPfcMapping type="IntList" /> <dcPfcPauseEnable type="Bool">0</dcPfcPauseEnable> <dcPfcPauseDelay type="Int">1</dcPfcPauseDelay> <ixLoadRestObjectId type="Int">2</ixLoadRestObjectId> </dataCenter> <childrenList type="ListNode"> <Ixia.Aptixia.StackManager.L2EthernetPlugin type="Ixia.Aptixia.StackManager.L2EthernetPlugin" objectid="166a11b6-4d30-40ea-b9e1-ac4fb44f112b" version="6.70.420"> <macRangeList type="ListNode"> <Ixia.Aptixia.StackManager.MacRange type="Ixia.Aptixia.StackManager.MacRange" objectid="ba896971-1d78-4e03-8f2a-28c65417612e" version="6.70.420"> <enabled type="Bool">1</enabled> <name type="String">MAC-R11</name> <mac type="String">00:0A:43:4F:1B:00</mac> <incrementBy type="String">00:00:00:00:00:01</incrementBy> <mtu type="Int">1410</mtu> <count type="Int">1</count> <vlanRange type="Ixia.Aptixia.StackManager.VlanIdRange" objectid="2b81e36c-9cbb-4d78-a70c-904da8d41b28" version="6.70.420"> <name type="String">VLAN-R11</name> <enabled type="Bool">0</enabled> <firstId type="Int">1</firstId> <incrementStep type="Int">1</incrementStep> <increment type="Int">1</increment> <uniqueCount type="Int">4094</uniqueCount> <priority type="Int">1</priority> <tpid type="String">0x8100</tpid> <innerEnable type="Bool">0</innerEnable> <innerFirstId type="Int">1</innerFirstId> <innerIncrementStep type="Int">1</innerIncrementStep> <innerIncrement type="Int">1</innerIncrement> <innerUniqueCount type="Int">4094</innerUniqueCount> <innerPriority type="Int">1</innerPriority> <idIncrMode type="Int">2</idIncrMode> <innerTpid type="String">0x8100</innerTpid> <ixLoadRestObjectId type="Int">9</ixLoadRestObjectId> </vlanRange> <ixLoadRestObjectId type="Int">9</ixLoadRestObjectId> </Ixia.Aptixia.StackManager.MacRange> </macRangeList> <vlanRangeList type="ListNode"> <Ixia.Aptixia.StackManager.VlanIdRange type="Ixia.Aptixia.StackManager.VlanIdRange" objectid="2b81e36c-9cbb-4d78-a70c-904da8d41b28" version="6.70.420" /> </vlanRangeList> <childrenList type="ListNode"> <Ixia.Aptixia.StackManager.IpV4V6Plugin type="Ixia.Aptixia.StackManager.IpV4V6Plugin" objectid="9ea551b2-a0af-4a7d-9872-e9b94298d7bd" version="6.70.420"> <rangeList type="ListNode"> <Ixia.Aptixia.StackManager.IpV4V6Range type="Ixia.Aptixia.StackManager.IpV4V6Range" objectid="5affc0a7-68f6-46f6-b801-0e18e067a572" version="6.70.420"> <enabled type="Bool">1</enabled> <name type="String">IP-R13</name> <ipType type="String">IPv4</ipType> <ipAddress type="String">{{ipcard1}}</ipAddress> <prefix type="Int">16</prefix> <incrementBy type="String">0.0.0.1</incrementBy> <count type="Int">1</count> <autoCountEnabled type="Bool">0</autoCountEnabled> <gatewayAddress type="String">{{ipgw}}</gatewayAddress> <gatewayIncrement type="String">0.0.0.0</gatewayIncrement> <gatewayIncrementMode type="String">perSubnet</gatewayIncrementMode> <enableGatewayArp type="Bool">0</enableGatewayArp> <generateStatistics type="Bool">0</generateStatistics> <mss type="Int">1410</mss> <randomizeAddress type="Bool">0</randomizeAddress> <randomizeSeed type="Int">1007257123</randomizeSeed> <autoMacGeneration type="Bool">1</autoMacGeneration> <macRange type="Ixia.Aptixia.StackManager.MacRange" objectid="ba896971-1d78-4e03-8f2a-28c65417612e" version="6.70.420" /> <vlanRange type="Ixia.Aptixia.StackManager.VlanIdRange" objectid="2b81e36c-9cbb-4d78-a70c-904da8d41b28" version="6.70.420" /> <atmRange type="Ixia.Aptixia.StackManager.AtmRange" objectid="00000000-0000-0000-0000-000000000000" /> <pvcRange type="Ixia.Aptixia.StackManager.PvcRange" objectid="00000000-0000-0000-0000-000000000000" /> <autoIpTypeEnabled type="Bool">0</autoIpTypeEnabled> <ixLoadRestObjectId type="Int">9</ixLoadRestObjectId> </Ixia.Aptixia.StackManager.IpV4V6Range> </rangeList> <rangeGroups type="ListNode"> <Ixia.Aptixia.StackManager.RangeGroup type="Ixia.Aptixia.StackManager.RangeGroup" objectid="abf2b6e4-a102-4cbe-bf1b-a11f11b2faac" version="6.70.420"> <name type="String">Group1</name> <distribType type="Ixia.Aptixia.StackManager.RangeGroupSkeleton+eDistributionType">0</distribType> <rangeList type="ListNode"> <Ixia.Aptixia.StackManager.IpV4V6Range type="Ixia.Aptixia.StackManager.IpV4V6Range" objectid="5affc0a7-68f6-46f6-b801-0e18e067a572" version="6.70.420" /> </rangeList> <ixLoadRestObjectId type="Int">-1</ixLoadRestObjectId> </Ixia.Aptixia.StackManager.RangeGroup> </rangeGroups> <childrenList type="ListNode" /> <extensionList type="ListNode" /> <dscMode type="Bool">0</dscMode> <name type="String">IP-8</name> <ixLoadRestObjectId type="Int">26</ixLoadRestObjectId> </Ixia.Aptixia.StackManager.IpV4V6Plugin> </childrenList> <extensionList type="ListNode" /> <dscMode type="Bool">0</dscMode> <name type="String">MAC/VLAN-8</name> <ixLoadRestObjectId type="Int">25</ixLoadRestObjectId> </Ixia.Aptixia.StackManager.L2EthernetPlugin> </childrenList> <extensionList type="ListNode" /> <dscMode type="Bool">0</dscMode> <name type="String">Ethernet-1</name> <ixLoadRestObjectId type="Int">1</ixLoadRestObjectId> </stack> <globalPluginList type="ListNode"> <Ixia.Aptixia.StackManager.FilterPlugin type="Ixia.Aptixia.StackManager.FilterPlugin" objectid="976ba0fd-58ea-44d4-ae43-1b36c2556072" version="6.70.420"> <auto type="Bool">1</auto> <all type="Bool">0</all> <pppoecontrol type="Bool">0</pppoecontrol> <pppoenetwork type="Bool">0</pppoenetwork> <isis type="Bool">0</isis> <ip type="String" /> <tcp type="String" /> <udp type="String" /> <mac type="String" /> <icmp type="String" /> <name type="String">Filter-1</name> <ixLoadRestObjectId type="Int">1</ixLoadRestObjectId> </Ixia.Aptixia.StackManager.FilterPlugin> <Ixia.Aptixia.StackManager.GratArpPlugin type="Ixia.Aptixia.StackManager.GratArpPlugin" objectid="3ebd05e7-88a6-49be-a50d-134908ac124c" version="6.70.420"> <enabled type="Bool">1</enabled> <forwardGratArp type="Bool">0</forwardGratArp> <rateControlEnabled type="Bool">0</rateControlEnabled> <maxFramesPerSecond type="Int">0</maxFramesPerSecond> <name type="String">GratARP-1</name> <ixLoadRestObjectId type="Int">2</ixLoadRestObjectId> </Ixia.Aptixia.StackManager.GratArpPlugin> <Ixia.Aptixia.StackManager.TCPPlugin type="Ixia.Aptixia.StackManager.TCPPlugin" objectid="1d9748c5-122e-4153-8ffd-67cd1309b8ce" version="6.70.420"> <bestPerfSettings type="Bool">0</bestPerfSettings> <accept_ra_all type="Bool">0</accept_ra_all> <tcp_abort_on_overflow type="Bool">0</tcp_abort_on_overflow> <tcp_adv_win_scale type="Int">2</tcp_adv_win_scale> <tcp_app_win type="Int">31</tcp_app_win> <tcp_bic type="Int">0</tcp_bic> <tcp_bic_fast_convergence type="Int">1</tcp_bic_fast_convergence> <tcp_bic_low_window type="Int">14</tcp_bic_low_window> <tcp_dsack type="Bool">1</tcp_dsack> <tcp_ecn type="Bool">0</tcp_ecn> <tcp_fack type="Bool">1</tcp_fack> <tcp_fin_timeout type="Int">60</tcp_fin_timeout> <tcp_frto type="Int">0</tcp_frto> <tcp_keepalive_intvl type="Int">75</tcp_keepalive_intvl> <tcp_keepalive_probes type="Int">9</tcp_keepalive_probes> <tcp_keepalive_time type="Int">7200</tcp_keepalive_time> <tcp_low_latency type="Int">0</tcp_low_latency> <tcp_max_orphans type="Int">8192</tcp_max_orphans> <tcp_max_syn_backlog type="Int">1024</tcp_max_syn_backlog> <tcp_max_tw_buckets type="Int">180000</tcp_max_tw_buckets> <tcp_mem_low type="Int">24576</tcp_mem_low> <tcp_mem_pressure type="Int">32768</tcp_mem_pressure> <tcp_mem_high type="Int">49152</tcp_mem_high> <tcp_moderate_rcvbuf type="Int">0</tcp_moderate_rcvbuf> <tcp_no_metrics_save type="Bool">0</tcp_no_metrics_save> <tcp_orphan_retries type="Int">0</tcp_orphan_retries> <tcp_reordering type="Int">3</tcp_reordering> <tcp_retrans_collapse type="Bool">1</tcp_retrans_collapse> <tcp_retries1 type="Int">3</tcp_retries1> <tcp_retries2 type="Int">5</tcp_retries2> <tcp_rfc1337 type="Bool">0</tcp_rfc1337> <tcp_rmem_min type="Int">4096</tcp_rmem_min> <tcp_rmem_default type="Int">8192</tcp_rmem_default> <tcp_rmem_max type="Int">262144</tcp_rmem_max> <tcp_sack type="Bool">1</tcp_sack> <tcp_stdurg type="Bool">0</tcp_stdurg> <tcp_synack_retries type="Int">5</tcp_synack_retries> <tcp_syn_retries type="Int">5</tcp_syn_retries> <tcp_timestamps type="Bool">1</tcp_timestamps> <tcp_tw_recycle type="Bool">1</tcp_tw_recycle> <tcp_tw_reuse type="Bool">0</tcp_tw_reuse> <tcp_vegas_alpha type="Int">2</tcp_vegas_alpha> <tcp_vegas_beta type="Int">6</tcp_vegas_beta> <tcp_vegas_cong_avoid type="Int">0</tcp_vegas_cong_avoid> <tcp_vegas_gamma type="Int">2</tcp_vegas_gamma> <tcp_westwood type="Int">0</tcp_westwood> <tcp_window_scaling type="Bool">0</tcp_window_scaling> <ip_no_pmtu_disc type="Bool">1</ip_no_pmtu_disc> <tcp_wmem_min type="Int">4096</tcp_wmem_min> <tcp_wmem_default type="Int">8192</tcp_wmem_default> <tcp_wmem_max type="Int">262144</tcp_wmem_max> <tcp_ipfrag_time type="Int">30</tcp_ipfrag_time> <tcp_port_min type="Int">1024</tcp_port_min> <tcp_port_max type="Int">65535</tcp_port_max> <tcp_rto_min type="Int">1000</tcp_rto_min> <tcp_rto_max type="Int">60000</tcp_rto_max> <tcp_tw_rfc1323_strict type="Bool">0</tcp_tw_rfc1323_strict> <udp_port_randomization type="Bool">0</udp_port_randomization> <disable_min_max_buffer_size type="Bool">1</disable_min_max_buffer_size> <llm_hdr_gap type="Int">8</llm_hdr_gap> <llm_hdr_gap_ns type="Int">10</llm_hdr_gap_ns> <inter_packet_granular_delay type="Double">0</inter_packet_granular_delay> <delayed_acks type="Bool">1</delayed_acks> <accept_ra_default type="Bool">0</accept_ra_default> <rps_needed type="Bool">0</rps_needed> <delayed_acks_segments type="Int">0</delayed_acks_segments> <delayed_acks_timeout type="Int">0</delayed_acks_timeout> <tcp_large_icwnd type="Int">0</tcp_large_icwnd> <tcp_mgmt_rmem type="Int">87380</tcp_mgmt_rmem> <tcp_mgmt_wmem type="Int">32768</tcp_mgmt_wmem> <adjust_tcp_buffers type="Bool">1</adjust_tcp_buffers> <name type="String">TCP-1</name> <ixLoadRestObjectId type="Int">3</ixLoadRestObjectId> </Ixia.Aptixia.StackManager.TCPPlugin> <Ixia.Aptixia.StackManager.DnsPlugin type="Ixia.Aptixia.StackManager.DnsPlugin" objectid="9cc60113-3e53-4cf2-b3b7-6fd7d3953bb4" version="6.70.420"> <domain type="String" /> <timeout type="Int">30</timeout> <nameServerList type="ListNode" /> <searchList type="ListNode" /> <hostList type="ListNode" /> <name type="String">DNS-1</name> <ixLoadRestObjectId type="Int">4</ixLoadRestObjectId> </Ixia.Aptixia.StackManager.DnsPlugin> <Ixia.Aptixia.StackManager.IxLoadSettingsPlugin type="Ixia.Aptixia.StackManager.IxLoadSettingsPlugin" objectid="399db714-47a8-445d-a24b-90d00d3f2e9e" version="1.0.0"> <teardownInterfaceWithUser type="Bool">0</teardownInterfaceWithUser> <interfaceBehavior type="Int">0</interfaceBehavior> <name type="String">Settings-1</name> <ixLoadRestObjectId type="Int">5</ixLoadRestObjectId> </Ixia.Aptixia.StackManager.IxLoadSettingsPlugin> <Ixia.Aptixia.StackManager.MeshingPlugin type="Ixia.Aptixia.StackManager.MeshingPlugin" objectid="39d2a556-cf85-4102-8461-b1f1413b2db5" version="6.70.420"> <trafficMaps type="ListNode"> <Ixia.Aptixia.StackManager.MeshingTrafficMap type="Ixia.Aptixia.StackManager.MeshingTrafficMap" objectid="cdca1e00-77a3-49ef-8fe5-afb321a51af2" version="6.70.420"> <name type="String">CALLING!VoIP2_CALLED#{{sipportcalled}}</name> <configMapFilename type="String">CALLINGScript.configmap</configMapFilename> <sourceActivityId type="Int">1</sourceActivityId> <ipPreference type="Ixia.Aptixia.StackManager.MeshingTrafficMapSkeleton+eIpPreference">0</ipPreference> <portRangesString type="String">{{sipportcalled}}</portRangesString> <meshingType type="Ixia.Aptixia.StackManager.MeshingTrafficMapSkeleton+eMeshingType">2</meshingType> <destinationActivityId type="Int">0</destinationActivityId> </Ixia.Aptixia.StackManager.MeshingTrafficMap> </trafficMaps> <activityRangeMapInfoList type="ListNode" /> <name type="String">Meshing-1</name> <ixLoadRestObjectId type="Int">11</ixLoadRestObjectId> </Ixia.Aptixia.StackManager.MeshingPlugin> </globalPluginList> <portList type="Ixia.RpFramework.Server.Core.ShadowedPropertyStringList"> <String>{{ipchassis}};1;1</String> </portList> <typeSpecificData type="ListNode"> <Ixia.Aptixia.StackManager.IPSecPortGroupData type="Ixia.Aptixia.StackManager.IPSecPortGroupData" objectid="62e57abd-b4c6-45af-a720-7033259c203c" version="6.70.0"> <role type="String">Initiator</role> <associates type="ListNode" /> <overrideGlobalOptions type="Bool">0</overrideGlobalOptions> <useMaxInitiationRate type="Bool">0</useMaxInitiationRate> <maxInitiationRate type="Int">50</maxInitiationRate> <useMaxPendingTunnels type="Bool">0</useMaxPendingTunnels> <maxPendingTunnels type="Int">50</maxPendingTunnels> <teardownRate type="Int">10</teardownRate> <enableESPPerStreamStats type="Bool">0</enableESPPerStreamStats> <enableESPReplayStats type="Bool">0</enableESPReplayStats> <activities type="ListNode" /> <pcpuLogLevel type="String">0</pcpuLogLevel> <ixLoadRestObjectId type="Int">3</ixLoadRestObjectId> </Ixia.Aptixia.StackManager.IPSecPortGroupData> </typeSpecificData> <virtualMode type="Bool">0</virtualMode> <allowedVirtualModeTypes type="Ixia.RpFramework.Server.Core.ShadowedPropertyStringList" /> <doOwnership type="Bool">0</doOwnership> <branchToNicMap type="ListNode" /> <cpuAggregation type="Bool">0</cpuAggregation> <activePort type="String" /> <networkLayersManager type="Ixia.Aptixia.StackManager.NetworkLayersManager" objectid="f7999b28-d3d6-4a69-bd61-ab5516b7c540" version="6.70.420"> <ixLoadRestObjectId type="Int">3</ixLoadRestObjectId> </networkLayersManager> <ixLoadRestObjectId type="Int">1</ixLoadRestObjectId> </Ixia.Aptixia.StackManager.PortGroup> <Ixia.Aptixia.StackManager.PortGroup type="Ixia.Aptixia.StackManager.PortGroup" objectid="b1fbd381-b769-4ec1-8715-299508ecb458" version="6.70.420"> <name type="String">VM2</name> <category type="String" /> <stack type="Ixia.Aptixia.StackManager.L1EthernetPlugin" objectid="48f486a6-f09b-4770-a091-e9ce609e9bec" version="6.70.420"> <autoNegotiate type="Bool">1</autoNegotiate> <speed type="String">k100FD</speed> <advertise10Half type="Bool">1</advertise10Half> <advertise10Full type="Bool">1</advertise10Full> <advertise100Half type="Bool">1</advertise100Half> <advertise100Full type="Bool">1</advertise100Full> <advertise1000Full type="Bool">1</advertise1000Full> <advertise2500Full type="Bool">1</advertise2500Full> <advertise5000Full type="Bool">1</advertise5000Full> <advertise10000Full type="Bool">1</advertise10000Full> <cardDualPhy type="Ixia.Aptixia.StackManager.DualPhyPlugin" objectid="c500685a-4fcb-4335-abe0-70c98cf1ba43" version="6.70.420"> <medium type="String">auto</medium> <ixLoadRestObjectId type="Int">4</ixLoadRestObjectId> </cardDualPhy> <cardElm type="Ixia.Aptixia.StackManager.EthernetELMPlugin" objectid="92644bb5-bda6-4072-98f9-47b47e4597c7" version="6.70.420"> <negotiateMasterSlave type="Bool">1</negotiateMasterSlave> <negotiationType type="String">master</negotiationType> <ixLoadRestObjectId type="Int">4</ixLoadRestObjectId> </cardElm> <enableFlowControl type="Bool">0</enableFlowControl> <directedAddress type="String">01:80:C2:00:00:01</directedAddress> <dataCenter type="Ixia.Aptixia.StackManager.DataCenterSettings" objectid="3726f608-97b7-4bf2-b88e-4c0bf13b45a0" version="6.70.420"> <dcSupported type="Bool">1</dcSupported> <dcEnabled type="Bool">0</dcEnabled> <dcFlowControl type="Ixia.Aptixia.StackManager.DataCenterSettingsSkeleton+eFlowControlType">0</dcFlowControl> <dcMode type="Ixia.Aptixia.StackManager.DataCenterSettingsSkeleton+eDataCenterMode">2</dcMode> <dcPfcMapping type="IntList" /> <dcPfcPauseEnable type="Bool">0</dcPfcPauseEnable> <dcPfcPauseDelay type="Int">1</dcPfcPauseDelay> <ixLoadRestObjectId type="Int">4</ixLoadRestObjectId> </dataCenter> <childrenList type="ListNode"> <Ixia.Aptixia.StackManager.L2EthernetPlugin type="Ixia.Aptixia.StackManager.L2EthernetPlugin" objectid="820b0582-6a4c-4109-bd5d-587621a43ce2" version="6.70.420"> <macRangeList type="ListNode"> <Ixia.Aptixia.StackManager.MacRange type="Ixia.Aptixia.StackManager.MacRange" objectid="aa73bd95-9ffb-411e-8ab3-8a128767aacb" version="6.70.420"> <enabled type="Bool">1</enabled> <name type="String">MAC-R2</name> <mac type="String">00:0A:43:4F:2A:00</mac> <incrementBy type="String">00:00:00:00:00:01</incrementBy> <mtu type="Int">1410</mtu> <count type="Int">1</count> <vlanRange type="Ixia.Aptixia.StackManager.VlanIdRange" objectid="7024f4b3-1a75-491a-8da1-17a45a15d5cc" version="6.70.420"> <name type="String">VLAN-R2</name> <enabled type="Bool">0</enabled> <firstId type="Int">1</firstId> <incrementStep type="Int">1</incrementStep> <increment type="Int">1</increment> <uniqueCount type="Int">4094</uniqueCount> <priority type="Int">1</priority> <tpid type="String">0x8100</tpid> <innerEnable type="Bool">0</innerEnable> <innerFirstId type="Int">1</innerFirstId> <innerIncrementStep type="Int">1</innerIncrementStep> <innerIncrement type="Int">1</innerIncrement> <innerUniqueCount type="Int">4094</innerUniqueCount> <innerPriority type="Int">1</innerPriority> <idIncrMode type="Int">2</idIncrMode> <innerTpid type="String">0x8100</innerTpid> <ixLoadRestObjectId type="Int">2</ixLoadRestObjectId> </vlanRange> <ixLoadRestObjectId type="Int">2</ixLoadRestObjectId> </Ixia.Aptixia.StackManager.MacRange> </macRangeList> <vlanRangeList type="ListNode"> <Ixia.Aptixia.StackManager.VlanIdRange type="Ixia.Aptixia.StackManager.VlanIdRange" objectid="7024f4b3-1a75-491a-8da1-17a45a15d5cc" version="6.70.420" /> </vlanRangeList> <childrenList type="ListNode"> <Ixia.Aptixia.StackManager.IpV4V6Plugin type="Ixia.Aptixia.StackManager.IpV4V6Plugin" objectid="e53ae54e-ab21-4997-b532-e9bd58210050" version="6.70.420"> <rangeList type="ListNode"> <Ixia.Aptixia.StackManager.IpV4V6Range type="Ixia.Aptixia.StackManager.IpV4V6Range" objectid="c69dae97-f1c2-4505-aedb-3f9ca3f4d02a" version="6.70.420"> <enabled type="Bool">1</enabled> <name type="String">IP-R2</name> <ipType type="String">IPv4</ipType> <ipAddress type="String">{{ipcard2}}</ipAddress> <prefix type="Int">16</prefix> <incrementBy type="String">0.0.0.1</incrementBy> <count type="Int">1</count> <autoCountEnabled type="Bool">0</autoCountEnabled> <gatewayAddress type="String">{{ipgw}}</gatewayAddress> <gatewayIncrement type="String">0.0.0.0</gatewayIncrement> <gatewayIncrementMode type="String">perSubnet</gatewayIncrementMode> <enableGatewayArp type="Bool">0</enableGatewayArp> <generateStatistics type="Bool">0</generateStatistics> <mss type="Int">1410</mss> <randomizeAddress type="Bool">0</randomizeAddress> <randomizeSeed type="Int">3534372608</randomizeSeed> <autoMacGeneration type="Bool">1</autoMacGeneration> <macRange type="Ixia.Aptixia.StackManager.MacRange" objectid="aa73bd95-9ffb-411e-8ab3-8a128767aacb" version="6.70.420" /> <vlanRange type="Ixia.Aptixia.StackManager.VlanIdRange" objectid="7024f4b3-1a75-491a-8da1-17a45a15d5cc" version="6.70.420" /> <atmRange type="Ixia.Aptixia.StackManager.AtmRange" objectid="00000000-0000-0000-0000-000000000000" /> <pvcRange type="Ixia.Aptixia.StackManager.PvcRange" objectid="00000000-0000-0000-0000-000000000000" /> <autoIpTypeEnabled type="Bool">0</autoIpTypeEnabled> <ixLoadRestObjectId type="Int">2</ixLoadRestObjectId> </Ixia.Aptixia.StackManager.IpV4V6Range> </rangeList> <rangeGroups type="ListNode"> <Ixia.Aptixia.StackManager.RangeGroup type="Ixia.Aptixia.StackManager.RangeGroup" objectid="de9d629b-e0dc-41f5-99cb-5aa8a808ceee" version="6.70.420"> <name type="String">DistGroup1</name> <distribType type="Ixia.Aptixia.StackManager.RangeGroupSkeleton+eDistributionType">0</distribType> <rangeList type="ListNode"> <Ixia.Aptixia.StackManager.IpV4V6Range type="Ixia.Aptixia.StackManager.IpV4V6Range" objectid="c69dae97-f1c2-4505-aedb-3f9ca3f4d02a" version="6.70.420" /> </rangeList> <ixLoadRestObjectId type="Int">2</ixLoadRestObjectId> </Ixia.Aptixia.StackManager.RangeGroup> </rangeGroups> <childrenList type="ListNode" /> <extensionList type="ListNode" /> <dscMode type="Bool">0</dscMode> <name type="String">IP-2</name> <ixLoadRestObjectId type="Int">6</ixLoadRestObjectId> </Ixia.Aptixia.StackManager.IpV4V6Plugin> </childrenList> <extensionList type="ListNode" /> <dscMode type="Bool">0</dscMode> <name type="String">MAC/VLAN-2</name> <ixLoadRestObjectId type="Int">5</ixLoadRestObjectId> </Ixia.Aptixia.StackManager.L2EthernetPlugin> </childrenList> <extensionList type="ListNode" /> <dscMode type="Bool">0</dscMode> <name type="String">Ethernet-2</name> <ixLoadRestObjectId type="Int">4</ixLoadRestObjectId> </stack> <globalPluginList type="ListNode"> <Ixia.Aptixia.StackManager.IxLoadSettingsPlugin type="Ixia.Aptixia.StackManager.IxLoadSettingsPlugin" objectid="26685c48-95e7-4da5-a893-fc527b814b1c" version="1.0.0"> <teardownInterfaceWithUser type="Bool">0</teardownInterfaceWithUser> <interfaceBehavior type="Int">0</interfaceBehavior> <name type="String">Settings-2</name> <ixLoadRestObjectId type="Int">7</ixLoadRestObjectId> </Ixia.Aptixia.StackManager.IxLoadSettingsPlugin> <Ixia.Aptixia.StackManager.FilterPlugin type="Ixia.Aptixia.StackManager.FilterPlugin" objectid="3f42c205-a9ad-433b-b7af-19ea7ec76940" version="6.70.420"> <auto type="Bool">1</auto> <all type="Bool">0</all> <pppoecontrol type="Bool">0</pppoecontrol> <pppoenetwork type="Bool">0</pppoenetwork> <isis type="Bool">0</isis> <ip type="String" /> <tcp type="String" /> <udp type="String" /> <mac type="String" /> <icmp type="String" /> <name type="String">Filter-2</name> <ixLoadRestObjectId type="Int">8</ixLoadRestObjectId> </Ixia.Aptixia.StackManager.FilterPlugin> <Ixia.Aptixia.StackManager.GratArpPlugin type="Ixia.Aptixia.StackManager.GratArpPlugin" objectid="fe43b342-829b-4ff4-8671-49ba1c4441e5" version="6.70.420"> <enabled type="Bool">1</enabled> <forwardGratArp type="Bool">0</forwardGratArp> <rateControlEnabled type="Bool">0</rateControlEnabled> <maxFramesPerSecond type="Int">0</maxFramesPerSecond> <name type="String">GratARP-2</name> <ixLoadRestObjectId type="Int">9</ixLoadRestObjectId> </Ixia.Aptixia.StackManager.GratArpPlugin> <Ixia.Aptixia.StackManager.TCPPlugin type="Ixia.Aptixia.StackManager.TCPPlugin" objectid="57601116-d86b-4c04-856b-2241507a0378" version="6.70.420"> <bestPerfSettings type="Bool">0</bestPerfSettings> <accept_ra_all type="Bool">0</accept_ra_all> <tcp_abort_on_overflow type="Bool">0</tcp_abort_on_overflow> <tcp_adv_win_scale type="Int">2</tcp_adv_win_scale> <tcp_app_win type="Int">31</tcp_app_win> <tcp_bic type="Int">0</tcp_bic> <tcp_bic_fast_convergence type="Int">1</tcp_bic_fast_convergence> <tcp_bic_low_window type="Int">14</tcp_bic_low_window> <tcp_dsack type="Bool">1</tcp_dsack> <tcp_ecn type="Bool">0</tcp_ecn> <tcp_fack type="Bool">1</tcp_fack> <tcp_fin_timeout type="Int">60</tcp_fin_timeout> <tcp_frto type="Int">0</tcp_frto> <tcp_keepalive_intvl type="Int">75</tcp_keepalive_intvl> <tcp_keepalive_probes type="Int">9</tcp_keepalive_probes> <tcp_keepalive_time type="Int">7200</tcp_keepalive_time> <tcp_low_latency type="Int">0</tcp_low_latency> <tcp_max_orphans type="Int">8192</tcp_max_orphans> <tcp_max_syn_backlog type="Int">1024</tcp_max_syn_backlog> <tcp_max_tw_buckets type="Int">180000</tcp_max_tw_buckets> <tcp_mem_low type="Int">24576</tcp_mem_low> <tcp_mem_pressure type="Int">32768</tcp_mem_pressure> <tcp_mem_high type="Int">49152</tcp_mem_high> <tcp_moderate_rcvbuf type="Int">0</tcp_moderate_rcvbuf> <tcp_no_metrics_save type="Bool">0</tcp_no_metrics_save> <tcp_orphan_retries type="Int">0</tcp_orphan_retries> <tcp_reordering type="Int">3</tcp_reordering> <tcp_retrans_collapse type="Bool">1</tcp_retrans_collapse> <tcp_retries1 type="Int">3</tcp_retries1> <tcp_retries2 type="Int">5</tcp_retries2> <tcp_rfc1337 type="Bool">0</tcp_rfc1337> <tcp_rmem_min type="Int">4096</tcp_rmem_min> <tcp_rmem_default type="Int">4096</tcp_rmem_default> <tcp_rmem_max type="Int">262144</tcp_rmem_max> <tcp_sack type="Bool">1</tcp_sack> <tcp_stdurg type="Bool">0</tcp_stdurg> <tcp_synack_retries type="Int">5</tcp_synack_retries> <tcp_syn_retries type="Int">5</tcp_syn_retries> <tcp_timestamps type="Bool">1</tcp_timestamps> <tcp_tw_recycle type="Bool">1</tcp_tw_recycle> <tcp_tw_reuse type="Bool">0</tcp_tw_reuse> <tcp_vegas_alpha type="Int">2</tcp_vegas_alpha> <tcp_vegas_beta type="Int">6</tcp_vegas_beta> <tcp_vegas_cong_avoid type="Int">0</tcp_vegas_cong_avoid> <tcp_vegas_gamma type="Int">2</tcp_vegas_gamma> <tcp_westwood type="Int">0</tcp_westwood> <tcp_window_scaling type="Bool">0</tcp_window_scaling> <ip_no_pmtu_disc type="Bool">1</ip_no_pmtu_disc> <tcp_wmem_min type="Int">4096</tcp_wmem_min> <tcp_wmem_default type="Int">4096</tcp_wmem_default> <tcp_wmem_max type="Int">262144</tcp_wmem_max> <tcp_ipfrag_time type="Int">30</tcp_ipfrag_time> <tcp_port_min type="Int">1024</tcp_port_min> <tcp_port_max type="Int">65535</tcp_port_max> <tcp_rto_min type="Int">200</tcp_rto_min> <tcp_rto_max type="Int">120000</tcp_rto_max> <tcp_tw_rfc1323_strict type="Bool">0</tcp_tw_rfc1323_strict> <udp_port_randomization type="Bool">0</udp_port_randomization> <disable_min_max_buffer_size type="Bool">1</disable_min_max_buffer_size> <llm_hdr_gap type="Int">8</llm_hdr_gap> <llm_hdr_gap_ns type="Int">10</llm_hdr_gap_ns> <inter_packet_granular_delay type="Double">0</inter_packet_granular_delay> <delayed_acks type="Bool">1</delayed_acks> <accept_ra_default type="Bool">0</accept_ra_default> <rps_needed type="Bool">0</rps_needed> <delayed_acks_segments type="Int">0</delayed_acks_segments> <delayed_acks_timeout type="Int">0</delayed_acks_timeout> <tcp_large_icwnd type="Int">0</tcp_large_icwnd> <tcp_mgmt_rmem type="Int">87380</tcp_mgmt_rmem> <tcp_mgmt_wmem type="Int">32768</tcp_mgmt_wmem> <adjust_tcp_buffers type="Bool">1</adjust_tcp_buffers> <name type="String">TCP-2</name> <ixLoadRestObjectId type="Int">10</ixLoadRestObjectId> </Ixia.Aptixia.StackManager.TCPPlugin> <Ixia.Aptixia.StackManager.DnsPlugin type="Ixia.Aptixia.StackManager.DnsPlugin" objectid="7682d113-cd50-4cc6-b23a-569c29f03886" version="6.70.420"> <domain type="String" /> <timeout type="Int">30</timeout> <nameServerList type="ListNode" /> <searchList type="ListNode" /> <hostList type="ListNode" /> <name type="String">DNS-2</name> <ixLoadRestObjectId type="Int">12</ixLoadRestObjectId> </Ixia.Aptixia.StackManager.DnsPlugin> <Ixia.Aptixia.StackManager.MeshingPlugin type="Ixia.Aptixia.StackManager.MeshingPlugin" objectid="f5f1e4c2-eef8-4a34-ac13-e1e3eeb5328b" version="6.70.420"> <trafficMaps type="ListNode" /> <activityRangeMapInfoList type="ListNode" /> <name type="String">Meshing-2</name> <ixLoadRestObjectId type="Int">13</ixLoadRestObjectId> </Ixia.Aptixia.StackManager.MeshingPlugin> </globalPluginList> <portList type="Ixia.RpFramework.Server.Core.ShadowedPropertyStringList"> <String>{{ipchassis}};2;1</String> </portList> <typeSpecificData type="ListNode"> <Ixia.Aptixia.StackManager.IPSecPortGroupData type="Ixia.Aptixia.StackManager.IPSecPortGroupData" objectid="c279f05c-d2a7-476d-b4af-9c8ff0d878dd" version="6.70.0"> <role type="String">Initiator</role> <associates type="ListNode" /> <overrideGlobalOptions type="Bool">0</overrideGlobalOptions> <useMaxInitiationRate type="Bool">0</useMaxInitiationRate> <maxInitiationRate type="Int">50</maxInitiationRate> <useMaxPendingTunnels type="Bool">0</useMaxPendingTunnels> <maxPendingTunnels type="Int">50</maxPendingTunnels> <teardownRate type="Int">10</teardownRate> <enableESPPerStreamStats type="Bool">0</enableESPPerStreamStats> <enableESPReplayStats type="Bool">0</enableESPReplayStats> <activities type="ListNode" /> <pcpuLogLevel type="String">0</pcpuLogLevel> <ixLoadRestObjectId type="Int">2</ixLoadRestObjectId> </Ixia.Aptixia.StackManager.IPSecPortGroupData> </typeSpecificData> <virtualMode type="Bool">0</virtualMode> <allowedVirtualModeTypes type="Ixia.RpFramework.Server.Core.ShadowedPropertyStringList" /> <doOwnership type="Bool">0</doOwnership> <branchToNicMap type="ListNode" /> <cpuAggregation type="Bool">0</cpuAggregation> <activePort type="String" /> <networkLayersManager type="Ixia.Aptixia.StackManager.NetworkLayersManager" objectid="d581a4e6-0e4b-4692-a0e2-12fd25d7db35" version="6.70.420"> <ixLoadRestObjectId type="Int">4</ixLoadRestObjectId> </networkLayersManager> <ixLoadRestObjectId type="Int">2</ixLoadRestObjectId> </Ixia.Aptixia.StackManager.PortGroup> </portGroupList> <externalProperties type="Ixia.Aptixia.StackManager.ExternalPropertyManager" objectid="0c7c98dd-4e41-4fb8-adb7-918848d0ba3e" version="6.70.420"> <properties type="ListNode"> <Ixia.Aptixia.StackManager.ExternalPropertyInfo type="Ixia.Aptixia.StackManager.ExternalPropertyInfo" objectid="c7be9c3b-0335-4cf6-bbcb-d9a90d6b78a0" version="6.70.420"> <propertyName type="String">Publish Statistics</propertyName> <targetType type="String">DHCPRange</targetType> <valueType type="String">ExternalValueBoolean</valueType> <description type="String">Enable collection of interface statistics on this range</description> </Ixia.Aptixia.StackManager.ExternalPropertyInfo> <Ixia.Aptixia.StackManager.ExternalPropertyInfo type="Ixia.Aptixia.StackManager.ExternalPropertyInfo" objectid="d63defc3-039a-4af6-b0f6-19be5481d6bb" version="6.70.420"> <propertyName type="String">Publish Statistics</propertyName> <targetType type="String">MobileSubscribersRange</targetType> <valueType type="String">ExternalValueBoolean</valueType> <description type="String">Enable collection of interface statistics on this range</description> </Ixia.Aptixia.StackManager.ExternalPropertyInfo> <Ixia.Aptixia.StackManager.ExternalPropertyInfo type="Ixia.Aptixia.StackManager.ExternalPropertyInfo" objectid="d62b40dc-41c2-48b0-b3a6-4aa74e171a8c" version="6.70.420"> <propertyName type="String">Publish Statistics</propertyName> <targetType type="String">DHCPServerRange</targetType> <valueType type="String">ExternalValueBoolean</valueType> <description type="String">Enable collection of interface statistics on this range</description> </Ixia.Aptixia.StackManager.ExternalPropertyInfo> <Ixia.Aptixia.StackManager.ExternalPropertyInfo type="Ixia.Aptixia.StackManager.ExternalPropertyInfo" objectid="45eba56d-c42f-4bbf-830b-1f102bf83c92" version="6.70.420"> <propertyName type="String">Publish Statistics</propertyName> <targetType type="String">EGTPUERange</targetType> <valueType type="String">ExternalValueBoolean</valueType> <description type="String">Enable collection of interface statistics on this range</description> </Ixia.Aptixia.StackManager.ExternalPropertyInfo> <Ixia.Aptixia.StackManager.ExternalPropertyInfo type="Ixia.Aptixia.StackManager.ExternalPropertyInfo" objectid="a9e91079-1215-444b-a0a0-59f8ff4e7746" version="6.70.420"> <propertyName type="String">Publish Statistics</propertyName> <targetType type="String">GTPGRange</targetType> <valueType type="String">ExternalValueBoolean</valueType> <description type="String">Enable collection of interface statistics on this range</description> </Ixia.Aptixia.StackManager.ExternalPropertyInfo> <Ixia.Aptixia.StackManager.ExternalPropertyInfo type="Ixia.Aptixia.StackManager.ExternalPropertyInfo" objectid="b91778ea-dac5-499a-8c54-b8ba0c78b44b" version="6.70.420"> <propertyName type="String">Publish Statistics</propertyName> <targetType type="String">EGTPRange_SGW</targetType> <valueType type="String">ExternalValueBoolean</valueType> <description type="String">Enable collection of interface statistics on this range</description> </Ixia.Aptixia.StackManager.ExternalPropertyInfo> <Ixia.Aptixia.StackManager.ExternalPropertyInfo type="Ixia.Aptixia.StackManager.ExternalPropertyInfo" objectid="13f113b2-8ce8-4742-ac72-f8ee04caa5d6" version="6.70.420"> <propertyName type="String">Publish Statistics</propertyName> <targetType type="String">GTPSUERange</targetType> <valueType type="String">ExternalValueBoolean</valueType> <description type="String">Enable collection of interface statistics on this range</description> </Ixia.Aptixia.StackManager.ExternalPropertyInfo> <Ixia.Aptixia.StackManager.ExternalPropertyInfo type="Ixia.Aptixia.StackManager.ExternalPropertyInfo" objectid="f2723794-57ce-471c-b3ae-10cd5ee235a2" version="6.70.420"> <propertyName type="String">Publish Statistics</propertyName> <targetType type="String">IpV4V6Range</targetType> <valueType type="String">ExternalValueBoolean</valueType> <description type="String">Enable collection of interface statistics on this range</description> </Ixia.Aptixia.StackManager.ExternalPropertyInfo> <Ixia.Aptixia.StackManager.ExternalPropertyInfo type="Ixia.Aptixia.StackManager.ExternalPropertyInfo" objectid="3e8d5274-5483-41ca-8f4d-b1fce291dad1" version="6.70.420"> <propertyName type="String">Publish Statistics</propertyName> <targetType type="String">PppoxRange</targetType> <valueType type="String">ExternalValueBoolean</valueType> <description type="String">Enable collection of interface statistics on this range</description> </Ixia.Aptixia.StackManager.ExternalPropertyInfo> <Ixia.Aptixia.StackManager.ExternalPropertyInfo type="Ixia.Aptixia.StackManager.ExternalPropertyInfo" objectid="85b44e1f-0689-4feb-a14d-b43a1b837c1d" version="6.70.420"> <propertyName type="String">Publish Statistics</propertyName> <targetType type="String">L2tpRange</targetType> <valueType type="String">ExternalValueBoolean</valueType> <description type="String">Enable collection of interface statistics on this range</description> </Ixia.Aptixia.StackManager.ExternalPropertyInfo> <Ixia.Aptixia.StackManager.ExternalPropertyInfo type="Ixia.Aptixia.StackManager.ExternalPropertyInfo" objectid="c0383f23-e15f-4a97-bbf8-6ade8f6f2b0c" version="6.70.420"> <propertyName type="String">Publish Statistics</propertyName> <targetType type="String">IxCatLTEUEUeRange</targetType> <valueType type="String">ExternalValueBoolean</valueType> <description type="String">Enable collection of interface statistics on this range</description> </Ixia.Aptixia.StackManager.ExternalPropertyInfo> <Ixia.Aptixia.StackManager.ExternalPropertyInfo type="Ixia.Aptixia.StackManager.ExternalPropertyInfo" objectid="5912723b-fb9a-4e0a-bae4-38730c73cc0e" version="6.70.420"> <propertyName type="String">Publish Statistics</propertyName> <targetType type="String">SixRdRange</targetType> <valueType type="String">ExternalValueBoolean</valueType> <description type="String">Enable collection of interface statistics on this range</description> </Ixia.Aptixia.StackManager.ExternalPropertyInfo> <Ixia.Aptixia.StackManager.ExternalPropertyInfo type="Ixia.Aptixia.StackManager.ExternalPropertyInfo" objectid="9a6cb101-a624-4978-8d0c-85c5b6c26906" version="6.70.420"> <propertyName type="String">Publish Statistics</propertyName> <targetType type="String">EGTPSgsnS3RangeUe</targetType> <valueType type="String">ExternalValueBoolean</valueType> <description type="String">Enable collection of interface statistics on this range</description> </Ixia.Aptixia.StackManager.ExternalPropertyInfo> <Ixia.Aptixia.StackManager.ExternalPropertyInfo type="Ixia.Aptixia.StackManager.ExternalPropertyInfo" objectid="4f85b4a9-d55e-494e-beb6-5ef5b5d04cf8" version="6.70.420"> <propertyName type="String">Publish Statistics</propertyName> <targetType type="String">EmulatedRouterRange</targetType> <valueType type="String">ExternalValueBoolean</valueType> <description type="String">Enable collection of interface statistics on this range</description> </Ixia.Aptixia.StackManager.ExternalPropertyInfo> <Ixia.Aptixia.StackManager.ExternalPropertyInfo type="Ixia.Aptixia.StackManager.ExternalPropertyInfo" objectid="489dbc18-55b5-4902-99ab-9a289a8c2e2b" version="6.70.420"> <propertyName type="String">Publish Statistics</propertyName> <targetType type="String">GTPNGAPRange</targetType> <valueType type="String">ExternalValueBoolean</valueType> <description type="String">Enable collection of interface statistics on this range</description> </Ixia.Aptixia.StackManager.ExternalPropertyInfo> <Ixia.Aptixia.StackManager.ExternalPropertyInfo type="Ixia.Aptixia.StackManager.ExternalPropertyInfo" objectid="2992f902-204b-4050-8798-0b24ee090922" version="6.70.420"> <propertyName type="String">Publish Statistics</propertyName> <targetType type="String">IxCatRNCIuPSUeRange</targetType> <valueType type="String">ExternalValueBoolean</valueType> <description type="String">Enable collection of interface statistics on this range</description> </Ixia.Aptixia.StackManager.ExternalPropertyInfo> <Ixia.Aptixia.StackManager.ExternalPropertyInfo type="Ixia.Aptixia.StackManager.ExternalPropertyInfo" objectid="8b53f68d-6027-4150-9ca3-5a62606526bd" version="6.70.420"> <propertyName type="String">Publish Statistics</propertyName> <targetType type="String">GTPNGUERange</targetType> <valueType type="String">ExternalValueBoolean</valueType> <description type="String">Enable collection of interface statistics on this range</description> </Ixia.Aptixia.StackManager.ExternalPropertyInfo> <Ixia.Aptixia.StackManager.ExternalPropertyInfo type="Ixia.Aptixia.StackManager.ExternalPropertyInfo" objectid="e85d740f-87a2-473a-a133-e08d5bb48ed2" version="6.70.420"> <propertyName type="String">Publish Statistics</propertyName> <targetType type="String">EGTPUERange_S5S8_SGW</targetType> <valueType type="String">ExternalValueBoolean</valueType> <description type="String">Enable collection of interface statistics on this range</description> </Ixia.Aptixia.StackManager.ExternalPropertyInfo> <Ixia.Aptixia.StackManager.ExternalPropertyInfo type="Ixia.Aptixia.StackManager.ExternalPropertyInfo" objectid="5a179c3f-82db-44b3-95fc-6e4dbfe17556" version="6.70.420"> <propertyName type="String">Publish Statistics</propertyName> <targetType type="String">EGTPPcrfRange_S5S8_PGW</targetType> <valueType type="String">ExternalValueBoolean</valueType> <description type="String">Enable collection of interface statistics on this range</description> </Ixia.Aptixia.StackManager.ExternalPropertyInfo> <Ixia.Aptixia.StackManager.ExternalPropertyInfo type="Ixia.Aptixia.StackManager.ExternalPropertyInfo" objectid="55d890fe-0faa-41bd-9fca-12463fd14b3d" version="6.70.420"> <propertyName type="String">Publish Statistics</propertyName> <targetType type="String">DSLiteRange</targetType> <valueType type="String">ExternalValueBoolean</valueType> <description type="String">Enable collection of interface statistics on this range</description> </Ixia.Aptixia.StackManager.ExternalPropertyInfo> <Ixia.Aptixia.StackManager.ExternalPropertyInfo type="Ixia.Aptixia.StackManager.ExternalPropertyInfo" objectid="8dc83b0a-45a9-46b7-9b52-731eb114d315" version="6.70.420"> <propertyName type="String">Publish Statistics</propertyName> <targetType type="String">EGTPSGSNRangeUe</targetType> <valueType type="String">ExternalValueBoolean</valueType> <description type="String">Enable collection of interface statistics on this range</description> </Ixia.Aptixia.StackManager.ExternalPropertyInfo> <Ixia.Aptixia.StackManager.ExternalPropertyInfo type="Ixia.Aptixia.StackManager.ExternalPropertyInfo" objectid="a0883ed3-63b7-47cb-ab77-7ceebb8212e1" version="6.70.420"> <propertyName type="String">Publish Statistics</propertyName> <targetType type="String">SlaacRange</targetType> <valueType type="String">ExternalValueBoolean</valueType> <description type="String">Enable collection of interface statistics on this range</description> </Ixia.Aptixia.StackManager.ExternalPropertyInfo> <Ixia.Aptixia.StackManager.ExternalPropertyInfo type="Ixia.Aptixia.StackManager.ExternalPropertyInfo" objectid="7bb58c6e-377f-46be-a2b1-7d86997b2fa1" version="6.70.420"> <propertyName type="String">Publish Statistics</propertyName> <targetType type="String">AtmRange</targetType> <valueType type="String">ExternalValueBoolean</valueType> <description type="String">Enable collection of interface statistics on this range</description> </Ixia.Aptixia.StackManager.ExternalPropertyInfo> <Ixia.Aptixia.StackManager.ExternalPropertyInfo type="Ixia.Aptixia.StackManager.ExternalPropertyInfo" objectid="8a4c92be-449a-4f0e-bcf3-55fdfcc369cc" version="6.70.420"> <propertyName type="String">Publish Statistics</propertyName> <targetType type="String">IxCatMMEApnRange</targetType> <valueType type="String">ExternalValueBoolean</valueType> <description type="String">Enable collection of interface statistics on this range</description> </Ixia.Aptixia.StackManager.ExternalPropertyInfo> <Ixia.Aptixia.StackManager.ExternalPropertyInfo type="Ixia.Aptixia.StackManager.ExternalPropertyInfo" objectid="588aea0d-748b-4b82-9418-4f3a35185d2e" version="6.70.420"> <propertyName type="String">Publish Statistics</propertyName> <targetType type="String">IxCatENodeBUuApnRange</targetType> <valueType type="String">ExternalValueBoolean</valueType> <description type="String">Enable collection of interface statistics on this range</description> </Ixia.Aptixia.StackManager.ExternalPropertyInfo> <Ixia.Aptixia.StackManager.ExternalPropertyInfo type="Ixia.Aptixia.StackManager.ExternalPropertyInfo" objectid="9046358f-dde4-4f17-b596-5903079d3bcf" version="6.70.420"> <propertyName type="String">Publish Statistics</propertyName> <targetType type="String">MacRange</targetType> <valueType type="String">ExternalValueBoolean</valueType> <description type="String">Enable collection of interface statistics on this range</description> </Ixia.Aptixia.StackManager.ExternalPropertyInfo> <Ixia.Aptixia.StackManager.ExternalPropertyInfo type="Ixia.Aptixia.StackManager.ExternalPropertyInfo" objectid="a28df47f-783e-4bc9-aa22-78636ceaf1b7" version="6.70.420"> <propertyName type="String">Publish Statistics</propertyName> <targetType type="String">DualStackIPRange</targetType> <valueType type="String">ExternalValueBoolean</valueType> <description type="String">Enable collection of interface statistics on this range</description> </Ixia.Aptixia.StackManager.ExternalPropertyInfo> <Ixia.Aptixia.StackManager.ExternalPropertyInfo type="Ixia.Aptixia.StackManager.ExternalPropertyInfo" objectid="19deb9c9-8aef-41e2-8b8b-f01a8b274266" version="6.70.420"> <propertyName type="String">Publish Statistics</propertyName> <targetType type="String">EGTPUERange_S2a_TWAN</targetType> <valueType type="String">ExternalValueBoolean</valueType> <description type="String">Enable collection of interface statistics on this range</description> </Ixia.Aptixia.StackManager.ExternalPropertyInfo> <Ixia.Aptixia.StackManager.ExternalPropertyInfo type="Ixia.Aptixia.StackManager.ExternalPropertyInfo" objectid="6abb9650-bc55-4e9e-9dfc-81964310e662" version="6.70.420"> <propertyName type="String">Publish Statistics</propertyName> <targetType type="String">IxCatSGSNIuPSApnRange</targetType> <valueType type="String">ExternalValueBoolean</valueType> <description type="String">Enable collection of interface statistics on this range</description> </Ixia.Aptixia.StackManager.ExternalPropertyInfo> <Ixia.Aptixia.StackManager.ExternalPropertyInfo type="Ixia.Aptixia.StackManager.ExternalPropertyInfo" objectid="35dc8f8d-44fd-4c73-9771-6c62bd227435" version="6.70.420"> <propertyName type="String">Publish Statistics</propertyName> <targetType type="String">IxCatENodeBSimUeRange</targetType> <valueType type="String">ExternalValueBoolean</valueType> <description type="String">Enable collection of interface statistics on this range</description> </Ixia.Aptixia.StackManager.ExternalPropertyInfo> <Ixia.Aptixia.StackManager.ExternalPropertyInfo type="Ixia.Aptixia.StackManager.ExternalPropertyInfo" objectid="3c48b615-2c03-4c1b-8712-e83f63841d13" version="6.70.420"> <propertyName type="String">Publish Statistics</propertyName> <targetType type="String">S6dRange</targetType> <valueType type="String">ExternalValueBoolean</valueType> <description type="String">Enable collection of interface statistics on this range</description> </Ixia.Aptixia.StackManager.ExternalPropertyInfo> <Ixia.Aptixia.StackManager.ExternalPropertyInfo type="Ixia.Aptixia.StackManager.ExternalPropertyInfo" objectid="cd5080c1-8de4-4eb3-985a-3e9fe38ebed4" version="6.70.420"> <propertyName type="String">Publish Statistics</propertyName> <targetType type="String">UERangeBase</targetType> <valueType type="String">ExternalValueBoolean</valueType> <description type="String">Enable collection of interface statistics on this range</description> </Ixia.Aptixia.StackManager.ExternalPropertyInfo> <Ixia.Aptixia.StackManager.ExternalPropertyInfo type="Ixia.Aptixia.StackManager.ExternalPropertyInfo" objectid="24c2c3a6-f9fd-4b8e-bc9f-aeeac63bae01" version="6.70.420"> <propertyName type="String">Publish Statistics</propertyName> <targetType type="String">EGTPMmeS10RangeUe</targetType> <valueType type="String">ExternalValueBoolean</valueType> <description type="String">Enable collection of interface statistics on this range</description> </Ixia.Aptixia.StackManager.ExternalPropertyInfo> <Ixia.Aptixia.StackManager.ExternalPropertyInfo type="Ixia.Aptixia.StackManager.ExternalPropertyInfo" objectid="529a2786-eb8c-40cb-80b9-83415888012c" version="6.70.420"> <propertyName type="String">Publish Statistics</propertyName> <targetType type="String">S6aRange</targetType> <valueType type="String">ExternalValueBoolean</valueType> <description type="String">Enable collection of interface statistics on this range</description> </Ixia.Aptixia.StackManager.ExternalPropertyInfo> <Ixia.Aptixia.StackManager.ExternalPropertyInfo type="Ixia.Aptixia.StackManager.ExternalPropertyInfo" objectid="6593d153-2b87-4171-a8bf-8ae2b1907487" version="6.70.420"> <propertyName type="String">Publish Statistics</propertyName> <targetType type="String">PptpRange</targetType> <valueType type="String">ExternalValueBoolean</valueType> <description type="String">Enable collection of interface statistics on this range</description> </Ixia.Aptixia.StackManager.ExternalPropertyInfo> <Ixia.Aptixia.StackManager.ExternalPropertyInfo type="Ixia.Aptixia.StackManager.ExternalPropertyInfo" objectid="819a5c99-14bf-4efb-912a-5d2c985e97d1" version="6.70.420"> <propertyName type="String">Publish Statistics</propertyName> <targetType type="String">BmScRange</targetType> <valueType type="String">ExternalValueBoolean</valueType> <description type="String">Enable collection of interface statistics on this range</description> </Ixia.Aptixia.StackManager.ExternalPropertyInfo> <Ixia.Aptixia.StackManager.ExternalPropertyInfo type="Ixia.Aptixia.StackManager.ExternalPropertyInfo" objectid="83ff7bd6-95cf-4d75-91e4-3e2a9f5f6b7d" version="6.70.420"> <propertyName type="String">Publish Statistics</propertyName> <targetType type="String">MBmsGwRange</targetType> <valueType type="String">ExternalValueBoolean</valueType> <description type="String">Enable collection of interface statistics on this range</description> </Ixia.Aptixia.StackManager.ExternalPropertyInfo> <Ixia.Aptixia.StackManager.ExternalPropertyInfo type="Ixia.Aptixia.StackManager.ExternalPropertyInfo" objectid="022d8e72-36c8-4117-b901-baffb9d0805c" version="6.70.420"> <propertyName type="String">Publish Statistics</propertyName> <targetType type="String">EGTPPMIPHostRange</targetType> <valueType type="String">ExternalValueBoolean</valueType> <description type="String">Enable collection of interface statistics on this range</description> </Ixia.Aptixia.StackManager.ExternalPropertyInfo> </properties> <values type="ListNode"> <Ixia.Aptixia.StackManager.ExternalProperty type="Ixia.Aptixia.StackManager.ExternalProperty" objectid="57badb9d-afb8-4c05-9182-df7469457e4c" version="6.70.420"> <propertyName type="String">Publish Statistics</propertyName> <target type="Ixia.Aptixia.StackManager.IpV4V6Range" objectid="5affc0a7-68f6-46f6-b801-0e18e067a572" version="6.70.420" /> <value type="Ixia.Aptixia.StackManager.ExternalValueBoolean" objectid="1efc6993-1480-469a-a6af-38b4093fb102" version="6.70.420"> <value type="Bool">0</value> <ixLoadRestObjectId type="Int">13</ixLoadRestObjectId> </value> <enabled type="Bool">1</enabled> <ixLoadRestObjectId type="Int">13</ixLoadRestObjectId> </Ixia.Aptixia.StackManager.ExternalProperty> <Ixia.Aptixia.StackManager.ExternalProperty type="Ixia.Aptixia.StackManager.ExternalProperty" objectid="22a742ae-d9bd-4548-83f1-84da6cc07c5f" version="6.70.420"> <propertyName type="String">Publish Statistics</propertyName> <target type="Ixia.Aptixia.StackManager.IpV4V6Range" objectid="c69dae97-f1c2-4505-aedb-3f9ca3f4d02a" version="6.70.420" /> <value type="Ixia.Aptixia.StackManager.ExternalValueBoolean" objectid="b664f3f9-4f42-48c1-a481-75ba76740055" version="6.70.420"> <value type="Bool">0</value> <ixLoadRestObjectId type="Int">2</ixLoadRestObjectId> </value> <enabled type="Bool">1</enabled> <ixLoadRestObjectId type="Int">2</ixLoadRestObjectId> </Ixia.Aptixia.StackManager.ExternalProperty> <Ixia.Aptixia.StackManager.ExternalProperty type="Ixia.Aptixia.StackManager.ExternalProperty" objectid="77dd061e-b592-4d9e-9c38-24a46fec1121" version="6.70.420"> <propertyName type="String">Publish Statistics</propertyName> <target type="Ixia.Aptixia.StackManager.MacRange" objectid="aa73bd95-9ffb-411e-8ab3-8a128767aacb" version="6.70.420" /> <value type="Ixia.Aptixia.StackManager.ExternalValueBoolean" objectid="b5f138be-a18b-46a3-b3f8-c90fa5711597" version="6.70.420"> <value type="Bool">0</value> <ixLoadRestObjectId type="Int">3</ixLoadRestObjectId> </value> <enabled type="Bool">0</enabled> <ixLoadRestObjectId type="Int">3</ixLoadRestObjectId> </Ixia.Aptixia.StackManager.ExternalProperty> <Ixia.Aptixia.StackManager.ExternalProperty type="Ixia.Aptixia.StackManager.ExternalProperty" objectid="6dc25ae2-da26-4df6-8a25-cf296dd9430b" version="6.70.420"> <propertyName type="String">Publish Statistics</propertyName> <target type="Ixia.Aptixia.StackManager.MacRange" objectid="ba896971-1d78-4e03-8f2a-28c65417612e" version="6.70.420" /> <value type="Ixia.Aptixia.StackManager.ExternalValueBoolean" objectid="0858fb9d-2304-44d4-b413-569815c8b6a7" version="6.70.420"> <value type="Bool">0</value> <ixLoadRestObjectId type="Int">4</ixLoadRestObjectId> </value> <enabled type="Bool">0</enabled> <ixLoadRestObjectId type="Int">4</ixLoadRestObjectId> </Ixia.Aptixia.StackManager.ExternalProperty> </values> <ixLoadRestObjectId type="Int">1</ixLoadRestObjectId> </externalProperties> <availableNetworkTimelines type="ListNode" /> <typeSpecificData type="ListNode"> <Ixia.Aptixia.StackManager.IxLoadSessionData type="Ixia.Aptixia.StackManager.IxLoadSessionData" objectid="149d16d7-c594-4866-917f-fe1b44fac83f" version="1.0.0"> <portGroupList type="ListNode"> <Ixia.Aptixia.StackManager.PortGroup type="Ixia.Aptixia.StackManager.PortGroup" objectid="b1fbd381-b769-4ec1-8715-299508ecb458" version="6.70.420" /> <Ixia.Aptixia.StackManager.PortGroup type="Ixia.Aptixia.StackManager.PortGroup" objectid="e7fa1f9e-23d9-4742-96b2-6edce6c4424e" version="6.70.420" /> </portGroupList> <ixLoadRestObjectId type="Int">1</ixLoadRestObjectId> </Ixia.Aptixia.StackManager.IxLoadSessionData> <Ixia.Aptixia.StackManager.MacSessionData type="Ixia.Aptixia.StackManager.MacSessionData" objectid="7869d347-cce4-4cd3-9eed-88a3914ae956" version="6.70.420"> <duplicateCheckingScope type="Ixia.Aptixia.StackManager.MacSessionDataSkeleton+eMacValidationOptions">2</duplicateCheckingScope> <ixLoadRestObjectId type="Int">3</ixLoadRestObjectId> </Ixia.Aptixia.StackManager.MacSessionData> <Ixia.Aptixia.StackManager.IpSessionData type="Ixia.Aptixia.StackManager.IpSessionData" objectid="93416b84-eb4a-4637-ab56-4a4de6250c3b" version="6.70.420"> <duplicateCheckingScope type="Ixia.Aptixia.StackManager.IpSessionDataSkeleton+eIpValidationOptions">2</duplicateCheckingScope> <enableGatewayArp type="Bool">0</enableGatewayArp> <gatewayArpRequestRate type="Int">300</gatewayArpRequestRate> <maxOutstandingGatewayArpRequests type="Int">300</maxOutstandingGatewayArpRequests> <ignoreUnresolvedIPs type="Bool">0</ignoreUnresolvedIPs> <sendAllRequests type="Bool">0</sendAllRequests> <individualARPTimeOut type="Int">500</individualARPTimeOut> <ixLoadRestObjectId type="Int">4</ixLoadRestObjectId> </Ixia.Aptixia.StackManager.IpSessionData> <Ixia.Aptixia.StackManager.IPSecSessionData type="Ixia.Aptixia.StackManager.IPSecSessionData" objectid="8611fd36-7f8c-48bc-ac46-f6e2f0816cb5" version="6.70.0"> <ipsecTunnelSetup type="Ixia.Aptixia.StackManager.IPSecTunnelSetup" objectid="e08e1671-e189-4cba-8894-5dda9b24701a" version="6.70.0"> <tunnelSetupTimeout type="Int">30</tunnelSetupTimeout> <tunnelRetransmissionTimeout type="Int">30</tunnelRetransmissionTimeout> <numRetries type="Int">0</numRetries> <retryInterval type="Int">10</retryInterval> <retryDelay type="Int">10</retryDelay> <testType type="String">P2D</testType> <logLevel type="String">3</logLevel> <sendCiscoVid type="Bool">0</sendCiscoVid> <useMaxInitiationRate type="Bool">0</useMaxInitiationRate> <useMaxPendingTunnels type="Bool">0</useMaxPendingTunnels> <enableRekey type="Bool">1</enableRekey> <rekeyRetries type="Int">3</rekeyRetries> <rekeyFuzzPercentage type="Int">0</rekeyFuzzPercentage> <rekeyMargin type="Int">10</rekeyMargin> <ixLoadRestObjectId type="Int">7</ixLoadRestObjectId> </ipsecTunnelSetup> <ipsecCertificates type="Ixia.Aptixia.StackManager.IPSecCertificates" objectid="b53c8c74-6c81-4e4a-84cb-5beb05b38343" version="6.70.0"> <uniqueCert type="Bool">0</uniqueCert> <certSource type="String">kNewCert</certSource> <caURL type="String" /> <caDN type="String" /> <certSubjectDN type="String" /> <certSubjectAltDN type="String" /> <remoteIkeId type="String" /> <bitSize type="String">k512</bitSize> <saveCert type="Bool">1</saveCert> <cacheCertFolder type="String">C:\Program Files (x86)\Ixia\CachedCerts</cacheCertFolder> <certParentFolder type="String">C:\Program Files (x86)\Ixia\CachedCerts</certParentFolder> <certNumber type="String" /> <caCertNumber type="String" /> <earlyExpDate type="String" /> <lateExpDate type="String" /> <usePerRangeCertNameExp type="Bool">0</usePerRangeCertNameExp> <checkCrl type="Bool">0</checkCrl> <crlOverrideEnable type="Bool">0</crlOverrideEnable> <crlOverrideUrl type="String" /> <checkOcsp type="Bool">0</checkOcsp> <ocspOverrideEnable type="Bool">0</ocspOverrideEnable> <ocspOverrideUrl type="String" /> <unknownIsRevoked type="Bool">0</unknownIsRevoked> <certProto type="String">kSCEP</certProto> <ixLoadRestObjectId type="Int">7</ixLoadRestObjectId> </ipsecCertificates> <ipsecCertManager type="Ixia.Aptixia.StackManager.IPSecCertManager" objectid="21591e4a-9e87-48e6-8679-68685c5c8383" version="6.70.0"> <caURL type="String" /> <caDN type="String">CN=RootCA,C=RO,L=Bucharest,O=Ixia,OU=IxLoad,IP:201.121.87.2,email:ixia@ixiacom.com</caDN> <certSubjectDN type="String">CN=IxiaVPN,C=RO,L=Bucharest,O=Ixia</certSubjectDN> <keyGenAlgo type="String">kRSA_512</keyGenAlgo> <cacheCertFolder type="String">C:\Program Files (x86)\Ixia\CachedCerts</cacheCertFolder> <caKeyFile type="String">C:\Program Files (x86)\Ixia\ca-priv.key</caKeyFile> <caCrtFile type="String">C:\Program Files (x86)\Ixia\ca-cert.crt</caCrtFile> <certNumber type="Int">1</certNumber> <certProto type="String">kSCEP</certProto> <createRootCA type="Bool">0</createRootCA> <uniqueCert type="Bool">0</uniqueCert> <descFilePath type="String">C:\Program Files (x86)\Ixia\CachedCerts\sample.desc</descFilePath> <useDescFile type="Bool">0</useDescFile> <ixLoadRestObjectId type="Int">6</ixLoadRestObjectId> </ipsecCertManager> <eapSimTuples type="ListNode" /> <eapAkaTuples type="ListNode" /> <maxInitiationRate type="Int">50</maxInitiationRate> <maxPendingTunnels type="Int">50</maxPendingTunnels> <negotiationStartDelay type="Int">0</negotiationStartDelay> <teardownRate type="Int">10</teardownRate> <burstInitiation type="Bool">0</burstInitiation> <parallelInitiation type="Bool">0</parallelInitiation> <enableWildcardTsi type="Bool">0</enableWildcardTsi> <enableWildcardTsr type="Bool">0</enableWildcardTsr> <enablePlutoWildcardTsi type="Bool">0</enablePlutoWildcardTsi> <enablePlutoModeCfgWildcardTsr type="Bool">1</enablePlutoModeCfgWildcardTsr> <enablePlutoS2SWildcardTsr type="Bool">0</enablePlutoS2SWildcardTsr> <payloadAttrTypes type="ListNode" /> <ixLoadRestObjectId type="Int">3</ixLoadRestObjectId> </Ixia.Aptixia.StackManager.IPSecSessionData> </typeSpecificData> <statViewManager type="Ixia.Aptixia.StackManager.StatViewManager" objectid="32b6a125-39ad-4da3-9710-e09cc94bf306" version="6.70.420"> <enableStats type="Bool">1</enableStats> <enableOverviewStats type="Bool">1</enableOverviewStats> <enablePerSessionStats type="Bool">1</enablePerSessionStats> </statViewManager> <waitForLinkUp type="Bool">0</waitForLinkUp> <overloadProtection type="Bool">1</overloadProtection> <ixLoadRestObjectId type="Int">1</ixLoadRestObjectId> </Ixia.Aptixia.StackManager.SMSession> </rpf> - - <_composerConfig ver="[0, [1, [0, [0]]]]" type="ixComposerConfig"> - - - <_quickTestConfig ver="[0, [1, [0, [0]]]]" type="ixQuickTestConfig"> - - - 17217 - 8.30.0.161 - REG_CALL_OPNFV_ORANGE_v13.rxf - - C:\Users\asordo\Documents\__Customers\Orange\OPNFV2_Lannion - REG_CALL_OPNFV_ORANGE_v9j.rxf - Test1 - - - - {{ipchassis}} - 1 - None - - - <_apiUniqueId type="int">15685 - - - 1 - - - - - - - - - - - - Test1 - - True - False - True - False - 1 - - False - 4 - 0 - - 1 - 0 - 30 - 0 - 0 - <_apiUniqueId type="int">15467 - - - - New Traffic Flow - - - Originate - - - VoIP1@VM1 - None - netTraffic - True - Peer - ethernet - ipTrafficAgent - Both - - - - None - VoIP1 - Peer - ipTrafficAgent - None - - - True - REGISTERING - None - False - Both - 0 - - - 100.0 - 27 - - 4.10 - - - -2 - START - Start - - - Output1 - 0 - 2 - 0 - 2 - - - - - -3 - STOP - Stop - - - - 2 - Procedure - Register Complete (#4) - - - OK - 0 - 47 - 1 - 3 - - - - - 47 - CommandEx - Sleep (#2) - - - OK - 0 - -3 - 1 - 1 - - - FlowSleep - - - - <None> - 1 - - - 0 - 0 - - - - False - False - 600000 - False - False - 1 - False - 10 - - - False - 0 - False - True - 25 - False - False - 10 - 0 - 0 - - False - - - 0 - 0 - 1 - 1000 - 0 - -20 - 0 - 0 - 10 - 0 - 200 - 200 - -10 - 4000 - 2000 - 500 - 2000 - True - False - - - 15 - - - 25 - False - False - - - False - False - False - 0 - 1 - 10 - [00-10] - - - - 86534 - 3 - 0 - activeUsers - 1000 - 9223372036854775807 - 23 - False - - 32000 - False - False - False - False - - REGISTERING - 1 - 1 - 1 - 1 - 1 - 1 - 0 - 1 - {{sipportregistering}} - 0 - 1 - {{pnregistering}} - 1 - 0 - 1 - 0 - - 1 - 1 - 0 - 1 - [10000-65535,4] - 40000 - 2855 - 0 - 1 - 1 - 1 - 1 - 1 - 1 - False - False - False - False - 5061 - True - 1 - 2 - 1 - False - False - 0 - 0 - aptixia-T.03440c56.4e1a.4def.8406.ec64db91d4c1-L2EthernetPlugin-166a11b6.4d30.40ea.b9e1.ac4fb44f112b-161.105.231.12;1;1default - - - - 1 - 1 - 1 - 1 - 0 - 0 - 0 - 0 - - 0 - 0 - - 1 - 0 - 0 - 0 - - 0 - 0 - 0 - 0 - - - 2855 - 0 - 0 - 0 - 0 - 1 - 12 - 0 - False - False - False - False - - False - 1 - 2 - 1 - False - False - 0 - 0 - - - False - - - 5060 - - - - - - 0 - - - - - - - - - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - 0 - 0 - - 0 - 0 - 0 - 0 - - 0 - 0 - 0 - 0 - - - - 0 - 0 - 0 - 0 - 0 - 0 - 0 - False - False - False - False - - False - 0 - 1 - 1 - False - False - 0 - 0 - - - False - False - - 5060 - - - - - - 0 - - - - - - - - - .\Registration_only_LPS.tst - 0 - 48 - 66 - 2 - 0 - - - 0 - 1 - 0 - 0 - True - False - 1 - 0 - 1 - 0 - 1 - 1 - True - 0 - 1 - 0 - 1 - True - False - True - False - False - False - False - False - False - False - False - False - False - False - False - False - False - False - False - False - False - False - False - False - False - False - False - False - False - False - False - False - 9 - 1 - 1 - 32 - <_gbDebugLogs type="bool">False - False - - <_dict type="list"> - - _ipRule1 - - 1 - 0 - - - - dl_S_ADV - - 1 - 1 - - - - loopMidDelay - - - - dl_T_IO - - - - dl_T_INFO - - - - dl_S_SEND - - - - _rtpIpRule1 - - - - _estimatedBacklog - - - - loopPreDelay - - - - dl_EE_VRB - - - - dl_S_VRB - - - - log_filesize - - - - rtp_log_in_file - - - - loopCount - - 0 - 1 - - - - dl_T_VRB - - - - aliases - - - - dl_Q_ADV - - - - multipleUsersPerIO - - - - log_level - - - - rtpIpRule - - - - dl_1 - - - - dl_3 - - - - dl_2 - - - - rampdownSleep - - - - _portRule1 - - - - dl_FLOW - - - - dl_S_SER - - - - log_in_memory - - - - dl_R_VRB - - - - dl_Q_VRB - - - - portRuleCh - - - - rtpPortRule - - - - dl_M_IO - - - - dl_EE_DD - - - - rtpIpRuleCh - - - - dl_S_FSM - - - - loopMode - - - - _rtpPortRule1 - - - - dl_BUG - - - - dl_S_SUA - - - - ipRule - - - - ipRuleCh - - - - phoneRule - - - - dl_S_INFO - - - - dl_R_PAR - - - - gracefulRampDown - - - - dl_S_WAIT - - - - dl_SDP_DD - - - - dl_TRACE - - - - _gbDebugLogs - - - - rtpPortRuleCh - - - - dl_TG_VRB - - - - portRule - - - - dl_L_INFO - - - - dl_TG_ADV - - - - dl_R_DD - - - - dl_T_ADV - - - - ccExportProfile - - - - dl_L_ADV - - - - dl_L_VRB - - - - - - - False - 1-5 - 0 - 10000 - 1 - 500 - 500 - 4000 - 1 - 0 - 0 - 18 - 1 - 1500 - 5 - 2500 - 1500 - 2000 - 1 - 40 - 0 - 0 - 800 - 2150 - 1500 - 2000 - 500 - 0 - 750 - 86534 - 0 - {{registeringtotalcalls}} - - - 0 - - - 0 - 35 - 0 - - - Default.cap - False - False - 10000 - 0x8078C5D3 - - - - - - 0 - 0 - 160 - - - 8 - 8 - 160 - - - 2 - <_gbVideoCodecs type="bool">False - 96 - <_gbDataCodecs type="bool">False - - - 100 - - - 101 - - - -1 - - - [10000-65535,4] - False - False - False - False - False - False - False - False - False - False - False - False - False - AS:48 - False - 800 - False - 800 - False - AS:384 - False - 6400 - False - 6400 - False - AS:48 - False - 800 - False - 800 - - <_dict type="list"> - - videoRR_value - - - - _gbVideoSDPParams - - - - textRS_value - - - - channelsQoVPerZionPort - - - - _gbAudioSDPParams - - - - dedicatedCoreRange - - - - enableRTP - - - - rtpTosVal - - - - channelTypeQoV - - - - enableMediaSDPParams - - - - _gbTextSDPParams - - - - activityIdQoV - - - - rtpPort - - - - serviceEnabledQoV - - - - audioRS_option - - - - useJitComp - - - - maxMosStreams - - - - audioB_option - - - - audioB_value - - - - portIPsQoV - - - - customTos - - - - enableHwAcc - - - - enableIxStack - - - - jitMs - - - - videoRR_option - - - - rtpTos - - - - enableRTCPMux - - - - textRR_option - - - - silenceMode - - - - _gbMediaSDPParams - - - - textB_option - - - - enableQoV - - - - jitCMs - - - - valueQoV - - - - enableRTCP - - - - dedicatedCoreRangeLength - - - - enableMDI - - - - chEnableHwAcc - - - - enableOWD - - - - unitsQoV - - - - ixnamSupported - - - - chDisableHwAcc - - - - customTosGroupBox - - - - audioRR_option - - - - enablePerStream - - - - useSilence - - - - useMos - - - - textRR_value - - - - audioRS_value - - - - videoB_value - - - - mosInterval - - - - enableAdvStatCalc - - - - useJitter - - - - limitMos - - - - metricsQoV - - - - videoRS_option - - - - videoRS_value - - - - jitCMaxDrop - - - - audioRR_value - - - - textB_value - - - - enableTosRtp - - - - videoB_option - - - - activityNameQoV - - - - textRS_option - - - - enableNBExec - - - - - - - False - 0 - False - False - IxLoad - 2000 - 2000 - - <_dict type="list"> - - rtcpSDESTool - - - - rtcpSenderTimer - - - - rtcpCNAMEType - - - - hasSDESTool - - - - rtcpReceiverTimer - - - - rtcpIgnoreSSRC - - - - hasSDESName - - - - enableRTCPMux2 - - - - - - - False - <_gbEnableAudio type="bool">False - False - False - <_JB1 type="bool">False - 20 - False - 1000 - 7 - rtp_esmad-asordo-l_1224 - False - False - 1 - False - 1 - False - 0x20 - 32 - <_COV1 type="bool">False - False - 5 - - 0 - False - <_gbEnableQoV type="bool">False - False - - - 0 - 100 - 0 - 0 - 0 - 0 - English(US) - - 0 - False - <_gbEnableQoV type="bool">False - False - - - 0 - 100 - 0 - 0 - 0 - 0 - English(US) - US_042.wav - <_audioFormat type="str">Format: PCM, Duration: 32785 ms, Size: 524556 bytes - -20 - <_gbOutputLevel type="bool">False - 0 - 10 - 1 - - <_dict type="list"> - - _gbEnableQoV - - - - channelTypeQoV - - - - pesqPolqa - - - - enablePTT - - - - enableP56 - - - - qovAnalize - - - - channelsQoVPerZionPort - - - - _COV1 - - 0 - 0 - - - - useTelchemy - - - - activityIdQoV - - - - rtpTosVal - - - - useJitComp - - - - audioDuration - - - - _JB1 - - - - enableAudio - - - - portIPsQoV - - - - _gbQoVMetrics - - - - dodName - - - - jitMs - - - - _gbASRLanguage - - - - rtpTos - - - - radioBtnQoVASR - - - - silenceMode - - - - playTypeAudio - - - - useQoV - - - - activityNameQoV - - - - enableQoV - - - - jitCMs - - - - valueQoV - - - - _gbOutputLevel - - - - unitsQoV - - - - serviceEnabledQoV - - - - audioClip - - - - languageASR - - - - customTosGroupBox - - - - audioDurationUnit - - - - useMos - - - - channelsQoV - - - - customTos - - - - qovSettings - - - - useJitter - - - - useSilence - - - - metricsQoV - - - - jitCMaxDrop - - - - enableTosRtp - - - - enableAudioOWD - - - - _audioFormat - - - - _gbEnableAudio - - - - outputLevel - - - - - - - 0 - False - False - False - <_gbBtnTosBit7_0 type="bool">False - <_gbBtnTosBit7_1 type="bool">False - <_gbBtnTosBit6_0 type="bool">False - <_gbBtnTosBit6_1 type="bool">False - <_gbBtnTosBit5_0 type="bool">False - <_gbBtnTosBit5_1 type="bool">False - <_gbBtnTosBit4_0 type="bool">False - <_gbBtnTosBit4_1 type="bool">False - <_gbBtnTosBit3_0 type="bool">False - <_gbBtnTosBit3_1 type="bool">False - <_gbBtnTosBit2_0 type="bool">False - <_gbBtnTosBit2_1 type="bool">False - <_gbDisabledBtns type="bool">False - - - False - False - False - False - False - False - False - False - False - False - False - False - <_masterKeySelection type="int">0 - - - <_enableSRTP type="bool">False - <_useStaticKey type="bool">False - <_singleMasterKeyGrp type="bool">False - <_multipleMasterKeysGrp type="bool">False - - <_dict type="list"> - - bDisableSRTPAuthentication - - - - _singleMasterKeyGrp - - - - bIncludeMKI - - - - bEnableSRTP - - - - bDisableValidations - - - - _useStaticKey - - - - bEnablePreencryption - - - - _multipleMasterKeysGrp - - - - _enableSRTP - - - - bStaticMasterKeySalt - - - - staticKeyFile - - - - bDisableMasterSalt - - - - staticSingleKeySalt - - - - bAllowOnlySecureStreams - - - - bDisableSRTCPEncryption - - - - bEnableVideoSRTP - - - - bDisableSRTPEncryption - - - - bEnableTextSRTP - - - - _masterKeySelection - - - - - - - - 0 - 0 - 0 - 0 - 0 - 66 - 0 - 1 - - - False - 0 - False - 0 - False - 0 - False - 0 - False - 0 - False - 0 - False - 0 - - - False - False - 1 - <_gbEnableVideo type="bool">False - Fire_avc.mp4 - <_videoFormat type="str">Codec: H264, Duration: 12800 ms, Size: 2012176 bytes, Bitrate: 1225 kbps - 0 - 5 - 1 - False - <_gbUseConference type="bool">False - 0 - 1 - 1 - 1 - 1 - False - <_gbUseTelepresence type="bool">False - - 1 - 1 - 1 - False - False - <_gbTipMoreClips type="int">0 - Fire_avc.mp4 - 0 - 1 - 1 - 1 - 1 - <_gbTipPresentation type="bool">False - False - Fire_avc.mp4 - US_042.wav - 1 - 1 - 1 - 1 - 0 - False - <_gbTipLegacy type="int">0 - Fire_avc.mp4 - False - <_gbTipLegacyAudio type="int">0 - US_042.wav - False - False - False - False - False - False - False - False - False - False - True - - <_gbTosVideo type="bool">False - False - 1 - 0x20 - <_gbCustomTosVideo type="bool">False - 32 - False - False - False - 1 - True - False - <_gbH323AdvancedSettings type="bool">False - False - <_gbUseH323AdvancedSettings type="bool">False - - - False - - <_dict type="list"> - - hintTrackType - - - - videoMaxSessions - - - - useSingleNALUnit - - - - enableVideo - - - - useConference - - - - customTosVideo - - - - tipSettings - - - - playTypeVideo - - - - rotationScheme - - - - _gbUseH323AdvancedSettings - - - - isMP4 - - - - confVideoDuration - - - - tosValVideo - - - - enablePACSI - - - - _videoFormat - - - - confDuration - - - - tosVideo - - - - _gbUseTelepresence - - - - enableVideoOWD - - - - enableTosVideo - - - - fmtp - - - - videoType - - - - confDurationUnit - - - - videoDurationUnit - - - - _gbUseConference - - - - _gbH323AdvancedSettings - - - - _gbTosVideo - - - - _gbCustomTosVideo - - - - ignoreHintTrack - - - - enableAcceptSSRCChanges - - - - videoDuration - - - - useH323AdvancedSettings - - - - videoClip - - - - confVideoDurationUnit - - - - rtpmap - - - - _gbEnableVideo - - - - btnTelepresence - - - - useMosVideo - - - - - - - 0 - <_gbRotationScheme type="int">0 - 0 - 0 - 0 - 0 - - <_dict type="list"> - - rotationScheme - - - - confDuration - - - - confVideoDurationUnit - - - - confDurationUnit - - - - _gbRotationScheme - - - - confVideoDuration - - - - - - - 0 - 0 - 0 - False - False - <_gbTipMoreClips type="int">0 - Fire_avc.mp4 - 0 - 0 - 0 - 0 - 0 - <_gbTipPresentation type="bool">False - False - Fire_avc.mp4 - US_042.wav - 0 - 0 - 0 - 0 - 0 - False - <_gbTipLegacy type="int">0 - Fire_avc.mp4 - False - <_gbTipLegacyAudio type="int">0 - US_042.wav - False - False - False - False - False - False - False - False - False - False - True - - <_dict type="list"> - - tipUnrestrictedMedia - - - - tipLegacyClipAudio - - - - tipRotationScheme - - - - tipLegacyMode - - - - _tipLegacyClip - - - - tipVideoRefresh - - - - tipUsePresentationStream - - - - tipRtcpFeedback - - - - tipStartAfterUnit - - - - tipArithmetingCoding - - - - _gbTipLegacyAudio - - - - tipConfDuration - - - - tipConfDurationUnit - - - - tipG722Legacy - - - - tipDuration - - - - tipLegacyClip - - - - tipMoreClips - - - - tipDurationUnit - - - - tipInbandSets - - - - tipLegacyModeAudio - - - - _tipVideoClip2 - - - - tipAudioDurationUnit - - - - tipResolution - - - - tipDinamicChannels - - - - _tipLegacyClipAudio - - - - tipSyntheticPayload - - - - _gbTipPresentation - - - - tipHighProfile - - - - tipAudioActivityMetric - - - - tipGDR - - - - tipVideoClip2 - - - - _gbTipMoreClips - - - - tipVersion - - - - _tipVideoClip - - - - tipEndpointType - - - - _gbTipLegacy - - - - tipLTRP - - - - tipStartAfter - - - - _tipAudioClip - - - - tipPresentationRotation - - - - tipAudioClip - - - - tipVideoClip - - - - tipAudioDuration - - - - - - - False - False - <_gbEnableText type="bool">False - The quick brown fox jumps over the lazy dog - Format: t140, Max duration: 42300 ms - 1.0 - 1.0 - 300 - 0 - 0 - 5 - 1 - <_gbTosText type="bool">False - False - 1 - 0x20 - <_gbCustomTosText type="bool">False - 32 - - <_dict type="list"> - - tosValText - - - - _gbEnableText - - - - textClip - - - - customTosText - - - - textChpsMin - - - - textRedundancyLevel - - - - textChpsMax - - - - textBufferTime - - - - textDuration - - - - enableTextOWD - - - - _gbTosText - - - - enableText - - - - textPlayType - - - - _gbCustomTosText - - - - enableTosText - - - - textFormat - - - - textDurationUnit - - - - tosText - - - - - - - False - <_gbEnableT38 type="bool">False - <_gbEnableT38_2 type="bool">False - Ixia2Pages.tif - <_faxFormat type="str">Format: TIFF, Img size: 1660 x 2291, Size: 140402 bytes - 1 - 40000 - 0 - <_gbT38UdpEncapsulation type="bool">False - 102 - True - 0 - True - 5 - True - 0 - False - 0 - False - False - <_gbUdpOptions type="bool">False - True - 0 - True - 256 - False - 200 - - - <_dict type="list"> - - t38TranscodingMMR - - - - t38UdpEncapsulation - - - - useT38MaxBitrate - - - - t38RateMgmt - - - - t38TranscodingJBIG - - - - enableT38 - - - - t38TransportType - - - - _gbEnableT38_2 - - - - _gbEnableT38 - - - - useFaxVersion - - - - t38Port - - - - t38FillBitRemoval - - - - faxVersion - - - - useT38FillBitRemoval - - - - useT38RateMgmt - - - - faxImage - - - - useT38MaxBufferSize - - - - errorRecoverySchema - - - - t38MaxDatagramSize - - - - t38MaxBufferSize - - - - t38PayloadType - - - - useT38MaxDatagramSize - - - - t38MaxBitrate - - - - _faxFormat - - - - _gbUdpOptions - - - - _gbT38UdpEncapsulation - - - - imagesList - - - - useErrorRecoverySchema - - - - - - - 5551[000-] - 0 - 5 - 0 - 0 - 1 - 0 - 1 - 2 - 2 - 0 - 1 - True - True - True - True - 3 - 1 - - <_dict type="list"> - - t30SendResolution - - - - sendCedBeforeDIS - - - - t30ReceiveR8x7 - - - - t30SendPageSize - - - - t30ReceiveR8x3 - - - - t30SendProtocol - - - - t30ReceiveProtocol - - - - sendCNG - - - - t30SendCoding - - - - t30ReceiveMSLT - - - - t30SendMSLT - - - - t30ReceiveCoding - - - - t30ReceivePageSize - - - - t30ReceiveModulations - - - - t30ReceiveR8x15 - - - - t30StationId - - - - t30SendDataRate - - - - t30Receive200x200 - - - - - - - False - <_gbEnableMSRP type="bool">False - 2855 - 0 - alice[00-99].example.com - - 0 - False - 10.10.10.1 - True - 2855 - False - 0 - 0x00 - 0 - True - True - False - 30000 - 60000 - 30000 - 70000 - - - 0 - - False - - - <_dict type="list"> - - domainType - - - - filesCount - - - - firstRelayIpEnabled - - - - automaticMSRPAuth - - - - msrpSendEmptyMsg - - - - msrpTransactionTimeout - - - - msrpInterChunkTimeout - - - - tosMSRPVal - - - - enableMSRP - - - - localDomain - - - - relaysCount - - - - customMSRPTos - - - - firstRelayIp - - - - advSettings - - - - files - - - - msrpFirstChunkTimeout - - - - firstRelayIsIPv4 - - - - msrpPort - - - - _gbMSRPCustomTos - - - - msrpSessionTimeout - - - - _gbEnableMSRP - - - - enableMSRPTos - - - - msrpReuseTCP - - - - msrpGuiFiles - - - - msrpTos - - - - relays - - - - msrpRelayPort - - - - - - <_tempFile ver="[0, [0.1, [1, [0, [0]]]]]" type="#Plugins.agent.VoIP_Peer.VoIP_data$ixPropertyClass_FileRecord"> - 0 - <_typeStr type="str"> - - - - - <_bFileSize type="int">20 - <_msrpSizeCombo type="int">2 - 0 - 0 - application/octet-stream - - - <_tempAdvSettings ver="[0, [0.1, [1, [0, [0]]]]]" type="#Plugins.agent.VoIP_Peer.VoIP_data$ixPropertyClass_MSRPAdvancedSettings"> - False - - - - - - - - - 0 - 201004[0000-] - - <_PN1 type="bool">False - <_bTelGrp type="bool">False - False - <_bkTelURIparams type="str">phone-context=example.com - - <_dict type="list"> - - phoneBookList - - - - filePath - - - - pattern - - - - ckTelURIBook - - - - _bkTelURIparams - - - - _PN1 - - - - _bTelGrp - - - - fromFile - - - - - - - - - - - - - <_gbStep1 type="bool">False - - - ANY - - - INVITE - - - ACK - - - BYE - - - CANCEL - - - OPTIONS - - - REGISTER - - - NOTIFY - - - SUBSCRIBE - - - REFER - - - MESSAGE - - - PRACK - - - INFO - - - UPDATE - - - - <_gbStep2 type="bool">False - 2 - 1 - - - To - - - From - - - Contact - - - Also - - - Authorization - - - Call-ID - - - Content-Length - - - Content-Type - - - CSeq - - - Event - - - Proxy-Authenticate - - - Proxy-Authorization - - - RAck - - - Record-Route - - - Refer-To - - - Referred-By - - - Replaces - - - Route - - - RSeq - - - Subscription-State - - - Via - - - WWW-Authenticate - - - To - t - 1 - 1 - 3 - False - - False - False - <_gbStep3 type="bool">False - 0 - False - < - 1 - False - > - last - 1 - last - <_gbStep4 type="bool">False - 0 - - - - 0 - - - - C:\Users\asordo\Documents\__Customers\Orange\OPNFV2_Lannion - - - - None - False - <_useTPb type="int">0 - <_tBp type="str"><None> - <_tBpPrv type="str"> - <_tPhone type="str">150[00000000-] - 0 - 150[00000000-] - <_tTelGrp type="bool">False - <_ckTTelURIParams type="bool">False - <_tTelURIparams type="str">phone-context=example.com - - - <_dict type="list"> - - _tBpPrv - - - - overridePhoneNo - - - - transTelPar - - - - _useTPb - - - - tPhone - - - - _tTelGrp - - - - _tPhone - - - - _ckTTelURIParams - - - - symTransferStr - - - - tPhoneType - - - - _tTelURIparams - - - - _tBp - - - - - - - 0 - mysipdomain.ixiacom.com - <_useEPb type="int">0 - <_eBp type="str"><None> - <_eBpPrv type="str"> - <_ePhone type="str">160[00000000-] - 0 - 160[00000000-] - <_eTelGrp type="bool">False - <_ckETelURI type="bool">False - <_eTelURIparams type="str">phone-context=example.com - - - <_dict type="list"> - - _useEPb - - - - _eBpPrv - - - - domainName - - - - _eBp - - - - _ePhone - - - - _eTelGrp - - - - ePhoneType - - - - _eTelURIparams - - - - useDomainName - - - - editTelPar - - - - ePhone - - - - _ckETelURI - - - - - - - - <_useSPb type="int">0 - <_sBp type="str"><None> - <_sBpPrv type="str"> - <_sPhone type="str">{{pnregistering}} - 0 - {{pnregistering}} - <_sTelGrp type="bool">False - <_ckSTelURIParams type="bool">False - <_sTelURIparams type="str">phone-context=example.com - - <_sTelGrp1 type="bool">False - <_dTelGrp1 type="bool">False - None - False - <_useDPb type="int">0 - <_dBp type="str"><None> - <_dBpPrv type="str"> - <_dPhone type="str">170[00000000-] - 0 - 170[00000000-] - <_dTelGrp type="bool">False - <_ckDTelURIParams type="bool">False - <_dTelURIparams type="str">phone-context=example.com - - False - False - False - sos - - - sos - - - sos.ambulance - - - sos.fire - - - sos.police - - - - <_dict type="list"> - - _useSPb - - - - _dTelGrp1 - - - - sourceIPs - - - - enableEmergencyCalls - - - - _sPhone - - - - _dBpPrv - - - - destPhoneType - - - - destTelPar - - - - useAnonymous - - - - _dTelGrp - - - - symDestStr - - - - _gbEmergencyDest - - - - _sBp - - - - makeEmergencyReg - - - - destPhone - - - - _gbEmergency - - - - _gbEmergencySource - - - - _ckSTelURIParams - - - - _dTelURIparams - - - - _dBp - - - - ovrDestPhone - - - - _sTelGrp1 - - - - emergencyServiceList - - - - _dPhone - - - - srcPhone - - - - srcTelPar - - - - _sTelURIparams - - - - _UseSrv1 - - - - srcPhoneType - - - - _sBpPrv - - - - _sTelGrp - - - - emergencyService - - - - _useDPb - - - - _ckDTelURIParams - - - - - - - True - {{sipportregistering}} - False - False - - {{pnregistering}}@{{domainname}} - {{authpassword}} - <None> - 0 - 0 - 0 - ixia - C:\Users\asordo\Documents\__Customers\Orange\OPNFV2_Lannion - ixia - 0 - 0 - 0 - False - <Default> - 00000000000000000000000000000000 - 00000000000000000000000000000001 - 00000000000000000000000000000002 - 00000000000000000000000000000004 - 00000000000000000000000000000008 - 64 - 0 - 32 - 64 - 96 - False - 0 - 0x00 - 0 - False - 0 - True - {{iplistims}} - 5060 - {{domainname}} - False - False - False - True - False - IP:PORT - False - False - - 1024 - False - False - False - - - False - ipsec-3gpp - 0 - hmac-sha-1-96 - 0 - esp - 0 - trans - 0 - aes-cbc - 255 - [3000-4000] - 4060 - - <_dict type="list"> - - protocol - - - - encrypt_algorithmStr - - - - algorithm - - - - modeStr - - - - protocolStr - - - - mechanism - - - - algorithmStr - - - - mode - - - - port_s - - - - port_c - - - - spi_start_idx - - - - encrypt_algorithm - - - - checked - - - - - - - False - False - 60 - False - False - 0 - True - False - <_enableAutoHeaders type="bool">False - <_btnAutoHeaders type="bool">False - False - False - - <_dict type="list"> - - _gbSrvSettings - - - - akaSharedSecretType - - - - T1 - - - - tcpWriteImmediate - - - - telURISource - - - - _gbRetransmissions - - - - _enableAutoHeaders - - - - enableSIP - - - - fqdn - - - - akaSharedSecretSource - - - - milenageConfCombo - - - - milenage_c3 - - - - milenage_c2 - - - - milenage_c5 - - - - milenage_c4 - - - - akaConfCombo - - - - akaOperatorVariantType - - - - overrideRegistrar - - - - port - - - - milenage_r4 - - - - milenage_r5 - - - - realm - - - - milenage_r3 - - - - milenage_r1 - - - - srvPort - - - - tos - - - - user - - - - akaOperatorVariantSource - - - - ovrDest - - - - useServer - - - - nUdpMaxSize - - - - retransmit1xx - - - - srvDomain - - - - _btnEditContact1 - - - - telURIDest - - - - ovrTimeout - - - - enablePeriodicDNSQueries - - - - useIPSecDoubleSPIPatch - - - - securityMechanismValList - - - - enableRetransmissions - - - - overrideRegistrarAddress - - - - enableTos - - - - srvAddr - - - - ovrDestHostPort - - - - DNSTimeoutValue - - - - tosVal - - - - passwd - - - - akaSharedSecretSequence - - - - T2 - - - - autoRegister - - - - skipDeleteDNSRecordsAtLoopEnd - - - - enableSigComp - - - - akaOperatorVariantSequence - - - - enableVoLTE - - - - retransmitACK - - - - _btnAutoHeaders - - - - volte_grbox - - - - customSipTos - - - - dontEndMediaOnBye - - - - milenage_r2 - - - - akaExportComplete - - - - mediaBearerType - - - - registrarSrv - - - - milenage_c1 - - - - akaUseOPasOPC - - - - _ovrDest1 - - - - outboundProxy - - - - _UseSrv1 - - - - _enableSIP1 - - - - closeTCPConnectionsOnRampdown - - - - ovrContact - - - - akaAbsolutePath - - - - serverAddresses - - - - enableCCDedicatedBearer - - - - akaConfComboSelIndex - - - - _gbCustomTos - - - - ovrTrans - - - - useDnsSrv - - - - ovrTransOption - - - - _enableSIP2 - - - - _gbPeriodicDNSQuery - - - - ignoreRetransmissions - - - - - - - True - - - True - REGISTER - 0 - Expires Header(s) - 3600 - - <_dict type="list"> - - message - - - - msgPartStr - - - - checked - - - - value - - - - msgPart - - - - - - - True - INVITE - 2 - Session-Expire(s) - 90 - - <_dict type="list"> - - message - - - - msgPartStr - - - - checked - - - - value - - - - msgPart - - - - - - - True - UPDATE - 2 - Session-Expire(s) - 90 - - <_dict type="list"> - - message - - - - msgPartStr - - - - checked - - - - value - - - - msgPart - - - - - - - 1 - 3000 - 50 - 32 - False - 500 - 4000 - True - True - True - False - False - 0 - False - False - False - 150 - False - False - False - - 0 - True - - <_dict type="list"> - - btnRefreshProcList - - - - autoEndCall - - - - ignoreRetransmissions - - - - minInterReregister - - - - autoEndCall2 - - - - enableTimers - - - - refreshInSecs - - - - retransmit1xx - - - - auto4xxAbort - - - - _gbEnableTimers - - - - ovrTimeout - - - - sessionRefreshType - - - - auto4xx - - - - procListChanged - - - - T2 - - - - autoProcedureList - - - - _gbAutoPRACK - - - - T1 - - - - refreshAfterPercent - - - - enableAutoPRACK - - - - stopActiveRetr - - - - enableRetransmissions - - - - rprTimeUntilNextRPR - - - - rprScenarioHasPRACK - - - - expirationValList - - - - refreshAfterSecs - - - - autoProceduresCount - - - - retransmitACK - - - - rprSendNegotiatedSDP - - - - - - - False - <_useCloud1 type="bool">False - <None> - - False - - False - <_ovrCloudRules1 type="bool">False - - <_dict type="list"> - - _gbVirtualIPs - - - - useCloud - - - - ovrCloudRules - - - - _ovrCloudRules1 - - - - _useCloud1 - - - - enableVirtualIPs - - - - virtualIPTable - - - - serverRules - - - - cloud - - - - - - - False - False - False - False - <_enableTLS1 type="bool">False - <_enableTLS2 type="bool">False - <_enableTLS3 type="bool">False - 5061 - 3 - False - <_tlsSessionRefresh type="bool">False - 3600 - 0 - False - <_tlsReuseConnection type="bool">False - False - False - <_gbTlsMutual type="bool">False - - - True - ECDHE-ECDSA-AES128-GCM-SHA256 - - <_dict type="list"> - - enabled - - - - name - - - - - - - True - ECDHE-ECDSA-AES256-GCM-SHA384 - - <_dict type="list"> - - enabled - - - - name - - - - - - - True - ECDHE-RSA-AES128-GCM-SHA256 - - <_dict type="list"> - - enabled - - - - name - - - - - - - True - ECDHE-ECDSA-AES256-SHA - - <_dict type="list"> - - enabled - - - - name - - - - - - - True - ECDHE-ECDSA-AES128-SHA - - <_dict type="list"> - - enabled - - - - name - - - - - - - True - ECDHE-RSA-AES128-SHA - - <_dict type="list"> - - enabled - - - - name - - - - - - - True - AES128-SHA - - <_dict type="list"> - - enabled - - - - name - - - - - - - True - AES256-SHA - - <_dict type="list"> - - enabled - - - - name - - - - - - - False - ECDHE-ECDSA-AES256-SHA384 - - <_dict type="list"> - - enabled - - - - name - - - - - - - False - ECDHE-ECDSA-AES128-SHA256 - - <_dict type="list"> - - enabled - - - - name - - - - - - - False - ECDHE-RSA-AES256-GCM-SHA384 - - <_dict type="list"> - - enabled - - - - name - - - - - - - False - ECDHE-RSA-AES128-SHA256 - - <_dict type="list"> - - enabled - - - - name - - - - - - - False - ECDHE-RSA-AES256-SHA384 - - <_dict type="list"> - - enabled - - - - name - - - - - - - False - DES-CBC-SHA - - <_dict type="list"> - - enabled - - - - name - - - - - - - False - DES-CBC3-SHA - - <_dict type="list"> - - enabled - - - - name - - - - - - - False - EXP-DES-CBC-SHA - - <_dict type="list"> - - enabled - - - - name - - - - - - - False - EXP-RC2-CBC-MD5 - - <_dict type="list"> - - enabled - - - - name - - - - - - - False - EXP-RC4-MD5 - - <_dict type="list"> - - enabled - - - - name - - - - - - - False - EXP1024-DES-CBC-SHA - - <_dict type="list"> - - enabled - - - - name - - - - - - - False - EXP1024-RC4-SHA - - <_dict type="list"> - - enabled - - - - name - - - - - - - False - IDEA-CBC-SHA - - <_dict type="list"> - - enabled - - - - name - - - - - - - False - NULL-MD5 - - <_dict type="list"> - - enabled - - - - name - - - - - - - False - NULL-SHA - - <_dict type="list"> - - enabled - - - - name - - - - - - - False - RC4-MD5 - - <_dict type="list"> - - enabled - - - - name - - - - - - - False - RC4-SHA - - <_dict type="list"> - - enabled - - - - name - - - - - - - C:\Program Files (x86)\Ixia\IxLoad\8.20-EA\aptixia\data\SSL_Certificates - Unsecured_RSA_key_1024.pem - Unsecured_RSA_cert_1024.pem - 0 - 0 - - 0 - 0 - True - False - - <_dict type="list"> - - tlsCertType - - - - tlsPassword - - - - tlsPort - - - - tlsMutual - - - - tlsPrivateKeyCertificate - - - - tlsTransportType - - - - enableTLS_HTTP - - - - tlsCyphers - - - - tlsProtocol - - - - tlsKeyType - - - - _tlsSessionRefresh - - - - tlsCertificatesPath - - - - tlsEnableTcpKeepAlive - - - - _gbTlsMutual - - - - tlsPublicKeyCertificate - - - - _enableCert - - - - enableTLS - - - - tlsAuthClient - - - - ignoreSubjectAltName - - - - _enableTLS4 - - - - _enableTLS1 - - - - _enableTLS2 - - - - _enableTLS3 - - - - enableDTLS - - - - enableTLS_MSRP - - - - tlsReuseConnection - - - - tlsRefreshInterval - - - - tlsSessionRefresh - - - - tlsDisableUdpAndTcp - - - - sipScheme - - - - _tlsReuseConnection - - - - - - - 200 - 30000 - False - - - 6 - 100 - 30000 - - - - - - - - - - - - - 0 - False - <_gbHardcodedForDemo type="bool">False - <_gbStunSettings type="bool">False - False - 127.0.0.1 - 3478 - False - False - <_gbSRVCCSettings type="bool">False - False - - False - False - False - <_gbPCO type="bool">False - - False - False - - - - <_dict type="list"> - - _gbIceSettings - - - - _gbPCO - - - - VOIP_IPAddress4 - - - - _gbStunSettings - - - - VOIP_IPAddress0 - - - - VOIP_IPAddress3 - - - - VOIP_IPAddress2 - - - - bUseIce - - - - mobilityPath - - - - VOIP_Var0 - - - - VOIP_IPAddress1 - - - - PCO_List - - - - _gbSRVCCSettings - - - - absolutePathForCsvWithVariables - - - - VOIP_Var2 - - - - PCO_Groupbox - - - - bUseHardcoded - - - - bUseSRVCC - - - - useBHCA - - - - ipPreference - - - - btnBrowseForVariableCsv - - - - bUsePCO - - - - stunPort - - - - bUseStun - - - - stunAddr - - - - ddgGroupboxSRVCC - - - - _gbHardcodedForDemo - - - - pathForCsvWithVariables - - - - DodPathForCsvWithVariables - - - - _varCsvGroupBox - - - - VOIP_Var1 - - - - loadVariablesFromCsv - - - - VOIP_Var3 - - - - bIceLite - - - - VOIP_Var4 - - - - - - - False - sc.home1.net - False - phone-context=example - 61814712345 - 0 - 0 - False - False - False - False - - False - 160[00000000-] - <None> - - 0 - 0 - False - False - False - False - - False - 160[00000000-] - <None> - - 0 - 0 - - False - False - None - 0 - - - 0 - False - False - False - - <_dict type="list"> - - smOrigNumberingPlan - - - - smsFiles - - - - enableSMS - - - - enableSMOrigReplyPath - - - - smsFilesCount - - - - btnSMRecipEdit - - - - grBoxSMOriginator - - - - grBoxSMRecipient - - - - enableSMRecipOverrideSrc - - - - enableSMOrigReqStatusReport - - - - smsAddressOriginator - - - - telURI - - - - depActivities - - - - pcpuCommonPath - - - - smOrigTypeOfNo - - - - smRecipTypeOfNo - - - - requestURI - - - - smsFilesBackup - - - - smsAddressRecipient - - - - enableTelURI - - - - useFilesFromActivity - - - - smRecipNumberingPlan - - - - smscPhoneNo - - - - smsImportFilesActivity - - - - enableSMRecipReplyPath - - - - btnSMOrigEdit - - - - smscNumberingPlan - - - - duringLoadFromBackup - - - - enableSMRecipReqStatusReport - - - - grBoxSMServiceCenter - - - - verifyUserInfo - - - - smscTypeOfNo - - - - enableSMOrigOverrideDest - - - - smsActivityForFiles - - - - - - - 0 - - - - - - 0 - 0 - 0 - - - - <_dict type="list"> - - segmentNo - - - - contentViewShow - - - - ixSmsFilePath - - - - contentViewEdit - - - - comboCoding - - - - segmentOrder - - - - comboRefNo - - - - loadedFileType - - - - btnSmsLoadFiles - - - - ixSmsFileName - - - - btnSmsSaveAs - - - - fileName - - - - totalTpudSize - - - - - - - 0 - <None> - - 160[00000000-] - 0 - 160[00000000-] - False - - - - <_dict type="list"> - - userPattern - - - - phoneBookPreview - - - - ePhoneType - - - - fakeEnableTelURI - - - - fakeTelToPort - - - - comboPhoneBook - - - - ePhone - - - - fakeTelURI - - - - radioBtnPhoneNo - - - - - - - 0 - <None> - - 160[00000000-] - 0 - 160[00000000-] - False - - - - <_dict type="list"> - - userPattern - - - - phoneBookPreview - - - - ePhoneType - - - - fakeEnableTelURI - - - - fakeTelToPort - - - - comboPhoneBook - - - - ePhone - - - - fakeTelURI - - - - radioBtnPhoneNo - - - - - - - True - - - - - INVITE - - - ACK - - - BYE - - - CANCEL - - - OPTIONS - - - REGISTER - - - NOTIFY - - - SUBSCRIBE - - - REFER - - - MESSAGE - - - PRACK - - - INFO - - - UPDATE - - - 100 (Trying) - - - 180 (Ringing) - - - 181 (Call Is Being Forwarded) - - - 182 (Queued) - - - 183 (Session Progress) - - - 200 (OK) - - - 202 (Accepted) - - - 300 (Multiple Choices) - - - 301 (Moved Permanently) - - - 302 (Moved Temporarily) - - - 305 (Use Proxy) - - - 380 (Alternative Service) - - - 400 (Bad Request) - - - 401 (Unauthorized) - - - 402 (Payment Required) - - - 403 (Forbidden) - - - 404 (Not Found) - - - 405 (Method Not Allowed) - - - 406 (Not Acceptable) - - - 407 (Proxy Authentication Required) - - - 408 (Request Timeout) - - - 410 (Gone) - - - 413 (Request Entity Too Large) - - - 414 (Request-URI Too Large) - - - 415 (Unsupported Media Type) - - - 416 (Unsupported URI Scheme) - - - 420 (Bad Extension) - - - 421 (Extension Required) - - - 423 (Interval Too Brief) - - - 480 (Temporarily not available) - - - 481 (Call Leg/Transaction Does Not Exist) - - - 482 (Loop Detected) - - - 483 (Too Many Hops) - - - 484 (Address Incomplete) - - - 485 (Ambiguous) - - - 486 (Busy Here) - - - 487 (Request Terminated) - - - 488 (Not Acceptable Here) - - - 491 (Request Pending) - - - 493 (Undecipherable) - - - 500 (Internal Server Error) - - - 501 (Not Implemented) - - - 502 (Bad Gateway) - - - 503 (Service Unavailable) - - - 504 (Server Time-out) - - - 505 (SIP Version not supported) - - - 513 (Message Too Large) - - - 600 (Busy Everywhere) - - - 603 (Decline) - - - 604 (Does not exist anywhere) - - - 606 (Not Acceptable) - - - - - - Request-Uri - - - Via - - - From - - - To - - - Call-ID - - - CSeq - - - Contact - - - Content-Length - - - Route - - - Record-Route - - - Authorization - - - Proxy-Authorization - - - Referred-By - - - Replaces - - - Event - - - RAck - - - RSeq - - - Refer-To - - - Subscription-State - - - WWW-Authenticate - - - Also - - - To - - False - - - True - - - False - - - - - - False - 40000 - 60000 - 1 - False - False - 10 - False - False - - <_dict type="list"> - - tcpIdlePeriod - - - - tcpEndPortLabel - - - - tcpIdlePeriodLabel - - - - donotCloseTCPInsideCallEnable - - - - tcpPortStepLabel - - - - tcpLocalPortStep - - - - tcpLocalPortEnd - - - - tcpStartPortLabel - - - - tcpLocalPortStart - - - - closeIdleTcpConnectionsEnable - - - - recordingServerEnable - - - - overrideTCPLocalPort - - - - closeNonsecureTcpConnectionsEnable - - - - - - - 2 - <_apiUniqueId type="int">15470 - 27 - 11 - - - <_dict type="list"/> - - VoIP - - - - True - CALLING - None - False - Both - 0 - - - - VoIP2_CALLED - protocolSpecific - - - protocolSpecific - - True - None - - - VoIP2@VM2 - None - netTraffic - True - Peer - ethernet - ipTrafficAgent - Both - - - - None - VoIP2 - Peer - ipTrafficAgent - None - - - 1 - CALLED - None - False - Both - 0 - - - 100.0 - 43 - - 4.10 - - - -2 - START - Start - - - Output1 - 0 - 3 - 0 - 2 - - - - - -3 - STOP - Stop - - - - 3 - Procedure - SIP ReceiveCall (#3) - - - OK - 0 - 17 - 1 - 4 - - - Error - 1 - -3 - 2 - 1 - - - - - 11 - Procedure - SIP EndCall Receive (#4) - - - OK - 0 - -3 - 1 - 1 - - - Error - 1 - -3 - 2 - 1 - - - - - 17 - CommandEx - Voice Session (#2) - - - OK - 0 - 11 - 1 - 3 - - - Error - 1 - 11 - 2 - 3 - - - RTPVoiceSession - - - - VoiceLink1 - 2 - - - 3 - 5 - - - - False - False - 600000 - False - False - 1 - False - 10 - - - False - 0 - False - True - 25 - False - False - 10 - 0 - 0 - - False - - - 0 - 0 - 1 - 1000 - 0 - -20 - 0 - 0 - 10 - 0 - 200 - 200 - -10 - 4000 - 2000 - 500 - 2000 - True - False - - - 15 - - - 25 - False - False - - - False - False - False - 0 - 1 - 10 - [00-10] - - - - 653520 - 3 - 2 - activeUsers - 1000 - 9223372036854775807 - 8 - False - - 32000 - False - False - False - False - - CALLED - 1 - 1 - 1 - 1 - 1 - 1 - 0 - 1 - {{sipportcalled}} - 0 - 1 - {{pncalled}} - 1 - 0 - 1 - 0 - - 1 - 1 - 0 - 1 - [10000-65535,4] - 40000 - 2855 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - False - False - False - False - 5061 - True - 1 - 2 - 1 - False - False - 0 - 0 - aptixia-T.03440c56.4e1a.4def.8406.ec64db91d4c1-L2EthernetPlugin-820b0582.6a4c.4109.bd5d.587621a43ce2-161.105.231.12;2;1default - - - - 1 - 1 - 1 - 1 - 0 - 0 - 0 - 0 - - 0 - 0 - - 1 - 0 - 0 - 0 - - 0 - 0 - 0 - 0 - - - 2855 - 0 - 0 - 0 - 0 - 1 - 12 - 0 - False - False - False - False - - False - 1 - 2 - 1 - False - False - 0 - 0 - - - False - - - 5060 - - - - - - 0 - - - - - - - - - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - 0 - 0 - - 0 - 0 - 0 - 0 - - 0 - 0 - 0 - 0 - - - - 0 - 0 - 0 - 0 - 0 - 0 - 0 - False - False - False - False - - False - 0 - 1 - 1 - False - False - 0 - 0 - - - False - False - - 5060 - - - - - - 0 - - - - - - - - - .\SIPCall.tst - 1 - 18 - 66 - 8 - 0 - - - 0 - 1 - 0 - 0 - True - False - 1 - 0 - 1 - 0 - 1 - 1 - True - 0 - 1 - 1 - 1 - True - False - True - False - False - False - False - False - False - False - False - False - False - False - False - False - False - False - False - False - False - False - False - False - False - False - False - False - False - False - False - False - 9 - 1 - 1 - 32 - <_gbDebugLogs type="bool">False - False - - <_dict type="list"> - - _ipRule1 - - - - dl_S_ADV - - - - loopMidDelay - - - - dl_T_IO - - - - dl_T_INFO - - - - dl_S_SEND - - - - _rtpIpRule1 - - - - _estimatedBacklog - - - - loopPreDelay - - - - dl_S_VRB - - - - dl_TG_ADV - - - - log_filesize - - - - rtp_log_in_file - - - - dl_T_VRB - - - - aliases - - - - dl_Q_ADV - - - - multipleUsersPerIO - - - - log_level - - - - rtpIpRule - - - - dl_1 - - - - dl_3 - - - - dl_2 - - - - rampdownSleep - - - - _portRule1 - - - - dl_S_SER - - - - dl_R_VRB - - - - dl_L_ADV - - - - dl_Q_VRB - - - - portRuleCh - - - - dl_S_INFO - - - - rtpPortRule - - - - dl_M_IO - - - - dl_EE_DD - - - - rtpIpRuleCh - - - - dl_S_FSM - - - - loopMode - - - - gracefulRampDown - - - - dl_FLOW - - - - dl_BUG - - - - dl_S_SUA - - - - ipRule - - - - ipRuleCh - - - - phoneRule - - - - _rtpPortRule1 - - - - dl_R_PAR - - - - loopCount - - - - dl_S_WAIT - - - - dl_SDP_DD - - - - dl_TRACE - - - - _gbDebugLogs - - - - rtpPortRuleCh - - - - dl_TG_VRB - - - - portRule - - - - dl_L_INFO - - - - dl_EE_VRB - - - - dl_R_DD - - - - dl_T_ADV - - - - ccExportProfile - - - - log_in_memory - - - - dl_L_VRB - - - - - - - False - 1-5 - 0 - 10000 - 1 - 500 - 500 - 4000 - 1 - 0 - 0 - 18 - 0 - 30000 - 16750 - 33500 - 1500 - 2000 - 500 - 40 - 0 - 0 - 800 - 2150 - 1500 - 2000 - 500 - 0 - 30000 - {{activecalls}} - 0 - {{activecalls}} - - - 1 - - - 0 - 35 - 0 - - - Default.cap - False - False - 10000 - 0x8078C5D3 - - - - - - 0 - 0 - 160 - - - 8 - 8 - 160 - - - 2 - <_gbVideoCodecs type="bool">False - 96 - <_gbDataCodecs type="bool">False - - - 100 - - - 101 - - - -1 - - - [10000-65535,4] - False - False - False - False - False - False - False - False - False - False - False - False - False - AS:48 - False - 800 - False - 800 - False - AS:384 - False - 6400 - False - 6400 - False - AS:48 - False - 800 - False - 800 - - <_dict type="list"> - - videoRR_value - - - - _gbVideoSDPParams - - - - textRS_value - - - - jitMs - - - - _gbAudioSDPParams - - - - ixnamSupported - - - - dedicatedCoreRange - - - - enableRTP - - - - rtpTosVal - - - - channelTypeQoV - - - - enableMediaSDPParams - - - - _gbTextSDPParams - - - - activityIdQoV - - - - rtpPort - - - - audioRS_option - - - - useJitComp - - - - dedicatedCoreRangeLength - - - - audioB_option - - - - audioB_value - - - - portIPsQoV - - - - audioRS_value - - - - enableHwAcc - - - - chEnableHwAcc - - - - channelsQoVPerZionPort - - - - videoRR_option - - - - rtpTos - - - - enableRTCPMux - - - - textRR_option - - - - silenceMode - - - - _gbMediaSDPParams - - - - textB_option - - - - enableQoV - - - - jitCMs - - - - valueQoV - - - - enableRTCP - - - - maxMosStreams - - - - enableMDI - - - - enableIxStack - - - - enableOWD - - - - unitsQoV - - - - serviceEnabledQoV - - - - chDisableHwAcc - - - - customTosGroupBox - - - - audioRR_option - - - - enablePerStream - - - - limitMos - - - - useMos - - - - textRR_value - - - - customTos - - - - videoB_value - - - - mosInterval - - - - enableAdvStatCalc - - - - useJitter - - - - useSilence - - - - metricsQoV - - - - videoRS_option - - - - videoRS_value - - - - jitCMaxDrop - - - - audioRR_value - - - - textB_value - - - - enableTosRtp - - - - videoB_option - - - - activityNameQoV - - - - textRS_option - - - - enableNBExec - - - - - - - False - 0 - False - False - IxLoad - 2000 - 2000 - - <_dict type="list"> - - rtcpSDESTool - - - - rtcpSenderTimer - - - - rtcpCNAMEType - - - - hasSDESTool - - - - rtcpReceiverTimer - - - - rtcpIgnoreSSRC - - - - hasSDESName - - - - enableRTCPMux2 - - - - - - - False - <_gbEnableAudio type="bool">False - False - False - <_JB1 type="bool">False - 20 - False - 1000 - 7 - rtp_esmad-asordo-l_2170 - False - False - 1 - False - 1 - False - 0x20 - 32 - <_COV1 type="bool">False - False - 5 - - 0 - False - <_gbEnableQoV type="bool">False - False - - - 0 - 100 - 0 - 0 - 0 - 0 - English(US) - - 0 - False - <_gbEnableQoV type="bool">False - False - - - 0 - 100 - 0 - 0 - 0 - 0 - English(US) - US_042.wav - <_audioFormat type="str">Format: PCM, Duration: 32785 ms, Size: 524556 bytes - -20 - <_gbOutputLevel type="bool">False - 0 - 10 - 1 - - <_dict type="list"> - - _gbEnableQoV - - - - channelTypeQoV - - - - pesqPolqa - - - - enablePTT - - - - enableP56 - - - - qovAnalize - - - - channelsQoVPerZionPort - - - - _COV1 - - - - useTelchemy - - - - activityIdQoV - - - - rtpTosVal - - - - useJitComp - - - - audioDuration - - - - _JB1 - - - - enableAudio - - - - enableTosRtp - - - - portIPsQoV - - - - _gbQoVMetrics - - - - dodName - - - - jitMs - - - - _gbASRLanguage - - - - rtpTos - - - - radioBtnQoVASR - - - - silenceMode - - - - playTypeAudio - - - - useQoV - - - - activityNameQoV - - - - enableQoV - - - - jitCMs - - - - valueQoV - - - - _gbOutputLevel - - - - unitsQoV - - - - serviceEnabledQoV - - - - audioClip - - - - languageASR - - - - customTosGroupBox - - - - audioDurationUnit - - - - useMos - - - - customTos - - - - qovSettings - - - - useJitter - - - - useSilence - - - - metricsQoV - - - - jitCMaxDrop - - - - channelsQoV - - - - enableAudioOWD - - - - _audioFormat - - - - _gbEnableAudio - - - - outputLevel - - - - - - - 0 - False - False - False - <_gbBtnTosBit7_0 type="bool">False - <_gbBtnTosBit7_1 type="bool">False - <_gbBtnTosBit6_0 type="bool">False - <_gbBtnTosBit6_1 type="bool">False - <_gbBtnTosBit5_0 type="bool">False - <_gbBtnTosBit5_1 type="bool">False - <_gbBtnTosBit4_0 type="bool">False - <_gbBtnTosBit4_1 type="bool">False - <_gbBtnTosBit3_0 type="bool">False - <_gbBtnTosBit3_1 type="bool">False - <_gbBtnTosBit2_0 type="bool">False - <_gbBtnTosBit2_1 type="bool">False - <_gbDisabledBtns type="bool">False - - - False - False - False - False - False - False - False - False - False - False - False - False - <_masterKeySelection type="int">0 - - - <_enableSRTP type="bool">False - <_useStaticKey type="bool">False - <_singleMasterKeyGrp type="bool">False - <_multipleMasterKeysGrp type="bool">False - - <_dict type="list"> - - bEnableSRTP - - - - _singleMasterKeyGrp - - - - bDisableSRTPEncryption - - - - bDisableSRTPAuthentication - - - - bDisableValidations - - - - _useStaticKey - - - - bEnablePreencryption - - - - staticSingleKeySalt - - - - _enableSRTP - - - - bStaticMasterKeySalt - - - - staticKeyFile - - - - bDisableMasterSalt - - - - _multipleMasterKeysGrp - - - - bAllowOnlySecureStreams - - - - bDisableSRTCPEncryption - - - - bEnableVideoSRTP - - - - bIncludeMKI - - - - bEnableTextSRTP - - - - _masterKeySelection - - - - - - - - 0 - 0 - 0 - 0 - 0 - 66 - 0 - 1 - - - False - 0 - False - 0 - False - 0 - False - 0 - False - 0 - False - 0 - False - 0 - - - False - False - 1 - <_gbEnableVideo type="bool">False - Fire_avc.mp4 - <_videoFormat type="str">Codec: H264, Duration: 12800 ms, Size: 2012176 bytes, Bitrate: 1225 kbps - 0 - 5 - 1 - False - <_gbUseConference type="bool">False - 0 - 1 - 1 - 1 - 1 - False - <_gbUseTelepresence type="bool">False - - 1 - 1 - 1 - False - False - <_gbTipMoreClips type="int">0 - Fire_avc.mp4 - 0 - 1 - 1 - 1 - 1 - <_gbTipPresentation type="bool">False - False - Fire_avc.mp4 - US_042.wav - 1 - 1 - 1 - 1 - 0 - False - <_gbTipLegacy type="int">0 - Fire_avc.mp4 - False - <_gbTipLegacyAudio type="int">0 - US_042.wav - False - False - False - False - False - False - False - False - False - False - True - - <_gbTosVideo type="bool">False - False - 1 - 0x20 - <_gbCustomTosVideo type="bool">False - 32 - False - False - False - 1 - True - False - <_gbH323AdvancedSettings type="bool">False - False - <_gbUseH323AdvancedSettings type="bool">False - - - False - - <_dict type="list"> - - hintTrackType - - - - videoMaxSessions - - - - useSingleNALUnit - - - - enableVideo - - - - useConference - - - - customTosVideo - - - - tipSettings - - - - playTypeVideo - - - - rotationScheme - - - - _gbUseH323AdvancedSettings - - - - isMP4 - - - - confVideoDuration - - - - tosValVideo - - - - enablePACSI - - - - _videoFormat - - - - confDuration - - - - tosVideo - - - - _gbUseTelepresence - - - - enableVideoOWD - - - - enableTosVideo - - - - fmtp - - - - videoType - - - - confDurationUnit - - - - videoDurationUnit - - - - _gbUseConference - - - - _gbH323AdvancedSettings - - - - _gbTosVideo - - - - _gbCustomTosVideo - - - - ignoreHintTrack - - - - enableAcceptSSRCChanges - - - - videoDuration - - - - useH323AdvancedSettings - - - - videoClip - - - - confVideoDurationUnit - - - - rtpmap - - - - _gbEnableVideo - - - - btnTelepresence - - - - useMosVideo - - - - - - - 0 - <_gbRotationScheme type="int">0 - 0 - 0 - 0 - 0 - - <_dict type="list"> - - rotationScheme - - - - confDuration - - - - confVideoDurationUnit - - - - confDurationUnit - - - - _gbRotationScheme - - - - confVideoDuration - - - - - - - 0 - 0 - 0 - False - False - <_gbTipMoreClips type="int">0 - Fire_avc.mp4 - 0 - 0 - 0 - 0 - 0 - <_gbTipPresentation type="bool">False - False - Fire_avc.mp4 - US_042.wav - 0 - 0 - 0 - 0 - 0 - False - <_gbTipLegacy type="int">0 - Fire_avc.mp4 - False - <_gbTipLegacyAudio type="int">0 - US_042.wav - False - False - False - False - False - False - False - False - False - False - True - - <_dict type="list"> - - tipDuration - - - - tipRotationScheme - - - - tipLegacyMode - - - - _tipLegacyClip - - - - tipVideoClip - - - - tipVideoRefresh - - - - tipUsePresentationStream - - - - tipGDR - - - - tipStartAfterUnit - - - - tipArithmetingCoding - - - - _gbTipLegacyAudio - - - - tipConfDuration - - - - tipConfDurationUnit - - - - tipG722Legacy - - - - tipLegacyClipAudio - - - - tipLegacyClip - - - - tipMoreClips - - - - tipDurationUnit - - - - tipInbandSets - - - - tipSyntheticPayload - - - - _tipVideoClip2 - - - - tipAudioDurationUnit - - - - tipResolution - - - - _tipVideoClip - - - - _tipLegacyClipAudio - - - - tipAudioDuration - - - - tipLegacyModeAudio - - - - _gbTipPresentation - - - - tipHighProfile - - - - tipRtcpFeedback - - - - tipVideoClip2 - - - - _gbTipMoreClips - - - - tipVersion - - - - tipDinamicChannels - - - - tipEndpointType - - - - _gbTipLegacy - - - - tipLTRP - - - - tipStartAfter - - - - _tipAudioClip - - - - tipPresentationRotation - - - - tipAudioClip - - - - tipAudioActivityMetric - - - - tipUnrestrictedMedia - - - - - - - False - False - <_gbEnableText type="bool">False - The quick brown fox jumps over the lazy dog - Format: t140, Max duration: 42300 ms - 1.0 - 1.0 - 300 - 0 - 0 - 5 - 1 - <_gbTosText type="bool">False - False - 1 - 0x20 - <_gbCustomTosText type="bool">False - 32 - - <_dict type="list"> - - tosValText - - - - _gbEnableText - - - - textClip - - - - customTosText - - - - textChpsMin - - - - textRedundancyLevel - - - - textChpsMax - - - - textBufferTime - - - - textDuration - - - - enableTextOWD - - - - _gbTosText - - - - enableText - - - - textPlayType - - - - _gbCustomTosText - - - - enableTosText - - - - textFormat - - - - textDurationUnit - - - - tosText - - - - - - - False - <_gbEnableT38 type="bool">False - <_gbEnableT38_2 type="bool">False - Ixia2Pages.tif - <_faxFormat type="str">Format: TIFF, Img size: 1660 x 2291, Size: 140402 bytes - 1 - 40000 - 0 - <_gbT38UdpEncapsulation type="bool">False - 102 - True - 0 - True - 5 - True - 0 - False - 0 - False - False - <_gbUdpOptions type="bool">False - True - 0 - True - 256 - False - 200 - - - <_dict type="list"> - - t38TranscodingMMR - - - - t38UdpEncapsulation - - - - useT38MaxBitrate - - - - t38RateMgmt - - - - t38TranscodingJBIG - - - - enableT38 - - - - t38TransportType - - - - _gbEnableT38_2 - - - - _gbEnableT38 - - - - t38Port - - - - t38FillBitRemoval - - - - faxVersion - - - - useT38FillBitRemoval - - - - useT38RateMgmt - - - - faxImage - - - - useT38MaxBufferSize - - - - errorRecoverySchema - - - - t38MaxDatagramSize - - - - t38MaxBufferSize - - - - _faxFormat - - - - t38PayloadType - - - - useT38MaxDatagramSize - - - - t38MaxBitrate - - - - useFaxVersion - - - - _gbUdpOptions - - - - _gbT38UdpEncapsulation - - - - imagesList - - - - useErrorRecoverySchema - - - - - - - 5551[000-] - 0 - 5 - 0 - 0 - 1 - 0 - 1 - 2 - 2 - 0 - 1 - True - True - True - True - 3 - 1 - - <_dict type="list"> - - t30SendResolution - - - - sendCedBeforeDIS - - - - t30ReceiveR8x7 - - - - t30SendPageSize - - - - t30ReceiveR8x3 - - - - t30SendCoding - - - - t30ReceiveProtocol - - - - sendCNG - - - - t30SendProtocol - - - - t30ReceiveMSLT - - - - t30SendMSLT - - - - t30SendDataRate - - - - t30ReceivePageSize - - - - t30ReceiveModulations - - - - t30ReceiveR8x15 - - - - t30StationId - - - - t30ReceiveCoding - - - - t30Receive200x200 - - - - - - - False - <_gbEnableMSRP type="bool">False - 2855 - 0 - alice[00-99].example.com - - 0 - False - 10.10.10.1 - True - 2855 - False - 0 - 0x00 - 0 - True - True - False - 30000 - 60000 - 30000 - 70000 - - - 0 - - False - - - <_dict type="list"> - - customMSRPTos - - - - filesCount - - - - firstRelayIpEnabled - - - - automaticMSRPAuth - - - - msrpSendEmptyMsg - - - - msrpTransactionTimeout - - - - msrpInterChunkTimeout - - - - tosMSRPVal - - - - enableMSRP - - - - localDomain - - - - relaysCount - - - - domainType - - - - firstRelayIp - - - - advSettings - - - - files - - - - msrpFirstChunkTimeout - - - - firstRelayIsIPv4 - - - - msrpPort - - - - _gbMSRPCustomTos - - - - msrpSessionTimeout - - - - _gbEnableMSRP - - - - enableMSRPTos - - - - msrpReuseTCP - - - - msrpGuiFiles - - - - msrpTos - - - - relays - - - - msrpRelayPort - - - - - - <_tempFile ver="[0, [0.1, [1, [0, [0]]]]]" type="#Plugins.agent.VoIP_Peer.VoIP_data$ixPropertyClass_FileRecord"> - 0 - <_typeStr type="str"> - - - - - <_bFileSize type="int">20 - <_msrpSizeCombo type="int">2 - 0 - 0 - application/octet-stream - - - <_tempAdvSettings ver="[0, [0.1, [1, [0, [0]]]]]" type="#Plugins.agent.VoIP_Peer.VoIP_data$ixPropertyClass_MSRPAdvancedSettings"> - False - - - - - - - - - 0 - 201004[0000-] - - <_PN1 type="bool">False - <_bTelGrp type="bool">False - False - <_bkTelURIparams type="str">phone-context=example.com - - <_dict type="list"> - - phoneBookList - - - - filePath - - - - pattern - - - - ckTelURIBook - - - - _bkTelURIparams - - - - _PN1 - - - - _bTelGrp - - - - fromFile - - - - - - - - - - - - - <_gbStep1 type="bool">False - - - ANY - - - INVITE - - - ACK - - - BYE - - - CANCEL - - - OPTIONS - - - REGISTER - - - NOTIFY - - - SUBSCRIBE - - - REFER - - - MESSAGE - - - PRACK - - - INFO - - - UPDATE - - - - <_gbStep2 type="bool">False - 2 - 1 - - - To - - - From - - - Contact - - - Also - - - Authorization - - - Call-ID - - - Content-Length - - - Content-Type - - - CSeq - - - Event - - - Proxy-Authenticate - - - Proxy-Authorization - - - RAck - - - Record-Route - - - Refer-To - - - Referred-By - - - Replaces - - - Route - - - RSeq - - - Subscription-State - - - Via - - - WWW-Authenticate - - - To - t - 1 - 1 - 3 - False - - False - False - <_gbStep3 type="bool">False - 0 - False - < - 1 - False - > - last - 1 - last - <_gbStep4 type="bool">False - 0 - - - - 0 - - - - C:\Users\asordo\Documents\__Customers\Orange\OPNFV2_Lannion - - - - None - False - <_useTPb type="int">0 - <_tBp type="str"><None> - <_tBpPrv type="str"> - <_tPhone type="str">150[00000000-] - 0 - 150[00000000-] - <_tTelGrp type="bool">False - <_ckTTelURIParams type="bool">False - <_tTelURIparams type="str">phone-context=example.com - - - <_dict type="list"> - - _tBpPrv - - - - overridePhoneNo - - - - _tTelGrp - - - - _useTPb - - - - tPhone - - - - transTelPar - - - - _tPhone - - - - _ckTTelURIParams - - - - symTransferStr - - - - tPhoneType - - - - _tTelURIparams - - - - _tBp - - - - - - - 0 - mysipdomain.ixiacom.com - <_useEPb type="int">0 - <_eBp type="str"><None> - <_eBpPrv type="str"> - <_ePhone type="str">160[00000000-] - 0 - 160[00000000-] - <_eTelGrp type="bool">False - <_ckETelURI type="bool">False - <_eTelURIparams type="str">phone-context=example.com - - - <_dict type="list"> - - _useEPb - - - - _eBpPrv - - - - domainName - - - - _eBp - - - - _ePhone - - - - _eTelGrp - - - - ePhoneType - - - - _eTelURIparams - - - - useDomainName - - - - editTelPar - - - - ePhone - - - - _ckETelURI - - - - - - - - <_useSPb type="int">0 - <_sBp type="str"><None> - <_sBpPrv type="str"> - <_sPhone type="str">{{pncalled}} - 0 - {{pncalled}} - <_sTelGrp type="bool">False - <_ckSTelURIParams type="bool">False - <_sTelURIparams type="str">phone-context=example.com - - <_sTelGrp1 type="bool">False - <_dTelGrp1 type="bool">False - None - False - <_useDPb type="int">0 - <_dBp type="str"><None> - <_dBpPrv type="str"> - <_dPhone type="str">170[00000000-] - 0 - 170[00000000-] - <_dTelGrp type="bool">False - <_ckDTelURIParams type="bool">False - <_dTelURIparams type="str">phone-context=example.com - - False - False - False - sos - - - sos - - - sos.ambulance - - - sos.fire - - - sos.police - - - - <_dict type="list"> - - _useSPb - - - - _dTelGrp1 - - - - sourceIPs - - - - enableEmergencyCalls - - - - _sPhone - - - - _dBpPrv - - - - destPhoneType - - - - destTelPar - - - - useAnonymous - - - - _dTelGrp - - - - symDestStr - - - - _gbEmergencyDest - - - - _sBp - - - - makeEmergencyReg - - - - destPhone - - - - srcTelPar - - - - _gbEmergencySource - - - - _ckSTelURIParams - - - - _dTelURIparams - - - - _dBp - - - - ovrDestPhone - - - - _sTelGrp1 - - - - emergencyServiceList - - - - _dPhone - - - - srcPhone - - - - _gbEmergency - - - - _sTelURIparams - - - - _UseSrv1 - - - - srcPhoneType - - - - _sBpPrv - - - - _sTelGrp - - - - emergencyService - - - - _useDPb - - - - _ckDTelURIParams - - - - - - - True - {{sipportcalled}} - False - False - - {{pncalled}}@{{domainname}} - {{authpassword}} - <None> - 0 - 0 - 0 - ixia - C:\Users\asordo\Documents\__Customers\Orange\OPNFV2_Lannion - ixia - 0 - 0 - 0 - False - <Default> - 00000000000000000000000000000000 - 00000000000000000000000000000001 - 00000000000000000000000000000002 - 00000000000000000000000000000004 - 00000000000000000000000000000008 - 64 - 0 - 32 - 64 - 96 - False - 0 - 0x00 - 0 - False - 0 - True - {{iplistims}} - 5060 - {{domainname}} - False - False - True - True - False - IP:PORT - False - True - {{domainname}} - 2048 - False - False - False - - - False - ipsec-3gpp - 0 - hmac-sha-1-96 - 0 - esp - 0 - trans - 0 - aes-cbc - 255 - [3000-4000] - 4060 - - <_dict type="list"> - - protocol - - - - encrypt_algorithmStr - - - - algorithm - - - - modeStr - - - - protocolStr - - - - mechanism - - - - algorithmStr - - - - mode - - - - port_s - - - - port_c - - - - spi_start_idx - - - - encrypt_algorithm - - - - checked - - - - - - - False - False - 60 - False - False - 0 - True - False - <_enableAutoHeaders type="bool">False - <_btnAutoHeaders type="bool">False - False - False - - <_dict type="list"> - - _gbSrvSettings - - - - akaSharedSecretType - - - - _btnAutoHeaders - - - - tcpWriteImmediate - - - - ovrDest - - - - _enableAutoHeaders - - - - enableSIP - - - - fqdn - - - - akaSharedSecretSource - - - - milenageConfCombo - - - - milenage_c3 - - - - milenage_c2 - - - - milenage_c5 - - - - milenage_c4 - - - - akaConfCombo - - - - _UseSrv1 - - - - akaOperatorVariantType - - - - overrideRegistrar - - - - port - - - - milenage_r2 - - - - registrarSrv - - - - milenage_r4 - - - - milenage_r5 - - - - _gbRetransmissions - - - - milenage_r3 - - - - milenage_r1 - - - - tos - - - - user - - - - akaOperatorVariantSource - - - - telURISource - - - - useServer - - - - nUdpMaxSize - - - - retransmit1xx - - - - srvDomain - - - - _btnEditContact1 - - - - telURIDest - - - - ovrTimeout - - - - enablePeriodicDNSQueries - - - - useIPSecDoubleSPIPatch - - - - securityMechanismValList - - - - skipDeleteDNSRecordsAtLoopEnd - - - - overrideRegistrarAddress - - - - enableTos - - - - srvAddr - - - - ovrDestHostPort - - - - DNSTimeoutValue - - - - tosVal - - - - passwd - - - - T2 - - - - autoRegister - - - - T1 - - - - enableSigComp - - - - akaOperatorVariantSequence - - - - enableVoLTE - - - - retransmitACK - - - - akaSharedSecretSequence - - - - volte_grbox - - - - customSipTos - - - - dontEndMediaOnBye - - - - realm - - - - akaExportComplete - - - - mediaBearerType - - - - _gbPeriodicDNSQuery - - - - enableRetransmissions - - - - milenage_c1 - - - - akaUseOPasOPC - - - - _ovrDest1 - - - - outboundProxy - - - - ignoreRetransmissions - - - - closeTCPConnectionsOnRampdown - - - - ovrContact - - - - akaAbsolutePath - - - - serverAddresses - - - - enableCCDedicatedBearer - - - - akaConfComboSelIndex - - - - _gbCustomTos - - - - ovrTrans - - - - useDnsSrv - - - - ovrTransOption - - - - _enableSIP2 - - - - _enableSIP1 - - - - srvPort - - - - - - - True - - - True - REGISTER - 0 - Expires Header(s) - 3600 - - <_dict type="list"> - - message - - - - msgPart - - - - checked - - - - value - - - - msgPartStr - - - - - - - True - INVITE - 2 - Session-Expire(s) - 90 - - <_dict type="list"> - - message - - - - msgPart - - - - checked - - - - value - - - - msgPartStr - - - - - - - True - UPDATE - 2 - Session-Expire(s) - 90 - - <_dict type="list"> - - message - - - - msgPart - - - - checked - - - - value - - - - msgPartStr - - - - - - - 1 - 3000 - 50 - 32 - False - 500 - 4000 - True - True - True - False - False - 0 - False - False - False - 150 - False - False - False - - 0 - True - - <_dict type="list"> - - btnRefreshProcList - - - - autoEndCall - - - - ignoreRetransmissions - - - - minInterReregister - - - - autoEndCall2 - - - - enableTimers - - - - refreshInSecs - - - - retransmit1xx - - - - _gbEnableTimers - - - - ovrTimeout - - - - sessionRefreshType - - - - auto4xx - - - - retransmitACK - - - - procListChanged - - - - T2 - - - - autoProcedureList - - - - _gbAutoPRACK - - - - T1 - - - - refreshAfterPercent - - - - enableAutoPRACK - - - - stopActiveRetr - - - - enableRetransmissions - - - - rprTimeUntilNextRPR - - - - rprScenarioHasPRACK - - - - expirationValList - - - - refreshAfterSecs - - - - autoProceduresCount - - - - auto4xxAbort - - - - rprSendNegotiatedSDP - - - - - - - False - <_useCloud1 type="bool">False - <None> - - False - - False - <_ovrCloudRules1 type="bool">False - - <_dict type="list"> - - _gbVirtualIPs - - - - useCloud - - - - ovrCloudRules - - - - _ovrCloudRules1 - - - - cloud - - - - enableVirtualIPs - - - - virtualIPTable - - - - serverRules - - - - _useCloud1 - - - - - - - False - False - False - False - <_enableTLS1 type="bool">False - <_enableTLS2 type="bool">False - <_enableTLS3 type="bool">False - 5061 - 3 - False - <_tlsSessionRefresh type="bool">False - 3600 - 0 - False - <_tlsReuseConnection type="bool">False - False - False - <_gbTlsMutual type="bool">False - - - True - ECDHE-ECDSA-AES128-GCM-SHA256 - - <_dict type="list"> - - enabled - - - - name - - - - - - - True - ECDHE-ECDSA-AES256-GCM-SHA384 - - <_dict type="list"> - - enabled - - - - name - - - - - - - True - ECDHE-RSA-AES128-GCM-SHA256 - - <_dict type="list"> - - enabled - - - - name - - - - - - - True - ECDHE-ECDSA-AES256-SHA - - <_dict type="list"> - - enabled - - - - name - - - - - - - True - ECDHE-ECDSA-AES128-SHA - - <_dict type="list"> - - enabled - - - - name - - - - - - - True - ECDHE-RSA-AES128-SHA - - <_dict type="list"> - - enabled - - - - name - - - - - - - True - AES128-SHA - - <_dict type="list"> - - enabled - - - - name - - - - - - - True - AES256-SHA - - <_dict type="list"> - - enabled - - - - name - - - - - - - False - ECDHE-ECDSA-AES256-SHA384 - - <_dict type="list"> - - enabled - - - - name - - - - - - - False - ECDHE-ECDSA-AES128-SHA256 - - <_dict type="list"> - - enabled - - - - name - - - - - - - False - ECDHE-RSA-AES256-GCM-SHA384 - - <_dict type="list"> - - enabled - - - - name - - - - - - - False - ECDHE-RSA-AES128-SHA256 - - <_dict type="list"> - - enabled - - - - name - - - - - - - False - ECDHE-RSA-AES256-SHA384 - - <_dict type="list"> - - enabled - - - - name - - - - - - - False - DES-CBC-SHA - - <_dict type="list"> - - enabled - - - - name - - - - - - - False - DES-CBC3-SHA - - <_dict type="list"> - - enabled - - - - name - - - - - - - False - EXP-DES-CBC-SHA - - <_dict type="list"> - - enabled - - - - name - - - - - - - False - EXP-RC2-CBC-MD5 - - <_dict type="list"> - - enabled - - - - name - - - - - - - False - EXP-RC4-MD5 - - <_dict type="list"> - - enabled - - - - name - - - - - - - False - EXP1024-DES-CBC-SHA - - <_dict type="list"> - - enabled - - - - name - - - - - - - False - EXP1024-RC4-SHA - - <_dict type="list"> - - enabled - - - - name - - - - - - - False - IDEA-CBC-SHA - - <_dict type="list"> - - enabled - - - - name - - - - - - - False - NULL-MD5 - - <_dict type="list"> - - enabled - - - - name - - - - - - - False - NULL-SHA - - <_dict type="list"> - - enabled - - - - name - - - - - - - False - RC4-MD5 - - <_dict type="list"> - - enabled - - - - name - - - - - - - False - RC4-SHA - - <_dict type="list"> - - enabled - - - - name - - - - - - - C:\Program Files (x86)\Ixia\IxLoad\8.20-EA\aptixia\data\SSL_Certificates - Unsecured_RSA_key_1024.pem - Unsecured_RSA_cert_1024.pem - 0 - 0 - - 0 - 0 - True - False - - <_dict type="list"> - - tlsCertType - - - - tlsPassword - - - - tlsPort - - - - ignoreSubjectAltName - - - - tlsPrivateKeyCertificate - - - - tlsTransportType - - - - enableTLS_HTTP - - - - tlsCyphers - - - - tlsProtocol - - - - tlsKeyType - - - - _tlsSessionRefresh - - - - tlsCertificatesPath - - - - tlsEnableTcpKeepAlive - - - - _gbTlsMutual - - - - tlsPublicKeyCertificate - - - - _enableCert - - - - enableTLS - - - - tlsAuthClient - - - - tlsMutual - - - - _enableTLS4 - - - - _enableTLS1 - - - - _enableTLS2 - - - - _enableTLS3 - - - - enableDTLS - - - - enableTLS_MSRP - - - - tlsReuseConnection - - - - tlsRefreshInterval - - - - tlsSessionRefresh - - - - tlsDisableUdpAndTcp - - - - sipScheme - - - - _tlsReuseConnection - - - - - - - 200 - 30000 - False - - - 6 - 100 - 30000 - - - - - - - - - - - - - 0 - False - <_gbHardcodedForDemo type="bool">False - <_gbStunSettings type="bool">False - False - 127.0.0.1 - 3478 - False - False - <_gbSRVCCSettings type="bool">False - False - - False - False - False - <_gbPCO type="bool">False - - False - False - - - - <_dict type="list"> - - _gbIceSettings - - - - _gbPCO - - - - VOIP_IPAddress4 - - - - VOIP_IPAddress1 - - - - VOIP_IPAddress0 - - - - VOIP_IPAddress3 - - - - VOIP_IPAddress2 - - - - bUseIce - - - - mobilityPath - - - - VOIP_Var0 - - - - _gbStunSettings - - - - PCO_List - - - - _gbSRVCCSettings - - - - absolutePathForCsvWithVariables - - - - bIceLite - - - - PCO_Groupbox - - - - bUseHardcoded - - - - bUseSRVCC - - - - useBHCA - - - - ipPreference - - - - btnBrowseForVariableCsv - - - - bUsePCO - - - - stunPort - - - - bUseStun - - - - stunAddr - - - - ddgGroupboxSRVCC - - - - _gbHardcodedForDemo - - - - pathForCsvWithVariables - - - - DodPathForCsvWithVariables - - - - _varCsvGroupBox - - - - VOIP_Var1 - - - - loadVariablesFromCsv - - - - VOIP_Var3 - - - - VOIP_Var2 - - - - VOIP_Var4 - - - - - - - False - sc.home1.net - False - phone-context=example - 61814712345 - 0 - 0 - False - False - False - False - - False - 160[00000000-] - <None> - - 0 - 0 - False - False - False - False - - False - 160[00000000-] - <None> - - 0 - 0 - - False - False - None - 0 - - - 0 - False - False - False - - <_dict type="list"> - - smOrigNumberingPlan - - - - smsFiles - - - - enableSMS - - - - enableSMOrigReplyPath - - - - smsFilesCount - - - - btnSMRecipEdit - - - - enableSMOrigReqStatusReport - - - - grBoxSMRecipient - - - - enableSMRecipOverrideSrc - - - - grBoxSMOriginator - - - - smsAddressOriginator - - - - telURI - - - - depActivities - - - - pcpuCommonPath - - - - smOrigTypeOfNo - - - - smRecipTypeOfNo - - - - requestURI - - - - smsFilesBackup - - - - smsAddressRecipient - - - - enableTelURI - - - - useFilesFromActivity - - - - smRecipNumberingPlan - - - - smscPhoneNo - - - - smsImportFilesActivity - - - - enableSMRecipReplyPath - - - - btnSMOrigEdit - - - - smscNumberingPlan - - - - duringLoadFromBackup - - - - enableSMRecipReqStatusReport - - - - grBoxSMServiceCenter - - - - verifyUserInfo - - - - smscTypeOfNo - - - - enableSMOrigOverrideDest - - - - smsActivityForFiles - - - - - - - 0 - - - - - - 0 - 0 - 0 - - - - <_dict type="list"> - - contentViewShow - - - - ixSmsFilePath - - - - contentViewEdit - - - - segmentOrder - - - - comboRefNo - - - - loadedFileType - - - - btnSmsLoadFiles - - - - ixSmsFileName - - - - btnSmsSaveAs - - - - fileName - - - - segmentNo - - - - totalTpudSize - - - - comboCoding - - - - - - - 0 - <None> - - 160[00000000-] - 0 - 160[00000000-] - False - - - - <_dict type="list"> - - userPattern - - - - phoneBookPreview - - - - ePhoneType - - - - ePhone - - - - fakeEnableTelURI - - - - comboPhoneBook - - - - fakeTelToPort - - - - fakeTelURI - - - - radioBtnPhoneNo - - - - - - - 0 - <None> - - 160[00000000-] - 0 - 160[00000000-] - False - - - - <_dict type="list"> - - userPattern - - - - phoneBookPreview - - - - ePhoneType - - - - ePhone - - - - fakeEnableTelURI - - - - comboPhoneBook - - - - fakeTelToPort - - - - fakeTelURI - - - - radioBtnPhoneNo - - - - - - - True - - - - - INVITE - - - ACK - - - BYE - - - CANCEL - - - OPTIONS - - - REGISTER - - - NOTIFY - - - SUBSCRIBE - - - REFER - - - MESSAGE - - - PRACK - - - INFO - - - UPDATE - - - 100 (Trying) - - - 180 (Ringing) - - - 181 (Call Is Being Forwarded) - - - 182 (Queued) - - - 183 (Session Progress) - - - 200 (OK) - - - 202 (Accepted) - - - 300 (Multiple Choices) - - - 301 (Moved Permanently) - - - 302 (Moved Temporarily) - - - 305 (Use Proxy) - - - 380 (Alternative Service) - - - 400 (Bad Request) - - - 401 (Unauthorized) - - - 402 (Payment Required) - - - 403 (Forbidden) - - - 404 (Not Found) - - - 405 (Method Not Allowed) - - - 406 (Not Acceptable) - - - 407 (Proxy Authentication Required) - - - 408 (Request Timeout) - - - 410 (Gone) - - - 413 (Request Entity Too Large) - - - 414 (Request-URI Too Large) - - - 415 (Unsupported Media Type) - - - 416 (Unsupported URI Scheme) - - - 420 (Bad Extension) - - - 421 (Extension Required) - - - 423 (Interval Too Brief) - - - 480 (Temporarily not available) - - - 481 (Call Leg/Transaction Does Not Exist) - - - 482 (Loop Detected) - - - 483 (Too Many Hops) - - - 484 (Address Incomplete) - - - 485 (Ambiguous) - - - 486 (Busy Here) - - - 487 (Request Terminated) - - - 488 (Not Acceptable Here) - - - 491 (Request Pending) - - - 493 (Undecipherable) - - - 500 (Internal Server Error) - - - 501 (Not Implemented) - - - 502 (Bad Gateway) - - - 503 (Service Unavailable) - - - 504 (Server Time-out) - - - 505 (SIP Version not supported) - - - 513 (Message Too Large) - - - 600 (Busy Everywhere) - - - 603 (Decline) - - - 604 (Does not exist anywhere) - - - 606 (Not Acceptable) - - - - - - Request-Uri - - - Via - - - From - - - To - - - Call-ID - - - CSeq - - - Contact - - - Content-Length - - - Route - - - Record-Route - - - Authorization - - - Proxy-Authorization - - - Referred-By - - - Replaces - - - Event - - - RAck - - - RSeq - - - Refer-To - - - Subscription-State - - - WWW-Authenticate - - - Also - - - To - - False - - - True - - - False - - - - - - False - 40000 - 60000 - 1 - False - False - 10 - False - False - - <_dict type="list"> - - tcpIdlePeriod - - - - tcpEndPortLabel - - - - tcpIdlePeriodLabel - - - - donotCloseTCPInsideCallEnable - - - - tcpPortStepLabel - - - - tcpLocalPortStep - - - - tcpLocalPortEnd - - - - tcpStartPortLabel - - - - tcpLocalPortStart - - - - closeIdleTcpConnectionsEnable - - - - recordingServerEnable - - - - overrideTCPLocalPort - - - - closeNonsecureTcpConnectionsEnable - - - - - - - 1 - <_apiUniqueId type="int">16522 - 43 - 3 - - - <_dict type="list"/> - - VoIP - - - - - - None - VM2 - Both - none - 0 - Default - False - - Ixia Virtual Load Module - - - - 1 - 2 - 1 - False - Ixia Virtual Load Module - - None - - False;8192 - - None - - - - - - <_smRangeObjectId type="str">c69dae97-f1c2-4505-aedb-3f9ca3f4d02a - Network Range IP-R2 in VM2 ({{ipcard2}}+1) - - DistGroup1 - consecutiveIps - 0 - <_apiUniqueId type="int">16512 - <_networkRangeList ver="[0, [3, [0, [0, [0], [0]], [0]]]]" type="ixWeakrefSequenceContainer" itemtype="ixBasicNetworkRange"> - - - <_rangeGroupObjectId type="str">de9d629b-e0dc-41f5-99cb-5aa8a808ceee - <_smPluginObjectId type="str">e53ae54e-ab21-4997-b532-e9bd58210050 - - False - - - None - None - - - - 0 - 0 - 1024 - 65535 - 0.0.0.0 - 255.255.0.0 - :: - FFFF:FFFF:FFFF:FFFF:FFFF:FFFF::0 - - 0 - - True - False - - - 0 - 30000 - - - - - - False - True - True - False - False - 0 - 1024 - False - 0 - 1024 - 60 - 75 - 9 - 7200 - 5 - 5 - 5 - 4096 - 4096 - True - False - 200 - 120000 - - - - - False - False - False - False - False - False - 1 - 1 - 1 - 0 - 0 - 1 - 1 - 0 - 1 - any - any - any - False - FragmentationPercent - 50 - 1000 - 1 - 1 - <_seed type="int">1 - - <_portGroupId type="str">b1fbd381-b769-4ec1-8715-299508ecb458 - <_smExternalLinks ver="[0, [1, [0, [0]]]]" type="_smExternalLinkersMap"> - - - 1 - - - - - VoIP Peer - CALLED - True - - Timeline2 - 2014 - 2014 - 1 - 0 - 0 - 4953 - 0 - {{activecalls}} - 1 - 1 - 20 - 0 - 1 - - - - Linear Segment 1 - 0 - 1 - 0.0 - 1.0 - 1 - 0 - - - Linear Segment 2 - 0 - 1 - 1.0 - 1.0 - {{testduration}} - 4 - - - 20 - - 5 - - - False - 1-5 - 0 - 10000 - 1 - 500 - 500 - 4000 - 80000 - 0 - 0 - 18 - 0 - 30000 - 16750 - 33500 - 1500 - 2000 - 100 - 40 - 0 - 0 - 800 - 2150 - 1500 - 2000 - 100 - 0 - 30000 - {{activecalls}} - 0 - 100 - - Peer - Both - 100.0 - concurrentConnections - {{activecalls}} - activeUsers - {{activecalls}} - SimulatedUserConstraint - {{activecalls}} - 100 - True - SimulatedUserConstraint - 100 - False - protocolSpecific - 1 - 0 - 1:1 - Consecutive - - 1 - <_apiUniqueId type="int">16585 - 58ff41761a9072107c63efca - <_objectiveValue type="int">{{activecalls}} - - 1.0 - - - - - - - - - - - False - <_apiUniqueId type="int">16521 - - None - - - <_apiUniqueId type="int">16509 - - <_dict type="list"> - - - - - - - <_dict type="list"> - - - - - - - <_dict type="list"> - - SIP - - SIP - True - - - - RTP - - RTP - True - - - - T38 - - T38 - True - - - - MSRP - - MSRP - True - - - - - - - - - - - - - - True - 1 - 0 - 0 - 20 - 60 - 1 - mixedMap - n/a - -1 - -1 - -1 - -1 - 0 - 10 - n/a - -1 - 0 - 1 - <_apiUniqueId type="int">16508 - True - - <_portOperationModesAllowed type="dict"> - - 0 - True - - - 1 - True - - - 2 - False - - - 3 - True - - - 4 - True - - - 6 - True - - - 8 - True - - - <_tcpAccelerationAllowed type="dict"> - - 0 - True - - - 1 - True - - - - CALLED - None - 1 - - - 100.0 - 39 - - 4.10 - - - -2 - START - Start - - - Output1 - 0 - 3 - 0 - 2 - - - - - -3 - STOP - Stop - - - - 3 - Procedure - SIP MakeCall (#1) - - - OK - 0 - 16 - 1 - 4 - - - Error - 1 - -3 - 2 - 1 - - - - - 10 - Procedure - SIP EndCall Initiate (#2) - - - OK - 0 - -3 - 1 - 1 - - - Error - 1 - -3 - 2 - 1 - - - - - 16 - CommandEx - Voice Session (#1) - - - OK - 0 - 10 - 1 - 3 - - - Error - 1 - 10 - 2 - 3 - - - RTPVoiceSession - - - - VoiceLink1 - 2 - - - 4 - 4 - - - - False - False - 600000 - False - False - 1 - False - 10 - - - False - 0 - False - True - 25 - False - False - 10 - 0 - 0 - - False - - - 0 - 0 - 1 - 1000 - 0 - -20 - 0 - 0 - 10 - 0 - 200 - 200 - -10 - 4000 - 2000 - 500 - 2000 - True - False - - - 15 - - - 25 - False - False - - - False - False - False - 0 - 1 - 10 - [00-10] - - - - 45638 - 3 - 1 - activeUsers - 1000 - 9223372036854775807 - 8 - False - - 32000 - False - False - False - False - - CALLING - 1 - 1 - 1 - 1 - 1 - 1 - 0 - 1 - {{sipportcalling}} - 0 - 1 - {{pncalling}} - 1 - 0 - 1 - 0 - - 1 - 1 - 0 - 1 - [10000-65535,4] - 40000 - 2855 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - False - False - False - False - 5061 - True - 1 - 2 - 1 - False - False - 0 - 1 - aptixia-T.03440c56.4e1a.4def.8406.ec64db91d4c1-L2EthernetPlugin-166a11b6.4d30.40ea.b9e1.ac4fb44f112b-161.105.231.12;1;1default - - - - 1 - 1 - 1 - 1 - 0 - 0 - 0 - 0 - - 0 - 0 - - 1 - 0 - 0 - 0 - - 0 - 0 - 0 - 0 - - - 2855 - 0 - 0 - 0 - 0 - 1 - 1 - 1 - False - False - False - False - - False - 1 - 2 - 1 - False - False - 0 - 0 - - - False - - - 5060 - - - - - - 0 - - - - - - - - - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - 0 - 0 - - 0 - 0 - 0 - 0 - - 0 - 0 - 0 - 0 - - - - 0 - 0 - 0 - 0 - 0 - 0 - 0 - False - False - False - False - - False - 0 - 1 - 1 - False - False - 0 - 0 - - - False - False - - 5060 - - - - - - 0 - - - - - - - - - .\SIPCall.tst - 0 - 17 - 68 - 6 - 0 - - - 0 - 1 - 0 - 0 - True - False - 1 - 0 - 1 - 0 - 1 - 1 - True - 0 - 1 - 1 - 1 - True - False - True - False - False - False - False - False - False - False - False - False - False - False - False - False - False - False - False - False - False - False - False - False - False - False - False - False - False - False - False - False - 9 - 1 - 1 - 32 - <_gbDebugLogs type="bool">False - False - - <_dict type="list"> - - _ipRule1 - - - - dl_S_ADV - - - - loopMidDelay - - - - dl_T_IO - - - - dl_T_INFO - - - - dl_S_SEND - - - - _rtpIpRule1 - - - - _estimatedBacklog - - - - loopPreDelay - - - - dl_S_VRB - - - - dl_TG_ADV - - - - log_filesize - - - - rtp_log_in_file - - - - dl_T_VRB - - - - aliases - - - - dl_Q_ADV - - - - multipleUsersPerIO - - - - log_level - - - - rtpIpRule - - - - dl_1 - - - - dl_3 - - - - dl_2 - - - - rampdownSleep - - - - _portRule1 - - - - dl_S_SER - - - - dl_R_VRB - - - - dl_L_ADV - - - - dl_Q_VRB - - - - portRuleCh - - - - dl_S_INFO - - - - rtpPortRule - - - - dl_M_IO - - - - dl_EE_DD - - - - rtpIpRuleCh - - - - dl_S_FSM - - - - loopMode - - - - gracefulRampDown - - - - dl_FLOW - - - - dl_BUG - - - - dl_S_SUA - - - - ipRule - - - - ipRuleCh - - - - phoneRule - - - - _rtpPortRule1 - - - - dl_R_PAR - - - - loopCount - - - - dl_S_WAIT - - - - dl_SDP_DD - - - - dl_TRACE - - - - _gbDebugLogs - - - - rtpPortRuleCh - - - - dl_TG_VRB - - - - portRule - - - - dl_L_INFO - - - - dl_EE_VRB - - - - dl_R_DD - - - - dl_T_ADV - - - - ccExportProfile - - - - log_in_memory - - - - dl_L_VRB - - - - - - - False - 1-5 - 0 - 10000 - 1 - 500 - 500 - 4000 - 1 - 0 - 0 - 18 - 0 - 30000 - 16750 - 33500 - 1500 - 2000 - 500 - 40 - 0 - 0 - 800 - 2150 - 1500 - 2000 - 500 - 0 - 30000 - {{activecalls}} - 0 - {{activecalls}} - - - 1 - - - 0 - 35 - 0 - - - Default.cap - False - False - 10000 - 0x8078C5D3 - - - - - - 0 - 0 - 160 - - - 8 - 8 - 160 - - - 2 - <_gbVideoCodecs type="bool">False - 96 - <_gbDataCodecs type="bool">False - - - 100 - - - 101 - - - -1 - - - [10000-65535,4] - False - False - False - False - False - False - False - False - False - False - False - False - False - AS:48 - False - 800 - False - 800 - False - AS:384 - False - 6400 - False - 6400 - False - AS:48 - False - 800 - False - 800 - - <_dict type="list"> - - videoRR_value - - - - _gbVideoSDPParams - - - - textRS_value - - - - jitMs - - - - _gbAudioSDPParams - - - - ixnamSupported - - - - dedicatedCoreRange - - - - enableRTP - - - - rtpTosVal - - - - channelTypeQoV - - - - enableMediaSDPParams - - - - _gbTextSDPParams - - - - activityIdQoV - - - - rtpPort - - - - audioRS_option - - - - useJitComp - - - - dedicatedCoreRangeLength - - - - audioB_option - - - - audioB_value - - - - portIPsQoV - - - - audioRS_value - - - - enableHwAcc - - - - chEnableHwAcc - - - - channelsQoVPerZionPort - - - - videoRR_option - - - - rtpTos - - - - enableRTCPMux - - - - textRR_option - - - - silenceMode - - - - _gbMediaSDPParams - - - - textB_option - - - - enableQoV - - - - jitCMs - - - - valueQoV - - - - enableRTCP - - - - maxMosStreams - - - - enableMDI - - - - enableIxStack - - - - enableOWD - - - - unitsQoV - - - - serviceEnabledQoV - - - - chDisableHwAcc - - - - customTosGroupBox - - - - audioRR_option - - - - enablePerStream - - - - limitMos - - - - useMos - - - - textRR_value - - - - customTos - - - - videoB_value - - - - mosInterval - - - - enableAdvStatCalc - - - - useJitter - - - - useSilence - - - - metricsQoV - - - - videoRS_option - - - - videoRS_value - - - - jitCMaxDrop - - - - audioRR_value - - - - textB_value - - - - enableTosRtp - - - - videoB_option - - - - activityNameQoV - - - - textRS_option - - - - enableNBExec - - - - - - - False - 0 - False - False - IxLoad - 2000 - 2000 - - <_dict type="list"> - - rtcpSDESTool - - - - rtcpSenderTimer - - - - rtcpCNAMEType - - - - hasSDESTool - - - - rtcpReceiverTimer - - - - rtcpIgnoreSSRC - - - - hasSDESName - - - - enableRTCPMux2 - - - - - - - False - <_gbEnableAudio type="bool">False - False - False - <_JB1 type="bool">False - 20 - False - 1000 - 7 - rtp_esmad-asordo-l_2170 - False - False - 1 - False - 1 - False - 0x20 - 32 - <_COV1 type="bool">False - False - 5 - - 0 - False - <_gbEnableQoV type="bool">False - False - - - 0 - 100 - 0 - 0 - 0 - 0 - English(US) - - 0 - False - <_gbEnableQoV type="bool">False - False - - - 0 - 100 - 0 - 0 - 0 - 0 - English(US) - US_042.wav - <_audioFormat type="str">Format: PCM, Duration: 32785 ms, Size: 524556 bytes - -20 - <_gbOutputLevel type="bool">False - 0 - 10 - 1 - - <_dict type="list"> - - _gbEnableQoV - - - - channelTypeQoV - - - - pesqPolqa - - - - enablePTT - - - - enableP56 - - - - qovAnalize - - - - channelsQoVPerZionPort - - - - _COV1 - - - - useTelchemy - - - - activityIdQoV - - - - rtpTosVal - - - - useJitComp - - - - audioDuration - - - - _JB1 - - - - enableAudio - - - - enableTosRtp - - - - portIPsQoV - - - - _gbQoVMetrics - - - - dodName - - - - jitMs - - - - _gbASRLanguage - - - - rtpTos - - - - radioBtnQoVASR - - - - silenceMode - - - - playTypeAudio - - - - useQoV - - - - activityNameQoV - - - - enableQoV - - - - jitCMs - - - - valueQoV - - - - _gbOutputLevel - - - - unitsQoV - - - - serviceEnabledQoV - - - - audioClip - - - - languageASR - - - - customTosGroupBox - - - - audioDurationUnit - - - - useMos - - - - customTos - - - - qovSettings - - - - useJitter - - - - useSilence - - - - metricsQoV - - - - jitCMaxDrop - - - - channelsQoV - - - - enableAudioOWD - - - - _audioFormat - - - - _gbEnableAudio - - - - outputLevel - - - - - - - 0 - False - False - False - <_gbBtnTosBit7_0 type="bool">False - <_gbBtnTosBit7_1 type="bool">False - <_gbBtnTosBit6_0 type="bool">False - <_gbBtnTosBit6_1 type="bool">False - <_gbBtnTosBit5_0 type="bool">False - <_gbBtnTosBit5_1 type="bool">False - <_gbBtnTosBit4_0 type="bool">False - <_gbBtnTosBit4_1 type="bool">False - <_gbBtnTosBit3_0 type="bool">False - <_gbBtnTosBit3_1 type="bool">False - <_gbBtnTosBit2_0 type="bool">False - <_gbBtnTosBit2_1 type="bool">False - <_gbDisabledBtns type="bool">False - - - False - False - False - False - False - False - False - False - False - False - False - False - <_masterKeySelection type="int">0 - - - <_enableSRTP type="bool">False - <_useStaticKey type="bool">False - <_singleMasterKeyGrp type="bool">False - <_multipleMasterKeysGrp type="bool">False - - <_dict type="list"> - - bEnableSRTP - - - - _singleMasterKeyGrp - - - - bDisableSRTPEncryption - - - - bDisableSRTPAuthentication - - - - bDisableValidations - - - - _useStaticKey - - - - bEnablePreencryption - - - - staticSingleKeySalt - - - - _enableSRTP - - - - bStaticMasterKeySalt - - - - staticKeyFile - - - - bDisableMasterSalt - - - - _multipleMasterKeysGrp - - - - bAllowOnlySecureStreams - - - - bDisableSRTCPEncryption - - - - bEnableVideoSRTP - - - - bIncludeMKI - - - - bEnableTextSRTP - - - - _masterKeySelection - - - - - - - - 0 - 0 - 0 - 0 - 0 - 66 - 0 - 1 - - - False - 0 - False - 0 - False - 0 - False - 0 - False - 0 - False - 0 - False - 0 - - - False - False - 1 - <_gbEnableVideo type="bool">False - Fire_avc.mp4 - <_videoFormat type="str">Codec: H264, Duration: 12800 ms, Size: 2012176 bytes, Bitrate: 1225 kbps - 0 - 5 - 1 - False - <_gbUseConference type="bool">False - 0 - 1 - 1 - 1 - 1 - False - <_gbUseTelepresence type="bool">False - - 1 - 1 - 1 - False - False - <_gbTipMoreClips type="int">0 - Fire_avc.mp4 - 0 - 1 - 1 - 1 - 1 - <_gbTipPresentation type="bool">False - False - Fire_avc.mp4 - US_042.wav - 1 - 1 - 1 - 1 - 0 - False - <_gbTipLegacy type="int">0 - Fire_avc.mp4 - False - <_gbTipLegacyAudio type="int">0 - US_042.wav - False - False - False - False - False - False - False - False - False - False - True - - <_gbTosVideo type="bool">False - False - 1 - 0x20 - <_gbCustomTosVideo type="bool">False - 32 - False - False - False - 1 - True - False - <_gbH323AdvancedSettings type="bool">False - False - <_gbUseH323AdvancedSettings type="bool">False - - - False - - <_dict type="list"> - - hintTrackType - - - - videoMaxSessions - - - - useSingleNALUnit - - - - enableVideo - - - - useConference - - - - customTosVideo - - - - tipSettings - - - - playTypeVideo - - - - rotationScheme - - - - _gbUseH323AdvancedSettings - - - - isMP4 - - - - confVideoDuration - - - - tosValVideo - - - - enablePACSI - - - - _videoFormat - - - - confDuration - - - - tosVideo - - - - _gbUseTelepresence - - - - enableVideoOWD - - - - enableTosVideo - - - - fmtp - - - - videoType - - - - confDurationUnit - - - - videoDurationUnit - - - - _gbUseConference - - - - _gbH323AdvancedSettings - - - - _gbTosVideo - - - - _gbCustomTosVideo - - - - ignoreHintTrack - - - - enableAcceptSSRCChanges - - - - videoDuration - - - - useH323AdvancedSettings - - - - videoClip - - - - confVideoDurationUnit - - - - rtpmap - - - - _gbEnableVideo - - - - btnTelepresence - - - - useMosVideo - - - - - - - 0 - <_gbRotationScheme type="int">0 - 0 - 0 - 0 - 0 - - <_dict type="list"> - - rotationScheme - - - - confDuration - - - - confVideoDurationUnit - - - - confDurationUnit - - - - _gbRotationScheme - - - - confVideoDuration - - - - - - - 0 - 0 - 0 - False - False - <_gbTipMoreClips type="int">0 - Fire_avc.mp4 - 0 - 0 - 0 - 0 - 0 - <_gbTipPresentation type="bool">False - False - Fire_avc.mp4 - US_042.wav - 0 - 0 - 0 - 0 - 0 - False - <_gbTipLegacy type="int">0 - Fire_avc.mp4 - False - <_gbTipLegacyAudio type="int">0 - US_042.wav - False - False - False - False - False - False - False - False - False - False - True - - <_dict type="list"> - - tipDuration - - - - tipRotationScheme - - - - tipLegacyMode - - - - _tipLegacyClip - - - - tipVideoClip - - - - tipVideoRefresh - - - - tipUsePresentationStream - - - - tipGDR - - - - tipStartAfterUnit - - - - tipArithmetingCoding - - - - _gbTipLegacyAudio - - - - tipConfDuration - - - - tipConfDurationUnit - - - - tipG722Legacy - - - - tipLegacyClipAudio - - - - tipLegacyClip - - - - tipMoreClips - - - - tipDurationUnit - - - - tipInbandSets - - - - tipSyntheticPayload - - - - _tipVideoClip2 - - - - tipAudioDurationUnit - - - - tipResolution - - - - _tipVideoClip - - - - _tipLegacyClipAudio - - - - tipAudioDuration - - - - tipLegacyModeAudio - - - - _gbTipPresentation - - - - tipHighProfile - - - - tipRtcpFeedback - - - - tipVideoClip2 - - - - _gbTipMoreClips - - - - tipVersion - - - - tipDinamicChannels - - - - tipEndpointType - - - - _gbTipLegacy - - - - tipLTRP - - - - tipStartAfter - - - - _tipAudioClip - - - - tipPresentationRotation - - - - tipAudioClip - - - - tipAudioActivityMetric - - - - tipUnrestrictedMedia - - - - - - - False - False - <_gbEnableText type="bool">False - The quick brown fox jumps over the lazy dog - Format: t140, Max duration: 42300 ms - 1.0 - 1.0 - 300 - 0 - 0 - 5 - 1 - <_gbTosText type="bool">False - False - 1 - 0x20 - <_gbCustomTosText type="bool">False - 32 - - <_dict type="list"> - - tosValText - - - - _gbEnableText - - - - textClip - - - - customTosText - - - - textChpsMin - - - - textRedundancyLevel - - - - textChpsMax - - - - textBufferTime - - - - textDuration - - - - enableTextOWD - - - - _gbTosText - - - - enableText - - - - textPlayType - - - - _gbCustomTosText - - - - enableTosText - - - - textFormat - - - - textDurationUnit - - - - tosText - - - - - - - False - <_gbEnableT38 type="bool">False - <_gbEnableT38_2 type="bool">False - Ixia2Pages.tif - <_faxFormat type="str">Format: TIFF, Img size: 1660 x 2291, Size: 140402 bytes - 1 - 40000 - 0 - <_gbT38UdpEncapsulation type="bool">False - 102 - True - 0 - True - 5 - True - 0 - False - 0 - False - False - <_gbUdpOptions type="bool">False - True - 0 - True - 256 - False - 200 - - - <_dict type="list"> - - t38TranscodingMMR - - - - t38UdpEncapsulation - - - - useT38MaxBitrate - - - - t38RateMgmt - - - - t38TranscodingJBIG - - - - enableT38 - - - - t38TransportType - - - - _gbEnableT38_2 - - - - _gbEnableT38 - - - - t38Port - - - - t38FillBitRemoval - - - - faxVersion - - - - useT38FillBitRemoval - - - - useT38RateMgmt - - - - faxImage - - - - useT38MaxBufferSize - - - - errorRecoverySchema - - - - t38MaxDatagramSize - - - - t38MaxBufferSize - - - - _faxFormat - - - - t38PayloadType - - - - useT38MaxDatagramSize - - - - t38MaxBitrate - - - - useFaxVersion - - - - _gbUdpOptions - - - - _gbT38UdpEncapsulation - - - - imagesList - - - - useErrorRecoverySchema - - - - - - - 5551[000-] - 0 - 5 - 0 - 0 - 1 - 0 - 1 - 2 - 2 - 0 - 1 - True - True - True - True - 3 - 1 - - <_dict type="list"> - - t30SendResolution - - - - sendCedBeforeDIS - - - - t30ReceiveR8x7 - - - - t30SendPageSize - - - - t30ReceiveR8x3 - - - - t30SendCoding - - - - t30ReceiveProtocol - - - - sendCNG - - - - t30SendProtocol - - - - t30ReceiveMSLT - - - - t30SendMSLT - - - - t30SendDataRate - - - - t30ReceivePageSize - - - - t30ReceiveModulations - - - - t30ReceiveR8x15 - - - - t30StationId - - - - t30ReceiveCoding - - - - t30Receive200x200 - - - - - - - False - <_gbEnableMSRP type="bool">False - 2855 - 0 - alice[00-99].example.com - - 0 - False - 10.10.10.1 - True - 2855 - False - 0 - 0x00 - 0 - True - True - False - 30000 - 60000 - 30000 - 70000 - - - 0 - - False - - - <_dict type="list"> - - customMSRPTos - - - - filesCount - - - - firstRelayIpEnabled - - - - automaticMSRPAuth - - - - msrpSendEmptyMsg - - - - msrpTransactionTimeout - - - - msrpInterChunkTimeout - - - - tosMSRPVal - - - - enableMSRP - - - - localDomain - - - - relaysCount - - - - domainType - - - - firstRelayIp - - - - advSettings - - - - files - - - - msrpFirstChunkTimeout - - - - firstRelayIsIPv4 - - - - msrpPort - - - - _gbMSRPCustomTos - - - - msrpSessionTimeout - - - - _gbEnableMSRP - - - - enableMSRPTos - - - - msrpReuseTCP - - - - msrpGuiFiles - - - - msrpTos - - - - relays - - - - msrpRelayPort - - - - - - <_tempFile ver="[0, [0.1, [1, [0, [0]]]]]" type="#Plugins.agent.VoIP_Peer.VoIP_data$ixPropertyClass_FileRecord"> - 0 - <_typeStr type="str"> - - - - - <_bFileSize type="int">20 - <_msrpSizeCombo type="int">2 - 0 - 0 - application/octet-stream - - - <_tempAdvSettings ver="[0, [0.1, [1, [0, [0]]]]]" type="#Plugins.agent.VoIP_Peer.VoIP_data$ixPropertyClass_MSRPAdvancedSettings"> - False - - - - - - - - - 0 - 201004[0000-] - - <_PN1 type="bool">False - <_bTelGrp type="bool">False - False - <_bkTelURIparams type="str">phone-context=example.com - - <_dict type="list"> - - phoneBookList - - - - filePath - - - - pattern - - - - ckTelURIBook - - - - _bkTelURIparams - - - - _PN1 - - - - _bTelGrp - - - - fromFile - - - - - - - - - - - - - <_gbStep1 type="bool">False - - - ANY - - - INVITE - - - ACK - - - BYE - - - CANCEL - - - OPTIONS - - - REGISTER - - - NOTIFY - - - SUBSCRIBE - - - REFER - - - MESSAGE - - - PRACK - - - INFO - - - UPDATE - - - - <_gbStep2 type="bool">False - 2 - 1 - - - To - - - From - - - Contact - - - Also - - - Authorization - - - Call-ID - - - Content-Length - - - Content-Type - - - CSeq - - - Event - - - Proxy-Authenticate - - - Proxy-Authorization - - - RAck - - - Record-Route - - - Refer-To - - - Referred-By - - - Replaces - - - Route - - - RSeq - - - Subscription-State - - - Via - - - WWW-Authenticate - - - To - t - 1 - 1 - 3 - False - - False - False - <_gbStep3 type="bool">False - 0 - False - < - 1 - False - > - last - 1 - last - <_gbStep4 type="bool">False - 0 - - - - 0 - - - - C:\Users\asordo\Documents\__Customers\Orange\OPNFV2_Lannion - - - - None - False - <_useTPb type="int">0 - <_tBp type="str"><None> - <_tBpPrv type="str"> - <_tPhone type="str">150[00000000-] - 0 - 150[00000000-] - <_tTelGrp type="bool">False - <_ckTTelURIParams type="bool">False - <_tTelURIparams type="str">phone-context=example.com - - - <_dict type="list"> - - _tBpPrv - - - - overridePhoneNo - - - - _tTelGrp - - - - _useTPb - - - - tPhone - - - - transTelPar - - - - _tPhone - - - - _ckTTelURIParams - - - - symTransferStr - - - - tPhoneType - - - - _tTelURIparams - - - - _tBp - - - - - - - 0 - mysipdomain.ixiacom.com - <_useEPb type="int">0 - <_eBp type="str"><None> - <_eBpPrv type="str"> - <_ePhone type="str">160[00000000-] - 0 - 160[00000000-] - <_eTelGrp type="bool">False - <_ckETelURI type="bool">False - <_eTelURIparams type="str">phone-context=example.com - - - <_dict type="list"> - - _useEPb - - - - _eBpPrv - - - - domainName - - - - _eBp - - - - _ePhone - - - - _eTelGrp - - - - ePhoneType - - - - _eTelURIparams - - - - useDomainName - - - - editTelPar - - - - ePhone - - - - _ckETelURI - - - - - - - - <_useSPb type="int">0 - <_sBp type="str"><None> - <_sBpPrv type="str"> - <_sPhone type="str">{{pncalling}} - 0 - {{pncalling}} - <_sTelGrp type="bool">False - <_ckSTelURIParams type="bool">False - <_sTelURIparams type="str">phone-context=example.com - - <_sTelGrp1 type="bool">False - <_dTelGrp1 type="bool">False - VoIP2_CALLED:{{sipportcalled}} - True - <_useDPb type="int">0 - <_dBp type="str"><None> - <_dBpPrv type="str"> - <_dPhone type="str">{{pncalled}} - 0 - {{pncalled}} - <_dTelGrp type="bool">False - <_ckDTelURIParams type="bool">False - <_dTelURIparams type="str">phone-context=example.com - - False - False - False - sos - - - sos - - - sos.ambulance - - - sos.fire - - - sos.police - - - - <_dict type="list"> - - _useSPb - - - - _dTelGrp1 - - - - sourceIPs - - - - enableEmergencyCalls - - - - _sPhone - - - - _dBpPrv - - - - destPhoneType - - - - destTelPar - - - - useAnonymous - - - - _dTelGrp - - - - symDestStr - - - - _gbEmergencyDest - - - - _sBp - - - - makeEmergencyReg - - - - destPhone - - - - srcTelPar - - - - _gbEmergencySource - - - - _ckSTelURIParams - - - - _dTelURIparams - - - - _dBp - - - - ovrDestPhone - - - - _sTelGrp1 - - - - emergencyServiceList - - - - _dPhone - - - - srcPhone - - - - _gbEmergency - - - - _sTelURIparams - - - - _UseSrv1 - - - - srcPhoneType - - - - _sBpPrv - - - - _sTelGrp - - - - emergencyService - - - - _useDPb - - - - _ckDTelURIParams - - - - - - - True - {{sipportcalling}} - False - False - - {{pncalling}}@{{domainname}} - {{authpassword}} - <None> - 0 - 0 - 0 - ixia - C:\Users\asordo\Documents\__Customers\Orange\OPNFV2_Lannion - ixia - 0 - 0 - 0 - False - <Default> - 00000000000000000000000000000000 - 00000000000000000000000000000001 - 00000000000000000000000000000002 - 00000000000000000000000000000004 - 00000000000000000000000000000008 - 64 - 0 - 32 - 64 - 96 - False - 0 - 0x00 - 0 - False - 0 - True - {{iplistims}} - 5060 - {{domainname}} - False - False - True - True - False - IP:PORT - False - True - {{domainname}} - 2048 - False - False - False - - - False - ipsec-3gpp - 0 - hmac-sha-1-96 - 0 - esp - 0 - trans - 0 - aes-cbc - 255 - [3000-4000] - 4060 - - <_dict type="list"> - - protocol - - - - encrypt_algorithmStr - - - - algorithm - - - - modeStr - - - - protocolStr - - - - mechanism - - - - algorithmStr - - - - mode - - - - port_s - - - - port_c - - - - spi_start_idx - - - - encrypt_algorithm - - - - checked - - - - - - - False - False - 60 - False - False - 0 - True - False - <_enableAutoHeaders type="bool">False - <_btnAutoHeaders type="bool">False - False - False - - <_dict type="list"> - - _gbSrvSettings - - - - akaSharedSecretType - - - - _btnAutoHeaders - - - - tcpWriteImmediate - - - - ovrDest - - - - _enableAutoHeaders - - - - enableSIP - - - - fqdn - - - - akaSharedSecretSource - - - - milenageConfCombo - - - - milenage_c3 - - - - milenage_c2 - - - - milenage_c5 - - - - milenage_c4 - - - - akaConfCombo - - - - _UseSrv1 - - - - akaOperatorVariantType - - - - overrideRegistrar - - - - port - - - - milenage_r2 - - - - registrarSrv - - - - milenage_r4 - - - - milenage_r5 - - - - _gbRetransmissions - - - - milenage_r3 - - - - milenage_r1 - - - - tos - - - - user - - - - akaOperatorVariantSource - - - - telURISource - - - - useServer - - - - nUdpMaxSize - - - - retransmit1xx - - - - srvDomain - - - - _btnEditContact1 - - - - telURIDest - - - - ovrTimeout - - - - enablePeriodicDNSQueries - - - - useIPSecDoubleSPIPatch - - - - securityMechanismValList - - - - skipDeleteDNSRecordsAtLoopEnd - - - - overrideRegistrarAddress - - - - enableTos - - - - srvAddr - - - - ovrDestHostPort - - - - DNSTimeoutValue - - - - tosVal - - - - passwd - - - - T2 - - - - autoRegister - - - - T1 - - - - enableSigComp - - - - akaOperatorVariantSequence - - - - enableVoLTE - - - - retransmitACK - - - - akaSharedSecretSequence - - - - volte_grbox - - - - customSipTos - - - - dontEndMediaOnBye - - - - realm - - - - akaExportComplete - - - - mediaBearerType - - - - _gbPeriodicDNSQuery - - - - enableRetransmissions - - - - milenage_c1 - - - - akaUseOPasOPC - - - - _ovrDest1 - - - - outboundProxy - - - - ignoreRetransmissions - - - - closeTCPConnectionsOnRampdown - - - - ovrContact - - - - akaAbsolutePath - - - - serverAddresses - - - - enableCCDedicatedBearer - - - - akaConfComboSelIndex - - - - _gbCustomTos - - - - ovrTrans - - - - useDnsSrv - - - - ovrTransOption - - - - _enableSIP2 - - - - _enableSIP1 - - - - srvPort - - - - - - - True - - - True - REGISTER - 0 - Expires Header(s) - 3600 - - <_dict type="list"> - - message - - - - msgPart - - - - checked - - - - value - - - - msgPartStr - - - - - - - True - INVITE - 2 - Session-Expire(s) - 90 - - <_dict type="list"> - - message - - - - msgPart - - - - checked - - - - value - - - - msgPartStr - - - - - - - True - UPDATE - 2 - Session-Expire(s) - 90 - - <_dict type="list"> - - message - - - - msgPart - - - - checked - - - - value - - - - msgPartStr - - - - - - - 1 - 3000 - 50 - 32 - False - 500 - 4000 - True - True - True - False - False - 0 - False - False - False - 150 - False - False - False - - 0 - True - - <_dict type="list"> - - btnRefreshProcList - - - - autoEndCall - - - - ignoreRetransmissions - - - - minInterReregister - - - - autoEndCall2 - - - - enableTimers - - - - refreshInSecs - - - - retransmit1xx - - - - _gbEnableTimers - - - - ovrTimeout - - - - sessionRefreshType - - - - auto4xx - - - - retransmitACK - - - - procListChanged - - - - T2 - - - - autoProcedureList - - - - _gbAutoPRACK - - - - T1 - - - - refreshAfterPercent - - - - enableAutoPRACK - - - - stopActiveRetr - - - - enableRetransmissions - - - - rprTimeUntilNextRPR - - - - rprScenarioHasPRACK - - - - expirationValList - - - - refreshAfterSecs - - - - autoProceduresCount - - - - auto4xxAbort - - - - rprSendNegotiatedSDP - - - - - - - False - <_useCloud1 type="bool">False - <None> - - False - - False - <_ovrCloudRules1 type="bool">False - - <_dict type="list"> - - _gbVirtualIPs - - - - useCloud - - - - ovrCloudRules - - - - _ovrCloudRules1 - - - - cloud - - - - enableVirtualIPs - - - - virtualIPTable - - - - serverRules - - - - _useCloud1 - - - - - - - False - False - False - False - <_enableTLS1 type="bool">False - <_enableTLS2 type="bool">False - <_enableTLS3 type="bool">False - 5061 - 3 - False - <_tlsSessionRefresh type="bool">False - 3600 - 0 - False - <_tlsReuseConnection type="bool">False - False - False - <_gbTlsMutual type="bool">False - - - True - ECDHE-ECDSA-AES128-GCM-SHA256 - - <_dict type="list"> - - enabled - - - - name - - - - - - - True - ECDHE-ECDSA-AES256-GCM-SHA384 - - <_dict type="list"> - - enabled - - - - name - - - - - - - True - ECDHE-RSA-AES128-GCM-SHA256 - - <_dict type="list"> - - enabled - - - - name - - - - - - - True - ECDHE-ECDSA-AES256-SHA - - <_dict type="list"> - - enabled - - - - name - - - - - - - True - ECDHE-ECDSA-AES128-SHA - - <_dict type="list"> - - enabled - - - - name - - - - - - - True - ECDHE-RSA-AES128-SHA - - <_dict type="list"> - - enabled - - - - name - - - - - - - True - AES128-SHA - - <_dict type="list"> - - enabled - - - - name - - - - - - - True - AES256-SHA - - <_dict type="list"> - - enabled - - - - name - - - - - - - False - ECDHE-ECDSA-AES256-SHA384 - - <_dict type="list"> - - enabled - - - - name - - - - - - - False - ECDHE-ECDSA-AES128-SHA256 - - <_dict type="list"> - - enabled - - - - name - - - - - - - False - ECDHE-RSA-AES256-GCM-SHA384 - - <_dict type="list"> - - enabled - - - - name - - - - - - - False - ECDHE-RSA-AES128-SHA256 - - <_dict type="list"> - - enabled - - - - name - - - - - - - False - ECDHE-RSA-AES256-SHA384 - - <_dict type="list"> - - enabled - - - - name - - - - - - - False - DES-CBC-SHA - - <_dict type="list"> - - enabled - - - - name - - - - - - - False - DES-CBC3-SHA - - <_dict type="list"> - - enabled - - - - name - - - - - - - False - EXP-DES-CBC-SHA - - <_dict type="list"> - - enabled - - - - name - - - - - - - False - EXP-RC2-CBC-MD5 - - <_dict type="list"> - - enabled - - - - name - - - - - - - False - EXP-RC4-MD5 - - <_dict type="list"> - - enabled - - - - name - - - - - - - False - EXP1024-DES-CBC-SHA - - <_dict type="list"> - - enabled - - - - name - - - - - - - False - EXP1024-RC4-SHA - - <_dict type="list"> - - enabled - - - - name - - - - - - - False - IDEA-CBC-SHA - - <_dict type="list"> - - enabled - - - - name - - - - - - - False - NULL-MD5 - - <_dict type="list"> - - enabled - - - - name - - - - - - - False - NULL-SHA - - <_dict type="list"> - - enabled - - - - name - - - - - - - False - RC4-MD5 - - <_dict type="list"> - - enabled - - - - name - - - - - - - False - RC4-SHA - - <_dict type="list"> - - enabled - - - - name - - - - - - - C:\Program Files (x86)\Ixia\IxLoad\8.20-EA\aptixia\data\SSL_Certificates - Unsecured_RSA_key_1024.pem - Unsecured_RSA_cert_1024.pem - 0 - 0 - - 0 - 0 - True - False - - <_dict type="list"> - - tlsCertType - - - - tlsPassword - - - - tlsPort - - - - ignoreSubjectAltName - - - - tlsPrivateKeyCertificate - - - - tlsTransportType - - - - enableTLS_HTTP - - - - tlsCyphers - - - - tlsProtocol - - - - tlsKeyType - - - - _tlsSessionRefresh - - - - tlsCertificatesPath - - - - tlsEnableTcpKeepAlive - - - - _gbTlsMutual - - - - tlsPublicKeyCertificate - - - - _enableCert - - - - enableTLS - - - - tlsAuthClient - - - - tlsMutual - - - - _enableTLS4 - - - - _enableTLS1 - - - - _enableTLS2 - - - - _enableTLS3 - - - - enableDTLS - - - - enableTLS_MSRP - - - - tlsReuseConnection - - - - tlsRefreshInterval - - - - tlsSessionRefresh - - - - tlsDisableUdpAndTcp - - - - sipScheme - - - - _tlsReuseConnection - - - - - - - 200 - 30000 - False - - - 6 - 100 - 30000 - - - - - - - - - - - - - 0 - False - <_gbHardcodedForDemo type="bool">False - <_gbStunSettings type="bool">False - False - 127.0.0.1 - 3478 - False - False - <_gbSRVCCSettings type="bool">False - False - - False - False - False - <_gbPCO type="bool">False - - False - False - - - - <_dict type="list"> - - _gbIceSettings - - - - _gbPCO - - - - VOIP_IPAddress4 - - - - VOIP_IPAddress1 - - - - VOIP_IPAddress0 - - - - VOIP_IPAddress3 - - - - VOIP_IPAddress2 - - - - bUseIce - - - - mobilityPath - - - - VOIP_Var0 - - - - _gbStunSettings - - - - PCO_List - - - - _gbSRVCCSettings - - - - absolutePathForCsvWithVariables - - - - bIceLite - - - - PCO_Groupbox - - - - bUseHardcoded - - - - bUseSRVCC - - - - useBHCA - - - - ipPreference - - - - btnBrowseForVariableCsv - - - - bUsePCO - - - - stunPort - - - - bUseStun - - - - stunAddr - - - - ddgGroupboxSRVCC - - - - _gbHardcodedForDemo - - - - pathForCsvWithVariables - - - - DodPathForCsvWithVariables - - - - _varCsvGroupBox - - - - VOIP_Var1 - - - - loadVariablesFromCsv - - - - VOIP_Var3 - - - - VOIP_Var2 - - - - VOIP_Var4 - - - - - - - False - sc.home1.net - False - phone-context=example - 61814712345 - 0 - 0 - False - False - False - False - - False - 160[00000000-] - <None> - - 0 - 0 - False - False - False - False - - False - 160[00000000-] - <None> - - 0 - 0 - - False - False - None - 0 - - - 0 - False - False - False - - <_dict type="list"> - - smOrigNumberingPlan - - - - smsFiles - - - - enableSMS - - - - enableSMOrigReplyPath - - - - smsFilesCount - - - - btnSMRecipEdit - - - - enableSMOrigReqStatusReport - - - - grBoxSMRecipient - - - - enableSMRecipOverrideSrc - - - - grBoxSMOriginator - - - - smsAddressOriginator - - - - telURI - - - - depActivities - - - - pcpuCommonPath - - - - smOrigTypeOfNo - - - - smRecipTypeOfNo - - - - requestURI - - - - smsFilesBackup - - - - smsAddressRecipient - - - - enableTelURI - - - - useFilesFromActivity - - - - smRecipNumberingPlan - - - - smscPhoneNo - - - - smsImportFilesActivity - - - - enableSMRecipReplyPath - - - - btnSMOrigEdit - - - - smscNumberingPlan - - - - duringLoadFromBackup - - - - enableSMRecipReqStatusReport - - - - grBoxSMServiceCenter - - - - verifyUserInfo - - - - smscTypeOfNo - - - - enableSMOrigOverrideDest - - - - smsActivityForFiles - - - - - - - 0 - - - - - - 0 - 0 - 0 - - - - <_dict type="list"> - - contentViewShow - - - - ixSmsFilePath - - - - contentViewEdit - - - - segmentOrder - - - - comboRefNo - - - - loadedFileType - - - - btnSmsLoadFiles - - - - ixSmsFileName - - - - btnSmsSaveAs - - - - fileName - - - - segmentNo - - - - totalTpudSize - - - - comboCoding - - - - - - - 0 - <None> - - 160[00000000-] - 0 - 160[00000000-] - False - - - - <_dict type="list"> - - userPattern - - - - phoneBookPreview - - - - ePhoneType - - - - ePhone - - - - fakeEnableTelURI - - - - comboPhoneBook - - - - fakeTelToPort - - - - fakeTelURI - - - - radioBtnPhoneNo - - - - - - - 0 - <None> - - 160[00000000-] - 0 - 160[00000000-] - False - - - - <_dict type="list"> - - userPattern - - - - phoneBookPreview - - - - ePhoneType - - - - ePhone - - - - fakeEnableTelURI - - - - comboPhoneBook - - - - fakeTelToPort - - - - fakeTelURI - - - - radioBtnPhoneNo - - - - - - - True - - - - - INVITE - - - ACK - - - BYE - - - CANCEL - - - OPTIONS - - - REGISTER - - - NOTIFY - - - SUBSCRIBE - - - REFER - - - MESSAGE - - - PRACK - - - INFO - - - UPDATE - - - 100 (Trying) - - - 180 (Ringing) - - - 181 (Call Is Being Forwarded) - - - 182 (Queued) - - - 183 (Session Progress) - - - 200 (OK) - - - 202 (Accepted) - - - 300 (Multiple Choices) - - - 301 (Moved Permanently) - - - 302 (Moved Temporarily) - - - 305 (Use Proxy) - - - 380 (Alternative Service) - - - 400 (Bad Request) - - - 401 (Unauthorized) - - - 402 (Payment Required) - - - 403 (Forbidden) - - - 404 (Not Found) - - - 405 (Method Not Allowed) - - - 406 (Not Acceptable) - - - 407 (Proxy Authentication Required) - - - 408 (Request Timeout) - - - 410 (Gone) - - - 413 (Request Entity Too Large) - - - 414 (Request-URI Too Large) - - - 415 (Unsupported Media Type) - - - 416 (Unsupported URI Scheme) - - - 420 (Bad Extension) - - - 421 (Extension Required) - - - 423 (Interval Too Brief) - - - 480 (Temporarily not available) - - - 481 (Call Leg/Transaction Does Not Exist) - - - 482 (Loop Detected) - - - 483 (Too Many Hops) - - - 484 (Address Incomplete) - - - 485 (Ambiguous) - - - 486 (Busy Here) - - - 487 (Request Terminated) - - - 488 (Not Acceptable Here) - - - 491 (Request Pending) - - - 493 (Undecipherable) - - - 500 (Internal Server Error) - - - 501 (Not Implemented) - - - 502 (Bad Gateway) - - - 503 (Service Unavailable) - - - 504 (Server Time-out) - - - 505 (SIP Version not supported) - - - 513 (Message Too Large) - - - 600 (Busy Everywhere) - - - 603 (Decline) - - - 604 (Does not exist anywhere) - - - 606 (Not Acceptable) - - - - - - Request-Uri - - - Via - - - From - - - To - - - Call-ID - - - CSeq - - - Contact - - - Content-Length - - - Route - - - Record-Route - - - Authorization - - - Proxy-Authorization - - - Referred-By - - - Replaces - - - Event - - - RAck - - - RSeq - - - Refer-To - - - Subscription-State - - - WWW-Authenticate - - - Also - - - To - - False - - - True - - - False - - - - - - False - 40000 - 60000 - 1 - False - False - 10 - False - False - - <_dict type="list"> - - tcpIdlePeriod - - - - tcpEndPortLabel - - - - tcpIdlePeriodLabel - - - - donotCloseTCPInsideCallEnable - - - - tcpPortStepLabel - - - - tcpLocalPortStep - - - - tcpLocalPortEnd - - - - tcpStartPortLabel - - - - tcpLocalPortStart - - - - closeIdleTcpConnectionsEnable - - - - recordingServerEnable - - - - overrideTCPLocalPort - - - - closeNonsecureTcpConnectionsEnable - - - - - - - 6 - <_apiUniqueId type="int">16382 - 39 - 59 - - - <_dict type="list"/> - - VoIP - - - - - - None - VM1 - Both - none - 0 - Default - False - - Ixia Virtual Load Module - - - - 1 - 1 - 1 - False - Ixia Virtual Load Module - - None - - False;8192 - - None - - - - - - <_smRangeObjectId type="str">5affc0a7-68f6-46f6-b801-0e18e067a572 - Network Range IP-R13 in VM1 ({{ipcard1}}+1) - - Group1 - consecutiveIps - 0 - <_apiUniqueId type="int">15457 - <_networkRangeList ver="[0, [3, [0, [0, [0], [0]], [0]]]]" type="ixWeakrefSequenceContainer" itemtype="ixNetworkRange"> - - - <_rangeGroupObjectId type="str">abf2b6e4-a102-4cbe-bf1b-a11f11b2faac - <_smPluginObjectId type="str">9ea551b2-a0af-4a7d-9872-e9b94298d7bd - - False - - - None - None - - - - 0 - 0 - 1024 - 65535 - 0.0.0.0 - 255.255.0.0 - :: - FFFF:FFFF:FFFF:FFFF:FFFF:FFFF::0 - - 0 - - True - False - - - False - 30000 - - - - - - False - True - True - False - False - 0 - 1024 - False - 0 - 1024 - 60 - 75 - 9 - 7200 - 5 - 5 - 5 - 8192 - 8192 - True - False - 1000 - 60000 - - - - - False - False - False - False - False - False - 1 - 1 - 1 - 0 - 0 - 1 - 1 - 0 - 1 - any - any - any - False - FragmentationPercent - 50 - 1000 - 1 - 1 - <_seed type="int">1 - - <_portGroupId type="str">e7fa1f9e-23d9-4742-96b2-6edce6c4424e - <_smExternalLinks ver="[0, [1, [0, [0]]]]" type="_smExternalLinkersMap"> - - - 1 - - - - - VoIP Peer - REGISTERING - True - - Timeline1 - {{registeringduration}} - {{registeringduration}} - 1 - 0 - 10 - 0 - 0 - {{registeringtotalcalls}} - {{registeringduration}} - {{registeringduration}} - 0 - 0 - 1 - - - - Linear Segment 1 - 0 - 1 - 0.0 - 1.0 - {{registeringduration}} - 17 - - - 20 - <_apiUniqueId type="int">16159 - - 3 - - - False - 1-5 - 0 - 10000 - 1 - 500 - 500 - 4000 - 80000 - 0 - 0 - 18 - 0 - 1500 - 5 - 2500 - 1500 - 2000 - 100 - 40 - 0 - 0 - 800 - 2150 - 1500 - 2000 - 100 - 0 - 750 - 86534 - 0 - 100 - - Peer - Both - 100.0 - concurrentConnections - {{registeringtotalcalls}} - activeUsers - {{registeringtotalcalls}} - SimulatedUserConstraint - 86534 - 100 - True - SimulatedUserConstraint - 100 - False - protocolSpecific - 1 - 0 - 1:1 - Consecutive - - 2 - <_apiUniqueId type="int">15566 - 58ff41761a9072107c63efca - <_objectiveValue type="int">{{registeringtotalcalls}} - - 1.0 - - - - - VoIP Peer - CALLING - True - - - False - 1-5 - 0 - 10000 - 1 - 500 - 500 - 4000 - 80000 - 0 - 0 - 18 - 0 - 30000 - 16750 - 33500 - 1500 - 2000 - 100 - 40 - 0 - 0 - 800 - 2150 - 1500 - 2000 - 100 - 0 - 30000 - {{activecalls}} - 0 - 100 - - Peer - Both - 100.0 - concurrentConnections - {{activecalls}} - activeUsers - {{activecalls}} - SimulatedUserConstraint - {{activecalls}} - 100 - True - SimulatedUserConstraint - 100 - False - protocolSpecific - 1 - 0 - 1:1 - Consecutive - - 6 - <_apiUniqueId type="int">16446 - 58ff41761a9072107c63efca - <_objectiveValue type="int">{{activecalls}} - - 1.0 - - - - - - - - - - - False - <_apiUniqueId type="int">15466 - - None - - - <_apiUniqueId type="int">15451 - - <_dict type="list"> - - - - - - - <_dict type="list"> - - - - - - - <_dict type="list"> - - SIP - - SIP - True - - - - RTP - - RTP - True - - - - T38 - - T38 - True - - - - MSRP - - MSRP - True - - - - - - - - - - - - - <_dict type="list"> - - SIP - - SIP - True - - - - RTP - - RTP - True - - - - T38 - - T38 - True - - - - MSRP - - MSRP - True - - - - - - - - - - - - - - True - 1 - 0 - 10 - 244522 - 3549 - 3549 - protocolSpecific - n/a - {{registeringtotalcalls}} - 0 - 5 - 1 - 17307 - 20 - activeUsers - {{registeringtotalcalls}} - {{registeringtotalcalls}} - 0 - <_apiUniqueId type="int">15450 - True - - <_portOperationModesAllowed type="dict"> - - 0 - True - - - 1 - True - - - 2 - False - - - 3 - True - - - 4 - True - - - 8 - True - - - <_tcpAccelerationAllowed type="dict"> - - 0 - True - - - 1 - False - - - - - 0 - <_apiUniqueId type="int">15447 - - - Terminate - - - - 2 - <_apiUniqueId type="int">15449 - - - - - concurrentConnections - {{activecalls}} - protocolSpecific - activeUsers - {{activecalls}} - - {{activecalls}} - True - VoiceLink1 - - - - - 0 - <_apiUniqueId type="int">16586 - - - - 0 - <_apiUniqueId type="int">15446 - - - 45 - True - True - True - True - False - False - False - False - Kbps - - False - - - - <_apiUniqueId type="int">15684 - - False - None - 0 - 0 - 0 - - - - Playlist - playlist - - - - 0 - - - Random Data - rdge - - - 0 - 1 - - - 1 - - - Real File - realfile - - None - - 2 - - - Unified File System - ufs - - None - - 3 - - - <_profileMru type="str"> - - None - True - True - 0 - <_apiUniqueId type="int">15445 - - - 2 - True - False - begin 666 <data> M>)S=G6MOXSBRAO^*D(,9S& GMJB[,ND,TD[2$W1NB-T]N]A>--0VDVC;EKR2 MG,L>G/]^*-E.1+)DUTQ$"LB'[C@65:5Z0Y;X4)?:_^UQ-C7N:9;':?)NA_3, MG=\.]H=%5'R.Z0/-7C9Y/<_LF3TKM'98 YJ7WY[%>6%\I$_O=J)Y$3_&42^_ M[\W+/?*")F/:J[7[(XOF;!/;>7!Y,3J^&!G]@_VKZ^,A^W@X.KV\$'__>GQT M.CI\?W9<;AA<GK\_O3@^>G:=/W_"'(#D_&#_)*/_6; V3\9]-%W0=SO63N4H MOS]+;V_CY';]_2A;T&K3*)[1X5,R?D_OHOLXS=8-S.>M>1'-YE<9'<?5@:VV MV]7VX]N,'4NIZNAI3M?;2+7MDJD\3:/)5986=%S4]GUV_G)<O\>3"4U*0_FZ MU4DTS9?-CI/HVY0>144T+-*,R@VN7L2I'X<#[;W1$SN@RT4Q7Q3/0IXOID4\ MGXJQ58V.AEN:G4>/9:_+V?$-%GF1SCZP/]G=<QMO[?,DGM*KJ'C>4GU_.*59 MD:]_&JQ+)_G>8QZ_V[DKBOE>O__P\-![L'MI=MNW3)/T_WY^-AS?T5FT&R?L MC\;$V'G>:[)]K\II?^WUB-Y$+*9*)_ZWJAF_>9"EJUZ04<I:,ZU'I>@'^X_Y M7EY9-V)V"!?TH?H[T&)U9&6HZT/$'.&R[2R?,"OO=A99LK*>[\[B,3N(]*;8 M':>S/=9N=]EJISH&.J4SFA1&$LTH?QC+5GNG^>J;=SM%U3M7WY]'<?(<3MES M*:UB/DPF'[)T,<^?6YZEXZALLG3(#H+UAL>R-RY_OTOC,35F<7(Y'B^RO!I@ ML^AQ_=LB^98ND@F=0,<+> 6=Y,O.2 $3IT<[1L':O=MAFZ9I<KLC'$L?V.DJ MRM@O?VG7"_9_;;>\R&+<CF4P?VG'P1T=?R]'V\L?K_K#59:&3RP[S'I_Q,DD M?<A[)VDVRWLO>_QB0 U^,3ZOSA-.KSQ+F+\8 ];G%QE]E]!%D4737XRKQ;=I M/&;)>I1^I\F[;[X?N6/7(Z'M4#,(:Y%$R=,R-HSNQ=U?TN RF[#SP<N><5)@ M=EMFR$EMQV]I.J51 NS<Y_I97^R%_1?CJZU5Q\>T7([D@_U)?'-SF^TM?T2S MOS+F5_LL36S;9^UH]YZP8764CA?E,1VO#TT>?,;J",N,)F\ES]TO2Q^J/T@E MW6J?NR@?W$7)+66"LBS-<FTUY$^/#LS]/OM_?SWF#G;)?O_YE_UR/!U4CO;[ MU>?]2L7*Y7Y_J>A+?SZP]ONUW_;+#G70+^VQG_O5057VEY]69\C)09GY]OOK MWYA9*;@_+X<%R$$0<A!!#E-28W4*P@E" $'6!@1A3"VZV( N%D(72]!%[B57 M:588@ZM/1ADKFQ7%8UZB\CC^K$*@S;IHKI[>Y "JV0C5;$$U2U+M!^,HSK\; MGXIX&O\W*F>KG&AEW']6-,AD73-+BV0N()F#D,S9*MDH+:*I<4YG:?;TT\?W M/[]:,-F@_G'I 7*Y"+G<K7(Q5J!MJB79JXNE9SCZ@%@>0BQOJUAEKCEC\&@< MWM\:/Q'C/$X6!7V]:(UVZ^+96L0+ /%\A'C^GQ3/7069MZU>W7!=/D>+?"$@ M7X"0+_BS?4^9?J1)0%>+@,0$% P1"H;;3Z;K0%]_#GVQ5%?(TZ,0-)<GF,D\ M$6?S\C3MS-JUJ^E4;MRDF3&8QB60E1.MUT_7-MKN8-I&0 I 88#( 40&@;,X M^5Y%2U_=W>JF],\]" 0%!$,%1,("4"9J#.>4OGY4UDWIGW40B ((!@.(R & M3"<9^S\WANR[%J9H-5OZI_X$FOL3S.2?B+/_S4(9UVT,/MF@_DD9@>;_! , M1"0 0++/T32>&*LXK^F8QO<MC,8&J_JG9 3B 8(! B(2 5:\=GK>)M,=3,P@ M,B 8-" B&P ROG\JVDIO=5,=S,X@ B 8!" B T RQ44M%1D_??PV;P$ &JS6 MQ?/U+,M"DW^"F?T3<?K?V,=:2W"BN;I<@1ZY(!*P,"1@2230T->XM--J?X,M MUT4,]8@(48"%H0 +00&C+$KR65P8A]F<A?R?!<U?G^%@H]R45P\:6.#U M0% M P0:"&'.IT]M*U>9Y'33=/D)8@4+PPH6@A56(ZO5+@?:Y)33 P\6! \6!AXL M!#SP4;;1X0"+G&IZ^,&"^,'"\(,E\<.V):,AS>YIIF;)B+?=P9*1!;&$A6$) M2[JZX+[=)2,+8@4+PPJ6=!T!E.EM+!E9$"M8&%:PI.L%LDQO:,G(AKC PG"! M)5T6V"C4VUDRLB$VL#%L8(ML $CVQI>,;(@); P3V"(38,5[BTM&-H0'-@8/ M;!$/ !G?S)*1#=X_A+J!2+J#")#I;2\9V1 0V!@@L*5[B9KZV!M:,K(A$K Q M)&!+]Q(U]+6WOV1D0Q1@8RC 1E# VUXRLB$TL#%H8"/0X.TN&=D0*]@85K 1 MK/"6EXP<"!YL##S8"'AXJTM&#L0/#H8?'.1=1J,[YNCV;KXHEBL\[2P6R5:[ MN"$<X@<'PP^.R ^.O$JYNG%*S<1NLW']2TD.Q! .AB$<D2&V2*EDWK+=@?YE M)P?B#0?#&X[(&X"DJS5:-;USLW']"U,.^!P#ZD$&D3ZV2*FD=VYWH'_ARH$( MQ<$0BK/]6L7G]/1J&,]?_W#6RE G#VDY$'XX&/QP1/QP (9;Y$_&[^DB,P;1 MM'SN)<H76?7486[\M K[YU>?J]?Z(;UQW=#4)#-$*@Z&5!R15$K=19E_'QR^ M?KEOK6)EK(.>"$&)@X$21X026*)!FQ(-NCC9NA!].!CZ<$3Z 9KN6M"IRI& M)F2:'X::!(1 Q,6 B"N"2*DH^+3@.M;6>IMH5O_0="$$<3$(XDH((LMV."Y* M1&U=-\EN!P,6 @X7 QRN!!RR<,/%>$SS_&:AH-.!MCMXM!?""Q>#%ZZ$%[* M?T194KXQJ'7U9,/ZY[XNA!,N!B=<"2=DZ4ZBF!UJ^\I)=O5?L'7!!Z113TB+ MT !ENV]IN8."="<9UG^1UH5HPL70A(N@B;,TG:N8G4AV^:F)IDP'$8*+(017 M) 17GO[*Z=RHHE9XOE@[Z&"Z I&$BR$)5R0)0$H^0[4L(VQ<_\3%@TC#Q9"& M*Y(&(*%P>FQ9PP;K^B<O'D0;'H8V/)$V !&%?-^RB W6]4]C/(@]/ Q[>")[ M ")R;-6RA*!M_=,9#V(0#\,@GL@@@("G24&S*CCC:)%5KP R?CJ\O_W9^.<L M_U=K6FYSHW^JXT%DXF'(Q)/(!%B+B:9J%F)$N_Q41U./A,C$PY"))Y))J:68 M%XN"SN95[BJ#;2\CBG8[>',31"8>ADP\D4P X08I2U3C]H63['8PG0%?XX1Z MCY/()8!PJTF;JH[79+Z#"0W$*!Z&43R140 9GR\:MBN?:+:#*0S$(QZ&1SR1 M1Z!\E^0/-&L_W0EF]4]<?(A!/ R#>"*#- ]:19VNP;K^:8H/,8B/81!?9!! MQ.-D%9IQFL1%S 1IX<&-E82@;?TWU/L0?_@8_O!%_M@H8'L/ODCZP?>(Z[FE MWH?HP\?0AR_2QT;Y!M6+E]7TOYIM_3?9^Q!G^!C.\$7. 2L;DB^H5G[YP_ MLOZ;ZWV(-'P,:?@(TJCN-VE7M;K)#FZH]R' \#& X2, 8WU!MMUY"F>T@YOI M?8@M? Q;^ BVN*;_5L%DHMD.;J7WP;?#HEX/BX*)29RI44XTW,$-]3Y$%#Z& M*'P$42S/>@]Q<6<<+HH[MBD>+Y?<RD<O6/3MG60QKCA]]:!' *&'CT$/'X$> MRZ#+XD'&IZ.KEK5\,<OIIH<V H@V @QM! C:J 4X&BC1K3++Z:8',@((,@(, M9 0(R*@'>#94HEMIEM--#UT$$%T$&+H($'11"_ \?F0)OYK3SM/L]<^S 1I* M+C@]]<!& ,%&@(&- 'E1HWHB0-65#=DX?WE#4Q*$H"/ 0$<@0D>P]?*&T<_I M6-4UCI5Q_1<Z HA# @R'!"*' !(*%R3:E1 VKO^21P!A28#!DD#$$D!"?F&S M705!V_HO=@00GP08/@E$/H&&,;>\WO(HAFSKO^P1@/4K4 4L1$@!!)36E]K5 ML,F\_LL@(<0B 89% I%% !E?%IS:U4^RJ__21PC!2(B!D5"$$3 #_EO9.02T MK?_21PA128BADE"D$E! ?B&E;0E!Z_HO@(00HH081 E%1(&F,EO73UJ>W6#] MZ;]0$D+L$F+8)139I5'H]>**"E$%V_HOEH00MX08;@D1W,*OLB@3\,5V!Y=/ M0@A;0@RVA!ALX=9;U"GX;+N#BRDA1"TAAEI"!+4TK[8H4Q/VT\'EEA#"F1"# M,Z'T!'K#TLXHGJE;VI&,\TL[FF9$$-*$&*0)1:0I585$'-)B,:^B57$?]287 M^I=YB D6Z$-5Z!/9!M!S%$V_*U,2-JY_G8>8< D_7 T_$70 %=?WP2A3LMF! M_D4?8H)U_$Q4(3]3I!ZH3RX?"BG#5?F\Q#8W^E>#B F6_C-1M?],Z6GXIM>K M*GBKC&B7/_'HH4AB@A4!351)0%.N\R$7-%V&N7Y!99LWT@&6NSC5@)4"352I M0%,N]]$D8.NW<6YZS:^N,PQ8,=!$E0PTI4?BH==>WL9YL<Q2*D9PHWU^).M9 MIB F6$+01-40-.4B@K*<+Q?QN, 57"04['<QJL%"@B:JDJ IEQ*4Q:P]UZY& MS68'78QTL."@B:HX:,HE!X'R&.OG(E1("1OO8!()UAVOQ$7(*!<?W#3$CZCJ M02YYZ&#N")<IQ]4IEPN5;Q[FJA3=Y$+_54724+ <5[%<+E;8.-15R=ED7O]U M1@(7-<=5-9?*FF^9'RF[?VJS$WZFI.=Z!(&KH./*H,MUT(D\96^8R:BZIPIR MTL&<":Z9CBN:+E=-!V1MFM*TJ^L6+QW,GN#*ZKC2ZG)M]8W]54A[JGHL[*:+ M&14(3;C"ZW+E]<U]5JFV6_UT,;L"(0I7CEVJQ[[M_%5=QU%\^A)]<)IJNA9, MX.+MN.KM<OEV(B\E2R&K6$C>[*2#LQ=<UAU7UUTN[ [(R@]+9<)N<]/!^0LL M 4]0->")5 0>R /#TROCG"6_Z%;)#+;)/#_Z=6D)XA6J%#R1:\%;0#T'%NVJ M$E)+A0OK.@J6NQCG(%2AZL$3N2#\-@'9MKS%17O0=A<C&B0H5'%X(E>'WR;B M>52,[U2I^&R\@]DG6"B>H"K%$[E4?*.,^9Q- ]LJ0\J+R)ON8(X)5HTGJ++Q M1*X;#TCX$F/+8UDVW,%J'5@KGJ"*Q1.I6OSV'JAF)$O6.UBK ZO)$U0Y>2+5 MDX>$/+WX?#HZ5G1JAHWK?S* @-7F":K</)'JS6-D;'E0-YG7_WP >O1$U1! M>B)5I,=(V?;@;K2O_QD E:J)ZA2]42J58\1\YH6JQM;%"K*.]'_9 !:]@3 M5!%[(E6QAV0]''Q4E#(!RQT\&4# \O4$5;^>2 7LMRK8<K8$;7?P= !J]L3 M5'E[(M6WWZIBVXD2-M[!LP $+'1/4)7NB53J?JN.2G+D!@\=O)")V"#?V"B^ ML3%\\_X?JB:5@.4.7KE$;!!Q;!3BV!C$X>)L.4."MCMX 1.Q0;ZQ47QC8_B& MB[3M# D;[^"%3,0& <=& 8Z- 1PNU*J\01)-IT]J)87\=/#:)N* S&.CF,?& M, \7M9+SSP8/';RXB3@@^#@H\'$PX$,>'U4M44*F.0TU48X#4HZ#HAP'0SE\ MH"V?@F#CW&JY)M9Q0-9Q4*SC8%B'#[7MC-E@G5-2$^\X(.\X*-YQ,+S#QZHD M46YRP6FJB7T<D'T<%/LX&/:QU&5*R#2GH2;:<4#:<5"TXV!HQU*9*6'CG(Z: MF,<!F<=!,8^#81Y+::9LL,XIJ8E[')!['!3W.!CNL=1GRDTN.$TU,9 #,I"# M8B 'PT"VNDP)F>8TU$0Z+D@Z#HIT' SIV"HS)6R<TU$3W[@@W[@HOG$Q?&,K MS90-UCDE-5&."U*.BZ(<%T,YMOI,N<D%_ZB*)DU!XG%1Q.-BB,=1ERDAT_PM MDYHT!%G'1;&.BV$=1V6FA(US.FKB&Q?D&Q?%-RZ&;QREF;+!.J>D)LIQ0<IQ M493C8BC'49\I-[G@--5$/"Y(/"Z*>%P,\;CJ,B5DFM-0$^NX(.NX*-9Q,:SC MJLR4L'%.1TU\XX)\XZ+XQL7PC:LT4S98YY341#D>2#DNBG)<#.6XZC/E)A>< MIIJ(QP.)QT,1CX<A'D]=IH1,<QIJ8AT/9!T/Q3H>AG4\E9D2-L[=?:Z);SR0 M;SP4WW@8OO&49LH&ZYR2FBC' RG'0U&.AZ$<3WVFW.2"TU03\7@@\7@HXO$P MQ#,XO!@<GQEJ;K^"C7,Z:N(=#^0=#\4['H9WQ%!;SI=-YCDM-7&.!W*.A^(< M#\,Y8K!MY\Q&^YR:FHC' XG'0Q&/AR$>,5HE>7.S$TY7303D@03DH0C(PQ#0 MY=7H]/)BJ"AU-ECGE-1$0#Y(0!Z*@#P, 4FQMIP\&^US:FIB'Q]D'Q_%/CZ& M?:1HVTZ?S0XX/35QD ]RD(_B(!_#05*X2A+H%B_<XZ2:R,@'R<A'D9&/(:/K MXP^GP]'QM:(4VF2>TU(3&_D@&_DH-O(Q;"0'V_:SXHT..#TU<9$/<I&/XB(? MPT5RN&VGT0T>.$4U$9(/$I*/(B0?]18#*5XEB72;&TY;3<3D@\3DHXC)QQ#3 MQ>7H].0?BO(H;)S341,K^2 K^2A6\C&L)(;:<@YM,L]IJ8F/?)"/?!0?^1@^ M$H-M.W\VVN?4U,1( <A(/HJ1? PCB=$JR9V;G7"Z:J*E *2E $5+ 8:6AI_> M#P?7I^]5/8'::)]34Q,K!2 K!2A6"E!O;I.C;3F%;O# O2M&$R,%(",%*$8* M4*]RD^-M_0U&&UQPFFIBI0!DI0#%2@'JS6YRP$K2Z58_G+J:R"D R2E D5. M(Z<3A4@/V.94U$1+ 4A+ 8J6 APMG2B%>= ZIZ0F-@I -@I0;!1@V$B(M7V, MA\US6FKBHP#DHP#%1P&&CX1@%0'\!A^<JII(*0!)*4"14H AI?/CX?#P@ZH9 M:(-U3DE-E!2"E!2@*"G 4)(4:\MYL]$^IZ8F-@I!-@I1;!1BV$B*MNW<V>R MTU,3'84@'84H.@HQ="2%JR1_;O'"O092$R6%("6%*$H*,91T>G%RJ2A]0J8Y M#35140A248BBHA!#17R@+2=.V#BGHR;^"4'^"5'\$V+XAP^U_3>2@M8Y)34Q M4 @R4(ABH!##0'RLBEY'VNR"TU03#84@#84H&@HQ-/3IZNA0V3N<8>.<CII( M* 1)*$214(@A(3'4EO-EDWE.2TW\$X+\$Z+X)\3PCQALVSFST3ZGIAX&LDR0 M@4(4 X48!A*C59(W-SOA=-5#0Y8)T5"E]E9=62N$KE?7ZM[D#-KF5-3#0)8) M,5"E+4)%# ,)D;:<-ANLUY4,]#"/94+,4^F+4!+#/$*L;2?-)O.<EGK8QS(A M]JD41FB)81\A6"4I<Z,/3E4])&29$ E56B-4Q9#0IXN/%Y=_7*B;)#79Y]34 M0T.6"=%0I3%"30P-2=&V/DUJ=,#IJ8>$+!,BH4IEA)XH$GH.5]$SKLT..#WU M$)%E0D14J8S0$T5$4KCJ.NC&YUT#/5QDF1 753HC%,5PT;*TU/HTP78VSO/; M]LK,-YGGM-1$102BHDIAA)88*BJ#/;U-TJPJ5KX*.L_+ZL2M"MKH@U-5$Q,1 MD(D(BHD(ZNZY>AG#RVS.;+7=/T7CG(Z:J(B 5$105$3P%4_764V-D)+UNI*A M)BHB(!41%!41D8J@.KRT&F\LW)N,YG>4%[$\F+\LHFR9?Y6<IED[ 5F(H%B( MB"QD >7B3Z*8':ZQ6<G7=,=F!W5!=75($((("H*("$&0G,/%>,PBO5E,%4JZ MV4E=5DW$3D :(B@:(B(-0;)>TS&-[Y7VTTTNZI+J&O@@$!$4$!$1B"!)#]D< M<#8OE&JZT0>73S6)"E(105$1$:D(.!\=9UF:J:@(+QOFST:Z] ,9B* 8B(@, M5"DJ"#C*XMM;FAG+>%OKAZ+9#LX\%H@\!(4\1$0>2+KKT57;LM5-=G!6L4"> ML5 \8XD\ TFV+B+5MFZ2W0[.'Q8(,18*8BP18L"A&L]HNBA:'ZJ"V0[.$A9( M+1:*6BR16N LQXALGF;MBR<9YM[1H4D^$%DL%+)8,K+(\I6 .XBF4^-DFCZT M+2%LG'M\3Y.,(*I8*%2Q9%2!9:R6J%L_W0*6N3M\-0D(0HF%@A)+AA)8P.%1 MZV==T2QW8X FZ4#XL%#P8<GPT2S=ARG[WABDR20N6E^<A1UP*XJ:Y 2QPT)A MAR5B1Y.<QX]%%HT+XW.4Q>71YRKZ9;,3;GE1DZP@C5@H&K$P-%*M\"N:(X*V MN4FV)C"Q03"Q4&!BB6 ",/$1G49/*IA8-LPSL:;IC@U2BHVB%%NBE%)1\6Z5 M-"^,HYAUDRIBXZ?#^]N?C7_.\G^U=[/*!A<=L+(-LHN-8A=;8A= TG,ZB:-5 MK*._JU!T@X<.2-H&B<9&$8TM$0U"T//H4;&@-0\=T+4-,HZ-8AQ;8AR,H'&B M6M 7#QTPMPW2CHVB'5NBG2V"7BL?\M?-0U[7:0FD'QM%/[9$/PA!U0[YZ^8A MKXG';9");!03V1(38015.N2OFX>\)CZW02JR451D2U34,'':O8K'WQ=SM5.G M9B<=L+L-4I&-HB);HB*<K.V/_<U..F!X!\0D&X5)MG3]!BEKZQE@LY,.&-X! MZ<E!T9.#H:?/\82FAA9Q,:ZZ('P'Q"D'A5,.!J>: V\]+V!<<1IK(BP')"P' M15@.AK : V__E(9QQ6FL";H<$+H<%'0Y&.A:!JX>O;;ZX=351& .2& .BL < M#($U1*TH12#7"W2M$CH@CCDH'',P. 9'K2HY8)>W-+&9 [*9@V(S!\-F<M1J M"&VK'TY=3:#F@*#FH$#-P8!:0]0:,L.&906BB=<<D-<<%*\Y&%Z#H]:1&3:L M@A%-V.:"V.:@L,T1L0VHMK7(BW1F5$XY(2OW@)(FH&3=2+^3"RXN2&$NBL)< MD<*:5'JE/H(R?VU>WS]*QXL9.[;C*2U_L&]6$2Y_1+.R#=-A5%IAGP=9FN>E ME=+:P?YU-(G3RIBP(6:VV#0XKDPVMAI,8^;T),UFBVDTI$41)[>Y<1]-%_3= MSO_^^#^/1[^R_PY__?$_B[3X]3/-RGNFE[_L+7^0GKO\\(O4N@QUU?:?+QO_ M]?+Q_UX^[AA]]H>@>7&]2,3C^'%:_/K;XVQJW"_]OUM[-I<?#)J,TPG;8[5A M4=SL$F_Y^;<?;XM?:T?&3*V\G"8WZ9!F<32-_QN5MV*\CVX-YB7)]Q[S>&7J MKBCF>_W^P\-#[\'NI=EMWS)-TO_[^=EP?$=GT2[K>T64C.GJ2-;[3Y#[+UOQ MQV@8Y5'.OA8K-5C'B\=763K/Q7;+EF4\94<NMY:?2?EEO_XMO,^ =>C;-'LJ M6WQ.XS%=)\[G_>LM9!N#F]N3>$K+,5 V&.Q]^<3&8?XERM-LDGY9=^S\R]>O MRP%3;KS,RD'[Y?+JXN2S]?4L2A*F_)?KXP]?!X=G9U^K[[]>7A]>?#C^>A_> M];+'F^IP!&=P1#1;1[P\AN= 7C;(.QXM*IV,?N/FWQ]6'7]#F^&V-N5A7'[[ M-QT7\3W--[7Z/;Z]F[)_16.KJ](5BXIEM G[+[Z):5:V=.W0_T9#?]>]\2>[ MCNW:N]]N'']WXMV8MN>0\8T75IHT&9!=L0Y8[UOL5]<A;F6DMDG>K^P*P].C M<N-PE^RZNQ;9M4V7>*YK.^XNL^'Y[)A,?]<F%H/AT#'-7>('KE?9KNT.'A,; M%&7&OTS*%I9)_%UFR3)'A.R9WIYM]P+'M<+0_9MI[9GF^G"YO1KLIO-YV<)@ M.6 OB:>K<5RF\M40;_B;+#/I>32^BQ.ZUN5X>'YXM'LXO+P^NMP]6W9DJ-T6 M<X>324;S:OB3T.H1+^B1'B'6RV[$[)D]EZ7BEV]6#=U>K=D-#<R]/6+>F'L. MI=_V?/-FCUB1_X,CM0EO[#W+GY ]SYUX>TY@^S\05VP5F1[=8WV-[OG^-[(7 M3NP??#[9]IL"D4,^?;R@Q4.:?5^?9EBKH&>7D1%OF=2@)AL,7=,IC?)*X=/' MLS2:&$PXTS@^Y(W5FFTP5LMS+!F79V:CS$BY\=-CX/W\Y?0QCKXLO7PICWI7 M]-*<NDX?KVEYCS3-:F'9/;^,W'975H F</KX=#X<1],J&F*N^K[PO;SC\+ZV M^>,W=JHI=^.^!<=+&90\(JJ=,2>PVHF.YN7<_7)>W139,";2Z93ESW**5C8X MHD7U).>RF_';&G<^HU&6T$EY\B_;W413]H>O&1"V-]HI;\9>SN% ,_SF1BLL M#Y<M2X6JAE6:J9D1MV\RM'J@;9,ML4FSN2PMTG$ZK>X'O(G&%+8(MFHT>ITN M"GI=S=DA:\)FR,QL7F:/T7-W$:6'MC?URXW];=DO)T])V6L_TB?@3,PU^5Q. M5*5&ST.O8;99MJ[FO?W!Y<7H^&+$\.+Z>,@^');%.,LM]=^_'A^=C@[?GQV7 M&P:7Y^]/+XX9T%33[.JK_/XRF3Y5OY/RB[,X^4XGS]O[+_NLGR9_^92#V\_8 M).%@O^K(1L+.5>]V*FL[SS/Q';+#;U_.]':,=(EL#..BZM'@,WI/IPSAEO%6 M>QSL#Y/9W&#ROMN)V-^!)=!>?M^;K^<F8]HK&ZSF*N4D>Z>,>Z54N6F0)C?Q M[2*K!*W30LXVCMG&ZN^Q^OT^RI;'N#R/E_NOSNA1-2>3S_03FH^SN.HAJXVU MZ3JSRDYI4W8^6T_YRK_VRE'=[X3>;]FAUJ)?/_+7]HUJ]S+.\@<;\^7?CO'I &_P,I\+)D end - - - 45 - <_scenarioElementFactory ver="[0, [1, [0, [0]]]]" type="ixScenarioElementFactory"> - - - - qovCoprocessor - 0 - - - Impairment - 0 - - - asrCoprocessor - 0 - - - - - - diff --git a/functest/opnfv_tests/vnf/ims/ixia/files/Registration_only_LPS.tst b/functest/opnfv_tests/vnf/ims/ixia/files/Registration_only_LPS.tst deleted file mode 100644 index a7bce95a0c03f176629ce4b8d3886ff8578366e2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 491520 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 O7)TgM82DB)@c#fE9UVLX diff --git a/functest/opnfv_tests/vnf/ims/ixia/utils/IxChassisUtils.py b/functest/opnfv_tests/vnf/ims/ixia/utils/IxChassisUtils.py deleted file mode 100644 index 973e0264d..000000000 --- a/functest/opnfv_tests/vnf/ims/ixia/utils/IxChassisUtils.py +++ /dev/null @@ -1,150 +0,0 @@ -#!/usr/bin/env python - -# Copyright (c) 2017 IXIA and others. -# -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Apache License, Version 2.0 -# which accompanies this distribution, and is available at -# http://www.apache.org/licenses/LICENSE-2.0 - -import httplib2 -import json -import logging - - -okStates = [200, 201, 202] -states = [ - 'Queued', - 'In Progress', - 'Manual Step Required', - 'Error', - 'Finished', - 'Aborted', - 'Retried', - 'IRebooting', - 'Force Continue', - 'Pending', - ] -notStartedState = 'Not_Started' -errorStates = ['Error', 'Aborted', 'Force Continue'] -finishedStates = ['Manual Step Required', 'Finished'] - -logger = logging.getLogger(__name__) - - -class TestFailedError(Exception): - pass - - -class ChassisRestAPI: - @staticmethod - def postWithPayload(loginUrl, payload=None): - urlHeadersJson = {'content-type': 'application/json'} - try: - h = httplib2.Http('.cache', - disable_ssl_certificate_validation=True) - if payload is None: - logger.debug('POST: ' + loginUrl) - (response, content) = h.request(loginUrl, 'POST', '', - urlHeadersJson) - logger.debug(content) - else: - logger.debug('POST: ' + loginUrl + ' <- Data: ' + str(payload)) - (response, content) = h.request(loginUrl, 'POST', - body=payload, - headers=urlHeadersJson) - logger.debug(response) - logger.debug(content) - except Exception, e: - raise Exception('Got an error code: ', e) - return content - - @staticmethod - def postWithPayloadAndHeaders(loginUrl, urlHeadersJson, - payload=None): - try: - h = httplib2.Http('.cache', - disable_ssl_certificate_validation=True) - if payload is None: - logger.debug('POST: ' + loginUrl) - (response, content) = h.request(loginUrl, 'POST', '', - urlHeadersJson) - else: - logger.debug('POST: ' + loginUrl + ' <- Data: ' + str(payload)) - (response, content) = h.request(loginUrl, 'POST', - body=payload, - headers=urlHeadersJson) - except Exception, e: - raise Exception('Got an error code: ', e) - return content - - @staticmethod - def postOperation(url, apiKey, payload=''): - urlHeadersJson = {'content-type': 'application/json', - 'X-Api-Key': '%s' % str(apiKey)} - try: - h = httplib2.Http('.cache', - disable_ssl_certificate_validation=True) - if payload is None: - logger.debug('POST: ' + url) - (response, content) = h.request(url, 'POST', - json.dumps(payload), - urlHeadersJson) - else: - logger.debug('POST: ' + url + ' <- Data: ' + str(payload)) - (response, content) = h.request(url, 'POST', - json.dumps(payload), - headers=urlHeadersJson) - except Exception, e: - raise Exception('Got an error code: ', e) - return content - - @staticmethod - def patch(url, payload, apiKey): - urlHeadersJson = {'content-type': 'application/json', - 'X-Api-Key': '%s' % str(apiKey)} - try: - h = httplib2.Http('.cache', - disable_ssl_certificate_validation=True) - logger.debug('PATCH: ' + url + ' <-- Attribute: ' + - str(payload)) - (response, content) = h.request(url, 'PATCH', - json.dumps(payload), - urlHeadersJson) - except Exception, e: - - # print (response, content) - - raise Exception('Got an error code: ', e) - return content - - @staticmethod - def delete(url, apiKey): - urlHeadersJson = {'content-type': 'application/json', - 'X-Api-Key': '%s' % str(apiKey)} - try: - h = httplib2.Http('.cache', - disable_ssl_certificate_validation=True) - (response, content) = h.request(url, 'DELETE', '', urlHeadersJson) - logger.debug('DELETE: ' + url) - except Exception, e: - raise Exception('Got an error code: ', e) - if response.status not in okStates: - raise TestFailedError(json.loads(content)['error']) - return json.loads(content) - - @staticmethod - def getWithHeaders(url, apiKey): - urlHeadersJson = {'content-type': 'application/json', - 'X-Api-Key': '%s' % str(apiKey)} - try: - h = httplib2.Http('.cache', - disable_ssl_certificate_validation=True) - logger.debug('GET: ' + url) - (response, content) = h.request(url, 'GET', '', urlHeadersJson) - except Exception, e: - raise Exception('Got an error code: ', e) - if response.status not in okStates: - raise TestFailedError(json.loads(content)['error']) - output = json.loads(content) - return output diff --git a/functest/opnfv_tests/vnf/ims/ixia/utils/IxLoadUtils.py b/functest/opnfv_tests/vnf/ims/ixia/utils/IxLoadUtils.py deleted file mode 100644 index bc71a38cf..000000000 --- a/functest/opnfv_tests/vnf/ims/ixia/utils/IxLoadUtils.py +++ /dev/null @@ -1,399 +0,0 @@ -#!/usr/bin/env python - -# Copyright (c) 2017 IXIA and others. -# -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Apache License, Version 2.0 -# which accompanies this distribution, and is available at -# http://www.apache.org/licenses/LICENSE-2.0 - -import sys -import time -import logging - -import requests - -from functest.opnfv_tests.vnf.ims.ixia.utils import IxRestUtils - - -kActionStateFinished = 'finished' -kActionStatusSuccessful = 'Successful' -kActionStatusError = 'Error' -kTestStateUnconfigured = 'Unconfigured' - -logger = logging.getLogger(__name__) - - -def stripApiAndVersionFromURL(url): - - # remove the slash (if any) at the beginning of the url - - if url[0] == '/': - url = url[1:] - - urlElements = url.split('/') - if 'api' in url: - - # strip the api/v0 part of the url - - urlElements = urlElements[2:] - - return '/'.join(urlElements) - - -def waitForActionToFinish(connection, replyObj, actionUrl): - """ - This method waits for an action to finish executing. after a POST request - is sent in order to start an action, The HTTP reply will contain, - in the header, a 'location' field, that contains an URL. - The action URL contains the status of the action. we perform a GET on that - URL every 0.5 seconds until the action finishes with a success. - If the action fails, we will throw an error and - print the action's error message. - """ - - actionResultURL = replyObj.headers.get('location') - if actionResultURL: - actionResultURL = stripApiAndVersionFromURL(actionResultURL) - actionFinished = False - - while not actionFinished: - actionStatusObj = connection.httpGet(actionResultURL) - - if actionStatusObj.state == kActionStateFinished: - if actionStatusObj.status == kActionStatusSuccessful: - actionFinished = True - else: - errorMsg = "Error while executing action '%s'." \ - % actionUrl - - if actionStatusObj.status == kActionStatusError: - errorMsg += actionStatusObj.error - - print errorMsg - - sys.exit(1) - else: - time.sleep(0.1) - - -def performGenericOperation(connection, url, payloadDict): - """ - This will perform a generic operation on the given url, - it will wait for it to finish. - """ - - data = IxRestUtils.formatDictToJSONPayload(payloadDict) - reply = connection.httpPost(url=url, data=data) - - waitForActionToFinish(connection, reply, url) - - return reply - - -def performGenericPost(connection, listUrl, payloadDict): - """ - This will perform a generic POST method on a given url - """ - - data = IxRestUtils.formatDictToJSONPayload(payloadDict) - - reply = connection.httpPost(url=listUrl, data=data) - try: - newObjPath = reply.headers['location'] - except: - raise Exception('Location header is not present. \ - Please check if the action was created successfully.') - - newObjID = newObjPath.split('/')[-1] - return newObjID - - -def performGenericDelete(connection, listUrl, payloadDict): - """ - This will perform a generic DELETE method on a given url - """ - - data = IxRestUtils.formatDictToJSONPayload(payloadDict) - - reply = connection.httpDelete(url=listUrl, data=data) - return reply - - -def performGenericPatch(connection, url, payloadDict): - """ - This will perform a generic PATCH method on a given url - """ - - data = IxRestUtils.formatDictToJSONPayload(payloadDict) - - reply = connection.httpPatch(url=url, data=data) - return reply - - -def createSession(connection, ixLoadVersion): - """ - This method is used to create a new session. - It will return the url of the newly created session - """ - - sessionsUrl = 'sessions' - data = {'ixLoadVersion': ixLoadVersion} - - sessionId = performGenericPost(connection, sessionsUrl, data) - - newSessionUrl = '%s/%s' % (sessionsUrl, sessionId) - startSessionUrl = '%s/operations/start' % newSessionUrl - - # start the session - - performGenericOperation(connection, startSessionUrl, {}) - - logger.debug('Created session no %s' % sessionId) - - return newSessionUrl - - -def deleteSession(connection, sessionUrl): - """ - This method is used to delete an existing session. - """ - - deleteParams = {} - performGenericDelete(connection, sessionUrl, deleteParams) - - -def uploadFile(connection, url, fileName, uploadPath, overwrite=True): - headers = {'Content-Type': 'multipart/form-data'} - params = {'overwrite': overwrite, 'uploadPath': uploadPath} - - logger.debug('Uploading...') - try: - with open(fileName, 'rb') as f: - resp = requests.post(url, data=f, params=params, - headers=headers) - except requests.exceptions.ConnectionError, e: - raise Exception('Upload file failed. Received connection error. \ - One common cause for this error is the size of the \ - file to be uploaded.The web server sets a limit of 1GB\ - for the uploaded file size. \ - Received the following error: %s' % str(e)) - except IOError, e: - raise Exception('Upload file failed. Received IO error: %s' - % str(e)) - except Exception: - raise Exception('Upload file failed. Received the following error: %s' - % str(e)) - else: - logger.debug('Upload file finished.') - logger.debug('Response status code %s' % resp.status_code) - logger.debug('Response text %s' % resp.text) - - -def loadRepository(connection, sessionUrl, rxfFilePath): - """ - This method will perform a POST request to load a repository. - """ - - loadTestUrl = '%s/ixload/test/operations/loadTest' % sessionUrl - data = {'fullPath': rxfFilePath} - - performGenericOperation(connection, loadTestUrl, data) - - -def saveRxf(connection, sessionUrl, rxfFilePath): - """ - This method saves the current rxf to the disk of the machine on - which the IxLoad instance is running. - """ - - saveRxfUrl = '%s/ixload/test/operations/saveAs' % sessionUrl - rxfFilePath = rxfFilePath.replace('\\', '\\\\') - data = {'fullPath': rxfFilePath, 'overWrite': 1} - - performGenericOperation(connection, saveRxfUrl, data) - - -def runTest(connection, sessionUrl): - """ - This method is used to start the currently loaded test. - After starting the 'Start Test' action, wait for the action to complete. - """ - - startRunUrl = '%s/ixload/test/operations/runTest' % sessionUrl - data = {} - - performGenericOperation(connection, startRunUrl, data) - - -def getTestCurrentState(connection, sessionUrl): - """ - This method gets the test current state. - (for example - running, unconfigured, ..) - """ - - activeTestUrl = '%s/ixload/test/activeTest' % sessionUrl - testObj = connection.httpGet(activeTestUrl) - - return testObj.currentState - - -def getTestRunError(connection, sessionUrl): - """ - This method gets the error that appeared during the last test run. - If no error appeared (the test ran successfully), - the return value will be 'None'. - """ - - activeTestUrl = '%s/ixload/test/activeTest' % sessionUrl - testObj = connection.httpGet(activeTestUrl) - - return testObj.testRunError - - -def waitForTestToReachUnconfiguredState(connection, sessionUrl): - """ - This method waits for the current test to reach the 'Unconfigured' state. - """ - - while getTestCurrentState(connection, sessionUrl) \ - != kTestStateUnconfigured: - time.sleep(0.1) - - -def pollStats(connection, sessionUrl, watchedStatsDict, pollingInterval=4): - """ - This method is used to poll the stats. - Polling stats is per request but this method does a continuous poll. - """ - - statSourceList = watchedStatsDict.keys() - statsDict = {} - - collectedTimestamps = {} - testIsRunning = True - - # check stat sources - - for statSource in statSourceList[:]: - statSourceUrl = '%s/ixload/stats/%s/values' % (sessionUrl, statSource) - statSourceReply = connection.httpRequest('GET', statSourceUrl) - if statSourceReply.status_code != 200: - logger.debug("Warning - Stat source '%s' does not exist. \ - Will ignore it." % statSource) - statSourceList.remove(statSource) - - # check the test state, and poll stats while the test is still running - - while testIsRunning: - - # the polling interval is configurable. - # by default, it's set to 4 seconds - - time.sleep(pollingInterval) - - for statSource in statSourceList: - valuesUrl = '%s/ixload/stats/%s/values' % (sessionUrl, statSource) - - valuesObj = connection.httpGet(valuesUrl) - valuesDict = valuesObj.getOptions() - - # get just the new timestamps - that were not previously - # retrieved in another stats polling iteration - - newTimestamps = [int(timestamp) for timestamp in - valuesDict.keys() if timestamp - not in collectedTimestamps.get(statSource, - [])] - newTimestamps.sort() - - for timestamp in newTimestamps: - timeStampStr = str(timestamp) - - collectedTimestamps.setdefault( - statSource, []).append(timeStampStr) - - timestampDict = statsDict.setdefault( - statSource, {}).setdefault(timestamp, {}) - - # save the values for the current timestamp, - # and later print them - - logger.info(' -- ') - for (caption, value) in \ - valuesDict[timeStampStr].getOptions().items(): - if caption in watchedStatsDict[statSource]: - logger.info(' %s -> %s' % (caption, value)) - timestampDict[caption] = value - - testIsRunning = getTestCurrentState(connection, sessionUrl) \ - == 'Running' - - logger.debug('Stopped receiving stats.') - return timestampDict - - -def clearChassisList(connection, sessionUrl): - """ - This method is used to clear the chassis list. - After execution no chassis should be available in the chassisListself. - """ - - chassisListUrl = '%s/ixload/chassischain/chassisList' % sessionUrl - deleteParams = {} - performGenericDelete(connection, chassisListUrl, deleteParams) - - -def configureLicenseServer(connection, sessionUrl, licenseServerIp): - """ - This method is used to clear the chassis list. - After execution no chassis should be available in the chassisList. - """ - - chassisListUrl = '%s/ixload/preferences' % sessionUrl - patchParams = {'licenseServer': licenseServerIp} - performGenericPatch(connection, chassisListUrl, patchParams) - - -def addChassisList(connection, sessionUrl, chassisList): - """ - This method is used to add one or more chassis to the chassis list. - """ - - chassisListUrl = '%s/ixload/chassisChain/chassisList' % sessionUrl - - for chassisName in chassisList: - data = {'name': chassisName} - chassisId = performGenericPost(connection, chassisListUrl, data) - - # refresh the chassis - - refreshConnectionUrl = '%s/%s/operations/refreshConnection' \ - % (chassisListUrl, chassisId) - performGenericOperation(connection, refreshConnectionUrl, {}) - - -def assignPorts(connection, sessionUrl, portListPerCommunity): - """ - This method is used to assign ports from a connected chassis - to the required NetTraffics. - """ - - communtiyListUrl = '%s/ixload/test/activeTest/communityList' \ - % sessionUrl - - communityList = connection.httpGet(url=communtiyListUrl) - - for community in communityList: - portListForCommunity = portListPerCommunity.get(community.name) - - portListUrl = '%s/%s/network/portList' % (communtiyListUrl, - community.objectID) - - if portListForCommunity: - for portTuple in portListForCommunity: - (chassisId, cardId, portId) = portTuple - paramDict = {'chassisId': chassisId, 'cardId': cardId, - 'portId': portId} - - performGenericPost(connection, portListUrl, paramDict) diff --git a/functest/opnfv_tests/vnf/ims/ixia/utils/IxRestUtils.py b/functest/opnfv_tests/vnf/ims/ixia/utils/IxRestUtils.py deleted file mode 100644 index 41c23dc53..000000000 --- a/functest/opnfv_tests/vnf/ims/ixia/utils/IxRestUtils.py +++ /dev/null @@ -1,193 +0,0 @@ -#!/usr/bin/env python - -# Copyright (c) 2017 IXIA and others. -# -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Apache License, Version 2.0 -# which accompanies this distribution, and is available at -# http://www.apache.org/licenses/LICENSE-2.0 - -from urlparse import urljoin -import requests - - -def getConnection(server, port): - """ - Gets a Connection instance, that will be used to - make the HTTP requests to the application - """ - connectionUrl = 'http://%s:%s/' % (server, port) - - conn = Connection(connectionUrl, 'v0') - return conn - - -def formatDictToJSONPayload(dictionary): - """ - Converts a given python dict instance to a string - JSON payload that can be sent to a REST API. - """ - jsonPayload = '{' - optionsList = [] - for (key, val) in dictionary.items(): - valStr = str(val) - if type(val) is str: - valStr = '"%s"' % val - if type(val) is bool: - valStr = valStr.lower() - optionsList.append('"%s":%s' % (key, valStr)) - - jsonPayload += ','.join(optionsList) - jsonPayload += '}' - - return jsonPayload - - -class Connection(object): - - """ - Class that executes the HTTP requests to the application instance. - It handles creating the HTTP session and executing HTTP methods. - """ - - kHeaderContentType = 'content-type' - kContentJson = 'application/json' - - def __init__(self, siteUrl, apiVersion): - self.httpSession = None - - self.url = Connection.urljoin(siteUrl, 'api') - self.url = Connection.urljoin(self.url, apiVersion) - - def _getHttpSession(self): - """ - This is a lazy initializer for the HTTP session. - It does not need to be active until it is required. - """ - - if self.httpSession is None: - self.httpSession = requests.Session() - return self.httpSession - - @classmethod - def urljoin(cls, base, end): - """ Join two URLs. If the second URL is absolute, the base is ignored. - - Use this instead of urlparse.urljoin directly so that we can customize - its behavior if necessary. - Currently differs in that it - - 1. appends a / to base if not present. - 2. casts end to a str as a convenience - """ - - if base and not base.endswith('/'): - base = base + '/' - return urljoin(base, str(end)) - - def httpRequest(self, method, url='', data='', params={}, headers={}): - """ - Method for making a HTTP request. - The method type (GET, POST, PATCH, DELETE) will be sent as a parameter. - Along with the url and request data. The HTTP response is returned - """ - - headers[Connection.kHeaderContentType] = Connection.kContentJson - - absUrl = Connection.urljoin(self.url, url) - result = self._getHttpSession().request(method, - absUrl, - data=str(data), - params=params, - headers=headers) - return result - - def httpGet(self, url='', data='', params={}, headers={}): - """ - Method for calling HTTP GET. - This will return a WebObject that has the fields returned - in JSON format by the GET operation. - """ - - reply = self.httpRequest('GET', url, data, params, headers) - return _WebObject(reply.json()) - - def httpPost(self, url='', data='', params={}, headers={}): - """ - Method for calling HTTP POST. Will return the HTTP reply. - """ - - return self.httpRequest('POST', url, data, params, headers) - - def httpPatch(self, url='', data='', params={}, headers={}): - """ - Method for calling HTTP PATCH. Will return the HTTP reply. - """ - - return self.httpRequest('PATCH', url, data, params, headers) - - def httpDelete(self, url='', data='', params={}, headers={}): - """ - Method for calling HTTP DELETE. Will return the HTTP reply. - """ - - return self.httpRequest('DELETE', url, data, params, headers) - - -def _WebObject(value): - """ - Method used for creating a wrapper object corresponding to the JSON string - received on a GET request. - """ - - if isinstance(value, dict): - result = WebObject(**value) - elif isinstance(value, list): - result = WebList(entries=value) - else: - result = value - return result - - -class WebList(list): - - """ - Using this class a JSON list will be transformed - in a list of WebObject instances. - """ - - def __init__(self, entries=[]): - """ - Create a WebList from a list of items that - are processed by the _WebObject function - """ - - for item in entries: - self.append(_WebObject(item)) - - -class WebObject(object): - - """ - A WebObject instance will have its fields set to correspond to - the JSON format received on a GET request. - """ - - def __init__(self, **entries): - """ - Create a WebObject instance by providing a dict having a - property - value structure. - """ - - self.jsonOptions = {} - for (key, value) in entries.iteritems(): - webObj = _WebObject(value) - self.jsonOptions[key] = webObj - self.__dict__[key] = webObj - - def getOptions(self): - ''' - Get the JSON dictionary which represents the WebObject Instance - ''' - - return self.jsonOptions diff --git a/functest/opnfv_tests/vnf/ims/ixia/utils/__init__.py b/functest/opnfv_tests/vnf/ims/ixia/utils/__init__.py deleted file mode 100644 index e69de29bb..000000000 -- 2.16.6