Init commit for standalone enodebd
Change-Id: I88eeef5135dd7ba8551ddd9fb6a0695f5325337b
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..200ed83
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,11 @@
+lte/
+orc8r/
+metrics_pb2.py
+metrics_pb2_grpc.py
+
+### Python ###
+# Byte-compiled / optimized / DLL files
+__pycache__/
+*.py[cod]
+*$py.class
+
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..f088888
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,63 @@
+# ONF enodebd Makefile
+#
+# SPDX-FileCopyrightText: © 2020 Open Networking Foundation <support@opennetworking.org>
+# SPDX-License-Identifier: Apache-2.0
+
+# Use bash for pushd/popd, and to fail quickly.
+# No -u as virtualenv activate script has undefined vars
+SHELL = bash -e -o pipefail
+
+# tooling
+VIRTUALENV ?= python3 -m venv
+
+# all files with extensions
+PYTHON_FILES ?= $(wildcard devices/freedomfi_one.py devices/device_utils.py devices/device_map.py)
+
+.DEFAULT_GOAL := help
+.PHONY: test lint license help
+
+# Create the virtualenv with all the tools installed
+VENV_NAME = venv
+
+$(VENV_NAME): requirements.txt
+ $(VIRTUALENV) $@ ;\
+ source ./$@/bin/activate ; set -u ;\
+ python -m pip install --upgrade pip;\
+ python -m pip install -r requirements.txt
+ echo "To enter virtualenv, run 'source $@/bin/activate'"
+
+license: $(VENV_NAME) ## Check license with the reuse tool
+ source ./$</bin/activate ; set -u ;\
+ reuse --version ;\
+ reuse --root . lint
+
+test: flake8 pylint black ## run all standard tests
+
+flake8: $(VENV_NAME) ## check python formatting with flake8
+ source ./$</bin/activate ; set -u ;\
+ flake8 --version ;\
+ flake8 --max-line-length 99 --per-file-ignores="__init__.py:F401" $(PYTHON_FILES)
+
+pylint: $(VENV_NAME) ## pylint check for python 3 compliance
+ source ./$</bin/activate ; set -u ;\
+ pylint --version ;\
+ pylint --rcfile=pylint.ini $(PYTHON_FILES)
+
+black: $(VENV_NAME) ## run black on python files in check mode
+ source ./$</bin/activate ; set -u ;\
+ black --version ;\
+ black --check $(PYTHON_FILES)
+
+blacken: $(VENV_NAME) ## run black on python files to reformat
+ source ./$</bin/activate ; set -u ;\
+ black --version ;\
+ black $(PYTHON_FILES)
+
+clean:
+ rm -rf $(VENV_NAME) ansible_collections
+
+help: ## Print help for each target
+ @echo enodebd make targets
+ @echo
+ @grep '^[[:alnum:]_-]*:.* ##' $(MAKEFILE_LIST) \
+ | sort | awk 'BEGIN {FS=":.* ## "}; {printf "%-25s %s\n", $$1, $$2};'
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..61e4a0f
--- /dev/null
+++ b/README.md
@@ -0,0 +1,9 @@
+# Magma enodebd
+
+## Generate protos
+
+```bash
+python tools/gen_protos.py proto_files/orc8r/protos proto_files,proto_files/orc8r/protos/prometheus proto_files .
+python tools/gen_protos.py proto_files/lte/protos proto_files,proto_files/orc8r/protos/prometheus proto_files .
+python tools/gen_prometheus_proto.py . .
+```
diff --git a/VERSION b/VERSION
new file mode 100644
index 0000000..0d4d124
--- /dev/null
+++ b/VERSION
@@ -0,0 +1 @@
+0.1.0-dev
diff --git a/common/__init__.py b/common/__init__.py
new file mode 100644
index 0000000..5c6cb64
--- /dev/null
+++ b/common/__init__.py
@@ -0,0 +1,12 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
diff --git a/common/cert_utils.py b/common/cert_utils.py
new file mode 100644
index 0000000..3be5284
--- /dev/null
+++ b/common/cert_utils.py
@@ -0,0 +1,160 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+import base64
+
+from cryptography import x509
+from cryptography.hazmat.backends import default_backend
+from cryptography.hazmat.primitives import hashes, serialization
+from cryptography.x509.oid import NameOID
+from common.serialization_utils import write_to_file_atomically
+
+
+def load_key(key_file):
+ """Load a private key encoded in PEM format
+
+ Args:
+ key_file: path to the key file
+
+ Returns:
+ RSAPrivateKey or EllipticCurvePrivateKey depending on the contents of key_file
+
+ Raises:
+ IOError: If file cannot be opened
+ ValueError: If the file content cannot be decoded successfully
+ TypeError: If the key_file is encrypted
+ """
+ with open(key_file, 'rb') as f:
+ key_bytes = f.read()
+ return serialization.load_pem_private_key(
+ key_bytes, None, default_backend(),
+ )
+
+
+def write_key(key, key_file):
+ """Write key object to file in PEM format atomically
+
+ Args:
+ key: RSAPrivateKey or EllipticCurvePrivateKey object
+ key_file: path to the key file
+ """
+ key_pem = key.private_bytes(
+ serialization.Encoding.PEM,
+ serialization.PrivateFormat.TraditionalOpenSSL,
+ serialization.NoEncryption(),
+ )
+ write_to_file_atomically(key_file, key_pem.decode("utf-8"))
+
+
+def load_public_key_to_base64der(key_file):
+ """Load the public key of a private key and convert to base64 encoded DER
+ The return value can be used directly for device registration.
+
+ Args:
+ key_file: path to the private key file, pem encoded
+
+ Returns:
+ base64 encoded public key in DER format
+
+ Raises:
+ IOError: If file cannot be opened
+ ValueError: If the file content cannot be decoded successfully
+ TypeError: If the key_file is encrypted
+ """
+
+ key = load_key(key_file)
+ pub_key = key.public_key()
+ pub_bytes = pub_key.public_bytes(
+ encoding=serialization.Encoding.DER,
+ format=serialization.PublicFormat.SubjectPublicKeyInfo,
+ )
+ encoded = base64.b64encode(pub_bytes)
+ return encoded
+
+
+def create_csr(
+ key, common_name,
+ country=None, state=None, city=None, org=None,
+ org_unit=None, email_address=None,
+):
+ """Create csr and sign it with key.
+
+ Args:
+ key: RSAPrivateKey or EllipticCurvePrivateKey object
+ common_name: common name
+ country: country
+ state: state or province
+ city: city
+ org: organization
+ org_unit: organizational unit
+ email_address: email address
+
+ Returns:
+ csr: x509.CertificateSigningRequest
+ """
+ name_attrs = [x509.NameAttribute(NameOID.COMMON_NAME, common_name)]
+ if country:
+ name_attrs.append(x509.NameAttribute(NameOID.COUNTRY_NAME, country))
+ if state:
+ name_attrs.append(
+ x509.NameAttribute(NameOID.STATE_OR_PROVINCE_NAME, state),
+ )
+ if city:
+ name_attrs.append(x509.NameAttribute(NameOID.LOCALITY_NAME, city))
+ if org:
+ name_attrs.append(x509.NameAttribute(NameOID.ORGANIZATION_NAME, org))
+ if org_unit:
+ name_attrs.append(
+ x509.NameAttribute(NameOID.ORGANIZATIONAL_UNIT_NAME, org_unit),
+ )
+ if email_address:
+ name_attrs.append(
+ x509.NameAttribute(NameOID.EMAIL_ADDRESS, email_address),
+ )
+
+ csr = x509.CertificateSigningRequestBuilder().subject_name(
+ x509.Name(name_attrs),
+ ).sign(key, hashes.SHA256(), default_backend())
+
+ return csr
+
+
+def load_cert(cert_file):
+ """Load certificate from a file
+
+ Args:
+ cert_file: path to file storing the cert in PEM format
+
+ Returns:
+ cert: an instance of x509.Certificate
+
+ Raises:
+ IOError: If file cannot be opened
+ ValueError: If the file content cannot be decoded successfully
+ """
+ with open(cert_file, 'rb') as f:
+ cert_pem = f.read()
+ cert = x509.load_pem_x509_certificate(cert_pem, default_backend())
+ return cert
+
+
+def write_cert(cert_der, cert_file):
+ """Write DER encoded cert to file in PEM format
+
+ Args:
+ cert_der: certificate encoded in DER format
+ cert_file: path to certificate
+ """
+ cert = x509.load_der_x509_certificate(cert_der, default_backend())
+ cert_pem = cert.public_bytes(serialization.Encoding.PEM)
+ write_to_file_atomically(cert_file, cert_pem.decode("utf-8"))
diff --git a/common/cert_validity.py b/common/cert_validity.py
new file mode 100644
index 0000000..83a765c
--- /dev/null
+++ b/common/cert_validity.py
@@ -0,0 +1,111 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Util module to distinguish between the reasons checkins stop working: network
+is down or cert is invalid.
+"""
+
+import asyncio
+import logging
+import os
+import ssl
+
+
+class TCPClientProtocol(asyncio.Protocol):
+ """
+ Implementation of TCP Protocol to create and immediately close the
+ connection
+ """
+
+ def connection_made(self, transport):
+ transport.close()
+
+
+@asyncio.coroutine
+def create_tcp_connection(host, port, loop):
+ """
+ Creates tcp connection
+ """
+ tcp_conn = yield from loop.create_connection(
+ TCPClientProtocol,
+ host,
+ port,
+ )
+ return tcp_conn
+
+
+@asyncio.coroutine
+def create_ssl_connection(host, port, certfile, keyfile, loop):
+ """
+ Creates ssl connection.
+ """
+ context = ssl.SSLContext(ssl.PROTOCOL_SSLv23)
+ context.load_cert_chain(
+ certfile,
+ keyfile=keyfile,
+ )
+
+ ssl_conn = yield from loop.create_connection(
+ TCPClientProtocol,
+ host,
+ port,
+ ssl=context,
+ )
+ return ssl_conn
+
+
+@asyncio.coroutine
+def cert_is_invalid(host, port, certfile, keyfile, loop):
+ """
+ Asynchronously test if both a TCP and SSL connection can be made to host
+ on port. If the TCP connection is successful, but the SSL connection fails,
+ we assume this is due to an invalid cert.
+
+ Args:
+ host: host to connect to
+ port: port to connect to on host
+ certfile: path to a PEM encoded certificate
+ keyfile: path to the corresponding key to the certificate
+ loop: asyncio event loop
+ Returns:
+ True if the cert is invalid
+ False otherwise
+ """
+ # Create connections
+ tcp_coro = create_tcp_connection(host, port, loop)
+ ssl_coro = create_ssl_connection(host, port, certfile, keyfile, loop)
+
+ coros = tcp_coro, ssl_coro
+ asyncio.set_event_loop(loop)
+ res = yield from asyncio.gather(*coros, return_exceptions=True)
+ tcp_res, ssl_res = res
+
+ if isinstance(tcp_res, Exception):
+ logging.error(
+ 'Error making TCP connection: %s, %s',
+ 'errno==None' if tcp_res.errno is None
+ else os.strerror(tcp_res.errno),
+ tcp_res,
+ )
+ return False
+
+ # Invalid cert only when tcp succeeds and ssl fails
+ if isinstance(ssl_res, Exception):
+ logging.error(
+ 'Error making SSL connection: %s, %s',
+ 'errno==None' if ssl_res.errno is None
+ else os.strerror(ssl_res.errno),
+ ssl_res,
+ )
+ return True
+
+ return False
diff --git a/common/grpc_client_manager.py b/common/grpc_client_manager.py
new file mode 100644
index 0000000..dbaff76
--- /dev/null
+++ b/common/grpc_client_manager.py
@@ -0,0 +1,77 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+import logging
+import sys
+
+import grpc
+import psutil
+from common.service_registry import ServiceRegistry
+
+
+class GRPCClientManager:
+ def __init__(
+ self, service_name: str, service_stub,
+ max_client_reuse: int = 60,
+ ):
+ self._client = None
+ self._service_stub = service_stub
+ self._service_name = service_name
+ self._num_client_use = 0
+ self._max_client_reuse = max_client_reuse
+
+ def get_client(self):
+ """
+ get_client returns a grpc client of the specified service in the cloud.
+ it will return a recycled client until the client fails or the number
+ of recycling reaches the max_client_use.
+ """
+ if self._client is None or \
+ self._num_client_use > self._max_client_reuse:
+ chan = ServiceRegistry.get_rpc_channel(
+ self._service_name,
+ ServiceRegistry.CLOUD,
+ )
+ self._client = self._service_stub(chan)
+ self._num_client_use = 0
+
+ self._num_client_use += 1
+ return self._client
+
+ def on_grpc_fail(self, err_code):
+ """
+ Try to reuse the grpc client if possible. We are yet to fix a
+ grpc behavior, where if DNS request blackholes then the DNS request
+ is retried infinitely even after the channel is deleted. To prevent
+ running out of fds, we try to reuse the channel during such failures
+ as much as possible.
+ """
+ if err_code != grpc.StatusCode.DEADLINE_EXCEEDED:
+ # Not related to the DNS issue
+ self._reset_client()
+ if self._num_client_use >= self._max_client_reuse:
+ logging.info('Max client reuse reached. Cleaning up client')
+ self._reset_client()
+
+ # Sanity check if we are not leaking fds
+ proc = psutil.Process()
+ max_fds, _ = proc.rlimit(psutil.RLIMIT_NOFILE)
+ open_fds = proc.num_fds()
+ logging.info('Num open fds: %d', open_fds)
+ if open_fds >= (max_fds * 0.8):
+ logging.error("Reached 80% of allowed fds. Restarting process")
+ sys.exit(1)
+
+ def _reset_client(self):
+ self._client = None
+ self._num_client_use = 0
diff --git a/common/health/__init__.py b/common/health/__init__.py
new file mode 100644
index 0000000..5c6cb64
--- /dev/null
+++ b/common/health/__init__.py
@@ -0,0 +1,12 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
diff --git a/common/health/docker_health_service.py b/common/health/docker_health_service.py
new file mode 100644
index 0000000..70a728a
--- /dev/null
+++ b/common/health/docker_health_service.py
@@ -0,0 +1,73 @@
+#!/usr/bin/env python3
+
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+from datetime import datetime
+
+import dateutil.parser
+import docker
+from common.health.entities import Errors, ServiceHealth, Version
+from common.health.health_service import GenericHealthChecker
+
+
+class DockerHealthChecker(GenericHealthChecker):
+
+ def get_error_summary(self, service_names):
+ res = {}
+ for service_name in service_names:
+ client = docker.from_env()
+ container = client.containers.get(service_name)
+
+ res[service_name] = Errors(log_level='-', error_count=0)
+ for line in container.logs().decode('utf-8').split('\n'):
+ if service_name not in line:
+ continue
+ # Reset the counter for restart/start
+ if 'Starting {}...'.format(service_name) in line:
+ res[service_name].error_count = 0
+ elif 'ERROR' in line:
+ res[service_name].error_count += 1
+ return res
+
+ def get_magma_services_summary(self):
+ services_health_summary = []
+ client = docker.from_env()
+
+ for container in client.containers.list():
+ service_start_time = dateutil.parser.parse(
+ container.attrs['State']['StartedAt'],
+ )
+ current_time = datetime.now(service_start_time.tzinfo)
+ time_running = current_time - service_start_time
+ services_health_summary.append(
+ ServiceHealth(
+ service_name=container.name,
+ active_state=container.status,
+ sub_state=container.status,
+ time_running=str(time_running).split('.', 1)[0],
+ errors=self.get_error_summary([container.name])[
+ container.name
+ ],
+ ),
+ )
+ return services_health_summary
+
+ def get_magma_version(self):
+ client = docker.from_env()
+ container = client.containers.get('magmad')
+
+ return Version(
+ version_code=container.attrs['Config']['Image'],
+ last_update_time='-',
+ )
diff --git a/common/health/entities.py b/common/health/entities.py
new file mode 100644
index 0000000..ab32496
--- /dev/null
+++ b/common/health/entities.py
@@ -0,0 +1,150 @@
+#!/usr/bin/env python3
+
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+import textwrap
+
+
+class ActiveState:
+ ACTIVE = 'active'
+ RELOADING = 'reloading'
+ INACTIVE = 'inactive'
+ FAILED = 'failed'
+ ACTIVATING = 'activating'
+ DEACTIVATING = 'deactivating'
+
+ dbus2state = {
+ b'active': ACTIVE,
+ b'reloading': RELOADING,
+ b'inactive': INACTIVE,
+ b'failed': FAILED,
+ b'activating': ACTIVATING,
+ b'deactivating': DEACTIVATING,
+ }
+
+ state2status = {
+ ACTIVE: u'\u2714',
+ RELOADING: u'\u27A4',
+ INACTIVE: u'\u2717',
+ FAILED: u'\u2717',
+ ACTIVATING: u'\u27A4',
+ DEACTIVATING: u'\u27A4',
+ }
+
+
+class Errors:
+ def __init__(self, log_level, error_count):
+ self.log_level = log_level
+ self.error_count = error_count
+
+ def __str__(self):
+ return '{}: {}'.format(self.log_level, self.error_count)
+
+
+class RestartFrequency:
+ def __init__(self, count, time_interval):
+ self.count = count
+ self.time_interval = time_interval
+
+ def __str__(self):
+ return 'Restarted {} times {}'.format(
+ self.count,
+ self.time_interval,
+ )
+
+
+class HealthStatus:
+ DOWN = 'Down'
+ UP = 'Up'
+ UNKNOWN = 'Unknown'
+
+
+class Version:
+ def __init__(self, version_code, last_update_time):
+ self.version_code = version_code
+ self.last_update_time = last_update_time
+
+ def __str__(self):
+ return '{}, last updated: {}'.format(
+ self.version_code,
+ self.last_update_time,
+ )
+
+
+class ServiceHealth:
+ def __init__(
+ self, service_name, active_state, sub_state,
+ time_running, errors,
+ ):
+ self.service_name = service_name
+ self.active_state = active_state
+ self.sub_state = sub_state
+ self.time_running = time_running
+ self.errors = errors
+
+ def __str__(self):
+ return '{} {:20} {:10} {:15} {:10} {:>10} {:>10}'.format(
+ ActiveState.state2status.get(self.active_state, '-'),
+ self.service_name,
+ self.active_state,
+ self.sub_state,
+ self.time_running,
+ self.errors.log_level,
+ self.errors.error_count,
+ )
+
+
+class HealthSummary:
+ def __init__(
+ self, version, platform,
+ services_health,
+ internet_health, dns_health,
+ unexpected_restarts,
+ ):
+ self.version = version
+ self.platform = platform
+ self.services_health = services_health
+ self.internet_health = internet_health
+ self.dns_health = dns_health
+ self.unexpected_restarts = unexpected_restarts
+
+ def __str__(self):
+ any_restarts = any([
+ restarts.count
+ for restarts in self.unexpected_restarts.values()
+ ])
+ return textwrap.dedent("""
+ Running on {}
+ Version: {}:
+ {:20} {:10} {:15} {:10} {:>10} {:>10}
+ {}
+
+ Internet health: {}
+ DNS health: {}
+
+ Restart summary:
+ {}
+ """).format(
+ self.version, self.platform,
+ 'Service', 'Status', 'SubState', 'Running for', 'Log level',
+ 'Errors since last restart',
+ '\n'.join([str(h) for h in self.services_health]),
+ self.internet_health, self.dns_health,
+ '\n'.join([
+ '{:20} {}'.format(name, restarts)
+ for name, restarts
+ in self.unexpected_restarts.items()
+ ])
+ if any_restarts
+ else "No restarts since the gateway started",
+ )
diff --git a/common/health/health_service.py b/common/health/health_service.py
new file mode 100644
index 0000000..4228330
--- /dev/null
+++ b/common/health/health_service.py
@@ -0,0 +1,229 @@
+#!/usr/bin/env python3
+
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+import asyncio
+import os
+import subprocess
+from datetime import datetime
+
+import apt
+from dateutil import tz
+from common.health.entities import (
+ ActiveState,
+ Errors,
+ HealthStatus,
+ HealthSummary,
+ RestartFrequency,
+ ServiceHealth,
+ Version,
+)
+from common.service import MagmaService
+from common.service_registry import ServiceRegistry
+from configuration.mconfig_managers import load_service_mconfig_as_json
+from magmad.metrics import UNEXPECTED_SERVICE_RESTARTS
+from magmad.service_poller import ServicePoller
+from orc8r.protos import common_pb2, magmad_pb2
+from orc8r.protos.magmad_pb2_grpc import MagmadStub
+from orc8r.protos.mconfig import mconfigs_pb2
+from pystemd.systemd1 import Unit
+
+
+class GenericHealthChecker:
+
+ def ping(self, host, num_packets=4):
+ chan = ServiceRegistry.get_rpc_channel('magmad', ServiceRegistry.LOCAL)
+ client = MagmadStub(chan)
+
+ response = client.RunNetworkTests(
+ magmad_pb2.NetworkTestRequest(
+ pings=[
+ magmad_pb2.PingParams(
+ host_or_ip=host,
+ num_packets=num_packets,
+ ),
+ ],
+ ),
+ )
+ return response.pings
+
+ def ping_status(self, host):
+ pings = self.ping(host=host, num_packets=4)[0]
+ if pings.error:
+ return HealthStatus.DOWN
+ if pings.avg_response_ms:
+ return HealthStatus.UP
+ return HealthStatus.UNKNOWN
+
+ def get_error_summary(self, service_names):
+ """Get the list of services with the error count.
+
+ Args:
+ service_names: List of service names.
+
+ Returns:
+ A dictionary with service name as a key and the Errors object
+ as a value.
+
+ Raises:
+ PermissionError: User has no permision to exectue the command
+ """
+ configs = {
+ service_name: load_service_mconfig_as_json(service_name)
+ for service_name in service_names
+ }
+ res = {
+ service_name: Errors(
+ log_level=configs[service_name].get('logLevel', 'INFO'),
+ error_count=0,
+ )
+ for service_name in service_names
+ }
+
+ syslog_path = '/var/log/syslog'
+ if not os.access(syslog_path, os.R_OK):
+ raise PermissionError(
+ 'syslog is not readable. '
+ 'Try `sudo chmod a+r {}`. '
+ 'Or execute the command with sudo '
+ 'permissions: `venvsudo`'.format(syslog_path),
+ )
+ with open(syslog_path, 'r', encoding='utf-8') as f:
+ for line in f:
+ for service_name in service_names:
+ if service_name not in line:
+ continue
+ # Reset the counter for restart/start
+ if 'Starting {}...'.format(service_name) in line:
+ res[service_name].error_count = 0
+ elif 'ERROR' in line:
+ res[service_name].error_count += 1
+ return res
+
+ def get_magma_services_summary(self):
+ """ Get health for all the running services """
+ services_health_summary = []
+
+ # DBus objects: https://www.freedesktop.org/wiki/Software/systemd/dbus/
+ chan = ServiceRegistry.get_rpc_channel('magmad', ServiceRegistry.LOCAL)
+ client = MagmadStub(chan)
+
+ configs = client.GetConfigs(common_pb2.Void())
+
+ service_names = [str(name) for name in configs.configs_by_key]
+ services_errors = self.get_error_summary(service_names=service_names)
+
+ for service_name in service_names:
+ unit = Unit(
+ 'magma@{}.service'.format(service_name),
+ _autoload=True,
+ )
+ active_state = ActiveState.dbus2state[unit.Unit.ActiveState]
+ sub_state = str(unit.Unit.SubState, 'utf-8')
+ if active_state == ActiveState.ACTIVE:
+ pid = unit.Service.MainPID
+ process = subprocess.Popen(
+ 'ps -o etime= -p {}'.format(pid).split(),
+ stdout=subprocess.PIPE,
+ )
+
+ time_running, error = process.communicate()
+ if error:
+ raise ValueError(
+ 'Cannot get time running for the service '
+ '{} `ps -o etime= -p {}`'
+ .format(service_name, pid),
+ )
+ else:
+ time_running = b'00'
+
+ services_health_summary.append(
+ ServiceHealth(
+ service_name=service_name,
+ active_state=active_state, sub_state=sub_state,
+ time_running=str(time_running, 'utf-8').strip(),
+ errors=services_errors[service_name],
+ ),
+ )
+ return services_health_summary
+
+ def get_unexpected_restart_summary(self):
+ service = MagmaService('magmad', mconfigs_pb2.MagmaD())
+ service_poller = ServicePoller(service.loop, service.config)
+ service_poller.start()
+
+ asyncio.set_event_loop(service.loop)
+
+ # noinspection PyProtectedMember
+ # pylint: disable=protected-access
+ async def fetch_info():
+ restart_frequencies = {}
+ await service_poller._get_service_info()
+ for service_name in service_poller.service_info.keys():
+ restarts = int(
+ UNEXPECTED_SERVICE_RESTARTS
+ .labels(service_name=service_name)
+ ._value.get(),
+ )
+ restart_frequencies[service_name] = RestartFrequency(
+ count=restarts,
+ time_interval='',
+ )
+
+ return restart_frequencies
+
+ return service.loop.run_until_complete(fetch_info())
+
+ def get_kernel_version(self):
+ info, error = subprocess.Popen(
+ 'uname -a'.split(),
+ stdout=subprocess.PIPE,
+ ).communicate()
+
+ if error:
+ raise ValueError('Cannot get the kernel version')
+ return str(info, 'utf-8')
+
+ def get_magma_version(self):
+ cache = apt.Cache()
+
+ # Return the python version if magma is not there
+ if 'magma' not in cache:
+ return Version(
+ version_code=cache['python3'].versions[0],
+ last_update_time='-',
+ )
+
+ pkg = str(cache['magma'].versions[0])
+ version = pkg.split('-')[0].split('=')[-1]
+ timestamp = int(pkg.split('-')[1])
+
+ return Version(
+ version_code=version,
+ last_update_time=datetime.utcfromtimestamp(timestamp)
+ .replace(tzinfo=tz.tzutc())
+ .astimezone(tz=tz.tzlocal())
+ .strftime('%Y-%m-%d %H:%M:%S'),
+ )
+
+ def get_health_summary(self):
+
+ return HealthSummary(
+ version=self.get_magma_version(),
+ platform=self.get_kernel_version(),
+ services_health=self.get_magma_services_summary(),
+ internet_health=self.ping_status(host='8.8.8.8'),
+ dns_health=self.ping_status(host='google.com'),
+ unexpected_restarts=self.get_unexpected_restart_summary(),
+ )
diff --git a/common/health/service_state_wrapper.py b/common/health/service_state_wrapper.py
new file mode 100644
index 0000000..7c1f707
--- /dev/null
+++ b/common/health/service_state_wrapper.py
@@ -0,0 +1,88 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+from common.redis.client import get_default_client
+from common.redis.containers import RedisFlatDict
+from common.redis.serializers import (
+ RedisSerde,
+ get_proto_deserializer,
+ get_proto_serializer,
+)
+from orc8r.protos.service_status_pb2 import ServiceExitStatus
+
+
+class ServiceStateWrapper:
+ """
+ Class wraps ServiceState interactions with redis
+ """
+
+ # Unique typename for Redis key
+ REDIS_VALUE_TYPE = "systemd_status"
+
+ def __init__(self):
+ serde = RedisSerde(
+ self.REDIS_VALUE_TYPE,
+ get_proto_serializer(),
+ get_proto_deserializer(ServiceExitStatus),
+ )
+ self._flat_dict = RedisFlatDict(get_default_client(), serde)
+
+ def update_service_status(
+ self, service_name: str,
+ service_status: ServiceExitStatus,
+ ) -> None:
+ """
+ Update the service exit status for a given service
+ """
+
+ if service_name in self._flat_dict:
+ current_service_status = self._flat_dict[service_name]
+ else:
+ current_service_status = ServiceExitStatus()
+
+ if service_status.latest_service_result == \
+ ServiceExitStatus.ServiceResult.Value("SUCCESS"):
+ service_status.num_clean_exits = \
+ current_service_status.num_clean_exits + 1
+ service_status.num_fail_exits = \
+ current_service_status.num_fail_exits
+ else:
+ service_status.num_fail_exits = \
+ current_service_status.num_fail_exits + 1
+ service_status.num_clean_exits = \
+ current_service_status.num_clean_exits
+ self._flat_dict[service_name] = service_status
+
+ def get_service_status(self, service_name: str) -> ServiceExitStatus:
+ """
+ Get the service status protobuf for a given service
+ @returns ServiceStatus protobuf object
+ """
+ return self._flat_dict[service_name]
+
+ def get_all_services_status(self) -> [str, ServiceExitStatus]:
+ """
+ Get a dict of service name to service status
+ @return dict of service_name to service map
+ """
+ service_status = {}
+ for k, v in self._flat_dict.items():
+ service_status[k] = v
+ return service_status
+
+ def cleanup_service_status(self) -> None:
+ """
+ Cleanup service status for all services in redis, mostly using for
+ testing
+ """
+ self._flat_dict.clear()
diff --git a/common/job.py b/common/job.py
new file mode 100644
index 0000000..f3ba0d2
--- /dev/null
+++ b/common/job.py
@@ -0,0 +1,129 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+import abc
+import asyncio
+import logging
+import time
+from contextlib import suppress
+from typing import Optional, cast
+
+
+class Job(abc.ABC):
+ """
+ This is a base class that provides functions for a specific task to
+ ensure regular completion of the loop.
+
+ A co-routine run must be implemented by a subclass.
+ periodic() will call the co-routine at a regular interval set by
+ self._interval.
+ """
+
+ def __init__(
+ self,
+ interval: int,
+ loop: Optional[asyncio.AbstractEventLoop] = None,
+ ) -> None:
+ if loop is None:
+ self._loop = asyncio.get_event_loop()
+ else:
+ self._loop = loop
+ # Task in charge of periodically running the task
+ self._periodic_task = cast(Optional[asyncio.Task], None)
+ # Task in charge of deciding how long to wait until next run
+ self._interval_wait_task = cast(Optional[asyncio.Task], None)
+ self._interval = interval # in seconds
+ self._last_run = cast(Optional[float], None)
+ self._timeout = cast(Optional[float], None)
+ # Condition variable used to control how long the job waits until
+ # executing its task again.
+ self._cond = self._cond = asyncio.Condition(loop=self._loop)
+
+ @abc.abstractmethod
+ async def _run(self):
+ """
+ Once implemented by a subclass, this function will contain the actual
+ work of this Job.
+ """
+ pass
+
+ def start(self) -> None:
+ """
+ kicks off the _periodic while loop
+ """
+ if self._periodic_task is None:
+ self._periodic_task = self._loop.create_task(self._periodic())
+
+ def stop(self) -> None:
+ """
+ cancels the _periodic while loop
+ """
+ if self._periodic_task is not None:
+ self._periodic_task.cancel()
+ with suppress(asyncio.CancelledError):
+ # Await task to execute it's cancellation
+ self._loop.run_until_complete(self._periodic_task)
+ self._periodic_task = None
+
+ def set_timeout(self, timeout: float) -> None:
+ self._timeout = timeout
+
+ def set_interval(self, interval: int) -> None:
+ """
+ sets the interval used in _periodic to decide how long to sleep
+ """
+ self._interval = interval
+
+ def heartbeat(self) -> None:
+ # record time to keep track of iteration length
+ self._last_run = time.time()
+
+ def not_completed(self, current_time: float) -> bool:
+ last_time = self._last_run
+
+ if last_time is None:
+ return True
+ if last_time < current_time - (self._timeout or 120):
+ return True
+ return False
+
+ async def _sleep_for_interval(self):
+ await asyncio.sleep(self._interval)
+ async with self._cond:
+ self._cond.notify()
+
+ async def wake_up(self):
+ """
+ Cancels the _sleep_for_interval task if it exists, and notifies the
+ cond var so that the _periodic loop can continue.
+ """
+ if self._interval_wait_task is not None:
+ self._interval_wait_task.cancel()
+
+ async with self._cond:
+ self._cond.notify()
+
+ async def _periodic(self) -> None:
+ while True:
+ self.heartbeat()
+
+ try:
+ await self._run()
+ except Exception as exp: # pylint: disable=broad-except
+ logging.exception("Exception from _run: %s", exp)
+
+ # Wait for self._interval seconds or wake_up is explicitly called
+ self._interval_wait_task = \
+ self._loop.create_task(self._sleep_for_interval())
+ async with self._cond:
+ await self._cond.wait()
diff --git a/common/log_count_handler.py b/common/log_count_handler.py
new file mode 100644
index 0000000..55b5ecf
--- /dev/null
+++ b/common/log_count_handler.py
@@ -0,0 +1,35 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+import logging
+
+
+class MsgCounterHandler(logging.Handler):
+ """ Register this handler to logging to count the logs by level """
+
+ count_by_level = None
+
+ def __init__(self, *args, **kwargs):
+ super(MsgCounterHandler, self).__init__(*args, **kwargs)
+ self.count_by_level = {}
+
+ def emit(self, record: logging.LogRecord):
+ level = record.levelname
+ if (level not in self.count_by_level):
+ self.count_by_level[level] = 0
+ self.count_by_level[level] += 1
+
+ def pop_error_count(self) -> int:
+ error_count = self.count_by_level.get('ERROR', 0)
+ self.count_by_level['ERROR'] = 0
+ return error_count
diff --git a/common/log_counter.py b/common/log_counter.py
new file mode 100644
index 0000000..4f2aea3
--- /dev/null
+++ b/common/log_counter.py
@@ -0,0 +1,40 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+import asyncio
+from typing import Any
+
+from common.job import Job
+from common.log_count_handler import MsgCounterHandler
+from common.metrics import SERVICE_ERRORS
+
+# How frequently to poll systemd for error logs, in seconds
+POLL_INTERVAL = 10
+
+
+class ServiceLogErrorReporter(Job):
+ """ Reports the number of logged errors for the service """
+
+ def __init__(
+ self,
+ loop: asyncio.BaseEventLoop,
+ service_config: Any,
+ handler: MsgCounterHandler,
+ ) -> None:
+ super().__init__(interval=POLL_INTERVAL, loop=loop)
+ self._service_config = service_config
+ self._handler = handler
+
+ async def _run(self):
+ error_count = self._handler.pop_error_count()
+ SERVICE_ERRORS.inc(error_count)
diff --git a/common/metrics.py b/common/metrics.py
new file mode 100644
index 0000000..ebb3bae
--- /dev/null
+++ b/common/metrics.py
@@ -0,0 +1,24 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+from prometheus_client import Counter
+
+STREAMER_RESPONSES = Counter(
+ 'streamer_responses',
+ 'The number of responses by label',
+ ['result'],
+)
+
+SERVICE_ERRORS = Counter(
+ 'service_errors',
+ 'The number of errors logged',
+)
diff --git a/common/metrics_export.py b/common/metrics_export.py
new file mode 100644
index 0000000..964e3fb
--- /dev/null
+++ b/common/metrics_export.py
@@ -0,0 +1,212 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+import logging
+import time
+
+import metrics_pb2
+from orc8r.protos import metricsd_pb2
+from prometheus_client import REGISTRY
+
+
+def get_metrics(registry=REGISTRY, verbose=False):
+ """
+ Collects timeseries samples from prometheus metric collector registry
+ adds a common timestamp, and encodes them to protobuf
+
+ Arguments:
+ regsitry: a prometheus CollectorRegistry instance
+ verbose: whether to optimize for bandwidth and ignore metric name/help
+
+ Returns:
+ a prometheus MetricFamily protobuf stream
+ """
+ timestamp_ms = int(time.time() * 1000)
+ for metric_family in registry.collect():
+ if metric_family.type in ('counter', 'gauge'):
+ family_proto = encode_counter_gauge(metric_family, timestamp_ms)
+ elif metric_family.type == 'summary':
+ family_proto = encode_summary(metric_family, timestamp_ms)
+ elif metric_family.type == 'histogram':
+ family_proto = encode_histogram(metric_family, timestamp_ms)
+
+ if verbose:
+ family_proto.help = metric_family.documentation
+ family_proto.name = metric_family.name
+ else:
+ try:
+ family_proto.name = \
+ str(metricsd_pb2.MetricName.Value(metric_family.name))
+ except ValueError as e:
+ logging.debug(e) # If enum is not defined
+ family_proto.name = metric_family.name
+ yield family_proto
+
+
+def encode_counter_gauge(family, timestamp_ms):
+ """
+ Takes a Counter/Gauge family which is a collection of timeseries
+ samples that share a name (uniquely identified by labels) and yields
+ equivalent protobufs.
+
+ Each timeseries corresponds to a single sample tuple of the format:
+ (NAME, LABELS, VALUE)
+
+ Arguments:
+ family: a prometheus gauge metric family
+ timestamp_ms: the timestamp to attach to the samples
+ Raises:
+ ValueError if metric name is not defined in MetricNames protobuf
+ Returns:
+ A Counter or Gauge prometheus MetricFamily protobuf
+ """
+ family_proto = metrics_pb2.MetricFamily()
+ family_proto.type = \
+ metrics_pb2.MetricType.Value(family.type.upper())
+ for sample in family.samples:
+ metric_proto = metrics_pb2.Metric()
+ if family_proto.type == metrics_pb2.COUNTER:
+ metric_proto.counter.value = sample[2]
+ elif family_proto.type == metrics_pb2.GAUGE:
+ metric_proto.gauge.value = sample[2]
+ # Add meta-data to the timeseries
+ metric_proto.timestamp_ms = timestamp_ms
+ metric_proto.label.extend(_convert_labels_to_enums(sample[1].items()))
+ # Append metric sample to family
+ family_proto.metric.extend([metric_proto])
+ return family_proto
+
+
+def encode_summary(family, timestamp_ms):
+ """
+ Takes a Summary Metric family which is a collection of timeseries
+ samples that share a name (uniquely identified by labels) and yields
+ equivalent protobufs.
+
+ Each summary timeseries consists of sample tuples for the count, sum,
+ and quantiles in the format (NAME,LABELS,VALUE). The NAME is suffixed
+ with either _count, _sum to indicate count and sum respectively.
+ Quantile samples will be of the same NAME with quantile label.
+
+ Arguments:
+ family: a prometheus summary metric family
+ timestamp_ms: the timestamp to attach to the samples
+ Raises:
+ ValueError if metric name is not defined in MetricNames protobuf
+ Returns:
+ a Summary prometheus MetricFamily protobuf
+ """
+ family_proto = metrics_pb2.MetricFamily()
+ family_proto.type = metrics_pb2.SUMMARY
+ metric_protos = {}
+ # Build a map of each of the summary timeseries from the samples
+ for sample in family.samples:
+ quantile = sample[1].pop('quantile', None) # Remove from label set
+ # Each time series identified by label set excluding the quantile
+ metric_proto = \
+ metric_protos.setdefault(
+ frozenset(sample[1].items()),
+ metrics_pb2.Metric(),
+ )
+ if sample[0].endswith('_count'):
+ metric_proto.summary.sample_count = int(sample[2])
+ elif sample[0].endswith('_sum'):
+ metric_proto.summary.sample_sum = sample[2]
+ elif quantile:
+ quantile = metric_proto.summary.quantile.add()
+ quantile.value = sample[2]
+ quantile.quantile = _goStringToFloat(quantile)
+ # Go back and add meta-data to the timeseries
+ for labels, metric_proto in metric_protos.items():
+ metric_proto.timestamp_ms = timestamp_ms
+ metric_proto.label.extend(_convert_labels_to_enums(labels))
+ # Add it to the family
+ family_proto.metric.extend([metric_proto])
+ return family_proto
+
+
+def encode_histogram(family, timestamp_ms):
+ """
+ Takes a Histogram Metric family which is a collection of timeseries
+ samples that share a name (uniquely identified by labels) and yields
+ equivalent protobufs.
+
+ Each summary timeseries consists of sample tuples for the count, sum,
+ and quantiles in the format (NAME,LABELS,VALUE). The NAME is suffixed
+ with either _count, _sum, _buckets to indicate count, sum and buckets
+ respectively. Bucket samples will also contain a le to indicate its
+ upper bound.
+
+ Arguments:
+ family: a prometheus histogram metric family
+ timestamp_ms: the timestamp to attach to the samples
+ Raises:
+ ValueError if metric name is not defined in MetricNames protobuf
+ Returns:
+ a Histogram prometheus MetricFamily protobuf
+ """
+ family_proto = metrics_pb2.MetricFamily()
+ family_proto.type = metrics_pb2.HISTOGRAM
+ metric_protos = {}
+ for sample in family.samples:
+ upper_bound = sample[1].pop('le', None) # Remove from label set
+ metric_proto = \
+ metric_protos.setdefault(
+ frozenset(sample[1].items()),
+ metrics_pb2.Metric(),
+ )
+ if sample[0].endswith('_count'):
+ metric_proto.histogram.sample_count = int(sample[2])
+ elif sample[0].endswith('_sum'):
+ metric_proto.histogram.sample_sum = sample[2]
+ elif sample[0].endswith('_bucket'):
+ quantile = metric_proto.histogram.bucket.add()
+ quantile.cumulative_count = int(sample[2])
+ quantile.upper_bound = _goStringToFloat(upper_bound)
+ # Go back and add meta-data to the timeseries
+ for labels, metric_proto in metric_protos.items():
+ metric_proto.timestamp_ms = timestamp_ms
+ metric_proto.label.extend(_convert_labels_to_enums(labels))
+ # Add it to the family
+ family_proto.metric.extend([metric_proto])
+ return family_proto
+
+
+def _goStringToFloat(s):
+ if s == '+Inf':
+ return float("inf")
+ elif s == '-Inf':
+ return float("-inf")
+ elif s == 'NaN':
+ return float('nan')
+ else:
+ return float(s)
+
+
+def _convert_labels_to_enums(labels):
+ """
+ Try to convert both the label names and label values to enum values.
+ Defaults to the given name and value if it fails to convert.
+ Arguments:
+ labels: an array of label pairs that may contain enum names
+ Returns:
+ an array of label pairs with enum names converted to enum values
+ """
+ new_labels = []
+ for name, value in labels:
+ try:
+ name = str(metricsd_pb2.MetricLabelName.Value(name))
+ except ValueError as e:
+ logging.debug(e)
+ new_labels.append(metrics_pb2.LabelPair(name=name, value=value))
+ return new_labels
diff --git a/common/misc_utils.py b/common/misc_utils.py
new file mode 100644
index 0000000..4d8e5ec
--- /dev/null
+++ b/common/misc_utils.py
@@ -0,0 +1,269 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+import asyncio
+import ipaddress
+import os
+from enum import Enum
+
+import netifaces
+import snowflake
+
+
+class IpPreference(Enum):
+ IPV4_ONLY = 1
+ IPV4_PREFERRED = 2
+ IPV6_PREFERRED = 3
+ IPV6_ONLY = 4
+
+
+def get_if_ip_with_netmask(interface, preference=IpPreference.IPV4_PREFERRED):
+ """
+ Get IP address and netmask (in form /255.255.255.0)
+ from interface name and return as tuple (ip, netmask).
+ Note: If multiple v4/v6 addresses exist, the first is chosen
+
+ Raise ValueError if unable to get requested IP address.
+ """
+ # Raises ValueError if interface is unavailable
+ ip_addresses = netifaces.ifaddresses(interface)
+
+ try:
+ ipv4_address = (
+ ip_addresses[netifaces.AF_INET][0]['addr'],
+ ip_addresses[netifaces.AF_INET][0]['netmask'],
+ )
+ except KeyError:
+ ipv4_address = None
+
+ try:
+ ipv6_address = (
+ ip_addresses[netifaces.AF_INET6][0]["addr"].split("%")[0],
+ ip_addresses[netifaces.AF_INET6][0]["netmask"],
+ )
+
+ except KeyError:
+ ipv6_address = None
+
+ if preference == IpPreference.IPV4_ONLY:
+ if ipv4_address is not None:
+ return ipv4_address
+ else:
+ raise ValueError('Error getting IPv4 address for %s' % interface)
+
+ elif preference == IpPreference.IPV4_PREFERRED:
+ if ipv4_address is not None:
+ return ipv4_address
+ elif ipv6_address is not None:
+ return ipv6_address
+ else:
+ raise ValueError('Error getting IPv4/6 address for %s' % interface)
+
+ elif preference == IpPreference.IPV6_PREFERRED:
+ if ipv6_address is not None:
+ return ipv6_address
+ elif ipv4_address is not None:
+ return ipv4_address
+ else:
+ raise ValueError('Error getting IPv6/4 address for %s' % interface)
+
+ elif preference == IpPreference.IPV6_ONLY:
+ if ipv6_address is not None:
+ return ipv6_address
+ else:
+ raise ValueError('Error getting IPv6 address for %s' % interface)
+
+ else:
+ raise ValueError('Unknown IP preference %s' % preference)
+
+
+def get_all_if_ips_with_netmask(
+ interface,
+ preference=IpPreference.IPV4_PREFERRED,
+):
+ """
+ Get all IP addresses and netmasks (in form /255.255.255.0)
+ from interface name and return as a list of tuple (ip, netmask).
+
+ Raise ValueError if unable to get requested IP addresses.
+ """
+ # Raises ValueError if interface is unavailable
+ ip_addresses = netifaces.ifaddresses(interface)
+
+ try:
+ ipv4_addresses = [(ip_address['addr'], ip_address['netmask']) for
+ ip_address in ip_addresses[netifaces.AF_INET]]
+ except KeyError:
+ ipv4_addresses = None
+
+ try:
+ ipv6_addresses = [(ip_address['addr'], ip_address['netmask']) for
+ ip_address in ip_addresses[netifaces.AF_INET6]]
+ except KeyError:
+ ipv6_addresses = None
+
+ if preference == IpPreference.IPV4_ONLY:
+ if ipv4_addresses is not None:
+ return ipv4_addresses
+ else:
+ raise ValueError('Error getting IPv4 addresses for %s' % interface)
+
+ elif preference == IpPreference.IPV4_PREFERRED:
+ if ipv4_addresses is not None:
+ return ipv4_addresses
+ elif ipv6_addresses is not None:
+ return ipv6_addresses
+ else:
+ raise ValueError(
+ 'Error getting IPv4/6 addresses for %s' % interface,
+ )
+
+ elif preference == IpPreference.IPV6_PREFERRED:
+ if ipv6_addresses is not None:
+ return ipv6_addresses
+ elif ipv4_addresses is not None:
+ return ipv4_addresses
+ else:
+ raise ValueError(
+ 'Error getting IPv6/4 addresses for %s' % interface,
+ )
+
+ elif preference == IpPreference.IPV6_ONLY:
+ if ipv6_addresses is not None:
+ return ipv6_addresses
+ else:
+ raise ValueError('Error getting IPv6 addresses for %s' % interface)
+
+ else:
+ raise ValueError('Unknown IP preference %s' % preference)
+
+
+def get_ip_from_if(iface_name, preference=IpPreference.IPV4_PREFERRED):
+ """
+ Get ip address from interface name and return as string.
+ Extract only ip address from (ip, netmask)
+ """
+ return get_if_ip_with_netmask(iface_name, preference)[0]
+
+
+def get_all_ips_from_if(iface_name, preference=IpPreference.IPV4_PREFERRED):
+ """
+ Get all ip addresses from interface name and return as a list of string.
+ Extract only ip address from (ip, netmask)
+ """
+ return [
+ ip[0] for ip in
+ get_all_if_ips_with_netmask(iface_name, preference)
+ ]
+
+
+def get_ip_from_if_cidr(iface_name, preference=IpPreference.IPV4_PREFERRED):
+ """
+ Get IPAddress with netmask from interface name and
+ transform into CIDR (eth1 -> 192.168.60.142/24)
+ notation return as string.
+ """
+ ip, netmask = get_if_ip_with_netmask(iface_name, preference)
+ ip = '%s/%s' % (ip, netmask)
+ interface = ipaddress.ip_interface(ip).with_prefixlen # Set CIDR notation
+ return interface
+
+
+def get_all_ips_from_if_cidr(
+ iface_name,
+ preference=IpPreference.IPV4_PREFERRED,
+):
+ """
+ Get all IPAddresses with netmask from interface name and
+ transform into CIDR (eth1 -> 192.168.60.142/24) notation
+ return as a list of string.
+ """
+
+ def ip_cidr_gen():
+ for ip, netmask in get_all_if_ips_with_netmask(iface_name, preference):
+ ip = '%s/%s' % (ip, netmask)
+ # Set CIDR notation
+ ip_cidr = ipaddress.ip_interface(ip).with_prefixlen
+ yield ip_cidr
+
+ return [ip_cidr for ip_cidr in ip_cidr_gen()]
+
+
+def cidr_to_ip_netmask_tuple(cidr_network):
+ """
+ Convert CIDR-format IP network string (e.g. 10.0.0.1/24) to a tuple
+ (ip, netmask) where netmask is in the form (n.n.n.n).
+
+ Args:
+ cidr_network (str): IPv4 network in CIDR notation
+
+ Returns:
+ (str, str): 2-tuple of IP address and netmask
+ """
+ network = ipaddress.ip_network(cidr_network)
+ return '{}'.format(network.network_address), '{}'.format(network.netmask)
+
+
+def get_if_mac_address(interface):
+ """
+ Returns the MAC address of an interface.
+ Note: If multiple MAC addresses exist, the first one is chosen.
+
+ Raise ValueError if unable to get requested IP address.
+ """
+ addr = netifaces.ifaddresses(interface)
+ try:
+ return addr[netifaces.AF_LINK][0]['addr']
+ except KeyError:
+ raise ValueError('Error getting MAC address for %s' % interface)
+
+
+def get_gateway_hwid() -> str:
+ """
+ Returns the HWID of the gateway
+ Note: Currently this uses the snowflake at /etc/snowflake
+ """
+ return snowflake.snowflake()
+
+
+def is_interface_up(interface):
+ """
+ Returns whether an interface is up.
+ """
+ try:
+ addr = netifaces.ifaddresses(interface)
+ except ValueError:
+ return False
+ return netifaces.AF_INET in addr
+
+
+def call_process(cmd, callback, loop):
+ loop = loop or asyncio.get_event_loop()
+ loop.create_task(
+ loop.subprocess_shell(
+ lambda: SubprocessProtocol(callback), "nohup " + cmd,
+ preexec_fn=os.setsid,
+ ),
+ )
+
+
+class SubprocessProtocol(asyncio.SubprocessProtocol):
+ def __init__(self, callback):
+ self._callback = callback
+ self._transport = None
+
+ def connection_made(self, transport):
+ self._transport = transport
+
+ def process_exited(self):
+ self._callback(self._transport.get_returncode())
diff --git a/common/redis/__init__.py b/common/redis/__init__.py
new file mode 100644
index 0000000..5c6cb64
--- /dev/null
+++ b/common/redis/__init__.py
@@ -0,0 +1,12 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
diff --git a/common/redis/client.py b/common/redis/client.py
new file mode 100644
index 0000000..65acd87
--- /dev/null
+++ b/common/redis/client.py
@@ -0,0 +1,23 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+import redis
+from configuration.service_configs import get_service_config_value
+
+
+def get_default_client():
+ """
+ Return a default redis client using the configured port in redis.yml
+ """
+ redis_port = get_service_config_value('redis', 'port', 6379)
+ redis_addr = get_service_config_value('redis', 'bind', 'localhost')
+ return redis.Redis(host=redis_addr, port=redis_port)
diff --git a/common/redis/containers.py b/common/redis/containers.py
new file mode 100644
index 0000000..c227e4d
--- /dev/null
+++ b/common/redis/containers.py
@@ -0,0 +1,444 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+from copy import deepcopy
+from typing import Any, Iterator, List, MutableMapping, Optional, TypeVar
+
+import redis
+import redis_collections
+import redis_lock
+from common.redis.serializers import RedisSerde
+from orc8r.protos.redis_pb2 import RedisState
+from redis.lock import Lock
+
+# NOTE: these containers replace the serialization methods exposed by
+# the redis-collection objects. Although the methods are hinted to be
+# privately scoped, the method replacement is encouraged in the library's
+# docs: http://redis-collections.readthedocs.io/en/stable/usage-notes.html
+
+T = TypeVar('T')
+
+
+class RedisList(redis_collections.List):
+ """
+ List-like interface serializing elements to a Redis datastore.
+
+ Notes:
+ - Provides persistence across sessions
+ - Mutable elements handled correctly
+ - Not expected to be thread safe, but could be extended
+ """
+
+ def __init__(self, client, key, serialize, deserialize):
+ """
+ Initialize instance.
+
+ Args:
+ client (redis.Redis): Redis client object
+ key (str): key where this container's elements are stored in Redis
+ serialize (function (any) -> bytes):
+ function called to serialize an element
+ deserialize (function (bytes) -> any):
+ function called to deserialize an element
+ Returns:
+ redis_list (redis_collections.List): persistent list-like interface
+ """
+ self._pickle = serialize
+ self._unpickle = deserialize
+ super().__init__(redis=client, key=key, writeback=True)
+
+ def __copy__(self):
+ return [elt for elt in self]
+
+ def __deepcopy__(self, memo):
+ return [deepcopy(elt, memo) for elt in self]
+
+
+class RedisSet(redis_collections.Set):
+ """
+ Set-like interface serializing elements to a Redis datastore.
+
+ Notes:
+ - Provides persistence across sessions
+ - Mutable elements _not_ handled correctly:
+ - Get/set mutable elements supported
+ - Don't update the contents of a mutable element and
+ expect things to go well
+ - Expected to be thread safe, but not tested
+ """
+
+ def __init__(self, client, key, serialize, deserialize):
+ """
+ Initialize instance.
+
+ Args:
+ client (redis.Redis): Redis client object
+ key (str): key where this container's elements are stored in Redis
+ serialize (function (any) -> bytes):
+ function called to serialize an element
+ deserialize (function (bytes) -> any):
+ function called to deserialize an element
+ Returns:
+ redis_set (redis_collections.Set): persistent set-like interface
+ """
+ # NOTE: redis_collections.Set doesn't have a writeback option, causing
+ # issue when mutable elements are updated in-place.
+ self._pickle = serialize
+ self._unpickle = deserialize
+ super().__init__(redis=client, key=key)
+
+ def __copy__(self):
+ return {elt for elt in self}
+
+ def __deepcopy__(self, memo):
+ return {deepcopy(elt, memo) for elt in self}
+
+
+class RedisHashDict(redis_collections.DefaultDict):
+ """
+ Dict-like interface serializing elements to a Redis datastore. This dict
+ utilizes Redis's hashmap functionality
+
+ Notes:
+ - Keys must be string-like and are serialized to plaintext (UTF-8)
+ - Provides persistence across sessions
+ - Mutable elements handled correctly
+ - Not expected to be thread safe, but could be extended
+ - Keys are serialized in plaintext
+ """
+
+ @staticmethod
+ def serialize_key(key):
+ """ Serialize key to plaintext. """
+ return key
+
+ @staticmethod
+ def deserialize_key(serialized):
+ """ Deserialize key from plaintext encoded as UTF-8 bytes. """
+ return serialized.decode('utf-8') # Redis returns bytes
+
+ def __init__(
+ self, client, key, serialize, deserialize,
+ default_factory=None, writeback=False,
+ ):
+ """
+ Initialize instance.
+
+ Args:
+ client (redis.Redis): Redis client object
+ key (str): key where this container's elements are stored in Redis
+ serialize (function (any) -> bytes):
+ function called to serialize a value
+ deserialize (function (bytes) -> any):
+ function called to deserialize a value
+ default_factory: function that provides default value for a
+ non-existent key
+ writeback (bool): if writeback is set to true, dict maintains a
+ local cache of values and the `sync` method can be called to
+ store these values. NOTE: only use this option if syncing
+ between services is not important.
+
+ Returns:
+ redis_dict (redis_collections.Dict): persistent dict-like interface
+ """
+ # Key serialization (to/from plaintext)
+ self._pickle_key = RedisHashDict.serialize_key
+ self._unpickle_key = RedisHashDict.deserialize_key
+ # Value serialization
+ self._pickle_value = serialize
+ self._unpickle = deserialize
+ super().__init__(
+ default_factory, redis=client, key=key, writeback=writeback,
+ )
+
+ def __setitem__(self, key, value):
+ """Set ``d[key]`` to *value*.
+
+ Override in order to increment version on each update
+ """
+ version = self.get_version(key)
+ pickled_key = self._pickle_key(key)
+ pickled_value = self._pickle_value(value, version + 1)
+ self.redis.hset(self.key, pickled_key, pickled_value)
+
+ if self.writeback:
+ self.cache[key] = value
+
+ def __copy__(self):
+ return {key: self[key] for key in self}
+
+ def __deepcopy__(self, memo):
+ return {key: deepcopy(self[key], memo) for key in self}
+
+ def get_version(self, key):
+ """Return the version of the value for key *key*. Returns 0 if
+ key is not in the map
+ """
+ try:
+ value = self.cache[key]
+ except KeyError:
+ pickled_key = self._pickle_key(key)
+ value = self.redis.hget(self.key, pickled_key)
+ if value is None:
+ return 0
+
+ proto_wrapper = RedisState()
+ proto_wrapper.ParseFromString(value)
+ return proto_wrapper.version
+
+
+class RedisFlatDict(MutableMapping[str, T]):
+ """
+ Dict-like interface serializing elements to a Redis datastore. This
+ dict stores key directly (i.e. without a hashmap).
+ """
+
+ def __init__(
+ self, client: redis.Redis, serde: RedisSerde[T],
+ writethrough: bool = False,
+ ):
+ """
+ Args:
+ client (redis.Redis): Redis client object
+ serde (): RedisSerde for de/serializing the object stored
+ writethrough (bool): if writethrough is set to true,
+ RedisFlatDict maintains a local write-through cache of values.
+ """
+ super().__init__()
+ self._writethrough = writethrough
+ self.redis = client
+ self.serde = serde
+ self.redis_type = serde.redis_type
+ self.cache = {}
+ if self._writethrough:
+ self._sync_cache()
+
+ def __len__(self) -> int:
+ """Return the number of items in the dictionary."""
+ if self._writethrough:
+ return len(self.cache)
+
+ return len(self.keys())
+
+ def __iter__(self) -> Iterator[str]:
+ """Return an iterator over the keys of the dictionary."""
+ type_pattern = self._get_redis_type_pattern()
+
+ if self._writethrough:
+ for k in self.cache:
+ split_key, _ = k.split(":", 1)
+ yield split_key
+ else:
+ for k in self.redis.keys(pattern=type_pattern):
+ try:
+ deserialized_key = k.decode('utf-8')
+ split_key = deserialized_key.split(":", 1)
+ except AttributeError:
+ split_key = k.split(":", 1)
+ # There could be a delete key in between KEYS and GET, so ignore
+ # invalid values for now
+ try:
+ if self.is_garbage(split_key[0]):
+ continue
+ except KeyError:
+ continue
+ yield split_key[0]
+
+ def __contains__(self, key: str) -> bool:
+ """Return ``True`` if *key* is present and not garbage,
+ else ``False``.
+ """
+ composite_key = self._make_composite_key(key)
+
+ if self._writethrough:
+ return composite_key in self.cache
+
+ return bool(self.redis.exists(composite_key)) and \
+ not self.is_garbage(key)
+
+ def __getitem__(self, key: str) -> T:
+ """Return the item of dictionary with key *key:type*. Raises a
+ :exc:`KeyError` if *key:type* is not in the map or the object is
+ garbage
+ """
+ if ':' in key:
+ raise ValueError("Key %s cannot contain ':' char" % key)
+ composite_key = self._make_composite_key(key)
+
+ if self._writethrough:
+ cached_value = self.cache.get(composite_key)
+ if cached_value:
+ return cached_value
+
+ serialized_value = self.redis.get(composite_key)
+ if serialized_value is None:
+ raise KeyError(composite_key)
+
+ proto_wrapper = RedisState()
+ proto_wrapper.ParseFromString(serialized_value)
+ if proto_wrapper.is_garbage:
+ raise KeyError("Key %s is garbage" % key)
+
+ return self.serde.deserialize(serialized_value)
+
+ def __setitem__(self, key: str, value: T) -> Any:
+ """Set ``d[key:type]`` to *value*."""
+ if ':' in key:
+ raise ValueError("Key %s cannot contain ':' char" % key)
+ version = self.get_version(key)
+ serialized_value = self.serde.serialize(value, version + 1)
+ composite_key = self._make_composite_key(key)
+ if self._writethrough:
+ self.cache[composite_key] = value
+ return self.redis.set(composite_key, serialized_value)
+
+ def __delitem__(self, key: str) -> int:
+ """Remove ``d[key:type]`` from dictionary.
+ Raises a :func:`KeyError` if *key:type* is not in the map.
+ """
+ if ':' in key:
+ raise ValueError("Key %s cannot contain ':' char" % key)
+ composite_key = self._make_composite_key(key)
+ if self._writethrough:
+ del self.cache[composite_key]
+ deleted_count = self.redis.delete(composite_key)
+ if not deleted_count:
+ raise KeyError(composite_key)
+ return deleted_count
+
+ def get(self, key: str, default=None) -> Optional[T]:
+ """Get ``d[key:type]`` from dictionary.
+ Returns None if *key:type* is not in the map
+ """
+ try:
+ return self.__getitem__(key)
+ except (KeyError, ValueError):
+ return default
+
+ def clear(self) -> None:
+ """
+ Clear all keys in the dictionary. Objects are immediately deleted
+ (i.e. not garbage collected)
+ """
+ if self._writethrough:
+ self.cache.clear()
+ for key in self.keys():
+ composite_key = self._make_composite_key(key)
+ self.redis.delete(composite_key)
+
+ def get_version(self, key: str) -> int:
+ """Return the version of the value for key *key:type*. Returns 0 if
+ key is not in the map
+ """
+ composite_key = self._make_composite_key(key)
+ value = self.redis.get(composite_key)
+ if value is None:
+ return 0
+
+ proto_wrapper = RedisState()
+ proto_wrapper.ParseFromString(value)
+ return proto_wrapper.version
+
+ def keys(self) -> List[str]:
+ """Return a copy of the dictionary's list of keys
+ Note: for redis *key:type* key is returned
+ """
+ if self._writethrough:
+ return list(self.cache.keys())
+
+ return list(self.__iter__())
+
+ def mark_as_garbage(self, key: str) -> Any:
+ """Mark ``d[key:type]`` for garbage collection
+ Raises a KeyError if *key:type* is not in the map.
+ """
+ composite_key = self._make_composite_key(key)
+ value = self.redis.get(composite_key)
+ if value is None:
+ raise KeyError(composite_key)
+
+ proto_wrapper = RedisState()
+ proto_wrapper.ParseFromString(value)
+ proto_wrapper.is_garbage = True
+ garbage_serialized = proto_wrapper.SerializeToString()
+ return self.redis.set(composite_key, garbage_serialized)
+
+ def is_garbage(self, key: str) -> bool:
+ """Return if d[key:type] has been marked for garbage collection.
+ Raises a KeyError if *key:type* is not in the map.
+ """
+ composite_key = self._make_composite_key(key)
+ value = self.redis.get(composite_key)
+ if value is None:
+ raise KeyError(composite_key)
+
+ proto_wrapper = RedisState()
+ proto_wrapper.ParseFromString(value)
+ return proto_wrapper.is_garbage
+
+ def garbage_keys(self) -> List[str]:
+ """Return a copy of the dictionary's list of keys that are garbage
+ Note: for redis *key:type* key is returned
+ """
+ garbage_keys = []
+ type_pattern = self._get_redis_type_pattern()
+ for k in self.redis.keys(pattern=type_pattern):
+ try:
+ deserialized_key = k.decode('utf-8')
+ split_key = deserialized_key.split(":", 1)
+ except AttributeError:
+ split_key = k.split(":", 1)
+ # There could be a delete key in between KEYS and GET, so ignore
+ # invalid values for now
+ try:
+ if not self.is_garbage(split_key[0]):
+ continue
+ except KeyError:
+ continue
+ garbage_keys.append(split_key[0])
+ return garbage_keys
+
+ def delete_garbage(self, key) -> bool:
+ """Remove ``d[key:type]`` from dictionary iff the object is garbage
+ Returns False if *key:type* is not in the map
+ """
+ if not self.is_garbage(key):
+ return False
+ count = self.__delitem__(key)
+ return count > 0
+
+ def lock(self, key: str) -> Lock:
+ """Lock the dictionary for key *key*"""
+ return redis_lock.Lock(
+ self.redis,
+ name=self._make_composite_key(key) + ":lock",
+ expire=60,
+ auto_renewal=True,
+ strict=False,
+ )
+
+ def _sync_cache(self):
+ """
+ Syncs write-through cache with redis data on store.
+ """
+ type_pattern = self._get_redis_type_pattern()
+ for k in self.redis.keys(pattern=type_pattern):
+ composite_key = k.decode('utf-8')
+ serialized_value = self.redis.get(composite_key)
+ value = self.serde.deserialize(serialized_value)
+ self.cache[composite_key] = value
+
+ def _get_redis_type_pattern(self):
+ return "*:" + self.redis_type
+
+ def _make_composite_key(self, key):
+ return key + ":" + self.redis_type
diff --git a/common/redis/mocks/__init__.py b/common/redis/mocks/__init__.py
new file mode 100644
index 0000000..5c6cb64
--- /dev/null
+++ b/common/redis/mocks/__init__.py
@@ -0,0 +1,12 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
diff --git a/common/redis/mocks/mock_redis.py b/common/redis/mocks/mock_redis.py
new file mode 100644
index 0000000..0978932
--- /dev/null
+++ b/common/redis/mocks/mock_redis.py
@@ -0,0 +1,33 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+from redis.exceptions import RedisError
+
+# For non-failure cases, just use the fakeredis module
+
+
+class MockUnavailableRedis(object):
+ """
+ MockUnavailableRedis implements a mock Redis Server that always raises
+ a connection exception
+ """
+
+ def __init__(self, host, port):
+ self.host = host
+ self.port = port
+
+ def lock(self, key):
+ raise RedisError("mock redis error")
+
+ def keys(self, pattern=".*"):
+ """ Mock keys with regex pattern matching."""
+ raise RedisError("mock redis error")
diff --git a/common/redis/serializers.py b/common/redis/serializers.py
new file mode 100644
index 0000000..d8b01e1
--- /dev/null
+++ b/common/redis/serializers.py
@@ -0,0 +1,120 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+from typing import Callable, Generic, Type, TypeVar
+
+import jsonpickle
+from orc8r.protos.redis_pb2 import RedisState
+
+T = TypeVar('T')
+
+
+class RedisSerde(Generic[T]):
+ """
+ typeval (str): str representing the type of object the serde can
+ de/serialize
+ serializer (function (T, int) -> str):
+ function called to serialize a value
+ deserializer (function (str) -> T):
+ function called to deserialize a value
+ """
+
+ def __init__(
+ self,
+ redis_type: str,
+ serializer: Callable[[T, int], str],
+ deserializer: Callable[[str], T],
+ ):
+ self.redis_type = redis_type
+ self.serializer = serializer
+ self.deserializer = deserializer
+
+ def serialize(self, msg: T, version: int = 1) -> str:
+ return self.serializer(msg, version)
+
+ def deserialize(self, serialized_obj: str) -> T:
+ return self.deserializer(serialized_obj)
+
+
+def get_proto_serializer() -> Callable[[T, int], str]:
+ """
+ Return a proto serializer that serializes the proto, adds the associated
+ version, and then serializes the RedisState proto to a string
+ """
+ def _serialize_proto(proto: T, version: int) -> str:
+ serialized_proto = proto.SerializeToString()
+ redis_state = RedisState(
+ serialized_msg=serialized_proto,
+ version=version,
+ is_garbage=False,
+ )
+ return redis_state.SerializeToString()
+ return _serialize_proto
+
+
+def get_proto_deserializer(proto_class: Type[T]) -> Callable[[str], T]:
+ """
+ Return a proto deserializer that takes in a proto type to deserialize
+ the serialized msg stored in the RedisState proto
+ """
+ def _deserialize_proto(serialized_rule: str) -> T:
+ proto_wrapper = RedisState()
+ proto_wrapper.ParseFromString(serialized_rule)
+ serialized_proto = proto_wrapper.serialized_msg
+ proto = proto_class()
+ proto.ParseFromString(serialized_proto)
+ return proto
+ return _deserialize_proto
+
+
+def get_json_serializer() -> Callable[[T, int], str]:
+ """
+ Return a json serializer that serializes the json msg, adds the
+ associated version, and then serializes the RedisState proto to a string
+ """
+ def _serialize_json(msg: T, version: int) -> str:
+ serialized_msg = jsonpickle.encode(msg)
+ redis_state = RedisState(
+ serialized_msg=serialized_msg.encode('utf-8'),
+ version=version,
+ is_garbage=False,
+ )
+ return redis_state.SerializeToString()
+
+ return _serialize_json
+
+
+def get_json_deserializer() -> Callable[[str], T]:
+ """
+ Returns a json deserializer that deserializes the RedisState proto and
+ then deserializes the json msg
+ """
+ def _deserialize_json(serialized_rule: str) -> T:
+ proto_wrapper = RedisState()
+ proto_wrapper.ParseFromString(serialized_rule)
+ serialized_msg = proto_wrapper.serialized_msg
+ msg = jsonpickle.decode(serialized_msg.decode('utf-8'))
+ return msg
+
+ return _deserialize_json
+
+
+def get_proto_version_deserializer() -> Callable[[str], T]:
+ """
+ Return a proto deserializer that takes in a proto type to deserialize
+ the version number stored in the RedisState proto
+ """
+ def _deserialize_version(serialized_rule: str) -> T:
+ proto_wrapper = RedisState()
+ proto_wrapper.ParseFromString(serialized_rule)
+ return proto_wrapper.version
+ return _deserialize_version
diff --git a/common/redis/tests/__init__.py b/common/redis/tests/__init__.py
new file mode 100644
index 0000000..5c6cb64
--- /dev/null
+++ b/common/redis/tests/__init__.py
@@ -0,0 +1,12 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
diff --git a/common/redis/tests/dict_tests.py b/common/redis/tests/dict_tests.py
new file mode 100644
index 0000000..e9508bc
--- /dev/null
+++ b/common/redis/tests/dict_tests.py
@@ -0,0 +1,179 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+from unittest import TestCase, main
+
+import fakeredis
+from common.redis.containers import RedisFlatDict, RedisHashDict
+from common.redis.serializers import (
+ RedisSerde,
+ get_proto_deserializer,
+ get_proto_serializer,
+)
+from orc8r.protos.service303_pb2 import LogVerbosity
+
+
+class RedisDictTests(TestCase):
+ """
+ Tests for the RedisHashDict and RedisFlatDict containers
+ """
+
+ def setUp(self):
+ client = fakeredis.FakeStrictRedis()
+ # Use arbitrary orc8r proto to test with
+ self._hash_dict = RedisHashDict(
+ client,
+ "unittest",
+ get_proto_serializer(),
+ get_proto_deserializer(LogVerbosity),
+ )
+
+ serde = RedisSerde(
+ 'log_verbosity',
+ get_proto_serializer(),
+ get_proto_deserializer(LogVerbosity),
+ )
+ self._flat_dict = RedisFlatDict(client, serde)
+
+ def test_hash_insert(self):
+ expected = LogVerbosity(verbosity=0)
+ expected2 = LogVerbosity(verbosity=1)
+
+ # insert proto
+ self._hash_dict['key1'] = expected
+ version = self._hash_dict.get_version("key1")
+ actual = self._hash_dict['key1']
+ self.assertEqual(1, version)
+ self.assertEqual(expected, actual)
+
+ # update proto
+ self._hash_dict['key1'] = expected2
+ version2 = self._hash_dict.get_version("key1")
+ actual2 = self._hash_dict['key1']
+ self.assertEqual(2, version2)
+ self.assertEqual(expected2, actual2)
+
+ def test_missing_version(self):
+ missing_version = self._hash_dict.get_version("key2")
+ self.assertEqual(0, missing_version)
+
+ def test_hash_delete(self):
+ expected = LogVerbosity(verbosity=2)
+ self._hash_dict['key3'] = expected
+
+ actual = self._hash_dict['key3']
+ self.assertEqual(expected, actual)
+
+ self._hash_dict.pop('key3')
+ self.assertRaises(KeyError, self._hash_dict.__getitem__, 'key3')
+
+ def test_flat_insert(self):
+ expected = LogVerbosity(verbosity=5)
+ expected2 = LogVerbosity(verbosity=1)
+
+ # insert proto
+ self._flat_dict['key1'] = expected
+ version = self._flat_dict.get_version("key1")
+ actual = self._flat_dict['key1']
+ self.assertEqual(1, version)
+ self.assertEqual(expected, actual)
+
+ # update proto
+ self._flat_dict["key1"] = expected2
+ version2 = self._flat_dict.get_version("key1")
+ actual2 = self._flat_dict["key1"]
+ actual3 = self._flat_dict.get("key1")
+ self.assertEqual(2, version2)
+ self.assertEqual(expected2, actual2)
+ self.assertEqual(expected2, actual3)
+
+ def test_flat_missing_version(self):
+ missing_version = self._flat_dict.get_version("key2")
+ self.assertEqual(0, missing_version)
+
+ def test_flat_bad_key(self):
+ expected = LogVerbosity(verbosity=2)
+ self.assertRaises(
+ ValueError, self._flat_dict.__setitem__,
+ 'bad:key', expected,
+ )
+ self.assertRaises(
+ ValueError, self._flat_dict.__getitem__,
+ 'bad:key',
+ )
+ self.assertRaises(
+ ValueError, self._flat_dict.__delitem__,
+ 'bad:key',
+ )
+
+ def test_flat_delete(self):
+ expected = LogVerbosity(verbosity=2)
+ self._flat_dict['key3'] = expected
+
+ actual = self._flat_dict['key3']
+ self.assertEqual(expected, actual)
+
+ del self._flat_dict['key3']
+ self.assertRaises(
+ KeyError, self._flat_dict.__getitem__,
+ 'key3',
+ )
+ self.assertEqual(None, self._flat_dict.get('key3'))
+
+ def test_flat_clear(self):
+ expected = LogVerbosity(verbosity=2)
+ self._flat_dict['key3'] = expected
+
+ actual = self._flat_dict['key3']
+ self.assertEqual(expected, actual)
+
+ self._flat_dict.clear()
+ self.assertEqual(0, len(self._flat_dict.keys()))
+
+ def test_flat_garbage_methods(self):
+ expected = LogVerbosity(verbosity=2)
+ expected2 = LogVerbosity(verbosity=3)
+
+ key = "k1"
+ key2 = "k2"
+ bad_key = "bad_key"
+ self._flat_dict[key] = expected
+ self._flat_dict[key2] = expected2
+
+ self._flat_dict.mark_as_garbage(key)
+ is_garbage = self._flat_dict.is_garbage(key)
+ self.assertTrue(is_garbage)
+ is_garbage2 = self._flat_dict.is_garbage(key2)
+ self.assertFalse(is_garbage2)
+
+ self.assertEqual([key], self._flat_dict.garbage_keys())
+ self.assertEqual([key2], self._flat_dict.keys())
+
+ self.assertIsNone(self._flat_dict.get(key))
+ self.assertEqual(expected2, self._flat_dict.get(key2))
+
+ deleted = self._flat_dict.delete_garbage(key)
+ not_deleted = self._flat_dict.delete_garbage(key2)
+ self.assertTrue(deleted)
+ self.assertFalse(not_deleted)
+
+ self.assertIsNone(self._flat_dict.get(key))
+ self.assertEqual(expected2, self._flat_dict.get(key2))
+
+ with self.assertRaises(KeyError):
+ self._flat_dict.is_garbage(bad_key)
+ with self.assertRaises(KeyError):
+ self._flat_dict.mark_as_garbage(bad_key)
+
+
+if __name__ == "__main__":
+ main()
diff --git a/common/rpc_utils.py b/common/rpc_utils.py
new file mode 100644
index 0000000..5fcbbf9
--- /dev/null
+++ b/common/rpc_utils.py
@@ -0,0 +1,183 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+# pylint: disable=broad-except
+
+import asyncio
+import logging
+from enum import Enum
+
+import grpc
+from google.protobuf import message as proto_message
+from google.protobuf.json_format import MessageToJson
+from common.service_registry import ServiceRegistry
+from orc8r.protos import common_pb2
+
+
+class RetryableGrpcErrorDetails(Enum):
+ """
+ Enum for gRPC retryable error detail messages
+ """
+ SOCKET_CLOSED = "Socket closed"
+ CONNECT_FAILED = "Connect Failed"
+
+
+def return_void(func):
+ """
+ Reusable decorator for returning common_pb2.Void() message.
+ """
+
+ def wrapper(*args, **kwargs):
+ func(*args, **kwargs)
+ return common_pb2.Void()
+
+ return wrapper
+
+
+def grpc_wrapper(func):
+ """
+ Wraps a function with a gRPC wrapper which creates a RPC client to
+ the service and handles any RPC Exceptions.
+
+ Usage:
+ @grpc_wrapper
+ def func(client, args):
+ pass
+ func(args, ProtoStubClass, 'service')
+ """
+
+ def wrapper(*alist):
+ args = alist[0]
+ stub_cls = alist[1]
+ service = alist[2]
+ chan = ServiceRegistry.get_rpc_channel(service, ServiceRegistry.LOCAL)
+ client = stub_cls(chan)
+ try:
+ func(client, args)
+ except grpc.RpcError as err:
+ print("Error! [%s] %s" % (err.code(), err.details()))
+ exit(1)
+
+ return wrapper
+
+
+def cloud_grpc_wrapper(func):
+ """
+ Wraps a function with a gRPC wrapper which creates a RPC client to
+ the service and handles any RPC Exceptions.
+
+ Usage:
+ @cloud_grpc_wrapper
+ def func(client, args):
+ pass
+ func(args, ProtoStubClass, 'service')
+ """
+
+ def wrapper(*alist):
+ args = alist[0]
+ stub_cls = alist[1]
+ service = alist[2]
+ chan = ServiceRegistry.get_rpc_channel(service, ServiceRegistry.CLOUD)
+ client = stub_cls(chan)
+ try:
+ func(client, args)
+ except grpc.RpcError as err:
+ print("Error! [%s] %s" % (err.code(), err.details()))
+ exit(1)
+
+ return wrapper
+
+
+def set_grpc_err(
+ context: grpc.ServicerContext,
+ code: grpc.StatusCode,
+ details: str,
+):
+ """
+ Sets status code and details for a gRPC context. Removes commas from
+ the details message (see https://github.com/grpc/grpc-node/issues/769)
+ """
+ context.set_code(code)
+ context.set_details(details.replace(',', ''))
+
+
+def _grpc_async_wrapper(f, gf):
+ try:
+ f.set_result(gf.result())
+ except Exception as e:
+ f.set_exception(e)
+
+
+def grpc_async_wrapper(gf, loop=None):
+ """
+ Wraps a GRPC result in a future that can be yielded by asyncio
+
+ Usage:
+
+ async def my_fn(param):
+ result =
+ await grpc_async_wrapper(stub.function_name.future(param, timeout))
+
+ Code taken and modified from:
+ https://github.com/grpc/grpc/wiki/Integration-with-tornado-(python)
+ """
+ f = asyncio.Future()
+ if loop is None:
+ loop = asyncio.get_event_loop()
+ gf.add_done_callback(
+ lambda _: loop.call_soon_threadsafe(_grpc_async_wrapper, f, gf),
+ )
+ return f
+
+
+def is_grpc_error_retryable(error: grpc.RpcError) -> bool:
+ status_code = error.code()
+ error_details = error.details()
+ if status_code == grpc.StatusCode.UNAVAILABLE and \
+ any(
+ err_msg.value in error_details for err_msg in
+ RetryableGrpcErrorDetails
+ ):
+ # server end closed connection.
+ return True
+ return False
+
+
+def print_grpc(
+ message: proto_message.Message, print_grpc_payload: bool,
+ message_header: str = "",
+):
+ """
+ Prints content of grpc message
+
+ Args:
+ message: grpc message to print
+ print_grpc_payload: flag to enable/disable printing of the message
+ message_header: header to print before printing grpc content
+ """
+
+ if print_grpc_payload:
+ log_msg = "{} {}".format(
+ message.DESCRIPTOR.full_name,
+ MessageToJson(message),
+ )
+ # add indentation
+ padding = 2 * ' '
+ log_msg = ''.join(
+ "{}{}".format(padding, line)
+ for line in log_msg.splitlines(True)
+ )
+ log_msg = "GRPC message:\n{}".format(log_msg)
+
+ if message_header:
+ logging.info(message_header)
+ logging.info(log_msg)
diff --git a/common/sdwatchdog.py b/common/sdwatchdog.py
new file mode 100644
index 0000000..2eb4e52
--- /dev/null
+++ b/common/sdwatchdog.py
@@ -0,0 +1,101 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+# pylint: disable=W0223
+
+import asyncio
+import logging
+import os
+import time
+from typing import List, Optional, Set, cast
+
+import systemd.daemon
+from common.job import Job
+
+
+class SDWatchdogTask(Job):
+ pass
+
+
+class SDWatchdog(object):
+ """
+ This is a task that utilizes systemd watchdog functionality.
+
+ SDWatchdog() task is started automatically in run in common/service.run(),
+ where it will look at every task in the loop to see if it is a subclass
+ of SDWatchdogTask
+
+ To enable systemd watchdog, add "WatchdogSec=60" in the [Service] section
+ of the systemd service file.
+ """
+
+ def __init__(
+ self,
+ tasks: Optional[List[SDWatchdogTask]],
+ update_status: bool = False, # update systemd status field
+ period: float = 30,
+ ) -> None:
+ """
+ coroutine that will check each task's time_last_completed_loop to
+ ensure that it was updated every in the last timeout_s seconds.
+
+ Perform check of each service every period seconds.
+ """
+
+ self.tasks = cast(Set[SDWatchdogTask], set())
+ self.update_status = update_status
+ self.period = period
+
+ if tasks:
+ for t in tasks:
+ if not issubclass(type(t), SDWatchdogTask):
+ logging.warning(
+ "'%s' is not a 'SDWatchdogTask', skipping", repr(t),
+ )
+ else:
+ self.tasks.add(t)
+
+ @staticmethod
+ def has_notify() -> bool:
+ return os.getenv("NOTIFY_SOCKET") is not None
+
+ async def run(self) -> None:
+ """
+ check tasks every self.period seconds to see if they have completed
+ a loop within the last 'timeout' seconds. If so, sd notify WATCHDOG=1
+ """
+ if not self.has_notify():
+ logging.warning("Missing 'NOTIFY_SOCKET' for SDWatchdog, skipping")
+ return
+ logging.info("Starting SDWatchdog...")
+ while True:
+ current_time = time.time()
+ anyStuck = False
+ for task in self.tasks:
+ if task.not_completed(current_time):
+ errmsg = "SDWatchdog service '%s' has not completed %s" % (
+ repr(task), time.asctime(time.gmtime(current_time)),
+ )
+ if self.update_status:
+ systemd.daemon.notify("STATUS=%s\n" % errmsg)
+ logging.info(errmsg)
+ anyStuck = True
+
+ if not anyStuck:
+ systemd.daemon.notify(
+ 'STATUS=SDWatchdog success %s\n' %
+ time.asctime(time.gmtime(current_time)),
+ )
+ systemd.daemon.notify("WATCHDOG=1")
+ systemd.daemon.notify("READY=1") # only active if Type=notify
+
+ await asyncio.sleep(self.period)
diff --git a/common/sentry.py b/common/sentry.py
new file mode 100644
index 0000000..eb433ed
--- /dev/null
+++ b/common/sentry.py
@@ -0,0 +1,49 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+import os
+
+import sentry_sdk
+import snowflake
+from configuration.service_configs import get_service_config_value
+
+CONTROL_PROXY = 'control_proxy'
+SENTRY_URL = 'sentry_url_python'
+SENTRY_SAMPLE_RATE = 'sentry_sample_rate'
+COMMIT_HASH = 'COMMIT_HASH'
+HWID = 'hwid'
+SERVICE_NAME = 'service_name'
+
+
+def sentry_init(service_name: str):
+ """Initialize connection and start piping errors to sentry.io."""
+ sentry_url = get_service_config_value(
+ CONTROL_PROXY,
+ SENTRY_URL,
+ default='',
+ )
+ if not sentry_url:
+ return
+
+ sentry_sample_rate = get_service_config_value(
+ CONTROL_PROXY,
+ SENTRY_SAMPLE_RATE,
+ default=1.0,
+ )
+ sentry_sdk.init(
+ dsn=sentry_url,
+ release=os.getenv(COMMIT_HASH),
+ traces_sample_rate=sentry_sample_rate,
+ )
+ sentry_sdk.set_tag(HWID, snowflake.snowflake())
+ sentry_sdk.set_tag(SERVICE_NAME, service_name)
diff --git a/common/serialization_utils.py b/common/serialization_utils.py
new file mode 100644
index 0000000..dc13a5c
--- /dev/null
+++ b/common/serialization_utils.py
@@ -0,0 +1,37 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+import codecs
+import os
+
+
+def write_to_file_atomically(filename, value, temp_filename=None):
+ """
+ Atomically write to a file by first writing the value to a temp file, then
+ moving that temp file to the specified file location.
+
+ This function will create all directories necessary for the file as well.
+
+ Args:
+ filename: full path to the file to write to
+ value: value to write to the file
+ temp_filename: requested path of the intermediate temp file
+ mode: mode to open the file
+ """
+ os.makedirs(os.path.dirname(filename), exist_ok=True)
+ temp_filename = temp_filename or '{}.tmp'.format(filename)
+ with codecs.open(temp_filename, 'w', encoding='utf8') as f:
+ f.write(value)
+ f.flush()
+ os.fsync(f.fileno())
+ os.replace(temp_filename, filename)
diff --git a/common/service.py b/common/service.py
new file mode 100644
index 0000000..2bcce61
--- /dev/null
+++ b/common/service.py
@@ -0,0 +1,450 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+import asyncio
+import faulthandler
+import functools
+import logging
+import os
+import signal
+import time
+from concurrent import futures
+from typing import Any, Dict, List, Optional
+
+import grpc
+import pkg_resources
+from common.log_count_handler import MsgCounterHandler
+from common.log_counter import ServiceLogErrorReporter
+from common.metrics_export import get_metrics
+from common.service_registry import ServiceRegistry
+from configuration.exceptions import LoadConfigError
+from configuration.mconfig_managers import get_mconfig_manager
+from configuration.service_configs import load_service_config
+from orc8r.protos.common_pb2 import LogLevel, Void
+from orc8r.protos.metricsd_pb2 import MetricsContainer
+from orc8r.protos.service303_pb2 import (
+ GetOperationalStatesResponse,
+ ReloadConfigResponse,
+ ServiceInfo,
+ State,
+)
+from orc8r.protos.service303_pb2_grpc import (
+ Service303Servicer,
+ Service303Stub,
+ add_Service303Servicer_to_server,
+)
+
+MAX_DEFAULT_WORKER = 10
+
+
+async def loop_exit():
+ """
+ Stop the loop in an async context
+ """
+ loop = asyncio.get_event_loop()
+ loop.stop()
+
+
+class MagmaService(Service303Servicer):
+ """
+ MagmaService provides the framework for all Magma services.
+ This class also implements the Service303 interface for external
+ entities to interact with the service.
+ """
+
+ def __init__(self, name, empty_mconfig, loop=None):
+ self._name = name
+ self._port = 0
+ self._get_status_callback = None
+ self._get_operational_states_cb = None
+ self._log_count_handler = MsgCounterHandler()
+
+ # Init logging before doing anything
+ logging.basicConfig(
+ level=logging.INFO,
+ format='[%(asctime)s %(levelname)s %(name)s] %(message)s',
+ )
+ # Add a handler to count errors
+ logging.root.addHandler(self._log_count_handler)
+
+ # Set gRPC polling strategy
+ self._set_grpc_poll_strategy()
+
+ # Load the managed config if present
+ self._mconfig = empty_mconfig
+ self._mconfig_metadata = None
+ self._mconfig_manager = get_mconfig_manager()
+ self.reload_mconfig()
+
+ self._state = ServiceInfo.STARTING
+ self._health = ServiceInfo.APP_UNHEALTHY
+ if loop is None:
+ loop = asyncio.get_event_loop()
+ self._loop = loop
+ self._start_time = int(time.time())
+ self._register_signal_handlers()
+
+ # Load the service config if present
+ self._config = None
+ self.reload_config()
+
+ # Count errors
+ self.log_counter = ServiceLogErrorReporter(
+ loop=self._loop,
+ service_config=self._config,
+ handler=self._log_count_handler,
+ )
+ self.log_counter.start()
+
+ # Operational States
+ self._operational_states = []
+
+ self._version = '0.0.0'
+ # Load the service version if available
+ try:
+ # Check if service on docker
+ if self._config and 'init_system' in self._config \
+ and self._config['init_system'] == 'docker':
+ # image comes in form of "feg_gateway_python:<IMAGE_TAG>\n"
+ # Skip the "feg_gateway_python:" part
+ image = os.popen(
+ 'docker ps --filter name=magmad --format "{{.Image}}" | '
+ 'cut -d ":" -f 2',
+ )
+ image_tag = image.read().strip('\n')
+ self._version = image_tag
+ else:
+ self._version = pkg_resources.get_distribution('orc8r').version
+ except pkg_resources.ResolutionError as e:
+ logging.info(e)
+
+ if self._config and 'grpc_workers' in self._config:
+ self._server = grpc.server(
+ futures.ThreadPoolExecutor(
+ max_workers=self._config['grpc_workers'],
+ ),
+ )
+ else:
+ self._server = grpc.server(
+ futures.ThreadPoolExecutor(max_workers=MAX_DEFAULT_WORKER),
+ )
+ add_Service303Servicer_to_server(self, self._server)
+
+ @property
+ def version(self):
+ """Return the current running version of the Magma service"""
+ return self._version
+
+ @property
+ def name(self):
+ """Return the name of service
+
+ Returns:
+ tr: name of service
+ """
+ return self._name
+
+ @property
+ def rpc_server(self):
+ """Return the RPC server used by the service"""
+ return self._server
+
+ @property
+ def port(self):
+ """Return the listening port of the service"""
+ return self._port
+
+ @property
+ def loop(self):
+ """Return the asyncio event loop used by the service"""
+ return self._loop
+
+ @property
+ def state(self):
+ """Return the state of the service"""
+ return self._state
+
+ @property
+ def config(self) -> Dict[str, Any]:
+ """Return the service config"""
+ return self._config
+
+ @property
+ def mconfig(self):
+ """Return the managed config"""
+ return self._mconfig
+
+ @property
+ def mconfig_metadata(self):
+ """Return the metadata of the managed config"""
+ return self._mconfig_metadata
+
+ @property
+ def mconfig_manager(self):
+ """Return the mconfig manager for this service"""
+ return self._mconfig_manager
+
+ def reload_config(self):
+ """Reload the local config for the service"""
+ try:
+ self._config = load_service_config(self._name)
+ self._setup_logging()
+ except LoadConfigError as e:
+ logging.warning(e)
+
+ def reload_mconfig(self):
+ """Reload the managed config for the service"""
+ try:
+ # reload mconfig manager in case feature flag for streaming changed
+ self._mconfig_manager = get_mconfig_manager()
+ self._mconfig = self._mconfig_manager.load_service_mconfig(
+ self._name,
+ self._mconfig,
+ )
+ self._mconfig_metadata = \
+ self._mconfig_manager.load_mconfig_metadata()
+ except LoadConfigError as e:
+ logging.warning(e)
+
+ def add_operational_states(self, states: List[State]):
+ """Add a list of states into the service
+
+ Args:
+ states (List[State]): [description]
+ """
+ self._operational_states.extend(states)
+
+ def run(self):
+ """
+ Start the service and runs the event loop until a term signal
+ is received or a StopService rpc call is made on the Service303
+ interface.
+ """
+ logging.info("Starting %s...", self._name)
+ (host, port) = ServiceRegistry.get_service_address(self._name)
+ self._port = self._server.add_insecure_port('{}:{}'.format(host, port))
+ logging.info("Listening on address %s:%d", host, self._port)
+ self._state = ServiceInfo.ALIVE
+ # Python services are healthy immediately when run
+ self._health = ServiceInfo.APP_HEALTHY
+ self._server.start()
+ self._loop.run_forever()
+ # Waiting for the term signal or StopService rpc call
+
+ def close(self):
+ """
+ Clean up the service before termination. This needs to be
+ called atleast once after the service has been inited.
+ """
+ self._loop.close()
+ self._server.stop(0).wait()
+
+ def register_get_status_callback(self, get_status_callback):
+ """Register function for getting status
+
+ Must return a map(string, string)
+ """
+ self._get_status_callback = get_status_callback
+
+ def register_operational_states_callback(self, get_operational_states_cb):
+ """Register the callback function that gets called on GetOperationalStates rpc
+
+ Args:
+ get_operational_states_cb ([type]): callback function
+ """
+ self._get_operational_states_cb = get_operational_states_cb
+
+ def _stop(self, reason):
+ """Stop the service gracefully"""
+ logging.info("Stopping %s with reason %s...", self._name, reason)
+ self._state = ServiceInfo.STOPPING
+ self._server.stop(0)
+
+ for pending_task in asyncio.Task.all_tasks(self._loop):
+ pending_task.cancel()
+
+ self._state = ServiceInfo.STOPPED
+ self._health = ServiceInfo.APP_UNHEALTHY
+ asyncio.ensure_future(loop_exit())
+
+ def _set_grpc_poll_strategy(self):
+ """
+ The new default 'epollex' poll strategy is causing fd leaks, leading to
+ service crashes after 1024 open fds.
+ See https://github.com/grpc/grpc/issues/15759
+ """
+ os.environ['GRPC_POLL_STRATEGY'] = 'epoll1,poll'
+
+ def _get_log_level_from_config(self) -> Optional[int]:
+ if self._config is None:
+ return None
+ log_level = self._config.get('log_level', None)
+ if log_level is None:
+ return None
+ # convert from log level string to LogLevel enum value
+ try:
+ proto_level = LogLevel.Value(log_level)
+ except ValueError:
+ logging.error(
+ 'Unknown logging level in config: %s, ignoring',
+ log_level,
+ )
+ return None
+ return proto_level
+
+ def _get_log_level_from_mconfig(self) -> Optional[int]:
+ if self._mconfig is None:
+ return None
+ return self._mconfig.log_level
+
+ def _setup_logging(self):
+ """Set up log level from config values
+
+ The config file on the AGW takes precedence over the mconfig
+ If neither config file nor mconfig has the log level config, default to INFO
+ """
+ log_level_from_config = self._get_log_level_from_config()
+ log_level_from_mconfig = self._get_log_level_from_mconfig()
+
+ if log_level_from_config is not None:
+ log_level = log_level_from_config
+ elif log_level_from_mconfig is not None:
+ log_level = log_level_from_mconfig
+ else:
+ logging.warning(
+ 'logging level is not specified in either yml config '
+ 'or mconfig, defaulting to INFO',
+ )
+ log_level = LogLevel.Value('INFO')
+ self._set_log_level(log_level)
+
+ @staticmethod
+ def _set_log_level(proto_level: int):
+ """Set log level based on proto-enum level
+
+ Args:
+ proto_level (int): proto enum defined in common.proto
+ """
+ if proto_level == LogLevel.Value('DEBUG'):
+ level = logging.DEBUG
+ elif proto_level == LogLevel.Value('INFO'):
+ level = logging.INFO
+ elif proto_level == LogLevel.Value('WARNING'):
+ level = logging.WARNING
+ elif proto_level == LogLevel.Value('ERROR'):
+ level = logging.ERROR
+ elif proto_level == LogLevel.Value('FATAL'):
+ level = logging.FATAL
+ else:
+ logging.error(
+ 'Unknown logging level: %d, defaulting to INFO',
+ proto_level,
+ )
+ level = logging.INFO
+
+ logging.info(
+ "Setting logging level to %s",
+ logging.getLevelName(level),
+ )
+ logger = logging.getLogger('')
+ logger.setLevel(level)
+
+ def _register_signal_handlers(self):
+ """Register signal handlers
+
+ Right now we just exit on SIGINT/SIGTERM/SIGQUIT
+ """
+ for signame in ['SIGINT', 'SIGTERM', 'SIGQUIT']:
+ self._loop.add_signal_handler(
+ getattr(signal, signame),
+ functools.partial(self._stop, signame),
+ )
+
+ def _signal_handler():
+ logging.info('Handling SIGHUP...')
+ faulthandler.dump_traceback()
+ self._loop.add_signal_handler(
+ signal.SIGHUP, functools.partial(_signal_handler),
+ )
+
+ def GetServiceInfo(self, request, context):
+ """Return the service info (name, version, state, meta, etc.)"""
+ service_info = ServiceInfo(
+ name=self._name,
+ version=self._version,
+ state=self._state,
+ health=self._health,
+ start_time_secs=self._start_time,
+ )
+ if self._get_status_callback is not None:
+ status = self._get_status_callback()
+ try:
+ service_info.status.meta.update(status)
+ except (TypeError, ValueError) as exp:
+ logging.error("Error getting service status: %s", exp)
+ return service_info
+
+ def StopService(self, request, context):
+ """Handle request to stop the service"""
+ logging.info("Request to stop service.")
+ self._loop.call_soon_threadsafe(self._stop, 'RPC')
+ return Void()
+
+ def GetMetrics(self, request, context):
+ """
+ Collects timeseries samples from prometheus python client on this
+ process
+ """
+ metrics = MetricsContainer()
+ metrics.family.extend(get_metrics())
+ return metrics
+
+ def SetLogLevel(self, request, context):
+ """Handle request to set the log level"""
+ self._set_log_level(request.level)
+ return Void()
+
+ def SetLogVerbosity(self, request, context):
+ pass # Not Implemented
+
+ def ReloadServiceConfig(self, request, context):
+ """Handle request to reload the service config file"""
+ self.reload_config()
+ return ReloadConfigResponse(result=ReloadConfigResponse.RELOAD_SUCCESS)
+
+ def GetOperationalStates(self, request, context):
+ """Return the operational states of devices managed by this service."""
+ res = GetOperationalStatesResponse()
+ if self._get_operational_states_cb is not None:
+ states = self._get_operational_states_cb()
+ res.states.extend(states)
+ return res
+
+
+def get_service303_client(service_name: str, location: str) \
+ -> Optional[Service303Stub]:
+ """
+ Return a grpc client attached to the given service
+ name and location.
+ Example Use: client = get_service303_client("state", ServiceRegistry.LOCAL)
+ """
+ try:
+ chan = ServiceRegistry.get_rpc_channel(
+ service_name,
+ location,
+ )
+ return Service303Stub(chan)
+ except ValueError:
+ # Service can't be contacted
+ logging.error('Failed to get RPC channel to %s', service_name)
+ return None
diff --git a/common/service_registry.py b/common/service_registry.py
new file mode 100644
index 0000000..044852f
--- /dev/null
+++ b/common/service_registry.py
@@ -0,0 +1,301 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+import logging
+import os
+
+import grpc
+from configuration.exceptions import LoadConfigError
+from configuration.service_configs import load_service_config
+
+GRPC_KEEPALIVE_MS = 30 * 1000
+
+
+class ServiceRegistry:
+ """
+ ServiceRegistry provides the framework to discover services.
+
+ ServiceRegistry takes care of service naming, and sets the connection
+ params like ip/port, TLS, certs, etc based on service level configuration.
+ """
+
+ _REGISTRY = {}
+ _PROXY_CONFIG = {}
+ _CHANNELS_CACHE = {}
+
+ LOCAL = 'local'
+ CLOUD = 'cloud'
+
+ @staticmethod
+ def get_service_address(service):
+ """
+ Returns the (host, port) tuple for the service.
+
+ Args:
+ service (string): Name of the service
+ Returns:
+ (host, port) tuple
+ Raises:
+ ValueError if the service is unknown
+ """
+ registry = ServiceRegistry.get_registry()
+ if service not in registry["services"]:
+ raise ValueError("Invalid service name: %s" % service)
+ service_conf = registry["services"][service]
+ return service_conf["ip_address"], service_conf["port"]
+
+ @staticmethod
+ def add_service(name, ip_address, port):
+ """
+ Adds a service to the registry.
+
+ Args:
+ name (string): Service name
+ ip_address (string): ip address string
+ port (int): service port
+ """
+ registry = ServiceRegistry.get_registry()
+ service = {"ip_address": ip_address, "port": port}
+ registry["services"][name] = service
+
+ @staticmethod
+ def list_services():
+ """
+ Returns the list of services in the registry.
+
+ Returns:
+ list of services
+ """
+ return ServiceRegistry.get_registry()["services"]
+
+ @staticmethod
+ def reset():
+ """
+ Removes all the entries in the registry
+ """
+ ServiceRegistry.get_registry()["services"] = {}
+
+ @staticmethod
+ def get_bootstrap_rpc_channel():
+ """
+ Returns a RPC channel to the bootstrap service in CLOUD.
+ Returns:
+ grpc channel
+ """
+ proxy_config = ServiceRegistry.get_proxy_config()
+ (ip, port) = (
+ proxy_config['bootstrap_address'],
+ proxy_config['bootstrap_port'],
+ )
+ authority = proxy_config['bootstrap_address']
+
+ try:
+ rootca = open(proxy_config['rootca_cert'], 'rb').read()
+ except FileNotFoundError as exp:
+ raise ValueError("SSL cert not found: %s" % exp)
+
+ ssl_creds = grpc.ssl_channel_credentials(rootca)
+ return create_grpc_channel(ip, port, authority, ssl_creds)
+
+ @staticmethod
+ def get_rpc_channel(
+ service, destination, proxy_cloud_connections=True,
+ grpc_options=None,
+ ):
+ """
+ Returns a RPC channel to the service. The connection params
+ are obtained from the service registry and used.
+ TBD: pool connections to a service and reuse them. Right
+ now each call creates a new TCP/SSL/HTTP2 connection.
+
+ Args:
+ service (string): Name of the service
+ destination (string): ServiceRegistry.LOCAL or ServiceRegistry.CLOUD
+ proxy_cloud_connections (bool): Override to connect direct to cloud
+ grpc_options (list): list of gRPC options params for the channel
+ Returns:
+ grpc channel
+ Raises:
+ ValueError if the service is unknown
+ """
+ proxy_config = ServiceRegistry.get_proxy_config()
+
+ # Control proxy uses the :authority: HTTP header to route to services.
+ if destination == ServiceRegistry.LOCAL:
+ authority = '%s.local' % (service)
+ else:
+ authority = '%s-%s' % (service, proxy_config['cloud_address'])
+
+ should_use_proxy = proxy_config['proxy_cloud_connections'] and \
+ proxy_cloud_connections
+
+ # If speaking to a local service or to the proxy, the grpc channel
+ # can be reused. If speaking to the cloud directly, the client cert
+ # could become stale after the next bootstrapper run.
+ should_reuse_channel = should_use_proxy or \
+ (destination == ServiceRegistry.LOCAL)
+ if should_reuse_channel:
+ channel = ServiceRegistry._CHANNELS_CACHE.get(authority, None)
+ if channel is not None:
+ return channel
+
+ if grpc_options is None:
+ grpc_options = [
+ ("grpc.keepalive_time_ms", GRPC_KEEPALIVE_MS),
+ ]
+ # We need to figure out the ip and port to connnect, if we need to use
+ # SSL and the authority to use.
+ if destination == ServiceRegistry.LOCAL:
+ # Connect to the local service directly
+ (ip, port) = ServiceRegistry.get_service_address(service)
+ channel = create_grpc_channel(
+ ip, port, authority,
+ options=grpc_options,
+ )
+ elif should_use_proxy:
+ # Connect to the cloud via local control proxy
+ try:
+ (ip, unused_port) = ServiceRegistry.get_service_address(
+ "control_proxy",
+ )
+ port = proxy_config['local_port']
+ except ValueError as err:
+ logging.error(err)
+ (ip, port) = ('127.0.0.1', proxy_config['local_port'])
+ channel = create_grpc_channel(
+ ip, port, authority,
+ options=grpc_options,
+ )
+ else:
+ # Connect to the cloud directly
+ ip = proxy_config['cloud_address']
+ port = proxy_config['cloud_port']
+ ssl_creds = get_ssl_creds()
+ channel = create_grpc_channel(
+ ip, port, authority, ssl_creds,
+ options=grpc_options,
+ )
+ if should_reuse_channel:
+ ServiceRegistry._CHANNELS_CACHE[authority] = channel
+ return channel
+
+ @staticmethod
+ def get_registry():
+ """
+ Returns _REGISTRY which holds the contents from the
+ config/service/service_registry.yml file. Its a static member and the
+ .yml file is loaded only once.
+ """
+ if not ServiceRegistry._REGISTRY:
+ try:
+ ServiceRegistry._REGISTRY = load_service_config(
+ "service_registry",
+ )
+ except LoadConfigError as err:
+ logging.error(err)
+ ServiceRegistry._REGISTRY = {"services": {}}
+ return ServiceRegistry._REGISTRY
+
+ @staticmethod
+ def get_proxy_config():
+ """
+ Returns the control proxy config. The config file is loaded only
+ once and cached.
+ """
+ if not ServiceRegistry._PROXY_CONFIG:
+ try:
+ ServiceRegistry._PROXY_CONFIG = load_service_config(
+ 'control_proxy',
+ )
+ except LoadConfigError as err:
+ logging.error(err)
+ ServiceRegistry._PROXY_CONFIG = {
+ 'proxy_cloud_connections': True,
+ }
+ return ServiceRegistry._PROXY_CONFIG
+
+
+def set_grpc_cipher_suites():
+ """
+ Set the cipher suites to be used for the gRPC TLS connection.
+ TODO (praveenr) t19265877: Update nghttpx in the cloud to recent version
+ and delete this. The current nghttpx version doesn't support the
+ ciphers needed by default for gRPC.
+ """
+ os.environ["GRPC_SSL_CIPHER_SUITES"] = "ECDHE-ECDSA-AES256-GCM-SHA384:"\
+ "ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:"\
+ "ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:"\
+ "ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:"\
+ "ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:"\
+ "ECDHE-RSA-AES128-SHA256"
+
+
+def get_ssl_creds():
+ """
+ Get the SSL credentials to use to communicate securely.
+ We use client side TLS auth, with the cert and keys
+ obtained during bootstrapping of the gateway.
+
+ Returns:
+ gRPC ssl creds
+ Raises:
+ ValueError if the cert or key filename in the
+ control proxy config is incorrect.
+ """
+ proxy_config = ServiceRegistry.get_proxy_config()
+ try:
+ with open(proxy_config['rootca_cert'], 'rb') as rootca_f:
+ with open(proxy_config['gateway_cert'], encoding="utf-8") as cert_f:
+ with open(proxy_config['gateway_key'], encoding="utf-8") as key_f:
+ rootca = rootca_f.read()
+ cert = cert_f.read().encode()
+ key = key_f.read().encode()
+ ssl_creds = grpc.ssl_channel_credentials(
+ root_certificates=rootca,
+ certificate_chain=cert,
+ private_key=key,
+ )
+ except FileNotFoundError as exp:
+ raise ValueError("SSL cert not found: %s" % exp)
+ return ssl_creds
+
+
+def create_grpc_channel(ip, port, authority, ssl_creds=None, options=None):
+ """
+ Helper function to create a grpc channel.
+
+ Args:
+ ip: IP address of the remote endpoint
+ port: port of the remote endpoint
+ authority: HTTP header that control proxy uses for routing
+ ssl_creds: Enables SSL
+ options: configuration options for gRPC channel
+ Returns:
+ grpc channel
+ """
+ grpc_options = [('grpc.default_authority', authority)]
+ if options is not None:
+ grpc_options.extend(options)
+ if ssl_creds is not None:
+ set_grpc_cipher_suites()
+ channel = grpc.secure_channel(
+ target='%s:%s' % (ip, port),
+ credentials=ssl_creds,
+ options=grpc_options,
+ )
+ else:
+ channel = grpc.insecure_channel(
+ target='%s:%s' % (ip, port),
+ options=grpc_options,
+ )
+ return channel
diff --git a/common/stateless_agw.py b/common/stateless_agw.py
new file mode 100644
index 0000000..fb24924
--- /dev/null
+++ b/common/stateless_agw.py
@@ -0,0 +1,93 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+import logging
+import subprocess
+
+from configuration.service_configs import (
+ load_override_config,
+ load_service_config,
+ save_override_config,
+)
+from orc8r.protos import magmad_pb2
+
+STATELESS_SERVICE_CONFIGS = [
+ ("mme", "use_stateless", True),
+ ("mobilityd", "persist_to_redis", True),
+ ("pipelined", "clean_restart", False),
+ ("pipelined", "redis_enabled", True),
+ ("sessiond", "support_stateless", True),
+]
+
+
+def check_stateless_agw():
+ num_stateful = 0
+ for service, config, value in STATELESS_SERVICE_CONFIGS:
+ if (
+ _check_stateless_service_config(service, config, value)
+ == magmad_pb2.CheckStatelessResponse.STATEFUL
+ ):
+ num_stateful += 1
+
+ if num_stateful == 0:
+ res = magmad_pb2.CheckStatelessResponse.STATELESS
+ elif num_stateful == len(STATELESS_SERVICE_CONFIGS):
+ res = magmad_pb2.CheckStatelessResponse.STATEFUL
+ else:
+ res = magmad_pb2.CheckStatelessResponse.CORRUPT
+
+ logging.debug(
+ "Check returning %s", magmad_pb2.CheckStatelessResponse.AGWMode.Name(
+ res,
+ ),
+ )
+ return res
+
+
+def enable_stateless_agw():
+ if check_stateless_agw() == magmad_pb2.CheckStatelessResponse.STATELESS:
+ logging.info("Nothing to enable, AGW is stateless")
+ for service, config, value in STATELESS_SERVICE_CONFIGS:
+ cfg = load_override_config(service) or {}
+ cfg[config] = value
+ save_override_config(service, cfg)
+
+ # restart Sctpd so that eNB connections are reset and local state cleared
+ _restart_sctpd()
+
+
+def disable_stateless_agw():
+ if check_stateless_agw() == magmad_pb2.CheckStatelessResponse.STATEFUL:
+ logging.info("Nothing to disable, AGW is stateful")
+ for service, config, value in STATELESS_SERVICE_CONFIGS:
+ cfg = load_override_config(service) or {}
+ cfg[config] = not value
+ save_override_config(service, cfg)
+
+ # restart Sctpd so that eNB connections are reset and local state cleared
+ _restart_sctpd()
+
+
+def _check_stateless_service_config(service, config_name, config_value):
+ service_config = load_service_config(service)
+ if service_config.get(config_name) == config_value:
+ logging.info("STATELESS\t%s -> %s", service, config_name)
+ return magmad_pb2.CheckStatelessResponse.STATELESS
+
+ logging.info("STATEFUL\t%s -> %s", service, config_name)
+ return magmad_pb2.CheckStatelessResponse.STATEFUL
+
+
+def _restart_sctpd():
+ logging.info("Restarting sctpd")
+ subprocess.call("service sctpd restart".split())
diff --git a/common/streamer.py b/common/streamer.py
new file mode 100644
index 0000000..01632d3
--- /dev/null
+++ b/common/streamer.py
@@ -0,0 +1,192 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+import abc
+import logging
+import threading
+import time
+from typing import Any, List
+
+import grpc
+import snowflake
+from google.protobuf import any_pb2
+from common import serialization_utils
+from common.metrics import STREAMER_RESPONSES
+from common.service_registry import ServiceRegistry
+from configuration.service_configs import get_service_config_value
+from orc8r.protos.streamer_pb2 import DataUpdate, StreamRequest
+from orc8r.protos.streamer_pb2_grpc import StreamerStub
+
+
+class StreamerClient(threading.Thread):
+ """
+ StreamerClient provides an interface to communicate with the Streamer
+ service in the cloud to get updates for a stream.
+
+ The StreamerClient spawns a thread which listens to updates and
+ schedules a callback in the asyncio event loop when an update
+ is received from the cloud.
+
+ If the connection to the cloud gets terminated, the StreamerClient
+ would retry (TBD: with exponential backoff) to connect back to the cloud.
+ """
+
+ class Callback:
+
+ @abc.abstractmethod
+ def get_request_args(self, stream_name: str) -> Any:
+ """
+ This is called before every stream request to collect any extra
+ arguments to send up to the cloud streamer service.
+
+ Args:
+ stream_name:
+ Name of the stream that the request arg will be sent to
+
+ Returns: A protobuf message
+ """
+ pass
+
+ @abc.abstractmethod
+ def process_update(
+ self, stream_name: str, updates: List[DataUpdate],
+ resync: bool,
+ ):
+ """
+ Called when we get an update from the cloud. This method will
+ be called in the event loop provided to the StreamerClient.
+
+ Args:
+ stream_name: Name of the stream
+ updates: Array of updates
+ resync: if true, the application can clear the
+ contents before applying the updates
+ """
+ raise NotImplementedError()
+
+ def __init__(self, stream_callbacks, loop):
+ """
+ Args:
+ stream_callbacks ({string: Callback}): Mapping of stream names to
+ callbacks to subscribe to.
+ loop: asyncio event loop to schedule the callback
+ """
+ threading.Thread.__init__(self)
+ self._stream_callbacks = stream_callbacks
+ self._loop = loop
+ # Set this thread as daemon thread. We can kill this background
+ # thread abruptly since we handle all updates (and database
+ # transactions) in the asyncio event loop.
+ self.daemon = True
+
+ # Don't allow stream update rate faster than every 5 seconds
+ self._reconnect_pause = get_service_config_value(
+ 'streamer', 'reconnect_sec', 60,
+ )
+ self._reconnect_pause = max(5, self._reconnect_pause)
+ logging.info("Streamer reconnect pause: %d", self._reconnect_pause)
+ self._stream_timeout = get_service_config_value(
+ 'streamer', 'stream_timeout', 150,
+ )
+ logging.info("Streamer timeout: %d", self._stream_timeout)
+
+ def run(self):
+ while True:
+ try:
+ channel = ServiceRegistry.get_rpc_channel(
+ 'streamer', ServiceRegistry.CLOUD,
+ )
+ client = StreamerStub(channel)
+ self.process_all_streams(client)
+ except Exception as exp: # pylint: disable=broad-except
+ logging.error("Error with streamer: %s", exp)
+
+ # If the connection is terminated, wait for a period of time
+ # before connecting back to the cloud.
+ # TODO: make this more intelligent (exponential backoffs, etc.)
+ time.sleep(self._reconnect_pause)
+
+ def process_all_streams(self, client):
+ for stream_name, callback in self._stream_callbacks.items():
+ try:
+ self.process_stream_updates(client, stream_name, callback)
+
+ STREAMER_RESPONSES.labels(result='Success').inc()
+ except grpc.RpcError as err:
+ logging.error(
+ "Error! Streaming from the cloud failed! [%s] %s",
+ err.code(), err.details(),
+ )
+ STREAMER_RESPONSES.labels(result='RpcError').inc()
+ except ValueError as err:
+ logging.error("Error! Streaming from cloud failed! %s", err)
+ STREAMER_RESPONSES.labels(result='ValueError').inc()
+
+ def process_stream_updates(self, client, stream_name, callback):
+ extra_args = self._get_extra_args_any(callback, stream_name)
+ request = StreamRequest(
+ gatewayId=snowflake.snowflake(),
+ stream_name=stream_name,
+ extra_args=extra_args,
+ )
+ for update_batch in client.GetUpdates(
+ request, timeout=self._stream_timeout,
+ ):
+ self._loop.call_soon_threadsafe(
+ callback.process_update,
+ stream_name,
+ update_batch.updates,
+ update_batch.resync,
+ )
+
+ @staticmethod
+ def _get_extra_args_any(callback, stream_name):
+ extra_args = callback.get_request_args(stream_name)
+ if extra_args is None:
+ return None
+ else:
+ extra_any = any_pb2.Any()
+ extra_any.Pack(extra_args)
+ return extra_any
+
+
+def get_stream_serialize_filename(stream_name):
+ return '/var/opt/magma/streams/{}'.format(stream_name)
+
+
+class SerializingStreamCallback(StreamerClient.Callback):
+ """
+ Streamer client callback which decodes stream update as a string and writes
+ it to a file, overwriting the previous contents of that file. The file
+ location is defined by get_stream_serialize_filename.
+
+ This callback will only save the newest update, with each successive update
+ overwriting the previous.
+ """
+
+ def get_request_args(self, stream_name: str) -> Any:
+ return None
+
+ def process_update(self, stream_name, updates, resync):
+ if not updates:
+ return
+ # For now, we only care about the last (newest) update
+ for update in updates[:-1]:
+ logging.info('Ignoring update %s', update.key)
+
+ logging.info('Serializing stream update %s', updates[-1].key)
+ filename = get_stream_serialize_filename(stream_name)
+ serialization_utils.write_to_file_atomically(
+ filename,
+ updates[-1].value.decode(),
+ )
diff --git a/common/tests/cert_utils_tests.py b/common/tests/cert_utils_tests.py
new file mode 100644
index 0000000..6563ff9
--- /dev/null
+++ b/common/tests/cert_utils_tests.py
@@ -0,0 +1,109 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+import base64
+import datetime
+import os
+from tempfile import TemporaryDirectory
+from unittest import TestCase
+
+import magma.common.cert_utils as cu
+from cryptography import x509
+from cryptography.hazmat.backends import default_backend
+from cryptography.hazmat.primitives import hashes, serialization
+from cryptography.hazmat.primitives.asymmetric import ec
+
+
+class CertUtilsTest(TestCase):
+ def test_key(self):
+ with TemporaryDirectory(prefix='/tmp/test_cert_utils') as temp_dir:
+ key = ec.generate_private_key(ec.SECP384R1(), default_backend())
+ cu.write_key(key, os.path.join(temp_dir, 'test.key'))
+ key_load = cu.load_key(os.path.join(temp_dir, 'test.key'))
+
+ key_bytes = key.private_bytes(
+ serialization.Encoding.PEM,
+ serialization.PrivateFormat.TraditionalOpenSSL,
+ serialization.NoEncryption(),
+ )
+ key_load_bytes = key_load.private_bytes(
+ serialization.Encoding.PEM,
+ serialization.PrivateFormat.TraditionalOpenSSL,
+ serialization.NoEncryption(),
+ )
+ self.assertEqual(key_bytes, key_load_bytes)
+
+ def load_public_key_to_base64der(self):
+ with TemporaryDirectory(prefix='/tmp/test_cert_utils') as temp_dir:
+ key = ec.generate_private_key(ec.SECP384R1(), default_backend())
+ cu.write_key(key, os.path.join(temp_dir, 'test.key'))
+ base64der = cu.load_public_key_to_base64der(
+ os.path.join(temp_dir, 'test.key'),
+ )
+ der = base64.b64decode(base64der)
+ pub_key = serialization.load_der_public_key(der, default_backend())
+ self.assertEqual(pub_key, key.public_key())
+
+ def test_csr(self):
+ key = ec.generate_private_key(ec.SECP384R1(), default_backend())
+ csr = cu.create_csr(
+ key, 'i am dummy test',
+ 'US', 'CA', 'MPK', 'FB', 'magma', 'magma@fb.com',
+ )
+ self.assertTrue(csr.is_signature_valid)
+ public_key_bytes = key.public_key().public_bytes(
+ serialization.Encoding.OpenSSH,
+ serialization.PublicFormat.OpenSSH,
+ )
+ csr_public_key_bytes = csr.public_key().public_bytes(
+ serialization.Encoding.OpenSSH,
+ serialization.PublicFormat.OpenSSH,
+ )
+ self.assertEqual(public_key_bytes, csr_public_key_bytes)
+
+ def test_cert(self):
+ with TemporaryDirectory(prefix='/tmp/test_cert_utils') as temp_dir:
+ cert = _create_dummy_cert()
+ cert_file = os.path.join(temp_dir, 'test.cert')
+ cu.write_cert(
+ cert.public_bytes(
+ serialization.Encoding.DER,
+ ), cert_file,
+ )
+ cert_load = cu.load_cert(cert_file)
+ self.assertEqual(cert, cert_load)
+
+
+def _create_dummy_cert():
+ key = ec.generate_private_key(ec.SECP384R1(), default_backend())
+ subject = issuer = x509.Name([
+ x509.NameAttribute(x509.oid.NameOID.COUNTRY_NAME, u"US"),
+ x509.NameAttribute(x509.oid.NameOID.STATE_OR_PROVINCE_NAME, u"CA"),
+ x509.NameAttribute(x509.oid.NameOID.LOCALITY_NAME, u"San Francisco"),
+ x509.NameAttribute(x509.oid.NameOID.ORGANIZATION_NAME, u"My Company"),
+ x509.NameAttribute(x509.oid.NameOID.COMMON_NAME, u"mysite.com"),
+ ])
+ cert = x509.CertificateBuilder().subject_name(
+ subject,
+ ).issuer_name(
+ issuer,
+ ).public_key(
+ key.public_key(),
+ ).serial_number(
+ x509.random_serial_number(),
+ ).not_valid_before(
+ datetime.datetime.utcnow(),
+ ).not_valid_after(
+ datetime.datetime.utcnow() + datetime.timedelta(days=10),
+ ).sign(key, hashes.SHA256(), default_backend())
+ return cert
diff --git a/common/tests/cert_validity_tests.py b/common/tests/cert_validity_tests.py
new file mode 100644
index 0000000..8ce67dc
--- /dev/null
+++ b/common/tests/cert_validity_tests.py
@@ -0,0 +1,285 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+import asyncio
+import errno
+import ssl
+from unittest import TestCase
+from unittest.mock import MagicMock, patch
+
+import magma.common.cert_validity as cv
+
+
+# https://stackoverflow.com/questions/32480108/mocking-async-call-in-python-3-5
+def AsyncMock():
+ coro = MagicMock(name="CoroutineResult")
+ corofunc = MagicMock(
+ name="CoroutineFunction",
+ side_effect=asyncio.coroutine(coro),
+ )
+ corofunc.coro = coro
+ return corofunc
+
+
+class CertValidityTests(TestCase):
+ def setUp(self):
+ self.host = 'localhost'
+ self.port = 8080
+ self.certfile = 'certfile'
+ self.keyfile = 'keyfile'
+
+ asyncio.set_event_loop(None)
+ self.loop = asyncio.new_event_loop()
+
+ def test_tcp_connection(self):
+ """
+ Test that loop.create_connection called with the correct TCP args.
+ """
+ self.loop.create_connection = MagicMock()
+
+ @asyncio.coroutine
+ def go():
+ yield from cv.create_tcp_connection(
+ self.host,
+ self.port,
+ self.loop,
+ )
+ self.loop.run_until_complete(go())
+
+ self.loop.create_connection.assert_called_once_with(
+ cv.TCPClientProtocol,
+ self.host,
+ self.port,
+ )
+
+ @patch('magma.common.cert_validity.ssl.SSLContext')
+ def test_ssl_connection(self, mock_ssl):
+ """
+ Test that ssl.SSLContext and loop.create_connection are called with the
+ correct SSL args.
+ """
+ self.loop.create_connection = MagicMock()
+
+ @asyncio.coroutine
+ def go():
+ yield from cv.create_ssl_connection(
+ self.host,
+ self.port,
+ self.certfile,
+ self.keyfile,
+ self.loop,
+ )
+ self.loop.run_until_complete(go())
+
+ mock_context = mock_ssl.return_value
+
+ mock_ssl.assert_called_once_with(ssl.PROTOCOL_SSLv23)
+ mock_context.load_cert_chain.assert_called_once_with(
+ self.certfile,
+ keyfile=self.keyfile,
+ )
+
+ self.loop.create_connection.assert_called_once_with(
+ cv.TCPClientProtocol,
+ self.host,
+ self.port,
+ ssl=mock_context,
+ )
+
+ @patch(
+ 'magma.common.cert_validity.create_ssl_connection',
+ new_callable=AsyncMock,
+ )
+ @patch(
+ 'magma.common.cert_validity.create_tcp_connection',
+ new_callable=AsyncMock,
+ )
+ def test_cert_is_invalid_both_ok(self, mock_create_tcp, mock_create_ssl):
+ """
+ Test the appropriate calls and return value for cert_is_invalid()
+ cert_is_invalid() == False when TCP and SSL succeed
+ """
+
+ @asyncio.coroutine
+ def go():
+ return (
+ yield from cv.cert_is_invalid(
+ self.host,
+ self.port,
+ self.certfile,
+ self.keyfile,
+ self.loop,
+ )
+ )
+ ret_val = self.loop.run_until_complete(go())
+
+ mock_create_tcp.assert_called_once_with(
+ self.host,
+ self.port,
+ self.loop,
+ )
+ mock_create_ssl.assert_called_once_with(
+ self.host,
+ self.port,
+ self.certfile,
+ self.keyfile,
+ self.loop,
+ )
+ self.assertEqual(ret_val, False)
+
+ @patch(
+ 'magma.common.cert_validity.create_ssl_connection',
+ new_callable=AsyncMock,
+ )
+ @patch('magma.common.cert_validity.create_tcp_connection', AsyncMock())
+ def test_cert_is_invalid_ssl_fail(self, mock_create_ssl):
+ """
+ Test cert_is_invalid() == True when TCP succeeds and SSL fails
+ """
+
+ mock_err = TimeoutError()
+ mock_err.errno = errno.ETIMEDOUT
+ mock_create_ssl.coro.side_effect = mock_err
+
+ @asyncio.coroutine
+ def go():
+ return (
+ yield from cv.cert_is_invalid(
+ self.host,
+ self.port,
+ self.certfile,
+ self.keyfile,
+ self.loop,
+ )
+ )
+ ret_val = self.loop.run_until_complete(go())
+ self.assertEqual(ret_val, True)
+
+ @patch(
+ 'magma.common.cert_validity.create_ssl_connection',
+ new_callable=AsyncMock,
+ )
+ @patch('magma.common.cert_validity.create_tcp_connection', AsyncMock())
+ def test_cert_is_invalid_ssl_fail_none_errno(self, mock_create_ssl):
+ """
+ Test cert_is_invalid() == True when TCP succeeds and SSL fails w/o error number
+ """
+
+ mock_err = TimeoutError()
+ mock_err.errno = None
+ mock_create_ssl.coro.side_effect = mock_err
+
+ @asyncio.coroutine
+ def go():
+ return (
+ yield from cv.cert_is_invalid(
+ self.host,
+ self.port,
+ self.certfile,
+ self.keyfile,
+ self.loop,
+ )
+ )
+ ret_val = self.loop.run_until_complete(go())
+ self.assertEqual(ret_val, True)
+
+ @patch('magma.common.cert_validity.create_ssl_connection', AsyncMock())
+ @patch(
+ 'magma.common.cert_validity.create_tcp_connection',
+ new_callable=AsyncMock,
+ )
+ def test_cert_is_invalid_tcp_fail_none_errno(self, mock_create_tcp):
+ """
+ Test cert_is_invalid() == False when TCP fails w/o errno and SSL succeeds
+ """
+
+ mock_err = TimeoutError()
+ mock_err.errno = None
+ mock_create_tcp.coro.side_effect = mock_err
+
+ @asyncio.coroutine
+ def go():
+ return (
+ yield from cv.cert_is_invalid(
+ self.host,
+ self.port,
+ self.certfile,
+ self.keyfile,
+ self.loop,
+ )
+ )
+ ret_val = self.loop.run_until_complete(go())
+ self.assertEqual(ret_val, False)
+
+ @patch('magma.common.cert_validity.create_ssl_connection', AsyncMock())
+ @patch(
+ 'magma.common.cert_validity.create_tcp_connection',
+ new_callable=AsyncMock,
+ )
+ def test_cert_is_invalid_tcp_fail(self, mock_create_tcp):
+ """
+ Test cert_is_invalid() == False when TCP fails and SSL succeeds
+ """
+
+ mock_err = TimeoutError()
+ mock_err.errno = errno.ETIMEDOUT
+ mock_create_tcp.coro.side_effect = mock_err
+
+ @asyncio.coroutine
+ def go():
+ return (
+ yield from cv.cert_is_invalid(
+ self.host,
+ self.port,
+ self.certfile,
+ self.keyfile,
+ self.loop,
+ )
+ )
+ ret_val = self.loop.run_until_complete(go())
+ self.assertEqual(ret_val, False)
+
+ @patch(
+ 'magma.common.cert_validity.create_ssl_connection',
+ new_callable=AsyncMock,
+ )
+ @patch(
+ 'magma.common.cert_validity.create_tcp_connection',
+ new_callable=AsyncMock,
+ )
+ def test_cert_is_invalid_both_fail(self, mock_create_tcp, mock_create_ssl):
+ """
+ Test cert_is_invalid() == False when TCP and SSL fail
+ """
+
+ mock_tcp_err = TimeoutError()
+ mock_tcp_err.errno = errno.ETIMEDOUT
+ mock_create_tcp.coro.side_effect = mock_tcp_err
+
+ mock_ssl_err = TimeoutError()
+ mock_ssl_err.errno = errno.ETIMEDOUT
+ mock_create_ssl.coro.side_effect = mock_ssl_err
+
+ @asyncio.coroutine
+ def go():
+ return (
+ yield from cv.cert_is_invalid(
+ self.host,
+ self.port,
+ self.certfile,
+ self.keyfile,
+ self.loop,
+ )
+ )
+ ret_val = self.loop.run_until_complete(go())
+ self.assertEqual(ret_val, False)
diff --git a/common/tests/metrics_tests.py b/common/tests/metrics_tests.py
new file mode 100644
index 0000000..f48f2f8
--- /dev/null
+++ b/common/tests/metrics_tests.py
@@ -0,0 +1,241 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+import unittest
+import unittest.mock
+
+import metrics_pb2
+from common import metrics_export
+from orc8r.protos import metricsd_pb2
+from prometheus_client import (
+ CollectorRegistry,
+ Counter,
+ Gauge,
+ Histogram,
+ Summary,
+)
+
+
+class Service303MetricTests(unittest.TestCase):
+ """
+ Tests for the Service303 metrics interface
+ """
+
+ def setUp(self):
+ self.registry = CollectorRegistry()
+ self.maxDiff = None
+
+ def test_counter(self):
+ """Test that we can track counters in Service303"""
+ # Add a counter with a label to the regisry
+ c = Counter(
+ 'process_max_fds', 'A counter', ['result'],
+ registry=self.registry,
+ )
+
+ # Create two series for value1 and value2
+ c.labels('success').inc(1.23)
+ c.labels('failure').inc(2.34)
+
+ # Build proto outputs
+ counter1 = metrics_pb2.Counter(value=1.23)
+ counter2 = metrics_pb2.Counter(value=2.34)
+ metric1 = metrics_pb2.Metric(
+ counter=counter1,
+ timestamp_ms=1234000,
+ )
+ metric2 = metrics_pb2.Metric(
+ counter=counter2,
+ timestamp_ms=1234000,
+ )
+ family = metrics_pb2.MetricFamily(
+ name=str(metricsd_pb2.process_max_fds),
+ type=metrics_pb2.COUNTER,
+ )
+ metric1.label.add(
+ name=str(metricsd_pb2.result),
+ value='success',
+ )
+ metric2.label.add(
+ name=str(metricsd_pb2.result),
+ value='failure',
+ )
+ family.metric.extend([metric1, metric2])
+
+ with unittest.mock.patch('time.time') as mock_time:
+ mock_time.side_effect = lambda: 1234
+ self.assertCountEqual(
+ list(metrics_export.get_metrics(self.registry))[0].metric,
+ family.metric,
+ )
+
+ def test_gauge(self):
+ """Test that we can track gauges in Service303"""
+ # Add a gauge with a label to the regisry
+ c = Gauge(
+ 'process_max_fds', 'A gauge', ['result'],
+ registry=self.registry,
+ )
+
+ # Create two series for value1 and value2
+ c.labels('success').inc(1.23)
+ c.labels('failure').inc(2.34)
+
+ # Build proto outputs
+ gauge1 = metrics_pb2.Gauge(value=1.23)
+ gauge2 = metrics_pb2.Gauge(value=2.34)
+ metric1 = metrics_pb2.Metric(
+ gauge=gauge1,
+ timestamp_ms=1234000,
+ )
+ metric2 = metrics_pb2.Metric(
+ gauge=gauge2,
+ timestamp_ms=1234000,
+ )
+ family = metrics_pb2.MetricFamily(
+ name=str(metricsd_pb2.process_max_fds),
+ type=metrics_pb2.GAUGE,
+ )
+ metric1.label.add(
+ name=str(metricsd_pb2.result),
+ value='success',
+ )
+ metric2.label.add(
+ name=str(metricsd_pb2.result),
+ value='failure',
+ )
+ family.metric.extend([metric1, metric2])
+
+ with unittest.mock.patch('time.time') as mock_time:
+ mock_time.side_effect = lambda: 1234
+ self.assertCountEqual(
+ list(metrics_export.get_metrics(self.registry))[0].metric,
+ family.metric,
+ )
+
+ def test_summary(self):
+ """Test that we can track summaries in Service303"""
+ # Add a summary with a label to the regisry
+ c = Summary(
+ 'process_max_fds', 'A summary', [
+ 'result',
+ ], registry=self.registry,
+ )
+ c.labels('success').observe(1.23)
+ c.labels('failure').observe(2.34)
+
+ # Build proto outputs
+ summary1 = metrics_pb2.Summary(sample_count=1, sample_sum=1.23)
+ summary2 = metrics_pb2.Summary(sample_count=1, sample_sum=2.34)
+ metric1 = metrics_pb2.Metric(
+ summary=summary1,
+ timestamp_ms=1234000,
+ )
+ metric2 = metrics_pb2.Metric(
+ summary=summary2,
+ timestamp_ms=1234000,
+ )
+ family = metrics_pb2.MetricFamily(
+ name=str(metricsd_pb2.process_max_fds),
+ type=metrics_pb2.SUMMARY,
+ )
+ metric1.label.add(
+ name=str(metricsd_pb2.result),
+ value='success',
+ )
+ metric2.label.add(
+ name=str(metricsd_pb2.result),
+ value='failure',
+ )
+ family.metric.extend([metric1, metric2])
+
+ with unittest.mock.patch('time.time') as mock_time:
+ mock_time.side_effect = lambda: 1234
+ self.assertCountEqual(
+ list(metrics_export.get_metrics(self.registry))[0].metric,
+ family.metric,
+ )
+
+ def test_histogram(self):
+ """Test that we can track histogram in Service303"""
+ # Add a histogram with a label to the regisry
+ c = Histogram(
+ 'process_max_fds', 'A summary', ['result'],
+ registry=self.registry, buckets=[0, 2, float('inf')],
+ )
+ c.labels('success').observe(1.23)
+ c.labels('failure').observe(2.34)
+
+ # Build proto outputs
+ histogram1 = metrics_pb2.Histogram(sample_count=1, sample_sum=1.23)
+ histogram1.bucket.add(upper_bound=0, cumulative_count=0)
+ histogram1.bucket.add(upper_bound=2, cumulative_count=1)
+ histogram1.bucket.add(upper_bound=float('inf'), cumulative_count=1)
+ histogram2 = metrics_pb2.Histogram(sample_count=1, sample_sum=2.34)
+ histogram2.bucket.add(upper_bound=0, cumulative_count=0)
+ histogram2.bucket.add(upper_bound=2, cumulative_count=0)
+ histogram2.bucket.add(upper_bound=float('inf'), cumulative_count=1)
+ metric1 = metrics_pb2.Metric(
+ histogram=histogram1,
+ timestamp_ms=1234000,
+ )
+ metric2 = metrics_pb2.Metric(
+ histogram=histogram2,
+ timestamp_ms=1234000,
+ )
+ family = metrics_pb2.MetricFamily(
+ name=str(metricsd_pb2.process_max_fds),
+ type=metrics_pb2.HISTOGRAM,
+ )
+ metric1.label.add(
+ name=str(metricsd_pb2.result),
+ value='success',
+ )
+ metric2.label.add(
+ name=str(metricsd_pb2.result),
+ value='failure',
+ )
+ family.metric.extend([metric1, metric2])
+
+ with unittest.mock.patch('time.time') as mock_time:
+ mock_time.side_effect = lambda: 1234
+ self.assertCountEqual(
+ list(metrics_export.get_metrics(self.registry))[0].metric,
+ family.metric,
+ )
+
+ def test_converted_enums(self):
+ """ Test that metric names and labels are auto converted """
+ # enum values (from metricsd.proto):
+ # mme_new_association => 500, result => 0
+ c = Counter(
+ 'mme_new_association', 'A counter', ['result'],
+ registry=self.registry,
+ )
+
+ c.labels('success').inc(1.23)
+
+ metric_family = list(metrics_export.get_metrics(self.registry))[0]
+
+ self.assertEqual(
+ metric_family.name,
+ str(metricsd_pb2.mme_new_association),
+ )
+ metric_labels = metric_family.metric[0].label
+ # Order not guaranteed=
+ self.assertEqual(metric_labels[0].name, str(metricsd_pb2.result))
+ self.assertEqual(metric_labels[0].value, 'success')
+
+
+if __name__ == "__main__":
+ unittest.main()
diff --git a/common/tests/service303_tests.py b/common/tests/service303_tests.py
new file mode 100644
index 0000000..49175e4
--- /dev/null
+++ b/common/tests/service303_tests.py
@@ -0,0 +1,90 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+import asyncio
+from unittest import TestCase, main, mock
+
+from common.service import MagmaService
+from common.service_registry import ServiceRegistry
+from orc8r.protos.common_pb2 import Void
+from orc8r.protos.mconfig import mconfigs_pb2
+from orc8r.protos.service303_pb2 import ServiceInfo
+from orc8r.protos.service303_pb2_grpc import Service303Stub
+
+
+class Service303Tests(TestCase):
+ """
+ Tests for the MagmaService and the Service303 interface
+ """
+
+ @mock.patch('time.time', mock.MagicMock(return_value=12345))
+ def setUp(self):
+ ServiceRegistry.add_service('test', '0.0.0.0', 0)
+ self._stub = None
+
+ self._loop = asyncio.new_event_loop()
+ # Use a new event loop to ensure isolated tests
+ self._service = MagmaService(
+ name='test',
+ empty_mconfig=mconfigs_pb2.MagmaD(),
+ loop=self._loop,
+ )
+ asyncio.set_event_loop(self._service.loop)
+
+ @mock.patch(
+ 'magma.common.service_registry.ServiceRegistry.get_proxy_config',
+ )
+ def test_service_run(self, mock_get_proxy_config):
+ """
+ Test if the service starts and stops gracefully.
+ """
+
+ self.assertEqual(self._service.state, ServiceInfo.STARTING)
+
+ mock_get_proxy_config.return_value = {
+ 'cloud_address': '127.0.0.1',
+ 'proxy_cloud_connections': True,
+ }
+
+ # Start the service and pause the loop
+ self._service.loop.stop()
+ self._service.run()
+ asyncio.set_event_loop(self._service.loop)
+ self._service.log_counter._periodic_task.cancel()
+ self.assertEqual(self._service.state, ServiceInfo.ALIVE)
+
+ # Create a rpc stub and query the Service303 interface
+ ServiceRegistry.add_service('test', '0.0.0.0', self._service.port)
+ channel = ServiceRegistry.get_rpc_channel(
+ 'test',
+ ServiceRegistry.LOCAL,
+ )
+ self._stub = Service303Stub(channel)
+
+ info = ServiceInfo(
+ name='test',
+ version='0.0.0',
+ state=ServiceInfo.ALIVE,
+ health=ServiceInfo.APP_HEALTHY,
+ start_time_secs=12345,
+ )
+ self.assertEqual(self._stub.GetServiceInfo(Void()), info)
+
+ # Stop the service
+ self._stub.StopService(Void())
+ self._service.loop.run_forever()
+ self.assertEqual(self._service.state, ServiceInfo.STOPPED)
+
+
+if __name__ == "__main__":
+ main()
diff --git a/configuration/__init__.py b/configuration/__init__.py
new file mode 100644
index 0000000..b78acae
--- /dev/null
+++ b/configuration/__init__.py
@@ -0,0 +1,15 @@
+import importlib
+import logging
+
+from configuration.exceptions import LoadConfigError
+from configuration.service_configs import load_service_config
+
+# Import all mconfig-providing modules so for the protobuf symbol database
+try:
+ mconfig_modules = load_service_config('magmad').get('mconfig_modules', [])
+ for mod in mconfig_modules:
+ logging.info('Importing mconfig module %s', mod)
+ importlib.import_module(mod)
+except LoadConfigError:
+ logging.error('Could not load magmad yml config for mconfig modules')
+ importlib.import_module('orc8r.protos.mconfig.mconfigs_pb2')
diff --git a/configuration/environment.py b/configuration/environment.py
new file mode 100644
index 0000000..c2b6722
--- /dev/null
+++ b/configuration/environment.py
@@ -0,0 +1,28 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+import os
+
+
+def is_dev_mode() -> bool:
+ """
+ Returns whether the environment is set for dev mode
+ """
+ return os.environ.get('MAGMA_DEV_MODE') == '1'
+
+
+def is_docker_network_mode() -> bool:
+ """
+ Returns whether the environment is set for dev mode
+ """
+ return os.environ.get('DOCKER_NETWORK_MODE') == '1'
diff --git a/configuration/events.py b/configuration/events.py
new file mode 100644
index 0000000..308f1be
--- /dev/null
+++ b/configuration/events.py
@@ -0,0 +1,38 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+import snowflake
+from eventd.eventd_client import log_event
+from orc8r.protos.eventd_pb2 import Event
+
+
+def deleted_stored_mconfig():
+ log_event(
+ Event(
+ stream_name="magmad",
+ event_type="deleted_stored_mconfig",
+ tag=snowflake.snowflake(),
+ value="{}",
+ ),
+ )
+
+
+def updated_stored_mconfig():
+ log_event(
+ Event(
+ stream_name="magmad",
+ event_type="updated_stored_mconfig",
+ tag=snowflake.snowflake(),
+ value="{}",
+ ),
+ )
diff --git a/configuration/exceptions.py b/configuration/exceptions.py
new file mode 100644
index 0000000..79a8907
--- /dev/null
+++ b/configuration/exceptions.py
@@ -0,0 +1,16 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+
+class LoadConfigError(Exception):
+ pass
diff --git a/configuration/mconfig_managers.py b/configuration/mconfig_managers.py
new file mode 100644
index 0000000..bd39c4c
--- /dev/null
+++ b/configuration/mconfig_managers.py
@@ -0,0 +1,235 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+import abc
+import contextlib
+import json
+import os
+from typing import Any, Generic, TypeVar
+
+import configuration.events as magma_configuration_events
+from google.protobuf import json_format
+from common import serialization_utils
+from configuration.exceptions import LoadConfigError
+from configuration.mconfigs import (
+ filter_configs_by_key,
+ unpack_mconfig_any,
+)
+from orc8r.protos.mconfig_pb2 import GatewayConfigs, GatewayConfigsMetadata
+
+T = TypeVar('T')
+
+MCONFIG_DIR = './magma_configs'
+MCONFIG_OVERRIDE_DIR = './override_configs'
+DEFAULT_MCONFIG_DIR = os.environ.get('MAGMA_CONFIG_LOCATION', MCONFIG_DIR)
+
+
+def get_mconfig_manager():
+ """
+ Get the mconfig manager implementation that the system is configured to
+ use.
+
+ Returns: MconfigManager implementation
+ """
+ # This is stubbed out after deleting the streamed mconfig manager
+ return MconfigManagerImpl()
+
+
+def load_service_mconfig(service: str, mconfig_struct: Any) -> Any:
+ """
+ Utility function to load the mconfig for a specific service using the
+ configured mconfig manager.
+ """
+ return get_mconfig_manager().load_service_mconfig(service, mconfig_struct)
+
+
+def load_service_mconfig_as_json(service_name: str) -> Any:
+ """
+ Loads the managed configuration from its json file stored on disk.
+
+ Args:
+ service_name (str): name of the service to load the config for
+
+ Returns: Loaded config value for the service as parsed json struct, not
+ protobuf message struct
+ """
+ return get_mconfig_manager().load_service_mconfig_as_json(service_name)
+
+
+class MconfigManager(Generic[T]):
+ """
+ Interface for a class which handles loading and updating some cloud-
+ managed configuration (mconfig).
+ """
+
+ @abc.abstractmethod
+ def load_mconfig(self) -> T:
+ """
+ Load the managed configuration from its stored location.
+
+ Returns: Loaded mconfig
+ """
+ pass
+
+ @abc.abstractmethod
+ def load_service_mconfig(
+ self, service_name: str,
+ mconfig_struct: Any,
+ ) -> Any:
+ """
+ Load a specific service's managed configuration.
+
+ Args:
+ service_name (str): name of the service to load a config for
+ mconfig_struct (Any): protobuf message struct of the managed config
+ for the service
+
+ Returns: Loaded config value for the service
+ """
+ pass
+
+ @abc.abstractmethod
+ def load_mconfig_metadata(self) -> GatewayConfigsMetadata:
+ """
+ Load the metadata of the managed configuration.
+
+ Returns: Loaded mconfig metadata
+ """
+ pass
+
+ @abc.abstractmethod
+ def update_stored_mconfig(self, updated_value: str):
+ """
+ Update the stored mconfig to the provided serialized value
+
+ Args:
+ updated_value: Serialized value of new mconfig value to store
+ """
+ pass
+
+ @abc.abstractmethod
+ def deserialize_mconfig(
+ self, serialized_value: str,
+ allow_unknown_fields: bool = True,
+ ) -> T:
+ """
+ Deserialize the given string to the managed mconfig.
+
+ Args:
+ serialized_value:
+ Serialized value of a managed mconfig
+ allow_unknown_fields:
+ Set to true to suppress errors from parsing unknown fields
+
+ Returns: deserialized mconfig value
+ """
+ pass
+
+ @abc.abstractmethod
+ def delete_stored_mconfig(self):
+ """
+ Delete the stored mconfig file.
+ """
+ pass
+
+
+class MconfigManagerImpl(MconfigManager[GatewayConfigs]):
+ """
+ Legacy mconfig manager for non-offset mconfigs
+ """
+
+ MCONFIG_FILE_NAME = 'gateway.mconfig'
+ MCONFIG_PATH = os.path.join(MCONFIG_OVERRIDE_DIR, MCONFIG_FILE_NAME)
+
+ def load_mconfig(self) -> GatewayConfigs:
+ cfg_file_name = self._get_mconfig_file_path()
+ try:
+ with open(cfg_file_name, 'r', encoding='utf-8') as cfg_file:
+ mconfig_str = cfg_file.read()
+ return self.deserialize_mconfig(mconfig_str)
+ except (OSError, json.JSONDecodeError, json_format.ParseError) as e:
+ raise LoadConfigError('Error loading mconfig') from e
+
+ def load_service_mconfig(
+ self, service_name: str,
+ mconfig_struct: Any,
+ ) -> Any:
+ mconfig = self.load_mconfig()
+ if service_name not in mconfig.configs_by_key:
+ raise LoadConfigError(
+ "Service ({}) missing in mconfig".format(service_name),
+ )
+
+ service_mconfig = mconfig.configs_by_key[service_name]
+ return unpack_mconfig_any(service_mconfig, mconfig_struct)
+
+ def load_service_mconfig_as_json(self, service_name) -> Any:
+ cfg_file_name = self._get_mconfig_file_path()
+ with open(cfg_file_name, 'r', encoding='utf-8') as f:
+ json_mconfig = json.load(f)
+ service_configs = json_mconfig.get('configsByKey', {})
+ service_configs.update(json_mconfig.get('configs_by_key', {}))
+ if service_name not in service_configs:
+ raise LoadConfigError(
+ "Service ({}) missing in mconfig".format(service_name),
+ )
+
+ return service_configs[service_name]
+
+ def load_mconfig_metadata(self) -> GatewayConfigsMetadata:
+ mconfig = self.load_mconfig()
+ return mconfig.metadata
+
+ def deserialize_mconfig(
+ self, serialized_value: str,
+ allow_unknown_fields: bool = True,
+ ) -> GatewayConfigs:
+ # First parse as JSON in case there are types unrecognized by
+ # protobuf symbol database
+ json_mconfig = json.loads(serialized_value)
+ cfgs_by_key_json = json_mconfig.get('configs_by_key', {})
+ cfgs_by_key_json.update(json_mconfig.get('configsByKey', {}))
+ filtered_cfgs_by_key = filter_configs_by_key(cfgs_by_key_json)
+
+ # Set configs to filtered map, re-dump and parse
+ if 'configs_by_key' in json_mconfig:
+ json_mconfig.pop('configs_by_key')
+ json_mconfig['configsByKey'] = filtered_cfgs_by_key
+ json_mconfig_dumped = json.dumps(json_mconfig)
+
+ # Workaround for outdated protobuf library on sandcastle
+ if allow_unknown_fields:
+ return json_format.Parse(
+ json_mconfig_dumped,
+ GatewayConfigs(),
+ ignore_unknown_fields=True,
+ )
+ else:
+ return json_format.Parse(json_mconfig_dumped, GatewayConfigs())
+
+ def delete_stored_mconfig(self):
+ with contextlib.suppress(FileNotFoundError):
+ os.remove(self.MCONFIG_PATH)
+ magma_configuration_events.deleted_stored_mconfig()
+
+ def update_stored_mconfig(self, updated_value: str) -> GatewayConfigs:
+ parsed = json.loads(updated_value)
+ serialization_utils.write_to_file_atomically(
+ self.MCONFIG_PATH, json.dumps(parsed, indent=4, sort_keys=True),
+ )
+ magma_configuration_events.updated_stored_mconfig()
+
+ def _get_mconfig_file_path(self):
+ if os.path.isfile(self.MCONFIG_PATH):
+ return self.MCONFIG_PATH
+ else:
+ return os.path.join(DEFAULT_MCONFIG_DIR, self.MCONFIG_FILE_NAME)
diff --git a/configuration/mconfigs.py b/configuration/mconfigs.py
new file mode 100644
index 0000000..88862b5
--- /dev/null
+++ b/configuration/mconfigs.py
@@ -0,0 +1,65 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+from typing import Any as TAny
+from typing import Dict
+
+from google.protobuf.internal.well_known_types import Any
+from configuration import service_configs
+from configuration.exceptions import LoadConfigError
+
+
+def filter_configs_by_key(configs_by_key: Dict[str, TAny]) -> Dict[str, TAny]:
+ """
+ Given a JSON-deserialized map of mconfig protobuf Any's keyed by service
+ name, filter out any entires without a corresponding service or which have
+ values that aren't registered in the protobuf symbol database yet.
+
+ Args:
+ configs_by_key:
+ JSON-deserialized service mconfigs keyed by service name
+
+ Returns:
+ The input map without any services which currently don't exist.
+ """
+ magmad_cfg = service_configs.load_service_config('magmad')
+ services = magmad_cfg.get('magma_services', [])
+ services.append('magmad')
+ services += magmad_cfg.get('registered_dynamic_services', [])
+ services = set(services)
+
+ filtered_configs_by_key = {}
+ for srv, cfg in configs_by_key.items():
+ if srv not in services:
+ continue
+ filtered_configs_by_key[srv] = cfg
+ return filtered_configs_by_key
+
+
+def unpack_mconfig_any(mconfig_any: Any, mconfig_struct: TAny) -> TAny:
+ """
+ Unpack a protobuf Any type into a given an empty protobuf message struct
+ for a service.
+
+ Args:
+ mconfig_any: protobuf Any type to unpack
+ mconfig_struct: protobuf message struct
+
+ Returns: Concrete protobuf object that the provided Any wraps
+ """
+ unpacked = mconfig_any.Unpack(mconfig_struct)
+ if not unpacked:
+ raise LoadConfigError(
+ 'Cannot unpack Any type into message: %s' % mconfig_struct,
+ )
+ return mconfig_struct
diff --git a/configuration/service_configs.py b/configuration/service_configs.py
new file mode 100644
index 0000000..c60c340
--- /dev/null
+++ b/configuration/service_configs.py
@@ -0,0 +1,152 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+import logging
+import os
+from typing import Optional # noqa: lint doesn't handle inline typehints
+from typing import Any, Dict
+
+import yaml
+from configuration.exceptions import LoadConfigError
+
+# Location of configs (both service config and mconfig)
+CONFIG_DIR = './magma_configs'
+CONFIG_OVERRIDE_DIR = './override_configs'
+
+
+def load_override_config(service_name: str) -> Optional[Any]:
+ """
+ Load override service configuration from the file in the override
+ directory.
+
+ Args:
+ service_name: service to pull configs for; name of config file
+
+ Returns: json-decoded value of the service config, None if it's not found
+
+ Raises:
+ LoadConfigError:
+ Unable to load config due to missing file or missing key
+ """
+ override_file_name = _override_file_name(service_name)
+ if os.path.isfile(override_file_name):
+ return _load_yaml_file(override_file_name)
+ return None
+
+
+def save_override_config(service_name: str, cfg: Any):
+ """
+ Write the configuration object to its corresponding file in the override
+ directory.
+
+ Args:
+ service_name: service to write config object to; name of config file
+ cfg: json-decoded value of the service config
+ """
+ override_file_name = _override_file_name(service_name)
+ os.makedirs(CONFIG_OVERRIDE_DIR, exist_ok=True)
+ with open(override_file_name, 'w', encoding='utf-8') as override_file:
+ yaml.dump(cfg, override_file, default_flow_style=False)
+
+
+def load_service_config(service_name: str) -> Any:
+ """
+ Load service configuration from file. Also check override directory,
+ and, if service file present there, override the values.
+
+ Args:
+ service_name: service to pull configs for; name of config file
+
+ Returns: json-decoded value of the service config
+
+ Raises:
+ LoadConfigError:
+ Unable to load config due to missing file or missing key
+ """
+ print(CONFIG_DIR, service_name)
+ cfg_file_name = os.path.join(CONFIG_DIR, '%s.yml' % service_name)
+ cfg = _load_yaml_file(cfg_file_name)
+
+ overrides = load_override_config(service_name)
+ if overrides is not None:
+ # Update the keys in the config if they are present in the override
+ cfg.update(overrides)
+ return cfg
+
+
+cached_service_configs = {} # type: Dict[str, Any]
+
+
+def get_service_config_value(service: str, param: str, default: Any) -> Any:
+ """
+ Get a config value for :service:, falling back to a :default: value.
+
+ Log error if the default config is returned.
+
+ Args:
+ service: name of service to get config for
+ param: config key to fetch the value for
+ default: default value to return on failure
+
+ Returns:
+ value of :param: in the config files for :service:
+ """
+ service_configs = cached_service_configs.get(service)
+ try:
+ service_configs = service_configs or load_service_config(service)
+ except LoadConfigError as e:
+ logging.error('Error retrieving config: %s', e)
+ return default
+
+ # Handle empty file
+ if not service_configs:
+ logging.error('Error retrieving config, file empty for: %s', service)
+ return default
+
+ cached_service_configs[service] = service_configs
+
+ config_value = service_configs.get(param)
+ if config_value is not None:
+ return config_value
+ else:
+ logging.error(
+ 'Error retrieving config for %s, key not found: %s',
+ service, param,
+ )
+ return default
+
+
+def _override_file_name(service_name: str) -> str:
+ return os.path.join(CONFIG_OVERRIDE_DIR, '%s.yml' % service_name)
+
+
+def _load_yaml_file(file_name: str) -> Any:
+ """
+ Load the yaml file and returns the python object.
+
+ Args:
+ file_name: name of the .yml file
+
+ Returns:
+ Contents of the yml file deserialized into a Python object
+
+ Raises:
+ LoadConfigError: on error
+ """
+
+ try:
+ with open(file_name, 'r', encoding='utf-8') as stream:
+ data = yaml.safe_load(stream)
+ return data
+ except (OSError, yaml.YAMLError) as e:
+ raise LoadConfigError('Error loading yml config') from e
diff --git a/configuration/tests/__init__.py b/configuration/tests/__init__.py
new file mode 100644
index 0000000..5c6cb64
--- /dev/null
+++ b/configuration/tests/__init__.py
@@ -0,0 +1,12 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
diff --git a/configuration/tests/mconfig_manager_impl_tests.py b/configuration/tests/mconfig_manager_impl_tests.py
new file mode 100644
index 0000000..4be0adc
--- /dev/null
+++ b/configuration/tests/mconfig_manager_impl_tests.py
@@ -0,0 +1,63 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+import unittest
+from unittest import mock
+
+from google.protobuf import any_pb2
+from google.protobuf.json_format import MessageToJson
+from configuration import mconfig_managers
+from configuration.exceptions import LoadConfigError
+from orc8r.protos.mconfig import mconfigs_pb2
+
+
+class MconfigManagerImplTest(unittest.TestCase):
+ @mock.patch('magma.configuration.service_configs.load_service_config')
+ def test_load_mconfig(self, get_service_config_value_mock):
+ # Fixture mconfig has 1 unrecognized service, 1 unregistered type
+ magmad_fixture = mconfigs_pb2.MagmaD(
+ checkin_interval=10,
+ checkin_timeout=5,
+ autoupgrade_enabled=True,
+ autoupgrade_poll_interval=300,
+ package_version='1.0.0-0',
+ images=[],
+ tier_id='default',
+ feature_flags={'flag1': False},
+ )
+ magmad_fixture_any = any_pb2.Any()
+ magmad_fixture_any.Pack(magmad_fixture)
+ magmad_fixture_serialized = MessageToJson(magmad_fixture_any)
+ fixture = '''
+ {
+ "configs_by_key": {
+ "magmad": %s,
+ "foo": {
+ "@type": "type.googleapis.com/magma.mconfig.NotAType",
+ "value": "test1"
+ },
+ "not_a_service": {
+ "@type": "type.googleapis.com/magma.mconfig.MagmaD",
+ "value": "test2"
+ }
+ }
+ }
+ ''' % magmad_fixture_serialized
+ get_service_config_value_mock.return_value = {
+ 'magma_services': ['foo'],
+ }
+
+ with mock.patch('builtins.open', mock.mock_open(read_data=fixture)):
+ manager = mconfig_managers.MconfigManagerImpl()
+ with self.assertRaises(LoadConfigError):
+ manager.load_mconfig()
diff --git a/configuration/tests/mconfigs_tests.py b/configuration/tests/mconfigs_tests.py
new file mode 100644
index 0000000..be8ae0f
--- /dev/null
+++ b/configuration/tests/mconfigs_tests.py
@@ -0,0 +1,103 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+import unittest
+from unittest import mock
+
+from google.protobuf.any_pb2 import Any
+from configuration import mconfigs
+from orc8r.protos.mconfig import mconfigs_pb2
+
+
+class MconfigsTest(unittest.TestCase):
+
+ @mock.patch('magma.configuration.service_configs.load_service_config')
+ def test_filter_configs_by_key(self, load_service_config_mock):
+ # All services present, but 1 type not
+ configs_by_key = {
+ 'magmad': {
+ '@type': 'type.googleapis.com/magma.mconfig.MagmaD',
+ 'value': 'world'.encode(),
+ },
+ 'directoryd': {
+ '@type': 'type.googleapis.com/magma.mconfig.DirectoryD',
+ 'value': 'hello'.encode(),
+ },
+ 'foo': {
+ '@type': 'type.googleapis.com/magma.mconfig.Foo',
+ 'value': 'test'.encode(),
+ },
+ }
+
+ # Directoryd not present
+ load_service_config_mock.return_value = {
+ 'magma_services': ['mme', 'foo'],
+ }
+ actual = mconfigs.filter_configs_by_key(configs_by_key)
+ expected = {
+ 'magmad': configs_by_key['magmad'],
+ 'foo': configs_by_key['foo'],
+ }
+ self.assertEqual(expected, actual)
+
+ # No services present
+ load_service_config_mock.return_value = {
+ 'magma_services': [],
+ }
+ actual = mconfigs.filter_configs_by_key(configs_by_key)
+ expected = {'magmad': configs_by_key['magmad']}
+ self.assertEqual(expected, actual)
+
+ # Directoryd service present as a dynamic service
+ load_service_config_mock.return_value = {
+ 'magma_services': [],
+ 'registered_dynamic_services': ['directoryd'],
+ }
+ actual = mconfigs.filter_configs_by_key(configs_by_key)
+ expected = {
+ 'magmad': configs_by_key['magmad'],
+ 'directoryd': configs_by_key['directoryd'],
+ }
+ self.assertEqual(expected, actual)
+
+ def test_unpack_mconfig_any(self):
+ magmad_mconfig = mconfigs_pb2.MagmaD(
+ checkin_interval=10,
+ checkin_timeout=5,
+ autoupgrade_enabled=True,
+ autoupgrade_poll_interval=300,
+ package_version='1.0.0-0',
+ images=[],
+ tier_id='default',
+ feature_flags={'flag1': False},
+ )
+ magmad_any = Any(
+ type_url='type.googleapis.com/magma.mconfig.MagmaD',
+ value=magmad_mconfig.SerializeToString(),
+ )
+ actual = mconfigs.unpack_mconfig_any(magmad_any, mconfigs_pb2.MagmaD())
+ self.assertEqual(magmad_mconfig, actual)
+
+ def test_unpack_mconfig_directoryd(self):
+ directoryd_mconfig = mconfigs_pb2.DirectoryD(
+ log_level=5,
+ )
+ magmad_any = Any(
+ type_url='type.googleapis.com/magma.mconfig.DirectoryD',
+ value=directoryd_mconfig.SerializeToString(),
+ )
+
+ actual = mconfigs.unpack_mconfig_any(
+ magmad_any, mconfigs_pb2.DirectoryD(),
+ )
+ self.assertEqual(directoryd_mconfig, actual)
diff --git a/data_models/__init__.py b/data_models/__init__.py
new file mode 100644
index 0000000..5c6cb64
--- /dev/null
+++ b/data_models/__init__.py
@@ -0,0 +1,12 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
diff --git a/data_models/data_model.py b/data_models/data_model.py
new file mode 100644
index 0000000..0c8ba27
--- /dev/null
+++ b/data_models/data_model.py
@@ -0,0 +1,271 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+from abc import ABC, abstractmethod
+from collections import namedtuple
+from typing import Any, Callable, Dict, List, Optional
+
+from data_models.data_model_parameters import ParameterName
+
+TrParam = namedtuple('TrParam', ['path', 'is_invasive', 'type', 'is_optional'])
+
+# We may want to model nodes in the datamodel that are derived from other fields
+# in the datamodel and thus maynot have a representation in tr69.
+# e.g PTP_STATUS in FreedomFiOne is True iff GPS is in sync and SyncStatus is
+# True.
+# Explicitly map these params to invalid paths so setters and getters know they
+# should not try to read or write these nodes on the eNB side.
+InvalidTrParamPath = "INVALID_TR_PATH"
+
+
+class DataModel(ABC):
+ """
+ Class to represent relevant data model parameters.
+
+ Also should contain transform functions for certain parameters that are
+ represented differently in the eNodeB device than it is in Magma.
+
+ Subclass this for each data model implementation.
+
+ This class is effectively read-only.
+ """
+
+ def __init__(self):
+ self._presence_by_param = {}
+
+ def are_param_presences_known(self) -> bool:
+ """
+ True if all optional parameters' presence are known in data model
+ """
+ optional_params = self.get_names_of_optional_params()
+ for param in optional_params:
+ if param not in self._presence_by_param:
+ return False
+ return True
+
+ def is_parameter_present(self, param_name: ParameterName) -> bool:
+ """ Is the parameter missing from the device's data model """
+ param_info = self.get_parameter(param_name)
+ if param_info is None:
+ return False
+ if not param_info.is_optional:
+ return True
+ if param_name not in self._presence_by_param:
+ raise KeyError(
+ 'Parameter presence not yet marked in data '
+ 'model: %s' % param_name,
+ )
+ return self._presence_by_param[param_name]
+
+ def set_parameter_presence(
+ self,
+ param_name: ParameterName,
+ is_present: bool,
+ ) -> None:
+ """ Mark optional parameter as either missing or not """
+ self._presence_by_param[param_name] = is_present
+
+ def get_missing_params(self) -> List[ParameterName]:
+ """
+ Return optional params confirmed to be missing from data model.
+ NOTE: Make sure we already know which parameters are present or not
+ """
+ all_missing = []
+ for param in self.get_names_of_optional_params():
+ if self.is_parameter_present(param):
+ all_missing.append(param)
+ return all_missing
+
+ def get_present_params(self) -> List[ParameterName]:
+ """
+ Return optional params confirmed to be present in data model.
+ NOTE: Make sure we already know which parameters are present or not
+ """
+ all_optional = self.get_names_of_optional_params()
+ all_present = self.get_parameter_names()
+ for param in all_optional:
+ if not self.is_parameter_present(param):
+ all_present.remove(param)
+ return all_present
+
+ @classmethod
+ def get_names_of_optional_params(cls) -> List[ParameterName]:
+ all_optional_params = []
+ for name in cls.get_parameter_names():
+ if cls.get_parameter(name).is_optional:
+ all_optional_params.append(name)
+ return all_optional_params
+
+ @classmethod
+ def transform_for_magma(
+ cls,
+ param_name: ParameterName,
+ enb_value: Any,
+ ) -> Any:
+ """
+ Convert a parameter from its device specific formatting to the
+ consistent format that magma understands.
+ For the same parameter, different data models have their own
+ idiosyncrasies. For this reason, it's important to nominalize these
+ values before processing them in Magma code.
+
+ Args:
+ param_name: The parameter name
+ enb_value: Native value of the parameter
+
+ Returns:
+ Returns the nominal value of the parameter that is understood
+ by Magma code.
+ """
+ transforms = cls._get_magma_transforms()
+ if param_name in transforms:
+ transform_function = transforms[param_name]
+ return transform_function(enb_value)
+ return enb_value
+
+ @classmethod
+ def transform_for_enb(
+ cls,
+ param_name: ParameterName,
+ magma_value: Any,
+ ) -> Any:
+ """
+ Convert a parameter from the format that Magma understands to
+ the device specific formatting.
+ For the same parameter, different data models have their own
+ idiosyncrasies. For this reason, it's important to nominalize these
+ values before processing them in Magma code.
+
+ Args:
+ param_name: The parameter name. The transform is dependent on the
+ exact parameter.
+ magma_value: Nominal value of the parameter.
+
+ Returns:
+ Returns the native value of the parameter that will be set in the
+ CPE data model configuration.
+ """
+ transforms = cls._get_enb_transforms()
+ if param_name in transforms:
+ transform_function = transforms[param_name]
+ return transform_function(magma_value)
+ return magma_value
+
+ @classmethod
+ def get_parameter_name_from_path(
+ cls,
+ param_path: str,
+ ) -> Optional[ParameterName]:
+ """
+ Args:
+ param_path: Parameter path,
+ eg. "Device.DeviceInfo.X_BAICELLS_COM_GPS_Status"
+ Returns:
+ ParameterName or None if there is no ParameterName matching
+ """
+ all_param_names = cls.get_parameter_names()
+ numbered_param_names = cls.get_numbered_param_names()
+ for _obj_name, param_name_list in numbered_param_names.items():
+ all_param_names = all_param_names + param_name_list
+
+ for param_name in all_param_names:
+ param_info = cls.get_parameter(param_name)
+ if param_info is not None and param_path == param_info.path:
+ return param_name
+ return None
+
+ @classmethod
+ @abstractmethod
+ def get_parameter(cls, param_name: ParameterName) -> Optional[TrParam]:
+ """
+ Args:
+ param_name: String of the parameter name
+
+ Returns:
+ TrParam or None if it doesn't exist
+ """
+ pass
+
+ @classmethod
+ @abstractmethod
+ def _get_magma_transforms(
+ cls,
+ ) -> Dict[ParameterName, Callable[[Any], Any]]:
+ """
+ For the same parameter, different data models have their own
+ idiosyncrasies. For this reason, it's important to nominalize these
+ values before processing them in Magma code.
+
+ Returns:
+ Dictionary with key of parameter name, and value of a transform
+ function taking the device-specific value of the parameter and
+ returning the value in format understood by Magma.
+ """
+ pass
+
+ @classmethod
+ @abstractmethod
+ def _get_enb_transforms(
+ cls,
+ ) -> Dict[ParameterName, Callable[[Any], Any]]:
+ """
+ For the same parameter, different data models have their own
+ idiosyncrasies. For this reason, it's important to nominalize these
+ values before processing them in Magma code.
+
+ Returns:
+ Dictionary with key of parameter name, and value of a transform
+ function taking the nominal value of the parameter and returning
+ the device-understood value.
+ """
+ pass
+
+ @classmethod
+ @abstractmethod
+ def get_load_parameters(cls) -> List[ParameterName]:
+ """
+ Returns:
+ List of all parameters to query when reading eNodeB state
+ """
+ pass
+
+ @classmethod
+ @abstractmethod
+ def get_num_plmns(cls) -> int:
+ """
+ Returns:
+ The number of PLMNs in the configuration.
+ """
+ pass
+
+ @classmethod
+ @abstractmethod
+ def get_parameter_names(cls) -> List[ParameterName]:
+ """
+ Returns:
+ A list of all parameter names that are neither numbered objects,
+ or belonging to numbered objects
+ """
+ pass
+
+ @classmethod
+ @abstractmethod
+ def get_numbered_param_names(
+ cls,
+ ) -> Dict[ParameterName, List[ParameterName]]:
+ """
+ Returns:
+ A key for all parameters that are numbered objects, and the value
+ is the list of parameters that belong to that numbered object
+ """
+ pass
diff --git a/data_models/data_model_parameters.py b/data_models/data_model_parameters.py
new file mode 100644
index 0000000..27df4d9
--- /dev/null
+++ b/data_models/data_model_parameters.py
@@ -0,0 +1,94 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+
+class ParameterName():
+ # Top-level objects
+ DEVICE = 'Device'
+ FAP_SERVICE = 'FAPService'
+
+ # Device info parameters
+ GPS_STATUS = 'GPS status'
+ PTP_STATUS = 'PTP status'
+ MME_STATUS = 'MME status'
+ REM_STATUS = 'REM status'
+
+ LOCAL_GATEWAY_ENABLE = 'Local gateway enable'
+ GPS_ENABLE = 'GPS enable'
+ GPS_LAT = 'GPS lat'
+ GPS_LONG = 'GPS long'
+ SW_VERSION = 'SW version'
+
+ SERIAL_NUMBER = 'Serial number'
+ CELL_ID = 'Cell ID'
+
+ # Capabilities
+ DUPLEX_MODE_CAPABILITY = 'Duplex mode capability'
+ BAND_CAPABILITY = 'Band capability'
+
+ # RF-related parameters
+ EARFCNDL = 'EARFCNDL'
+ EARFCNUL = 'EARFCNUL'
+ BAND = 'Band'
+ PCI = 'PCI'
+ DL_BANDWIDTH = 'DL bandwidth'
+ UL_BANDWIDTH = 'UL bandwidth'
+ SUBFRAME_ASSIGNMENT = 'Subframe assignment'
+ SPECIAL_SUBFRAME_PATTERN = 'Special subframe pattern'
+
+ # Other LTE parameters
+ ADMIN_STATE = 'Admin state'
+ OP_STATE = 'Opstate'
+ RF_TX_STATUS = 'RF TX status'
+
+ # RAN parameters
+ CELL_RESERVED = 'Cell reserved'
+ CELL_BARRED = 'Cell barred'
+
+ # Core network parameters
+ MME_IP = 'MME IP'
+ MME_PORT = 'MME port'
+ NUM_PLMNS = 'Num PLMNs'
+ PLMN = 'PLMN'
+ PLMN_LIST = 'PLMN List'
+
+ # PLMN parameters
+ PLMN_N = 'PLMN %d'
+ PLMN_N_CELL_RESERVED = 'PLMN %d cell reserved'
+ PLMN_N_ENABLE = 'PLMN %d enable'
+ PLMN_N_PRIMARY = 'PLMN %d primary'
+ PLMN_N_PLMNID = 'PLMN %d PLMNID'
+
+ # PLMN arrays are added below
+ TAC = 'TAC'
+ IP_SEC_ENABLE = 'IPSec enable'
+ MME_POOL_ENABLE = 'MME pool enable'
+
+ # Management server parameters
+ PERIODIC_INFORM_ENABLE = 'Periodic inform enable'
+ PERIODIC_INFORM_INTERVAL = 'Periodic inform interval'
+
+ # Performance management parameters
+ PERF_MGMT_ENABLE = 'Perf mgmt enable'
+ PERF_MGMT_UPLOAD_INTERVAL = 'Perf mgmt upload interval'
+ PERF_MGMT_UPLOAD_URL = 'Perf mgmt upload URL'
+ PERF_MGMT_USER = 'Perf mgmt username'
+ PERF_MGMT_PASSWORD = 'Perf mgmt password'
+
+
+class TrParameterType():
+ BOOLEAN = 'boolean'
+ STRING = 'string'
+ INT = 'int'
+ UNSIGNED_INT = 'unsignedInt'
+ OBJECT = 'object'
diff --git a/data_models/transform_for_enb.py b/data_models/transform_for_enb.py
new file mode 100644
index 0000000..7f3aaf8
--- /dev/null
+++ b/data_models/transform_for_enb.py
@@ -0,0 +1,78 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+from exceptions import ConfigurationError
+
+CELL_RESERVED_MAP = {
+ True: 'reserved',
+ False: 'notReserved',
+}
+
+
+INVERT_CELL_RESERVED_MAP = {
+ True: 'notReserved',
+ False: 'reserved',
+}
+
+
+def admin_state(flag):
+ return 'UP' if flag else 'DOWN'
+
+
+def cell_reserved(value):
+ return CELL_RESERVED_MAP.get(value)
+
+
+def invert_cell_reserved(value):
+ """
+ We need to handle Baicells bug which inverts the meaning of 'cell reserved'
+ """
+ return INVERT_CELL_RESERVED_MAP.get(value)
+
+
+def invert_cell_barred(value: bool):
+ """
+ We need to handle Baicells bug which inverts the meaning of 'cell barred'
+ """
+ return not value
+
+
+def bandwidth(bandwidth_mhz):
+ """
+ Map bandwidth in MHz to number of RBs
+ TODO: TR-196 spec says this should be '6' rather than 'n6', but
+ BaiCells eNodeB uses 'n6'. Need to resolve this.
+
+ Args:
+ bandwidth_mhz (int): Bandwidth in MHz
+ Returns:
+ str: Bandwidth in RBS
+ """
+ if bandwidth_mhz == 1.4:
+ bandwidth_rbs = 'n6'
+ elif bandwidth_mhz == 3:
+ bandwidth_rbs = 'n15'
+ elif bandwidth_mhz == 5:
+ bandwidth_rbs = 'n25'
+ elif bandwidth_mhz == 10:
+ bandwidth_rbs = 'n50'
+ elif bandwidth_mhz == 15:
+ bandwidth_rbs = 'n75'
+ elif bandwidth_mhz == 20:
+ bandwidth_rbs = 'n100'
+ else:
+ raise ConfigurationError(
+ 'Unknown bandwidth_mhz (%s)' %
+ str(bandwidth_mhz),
+ )
+ return bandwidth_rbs
diff --git a/data_models/transform_for_magma.py b/data_models/transform_for_magma.py
new file mode 100644
index 0000000..715cfba
--- /dev/null
+++ b/data_models/transform_for_magma.py
@@ -0,0 +1,89 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+import textwrap
+from typing import Optional, Union
+
+from exceptions import ConfigurationError
+from logger import EnodebdLogger as logger
+
+DUPLEX_MAP = {
+ '01': 'TDDMode',
+ '02': 'FDDMode',
+}
+
+BANDWIDTH_RBS_TO_MHZ_MAP = {
+ 'n6': 1.4,
+ 'n15': 3,
+ 'n25': 5,
+ 'n50': 10,
+ 'n75': 15,
+ 'n100': 20,
+}
+
+BANDWIDTH_MHZ_LIST = {1.4, 3, 5, 10, 15, 20}
+
+
+def duplex_mode(value: str) -> Optional[str]:
+ return DUPLEX_MAP.get(value)
+
+
+def band_capability(value: str) -> str:
+ return ','.join([str(int(b, 16)) for b in textwrap.wrap(value, 2)])
+
+
+def gps_tr181(value: str) -> str:
+ """Convert GPS value (lat or lng) to float
+
+ Per TR-181 specification, coordinates are returned in degrees,
+ multiplied by 1,000,000.
+
+ Args:
+ value (string): GPS value (latitude or longitude)
+ Returns:
+ str: GPS value (latitude/longitude) in degrees
+ """
+ try:
+ return str(float(value) / 1e6)
+ except Exception: # pylint: disable=broad-except
+ return value
+
+
+def bandwidth(bandwidth_rbs: Union[str, int, float]) -> float:
+ """
+ Map bandwidth in number of RBs to MHz
+ TODO: TR-196 spec says this should be '6' rather than 'n6', but
+ BaiCells eNodeB uses 'n6'. Need to resolve this.
+
+ Args:
+ bandwidth_rbs (str): Bandwidth in number of RBs
+ Returns:
+ str: Bandwidth in MHz
+ """
+ if bandwidth_rbs in BANDWIDTH_RBS_TO_MHZ_MAP:
+ return BANDWIDTH_RBS_TO_MHZ_MAP[bandwidth_rbs]
+
+ logger.warning('Unknown bandwidth_rbs (%s)', str(bandwidth_rbs))
+ if bandwidth_rbs in BANDWIDTH_MHZ_LIST:
+ return bandwidth_rbs
+ elif isinstance(bandwidth_rbs, str):
+ mhz = None
+ if bandwidth_rbs.isdigit():
+ mhz = int(bandwidth_rbs)
+ elif bandwidth_rbs.replace('.', '', 1).isdigit():
+ mhz = float(bandwidth_rbs)
+ if mhz in BANDWIDTH_MHZ_LIST:
+ return mhz
+ raise ConfigurationError(
+ 'Unknown bandwidth specification (%s)' %
+ str(bandwidth_rbs),
+ )
diff --git a/device_config/__init__.py b/device_config/__init__.py
new file mode 100644
index 0000000..5c6cb64
--- /dev/null
+++ b/device_config/__init__.py
@@ -0,0 +1,12 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
diff --git a/device_config/configuration_init.py b/device_config/configuration_init.py
new file mode 100644
index 0000000..cf9505b
--- /dev/null
+++ b/device_config/configuration_init.py
@@ -0,0 +1,573 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+import json
+from collections import namedtuple
+from typing import Any, Optional, Union
+
+from lte.protos.mconfig import mconfigs_pb2
+from common.misc_utils import get_ip_from_if
+from configuration.exceptions import LoadConfigError
+from configuration.mconfig_managers import load_service_mconfig_as_json
+from data_models.data_model import DataModel
+from data_models.data_model_parameters import ParameterName
+from device_config.enodeb_config_postprocessor import (
+ EnodebConfigurationPostProcessor,
+)
+from device_config.enodeb_configuration import EnodebConfiguration
+from exceptions import ConfigurationError
+from logger import EnodebdLogger as logger
+from lte_utils import (
+ DuplexMode,
+ map_earfcndl_to_band_earfcnul_mode,
+ map_earfcndl_to_duplex_mode,
+)
+
+# LTE constants
+DEFAULT_S1_PORT = 36412
+# This is a known working value for supported eNB devices.
+# Cell Identity is a 28 bit number, but not all values are supported.
+DEFAULT_CELL_IDENTITY = 138777000
+
+SingleEnodebConfig = namedtuple(
+ 'SingleEnodebConfig',
+ [
+ 'earfcndl', 'subframe_assignment',
+ 'special_subframe_pattern',
+ 'pci', 'plmnid_list', 'tac',
+ 'bandwidth_mhz', 'cell_id',
+ 'allow_enodeb_transmit',
+ 'mme_address', 'mme_port',
+ ],
+)
+
+
+def config_assert(condition: bool, message: str = None) -> None:
+ """ To be used in place of 'assert' so that ConfigurationError is raised
+ for all config-related exceptions. """
+ if not condition:
+ raise ConfigurationError(message)
+
+
+def build_desired_config(
+ mconfig: Any,
+ service_config: Any,
+ device_config: EnodebConfiguration,
+ data_model: DataModel,
+ post_processor: EnodebConfigurationPostProcessor,
+) -> EnodebConfiguration:
+ """
+ Factory for initializing DESIRED data model configuration.
+
+ When working with the configuration of an eNodeB, we track the
+ current state of configuration for that device, as well as what
+ configuration we want to set on the device.
+ Args:
+ mconfig: Managed configuration, eNodeB protobuf message
+ service_config:
+ Returns:
+ Desired data model configuration for the device
+ """
+ cfg_desired = EnodebConfiguration(data_model)
+
+ # Determine configuration parameters
+ _set_management_server(cfg_desired)
+
+ # Attempt to load device configuration from YANG before service mconfig
+ enb_config = _get_enb_yang_config(device_config) or \
+ _get_enb_config(mconfig, device_config)
+
+ _set_earfcn_freq_band_mode(
+ device_config, cfg_desired, data_model,
+ enb_config.earfcndl,
+ )
+ if enb_config.subframe_assignment is not None:
+ _set_tdd_subframe_config(
+ device_config, cfg_desired,
+ enb_config.subframe_assignment,
+ enb_config.special_subframe_pattern,
+ )
+ _set_pci(cfg_desired, enb_config.pci)
+ _set_plmnids_tac(cfg_desired, enb_config.plmnid_list, enb_config.tac)
+ _set_bandwidth(cfg_desired, data_model, enb_config.bandwidth_mhz)
+ _set_cell_id(cfg_desired, enb_config.cell_id)
+ _set_perf_mgmt(
+ cfg_desired,
+ get_ip_from_if(service_config['tr069']['interface']),
+ service_config['tr069']['perf_mgmt_port'],
+ )
+ _set_misc_static_params(device_config, cfg_desired, data_model)
+ if enb_config.mme_address is not None and enb_config.mme_port is not None:
+ _set_s1_connection(
+ cfg_desired,
+ enb_config.mme_address,
+ enb_config.mme_port,
+ )
+ else:
+ _set_s1_connection(
+ cfg_desired, get_ip_from_if(service_config['s1_interface']),
+ )
+
+ # Enable LTE if we should
+ cfg_desired.set_parameter(
+ ParameterName.ADMIN_STATE,
+ enb_config.allow_enodeb_transmit,
+ )
+
+ post_processor.postprocess(mconfig, service_config, cfg_desired)
+ return cfg_desired
+
+
+def _get_enb_yang_config(
+ device_config: EnodebConfiguration,
+) -> Optional[SingleEnodebConfig]:
+ """"
+ Proof of concept configuration function to load eNB configs from YANG
+ data model. Attempts to load configuration from YANG for the eNodeB if
+ an entry exists with a matching serial number.
+ Args:
+ device_config: eNodeB device configuration
+ Returns:
+ None or a SingleEnodebConfig from YANG with matching serial number
+ """
+ enb = []
+ mme_list = []
+ mme_address = None
+ mme_port = None
+ try:
+ enb_serial = \
+ device_config.get_parameter(ParameterName.SERIAL_NUMBER)
+ config = json.loads(
+ load_service_mconfig_as_json('yang').get('value', '{}'),
+ )
+ enb.extend(
+ filter(
+ lambda entry: entry['serial'] == enb_serial,
+ config.get('cellular', {}).get('enodeb', []),
+ ),
+ )
+ except (ValueError, KeyError, LoadConfigError):
+ return None
+ if len(enb) == 0:
+ return None
+ enb_config = enb[0].get('config', {})
+ mme_list.extend(enb_config.get('mme', []))
+ if len(mme_list) > 0:
+ mme_address = mme_list[0].get('host')
+ mme_port = mme_list[0].get('port')
+ single_enodeb_config = SingleEnodebConfig(
+ earfcndl=enb_config.get('earfcndl'),
+ subframe_assignment=enb_config.get('subframe_assignment'),
+ special_subframe_pattern=enb_config.get('special_subframe_pattern'),
+ pci=enb_config.get('pci'),
+ plmnid_list=",".join(enb_config.get('plmnid', [])),
+ tac=enb_config.get('tac'),
+ bandwidth_mhz=enb_config.get('bandwidth_mhz'),
+ cell_id=enb_config.get('cell_id'),
+ allow_enodeb_transmit=enb_config.get('transmit_enabled'),
+ mme_address=mme_address,
+ mme_port=mme_port,
+ )
+ return single_enodeb_config
+
+
+def _get_enb_config(
+ mconfig: mconfigs_pb2.EnodebD,
+ device_config: EnodebConfiguration,
+) -> SingleEnodebConfig:
+ # For fields that are specified per eNB
+ if mconfig.enb_configs_by_serial is not None and \
+ len(mconfig.enb_configs_by_serial) > 0:
+ enb_serial = \
+ device_config.get_parameter(ParameterName.SERIAL_NUMBER)
+ if enb_serial in mconfig.enb_configs_by_serial:
+ enb_config = mconfig.enb_configs_by_serial[enb_serial]
+ earfcndl = enb_config.earfcndl
+ pci = enb_config.pci
+ allow_enodeb_transmit = enb_config.transmit_enabled
+ tac = enb_config.tac
+ bandwidth_mhz = enb_config.bandwidth_mhz
+ cell_id = enb_config.cell_id
+ duplex_mode = map_earfcndl_to_duplex_mode(earfcndl)
+ subframe_assignment = None
+ special_subframe_pattern = None
+ if duplex_mode == DuplexMode.TDD:
+ subframe_assignment = enb_config.subframe_assignment
+ special_subframe_pattern = \
+ enb_config.special_subframe_pattern
+ else:
+ raise ConfigurationError(
+ 'Could not construct desired config '
+ 'for eNB',
+ )
+ else:
+ pci = mconfig.pci
+ allow_enodeb_transmit = mconfig.allow_enodeb_transmit
+ tac = mconfig.tac
+ bandwidth_mhz = mconfig.bandwidth_mhz
+ cell_id = DEFAULT_CELL_IDENTITY
+ if mconfig.tdd_config is not None and str(mconfig.tdd_config) != '':
+ earfcndl = mconfig.tdd_config.earfcndl
+ subframe_assignment = mconfig.tdd_config.subframe_assignment
+ special_subframe_pattern = \
+ mconfig.tdd_config.special_subframe_pattern
+ elif mconfig.fdd_config is not None and str(mconfig.fdd_config) != '':
+ earfcndl = mconfig.fdd_config.earfcndl
+ subframe_assignment = None
+ special_subframe_pattern = None
+ else:
+ earfcndl = mconfig.earfcndl
+ subframe_assignment = mconfig.subframe_assignment
+ special_subframe_pattern = mconfig.special_subframe_pattern
+
+ # And now the rest of the fields
+ plmnid_list = mconfig.plmnid_list
+
+ single_enodeb_config = SingleEnodebConfig(
+ earfcndl=earfcndl,
+ subframe_assignment=subframe_assignment,
+ special_subframe_pattern=special_subframe_pattern,
+ pci=pci,
+ plmnid_list=plmnid_list,
+ tac=tac,
+ bandwidth_mhz=bandwidth_mhz,
+ cell_id=cell_id,
+ allow_enodeb_transmit=allow_enodeb_transmit,
+ mme_address=None,
+ mme_port=None,
+ )
+ return single_enodeb_config
+
+
+def _set_pci(
+ cfg: EnodebConfiguration,
+ pci: Any,
+) -> None:
+ """
+ Set the following parameters:
+ - PCI
+ """
+ if pci not in range(0, 504 + 1):
+ raise ConfigurationError('Invalid PCI (%d)' % pci)
+ cfg.set_parameter(ParameterName.PCI, pci)
+
+
+def _set_bandwidth(
+ cfg: EnodebConfiguration,
+ data_model: DataModel,
+ bandwidth_mhz: Any,
+) -> None:
+ """
+ Set the following parameters:
+ - DL bandwidth
+ - UL bandwidth
+ """
+ _set_param_if_present(
+ cfg, data_model, ParameterName.DL_BANDWIDTH,
+ bandwidth_mhz,
+ )
+ _set_param_if_present(
+ cfg, data_model, ParameterName.UL_BANDWIDTH,
+ bandwidth_mhz,
+ )
+
+
+def _set_cell_id(
+ cfg: EnodebConfiguration,
+ cell_id: int,
+) -> None:
+ config_assert(
+ cell_id in range(0, 268435456),
+ 'Cell Identity should be from 0 - (2^28 - 1)',
+ )
+ cfg.set_parameter(ParameterName.CELL_ID, cell_id)
+
+
+def _set_tdd_subframe_config(
+ device_cfg: EnodebConfiguration,
+ cfg: EnodebConfiguration,
+ subframe_assignment: Any,
+ special_subframe_pattern: Any,
+) -> None:
+ """
+ Set the following parameters:
+ - Subframe assignment
+ - Special subframe pattern
+ """
+ # Don't try to set if this is not TDD mode
+ if (
+ device_cfg.has_parameter(ParameterName.DUPLEX_MODE_CAPABILITY)
+ and device_cfg.get_parameter(ParameterName.DUPLEX_MODE_CAPABILITY)
+ != 'TDDMode'
+ ):
+ return
+
+ config_assert(
+ subframe_assignment in range(0, 6 + 1),
+ 'Invalid TDD subframe assignment (%d)' % subframe_assignment,
+ )
+ config_assert(
+ special_subframe_pattern in range(0, 9 + 1),
+ 'Invalid TDD special subframe pattern (%d)'
+ % special_subframe_pattern,
+ )
+
+ cfg.set_parameter(
+ ParameterName.SUBFRAME_ASSIGNMENT,
+ subframe_assignment,
+ )
+ cfg.set_parameter(
+ ParameterName.SPECIAL_SUBFRAME_PATTERN,
+ special_subframe_pattern,
+ )
+
+
+def _set_management_server(cfg: EnodebConfiguration) -> None:
+ """
+ Set the following parameters:
+ - Periodic inform enable
+ - Periodic inform interval (hard-coded)
+ """
+ cfg.set_parameter(ParameterName.PERIODIC_INFORM_ENABLE, True)
+ # In seconds
+ cfg.set_parameter(ParameterName.PERIODIC_INFORM_INTERVAL, 5)
+
+
+def _set_s1_connection(
+ cfg: EnodebConfiguration,
+ mme_ip: Any,
+ mme_port: Any = DEFAULT_S1_PORT,
+) -> None:
+ """
+ Set the following parameters:
+ - MME IP
+ - MME port (defalts to 36412 as per TR-196 recommendation)
+ """
+ config_assert(type(mme_ip) == str, 'Invalid MME IP type')
+ config_assert(type(mme_port) == int, 'Invalid MME Port type')
+ cfg.set_parameter(ParameterName.MME_IP, mme_ip)
+ cfg.set_parameter(ParameterName.MME_PORT, mme_port)
+
+
+def _set_perf_mgmt(
+ cfg: EnodebConfiguration,
+ perf_mgmt_ip: str,
+ perf_mgmt_port: int,
+) -> None:
+ """
+ Set the following parameters:
+ - Perf mgmt enable
+ - Perf mgmt upload interval
+ - Perf mgmt upload URL
+ """
+ cfg.set_parameter(ParameterName.PERF_MGMT_ENABLE, True)
+ # Upload interval supported values (in secs):
+ # [60, 300, 900, 1800, 3600]
+ # Note: eNodeB crashes have been experienced with 60-sec interval.
+ # Hence using 300sec
+ cfg.set_parameter(
+ ParameterName.PERF_MGMT_UPLOAD_INTERVAL,
+ 300,
+ )
+ cfg.set_parameter(
+ ParameterName.PERF_MGMT_UPLOAD_URL,
+ 'http://%s:%d/' % (perf_mgmt_ip, perf_mgmt_port),
+ )
+
+
+def _set_misc_static_params(
+ device_cfg: EnodebConfiguration,
+ cfg: EnodebConfiguration,
+ data_model: DataModel,
+) -> None:
+ """
+ Set the following parameters:
+ - Local gateway enable
+ - GPS enable
+ """
+ _set_param_if_present(
+ cfg, data_model, ParameterName.LOCAL_GATEWAY_ENABLE,
+ 0,
+ )
+ _set_param_if_present(cfg, data_model, ParameterName.GPS_ENABLE, True)
+ # For BaiCells eNodeBs, IPSec enable may be either integer or bool.
+ # Set to false/0 depending on the current type
+ if data_model.is_parameter_present(ParameterName.IP_SEC_ENABLE):
+ try:
+ int(device_cfg.get_parameter(ParameterName.IP_SEC_ENABLE))
+ cfg.set_parameter(ParameterName.IP_SEC_ENABLE, value=0)
+ except ValueError:
+ cfg.set_parameter(ParameterName.IP_SEC_ENABLE, value=False)
+
+ _set_param_if_present(cfg, data_model, ParameterName.CELL_RESERVED, False)
+ _set_param_if_present(
+ cfg, data_model, ParameterName.MME_POOL_ENABLE,
+ False,
+ )
+
+
+def _set_plmnids_tac(
+ cfg: EnodebConfiguration,
+ plmnids: Union[int, str],
+ tac: Any,
+) -> None:
+ """
+ Set the following parameters:
+ - PLMNID list (including all child parameters)
+
+ Input 'plmnids' is comma-separated list of PLMNIDs
+ """
+ # Convert int PLMNID to string
+ if type(plmnids) == int:
+ plmnid_str = str(plmnids)
+ else:
+ config_assert(type(plmnids) == str, 'PLMNID must be string')
+ plmnid_str = plmnids
+
+ # Multiple PLMNIDs will be supported using comma-separated list.
+ # Currently, just one supported
+ for char in plmnid_str:
+ config_assert(
+ char in '0123456789, ',
+ 'Unhandled character (%s) in PLMNID' % char,
+ )
+ plmnid_list = plmnid_str.split(',')
+
+ # TODO - add support for multiple PLMNIDs
+ config_assert(
+ len(plmnid_list) == 1,
+ 'Exactly one PLMNID must be configured',
+ )
+
+ # Validate PLMNIDs
+ plmnid_list[0] = plmnid_list[0].strip()
+ config_assert(
+ len(plmnid_list[0]) <= 6,
+ 'PLMNID must be length <=6 (%s)' % plmnid_list[0],
+ )
+
+ # We just need one PLMN element in the config. Delete all others.
+ for i in range(1, 2): # data_model.get_num_plmns() + 1):
+ object_name = ParameterName.PLMN_N % i
+ enable_plmn = i == 1
+ cfg.add_object(object_name)
+ cfg.set_parameter_for_object(
+ ParameterName.PLMN_N_ENABLE % i,
+ enable_plmn,
+ object_name,
+ )
+ if enable_plmn:
+ cfg.set_parameter_for_object(
+ ParameterName.PLMN_N_CELL_RESERVED % i,
+ False, object_name,
+ )
+ cfg.set_parameter_for_object(
+ ParameterName.PLMN_N_PRIMARY % i,
+ enable_plmn,
+ object_name,
+ )
+ cfg.set_parameter_for_object(
+ ParameterName.PLMN_N_PLMNID % i,
+ plmnid_list[i - 1],
+ object_name,
+ )
+ cfg.set_parameter(ParameterName.TAC, tac)
+
+
+def _set_earfcn_freq_band_mode(
+ device_cfg: EnodebConfiguration,
+ cfg: EnodebConfiguration,
+ data_model: DataModel,
+ earfcndl: int,
+) -> None:
+ """
+ Set the following parameters:
+ - EARFCNDL
+ - EARFCNUL
+ - Band
+ """
+ # Note: validation of EARFCNDL done by mapping function. If invalid
+ # EARFCN, raise ConfigurationError
+ try:
+ band, duplex_mode, earfcnul = map_earfcndl_to_band_earfcnul_mode(
+ earfcndl,
+ )
+ except ValueError as err:
+ raise ConfigurationError(err)
+
+ # Verify capabilities
+ if device_cfg.has_parameter(ParameterName.DUPLEX_MODE_CAPABILITY):
+ duplex_capability = \
+ device_cfg.get_parameter(ParameterName.DUPLEX_MODE_CAPABILITY)
+ if duplex_mode == DuplexMode.TDD and duplex_capability != 'TDDMode':
+ raise ConfigurationError((
+ 'eNodeB duplex mode capability is <{0}>, '
+ 'but earfcndl is <{1}>, giving duplex '
+ 'mode <{2}> instead'
+ ).format(
+ duplex_capability, str(earfcndl), str(duplex_mode),
+ ))
+ elif duplex_mode == DuplexMode.FDD and duplex_capability != 'FDDMode':
+ raise ConfigurationError((
+ 'eNodeB duplex mode capability is <{0}>, '
+ 'but earfcndl is <{1}>, giving duplex '
+ 'mode <{2}> instead'
+ ).format(
+ duplex_capability, str(earfcndl), str(duplex_mode),
+ ))
+ elif duplex_mode not in {DuplexMode.TDD, DuplexMode.FDD}:
+ raise ConfigurationError(
+ 'Invalid duplex mode (%s)' % str(duplex_mode),
+ )
+
+ if device_cfg.has_parameter(ParameterName.BAND_CAPABILITY):
+ # Baicells indicated that they no longer use the band capability list,
+ # so it may not be populated correctly
+ band_capability_list = device_cfg.get_parameter(
+ ParameterName.BAND_CAPABILITY,
+ )
+ band_capabilities = band_capability_list.split(',')
+ if str(band) not in band_capabilities:
+ logger.warning(
+ 'Band %d not in capabilities list (%s). Continuing'
+ ' with config because capabilities list may not be'
+ ' correct', band, band_capabilities,
+ )
+ cfg.set_parameter(ParameterName.EARFCNDL, earfcndl)
+ if duplex_mode == DuplexMode.FDD:
+ _set_param_if_present(
+ cfg, data_model, ParameterName.EARFCNUL,
+ earfcnul,
+ )
+ else:
+ logger.debug('Not setting EARFCNUL - duplex mode is not FDD')
+
+ _set_param_if_present(cfg, data_model, ParameterName.BAND, band)
+
+ if duplex_mode == DuplexMode.TDD:
+ logger.debug('Set EARFCNDL=%d, Band=%d', earfcndl, band)
+ elif duplex_mode == DuplexMode.FDD:
+ logger.debug(
+ 'Set EARFCNDL=%d, EARFCNUL=%d, Band=%d',
+ earfcndl, earfcnul, band,
+ )
+
+
+def _set_param_if_present(
+ cfg: EnodebConfiguration,
+ data_model: DataModel,
+ param: ParameterName,
+ value: Any,
+) -> None:
+ if data_model.is_parameter_present(param):
+ cfg.set_parameter(param, value)
diff --git a/device_config/configuration_util.py b/device_config/configuration_util.py
new file mode 100644
index 0000000..cf746c1
--- /dev/null
+++ b/device_config/configuration_util.py
@@ -0,0 +1,67 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+from typing import NamedTuple, Optional
+
+from lte.protos.mconfig.mconfigs_pb2 import EnodebD
+
+EnodebConfig = NamedTuple(
+ 'EnodebConfig', [
+ ('serial_num', str),
+ ('config', EnodebD.EnodebConfig),
+ ],
+)
+
+
+def get_enb_rf_tx_desired(mconfig: EnodebD, enb_serial: str) -> bool:
+ """ True if the mconfig specifies to enable transmit on the eNB """
+ if mconfig.enb_configs_by_serial is not None and \
+ len(mconfig.enb_configs_by_serial) > 0:
+ if enb_serial in mconfig.enb_configs_by_serial:
+ enb_config = mconfig.enb_configs_by_serial[enb_serial]
+ return enb_config.transmit_enabled
+ else:
+ raise KeyError('Missing eNB from mconfig: %s' % enb_serial)
+ return mconfig.allow_enodeb_transmit
+
+
+def is_enb_registered(mconfig: EnodebD, enb_serial: str) -> bool:
+ """
+ True if either:
+ - the eNodeB is registered by serial to the Access Gateway
+ or
+ - the Access Gateway accepts all eNodeB devices
+ """
+ if mconfig.enb_configs_by_serial is not None and \
+ len(mconfig.enb_configs_by_serial) > 0:
+ if enb_serial in mconfig.enb_configs_by_serial:
+ return True
+ else:
+ return False
+ return True
+
+
+def find_enb_by_cell_id(mconfig: EnodebD, cell_id: int) \
+ -> Optional[EnodebConfig]:
+ """
+ Returns eNB config if:
+ - the eNodeB is registered by serial to the Access Gateway
+ - cell ID is found in eNB status by serial
+ else: returns None
+ """
+ if mconfig.enb_configs_by_serial is not None and \
+ len(mconfig.enb_configs_by_serial) > 0:
+ for sn, enb in mconfig.enb_configs_by_serial.items():
+ if cell_id == enb.cell_id:
+ config = EnodebConfig(serial_num=sn, config=enb)
+ return config
+ return None
diff --git a/device_config/enodeb_config_postprocessor.py b/device_config/enodeb_config_postprocessor.py
new file mode 100644
index 0000000..5cb469a
--- /dev/null
+++ b/device_config/enodeb_config_postprocessor.py
@@ -0,0 +1,31 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+from abc import ABC, abstractmethod
+from typing import Any
+
+from device_config.enodeb_configuration import EnodebConfiguration
+
+
+class EnodebConfigurationPostProcessor(ABC):
+ """
+ Overrides the desired configuration for the eNodeB, with subclass per
+ device/sw-version that requires non-standard configuration behavior.
+ """
+
+ @abstractmethod
+ def postprocess(self, mconfig: Any, service_cfg: Any, desired_cfg: EnodebConfiguration) -> None:
+ """
+ Implementation of function which overrides the desired configuration
+ for the eNodeB
+ """
+ pass
diff --git a/device_config/enodeb_configuration.py b/device_config/enodeb_configuration.py
new file mode 100644
index 0000000..5d28d50
--- /dev/null
+++ b/device_config/enodeb_configuration.py
@@ -0,0 +1,161 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+import json
+from typing import Any, List
+
+from data_models.data_model import DataModel
+from data_models.data_model_parameters import ParameterName
+from exceptions import ConfigurationError
+from logger import EnodebdLogger as logger
+
+
+class EnodebConfiguration():
+ """
+ This represents the data model configuration for a single
+ eNodeB device. This can correspond to either the current configuration
+ of the device, or what configuration we desire to have for the device.
+ """
+
+ def __init__(self, data_model: DataModel) -> None:
+ """
+ The fields initialized in the constructor here should be enough to
+ track state across any data model configuration.
+
+ Most objects for eNodeB data models cannot be added or deleted.
+ For those objects, we just track state with a simple mapping from
+ parameter name to value.
+
+ For objects which can be added/deleted, we track them separately.
+ """
+
+ # DataModel
+ self._data_model = data_model
+
+ # Dict[ParameterName, Any]
+ self._param_to_value = {}
+
+ # Dict[ParameterName, Dict[ParameterName, Any]]
+ self._numbered_objects = {}
+ # If adding a PLMN object, then you would set something like
+ # self._numbered_objects['PLMN_1'] = {'PLMN_1_ENABLED': True}
+
+ @property
+ def data_model(self) -> DataModel:
+ """
+ The data model configuration is tied to a single data model
+ """
+ return self._data_model
+
+ def get_parameter_names(self) -> List[ParameterName]:
+ """
+ Returns: list of ParameterName
+ """
+ return list(self._param_to_value.keys())
+
+ def has_parameter(self, param_name: ParameterName) -> bool:
+ return param_name in self._param_to_value
+
+ def get_parameter(self, param_name: ParameterName) -> Any:
+ """
+ Args:
+ param_name: ParameterName
+ Returns:
+ Any, value of the parameter, formatted to be understood by enodebd
+ """
+ self._assert_param_in_model(param_name)
+ return self._param_to_value[param_name]
+
+ def set_parameter(
+ self,
+ param_name: ParameterName,
+ value: Any,
+ ) -> None:
+ """
+ Args:
+ param_name: the parameter name to configure
+ value: the value to set, formatted to be understood by enodebd
+ """
+ self._assert_param_in_model(param_name)
+ self._param_to_value[param_name] = value
+
+ def delete_parameter(self, param_name: ParameterName) -> None:
+ del self._param_to_value[param_name]
+
+ def get_object_names(self) -> List[ParameterName]:
+ return list(self._numbered_objects.keys())
+
+ def has_object(self, param_name: ParameterName) -> bool:
+ """
+ Args:
+ param_name: The ParameterName of the object
+ Returns: True if set in configuration
+ """
+ self._assert_param_in_model(param_name)
+ return param_name in self._numbered_objects
+
+ def add_object(self, param_name: ParameterName) -> None:
+ if param_name in self._numbered_objects:
+ raise ConfigurationError("Configuration already has object")
+ self._numbered_objects[param_name] = {}
+
+ def delete_object(self, param_name: ParameterName) -> None:
+ if param_name not in self._numbered_objects:
+ raise ConfigurationError("Configuration does not have object")
+ del self._numbered_objects[param_name]
+
+ def get_parameter_for_object(
+ self,
+ param_name: ParameterName,
+ object_name: ParameterName,
+ ) -> Any:
+ return self._numbered_objects[object_name].get(param_name)
+
+ def set_parameter_for_object(
+ self,
+ param_name: ParameterName,
+ value: Any,
+ object_name: ParameterName,
+ ) -> None:
+ """
+ Args:
+ param_name: the parameter name to configure
+ value: the value to set, formatted to be understood by enodebd
+ object_name: ParameterName of object
+ """
+ self._assert_param_in_model(object_name)
+ self._assert_param_in_model(param_name)
+ self._numbered_objects[object_name][param_name] = value
+
+ def get_parameter_names_for_object(
+ self,
+ object_name: ParameterName,
+ ) -> List[ParameterName]:
+ return list(self._numbered_objects[object_name].keys())
+
+ def get_debug_info(self) -> str:
+ debug_info = 'Param values: {}, \n Object values: {}'
+ return debug_info.format(
+ json.dumps(self._param_to_value, indent=2),
+ json.dumps(
+ self._numbered_objects,
+ indent=2,
+ ),
+ )
+
+ def _assert_param_in_model(self, param_name: ParameterName) -> None:
+ trparam_model = self.data_model
+ tr_param = trparam_model.get_parameter(param_name)
+ if tr_param is None:
+ logger.warning('Parameter <%s> not defined in model', param_name)
+ raise ConfigurationError("Parameter not defined in model.")
diff --git a/devices/__init__.py b/devices/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/devices/__init__.py
diff --git a/devices/baicells.py b/devices/baicells.py
new file mode 100644
index 0000000..db7f8c1
--- /dev/null
+++ b/devices/baicells.py
@@ -0,0 +1,313 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+from typing import Any, Callable, Dict, List, Optional, Type
+
+from common.service import MagmaService
+from data_models import transform_for_enb, transform_for_magma
+from data_models.data_model import DataModel, TrParam
+from data_models.data_model_parameters import (
+ ParameterName,
+ TrParameterType,
+)
+from device_config.enodeb_config_postprocessor import (
+ EnodebConfigurationPostProcessor,
+)
+from device_config.enodeb_configuration import EnodebConfiguration
+from devices.device_utils import EnodebDeviceName
+from state_machines.enb_acs_impl import BasicEnodebAcsStateMachine
+from state_machines.enb_acs_states import (
+ AddObjectsState,
+ BaicellsRemWaitState,
+ CheckOptionalParamsState,
+ DeleteObjectsState,
+ EnbSendRebootState,
+ EndSessionState,
+ EnodebAcsState,
+ ErrorState,
+ GetObjectParametersState,
+ GetParametersState,
+ SendGetTransientParametersState,
+ SetParameterValuesState,
+ WaitEmptyMessageState,
+ WaitGetObjectParametersState,
+ WaitGetParametersState,
+ WaitGetTransientParametersState,
+ WaitInformMRebootState,
+ WaitInformState,
+ WaitRebootResponseState,
+ WaitSetParameterValuesState,
+)
+
+
+class BaicellsHandler(BasicEnodebAcsStateMachine):
+ def __init__(
+ self,
+ service: MagmaService,
+ ) -> None:
+ self._state_map = {}
+ super().__init__(service=service, use_param_key=False)
+
+ def reboot_asap(self) -> None:
+ self.transition('reboot')
+
+ def is_enodeb_connected(self) -> bool:
+ return not isinstance(self.state, WaitInformState)
+
+ def _init_state_map(self) -> None:
+ self._state_map = {
+ 'wait_inform': WaitInformState(self, when_done='wait_empty', when_boot='wait_rem'),
+ 'wait_rem': BaicellsRemWaitState(self, when_done='wait_inform'),
+ 'wait_empty': WaitEmptyMessageState(self, when_done='get_transient_params', when_missing='check_optional_params'),
+ 'check_optional_params': CheckOptionalParamsState(self, when_done='get_transient_params'),
+ 'get_transient_params': SendGetTransientParametersState(self, when_done='wait_get_transient_params'),
+ 'wait_get_transient_params': WaitGetTransientParametersState(self, when_get='get_params', when_get_obj_params='get_obj_params', when_delete='delete_objs', when_add='add_objs', when_set='set_params', when_skip='end_session'),
+ 'get_params': GetParametersState(self, when_done='wait_get_params'),
+ 'wait_get_params': WaitGetParametersState(self, when_done='get_obj_params'),
+ 'get_obj_params': GetObjectParametersState(self, when_done='wait_get_obj_params'),
+ 'wait_get_obj_params': WaitGetObjectParametersState(self, when_delete='delete_objs', when_add='add_objs', when_set='set_params', when_skip='end_session'),
+ 'delete_objs': DeleteObjectsState(self, when_add='add_objs', when_skip='set_params'),
+ 'add_objs': AddObjectsState(self, when_done='set_params'),
+ 'set_params': SetParameterValuesState(self, when_done='wait_set_params'),
+ 'wait_set_params': WaitSetParameterValuesState(self, when_done='check_get_params', when_apply_invasive='reboot'),
+ 'check_get_params': GetParametersState(self, when_done='check_wait_get_params', request_all_params=True),
+ 'check_wait_get_params': WaitGetParametersState(self, when_done='end_session'),
+ 'end_session': EndSessionState(self),
+ 'reboot': EnbSendRebootState(self, when_done='wait_reboot'),
+ 'wait_reboot': WaitRebootResponseState(self, when_done='wait_post_reboot_inform'),
+ 'wait_post_reboot_inform': WaitInformMRebootState(self, when_done='wait_rem_post_reboot', when_timeout='wait_inform_post_reboot'),
+ # After rebooting, we don't need to query optional params again.
+ 'wait_inform_post_reboot': WaitInformState(self, when_done='wait_empty_post_reboot', when_boot='wait_rem_post_reboot'),
+ 'wait_rem_post_reboot': BaicellsRemWaitState(self, when_done='wait_inform_post_reboot'),
+ 'wait_empty_post_reboot': WaitEmptyMessageState(self, when_done='get_transient_params', when_missing='check_optional_params'),
+ # The states below are entered when an unexpected message type is
+ # received
+ 'unexpected_fault': ErrorState(self, inform_transition_target='wait_inform'),
+ }
+
+ @property
+ def device_name(self) -> str:
+ return EnodebDeviceName.BAICELLS
+
+ @property
+ def data_model_class(self) -> Type[DataModel]:
+ return BaicellsTrDataModel
+
+ @property
+ def config_postprocessor(self) -> EnodebConfigurationPostProcessor:
+ return BaicellsTrConfigurationInitializer()
+
+ @property
+ def state_map(self) -> Dict[str, EnodebAcsState]:
+ return self._state_map
+
+ @property
+ def disconnected_state_name(self) -> str:
+ return 'wait_inform'
+
+ @property
+ def unexpected_fault_state_name(self) -> str:
+ return 'unexpected_fault'
+
+
+class BaicellsTrDataModel(DataModel):
+ """
+ Class to represent relevant data model parameters from TR-196/TR-098/TR-181.
+ This class is effectively read-only
+
+ This is for any version BaiStation_V100R001C00B110SPC003 or after
+ """
+ # Parameters to query when reading eNodeB config
+ LOAD_PARAMETERS = [ParameterName.DEVICE]
+ # Mapping of TR parameter paths to aliases
+ DEVICE_PATH = 'Device.'
+ FAPSERVICE_PATH = DEVICE_PATH + 'Services.FAPService.1.'
+ PARAMETERS = {
+ # Top-level objects
+ ParameterName.DEVICE: TrParam(DEVICE_PATH, True, TrParameterType.OBJECT, False),
+ ParameterName.FAP_SERVICE: TrParam(FAPSERVICE_PATH, True, TrParameterType.OBJECT, False),
+
+ # Device info parameters
+ ParameterName.GPS_STATUS: TrParam(DEVICE_PATH + 'DeviceInfo.X_BAICELLS_COM_GPS_Status', True, TrParameterType.BOOLEAN, False),
+ ParameterName.PTP_STATUS: TrParam(DEVICE_PATH + 'DeviceInfo.X_BAICELLS_COM_1588_Status', True, TrParameterType.BOOLEAN, False),
+ ParameterName.MME_STATUS: TrParam(DEVICE_PATH + 'DeviceInfo.X_BAICELLS_COM_MME_Status', True, TrParameterType.BOOLEAN, False),
+ ParameterName.REM_STATUS: TrParam(FAPSERVICE_PATH + 'REM.X_BAICELLS_COM_REM_Status', True, TrParameterType.BOOLEAN, False),
+ ParameterName.LOCAL_GATEWAY_ENABLE:
+ TrParam(DEVICE_PATH + 'DeviceInfo.X_BAICELLS_COM_LTE_LGW_Switch', False, TrParameterType.BOOLEAN, False),
+ # Tested Baicells devices were missing this parameter
+ ParameterName.GPS_ENABLE: TrParam(DEVICE_PATH + 'X_BAICELLS_COM_GpsSyncEnable', False, TrParameterType.BOOLEAN, True),
+ ParameterName.GPS_LAT: TrParam(DEVICE_PATH + 'FAP.GPS.LockedLatitude', True, TrParameterType.INT, True),
+ ParameterName.GPS_LONG: TrParam(DEVICE_PATH + 'FAP.GPS.LockedLongitude', True, TrParameterType.INT, True),
+ ParameterName.SW_VERSION: TrParam(DEVICE_PATH + 'DeviceInfo.SoftwareVersion', True, TrParameterType.STRING, False),
+ ParameterName.SERIAL_NUMBER: TrParam(DEVICE_PATH + 'DeviceInfo.SerialNumber', True, TrParameterType.STRING, False),
+
+ # Capabilities
+ ParameterName.DUPLEX_MODE_CAPABILITY: TrParam(
+ FAPSERVICE_PATH + 'Capabilities.LTE.DuplexMode', True, TrParameterType.STRING, False,
+ ),
+ ParameterName.BAND_CAPABILITY: TrParam(FAPSERVICE_PATH + 'Capabilities.LTE.BandsSupported', True, TrParameterType.STRING, False),
+
+ # RF-related parameters
+ ParameterName.EARFCNDL: TrParam(FAPSERVICE_PATH + 'X_BAICELLS_COM_LTE.EARFCNDLInUse', True, TrParameterType.INT, False),
+ ParameterName.EARFCNUL: TrParam(FAPSERVICE_PATH + 'X_BAICELLS_COM_LTE.EARFCNULInUse', True, TrParameterType.INT, False),
+ ParameterName.BAND: TrParam(FAPSERVICE_PATH + 'CellConfig.LTE.RAN.RF.FreqBandIndicator', True, TrParameterType.INT, False),
+ ParameterName.PCI: TrParam(FAPSERVICE_PATH + 'CellConfig.LTE.RAN.RF.PhyCellID', False, TrParameterType.INT, False),
+ ParameterName.DL_BANDWIDTH: TrParam(FAPSERVICE_PATH + 'CellConfig.LTE.RAN.RF.DLBandwidth', True, TrParameterType.STRING, False),
+ ParameterName.UL_BANDWIDTH: TrParam(FAPSERVICE_PATH + 'CellConfig.LTE.RAN.RF.ULBandwidth', True, TrParameterType.STRING, False),
+ ParameterName.SUBFRAME_ASSIGNMENT: TrParam(
+ FAPSERVICE_PATH
+ + 'CellConfig.LTE.RAN.PHY.TDDFrame.SubFrameAssignment', True, TrParameterType.INT, False,
+ ),
+ ParameterName.SPECIAL_SUBFRAME_PATTERN: TrParam(
+ FAPSERVICE_PATH
+ + 'CellConfig.LTE.RAN.PHY.TDDFrame.SpecialSubframePatterns', True, TrParameterType.INT, False,
+ ),
+ ParameterName.CELL_ID: TrParam(FAPSERVICE_PATH + 'CellConfig.LTE.RAN.Common.CellIdentity', True, TrParameterType.UNSIGNED_INT, False),
+
+ # Other LTE parameters
+ ParameterName.ADMIN_STATE: TrParam(FAPSERVICE_PATH + 'FAPControl.LTE.AdminState', False, TrParameterType.BOOLEAN, False),
+ ParameterName.OP_STATE: TrParam(FAPSERVICE_PATH + 'FAPControl.LTE.OpState', True, TrParameterType.BOOLEAN, False),
+ ParameterName.RF_TX_STATUS: TrParam(FAPSERVICE_PATH + 'FAPControl.LTE.RFTxStatus', True, TrParameterType.BOOLEAN, False),
+
+ # RAN parameters
+ ParameterName.CELL_RESERVED: TrParam(
+ FAPSERVICE_PATH
+ + 'CellConfig.LTE.RAN.CellRestriction.CellReservedForOperatorUse', True, TrParameterType.BOOLEAN, False,
+ ),
+ ParameterName.CELL_BARRED: TrParam(
+ FAPSERVICE_PATH
+ + 'CellConfig.LTE.RAN.CellRestriction.CellBarred', True, TrParameterType.BOOLEAN, False,
+ ),
+
+ # Core network parameters
+ ParameterName.MME_IP: TrParam(
+ FAPSERVICE_PATH + 'FAPControl.LTE.Gateway.S1SigLinkServerList', True, TrParameterType.STRING, False,
+ ),
+ ParameterName.MME_PORT: TrParam(FAPSERVICE_PATH + 'FAPControl.LTE.Gateway.S1SigLinkPort', True, TrParameterType.INT, False),
+ ParameterName.NUM_PLMNS: TrParam(
+ FAPSERVICE_PATH + 'CellConfig.LTE.EPC.PLMNListNumberOfEntries', True, TrParameterType.INT, False,
+ ),
+ ParameterName.PLMN: TrParam(FAPSERVICE_PATH + 'CellConfig.LTE.EPC.PLMNList.', True, TrParameterType.STRING, False),
+ # PLMN arrays are added below
+ ParameterName.TAC: TrParam(FAPSERVICE_PATH + 'CellConfig.LTE.EPC.TAC', True, TrParameterType.INT, False),
+ ParameterName.IP_SEC_ENABLE: TrParam(
+ DEVICE_PATH + 'Services.FAPService.Ipsec.IPSEC_ENABLE', False, TrParameterType.BOOLEAN, False,
+ ),
+ ParameterName.MME_POOL_ENABLE: TrParam(
+ FAPSERVICE_PATH
+ + 'FAPControl.LTE.Gateway.X_BAICELLS_COM_MmePool.Enable', True, TrParameterType.BOOLEAN, False,
+ ),
+
+ # Management server parameters
+ ParameterName.PERIODIC_INFORM_ENABLE:
+ TrParam(DEVICE_PATH + 'ManagementServer.PeriodicInformEnable', False, TrParameterType.BOOLEAN, False),
+ ParameterName.PERIODIC_INFORM_INTERVAL:
+ TrParam(DEVICE_PATH + 'ManagementServer.PeriodicInformInterval', False, TrParameterType.INT, False),
+
+ # Performance management parameters
+ ParameterName.PERF_MGMT_ENABLE: TrParam(
+ DEVICE_PATH + 'FAP.PerfMgmt.Config.1.Enable', False, TrParameterType.BOOLEAN, False,
+ ),
+ ParameterName.PERF_MGMT_UPLOAD_INTERVAL: TrParam(
+ DEVICE_PATH + 'FAP.PerfMgmt.Config.1.PeriodicUploadInterval', False, TrParameterType.INT, False,
+ ),
+ ParameterName.PERF_MGMT_UPLOAD_URL: TrParam(
+ DEVICE_PATH + 'FAP.PerfMgmt.Config.1.URL', False, TrParameterType.STRING, False,
+ ),
+
+ }
+
+ NUM_PLMNS_IN_CONFIG = 6
+ for i in range(1, NUM_PLMNS_IN_CONFIG + 1):
+ PARAMETERS[(ParameterName.PLMN_N) % i] = TrParam(
+ FAPSERVICE_PATH + 'CellConfig.LTE.EPC.PLMNList.%d.' % i, True, TrParameterType.STRING, False,
+ )
+ PARAMETERS[ParameterName.PLMN_N_CELL_RESERVED % i] = TrParam(
+ FAPSERVICE_PATH
+ + 'CellConfig.LTE.EPC.PLMNList.%d.CellReservedForOperatorUse' % i, True, TrParameterType.BOOLEAN, False,
+ )
+ PARAMETERS[ParameterName.PLMN_N_ENABLE % i] = TrParam(
+ FAPSERVICE_PATH + 'CellConfig.LTE.EPC.PLMNList.%d.Enable' % i, True, TrParameterType.BOOLEAN, False,
+ )
+ PARAMETERS[ParameterName.PLMN_N_PRIMARY % i] = TrParam(
+ FAPSERVICE_PATH + 'CellConfig.LTE.EPC.PLMNList.%d.IsPrimary' % i, True, TrParameterType.BOOLEAN, False,
+ )
+ PARAMETERS[ParameterName.PLMN_N_PLMNID % i] = TrParam(
+ FAPSERVICE_PATH + 'CellConfig.LTE.EPC.PLMNList.%d.PLMNID' % i, True, TrParameterType.STRING, False,
+ )
+
+ TRANSFORMS_FOR_ENB = {
+ ParameterName.DL_BANDWIDTH: transform_for_enb.bandwidth,
+ ParameterName.UL_BANDWIDTH: transform_for_enb.bandwidth,
+ }
+ TRANSFORMS_FOR_MAGMA = {
+ ParameterName.DL_BANDWIDTH: transform_for_magma.bandwidth,
+ ParameterName.UL_BANDWIDTH: transform_for_magma.bandwidth,
+ # We don't set GPS, so we don't need transform for enb
+ ParameterName.GPS_LAT: transform_for_magma.gps_tr181,
+ ParameterName.GPS_LONG: transform_for_magma.gps_tr181,
+ }
+
+ @classmethod
+ def get_parameter(cls, param_name: ParameterName) -> Optional[TrParam]:
+ return cls.PARAMETERS.get(param_name)
+
+ @classmethod
+ def _get_magma_transforms(
+ cls,
+ ) -> Dict[ParameterName, Callable[[Any], Any]]:
+ return cls.TRANSFORMS_FOR_MAGMA
+
+ @classmethod
+ def _get_enb_transforms(cls) -> Dict[ParameterName, Callable[[Any], Any]]:
+ return cls.TRANSFORMS_FOR_ENB
+
+ @classmethod
+ def get_load_parameters(cls) -> List[ParameterName]:
+ return cls.LOAD_PARAMETERS
+
+ @classmethod
+ def get_num_plmns(cls) -> int:
+ return cls.NUM_PLMNS_IN_CONFIG
+
+ @classmethod
+ def get_parameter_names(cls) -> List[ParameterName]:
+ excluded_params = [
+ str(ParameterName.DEVICE),
+ str(ParameterName.FAP_SERVICE),
+ ]
+ names = list(
+ filter(
+ lambda x: (not str(x).startswith('PLMN'))
+ and (str(x) not in excluded_params),
+ cls.PARAMETERS.keys(),
+ ),
+ )
+ return names
+
+ @classmethod
+ def get_numbered_param_names(cls) -> Dict[ParameterName, List[ParameterName]]:
+ names = {}
+ for i in range(1, cls.NUM_PLMNS_IN_CONFIG + 1):
+ params = []
+ params.append(ParameterName.PLMN_N_CELL_RESERVED % i)
+ params.append(ParameterName.PLMN_N_ENABLE % i)
+ params.append(ParameterName.PLMN_N_PRIMARY % i)
+ params.append(ParameterName.PLMN_N_PLMNID % i)
+ names[ParameterName.PLMN_N % i] = params
+ return names
+
+
+class BaicellsTrConfigurationInitializer(EnodebConfigurationPostProcessor):
+ def postprocess(self, mconfig: Any, service_cfg: Any, desired_cfg: EnodebConfiguration) -> None:
+ desired_cfg.set_parameter(ParameterName.CELL_BARRED, False)
diff --git a/devices/baicells_old.py b/devices/baicells_old.py
new file mode 100644
index 0000000..f5db4b5
--- /dev/null
+++ b/devices/baicells_old.py
@@ -0,0 +1,329 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+from typing import Any, Callable, Dict, List, Optional, Type
+
+from common.service import MagmaService
+from data_models import transform_for_enb, transform_for_magma
+from data_models.data_model import DataModel, TrParam
+from data_models.data_model_parameters import (
+ ParameterName,
+ TrParameterType,
+)
+from device_config.enodeb_config_postprocessor import (
+ EnodebConfigurationPostProcessor,
+)
+from device_config.enodeb_configuration import EnodebConfiguration
+from devices.device_utils import EnodebDeviceName
+from state_machines.enb_acs_impl import BasicEnodebAcsStateMachine
+from state_machines.enb_acs_states import (
+ AddObjectsState,
+ BaicellsRemWaitState,
+ CheckOptionalParamsState,
+ DeleteObjectsState,
+ EnbSendRebootState,
+ EndSessionState,
+ EnodebAcsState,
+ ErrorState,
+ GetObjectParametersState,
+ GetParametersState,
+ SendGetTransientParametersState,
+ SetParameterValuesState,
+ WaitEmptyMessageState,
+ WaitGetObjectParametersState,
+ WaitGetParametersState,
+ WaitGetTransientParametersState,
+ WaitInformMRebootState,
+ WaitInformState,
+ WaitRebootResponseState,
+ WaitSetParameterValuesState,
+)
+
+
+class BaicellsOldHandler(BasicEnodebAcsStateMachine):
+ def __init__(
+ self,
+ service: MagmaService,
+ ) -> None:
+ self._state_map = {}
+ super().__init__(service=service, use_param_key=False)
+
+ def reboot_asap(self) -> None:
+ self.transition('reboot')
+
+ def is_enodeb_connected(self) -> bool:
+ return not isinstance(self.state, WaitInformState)
+
+ def _init_state_map(self) -> None:
+ self._state_map = {
+ 'wait_inform': WaitInformState(self, when_done='wait_empty', when_boot='wait_rem'),
+ 'wait_rem': BaicellsRemWaitState(self, when_done='wait_inform'),
+ 'wait_empty': WaitEmptyMessageState(self, when_done='get_transient_params', when_missing='check_optional_params'),
+ 'check_optional_params': CheckOptionalParamsState(self, when_done='get_transient_params'),
+ 'get_transient_params': SendGetTransientParametersState(self, when_done='wait_get_transient_params'),
+ 'wait_get_transient_params': WaitGetTransientParametersState(self, when_get='get_params', when_get_obj_params='get_obj_params', when_delete='delete_objs', when_add='add_objs', when_set='set_params', when_skip='end_session'),
+ 'get_params': GetParametersState(self, when_done='wait_get_params'),
+ 'wait_get_params': WaitGetParametersState(self, when_done='get_obj_params'),
+ 'get_obj_params': GetObjectParametersState(self, when_done='wait_get_obj_params'),
+ 'wait_get_obj_params': WaitGetObjectParametersState(self, when_delete='delete_objs', when_add='add_objs', when_set='set_params', when_skip='end_session'),
+ 'delete_objs': DeleteObjectsState(self, when_add='add_objs', when_skip='set_params'),
+ 'add_objs': AddObjectsState(self, when_done='set_params'),
+ 'set_params': SetParameterValuesState(self, when_done='wait_set_params'),
+ 'wait_set_params': WaitSetParameterValuesState(self, when_done='check_get_params', when_apply_invasive='reboot'),
+ 'check_get_params': GetParametersState(self, when_done='check_wait_get_params', request_all_params=True),
+ 'check_wait_get_params': WaitGetParametersState(self, when_done='end_session'),
+ 'end_session': EndSessionState(self),
+ 'reboot': EnbSendRebootState(self, when_done='wait_reboot'),
+ 'wait_reboot': WaitRebootResponseState(self, when_done='wait_post_reboot_inform'),
+ 'wait_post_reboot_inform': WaitInformMRebootState(self, when_done='wait_rem_post_reboot', when_timeout='wait_inform_post_reboot'),
+ # After rebooting, we don't need to query optional params again.
+ 'wait_inform_post_reboot': WaitInformState(self, when_done='wait_empty_post_reboot', when_boot='wait_rem_post_reboot'),
+ 'wait_rem_post_reboot': BaicellsRemWaitState(self, when_done='wait_inform_post_reboot'),
+ 'wait_empty_post_reboot': WaitEmptyMessageState(self, when_done='get_transient_params', when_missing='check_optional_params'),
+ # The states below are entered when an unexpected message type is
+ # received
+ 'unexpected_fault': ErrorState(self, inform_transition_target='wait_inform'),
+ }
+
+ @property
+ def device_name(self) -> str:
+ return EnodebDeviceName.BAICELLS_OLD
+
+ @property
+ def data_model_class(self) -> Type[DataModel]:
+ return BaicellsTrOldDataModel
+
+ @property
+ def config_postprocessor(self) -> EnodebConfigurationPostProcessor:
+ return BaicellsTrOldConfigurationInitializer()
+
+ @property
+ def state_map(self) -> Dict[str, EnodebAcsState]:
+ return self._state_map
+
+ @property
+ def disconnected_state_name(self) -> str:
+ return 'wait_inform'
+
+ @property
+ def unexpected_fault_state_name(self) -> str:
+ return 'unexpected_fault'
+
+
+class BaicellsTrOldDataModel(DataModel):
+ """
+ Class to represent relevant data model parameters from
+ TR-196/TR-098/TR-181.
+
+ This class is effectively read-only
+
+ This is for any version before BaiStation_V100R001C00B110SPC003
+
+ Some eNodeBs have a bug where the meaning of the following parameter is
+ inverted:
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.PLMNList.1.CellReservedForOperatorUse
+ I.e. CellReservedForOperatorUse = True in TR-196 results in the relevant
+ SIB parameter being advertised as 'CellReservedForOperatorUse notReserved',
+ and vice versa.
+
+ This issue was fixed in the above SW version, so the flag should be
+ inverted for the all versions PRECEEDING
+
+ The same problem exists for 'cell barred'. See above description
+ """
+ # Parameters to query when reading eNodeB config
+ LOAD_PARAMETERS = [ParameterName.DEVICE]
+ # Mapping of TR parameter paths to aliases
+ DEVICE_PATH = 'Device.'
+ FAPSERVICE_PATH = DEVICE_PATH + 'Services.FAPService.1.'
+ PARAMETERS = {
+ # Top-level objects
+ ParameterName.DEVICE: TrParam(DEVICE_PATH, True, TrParameterType.OBJECT, False),
+ ParameterName.FAP_SERVICE: TrParam(FAPSERVICE_PATH, True, TrParameterType.OBJECT, False),
+
+ # Device info parameters
+ ParameterName.GPS_STATUS: TrParam(DEVICE_PATH + 'DeviceInfo.X_BAICELLS_COM_GPS_Status', True, TrParameterType.BOOLEAN, False),
+ ParameterName.PTP_STATUS: TrParam(DEVICE_PATH + 'DeviceInfo.X_BAICELLS_COM_1588_Status', True, TrParameterType.BOOLEAN, False),
+ ParameterName.MME_STATUS: TrParam(DEVICE_PATH + 'DeviceInfo.X_BAICELLS_COM_MME_Status', True, TrParameterType.BOOLEAN, False),
+ ParameterName.REM_STATUS: TrParam(FAPSERVICE_PATH + 'REM.X_BAICELLS_COM_REM_Status', True, TrParameterType.BOOLEAN, True),
+ ParameterName.LOCAL_GATEWAY_ENABLE:
+ TrParam(DEVICE_PATH + 'DeviceInfo.X_BAICELLS_COM_LTE_LGW_Switch', False, TrParameterType.BOOLEAN, False),
+ ParameterName.GPS_ENABLE: TrParam(DEVICE_PATH + 'X_BAICELLS_COM_GpsSyncEnable', False, TrParameterType.BOOLEAN, True),
+ ParameterName.GPS_LAT: TrParam(DEVICE_PATH + 'FAP.GPS.LockedLatitude', True, TrParameterType.INT, True),
+ ParameterName.GPS_LONG: TrParam(DEVICE_PATH + 'FAP.GPS.LockedLongitude', True, TrParameterType.INT, True),
+ ParameterName.SW_VERSION: TrParam(DEVICE_PATH + 'DeviceInfo.SoftwareVersion', True, TrParameterType.STRING, False),
+ ParameterName.SERIAL_NUMBER: TrParam(DEVICE_PATH + 'DeviceInfo.SerialNumber', True, TrParameterType.STRING, False),
+
+ # Capabilities
+ ParameterName.DUPLEX_MODE_CAPABILITY: TrParam(
+ FAPSERVICE_PATH + 'Capabilities.LTE.DuplexMode', True, TrParameterType.STRING, False,
+ ),
+ ParameterName.BAND_CAPABILITY: TrParam(FAPSERVICE_PATH + 'Capabilities.LTE.BandsSupported', True, TrParameterType.STRING, False),
+
+ # RF-related parameters
+ ParameterName.EARFCNDL: TrParam(FAPSERVICE_PATH + 'X_BAICELLS_COM_LTE.EARFCNDLInUse', True, TrParameterType.INT, False),
+ ParameterName.EARFCNUL: TrParam(FAPSERVICE_PATH + 'X_BAICELLS_COM_LTE.EARFCNULInUse', True, TrParameterType.INT, False),
+ ParameterName.BAND: TrParam(FAPSERVICE_PATH + 'CellConfig.LTE.RAN.RF.FreqBandIndicator', True, TrParameterType.INT, False),
+ ParameterName.PCI: TrParam(FAPSERVICE_PATH + 'CellConfig.LTE.RAN.RF.PhyCellID', True, TrParameterType.INT, False),
+ ParameterName.DL_BANDWIDTH: TrParam(FAPSERVICE_PATH + 'CellConfig.LTE.RAN.RF.DLBandwidth', True, TrParameterType.STRING, False),
+ ParameterName.UL_BANDWIDTH: TrParam(FAPSERVICE_PATH + 'CellConfig.LTE.RAN.RF.ULBandwidth', True, TrParameterType.STRING, False),
+ ParameterName.SUBFRAME_ASSIGNMENT: TrParam(
+ FAPSERVICE_PATH
+ + 'CellConfig.LTE.RAN.PHY.TDDFrame.SubFrameAssignment', True, TrParameterType.INT, False,
+ ),
+ ParameterName.SPECIAL_SUBFRAME_PATTERN: TrParam(
+ FAPSERVICE_PATH
+ + 'CellConfig.LTE.RAN.PHY.TDDFrame.SpecialSubframePatterns', True, TrParameterType.INT, False,
+ ),
+ ParameterName.CELL_ID: TrParam(FAPSERVICE_PATH + 'CellConfig.LTE.RAN.Common.CellIdentity', True, TrParameterType.UNSIGNED_INT, False),
+
+ # Other LTE parameters
+ ParameterName.ADMIN_STATE: TrParam(FAPSERVICE_PATH + 'FAPControl.LTE.AdminState', False, TrParameterType.BOOLEAN, False),
+ ParameterName.OP_STATE: TrParam(FAPSERVICE_PATH + 'FAPControl.LTE.OpState', True, TrParameterType.BOOLEAN, False),
+ ParameterName.RF_TX_STATUS: TrParam(FAPSERVICE_PATH + 'FAPControl.LTE.RFTxStatus', True, TrParameterType.BOOLEAN, False),
+
+ # RAN parameters
+ ParameterName.CELL_RESERVED: TrParam(
+ FAPSERVICE_PATH
+ + 'CellConfig.LTE.RAN.CellRestriction.CellReservedForOperatorUse', True, TrParameterType.BOOLEAN, False,
+ ),
+ ParameterName.CELL_BARRED: TrParam(
+ FAPSERVICE_PATH
+ + 'CellConfig.LTE.RAN.CellRestriction.CellBarred', True, TrParameterType.BOOLEAN, False,
+ ),
+
+ # Core network parameters
+ ParameterName.MME_IP: TrParam(
+ FAPSERVICE_PATH + 'FAPControl.LTE.Gateway.S1SigLinkServerList', True, TrParameterType.STRING, False,
+ ),
+ ParameterName.MME_PORT: TrParam(FAPSERVICE_PATH + 'FAPControl.LTE.Gateway.S1SigLinkPort', True, TrParameterType.INT, False),
+ ParameterName.NUM_PLMNS: TrParam(
+ FAPSERVICE_PATH + 'CellConfig.LTE.EPC.PLMNListNumberOfEntries', True, TrParameterType.INT, False,
+ ),
+ ParameterName.PLMN: TrParam(FAPSERVICE_PATH + 'CellConfig.LTE.EPC.PLMNList.', True, TrParameterType.STRING, False),
+ # PLMN arrays are added below
+ ParameterName.TAC: TrParam(FAPSERVICE_PATH + 'CellConfig.LTE.EPC.TAC', True, TrParameterType.INT, False),
+ ParameterName.IP_SEC_ENABLE: TrParam(
+ DEVICE_PATH + 'Services.FAPService.Ipsec.IPSEC_ENABLE', False, TrParameterType.BOOLEAN, False,
+ ),
+ ParameterName.MME_POOL_ENABLE: TrParam(
+ FAPSERVICE_PATH +
+ 'FAPControl.LTE.Gateway.X_BAICELLS_COM_MmePool.Enable', True, TrParameterType.BOOLEAN, True,
+ ),
+
+ # Management server parameters
+ ParameterName.PERIODIC_INFORM_ENABLE:
+ TrParam(DEVICE_PATH + 'ManagementServer.PeriodicInformEnable', False, TrParameterType.BOOLEAN, False),
+ ParameterName.PERIODIC_INFORM_INTERVAL:
+ TrParam(DEVICE_PATH + 'ManagementServer.PeriodicInformInterval', False, TrParameterType.INT, False),
+
+ # Performance management parameters
+ ParameterName.PERF_MGMT_ENABLE: TrParam(
+ DEVICE_PATH + 'FAP.PerfMgmt.Config.1.Enable', False, TrParameterType.BOOLEAN, False,
+ ),
+ ParameterName.PERF_MGMT_UPLOAD_INTERVAL: TrParam(
+ DEVICE_PATH + 'FAP.PerfMgmt.Config.1.PeriodicUploadInterval', False, TrParameterType.INT, False,
+ ),
+ ParameterName.PERF_MGMT_UPLOAD_URL: TrParam(
+ DEVICE_PATH + 'FAP.PerfMgmt.Config.1.URL', False, TrParameterType.STRING, False,
+ ),
+
+ }
+
+ NUM_PLMNS_IN_CONFIG = 6
+ for i in range(1, NUM_PLMNS_IN_CONFIG + 1):
+ PARAMETERS[(ParameterName.PLMN_N) % i] = TrParam(
+ FAPSERVICE_PATH + 'CellConfig.LTE.EPC.PLMNList.%d.' % i, True, TrParameterType.STRING, False,
+ )
+ PARAMETERS[ParameterName.PLMN_N_CELL_RESERVED % i] = TrParam(
+ FAPSERVICE_PATH +
+ 'CellConfig.LTE.EPC.PLMNList.%d.CellReservedForOperatorUse' % i, True, TrParameterType.BOOLEAN, False,
+ )
+ PARAMETERS[ParameterName.PLMN_N_ENABLE % i] = TrParam(
+ FAPSERVICE_PATH + 'CellConfig.LTE.EPC.PLMNList.%d.Enable' % i, True, TrParameterType.BOOLEAN, False,
+ )
+ PARAMETERS[ParameterName.PLMN_N_PRIMARY % i] = TrParam(
+ FAPSERVICE_PATH + 'CellConfig.LTE.EPC.PLMNList.%d.IsPrimary' % i, True, TrParameterType.BOOLEAN, False,
+ )
+ PARAMETERS[ParameterName.PLMN_N_PLMNID % i] = TrParam(
+ FAPSERVICE_PATH + 'CellConfig.LTE.EPC.PLMNList.%d.PLMNID' % i, True, TrParameterType.STRING, False,
+ )
+
+ TRANSFORMS_FOR_ENB = {
+ ParameterName.DL_BANDWIDTH: transform_for_enb.bandwidth,
+ ParameterName.UL_BANDWIDTH: transform_for_enb.bandwidth,
+ ParameterName.CELL_BARRED: transform_for_enb.invert_cell_barred,
+ ParameterName.CELL_RESERVED: transform_for_enb.invert_cell_reserved,
+ }
+ TRANSFORMS_FOR_MAGMA = {
+ ParameterName.DL_BANDWIDTH: transform_for_magma.bandwidth,
+ ParameterName.UL_BANDWIDTH: transform_for_magma.bandwidth,
+ # We don't set GPS, so we don't need transform for enb
+ ParameterName.GPS_LAT: transform_for_magma.gps_tr181,
+ ParameterName.GPS_LONG: transform_for_magma.gps_tr181,
+ }
+
+ @classmethod
+ def get_parameter(cls, param_name: ParameterName) -> Optional[TrParam]:
+ return cls.PARAMETERS.get(param_name)
+
+ @classmethod
+ def _get_magma_transforms(
+ cls,
+ ) -> Dict[ParameterName, Callable[[Any], Any]]:
+ return cls.TRANSFORMS_FOR_MAGMA
+
+ @classmethod
+ def _get_enb_transforms(cls) -> Dict[ParameterName, Callable[[Any], Any]]:
+ return cls.TRANSFORMS_FOR_ENB
+
+ @classmethod
+ def get_load_parameters(cls) -> List[ParameterName]:
+ return cls.LOAD_PARAMETERS
+
+ @classmethod
+ def get_num_plmns(cls) -> int:
+ return cls.NUM_PLMNS_IN_CONFIG
+
+ @classmethod
+ def get_parameter_names(cls) -> List[ParameterName]:
+ excluded_params = [
+ str(ParameterName.DEVICE),
+ str(ParameterName.FAP_SERVICE),
+ ]
+ names = list(
+ filter(
+ lambda x: (not str(x).startswith('PLMN'))
+ and (str(x) not in excluded_params),
+ cls.PARAMETERS.keys(),
+ ),
+ )
+ return names
+
+ @classmethod
+ def get_numbered_param_names(cls) -> Dict[ParameterName, List[ParameterName]]:
+ names = {}
+ for i in range(1, cls.NUM_PLMNS_IN_CONFIG + 1):
+ params = []
+ params.append(ParameterName.PLMN_N_CELL_RESERVED % i)
+ params.append(ParameterName.PLMN_N_ENABLE % i)
+ params.append(ParameterName.PLMN_N_PRIMARY % i)
+ params.append(ParameterName.PLMN_N_PLMNID % i)
+ names[ParameterName.PLMN_N % i] = params
+
+ return names
+
+
+class BaicellsTrOldConfigurationInitializer(EnodebConfigurationPostProcessor):
+ def postprocess(self, mconfig: Any, service_cfg: Any, desired_cfg: EnodebConfiguration) -> None:
+ desired_cfg.set_parameter(ParameterName.CELL_BARRED, False)
diff --git a/devices/baicells_qafa.py b/devices/baicells_qafa.py
new file mode 100644
index 0000000..e30a59b
--- /dev/null
+++ b/devices/baicells_qafa.py
@@ -0,0 +1,271 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+from typing import Any, Callable, Dict, List, Optional, Type
+
+from common.service import MagmaService
+from data_models import transform_for_enb, transform_for_magma
+from data_models.data_model import DataModel, TrParam
+from data_models.data_model_parameters import (
+ ParameterName,
+ TrParameterType,
+)
+from device_config.enodeb_config_postprocessor import (
+ EnodebConfigurationPostProcessor,
+)
+from device_config.enodeb_configuration import EnodebConfiguration
+from devices.baicells_qafb import (
+ BaicellsQafbGetObjectParametersState,
+ BaicellsQafbWaitGetTransientParametersState,
+)
+from devices.device_utils import EnodebDeviceName
+from state_machines.enb_acs_impl import BasicEnodebAcsStateMachine
+from state_machines.enb_acs_states import (
+ AddObjectsState,
+ DeleteObjectsState,
+ EnbSendRebootState,
+ EndSessionState,
+ EnodebAcsState,
+ ErrorState,
+ GetParametersState,
+ GetRPCMethodsState,
+ SendGetTransientParametersState,
+ SetParameterValuesState,
+ WaitEmptyMessageState,
+ WaitGetParametersState,
+ WaitInformMRebootState,
+ WaitInformState,
+ WaitRebootResponseState,
+ WaitSetParameterValuesState,
+)
+
+
+class BaicellsQAFAHandler(BasicEnodebAcsStateMachine):
+ def __init__(
+ self,
+ service: MagmaService,
+ ) -> None:
+ self._state_map = {}
+ super().__init__(service=service, use_param_key=False)
+
+ def reboot_asap(self) -> None:
+ self.transition('reboot')
+
+ def is_enodeb_connected(self) -> bool:
+ return not isinstance(self.state, WaitInformState)
+
+ def _init_state_map(self) -> None:
+ self._state_map = {
+ 'wait_inform': WaitInformState(self, when_done='get_rpc_methods'),
+ 'get_rpc_methods': GetRPCMethodsState(self, when_done='wait_empty', when_skip='get_transient_params'),
+ 'wait_empty': WaitEmptyMessageState(self, when_done='get_transient_params'),
+ 'get_transient_params': SendGetTransientParametersState(self, when_done='wait_get_transient_params'),
+ 'wait_get_transient_params': BaicellsQafbWaitGetTransientParametersState(self, when_get='get_params', when_get_obj_params='get_obj_params', when_delete='delete_objs', when_add='add_objs', when_set='set_params', when_skip='end_session'),
+ 'get_params': GetParametersState(self, when_done='wait_get_params'),
+ 'wait_get_params': WaitGetParametersState(self, when_done='get_obj_params'),
+ 'get_obj_params': BaicellsQafbGetObjectParametersState(self, when_delete='delete_objs', when_add='add_objs', when_set='set_params', when_skip='end_session'),
+ 'delete_objs': DeleteObjectsState(self, when_add='add_objs', when_skip='set_params'),
+ 'add_objs': AddObjectsState(self, when_done='set_params'),
+ 'set_params': SetParameterValuesState(self, when_done='wait_set_params'),
+ 'wait_set_params': WaitSetParameterValuesState(self, when_done='check_get_params', when_apply_invasive='check_get_params'),
+ 'check_get_params': GetParametersState(self, when_done='check_wait_get_params', request_all_params=True),
+ 'check_wait_get_params': WaitGetParametersState(self, when_done='end_session'),
+ 'end_session': EndSessionState(self),
+ # These states are only entered through manual user intervention
+ 'reboot': EnbSendRebootState(self, when_done='wait_reboot'),
+ 'wait_reboot': WaitRebootResponseState(self, when_done='wait_post_reboot_inform'),
+ 'wait_post_reboot_inform': WaitInformMRebootState(self, when_done='wait_empty', when_timeout='wait_inform'),
+ # The states below are entered when an unexpected message type is
+ # received
+ 'unexpected_fault': ErrorState(self, inform_transition_target='wait_inform'),
+ }
+
+ @property
+ def device_name(self) -> str:
+ return EnodebDeviceName.BAICELLS_QAFA
+
+ @property
+ def data_model_class(self) -> Type[DataModel]:
+ return BaicellsQAFATrDataModel
+
+ @property
+ def config_postprocessor(self) -> EnodebConfigurationPostProcessor:
+ return BaicellsQAFATrConfigurationInitializer()
+
+ @property
+ def state_map(self) -> Dict[str, EnodebAcsState]:
+ return self._state_map
+
+ @property
+ def disconnected_state_name(self) -> str:
+ return 'wait_inform'
+
+ @property
+ def unexpected_fault_state_name(self) -> str:
+ return 'unexpected_fault'
+
+
+class BaicellsQAFATrDataModel(DataModel):
+ """
+ Class to represent relevant data model parameters from TR-196/TR-098.
+ This class is effectively read-only.
+
+ This model specifically targets Qualcomm-based BaiCells units running
+ QAFA firmware.
+
+ These models have these idiosyncrasies (on account of running TR098):
+
+ - Parameter content root is different (InternetGatewayDevice)
+ - GetParameter queries with a wildcard e.g. InternetGatewayDevice. do
+ not respond with the full tree (we have to query all parameters)
+ - MME status is not exposed - we assume the MME is connected if
+ the eNodeB is transmitting (OpState=true)
+ - Parameters such as band capability/duplex config
+ are rooted under `boardconf.` and not the device config root
+ - Parameters like Admin state, CellReservedForOperatorUse,
+ Duplex mode, DL bandwidth and Band capability have different
+ formats from Intel-based Baicells units, necessitating,
+ formatting before configuration and transforming values
+ read from eNodeB state.
+ - Num PLMNs is not reported by these units
+ """
+ # Mapping of TR parameter paths to aliases
+ DEVICE_PATH = 'InternetGatewayDevice.'
+ FAPSERVICE_PATH = DEVICE_PATH + 'Services.FAPService.1.'
+ EEPROM_PATH = 'boardconf.status.eepromInfo.'
+ PARAMETERS = {
+ # Top-level objects
+ ParameterName.DEVICE: TrParam(DEVICE_PATH, True, TrParameterType.OBJECT, False),
+ ParameterName.FAP_SERVICE: TrParam(FAPSERVICE_PATH, True, TrParameterType.OBJECT, False),
+
+ # Qualcomm units do not expose MME_Status (We assume that the eNB is broadcasting state is connected to the MME)
+ ParameterName.MME_STATUS: TrParam(FAPSERVICE_PATH + 'FAPControl.LTE.OpState', True, TrParameterType.BOOLEAN, False),
+ ParameterName.GPS_LAT: TrParam(DEVICE_PATH + 'FAP.GPS.latitude', True, TrParameterType.STRING, False),
+ ParameterName.GPS_LONG: TrParam(DEVICE_PATH + 'FAP.GPS.longitude', True, TrParameterType.STRING, False),
+ ParameterName.SW_VERSION: TrParam(DEVICE_PATH + 'DeviceInfo.SoftwareVersion', True, TrParameterType.STRING, False),
+ ParameterName.SERIAL_NUMBER: TrParam(DEVICE_PATH + 'DeviceInfo.SerialNumber', True, TrParameterType.STRING, False),
+
+ # Capabilities
+ ParameterName.DUPLEX_MODE_CAPABILITY: TrParam(EEPROM_PATH + 'div_multiple', True, TrParameterType.STRING, False),
+ ParameterName.BAND_CAPABILITY: TrParam(EEPROM_PATH + 'work_mode', True, TrParameterType.STRING, False),
+
+ # RF-related parameters
+ ParameterName.EARFCNDL: TrParam(FAPSERVICE_PATH + 'CellConfig.LTE.RAN.RF.EARFCNDL', True, TrParameterType.INT, False),
+ ParameterName.PCI: TrParam(FAPSERVICE_PATH + 'CellConfig.LTE.RAN.RF.PhyCellID', True, TrParameterType.INT, False),
+ ParameterName.DL_BANDWIDTH: TrParam(DEVICE_PATH + 'Services.RfConfig.1.RfCarrierCommon.carrierBwMhz', True, TrParameterType.INT, False),
+ ParameterName.SUBFRAME_ASSIGNMENT: TrParam(FAPSERVICE_PATH + 'CellConfig.LTE.RAN.PHY.TDDFrame.SubFrameAssignment', True, 'bool', False),
+ ParameterName.SPECIAL_SUBFRAME_PATTERN: TrParam(FAPSERVICE_PATH + 'CellConfig.LTE.RAN.PHY.TDDFrame.SpecialSubframePatterns', True, TrParameterType.INT, False),
+ ParameterName.CELL_ID: TrParam(FAPSERVICE_PATH + 'CellConfig.LTE.RAN.Common.CellIdentity', True, TrParameterType.UNSIGNED_INT, False),
+
+ # Other LTE parameters
+ ParameterName.ADMIN_STATE: TrParam(FAPSERVICE_PATH + 'FAPControl.LTE.AdminState', False, TrParameterType.STRING, False),
+ ParameterName.OP_STATE: TrParam(FAPSERVICE_PATH + 'FAPControl.LTE.OpState', True, TrParameterType.BOOLEAN, False),
+ ParameterName.RF_TX_STATUS: TrParam(FAPSERVICE_PATH + 'FAPControl.LTE.OpState', True, TrParameterType.BOOLEAN, False),
+
+ # Core network parameters
+ ParameterName.MME_IP: TrParam(FAPSERVICE_PATH + 'FAPControl.LTE.Gateway.S1SigLinkServerList', True, TrParameterType.STRING, False),
+ ParameterName.MME_PORT: TrParam(FAPSERVICE_PATH + 'FAPControl.LTE.Gateway.S1SigLinkPort', True, TrParameterType.INT, False),
+ # This parameter is standard but doesn't exist
+ # ParameterName.NUM_PLMNS: TrParam(FAPSERVICE_PATH + 'CellConfig.LTE.EPC.PLMNListNumberOfEntries', True, TrParameterType.INT, False),
+ ParameterName.TAC: TrParam(FAPSERVICE_PATH + 'CellConfig.LTE.EPC.TAC', True, TrParameterType.INT, False),
+ ParameterName.IP_SEC_ENABLE: TrParam('boardconf.ipsec.ipsecConfig.onBoot', False, TrParameterType.BOOLEAN, False),
+
+ # Management server parameters
+ ParameterName.PERIODIC_INFORM_ENABLE: TrParam(DEVICE_PATH + 'ManagementServer.PeriodicInformEnable', False, TrParameterType.BOOLEAN, False),
+ ParameterName.PERIODIC_INFORM_INTERVAL: TrParam(DEVICE_PATH + 'ManagementServer.PeriodicInformInterval', False, TrParameterType.INT, False),
+
+ # Performance management parameters
+ ParameterName.PERF_MGMT_ENABLE: TrParam(DEVICE_PATH + 'FAP.PerfMgmt.Config.Enable', False, TrParameterType.BOOLEAN, False),
+ ParameterName.PERF_MGMT_UPLOAD_INTERVAL: TrParam(DEVICE_PATH + 'FAP.PerfMgmt.Config.PeriodicUploadInterval', False, TrParameterType.INT, False),
+ ParameterName.PERF_MGMT_UPLOAD_URL: TrParam(DEVICE_PATH + 'FAP.PerfMgmt.Config.URL', False, TrParameterType.STRING, False),
+ }
+
+ NUM_PLMNS_IN_CONFIG = 6
+ TRANSFORMS_FOR_ENB = {
+ ParameterName.CELL_BARRED: transform_for_enb.invert_cell_barred,
+ }
+ for i in range(1, NUM_PLMNS_IN_CONFIG + 1):
+ TRANSFORMS_FOR_ENB[ParameterName.PLMN_N_CELL_RESERVED % i] = transform_for_enb.cell_reserved
+ PARAMETERS[ParameterName.PLMN_N % i] = TrParam(FAPSERVICE_PATH + 'CellConfig.LTE.EPC.PLMNList.%d.' % i, True, TrParameterType.STRING, False)
+ PARAMETERS[ParameterName.PLMN_N_CELL_RESERVED % i] = TrParam(FAPSERVICE_PATH + 'CellConfig.LTE.EPC.PLMNList.%d.CellReservedForOperatorUse' % i, True, TrParameterType.STRING, False)
+ PARAMETERS[ParameterName.PLMN_N_ENABLE % i] = TrParam(FAPSERVICE_PATH + 'CellConfig.LTE.EPC.PLMNList.%d.Enable' % i, True, TrParameterType.BOOLEAN, False)
+ PARAMETERS[ParameterName.PLMN_N_PRIMARY % i] = TrParam(FAPSERVICE_PATH + 'CellConfig.LTE.EPC.PLMNList.%d.IsPrimary' % i, True, TrParameterType.BOOLEAN, False)
+ PARAMETERS[ParameterName.PLMN_N_PLMNID % i] = TrParam(FAPSERVICE_PATH + 'CellConfig.LTE.EPC.PLMNList.%d.PLMNID' % i, True, TrParameterType.STRING, False)
+
+ TRANSFORMS_FOR_ENB[ParameterName.ADMIN_STATE] = transform_for_enb.admin_state
+ TRANSFORMS_FOR_MAGMA = {
+ # We don't set these parameters
+ ParameterName.BAND_CAPABILITY: transform_for_magma.band_capability,
+ ParameterName.DUPLEX_MODE_CAPABILITY: transform_for_magma.duplex_mode,
+ }
+
+ @classmethod
+ def get_parameter(cls, param_name: ParameterName) -> Optional[TrParam]:
+ return cls.PARAMETERS.get(param_name)
+
+ @classmethod
+ def _get_magma_transforms(
+ cls,
+ ) -> Dict[ParameterName, Callable[[Any], Any]]:
+ return cls.TRANSFORMS_FOR_MAGMA
+
+ @classmethod
+ def _get_enb_transforms(cls) -> Dict[ParameterName, Callable[[Any], Any]]:
+ return cls.TRANSFORMS_FOR_ENB
+
+ @classmethod
+ def get_load_parameters(cls) -> List[ParameterName]:
+ """
+ Load all the parameters instead of a subset.
+ """
+ return list(cls.PARAMETERS.keys())
+
+ @classmethod
+ def get_num_plmns(cls) -> int:
+ return cls.NUM_PLMNS_IN_CONFIG
+
+ @classmethod
+ def get_parameter_names(cls) -> List[ParameterName]:
+ excluded_params = [
+ str(ParameterName.DEVICE),
+ str(ParameterName.FAP_SERVICE),
+ ]
+ names = list(
+ filter(
+ lambda x: (not str(x).startswith('PLMN'))
+ and (str(x) not in excluded_params),
+ cls.PARAMETERS.keys(),
+ ),
+ )
+ return names
+
+ @classmethod
+ def get_numbered_param_names(
+ cls,
+ ) -> Dict[ParameterName, List[ParameterName]]:
+ names = {}
+ for i in range(1, cls.NUM_PLMNS_IN_CONFIG + 1):
+ params = []
+ params.append(ParameterName.PLMN_N_CELL_RESERVED % i)
+ params.append(ParameterName.PLMN_N_ENABLE % i)
+ params.append(ParameterName.PLMN_N_PRIMARY % i)
+ params.append(ParameterName.PLMN_N_PLMNID % i)
+ names[ParameterName.PLMN_N % i] = params
+
+ return names
+
+
+class BaicellsQAFATrConfigurationInitializer(EnodebConfigurationPostProcessor):
+ def postprocess(self, mconfig: Any, service_cfg: Any, desired_cfg: EnodebConfiguration) -> None:
+
+ desired_cfg.delete_parameter(ParameterName.ADMIN_STATE)
diff --git a/devices/baicells_qafb.py b/devices/baicells_qafb.py
new file mode 100644
index 0000000..0f2e9cd
--- /dev/null
+++ b/devices/baicells_qafb.py
@@ -0,0 +1,513 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+from typing import Any, Callable, Dict, List, Optional, Type
+
+from common.service import MagmaService
+from data_models import transform_for_enb, transform_for_magma
+from data_models.data_model import DataModel, TrParam
+from data_models.data_model_parameters import (
+ ParameterName,
+ TrParameterType,
+)
+from device_config.configuration_init import build_desired_config
+from device_config.enodeb_config_postprocessor import (
+ EnodebConfigurationPostProcessor,
+)
+from device_config.enodeb_configuration import EnodebConfiguration
+from devices.device_utils import EnodebDeviceName
+from logger import EnodebdLogger as logger
+from state_machines.acs_state_utils import (
+ get_all_objects_to_add,
+ get_all_objects_to_delete,
+ get_all_param_values_to_set,
+ get_params_to_get,
+ parse_get_parameter_values_response,
+)
+from state_machines.enb_acs import EnodebAcsStateMachine
+from state_machines.enb_acs_impl import BasicEnodebAcsStateMachine
+from state_machines.enb_acs_states import (
+ AcsMsgAndTransition,
+ AcsReadMsgResult,
+ AddObjectsState,
+ DeleteObjectsState,
+ EnbSendRebootState,
+ EndSessionState,
+ EnodebAcsState,
+ ErrorState,
+ GetParametersState,
+ GetRPCMethodsState,
+ SendGetTransientParametersState,
+ SetParameterValuesState,
+ WaitEmptyMessageState,
+ WaitGetParametersState,
+ WaitInformMRebootState,
+ WaitInformState,
+ WaitRebootResponseState,
+ WaitSetParameterValuesState,
+)
+from tr069 import models
+
+
+class BaicellsQAFBHandler(BasicEnodebAcsStateMachine):
+ def __init__(
+ self,
+ service: MagmaService,
+ ) -> None:
+ self._state_map = {}
+ super().__init__(service=service, use_param_key=False)
+
+ def reboot_asap(self) -> None:
+ self.transition('reboot')
+
+ def is_enodeb_connected(self) -> bool:
+ return not isinstance(self.state, WaitInformState)
+
+ def _init_state_map(self) -> None:
+ self._state_map = {
+ 'wait_inform': WaitInformState(self, when_done='get_rpc_methods'),
+ 'get_rpc_methods': GetRPCMethodsState(self, when_done='wait_empty', when_skip='get_transient_params'),
+ 'wait_empty': WaitEmptyMessageState(self, when_done='get_transient_params'),
+ 'get_transient_params': SendGetTransientParametersState(self, when_done='wait_get_transient_params'),
+ 'wait_get_transient_params': BaicellsQafbWaitGetTransientParametersState(self, when_get='get_params', when_get_obj_params='get_obj_params', when_delete='delete_objs', when_add='add_objs', when_set='set_params', when_skip='end_session'),
+ 'get_params': GetParametersState(self, when_done='wait_get_params'),
+ 'wait_get_params': WaitGetParametersState(self, when_done='get_obj_params'),
+ 'get_obj_params': BaicellsQafbGetObjectParametersState(self, when_delete='delete_objs', when_add='add_objs', when_set='set_params', when_skip='end_session'),
+ 'delete_objs': DeleteObjectsState(self, when_add='add_objs', when_skip='set_params'),
+ 'add_objs': AddObjectsState(self, when_done='set_params'),
+ 'set_params': SetParameterValuesState(self, when_done='wait_set_params'),
+ 'wait_set_params': WaitSetParameterValuesState(self, when_done='check_get_params', when_apply_invasive='check_get_params'),
+ 'check_get_params': GetParametersState(self, when_done='check_wait_get_params', request_all_params=True),
+ 'check_wait_get_params': WaitGetParametersState(self, when_done='end_session'),
+ 'end_session': EndSessionState(self),
+ # These states are only entered through manual user intervention
+ 'reboot': EnbSendRebootState(self, when_done='wait_reboot'),
+ 'wait_reboot': WaitRebootResponseState(self, when_done='wait_post_reboot_inform'),
+ 'wait_post_reboot_inform': WaitInformMRebootState(self, when_done='wait_empty', when_timeout='wait_inform'),
+ # The states below are entered when an unexpected message type is
+ # received
+ 'unexpected_fault': ErrorState(self, inform_transition_target='wait_inform'),
+ }
+
+ @property
+ def device_name(self) -> str:
+ return EnodebDeviceName.BAICELLS_QAFB
+
+ @property
+ def data_model_class(self) -> Type[DataModel]:
+ return BaicellsQAFBTrDataModel
+
+ @property
+ def config_postprocessor(self) -> EnodebConfigurationPostProcessor:
+ return BaicellsQAFBTrConfigurationInitializer()
+
+ @property
+ def state_map(self) -> Dict[str, EnodebAcsState]:
+ return self._state_map
+
+ @property
+ def disconnected_state_name(self) -> str:
+ return 'wait_inform'
+
+ @property
+ def unexpected_fault_state_name(self) -> str:
+ return 'unexpected_fault'
+
+
+def _get_object_params_to_get(
+ device_cfg: EnodebConfiguration,
+ data_model: DataModel,
+) -> List[ParameterName]:
+ """
+ Returns a list of parameter names for object parameters we don't know the
+ current value of.
+
+ Since there is no parameter for tracking the number of PLMNs, then we
+ make the assumption that if any PLMN object exists, then we've already
+ fetched the object parameter values.
+ """
+ if device_cfg.has_object(ParameterName.PLMN_N % 1):
+ return []
+
+ names = []
+ num_plmns = data_model.get_num_plmns()
+ obj_to_params = data_model.get_numbered_param_names()
+ for i in range(1, num_plmns + 1):
+ obj_name = ParameterName.PLMN_N % i
+ desired = obj_to_params[obj_name]
+ names = names + desired
+ return names
+
+
+class BaicellsQafbWaitGetTransientParametersState(EnodebAcsState):
+ """
+ Periodically read eNodeB status. Note: keep frequency low to avoid
+ backing up large numbers of read operations if enodebd is busy
+ """
+
+ def __init__(
+ self,
+ acs: EnodebAcsStateMachine,
+ when_get: str,
+ when_get_obj_params: str,
+ when_delete: str,
+ when_add: str,
+ when_set: str,
+ when_skip: str,
+ ):
+ super().__init__()
+ self.acs = acs
+ self.done_transition = when_get
+ self.get_obj_params_transition = when_get_obj_params
+ self.rm_obj_transition = when_delete
+ self.add_obj_transition = when_add
+ self.set_transition = when_set
+ self.skip_transition = when_skip
+
+ def read_msg(self, message: Any) -> AcsReadMsgResult:
+ """ Process GetParameterValuesResponse """
+ if not isinstance(message, models.GetParameterValuesResponse):
+ return AcsReadMsgResult(False, None)
+ # Current values of the fetched parameters
+ name_to_val = parse_get_parameter_values_response(
+ self.acs.data_model,
+ message,
+ )
+ logger.debug('Received Parameters: %s', str(name_to_val))
+
+ # Update device configuration
+ for name in name_to_val:
+ magma_value = \
+ self.acs.data_model.transform_for_magma(name, name_to_val[name])
+ self.acs.device_cfg.set_parameter(name, magma_value)
+
+ return AcsReadMsgResult(True, self.get_next_state())
+
+ def get_next_state(self) -> str:
+ should_get_params = \
+ len(
+ get_params_to_get(
+ self.acs.device_cfg,
+ self.acs.data_model,
+ ),
+ ) > 0
+ if should_get_params:
+ return self.done_transition
+ should_get_obj_params = \
+ len(
+ _get_object_params_to_get(
+ self.acs.device_cfg,
+ self.acs.data_model,
+ ),
+ ) > 0
+ if should_get_obj_params:
+ return self.get_obj_params_transition
+ elif len(
+ get_all_objects_to_delete(
+ self.acs.desired_cfg,
+ self.acs.device_cfg,
+ ),
+ ) > 0:
+ return self.rm_obj_transition
+ elif len(
+ get_all_objects_to_add(
+ self.acs.desired_cfg,
+ self.acs.device_cfg,
+ ),
+ ) > 0:
+ return self.add_obj_transition
+ return self.skip_transition
+
+ def state_description(self) -> str:
+ return 'Getting transient read-only parameters'
+
+
+class BaicellsQafbGetObjectParametersState(EnodebAcsState):
+ """
+ Get information on parameters belonging to objects that can be added or
+ removed from the configuration.
+
+ Baicells QAFB will report a parameter value as None if it does not exist
+ in the data model, rather than replying with a Fault message like most
+ eNB devices.
+ """
+
+ def __init__(
+ self,
+ acs: EnodebAcsStateMachine,
+ when_delete: str,
+ when_add: str,
+ when_set: str,
+ when_skip: str,
+ ):
+ super().__init__()
+ self.acs = acs
+ self.rm_obj_transition = when_delete
+ self.add_obj_transition = when_add
+ self.set_params_transition = when_set
+ self.skip_transition = when_skip
+
+ def get_msg(self, message: Any) -> AcsMsgAndTransition:
+ """ Respond with GetParameterValuesRequest """
+ names = _get_object_params_to_get(
+ self.acs.device_cfg,
+ self.acs.data_model,
+ )
+
+ # Generate the request
+ request = models.GetParameterValues()
+ request.ParameterNames = models.ParameterNames()
+ request.ParameterNames.arrayType = 'xsd:string[%d]' \
+ % len(names)
+ request.ParameterNames.string = []
+ for name in names:
+ path = self.acs.data_model.get_parameter(name).path
+ request.ParameterNames.string.append(path)
+
+ return AcsMsgAndTransition(request, None)
+
+ def read_msg(self, message: Any) -> AcsReadMsgResult:
+ """
+ Process GetParameterValuesResponse
+
+ Object parameters that have a reported value of None indicate that
+ the object is not in the eNB's configuration. Most eNB devices will
+ reply with a Fault message if we try to get values of parameters that
+ don't exist on the data model, so this is an idiosyncrasy of Baicells
+ QAFB.
+ """
+ if not isinstance(message, models.GetParameterValuesResponse):
+ return AcsReadMsgResult(False, None)
+
+ path_to_val = {}
+ for param_value_struct in message.ParameterList.ParameterValueStruct:
+ path_to_val[param_value_struct.Name] = \
+ param_value_struct.Value.Data
+
+ logger.debug('Received object parameters: %s', str(path_to_val))
+
+ num_plmns = self.acs.data_model.get_num_plmns()
+ for i in range(1, num_plmns + 1):
+ obj_name = ParameterName.PLMN_N % i
+ obj_to_params = self.acs.data_model.get_numbered_param_names()
+ param_name_list = obj_to_params[obj_name]
+ for name in param_name_list:
+ path = self.acs.data_model.get_parameter(name).path
+ if path in path_to_val:
+ value = path_to_val[path]
+ if value is None:
+ continue
+ if obj_name not in self.acs.device_cfg.get_object_names():
+ self.acs.device_cfg.add_object(obj_name)
+ magma_value = \
+ self.acs.data_model.transform_for_magma(name, value)
+ self.acs.device_cfg.set_parameter_for_object(
+ name,
+ magma_value,
+ obj_name,
+ )
+
+ # Now we have enough information to build the desired configuration
+ if self.acs.desired_cfg is None:
+ self.acs.desired_cfg = build_desired_config(
+ self.acs.mconfig,
+ self.acs.service_config,
+ self.acs.device_cfg,
+ self.acs.data_model,
+ self.acs.config_postprocessor,
+ )
+
+ if len(
+ get_all_objects_to_delete(
+ self.acs.desired_cfg,
+ self.acs.device_cfg,
+ ),
+ ) > 0:
+ return AcsReadMsgResult(True, self.rm_obj_transition)
+ elif len(
+ get_all_objects_to_add(
+ self.acs.desired_cfg,
+ self.acs.device_cfg,
+ ),
+ ) > 0:
+ return AcsReadMsgResult(True, self.add_obj_transition)
+ elif len(
+ get_all_param_values_to_set(
+ self.acs.desired_cfg,
+ self.acs.device_cfg,
+ self.acs.data_model,
+ ),
+ ) > 0:
+ return AcsReadMsgResult(True, self.set_params_transition)
+ return AcsReadMsgResult(True, self.skip_transition)
+
+ def state_description(self) -> str:
+ return 'Getting object parameters'
+
+
+class BaicellsQAFBTrDataModel(DataModel):
+ """
+ Class to represent relevant data model parameters from TR-196/TR-098.
+ This class is effectively read-only.
+
+ This model specifically targets Qualcomm-based BaiCells units running
+ QAFB firmware.
+
+ These models have these idiosyncrasies (on account of running TR098):
+
+ - Parameter content root is different (InternetGatewayDevice)
+ - GetParameter queries with a wildcard e.g. InternetGatewayDevice. do
+ not respond with the full tree (we have to query all parameters)
+ - MME status is not exposed - we assume the MME is connected if
+ the eNodeB is transmitting (OpState=true)
+ - Parameters such as band capability/duplex config
+ are rooted under `boardconf.` and not the device config root
+ - Parameters like Admin state, CellReservedForOperatorUse,
+ Duplex mode, DL bandwidth and Band capability have different
+ formats from Intel-based Baicells units, necessitating,
+ formatting before configuration and transforming values
+ read from eNodeB state.
+ - Num PLMNs is not reported by these units
+ """
+ # Mapping of TR parameter paths to aliases
+ DEVICE_PATH = 'InternetGatewayDevice.'
+ FAPSERVICE_PATH = DEVICE_PATH + 'Services.FAPService.1.'
+ EEPROM_PATH = 'boardconf.status.eepromInfo.'
+ PARAMETERS = {
+ # Top-level objects
+ ParameterName.DEVICE: TrParam(DEVICE_PATH, True, TrParameterType.OBJECT, False),
+ ParameterName.FAP_SERVICE: TrParam(FAPSERVICE_PATH, True, TrParameterType.OBJECT, False),
+
+ # Qualcomm units do not expose MME_Status (We assume that the eNB is broadcasting state is connected to the MME)
+ ParameterName.MME_STATUS: TrParam(FAPSERVICE_PATH + 'CellConfig.1.LTE.X_QUALCOMM_FAPControl.OpState', True, TrParameterType.BOOLEAN, False),
+ ParameterName.GPS_LAT: TrParam(DEVICE_PATH + 'FAP.GPS.latitude', True, TrParameterType.STRING, False),
+ ParameterName.GPS_LONG: TrParam(DEVICE_PATH + 'FAP.GPS.longitude', True, TrParameterType.STRING, False),
+ ParameterName.SW_VERSION: TrParam(DEVICE_PATH + 'DeviceInfo.SoftwareVersion', True, TrParameterType.STRING, False),
+ ParameterName.SERIAL_NUMBER: TrParam(DEVICE_PATH + 'DeviceInfo.SerialNumber', True, TrParameterType.STRING, False),
+
+ # Capabilities
+ ParameterName.DUPLEX_MODE_CAPABILITY: TrParam(EEPROM_PATH + 'div_multiple', True, TrParameterType.STRING, False),
+ ParameterName.BAND_CAPABILITY: TrParam(EEPROM_PATH + 'work_mode', True, TrParameterType.STRING, False),
+
+ # RF-related parameters
+ ParameterName.EARFCNDL: TrParam(FAPSERVICE_PATH + 'CellConfig.1.LTE.RAN.RF.EARFCNDL', True, TrParameterType.INT, False),
+ ParameterName.PCI: TrParam(FAPSERVICE_PATH + 'CellConfig.1.LTE.RAN.RF.PhyCellID', True, TrParameterType.INT, False),
+ ParameterName.DL_BANDWIDTH: TrParam(DEVICE_PATH + 'Services.RfConfig.1.RfCarrierCommon.carrierBwMhz', True, TrParameterType.INT, False),
+ ParameterName.SUBFRAME_ASSIGNMENT: TrParam(FAPSERVICE_PATH + 'CellConfig.1.LTE.RAN.PHY.TDDFrame.SubFrameAssignment', True, 'bool', False),
+ ParameterName.SPECIAL_SUBFRAME_PATTERN: TrParam(FAPSERVICE_PATH + 'CellConfig.1.LTE.RAN.PHY.TDDFrame.SpecialSubframePatterns', True, TrParameterType.INT, False),
+ ParameterName.CELL_ID: TrParam(FAPSERVICE_PATH + 'CellConfig.1.LTE.RAN.Common.CellIdentity', True, TrParameterType.UNSIGNED_INT, False),
+
+ # Other LTE parameters
+ ParameterName.ADMIN_STATE: TrParam(FAPSERVICE_PATH + 'CellConfig.1.LTE.X_QUALCOMM_FAPControl.AdminState', False, TrParameterType.STRING, False),
+ ParameterName.OP_STATE: TrParam(FAPSERVICE_PATH + 'CellConfig.1.LTE.X_QUALCOMM_FAPControl.OpState', True, TrParameterType.BOOLEAN, False),
+ ParameterName.RF_TX_STATUS: TrParam(FAPSERVICE_PATH + 'CellConfig.1.LTE.X_QUALCOMM_FAPControl.OpState', True, TrParameterType.BOOLEAN, False),
+
+ # Core network parameters
+ ParameterName.MME_IP: TrParam(FAPSERVICE_PATH + 'FAPControl.LTE.Gateway.S1SigLinkServerList', True, TrParameterType.STRING, False),
+ ParameterName.MME_PORT: TrParam(FAPSERVICE_PATH + 'FAPControl.LTE.Gateway.S1SigLinkPort', True, TrParameterType.INT, False),
+ # This parameter is standard but doesn't exist
+ # ParameterName.NUM_PLMNS: TrParam(FAPSERVICE_PATH + 'CellConfig.LTE.EPC.PLMNListNumberOfEntries', True, TrParameterType.INT, False),
+ ParameterName.TAC: TrParam(FAPSERVICE_PATH + 'CellConfig.1.LTE.EPC.TAC', True, TrParameterType.INT, False),
+ ParameterName.IP_SEC_ENABLE: TrParam('boardconf.ipsec.ipsecConfig.onBoot', False, TrParameterType.BOOLEAN, False),
+
+ # Management server parameters
+ ParameterName.PERIODIC_INFORM_ENABLE: TrParam(DEVICE_PATH + 'ManagementServer.PeriodicInformEnable', False, TrParameterType.BOOLEAN, False),
+ ParameterName.PERIODIC_INFORM_INTERVAL: TrParam(DEVICE_PATH + 'ManagementServer.PeriodicInformInterval', False, TrParameterType.INT, False),
+
+ # Performance management parameters
+ ParameterName.PERF_MGMT_ENABLE: TrParam(FAPSERVICE_PATH + 'CellConfig.1.X_QUALCOMM_PerfMgmt.Config.Enable', False, TrParameterType.BOOLEAN, False),
+ ParameterName.PERF_MGMT_UPLOAD_INTERVAL: TrParam(DEVICE_PATH + 'FAP.PerfMgmt.Config.PeriodicUploadInterval', False, TrParameterType.INT, False),
+ ParameterName.PERF_MGMT_UPLOAD_URL: TrParam(DEVICE_PATH + 'FAP.PerfMgmt.Config.URL', False, TrParameterType.STRING, False),
+ }
+
+ NUM_PLMNS_IN_CONFIG = 6
+ TRANSFORMS_FOR_ENB = {
+ ParameterName.CELL_BARRED: transform_for_enb.invert_cell_barred,
+ }
+ for i in range(1, NUM_PLMNS_IN_CONFIG + 1):
+ TRANSFORMS_FOR_ENB[ParameterName.PLMN_N_CELL_RESERVED % i] = transform_for_enb.cell_reserved
+ PARAMETERS[ParameterName.PLMN_N % i] = TrParam(FAPSERVICE_PATH + 'CellConfig.1.LTE.EPC.PLMNList.%d.' % i, True, TrParameterType.STRING, False)
+ PARAMETERS[ParameterName.PLMN_N_CELL_RESERVED % i] = TrParam(FAPSERVICE_PATH + 'CellConfig.1.LTE.EPC.PLMNList.%d.CellReservedForOperatorUse' % i, True, TrParameterType.STRING, False)
+ PARAMETERS[ParameterName.PLMN_N_ENABLE % i] = TrParam(FAPSERVICE_PATH + 'CellConfig.1.LTE.EPC.PLMNList.%d.Enable' % i, True, TrParameterType.BOOLEAN, False)
+ PARAMETERS[ParameterName.PLMN_N_PRIMARY % i] = TrParam(FAPSERVICE_PATH + 'CellConfig.1.LTE.EPC.PLMNList.%d.IsPrimary' % i, True, TrParameterType.BOOLEAN, False)
+ PARAMETERS[ParameterName.PLMN_N_PLMNID % i] = TrParam(FAPSERVICE_PATH + 'CellConfig.1.LTE.EPC.PLMNList.%d.PLMNID' % i, True, TrParameterType.STRING, False)
+
+ TRANSFORMS_FOR_ENB[ParameterName.ADMIN_STATE] = transform_for_enb.admin_state
+ TRANSFORMS_FOR_MAGMA = {
+ # We don't set these parameters
+ ParameterName.BAND_CAPABILITY: transform_for_magma.band_capability,
+ ParameterName.DUPLEX_MODE_CAPABILITY: transform_for_magma.duplex_mode,
+ }
+
+ @classmethod
+ def get_parameter(cls, param_name: ParameterName) -> Optional[TrParam]:
+ return cls.PARAMETERS.get(param_name)
+
+ @classmethod
+ def _get_magma_transforms(
+ cls,
+ ) -> Dict[ParameterName, Callable[[Any], Any]]:
+ return cls.TRANSFORMS_FOR_MAGMA
+
+ @classmethod
+ def _get_enb_transforms(cls) -> Dict[ParameterName, Callable[[Any], Any]]:
+ return cls.TRANSFORMS_FOR_ENB
+
+ @classmethod
+ def get_load_parameters(cls) -> List[ParameterName]:
+ """
+ Load all the parameters instead of a subset.
+ """
+ return list(cls.PARAMETERS.keys())
+
+ @classmethod
+ def get_num_plmns(cls) -> int:
+ return cls.NUM_PLMNS_IN_CONFIG
+
+ @classmethod
+ def get_parameter_names(cls) -> List[ParameterName]:
+ excluded_params = [
+ str(ParameterName.DEVICE),
+ str(ParameterName.FAP_SERVICE),
+ ]
+ names = list(
+ filter(
+ lambda x: (not str(x).startswith('PLMN'))
+ and (str(x) not in excluded_params),
+ cls.PARAMETERS.keys(),
+ ),
+ )
+ return names
+
+ @classmethod
+ def get_numbered_param_names(
+ cls,
+ ) -> Dict[ParameterName, List[ParameterName]]:
+ names = {}
+ for i in range(1, cls.NUM_PLMNS_IN_CONFIG + 1):
+ params = []
+ params.append(ParameterName.PLMN_N_CELL_RESERVED % i)
+ params.append(ParameterName.PLMN_N_ENABLE % i)
+ params.append(ParameterName.PLMN_N_PRIMARY % i)
+ params.append(ParameterName.PLMN_N_PLMNID % i)
+ names[ParameterName.PLMN_N % i] = params
+
+ return names
+
+
+class BaicellsQAFBTrConfigurationInitializer(EnodebConfigurationPostProcessor):
+ def postprocess(self, mconfig: Any, service_cfg: Any, desired_cfg: EnodebConfiguration) -> None:
+ # We don't set this parameter for this device, it should be
+ # auto-configured by the device.
+ desired_cfg.delete_parameter(ParameterName.ADMIN_STATE)
+ return
diff --git a/devices/baicells_rts.py b/devices/baicells_rts.py
new file mode 100644
index 0000000..9a2cafd
--- /dev/null
+++ b/devices/baicells_rts.py
@@ -0,0 +1,309 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+from typing import Any, Callable, Dict, List, Optional, Type
+
+from common.service import MagmaService
+from data_models import transform_for_enb, transform_for_magma
+from data_models.data_model import DataModel, TrParam
+from data_models.data_model_parameters import (
+ ParameterName,
+ TrParameterType,
+)
+from device_config.enodeb_config_postprocessor import (
+ EnodebConfigurationPostProcessor,
+)
+from device_config.enodeb_configuration import EnodebConfiguration
+from devices.device_utils import EnodebDeviceName
+from state_machines.enb_acs_impl import BasicEnodebAcsStateMachine
+from state_machines.enb_acs_states import (
+ AddObjectsState,
+ CheckOptionalParamsState,
+ DeleteObjectsState,
+ EnbSendRebootState,
+ EndSessionState,
+ EnodebAcsState,
+ ErrorState,
+ GetObjectParametersState,
+ GetParametersState,
+ SendGetTransientParametersState,
+ SetParameterValuesState,
+ WaitEmptyMessageState,
+ WaitGetObjectParametersState,
+ WaitGetParametersState,
+ WaitGetTransientParametersState,
+ WaitInformMRebootState,
+ WaitInformState,
+ WaitRebootResponseState,
+ WaitSetParameterValuesState,
+)
+
+
+class BaicellsRTSHandler(BasicEnodebAcsStateMachine):
+ def __init__(
+ self,
+ service: MagmaService,
+ ) -> None:
+ self._state_map = {}
+ super().__init__(service=service, use_param_key=False)
+
+ def reboot_asap(self) -> None:
+ self.transition('reboot')
+
+ def is_enodeb_connected(self) -> bool:
+ return not isinstance(self.state, WaitInformState)
+
+ def _init_state_map(self) -> None:
+ self._state_map = {
+ 'wait_inform': WaitInformState(self, when_done='wait_empty', when_boot=None),
+ 'wait_empty': WaitEmptyMessageState(self, when_done='get_transient_params', when_missing='check_optional_params'),
+ 'check_optional_params': CheckOptionalParamsState(self, when_done='get_transient_params'),
+ 'get_transient_params': SendGetTransientParametersState(self, when_done='wait_get_transient_params'),
+ 'wait_get_transient_params': WaitGetTransientParametersState(self, when_get='get_params', when_get_obj_params='get_obj_params', when_delete='delete_objs', when_add='add_objs', when_set='set_params', when_skip='end_session'),
+ 'get_params': GetParametersState(self, when_done='wait_get_params'),
+ 'wait_get_params': WaitGetParametersState(self, when_done='get_obj_params'),
+ 'get_obj_params': GetObjectParametersState(self, when_done='wait_get_obj_params'),
+ 'wait_get_obj_params': WaitGetObjectParametersState(self, when_delete='delete_objs', when_add='add_objs', when_set='set_params', when_skip='end_session'),
+ 'delete_objs': DeleteObjectsState(self, when_add='add_objs', when_skip='set_params'),
+ 'add_objs': AddObjectsState(self, when_done='set_params'),
+ 'set_params': SetParameterValuesState(self, when_done='wait_set_params'),
+ 'wait_set_params': WaitSetParameterValuesState(self, when_done='check_get_params', when_apply_invasive='reboot'),
+ 'check_get_params': GetParametersState(self, when_done='check_wait_get_params', request_all_params=True),
+ 'check_wait_get_params': WaitGetParametersState(self, when_done='end_session'),
+ 'end_session': EndSessionState(self),
+ 'reboot': EnbSendRebootState(self, when_done='wait_reboot'),
+ 'wait_reboot': WaitRebootResponseState(self, when_done='wait_post_reboot_inform'),
+ 'wait_post_reboot_inform': WaitInformMRebootState(self, when_done='wait_empty_post_reboot', when_timeout='wait_inform_post_reboot'),
+ 'wait_inform_post_reboot': WaitInformState(self, when_done='wait_empty_post_reboot', when_boot=None),
+ 'wait_empty_post_reboot': WaitEmptyMessageState(self, when_done='get_transient_params', when_missing='check_optional_params'),
+ # The states below are entered when an unexpected message type is
+ # received
+ 'unexpected_fault': ErrorState(self),
+ }
+
+ @property
+ def device_name(self) -> str:
+ return EnodebDeviceName.BAICELLS_RTS
+
+ @property
+ def data_model_class(self) -> Type[DataModel]:
+ return BaicellsRTSTrDataModel
+
+ @property
+ def config_postprocessor(self) -> EnodebConfigurationPostProcessor:
+ return BaicellsRTSTrConfigurationInitializer()
+
+ @property
+ def state_map(self) -> Dict[str, EnodebAcsState]:
+ return self._state_map
+
+ @property
+ def disconnected_state_name(self) -> str:
+ return 'wait_inform'
+
+ @property
+ def unexpected_fault_state_name(self) -> str:
+ return 'unexpected_fault'
+
+
+class BaicellsRTSTrDataModel(DataModel):
+ """
+ Class to represent relevant data model parameters from TR-196/TR-098/TR-181.
+ This class is effectively read-only
+
+ This is for any version beginning with BaiBS_ or after
+ """
+ # Parameters to query when reading eNodeB config
+ LOAD_PARAMETERS = [ParameterName.DEVICE]
+ # Mapping of TR parameter paths to aliases
+ DEVICE_PATH = 'Device.'
+ FAPSERVICE_PATH = DEVICE_PATH + 'Services.FAPService.1.'
+ PARAMETERS = {
+ # Top-level objects
+ ParameterName.DEVICE: TrParam(DEVICE_PATH, True, TrParameterType.OBJECT, False),
+ ParameterName.FAP_SERVICE: TrParam(FAPSERVICE_PATH, True, TrParameterType.OBJECT, False),
+
+ # Device info parameters
+ ParameterName.GPS_STATUS: TrParam(DEVICE_PATH + 'DeviceInfo.X_BAICELLS_COM_GPS_Status', True, TrParameterType.BOOLEAN, False),
+ ParameterName.PTP_STATUS: TrParam(DEVICE_PATH + 'DeviceInfo.X_BAICELLS_COM_1588_Status', True, TrParameterType.BOOLEAN, False),
+ ParameterName.MME_STATUS: TrParam(DEVICE_PATH + 'DeviceInfo.X_BAICELLS_COM_MME_Status', True, TrParameterType.BOOLEAN, False),
+ ParameterName.REM_STATUS: TrParam(FAPSERVICE_PATH + 'REM.X_BAICELLS_COM_REM_Status', True, TrParameterType.BOOLEAN, False),
+ ParameterName.LOCAL_GATEWAY_ENABLE:
+ TrParam(DEVICE_PATH + 'DeviceInfo.X_BAICELLS_COM_LTE_LGW_Switch', False, TrParameterType.BOOLEAN, False),
+ # Tested Baicells devices were missing this parameter
+ ParameterName.GPS_ENABLE: TrParam(DEVICE_PATH + 'X_BAICELLS_COM_GpsSyncEnable', False, TrParameterType.BOOLEAN, True),
+ ParameterName.GPS_LAT: TrParam(DEVICE_PATH + 'FAP.GPS.LockedLatitude', True, TrParameterType.INT, True),
+ ParameterName.GPS_LONG: TrParam(DEVICE_PATH + 'FAP.GPS.LockedLongitude', True, TrParameterType.INT, True),
+ ParameterName.SW_VERSION: TrParam(DEVICE_PATH + 'DeviceInfo.SoftwareVersion', True, TrParameterType.STRING, False),
+ ParameterName.SERIAL_NUMBER: TrParam(DEVICE_PATH + 'DeviceInfo.SerialNumber', True, TrParameterType.STRING, False),
+
+ # Capabilities
+ ParameterName.DUPLEX_MODE_CAPABILITY: TrParam(
+ FAPSERVICE_PATH + 'Capabilities.LTE.DuplexMode', True, TrParameterType.STRING, False,
+ ),
+ ParameterName.BAND_CAPABILITY: TrParam(FAPSERVICE_PATH + 'Capabilities.LTE.BandsSupported', True, TrParameterType.STRING, False),
+
+ # RF-related parameters
+ ParameterName.EARFCNDL: TrParam(FAPSERVICE_PATH + 'X_BAICELLS_COM_LTE.EARFCNDLInUse', True, TrParameterType.INT, False),
+ ParameterName.EARFCNUL: TrParam(FAPSERVICE_PATH + 'X_BAICELLS_COM_LTE.EARFCNULInUse', True, TrParameterType.INT, False),
+ ParameterName.BAND: TrParam(FAPSERVICE_PATH + 'CellConfig.LTE.RAN.RF.FreqBandIndicator', True, TrParameterType.INT, False),
+ ParameterName.PCI: TrParam(FAPSERVICE_PATH + 'CellConfig.LTE.RAN.RF.PhyCellID', False, TrParameterType.INT, False),
+ ParameterName.DL_BANDWIDTH: TrParam(FAPSERVICE_PATH + 'CellConfig.LTE.RAN.RF.DLBandwidth', True, TrParameterType.STRING, False),
+ ParameterName.UL_BANDWIDTH: TrParam(FAPSERVICE_PATH + 'CellConfig.LTE.RAN.RF.ULBandwidth', True, TrParameterType.STRING, False),
+ ParameterName.SUBFRAME_ASSIGNMENT: TrParam(
+ FAPSERVICE_PATH
+ + 'CellConfig.LTE.RAN.PHY.TDDFrame.SubFrameAssignment', True, TrParameterType.INT, False,
+ ),
+ ParameterName.SPECIAL_SUBFRAME_PATTERN: TrParam(
+ FAPSERVICE_PATH
+ + 'CellConfig.LTE.RAN.PHY.TDDFrame.SpecialSubframePatterns', True, TrParameterType.INT, False,
+ ),
+ ParameterName.CELL_ID: TrParam(FAPSERVICE_PATH + 'CellConfig.LTE.RAN.Common.CellIdentity', True, TrParameterType.UNSIGNED_INT, False),
+
+ # Other LTE parameters
+ ParameterName.ADMIN_STATE: TrParam(FAPSERVICE_PATH + 'FAPControl.LTE.AdminState', False, TrParameterType.BOOLEAN, False),
+ ParameterName.OP_STATE: TrParam(FAPSERVICE_PATH + 'FAPControl.LTE.OpState', True, TrParameterType.BOOLEAN, False),
+ ParameterName.RF_TX_STATUS: TrParam(FAPSERVICE_PATH + 'FAPControl.LTE.RFTxStatus', True, TrParameterType.BOOLEAN, False),
+
+ # RAN parameters
+ ParameterName.CELL_RESERVED: TrParam(
+ FAPSERVICE_PATH
+ + 'CellConfig.LTE.RAN.CellRestriction.CellReservedForOperatorUse', True, TrParameterType.BOOLEAN, False,
+ ),
+ ParameterName.CELL_BARRED: TrParam(
+ FAPSERVICE_PATH
+ + 'CellConfig.LTE.RAN.CellRestriction.CellBarred', True, TrParameterType.BOOLEAN, False,
+ ),
+
+ # Core network parameters
+ ParameterName.MME_IP: TrParam(
+ FAPSERVICE_PATH + 'FAPControl.LTE.Gateway.S1SigLinkServerList', True, TrParameterType.STRING, False,
+ ),
+ ParameterName.MME_PORT: TrParam(FAPSERVICE_PATH + 'FAPControl.LTE.Gateway.S1SigLinkPort', True, TrParameterType.INT, False),
+ ParameterName.NUM_PLMNS: TrParam(
+ FAPSERVICE_PATH + 'CellConfig.LTE.EPC.PLMNListNumberOfEntries', True, TrParameterType.INT, False,
+ ),
+ ParameterName.PLMN: TrParam(FAPSERVICE_PATH + 'CellConfig.LTE.EPC.PLMNList.', True, TrParameterType.STRING, False),
+ # PLMN arrays are added below
+ ParameterName.TAC: TrParam(FAPSERVICE_PATH + 'CellConfig.LTE.EPC.TAC', True, TrParameterType.INT, False),
+ ParameterName.IP_SEC_ENABLE: TrParam(
+ DEVICE_PATH + 'Services.FAPService.Ipsec.IPSEC_ENABLE', False, TrParameterType.BOOLEAN, False,
+ ),
+ ParameterName.MME_POOL_ENABLE: TrParam(
+ FAPSERVICE_PATH
+ + 'FAPControl.LTE.Gateway.X_BAICELLS_COM_MmePool.Enable', True, TrParameterType.BOOLEAN, False,
+ ),
+
+ # Management server parameters
+ ParameterName.PERIODIC_INFORM_ENABLE:
+ TrParam(DEVICE_PATH + 'ManagementServer.PeriodicInformEnable', False, TrParameterType.BOOLEAN, False),
+ ParameterName.PERIODIC_INFORM_INTERVAL:
+ TrParam(DEVICE_PATH + 'ManagementServer.PeriodicInformInterval', False, TrParameterType.INT, False),
+
+ # Performance management parameters
+ ParameterName.PERF_MGMT_ENABLE: TrParam(
+ DEVICE_PATH + 'FAP.PerfMgmt.Config.1.Enable', False, TrParameterType.BOOLEAN, False,
+ ),
+ ParameterName.PERF_MGMT_UPLOAD_INTERVAL: TrParam(
+ DEVICE_PATH + 'FAP.PerfMgmt.Config.1.PeriodicUploadInterval', False, TrParameterType.INT, False,
+ ),
+ ParameterName.PERF_MGMT_UPLOAD_URL: TrParam(
+ DEVICE_PATH + 'FAP.PerfMgmt.Config.1.URL', False, TrParameterType.STRING, False,
+ ),
+
+ }
+
+ NUM_PLMNS_IN_CONFIG = 6
+ for i in range(1, NUM_PLMNS_IN_CONFIG + 1):
+ PARAMETERS[(ParameterName.PLMN_N) % i] = TrParam(
+ FAPSERVICE_PATH + 'CellConfig.LTE.EPC.PLMNList.%d.' % i, True, TrParameterType.STRING, False,
+ )
+ PARAMETERS[ParameterName.PLMN_N_CELL_RESERVED % i] = TrParam(
+ FAPSERVICE_PATH
+ + 'CellConfig.LTE.EPC.PLMNList.%d.CellReservedForOperatorUse' % i, True, TrParameterType.BOOLEAN, False,
+ )
+ PARAMETERS[ParameterName.PLMN_N_ENABLE % i] = TrParam(
+ FAPSERVICE_PATH + 'CellConfig.LTE.EPC.PLMNList.%d.Enable' % i, True, TrParameterType.BOOLEAN, False,
+ )
+ PARAMETERS[ParameterName.PLMN_N_PRIMARY % i] = TrParam(
+ FAPSERVICE_PATH + 'CellConfig.LTE.EPC.PLMNList.%d.IsPrimary' % i, True, TrParameterType.BOOLEAN, False,
+ )
+ PARAMETERS[ParameterName.PLMN_N_PLMNID % i] = TrParam(
+ FAPSERVICE_PATH + 'CellConfig.LTE.EPC.PLMNList.%d.PLMNID' % i, True, TrParameterType.STRING, False,
+ )
+
+ TRANSFORMS_FOR_ENB = {
+ ParameterName.DL_BANDWIDTH: transform_for_enb.bandwidth,
+ ParameterName.UL_BANDWIDTH: transform_for_enb.bandwidth,
+ }
+ TRANSFORMS_FOR_MAGMA = {
+ ParameterName.DL_BANDWIDTH: transform_for_magma.bandwidth,
+ ParameterName.UL_BANDWIDTH: transform_for_magma.bandwidth,
+ # We don't set GPS, so we don't need transform for enb
+ ParameterName.GPS_LAT: transform_for_magma.gps_tr181,
+ ParameterName.GPS_LONG: transform_for_magma.gps_tr181,
+ }
+
+ @classmethod
+ def get_parameter(cls, param_name: ParameterName) -> Optional[TrParam]:
+ return cls.PARAMETERS.get(param_name)
+
+ @classmethod
+ def _get_magma_transforms(
+ cls,
+ ) -> Dict[ParameterName, Callable[[Any], Any]]:
+ return cls.TRANSFORMS_FOR_MAGMA
+
+ @classmethod
+ def _get_enb_transforms(cls) -> Dict[ParameterName, Callable[[Any], Any]]:
+ return cls.TRANSFORMS_FOR_ENB
+
+ @classmethod
+ def get_load_parameters(cls) -> List[ParameterName]:
+ return cls.LOAD_PARAMETERS
+
+ @classmethod
+ def get_num_plmns(cls) -> int:
+ return cls.NUM_PLMNS_IN_CONFIG
+
+ @classmethod
+ def get_parameter_names(cls) -> List[ParameterName]:
+ excluded_params = [
+ str(ParameterName.DEVICE),
+ str(ParameterName.FAP_SERVICE),
+ ]
+ names = list(
+ filter(
+ lambda x: (not str(x).startswith('PLMN'))
+ and (str(x) not in excluded_params),
+ cls.PARAMETERS.keys(),
+ ),
+ )
+ return names
+
+ @classmethod
+ def get_numbered_param_names(cls) -> Dict[ParameterName, List[ParameterName]]:
+ names = {}
+ for i in range(1, cls.NUM_PLMNS_IN_CONFIG + 1):
+ params = []
+ params.append(ParameterName.PLMN_N_CELL_RESERVED % i)
+ params.append(ParameterName.PLMN_N_ENABLE % i)
+ params.append(ParameterName.PLMN_N_PRIMARY % i)
+ params.append(ParameterName.PLMN_N_PLMNID % i)
+ names[ParameterName.PLMN_N % i] = params
+ return names
+
+
+class BaicellsRTSTrConfigurationInitializer(EnodebConfigurationPostProcessor):
+ def postprocess(self, mconfig: Any, service_cfg: Any, desired_cfg: EnodebConfiguration) -> None:
+ desired_cfg.set_parameter(ParameterName.CELL_BARRED, False)
diff --git a/devices/device_map.py b/devices/device_map.py
new file mode 100644
index 0000000..198c4d3
--- /dev/null
+++ b/devices/device_map.py
@@ -0,0 +1,44 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+from typing import Type
+
+from devices.baicells import BaicellsHandler
+from devices.baicells_old import BaicellsOldHandler
+from devices.baicells_qafa import BaicellsQAFAHandler
+from devices.baicells_qafb import BaicellsQAFBHandler
+from devices.baicells_rts import BaicellsRTSHandler
+from devices.device_utils import EnodebDeviceName
+from devices.experimental.cavium import CaviumHandler
+from devices.freedomfi_one import FreedomFiOneHandler
+from state_machines.enb_acs import EnodebAcsStateMachine
+
+# This exists only to break a circular dependency. Otherwise there's no
+# point of having these names for the devices
+
+
+DEVICE_HANDLER_BY_NAME = {
+ EnodebDeviceName.BAICELLS: BaicellsHandler,
+ EnodebDeviceName.BAICELLS_OLD: BaicellsOldHandler,
+ EnodebDeviceName.BAICELLS_QAFA: BaicellsQAFAHandler,
+ EnodebDeviceName.BAICELLS_QAFB: BaicellsQAFBHandler,
+ EnodebDeviceName.BAICELLS_RTS: BaicellsRTSHandler,
+ EnodebDeviceName.CAVIUM: CaviumHandler,
+ EnodebDeviceName.FREEDOMFI_ONE: FreedomFiOneHandler,
+}
+
+
+def get_device_handler_from_name(
+ name: EnodebDeviceName,
+) -> Type[EnodebAcsStateMachine]:
+ return DEVICE_HANDLER_BY_NAME[name]
diff --git a/devices/device_utils.py b/devices/device_utils.py
new file mode 100644
index 0000000..3eb91cb
--- /dev/null
+++ b/devices/device_utils.py
@@ -0,0 +1,114 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+import re
+
+from exceptions import UnrecognizedEnodebError
+from logger import EnodebdLogger as logger
+
+
+class EnodebDeviceName:
+ """
+ This exists only to break a circular dependency. Otherwise there's no
+ point of having these names for the devices
+ """
+
+ BAICELLS = "Baicells"
+ BAICELLS_OLD = "Baicells Old"
+ BAICELLS_QAFA = "Baicells QAFA"
+ BAICELLS_QAFB = "Baicells QAFB"
+ BAICELLS_RTS = "Baicells RTS"
+ CAVIUM = "Cavium"
+ FREEDOMFI_ONE = "FREEDOMFI ONE"
+
+
+def get_device_name(device_oui: str, sw_version: str,) -> str:
+ """
+ Use the manufacturer organization unique identifier read during INFORM
+ to select the TR data model used for configuration and status reports
+
+ Qualcomm-based Baicells eNodeBs use a TR098-based model different
+ from the Intel units. The software version on the Qualcomm models
+ also further limits the model usable by that device.
+
+ Args:
+ device_oui: string, OUI representing device vendor
+ sw_version: string, firmware version of eNodeB device
+
+ Returns:
+ DataModel
+ """
+ if device_oui in {"34ED0B", "48BF74"}:
+ if sw_version.startswith("BaiBS_QAFB"):
+ return EnodebDeviceName.BAICELLS_QAFB
+ elif sw_version.startswith("BaiBS_QAFA"):
+ return EnodebDeviceName.BAICELLS_QAFA
+ elif sw_version.startswith("BaiStation_"):
+ # Note: to disable flag inversion completely (for all builds),
+ # set to BaiStation_V000R000C00B000SPC000
+ # Note: to force flag inversion always (for all builds),
+ # set to BaiStation_V999R999C99B999SPC999
+ invert_before_version = _parse_sw_version(
+ "BaiStation_V100R001C00B110SPC003"
+ )
+ if _parse_sw_version(sw_version) < invert_before_version:
+ return EnodebDeviceName.BAICELLS_OLD
+ return EnodebDeviceName.BAICELLS
+ elif sw_version.startswith("BaiBS_RTS_"):
+ return EnodebDeviceName.BAICELLS_RTS
+ elif sw_version.startswith("BaiBS_RTSH_"):
+ return EnodebDeviceName.BAICELLS_RTS
+ else:
+ raise UnrecognizedEnodebError(
+ "Device %s unsupported: Software (%s)" % (device_oui, sw_version),
+ )
+ elif device_oui in {"000FB7", "744D28"}:
+ return EnodebDeviceName.CAVIUM
+ elif device_oui == "000E8F":
+ return EnodebDeviceName.FREEDOMFI_ONE
+ else:
+ raise UnrecognizedEnodebError("Device %s unsupported" % device_oui)
+
+
+def _parse_sw_version(version_str):
+ """
+ Parse SW version string.
+ Expects format: BaiStation_V100R001C00B110SPC003
+ For the above version string, returns: [100, 1, 0, 110, 3]
+ Note: trailing characters (for dev builds) are ignored. Null is returned
+ for version strings that don't match the above format.
+ """
+ logger.debug("Got firmware version: %s", version_str)
+
+ version = re.findall(
+ r"BaiStation_V(\d{3})R(\d{3})C(\d{2})B(\d{3})SPC(\d{3})", version_str,
+ )
+ if not version:
+ return None
+ elif len(version) > 1:
+ logger.warning(
+ "SW version (%s) not formatted as expected", version_str,
+ )
+ version_int = []
+ for num in version[0]:
+ try:
+ version_int.append(int(num))
+ except ValueError:
+ logger.warning(
+ "SW version (%s) not formatted as expected", version_str,
+ )
+ return None
+
+ logger.debug("Parsed firmware version: %s", version_int)
+
+ return version_int
diff --git a/devices/experimental/cavium.py b/devices/experimental/cavium.py
new file mode 100644
index 0000000..c62a622
--- /dev/null
+++ b/devices/experimental/cavium.py
@@ -0,0 +1,491 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+from typing import Any, Callable, Dict, List, Optional, Type
+
+from common.service import MagmaService
+from data_models import transform_for_enb, transform_for_magma
+from data_models.data_model import DataModel, TrParam
+from data_models.data_model_parameters import (
+ ParameterName,
+ TrParameterType,
+)
+from device_config.enodeb_config_postprocessor import (
+ EnodebConfigurationPostProcessor,
+)
+from device_config.enodeb_configuration import EnodebConfiguration
+from devices.device_utils import EnodebDeviceName
+from exceptions import Tr069Error
+from logger import EnodebdLogger as logger
+from state_machines.acs_state_utils import (
+ get_all_objects_to_add,
+ get_all_objects_to_delete,
+)
+from state_machines.enb_acs import EnodebAcsStateMachine
+from state_machines.enb_acs_impl import BasicEnodebAcsStateMachine
+from state_machines.enb_acs_states import (
+ AcsMsgAndTransition,
+ AcsReadMsgResult,
+ AddObjectsState,
+ DeleteObjectsState,
+ EndSessionState,
+ EnodebAcsState,
+ ErrorState,
+ GetParametersState,
+ GetRPCMethodsState,
+ SendGetTransientParametersState,
+ SendRebootState,
+ SetParameterValuesNotAdminState,
+ WaitEmptyMessageState,
+ WaitGetObjectParametersState,
+ WaitGetParametersState,
+ WaitGetTransientParametersState,
+ WaitInformMRebootState,
+ WaitInformState,
+ WaitRebootResponseState,
+ WaitSetParameterValuesState,
+)
+from tr069 import models
+
+
+class CaviumHandler(BasicEnodebAcsStateMachine):
+ def __init__(
+ self,
+ service: MagmaService,
+ ) -> None:
+ self._state_map = {}
+ super().__init__(service=service, use_param_key=False)
+
+ def reboot_asap(self) -> None:
+ self.transition('reboot')
+
+ def is_enodeb_connected(self) -> bool:
+ return not isinstance(self.state, WaitInformState)
+
+ def _init_state_map(self) -> None:
+ self._state_map = {
+ 'wait_inform': WaitInformState(self, when_done='get_rpc_methods'),
+ 'get_rpc_methods': GetRPCMethodsState(self, when_done='wait_empty', when_skip='get_transient_params'),
+ 'wait_empty': WaitEmptyMessageState(self, when_done='get_transient_params'),
+ 'get_transient_params': SendGetTransientParametersState(self, when_done='wait_get_transient_params'),
+ 'wait_get_transient_params': WaitGetTransientParametersState(self, when_get='get_params', when_get_obj_params='get_obj_params', when_delete='delete_objs', when_add='add_objs', when_set='set_params', when_skip='end_session'),
+ 'get_params': GetParametersState(self, when_done='wait_get_params'),
+ 'wait_get_params': WaitGetParametersState(self, when_done='get_obj_params'),
+ 'get_obj_params': CaviumGetObjectParametersState(self, when_done='wait_get_obj_params'),
+ 'wait_get_obj_params': CaviumWaitGetObjectParametersState(self, when_edit='disable_admin', when_skip='get_transient_params'),
+ 'disable_admin': CaviumDisableAdminEnableState(self, admin_value=False, when_done='wait_disable_admin'),
+ 'wait_disable_admin': CaviumWaitDisableAdminEnableState(self, admin_value=False, when_add='add_objs', when_delete='delete_objs', when_done='set_params'),
+ 'delete_objs': DeleteObjectsState(self, when_add='add_objs', when_skip='set_params'),
+ 'add_objs': AddObjectsState(self, when_done='set_params'),
+ 'set_params': SetParameterValuesNotAdminState(self, when_done='wait_set_params'),
+ 'wait_set_params': WaitSetParameterValuesState(self, when_done='enable_admin', when_apply_invasive='enable_admin'),
+ 'enable_admin': CaviumDisableAdminEnableState(self, admin_value=True, when_done='wait_enable_admin'),
+ 'wait_enable_admin': CaviumWaitDisableAdminEnableState(self, admin_value=True, when_done='check_get_params', when_add='check_get_params', when_delete='check_get_params'),
+ 'check_get_params': GetParametersState(self, when_done='check_wait_get_params', request_all_params=True),
+ 'check_wait_get_params': WaitGetParametersState(self, when_done='end_session'),
+ 'end_session': EndSessionState(self),
+ # Below states only entered through manual user intervention
+ 'reboot': SendRebootState(self, when_done='wait_reboot'),
+ 'wait_reboot': WaitRebootResponseState(self, when_done='wait_post_reboot_inform'),
+ 'wait_post_reboot_inform': WaitInformMRebootState(self, when_done='wait_reboot_delay', when_timeout='wait_inform'),
+ # The states below are entered when an unexpected message type is
+ # received
+ 'unexpected_fault': ErrorState(self, inform_transition_target='wait_inform'),
+ }
+
+ @property
+ def device_name(self) -> str:
+ return EnodebDeviceName.CAVIUM
+
+ @property
+ def data_model_class(self) -> Type[DataModel]:
+ return CaviumTrDataModel
+
+ @property
+ def config_postprocessor(self) -> EnodebConfigurationPostProcessor:
+ return CaviumTrConfigurationInitializer()
+
+ @property
+ def state_map(self) -> Dict[str, EnodebAcsState]:
+ return self._state_map
+
+ @property
+ def disconnected_state_name(self) -> str:
+ return 'wait_inform'
+
+ @property
+ def unexpected_fault_state_name(self) -> str:
+ return 'unexpected_fault'
+
+
+class CaviumGetObjectParametersState(EnodebAcsState):
+ """
+ When booted, the PLMN list is empty so we cannot get individual
+ object parameters. Instead, get the parent object PLMN_LIST
+ which will include any children if they exist.
+ """
+
+ def __init__(self, acs: EnodebAcsStateMachine, when_done: str):
+ super().__init__()
+ self.acs = acs
+ self.done_transition = when_done
+
+ def get_msg(self, message: Any) -> AcsMsgAndTransition:
+ """ Respond with GetParameterValuesRequest """
+ names = [ParameterName.PLMN_LIST]
+
+ # Generate the request
+ request = models.GetParameterValues()
+ request.ParameterNames = models.ParameterNames()
+ request.ParameterNames.arrayType = 'xsd:string[%d]' \
+ % len(names)
+ request.ParameterNames.string = []
+ for name in names:
+ path = self.acs.data_model.get_parameter(name).path
+ request.ParameterNames.string.append(path)
+
+ return AcsMsgAndTransition(request, self.done_transition)
+
+ def state_description(self) -> str:
+ return 'Getting object parameters'
+
+
+class CaviumWaitGetObjectParametersState(WaitGetObjectParametersState):
+ def __init__(
+ self,
+ acs: EnodebAcsStateMachine,
+ when_edit: str,
+ when_skip: str,
+ ):
+ super().__init__(
+ acs=acs,
+ when_add=when_edit,
+ when_delete=when_edit,
+ when_set=when_edit,
+ when_skip=when_skip,
+ )
+
+
+class CaviumDisableAdminEnableState(EnodebAcsState):
+ """
+ Cavium requires that we disable 'Admin Enable' before configuring
+ most parameters
+ """
+
+ def __init__(self, acs: EnodebAcsStateMachine, admin_value: bool, when_done: str):
+ super().__init__()
+ self.acs = acs
+ self.admin_value = admin_value
+ self.done_transition = when_done
+
+ def read_msg(self, message: Any) -> AcsReadMsgResult:
+ if not isinstance(message, models.DummyInput):
+ return AcsReadMsgResult(False, None)
+ return AcsReadMsgResult(True, None)
+
+ def get_msg(self, message: Any) -> AcsMsgAndTransition:
+ """
+ Returns:
+ A SetParameterValueRequest for setting 'Admin Enable' to False
+ """
+ param_name = ParameterName.ADMIN_STATE
+ # if we want the cell to be down don't force it up
+ desired_admin_value = \
+ self.acs.desired_cfg.get_parameter(param_name) \
+ and self.admin_value
+ admin_value = \
+ self.acs.data_model.transform_for_enb(
+ param_name,
+ desired_admin_value,
+ )
+ admin_path = self.acs.data_model.get_parameter(param_name).path
+ param_values = {admin_path: admin_value}
+
+ request = models.SetParameterValues()
+ request.ParameterList = models.ParameterValueList()
+ request.ParameterList.arrayType = 'cwmp:ParameterValueStruct[%d]' \
+ % len(param_values)
+
+ name_value = models.ParameterValueStruct()
+ name_value.Name = admin_path
+ name_value.Value = models.anySimpleType()
+ name_value.Value.type = 'xsd:string'
+ name_value.Value.Data = str(admin_value)
+ request.ParameterList.ParameterValueStruct = [name_value]
+
+ return AcsMsgAndTransition(request, self.done_transition)
+
+ def state_description(self) -> str:
+ return 'Disabling admin_enable (Cavium only)'
+
+
+class CaviumWaitDisableAdminEnableState(EnodebAcsState):
+ def __init__(
+ self,
+ acs: EnodebAcsStateMachine,
+ admin_value: bool,
+ when_done: str,
+ when_add: str,
+ when_delete: str,
+ ):
+ super().__init__()
+ self.acs = acs
+ self.done_transition = when_done
+ self.add_obj_transition = when_add
+ self.del_obj_transition = when_delete
+ self.admin_value = admin_value
+
+ def read_msg(self, message: Any) -> Optional[str]:
+ if type(message) == models.Fault:
+ logger.error('Received Fault in response to SetParameterValues')
+ if message.SetParameterValuesFault is not None:
+ for fault in message.SetParameterValuesFault:
+ logger.error(
+ 'SetParameterValuesFault Param: %s, Code: %s, String: %s',
+ fault.ParameterName, fault.FaultCode, fault.FaultString,
+ )
+ raise Tr069Error(
+ 'Received Fault in response to SetParameterValues '
+ '(faultstring = %s)' % message.FaultString,
+ )
+ elif not isinstance(message, models.SetParameterValuesResponse):
+ return AcsReadMsgResult(False, None)
+ if message.Status != 0:
+ raise Tr069Error(
+ 'Received SetParameterValuesResponse with '
+ 'Status=%d' % message.Status,
+ )
+ param_name = ParameterName.ADMIN_STATE
+ desired_admin_value = \
+ self.acs.desired_cfg.get_parameter(param_name) \
+ and self.admin_value
+ magma_value = \
+ self.acs.data_model.transform_for_magma(
+ param_name,
+ desired_admin_value,
+ )
+ self.acs.device_cfg.set_parameter(param_name, magma_value)
+
+ if len(
+ get_all_objects_to_delete(
+ self.acs.desired_cfg,
+ self.acs.device_cfg,
+ ),
+ ) > 0:
+ return AcsReadMsgResult(True, self.del_obj_transition)
+ elif len(
+ get_all_objects_to_add(
+ self.acs.desired_cfg,
+ self.acs.device_cfg,
+ ),
+ ) > 0:
+ return AcsReadMsgResult(True, self.add_obj_transition)
+ else:
+ return AcsReadMsgResult(True, self.done_transition)
+
+ def state_description(self) -> str:
+ return 'Disabling admin_enable (Cavium only)'
+
+
+class CaviumTrDataModel(DataModel):
+ """
+ Class to represent relevant data model parameters from TR-196/TR-098/TR-181.
+ This class is effectively read-only
+ """
+ # Mapping of TR parameter paths to aliases
+ DEVICE_PATH = 'Device.'
+ FAPSERVICE_PATH = DEVICE_PATH + 'Services.FAPService.1.'
+ PARAMETERS = {
+ # Top-level objects
+ ParameterName.DEVICE: TrParam(DEVICE_PATH, True, TrParameterType.OBJECT, False),
+ ParameterName.FAP_SERVICE: TrParam(FAPSERVICE_PATH, True, TrParameterType.OBJECT, False),
+
+ # Device info parameters
+ ParameterName.GPS_STATUS: TrParam(DEVICE_PATH + 'FAP.GPS.ContinuousGPSStatus.GotFix', True, TrParameterType.BOOLEAN, False),
+ ParameterName.GPS_LAT: TrParam(DEVICE_PATH + 'FAP.GPS.LockedLatitude', True, TrParameterType.INT, False),
+ ParameterName.GPS_LONG: TrParam(DEVICE_PATH + 'FAP.GPS.LockedLongitude', True, TrParameterType.INT, False),
+ ParameterName.SW_VERSION: TrParam(DEVICE_PATH + 'DeviceInfo.SoftwareVersion', True, TrParameterType.STRING, False),
+ ParameterName.SERIAL_NUMBER: TrParam(DEVICE_PATH + 'DeviceInfo.SerialNumber', True, TrParameterType.STRING, False),
+
+ # Capabilities
+ ParameterName.DUPLEX_MODE_CAPABILITY: TrParam(
+ FAPSERVICE_PATH + 'Capabilities.LTE.DuplexMode', True, TrParameterType.STRING, False,
+ ),
+ ParameterName.BAND_CAPABILITY: TrParam(FAPSERVICE_PATH + 'Capabilities.LTE.BandsSupported', True, TrParameterType.UNSIGNED_INT, False),
+
+ # RF-related parameters
+ ParameterName.EARFCNDL: TrParam(FAPSERVICE_PATH + 'CellConfig.LTE.RAN.RF.EARFCNDL', True, TrParameterType.UNSIGNED_INT, False),
+ ParameterName.EARFCNUL: TrParam(FAPSERVICE_PATH + 'CellConfig.LTE.RAN.RF.EARFCNUL', True, TrParameterType.UNSIGNED_INT, False),
+ ParameterName.BAND: TrParam(FAPSERVICE_PATH + 'CellConfig.LTE.RAN.RF.FreqBandIndicator', True, TrParameterType.UNSIGNED_INT, False),
+ ParameterName.PCI: TrParam(FAPSERVICE_PATH + 'CellConfig.LTE.RAN.RF.PhyCellID', True, TrParameterType.STRING, False),
+ ParameterName.DL_BANDWIDTH: TrParam(FAPSERVICE_PATH + 'CellConfig.LTE.RAN.RF.DLBandwidth', True, TrParameterType.STRING, False),
+ ParameterName.UL_BANDWIDTH: TrParam(FAPSERVICE_PATH + 'CellConfig.LTE.RAN.RF.ULBandwidth', True, TrParameterType.STRING, False),
+ ParameterName.CELL_ID: TrParam(FAPSERVICE_PATH + 'CellConfig.LTE.RAN.Common.CellIdentity', True, TrParameterType.UNSIGNED_INT, False),
+
+ # Other LTE parameters
+ ParameterName.ADMIN_STATE: TrParam(FAPSERVICE_PATH + 'FAPControl.LTE.AdminState', False, TrParameterType.BOOLEAN, False),
+ ParameterName.OP_STATE: TrParam(FAPSERVICE_PATH + 'FAPControl.LTE.OpState', True, TrParameterType.BOOLEAN, False),
+ ParameterName.RF_TX_STATUS: TrParam(FAPSERVICE_PATH + 'FAPControl.LTE.RFTxStatus', True, TrParameterType.BOOLEAN, False),
+
+ # RAN parameters
+ ParameterName.CELL_RESERVED: TrParam(
+ FAPSERVICE_PATH
+ + 'CellConfig.LTE.RAN.CellRestriction.CellReservedForOperatorUse', True, TrParameterType.BOOLEAN, False,
+ ),
+ ParameterName.CELL_BARRED: TrParam(
+ FAPSERVICE_PATH
+ + 'CellConfig.LTE.RAN.CellRestriction.CellBarred', True, TrParameterType.BOOLEAN, False,
+ ),
+
+ # Core network parameters
+ ParameterName.MME_IP: TrParam(
+ FAPSERVICE_PATH + 'FAPControl.LTE.Gateway.S1SigLinkServerList', True, TrParameterType.STRING, False,
+ ),
+ ParameterName.MME_PORT: TrParam(FAPSERVICE_PATH + 'FAPControl.LTE.Gateway.S1SigLinkPort', True, TrParameterType.UNSIGNED_INT, False),
+ ParameterName.NUM_PLMNS: TrParam(
+ FAPSERVICE_PATH + 'CellConfig.LTE.EPC.PLMNListNumberOfEntries', True, TrParameterType.UNSIGNED_INT, False,
+ ),
+ ParameterName.PLMN: TrParam(FAPSERVICE_PATH + 'CellConfig.LTE.EPC.PLMNList.', True, TrParameterType.OBJECT, False),
+ # PLMN arrays are added below
+ ParameterName.TAC: TrParam(FAPSERVICE_PATH + 'CellConfig.LTE.EPC.TAC', True, TrParameterType.UNSIGNED_INT, False),
+ ParameterName.IP_SEC_ENABLE: TrParam(
+ DEVICE_PATH + 'IPsec.Enable', False, TrParameterType.BOOLEAN, False,
+ ),
+ ParameterName.PERIODIC_INFORM_INTERVAL:
+ TrParam(DEVICE_PATH + 'ManagementServer.PeriodicInformInterval', False, TrParameterType.UNSIGNED_INT, False),
+
+ # Management server parameters
+ ParameterName.PERIODIC_INFORM_ENABLE: TrParam(
+ DEVICE_PATH + 'ManagementServer.PeriodicInformEnable',
+ False, TrParameterType.BOOLEAN, False,
+ ),
+ ParameterName.PERIODIC_INFORM_INTERVAL: TrParam(
+ DEVICE_PATH + 'ManagementServer.PeriodicInformInterval',
+ False, TrParameterType.UNSIGNED_INT, False,
+ ),
+
+ # Performance management parameters
+ ParameterName.PERF_MGMT_ENABLE: TrParam(
+ FAPSERVICE_PATH + 'PerfMgmt.Config.1.Enable', False, TrParameterType.BOOLEAN, False,
+ ),
+ ParameterName.PERF_MGMT_UPLOAD_INTERVAL: TrParam(
+ FAPSERVICE_PATH + 'PerfMgmt.Config.1.PeriodicUploadInterval', False, TrParameterType.UNSIGNED_INT, False,
+ ),
+ ParameterName.PERF_MGMT_UPLOAD_URL: TrParam(
+ FAPSERVICE_PATH + 'PerfMgmt.Config.1.URL', False, TrParameterType.STRING, False,
+ ),
+ ParameterName.PERF_MGMT_USER: TrParam(
+ FAPSERVICE_PATH + 'PerfMgmt.Config.1.Username',
+ False, TrParameterType.STRING, False,
+ ),
+ ParameterName.PERF_MGMT_PASSWORD: TrParam(
+ FAPSERVICE_PATH + 'PerfMgmt.Config.1.Password',
+ False, TrParameterType.STRING, False,
+ ),
+
+ # PLMN Info
+ ParameterName.PLMN_LIST: TrParam(
+ FAPSERVICE_PATH + 'CellConfig.LTE.EPC.PLMNList.', False, TrParameterType.OBJECT, False,
+ ),
+ }
+
+ NUM_PLMNS_IN_CONFIG = 6
+ for i in range(1, NUM_PLMNS_IN_CONFIG + 1):
+ PARAMETERS[ParameterName.PLMN_N % i] = TrParam(
+ FAPSERVICE_PATH + 'CellConfig.LTE.EPC.PLMNList.%d.' % i, True, TrParameterType.OBJECT, False,
+ )
+ PARAMETERS[ParameterName.PLMN_N_CELL_RESERVED % i] = TrParam(
+ FAPSERVICE_PATH
+ + 'CellConfig.LTE.EPC.PLMNList.%d.CellReservedForOperatorUse' % i, True, TrParameterType.BOOLEAN, False,
+ )
+ PARAMETERS[ParameterName.PLMN_N_ENABLE % i] = TrParam(
+ FAPSERVICE_PATH + 'CellConfig.LTE.EPC.PLMNList.%d.Enable' % i, True, TrParameterType.BOOLEAN, False,
+ )
+ PARAMETERS[ParameterName.PLMN_N_PRIMARY % i] = TrParam(
+ FAPSERVICE_PATH + 'CellConfig.LTE.EPC.PLMNList.%d.IsPrimary' % i, True, TrParameterType.BOOLEAN, False,
+ )
+ PARAMETERS[ParameterName.PLMN_N_PLMNID % i] = TrParam(
+ FAPSERVICE_PATH + 'CellConfig.LTE.EPC.PLMNList.%d.PLMNID' % i, True, TrParameterType.STRING, False,
+ )
+
+ TRANSFORMS_FOR_ENB = {
+ ParameterName.DL_BANDWIDTH: transform_for_enb.bandwidth,
+ ParameterName.UL_BANDWIDTH: transform_for_enb.bandwidth,
+ }
+ TRANSFORMS_FOR_MAGMA = {
+ ParameterName.DL_BANDWIDTH: transform_for_magma.bandwidth,
+ ParameterName.UL_BANDWIDTH: transform_for_magma.bandwidth,
+ # We don't set GPS, so we don't need transform for enb
+ ParameterName.GPS_LAT: transform_for_magma.gps_tr181,
+ ParameterName.GPS_LONG: transform_for_magma.gps_tr181,
+ }
+
+ @classmethod
+ def get_parameter(cls, param_name: ParameterName) -> Optional[TrParam]:
+ return cls.PARAMETERS.get(param_name)
+
+ @classmethod
+ def _get_magma_transforms(
+ cls,
+ ) -> Dict[ParameterName, Callable[[Any], Any]]:
+ return cls.TRANSFORMS_FOR_MAGMA
+
+ @classmethod
+ def _get_enb_transforms(cls) -> Dict[ParameterName, Callable[[Any], Any]]:
+ return cls.TRANSFORMS_FOR_ENB
+
+ @classmethod
+ def get_load_parameters(cls) -> List[ParameterName]:
+ """
+ Load all the parameters instead of a subset.
+ """
+ return [ParameterName.DEVICE]
+
+ @classmethod
+ def get_num_plmns(cls) -> int:
+ return cls.NUM_PLMNS_IN_CONFIG
+
+ @classmethod
+ def get_parameter_names(cls) -> List[ParameterName]:
+ excluded_params = [
+ str(ParameterName.DEVICE),
+ str(ParameterName.FAP_SERVICE),
+ ]
+ names = list(
+ filter(
+ lambda x: (not str(x).startswith('PLMN'))
+ and (str(x) not in excluded_params),
+ cls.PARAMETERS.keys(),
+ ),
+ )
+ return names
+
+ @classmethod
+ def get_numbered_param_names(
+ cls,
+ ) -> Dict[ParameterName, List[ParameterName]]:
+ names = {}
+ for i in range(1, cls.NUM_PLMNS_IN_CONFIG + 1):
+ params = []
+ params.append(ParameterName.PLMN_N_CELL_RESERVED % i)
+ params.append(ParameterName.PLMN_N_ENABLE % i)
+ params.append(ParameterName.PLMN_N_PRIMARY % i)
+ params.append(ParameterName.PLMN_N_PLMNID % i)
+ names[ParameterName.PLMN_N % i] = params
+ return names
+
+
+class CaviumTrConfigurationInitializer(EnodebConfigurationPostProcessor):
+ def postprocess(self, mconfig: Any, service_cfg: Any, desired_cfg: EnodebConfiguration) -> None:
+ desired_cfg.set_parameter(ParameterName.CELL_BARRED, True)
+ desired_cfg.set_parameter(ParameterName.ADMIN_STATE, True)
diff --git a/devices/freedomfi_one.py b/devices/freedomfi_one.py
new file mode 100644
index 0000000..e9bf9b0
--- /dev/null
+++ b/devices/freedomfi_one.py
@@ -0,0 +1,1096 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+import logging
+from typing import Any, Callable, Dict, List, Optional, Type
+
+from common.service import MagmaService
+from data_models import transform_for_magma
+from data_models.data_model import (
+ DataModel,
+ InvalidTrParamPath,
+ TrParam,
+)
+from data_models.data_model_parameters import (
+ ParameterName,
+ TrParameterType,
+)
+from device_config.configuration_init import build_desired_config
+from device_config.enodeb_config_postprocessor import EnodebConfigurationPostProcessor
+from device_config.enodeb_configuration import EnodebConfiguration
+from devices.device_utils import EnodebDeviceName
+from logger import EnodebdLogger
+from state_machines.acs_state_utils import (
+ get_all_objects_to_add,
+ get_all_objects_to_delete,
+ get_all_param_values_to_set,
+ get_params_to_get,
+ parse_get_parameter_values_response,
+)
+from state_machines.enb_acs import EnodebAcsStateMachine
+from state_machines.enb_acs_impl import BasicEnodebAcsStateMachine
+from state_machines.enb_acs_states import (
+ AcsMsgAndTransition,
+ AcsReadMsgResult,
+ AddObjectsState,
+ DeleteObjectsState,
+ EnbSendRebootState,
+ EndSessionState,
+ EnodebAcsState,
+ ErrorState,
+ GetParametersState,
+ SetParameterValuesState,
+ WaitGetParametersState,
+ WaitInformMRebootState,
+ WaitInformState,
+ WaitRebootResponseState,
+ WaitSetParameterValuesState,
+)
+from tr069 import models
+
+
+class SASParameters:
+ """ Class modeling the SAS parameters and their TR path"""
+
+ # SAS parameters for FreedomFiOne
+ FAP_CONTROL = "Device.Services.FAPService.1.FAPControl."
+ FAPSERVICE_PATH = "Device.Services.FAPService.1."
+
+ # Sas management parameters
+ SAS_ENABLE = "sas_enabled"
+ SAS_SERVER_URL = "sas_server_url"
+ SAS_UID = "sas_uid"
+ SAS_CATEGORY = "sas_category"
+ SAS_CHANNEL_TYPE = "sas_channel_type"
+ SAS_CERT_SUBJECT = "sas_cert_subject"
+ SAS_IC_GROUP_ID = "sas_icg_group_id"
+ SAS_LOCATION = "sas_location"
+ SAS_HEIGHT_TYPE = "sas_height_type"
+ SAS_CPI_ENABLE = "sas_cpi_enable"
+ SAS_CPI_IPE = "sas_cpi_ipe" # Install param supplied enable
+ FREQ_BAND_1 = "freq_band_1"
+ FREQ_BAND_2 = "freq_band_2"
+ # For CBRS radios we set this to the limit and the SAS can reduce the
+ # power if needed.
+ TX_POWER_CONFIG = "tx_power_config"
+
+ SAS_PARAMETERS = {
+ SAS_ENABLE: TrParam(
+ FAP_CONTROL + "LTE.X_000E8F_SAS.Enable",
+ is_invasive=False,
+ type=TrParameterType.BOOLEAN,
+ is_optional=False,
+ ),
+ SAS_SERVER_URL: TrParam(
+ FAP_CONTROL + "LTE.X_000E8F_SAS.Server",
+ is_invasive=False,
+ type=TrParameterType.STRING,
+ is_optional=False,
+ ),
+ SAS_UID: TrParam(
+ FAP_CONTROL + "LTE.X_000E8F_SAS.UserContactInformation",
+ is_invasive=False,
+ type=TrParameterType.STRING,
+ is_optional=False,
+ ),
+ SAS_CATEGORY: TrParam(
+ FAP_CONTROL + "LTE.X_000E8F_SAS.Category",
+ is_invasive=False,
+ type=TrParameterType.STRING,
+ is_optional=False,
+ ),
+ SAS_CHANNEL_TYPE: TrParam(
+ FAP_CONTROL + "LTE.X_000E8F_SAS.ProtectionLevel",
+ is_invasive=False,
+ type=TrParameterType.STRING,
+ is_optional=False,
+ ),
+ SAS_CERT_SUBJECT: TrParam(
+ FAP_CONTROL + "LTE.X_000E8F_SAS.CertSubject",
+ is_invasive=False,
+ type=TrParameterType.STRING,
+ is_optional=False,
+ ),
+ # SAS_IC_GROUP_ID: TrParam(
+ # FAP_CONTROL + 'LTE.X_000E8F_SAS.ICGGroupId', is_invasive=False,
+ # type=TrParameterType.STRING, False),
+ SAS_LOCATION: TrParam(
+ FAP_CONTROL + "LTE.X_000E8F_SAS.Location",
+ is_invasive=False,
+ type=TrParameterType.STRING,
+ is_optional=False,
+ ),
+ SAS_HEIGHT_TYPE: TrParam(
+ FAP_CONTROL + "LTE.X_000E8F_SAS.HeightType",
+ is_invasive=False,
+ type=TrParameterType.STRING,
+ is_optional=False,
+ ),
+ SAS_CPI_ENABLE: TrParam(
+ FAP_CONTROL + "LTE.X_000E8F_SAS.CPIEnable",
+ is_invasive=False,
+ type=TrParameterType.BOOLEAN,
+ is_optional=False,
+ ),
+ SAS_CPI_IPE: TrParam(
+ FAP_CONTROL + "LTE.X_000E8F_SAS.CPIInstallParamSuppliedEnable",
+ is_invasive=False,
+ type=TrParameterType.BOOLEAN,
+ is_optional=False,
+ ),
+ FREQ_BAND_1: TrParam(
+ FAPSERVICE_PATH + "CellConfig.LTE.RAN.RF.FreqBandIndicator",
+ is_invasive=False,
+ type=TrParameterType.UNSIGNED_INT,
+ is_optional=False,
+ ),
+ FREQ_BAND_2: TrParam(
+ FAPSERVICE_PATH + "CellConfig.LTE.RAN.RF.X_000E8F_FreqBandIndicator2",
+ is_invasive=False,
+ type=TrParameterType.UNSIGNED_INT,
+ is_optional=False,
+ ),
+ TX_POWER_CONFIG: TrParam(
+ FAPSERVICE_PATH + "CellConfig.LTE.RAN.RF.X_000E8F_TxPowerConfig",
+ is_invasive=True,
+ type=TrParameterType.INT,
+ is_optional=False,
+ ),
+ }
+
+
+class StatusParameters:
+ """
+ Stateful class that converts eNB status to Magma understood status.
+ FreedomFiOne has many status params that interact with each other.
+ This class maintains the business logic of parsing these status params
+ and converting it to Magma understood fields.
+ """
+
+ STATUS_PATH = "Device.X_000E8F_DeviceFeature.X_000E8F_NEStatus."
+
+ # Status parameters
+ DEFAULT_GW = "defaultGW"
+ SYNC_STATUS = "syncStatus"
+ SAS_STATUS = "sasStatus"
+ ENB_STATUS = "enbStatus"
+ GPS_SCAN_STATUS = "gpsScanStatus"
+
+ STATUS_PARAMETERS = {
+ # Status nodes
+ DEFAULT_GW: TrParam(
+ STATUS_PATH + "X_000E8F_DEFGW_Status",
+ is_invasive=False,
+ type=TrParameterType.STRING,
+ is_optional=False,
+ ),
+ SYNC_STATUS: TrParam(
+ STATUS_PATH + "X_000E8F_Sync_Status",
+ is_invasive=False,
+ type=TrParameterType.STRING,
+ is_optional=False,
+ ),
+ SAS_STATUS: TrParam(
+ STATUS_PATH + "X_000E8F_SAS_Status",
+ is_invasive=False,
+ type=TrParameterType.STRING,
+ is_optional=False,
+ ),
+ ENB_STATUS: TrParam(
+ STATUS_PATH + "X_000E8F_eNB_Status",
+ is_invasive=False,
+ type=TrParameterType.STRING,
+ is_optional=False,
+ ),
+ # GPS status, lat, long
+ GPS_SCAN_STATUS: TrParam(
+ "Device.FAP.GPS.ScanStatus",
+ is_invasive=False,
+ type=TrParameterType.STRING,
+ is_optional=False,
+ ),
+ ParameterName.GPS_LAT: TrParam(
+ "Device.FAP.GPS.LockedLatitude",
+ is_invasive=False,
+ type=TrParameterType.STRING,
+ is_optional=False,
+ ),
+ ParameterName.GPS_LONG: TrParam(
+ "Device.FAP.GPS.LockedLongitude",
+ is_invasive=False,
+ type=TrParameterType.STRING,
+ is_optional=False,
+ ),
+ }
+
+ # Derived status params that don't have tr69 representation.
+ DERIVED_STATUS_PARAMETERS = {
+ ParameterName.RF_TX_STATUS: TrParam(
+ InvalidTrParamPath,
+ is_invasive=False,
+ type=TrParameterType.BOOLEAN,
+ is_optional=False,
+ ),
+ ParameterName.GPS_STATUS: TrParam(
+ InvalidTrParamPath,
+ is_invasive=False,
+ type=TrParameterType.BOOLEAN,
+ is_optional=False,
+ ),
+ ParameterName.PTP_STATUS: TrParam(
+ InvalidTrParamPath,
+ is_invasive=False,
+ type=TrParameterType.BOOLEAN,
+ is_optional=False,
+ ),
+ ParameterName.MME_STATUS: TrParam(
+ InvalidTrParamPath,
+ is_invasive=False,
+ type=TrParameterType.BOOLEAN,
+ is_optional=False,
+ ),
+ ParameterName.OP_STATE: TrParam(
+ InvalidTrParamPath,
+ is_invasive=False,
+ type=TrParameterType.BOOLEAN,
+ is_optional=False,
+ ),
+ }
+
+ @classmethod
+ def set_magma_device_cfg(
+ cls, name_to_val: Dict, device_cfg: EnodebConfiguration,
+ ):
+ """
+ Convert FreedomFiOne name_to_val representation to magma device_cfg
+ """
+ success_str = "SUCCESS" # String constant returned by radio
+ insync_str = "INSYNC"
+
+ if (
+ name_to_val.get(cls.DEFAULT_GW)
+ and name_to_val[cls.DEFAULT_GW].upper() != success_str
+ ):
+ # Nothing will proceed if the eNB doesn't have an IP on the WAN
+ serial_num = "unknown"
+ if device_cfg.has_parameter(ParameterName.SERIAL_NUMBER):
+ serial_num = device_cfg.get_parameter(ParameterName.SERIAL_NUMBER,)
+ EnodebdLogger.error(
+ "Radio with serial number %s doesn't have IP address " "on WAN",
+ serial_num,
+ )
+ device_cfg.set_parameter(
+ param_name=ParameterName.RF_TX_STATUS, value=False,
+ )
+ device_cfg.set_parameter(
+ param_name=ParameterName.GPS_STATUS, value=False,
+ )
+ device_cfg.set_parameter(
+ param_name=ParameterName.PTP_STATUS, value=False,
+ )
+ device_cfg.set_parameter(
+ param_name=ParameterName.MME_STATUS, value=False,
+ )
+ device_cfg.set_parameter(
+ param_name=ParameterName.OP_STATE, value=False,
+ )
+ return
+
+ if (
+ name_to_val.get(cls.SAS_STATUS)
+ and name_to_val[cls.SAS_STATUS].upper() == success_str
+ ):
+ device_cfg.set_parameter(
+ param_name=ParameterName.RF_TX_STATUS, value=True,
+ )
+ else:
+ # No sas grant so not transmitting. There is no explicit node for Tx
+ # in FreedomFiOne
+ device_cfg.set_parameter(
+ param_name=ParameterName.RF_TX_STATUS, value=False,
+ )
+
+ if (
+ name_to_val.get(cls.GPS_SCAN_STATUS)
+ and name_to_val[cls.GPS_SCAN_STATUS].upper() == success_str
+ ):
+ device_cfg.set_parameter(
+ param_name=ParameterName.GPS_STATUS, value=True,
+ )
+ # Time comes through GPS so can only be insync with GPS is
+ # in sync, we use PTP_STATUS field to overload timer is in Sync.
+ if (
+ name_to_val.get(cls.SYNC_STATUS)
+ and name_to_val[cls.SYNC_STATUS].upper() == insync_str
+ ):
+ device_cfg.set_parameter(
+ param_name=ParameterName.PTP_STATUS, value=True,
+ )
+ else:
+ device_cfg.set_parameter(
+ param_name=ParameterName.PTP_STATUS, value=False,
+ )
+ else:
+ device_cfg.set_parameter(
+ param_name=ParameterName.GPS_STATUS, value=False,
+ )
+ device_cfg.set_parameter(
+ param_name=ParameterName.PTP_STATUS, value=False,
+ )
+
+ if (
+ name_to_val.get(cls.DEFAULT_GW)
+ and name_to_val[cls.DEFAULT_GW].upper() == success_str
+ ):
+ device_cfg.set_parameter(
+ param_name=ParameterName.MME_STATUS, value=True,
+ )
+ else:
+ device_cfg.set_parameter(
+ param_name=ParameterName.MME_STATUS, value=False,
+ )
+
+ if (
+ name_to_val.get(cls.ENB_STATUS)
+ and name_to_val[cls.ENB_STATUS].upper() == success_str
+ ):
+ device_cfg.set_parameter(
+ param_name=ParameterName.OP_STATE, value=True,
+ )
+ else:
+ device_cfg.set_parameter(
+ param_name=ParameterName.OP_STATE, value=False,
+ )
+
+ pass_through_params = [ParameterName.GPS_LAT, ParameterName.GPS_LONG]
+ for name in pass_through_params:
+ device_cfg.set_parameter(name, name_to_val[name])
+
+
+class FreedomFiOneMiscParameters:
+ """
+ Default set of parameters that enable carrier aggregation and other
+ miscellaneous properties
+ """
+
+ FAP_CONTROL = "Device.Services.FAPService.1.FAPControl."
+ FAPSERVICE_PATH = "Device.Services.FAPService.1."
+
+ # Tunnel ref format clobber it to non IPSEC as we don't support
+ # IPSEC
+ TUNNEL_REF = "tunnel_ref"
+ PRIM_SOURCE = "prim_src"
+
+ # Carrier aggregation
+ CARRIER_AGG_ENABLE = "carrier_agg_enable"
+ CARRIER_NUMBER = "carrier_number" # Carrier aggregation params
+ CONTIGUOUS_CC = "contiguous_cc"
+ WEB_UI_ENABLE = "web_ui_enable" # Enable or disable local enb UI
+
+ MISC_PARAMETERS = {
+ WEB_UI_ENABLE: TrParam(
+ "Device.X_000E8F_DeviceFeature.X_000E8F_WebServerEnable",
+ is_invasive=False,
+ type=TrParameterType.BOOLEAN,
+ is_optional=False,
+ ),
+ CARRIER_AGG_ENABLE: TrParam(
+ FAP_CONTROL + "LTE.X_000E8F_RRMConfig.X_000E8F_CA_Enable",
+ is_invasive=False,
+ type=TrParameterType.BOOLEAN,
+ is_optional=False,
+ ),
+ CARRIER_NUMBER: TrParam(
+ FAP_CONTROL + "LTE.X_000E8F_RRMConfig.X_000E8F_Cell_Number",
+ is_invasive=False,
+ type=TrParameterType.INT,
+ is_optional=False,
+ ),
+ CONTIGUOUS_CC: TrParam(
+ FAP_CONTROL + "LTE.X_000E8F_RRMConfig.X_000E8F_CELL_Freq_Contiguous",
+ is_invasive=False,
+ type=TrParameterType.INT,
+ is_optional=False,
+ ),
+ TUNNEL_REF: TrParam(
+ FAPSERVICE_PATH + "CellConfig.LTE.Tunnel.1.TunnelRef",
+ is_invasive=False,
+ type=TrParameterType.STRING,
+ is_optional=False,
+ ),
+ PRIM_SOURCE: TrParam(
+ FAPSERVICE_PATH + "REM.X_000E8F_tfcsManagerConfig.primSrc",
+ is_invasive=False,
+ type=TrParameterType.STRING,
+ is_optional=False,
+ ),
+ }
+
+ # Hardcoded defaults
+ defaults = {
+ # Use IPV4 only
+ TUNNEL_REF: "Device.IP.Interface.1.IPv4Address.1.",
+ # Only synchronize with GPS
+ PRIM_SOURCE: "GNSS",
+ # Always enable carrier aggregation for the CBRS bands
+ CARRIER_AGG_ENABLE: True,
+ CARRIER_NUMBER: 2, # CBRS has two carriers
+ CONTIGUOUS_CC: 0, # Its not contiguous carrier
+ WEB_UI_ENABLE: False, # Disable WebUI by default
+ }
+
+
+class FreedomFiOneHandler(BasicEnodebAcsStateMachine):
+ def __init__(self, service: MagmaService,) -> None:
+ self._state_map = {}
+ super().__init__(service=service, use_param_key=True)
+
+ def reboot_asap(self) -> None:
+ self.transition("reboot")
+
+ def is_enodeb_connected(self) -> bool:
+ return not isinstance(self.state, WaitInformState)
+
+ def _init_state_map(self) -> None:
+ self._state_map = {
+ # Inform comes in -> Respond with InformResponse
+ "wait_inform": WaitInformState(self, when_done="get_rpc_methods"),
+ # If first inform after boot -> GetRpc request comes in, if not
+ # empty request comes in => Transition to get_transient_params
+ "get_rpc_methods": FreedomFiOneGetInitState(
+ self, when_done="get_transient_params",
+ ),
+ # Read transient readonly params.
+ "get_transient_params": FreedomFiOneSendGetTransientParametersState(
+ self, when_done="get_params",
+ ),
+ "get_params": FreedomFiOneGetObjectParametersState(
+ self,
+ when_delete="delete_objs",
+ when_add="add_objs",
+ when_set="set_params",
+ when_skip="end_session",
+ ),
+ "delete_objs": DeleteObjectsState(
+ self, when_add="add_objs", when_skip="set_params",
+ ),
+ "add_objs": AddObjectsState(self, when_done="set_params"),
+ "set_params": SetParameterValuesState(self, when_done="wait_set_params",),
+ "wait_set_params": WaitSetParameterValuesState(
+ self,
+ when_done="check_get_params",
+ when_apply_invasive="check_get_params",
+ status_non_zero_allowed=True,
+ ),
+ "check_get_params": GetParametersState(
+ self, when_done="check_wait_get_params", request_all_params=True,
+ ),
+ "check_wait_get_params": WaitGetParametersState(
+ self, when_done="end_session",
+ ),
+ "end_session": EndSessionState(self),
+ # These states are only entered through manual user intervention
+ "reboot": EnbSendRebootState(self, when_done="wait_reboot"),
+ "wait_reboot": WaitRebootResponseState(
+ self, when_done="wait_post_reboot_inform",
+ ),
+ "wait_post_reboot_inform": WaitInformMRebootState(
+ self, when_done="wait_empty", when_timeout="wait_inform",
+ ),
+ # The states below are entered when an unexpected message type is
+ # received
+ "unexpected_fault": ErrorState(
+ self, inform_transition_target="wait_inform",
+ ),
+ }
+
+ @property
+ def device_name(self) -> str:
+ return EnodebDeviceName.FREEDOMFI_ONE
+
+ @property
+ def data_model_class(self) -> Type[DataModel]:
+ return FreedomFiOneTrDataModel
+
+ @property
+ def config_postprocessor(self) -> EnodebConfigurationPostProcessor:
+ return FreedomFiOneConfigurationInitializer(self)
+
+ @property
+ def state_map(self) -> Dict[str, EnodebAcsState]:
+ return self._state_map
+
+ @property
+ def disconnected_state_name(self) -> str:
+ return "wait_inform"
+
+ @property
+ def unexpected_fault_state_name(self) -> str:
+ return "unexpected_fault"
+
+
+class FreedomFiOneTrDataModel(DataModel):
+ """
+ Class to represent relevant data model parameters from TR-196/TR-098.
+ This class is effectively read-only.
+
+ These models have these idiosyncrasies (on account of running TR098):
+
+ - Parameter content root is different (InternetGatewayDevice)
+ - GetParameter queries with a wildcard e.g. InternetGatewayDevice. do
+ not respond with the full tree (we have to query all parameters)
+ - MME status is not exposed - we assume the MME is connected if
+ the eNodeB is transmitting (OpState=true)
+ - Parameters such as band capability/duplex config
+ are rooted under `boardconf.` and not the device config root
+ - Num PLMNs is not reported by these units
+ """
+
+ # Mapping of TR parameter paths to aliases
+ DEVICE_PATH = "Device."
+ FAPSERVICE_PATH = DEVICE_PATH + "Services.FAPService.1."
+ FAP_CONTROL = FAPSERVICE_PATH + "FAPControl."
+ BCCH = FAPSERVICE_PATH + "REM.LTE.Cell.1.BCCH."
+
+ PARAMETERS = {
+ # Top-level objects
+ ParameterName.DEVICE: TrParam(
+ DEVICE_PATH,
+ is_invasive=False,
+ type=TrParameterType.OBJECT,
+ is_optional=False,
+ ),
+ ParameterName.FAP_SERVICE: TrParam(
+ FAP_CONTROL,
+ is_invasive=False,
+ type=TrParameterType.OBJECT,
+ is_optional=False,
+ ),
+ # Device info
+ ParameterName.SW_VERSION: TrParam(
+ DEVICE_PATH + "DeviceInfo.SoftwareVersion",
+ is_invasive=False,
+ type=TrParameterType.STRING,
+ is_optional=False,
+ ),
+ ParameterName.SERIAL_NUMBER: TrParam(
+ DEVICE_PATH + "DeviceInfo.SerialNumber",
+ is_invasive=False,
+ type=TrParameterType.STRING,
+ is_optional=False,
+ ),
+ # RF-related parameters
+ ParameterName.EARFCNDL: TrParam(
+ FAPSERVICE_PATH + "CellConfig.LTE.RAN.RF.EARFCNDL",
+ is_invasive=False,
+ type=TrParameterType.INT,
+ is_optional=False,
+ ),
+ ParameterName.DL_BANDWIDTH: TrParam(
+ FAPSERVICE_PATH + "CellConfig.LTE.RAN.RF.DLBandwidth",
+ is_invasive=False,
+ type=TrParameterType.STRING,
+ is_optional=False,
+ ),
+ ParameterName.UL_BANDWIDTH: TrParam(
+ FAPSERVICE_PATH + "CellConfig.LTE.RAN.RF.ULBandwidth",
+ is_invasive=False,
+ type=TrParameterType.STRING,
+ is_optional=False,
+ ),
+ ParameterName.PCI: TrParam(
+ FAPSERVICE_PATH + "CellConfig.LTE.RAN.RF.PhyCellID",
+ is_invasive=False,
+ type=TrParameterType.STRING,
+ is_optional=False,
+ ),
+ ParameterName.SUBFRAME_ASSIGNMENT: TrParam(
+ FAPSERVICE_PATH + "CellConfig.LTE.RAN.PHY.TDDFrame.SubFrameAssignment",
+ is_invasive=False,
+ type=TrParameterType.BOOLEAN,
+ is_optional=False,
+ ),
+ ParameterName.SPECIAL_SUBFRAME_PATTERN: TrParam(
+ FAPSERVICE_PATH + "CellConfig.LTE.RAN.PHY.TDDFrame.SpecialSubframePatterns",
+ is_invasive=False,
+ type=TrParameterType.INT,
+ is_optional=False,
+ ),
+ ParameterName.CELL_ID: TrParam(
+ FAPSERVICE_PATH + "CellConfig.LTE.RAN.Common.CellIdentity",
+ is_invasive=False,
+ type=TrParameterType.UNSIGNED_INT,
+ is_optional=False,
+ ),
+ # Readonly LTE state
+ ParameterName.ADMIN_STATE: TrParam(
+ FAP_CONTROL + "LTE.AdminState",
+ is_invasive=False,
+ type=TrParameterType.BOOLEAN,
+ is_optional=False,
+ ),
+ ParameterName.GPS_ENABLE: TrParam(
+ DEVICE_PATH + "FAP.GPS.ScanOnBoot",
+ is_invasive=False,
+ type=TrParameterType.BOOLEAN,
+ is_optional=False,
+ ),
+ # Core network parameters
+ ParameterName.MME_IP: TrParam(
+ FAP_CONTROL + "LTE.Gateway.S1SigLinkServerList",
+ is_invasive=False,
+ type=TrParameterType.STRING,
+ is_optional=False,
+ ),
+ ParameterName.MME_PORT: TrParam(
+ FAP_CONTROL + "LTE.Gateway.S1SigLinkPort",
+ is_invasive=False,
+ type=TrParameterType.INT,
+ is_optional=False,
+ ),
+ ParameterName.NUM_PLMNS: TrParam(
+ FAPSERVICE_PATH + "CellConfig.LTE.EPC.PLMNListNumberOfEntries",
+ is_invasive=False,
+ type=TrParameterType.INT,
+ is_optional=False,
+ ),
+ ParameterName.TAC: TrParam(
+ FAPSERVICE_PATH + "CellConfig.LTE.EPC.TAC",
+ is_invasive=False,
+ type=TrParameterType.INT,
+ is_optional=False,
+ ),
+ # Management server parameters
+ ParameterName.PERIODIC_INFORM_ENABLE: TrParam(
+ DEVICE_PATH + "ManagementServer.PeriodicInformEnable",
+ is_invasive=False,
+ type=TrParameterType.BOOLEAN,
+ is_optional=False,
+ ),
+ ParameterName.PERIODIC_INFORM_INTERVAL: TrParam(
+ DEVICE_PATH + "ManagementServer.PeriodicInformInterval",
+ is_invasive=False,
+ type=TrParameterType.INT,
+ is_optional=False,
+ ),
+ # Performance management parameters
+ ParameterName.PERF_MGMT_ENABLE: TrParam(
+ DEVICE_PATH + "FAP.PerfMgmt.Config.1.Enable",
+ is_invasive=False,
+ type=TrParameterType.BOOLEAN,
+ is_optional=False,
+ ),
+ ParameterName.PERF_MGMT_UPLOAD_INTERVAL: TrParam(
+ DEVICE_PATH + "FAP.PerfMgmt.Config.1.PeriodicUploadInterval",
+ is_invasive=False,
+ type=TrParameterType.INT,
+ is_optional=False,
+ ),
+ ParameterName.PERF_MGMT_UPLOAD_URL: TrParam(
+ DEVICE_PATH + "FAP.PerfMgmt.Config.1.URL",
+ is_invasive=False,
+ type=TrParameterType.STRING,
+ is_optional=False,
+ ),
+ }
+ TRANSFORMS_FOR_ENB = {}
+ NUM_PLMNS_IN_CONFIG = 1
+ for i in range(1, NUM_PLMNS_IN_CONFIG + 1):
+ PARAMETERS[ParameterName.PLMN_N % i] = TrParam(
+ FAPSERVICE_PATH + "CellConfig.LTE.EPC.PLMNList.%d." % i,
+ is_invasive=False,
+ type=TrParameterType.STRING,
+ is_optional=False,
+ )
+ PARAMETERS[ParameterName.PLMN_N_CELL_RESERVED % i] = TrParam(
+ FAPSERVICE_PATH
+ + "CellConfig.LTE.EPC.PLMNList.%d.CellReservedForOperatorUse" % i,
+ is_invasive=False,
+ type=TrParameterType.BOOLEAN,
+ is_optional=False,
+ )
+ PARAMETERS[ParameterName.PLMN_N_ENABLE % i] = TrParam(
+ FAPSERVICE_PATH + "CellConfig.LTE.EPC.PLMNList.%d.Enable" % i,
+ is_invasive=False,
+ type=TrParameterType.BOOLEAN,
+ is_optional=False,
+ )
+ PARAMETERS[ParameterName.PLMN_N_PRIMARY % i] = TrParam(
+ FAPSERVICE_PATH + "CellConfig.LTE.EPC.PLMNList.%d.IsPrimary" % i,
+ is_invasive=False,
+ type=TrParameterType.BOOLEAN,
+ is_optional=False,
+ )
+ PARAMETERS[ParameterName.PLMN_N_PLMNID % i] = TrParam(
+ FAPSERVICE_PATH + "CellConfig.LTE.EPC.PLMNList.%d.PLMNID" % i,
+ is_invasive=False,
+ type=TrParameterType.STRING,
+ is_optional=False,
+ )
+
+ PARAMETERS.update(SASParameters.SAS_PARAMETERS)
+ PARAMETERS.update(FreedomFiOneMiscParameters.MISC_PARAMETERS)
+ PARAMETERS.update(StatusParameters.STATUS_PARAMETERS)
+ # These are stateful parameters that have no tr-69 representation
+ PARAMETERS.update(StatusParameters.DERIVED_STATUS_PARAMETERS)
+
+ TRANSFORMS_FOR_MAGMA = {
+ # We don't set these parameters
+ ParameterName.BAND_CAPABILITY: transform_for_magma.band_capability,
+ ParameterName.DUPLEX_MODE_CAPABILITY: transform_for_magma.duplex_mode,
+ }
+
+ @classmethod
+ def get_parameter(cls, param_name: ParameterName) -> Optional[TrParam]:
+ return cls.PARAMETERS.get(param_name)
+
+ @classmethod
+ def _get_magma_transforms(cls,) -> Dict[ParameterName, Callable[[Any], Any]]:
+ return cls.TRANSFORMS_FOR_MAGMA
+
+ @classmethod
+ def _get_enb_transforms(cls) -> Dict[ParameterName, Callable[[Any], Any]]:
+ return cls.TRANSFORMS_FOR_ENB
+
+ @classmethod
+ def get_load_parameters(cls) -> List[ParameterName]:
+ """
+ Load all the parameters instead of a subset.
+ """
+ return list(cls.PARAMETERS.keys())
+
+ @classmethod
+ def get_num_plmns(cls) -> int:
+ return cls.NUM_PLMNS_IN_CONFIG
+
+ @classmethod
+ def get_parameter_names(cls) -> List[ParameterName]:
+ excluded_params = [
+ str(ParameterName.DEVICE),
+ str(ParameterName.FAP_SERVICE),
+ ]
+ names = list(
+ filter(
+ lambda x: (not str(x).startswith("PLMN"))
+ and (str(x) not in excluded_params),
+ cls.PARAMETERS.keys(),
+ ),
+ )
+ return names
+
+ @classmethod
+ def get_numbered_param_names(cls,) -> Dict[ParameterName, List[ParameterName]]:
+ names = {}
+ for i in range(1, cls.NUM_PLMNS_IN_CONFIG + 1):
+ params = [
+ ParameterName.PLMN_N_CELL_RESERVED % i,
+ ParameterName.PLMN_N_ENABLE % i,
+ ParameterName.PLMN_N_PRIMARY % i,
+ ParameterName.PLMN_N_PLMNID % i,
+ ]
+ names[ParameterName.PLMN_N % i] = params
+
+ return names
+
+ @classmethod
+ def get_sas_param_names(cls) -> List[ParameterName]:
+ return SASParameters.SAS_PARAMETERS.keys()
+
+
+class FreedomFiOneConfigurationInitializer(EnodebConfigurationPostProcessor):
+ """
+ Class to add the sas related parameters to the desired config.
+ """
+
+ SAS_KEY = "sas"
+ WEB_UI_ENABLE_LIST_KEY = "web_ui_enable_list"
+
+ def __init__(self, acs: EnodebAcsStateMachine):
+ super().__init__()
+ self.acs = acs
+
+ def postprocess(
+ self, mconfig: Any, service_cfg: Any, desired_cfg: EnodebConfiguration,
+ ) -> None:
+ # TODO: Get this config from the domain proxy
+ # TODO @amarpad, set these when DProxy integration is done.
+ # For now the radio will directly talk to the SAS and get these
+ # attributes.
+ desired_cfg.delete_parameter(ParameterName.EARFCNDL)
+ desired_cfg.delete_parameter(ParameterName.DL_BANDWIDTH)
+ desired_cfg.delete_parameter(ParameterName.UL_BANDWIDTH)
+
+ # go through misc parameters and set them to default.
+ for name, val in FreedomFiOneMiscParameters.defaults.items():
+ desired_cfg.set_parameter(name, val)
+
+ # Bump up the parameter key version
+ self.acs.parameter_version_inc()
+
+ if self.WEB_UI_ENABLE_LIST_KEY in service_cfg:
+ serial_nos = service_cfg.get(self.WEB_UI_ENABLE_LIST_KEY)
+ if self.acs.device_cfg.has_parameter(ParameterName.SERIAL_NUMBER,):
+ if self.acs.get_parameter(ParameterName.SERIAL_NUMBER) in serial_nos:
+ desired_cfg.set_parameter(
+ FreedomFiOneMiscParameters.WEB_UI_ENABLE, True,
+ )
+ else:
+ # This should not happen
+ EnodebdLogger.error("Serial number unknown for device")
+
+ if self.SAS_KEY not in service_cfg:
+ return
+
+ sas_cfg = service_cfg[self.SAS_KEY]
+ sas_param_names = self.acs.data_model.get_sas_param_names()
+ for name, val in sas_cfg.items():
+ if name not in sas_param_names:
+ EnodebdLogger.warning("Ignoring attribute %s", name)
+ continue
+ desired_cfg.set_parameter(name, val)
+
+
+class FreedomFiOneSendGetTransientParametersState(EnodebAcsState):
+ """
+ Periodically read eNodeB status. Note: keep frequency low to avoid
+ backing up large numbers of read operations if enodebd is busy.
+ Some eNB parameters are read only and updated by the eNB itself.
+ """
+
+ def __init__(self, acs: EnodebAcsStateMachine, when_done: str):
+ super().__init__()
+ self.acs = acs
+ self.done_transition = when_done
+
+ def get_msg(self, message: Any) -> AcsMsgAndTransition:
+ request = models.GetParameterValues()
+ request.ParameterNames = models.ParameterNames()
+ request.ParameterNames.string = []
+ for _, tr_param in StatusParameters.STATUS_PARAMETERS.items():
+ path = tr_param.path
+ request.ParameterNames.string.append(path)
+ request.ParameterNames.arrayType = "xsd:string[%d]" % len(
+ request.ParameterNames.string
+ )
+
+ return AcsMsgAndTransition(msg=request, next_state=None)
+
+ def read_msg(self, message: Any) -> AcsReadMsgResult:
+
+ if not isinstance(message, models.GetParameterValuesResponse):
+ return AcsReadMsgResult(msg_handled=False, next_state=None)
+ # Current values of the fetched parameters
+ name_to_val = parse_get_parameter_values_response(self.acs.data_model, message,)
+ EnodebdLogger.debug("Received Parameters: %s", str(name_to_val))
+
+ # Update device configuration
+ StatusParameters.set_magma_device_cfg(
+ name_to_val, self.acs.device_cfg,
+ )
+
+ return AcsReadMsgResult(msg_handled=True, next_state=self.done_transition,)
+
+ def state_description(self) -> str:
+ return "Getting transient read-only parameters"
+
+
+class FreedomFiOneGetInitState(EnodebAcsState):
+ """
+ After the first Inform message the following can happen:
+ 1 - eNB can try to learn the RPC method of the ACS, reply back with the
+ RPC response (happens right after boot)
+ 2 - eNB can send an empty message -> This means that the eNB is already
+ provisioned so transition to next state. Only transition to next state
+ after this message.
+ 3 - Some other method call that we don't care about so ignore.
+ expected that the eNB -> This is an unhandled state so unlikely
+ """
+
+ def __init__(self, acs: EnodebAcsStateMachine, when_done):
+ super().__init__()
+ self.acs = acs
+ self.done_transition = when_done
+ self._is_rpc_request = False
+
+ def get_msg(self, message: Any) -> AcsMsgAndTransition:
+ """
+ Return empty message response if care about this
+ message type otherwise return empty RPC methods response.
+ """
+ if not self._is_rpc_request:
+ resp = models.DummyInput()
+ return AcsMsgAndTransition(msg=resp, next_state=None)
+
+ resp = models.GetRPCMethodsResponse()
+ resp.MethodList = models.MethodList()
+ RPC_METHODS = ["Inform", "GetRPCMethods", "TransferComplete"]
+ resp.MethodList.arrayType = "xsd:string[%d]" % len(RPC_METHODS)
+ resp.MethodList.string = RPC_METHODS
+ # Don't transition to next state wait for the empty HTTP post
+ return AcsMsgAndTransition(msg=resp, next_state=None)
+
+ def read_msg(self, message: Any) -> AcsReadMsgResult:
+ # If this is a regular Inform, not after a reboot we'll get an empty
+ # message, in this case transition to the next state. We consider
+ # this phase as "initialized"
+ if isinstance(message, models.DummyInput):
+ return AcsReadMsgResult(msg_handled=True, next_state=self.done_transition,)
+ if not isinstance(message, models.GetRPCMethods):
+ # Unexpected, just don't die, ignore message.
+ logging.error("Ignoring message %s", str(type(message)))
+ # Set this so get_msg will return an empty message
+ self._is_rpc_request = False
+ else:
+ # Return a valid RPC response
+ self._is_rpc_request = True
+ return AcsReadMsgResult(msg_handled=True, next_state=None)
+
+ def state_description(self) -> str:
+ return "Initializing the post boot sequence for eNB"
+
+
+class FreedomFiOneGetObjectParametersState(EnodebAcsState):
+ """
+ Get information on parameters belonging to objects that can be added or
+ removed from the configuration.
+
+ Englewood will report a parameter value as None if it does not exist
+ in the data model, rather than replying with a Fault message like most
+ eNB devices.
+ """
+
+ def __init__(
+ self,
+ acs: EnodebAcsStateMachine,
+ when_delete: str,
+ when_add: str,
+ when_set: str,
+ when_skip: str,
+ ):
+ super().__init__()
+ self.acs = acs
+ self.rm_obj_transition = when_delete
+ self.add_obj_transition = when_add
+ self.set_params_transition = when_set
+ self.skip_transition = when_skip
+
+ def get_params_to_get(self, data_model: DataModel,) -> List[ParameterName]:
+ names = []
+
+ # First get base params
+ names = get_params_to_get(
+ self.acs.device_cfg, self.acs.data_model, request_all_params=True,
+ )
+ # Add object params.
+ num_plmns = data_model.get_num_plmns()
+ obj_to_params = data_model.get_numbered_param_names()
+ for i in range(1, num_plmns + 1):
+ obj_name = ParameterName.PLMN_N % i
+ desired = obj_to_params[obj_name]
+ names += desired
+ return names
+
+ def get_msg(self, message: Any) -> AcsMsgAndTransition:
+ """ Respond with GetParameterValuesRequest """
+ names = self.get_params_to_get(self.acs.data_model,)
+
+ # Generate the request
+ request = models.GetParameterValues()
+ request.ParameterNames = models.ParameterNames()
+ request.ParameterNames.arrayType = "xsd:string[%d]" % len(names)
+ request.ParameterNames.string = []
+ for name in names:
+ path = self.acs.data_model.get_parameter(name).path
+ if path is not InvalidTrParamPath:
+ # Only get data elements backed by tr69 path
+ request.ParameterNames.string.append(path)
+
+ return AcsMsgAndTransition(msg=request, next_state=None)
+
+ def read_msg(self, message: Any) -> AcsReadMsgResult:
+ """
+ Process GetParameterValuesResponse
+ """
+ if not isinstance(message, models.GetParameterValuesResponse):
+ return AcsReadMsgResult(msg_handled=False, next_state=None)
+
+ path_to_val = {}
+ for param_value_struct in message.ParameterList.ParameterValueStruct:
+ path_to_val[param_value_struct.Name] = param_value_struct.Value.Data
+
+ EnodebdLogger.debug("Received object parameters: %s", str(path_to_val))
+
+ # Parse simple params
+ param_name_list = self.acs.data_model.get_parameter_names()
+ for name in param_name_list:
+ path = self.acs.data_model.get_parameter(name).path
+ if path in path_to_val:
+ value = path_to_val.get(path)
+ magma_val = self.acs.data_model.transform_for_magma(name, value,)
+ self.acs.device_cfg.set_parameter(name, magma_val)
+
+ # Parse object params
+ num_plmns = self.acs.data_model.get_num_plmns()
+ for i in range(1, num_plmns + 1):
+ obj_name = ParameterName.PLMN_N % i
+ obj_to_params = self.acs.data_model.get_numbered_param_names()
+ param_name_list = obj_to_params[obj_name]
+ for name in param_name_list:
+ path = self.acs.data_model.get_parameter(name).path
+ if path in path_to_val:
+ value = path_to_val.get(path)
+ if value is None:
+ continue
+ if obj_name not in self.acs.device_cfg.get_object_names():
+ self.acs.device_cfg.add_object(obj_name)
+ magma_value = self.acs.data_model.transform_for_magma(name, value)
+ self.acs.device_cfg.set_parameter_for_object(
+ name, magma_value, obj_name,
+ )
+ # Now we have enough information to build the desired configuration
+ if self.acs.desired_cfg is None:
+ self.acs.desired_cfg = build_desired_config(
+ self.acs.mconfig,
+ self.acs.service_config,
+ self.acs.device_cfg,
+ self.acs.data_model,
+ self.acs.config_postprocessor,
+ )
+
+ if (
+ len(get_all_objects_to_delete(self.acs.desired_cfg, self.acs.device_cfg,),)
+ > 0
+ ):
+ return AcsReadMsgResult(
+ msg_handled=True, next_state=self.rm_obj_transition,
+ )
+ elif (
+ len(get_all_objects_to_add(self.acs.desired_cfg, self.acs.device_cfg,),) > 0
+ ):
+ return AcsReadMsgResult(
+ msg_handled=True, next_state=self.add_obj_transition,
+ )
+ elif (
+ len(
+ get_all_param_values_to_set(
+ self.acs.desired_cfg, self.acs.device_cfg, self.acs.data_model,
+ ),
+ )
+ > 0
+ ):
+ return AcsReadMsgResult(
+ msg_handled=True, next_state=self.set_params_transition,
+ )
+ return AcsReadMsgResult(msg_handled=True, next_state=self.skip_transition,)
+
+ def state_description(self) -> str:
+ return "Getting well known parameters"
diff --git a/enodeb_status.py b/enodeb_status.py
new file mode 100644
index 0000000..442061b
--- /dev/null
+++ b/enodeb_status.py
@@ -0,0 +1,602 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+import json
+import os
+from collections import namedtuple
+from typing import Any, Dict, List, NamedTuple, Optional, Tuple, Union
+
+from lte.protos.enodebd_pb2 import SingleEnodebStatus
+from lte.protos.mconfig import mconfigs_pb2
+from common import serialization_utils
+import metrics
+from data_models.data_model_parameters import ParameterName
+from device_config.configuration_util import (
+ find_enb_by_cell_id,
+ get_enb_rf_tx_desired,
+)
+from exceptions import ConfigurationError
+from logger import EnodebdLogger as logger
+from s1ap_client import get_all_enb_state
+from state_machines.enb_acs import EnodebAcsStateMachine
+from state_machines.enb_acs_manager import StateMachineManager
+from orc8r.protos.service303_pb2 import State
+
+# There are 2 levels of caching for GPS coordinates from the enodeB: module
+# variables (in-memory) and on disk. In the event the enodeB stops reporting
+# GPS, we will continue to report the cached coordinates from the in-memory
+# cached coordinates. If enodebd is restarted, this in-memory cache will be
+# populated by the file
+
+CACHED_GPS_COORD_FILE_PATH = os.path.join(
+ '/var/opt/magma/enodebd',
+ 'gps_coords.txt',
+)
+
+# Cache GPS coordinates in memory so we don't write to the file cache if the
+# coordinates have not changed. We can read directly from here instead of the
+# file cache when the enodeB goes down unless these are unintialized.
+_gps_lat_cached = None
+_gps_lon_cached = None
+
+EnodebStatus = NamedTuple(
+ 'EnodebStatus',
+ [
+ ('enodeb_configured', bool),
+ ('gps_latitude', str),
+ ('gps_longitude', str),
+ ('enodeb_connected', bool),
+ ('opstate_enabled', bool),
+ ('rf_tx_on', bool),
+ ('rf_tx_desired', bool),
+ ('gps_connected', bool),
+ ('ptp_connected', bool),
+ ('mme_connected', bool),
+ ('fsm_state', str),
+ ('cell_id', int),
+ ],
+)
+
+# TODO: Remove after checkins support multiple eNB status
+MagmaOldEnodebdStatus = namedtuple(
+ 'MagmaOldEnodebdStatus',
+ [
+ 'enodeb_serial',
+ 'enodeb_configured',
+ 'gps_latitude',
+ 'gps_longitude',
+ 'enodeb_connected',
+ 'opstate_enabled',
+ 'rf_tx_on',
+ 'rf_tx_desired',
+ 'gps_connected',
+ 'ptp_connected',
+ 'mme_connected',
+ 'enodeb_state',
+ ],
+)
+
+MagmaEnodebdStatus = NamedTuple(
+ 'MagmaEnodebdStatus',
+ [
+ ('n_enodeb_connected', str),
+ ('all_enodeb_configured', str),
+ ('all_enodeb_opstate_enabled', str),
+ ('all_enodeb_rf_tx_configured', str),
+ ('any_enodeb_gps_connected', str),
+ ('all_enodeb_ptp_connected', str),
+ ('all_enodeb_mme_connected', str),
+ ('gateway_gps_longitude', str),
+ ('gateway_gps_latitude', str),
+ ],
+)
+
+
+def update_status_metrics(status: EnodebStatus) -> None:
+ """ Update metrics for eNodeB status """
+ # Call every second
+ metrics_by_stat_key = {
+ 'enodeb_connected': metrics.STAT_ENODEB_CONNECTED,
+ 'enodeb_configured': metrics.STAT_ENODEB_CONFIGURED,
+ 'opstate_enabled': metrics.STAT_OPSTATE_ENABLED,
+ 'rf_tx_on': metrics.STAT_RF_TX_ENABLED,
+ 'rf_tx_desired': metrics.STAT_RF_TX_DESIRED,
+ 'gps_connected': metrics.STAT_GPS_CONNECTED,
+ 'ptp_connected': metrics.STAT_PTP_CONNECTED,
+ 'mme_connected': metrics.STAT_MME_CONNECTED,
+ }
+
+ def get_metric_value(enodeb_status: Dict[str, str], key: str):
+ # Metrics are "sticky" when synced to the cloud - if we don't
+ # receive a status update from enodeb, set the metric to 0
+ # to explicitly indicate that it was not received, otherwise the
+ # metrics collector will continue to report the last value
+ val = enodeb_status.get(key, None)
+ if val is None:
+ return 0
+ if type(val) is not bool:
+ logger.error('Could not cast metric value %s to int', val)
+ return 0
+ return int(val) # val should be either True or False
+
+ for stat_key, metric in metrics_by_stat_key.items():
+ metric.set(get_metric_value(status._asdict(), stat_key))
+
+
+# TODO: Remove after checkins support multiple eNB status
+def get_service_status_old(
+ enb_acs_manager: StateMachineManager,
+) -> Dict[str, Any]:
+ """ Get service status compatible with older controller """
+ enb_status_by_serial = get_all_enb_status(enb_acs_manager)
+ # Since we only expect users to plug in a single eNB, generate service
+ # status with the first one we find that is connected
+ for enb_serial, enb_status in enb_status_by_serial.items():
+ if enb_status.enodeb_connected:
+ return MagmaOldEnodebdStatus(
+ enodeb_serial=enb_serial,
+ enodeb_configured=_bool_to_str(enb_status.enodeb_configured),
+ gps_latitude=enb_status.gps_latitude,
+ gps_longitude=enb_status.gps_longitude,
+ enodeb_connected=_bool_to_str(enb_status.enodeb_connected),
+ opstate_enabled=_bool_to_str(enb_status.opstate_enabled),
+ rf_tx_on=_bool_to_str(enb_status.rf_tx_on),
+ rf_tx_desired=_bool_to_str(enb_status.rf_tx_desired),
+ gps_connected=_bool_to_str(enb_status.gps_connected),
+ ptp_connected=_bool_to_str(enb_status.ptp_connected),
+ mme_connected=_bool_to_str(enb_status.mme_connected),
+ enodeb_state=enb_status.fsm_state,
+ )._asdict()
+ return MagmaOldEnodebdStatus(
+ enodeb_serial='N/A',
+ enodeb_configured='0',
+ gps_latitude='0.0',
+ gps_longitude='0.0',
+ enodeb_connected='0',
+ opstate_enabled='0',
+ rf_tx_on='0',
+ rf_tx_desired='N/A',
+ gps_connected='0',
+ ptp_connected='0',
+ mme_connected='0',
+ enodeb_state='N/A',
+ )._asdict()
+
+
+def get_service_status(enb_acs_manager: StateMachineManager) -> Dict[str, Any]:
+ enodebd_status = _get_enodebd_status(enb_acs_manager)
+ return enodebd_status._asdict()
+
+
+def _get_enodebd_status(
+ enb_acs_manager: StateMachineManager,
+) -> MagmaEnodebdStatus:
+ enb_status_by_serial = get_all_enb_status(enb_acs_manager)
+ # Start from default values for enodebd status
+ n_enodeb_connected = 0
+ all_enodeb_configured = False
+ all_enodeb_opstate_enabled = False
+ all_enodeb_rf_tx_configured = False
+ any_enodeb_gps_connected = False
+ all_enodeb_ptp_connected = False
+ all_enodeb_mme_connected = False
+ gateway_gps_longitude = '0.0'
+ gateway_gps_latitude = '0.0'
+
+ def _is_rf_tx_configured(enb_status: EnodebStatus) -> bool:
+ return enb_status.rf_tx_on == enb_status.rf_tx_desired
+
+ if enb_status_by_serial:
+ enb_status_list = list(enb_status_by_serial.values())
+ # Aggregate all eNB status for enodebd status, repetitive but
+ # clearer for output purposes.
+ n_enodeb_connected = sum(
+ enb_status.enodeb_connected for enb_status in enb_status_list
+ )
+ all_enodeb_configured = all(
+ enb_status.enodeb_configured for enb_status in enb_status_list
+ )
+ all_enodeb_mme_connected = all(
+ enb_status.mme_connected for enb_status in enb_status_list
+ )
+ all_enodeb_opstate_enabled = all(
+ enb_status.opstate_enabled for enb_status in enb_status_list
+ )
+ all_enodeb_ptp_connected = all(
+ enb_status.ptp_connected for enb_status in enb_status_list
+ )
+ any_enodeb_gps_connected = any(
+ enb_status.gps_connected for enb_status in enb_status_list
+ )
+ all_enodeb_rf_tx_configured = all(
+ _is_rf_tx_configured(enb_status) for enb_status in enb_status_list
+ )
+ if n_enodeb_connected:
+ gateway_gps_longitude = enb_status_list[0].gps_longitude
+ gateway_gps_latitude = enb_status_list[0].gps_latitude
+
+ return MagmaEnodebdStatus(
+ n_enodeb_connected=str(n_enodeb_connected),
+ all_enodeb_configured=str(all_enodeb_configured),
+ all_enodeb_opstate_enabled=str(all_enodeb_opstate_enabled),
+ all_enodeb_rf_tx_configured=str(all_enodeb_rf_tx_configured),
+ any_enodeb_gps_connected=str(any_enodeb_gps_connected),
+ all_enodeb_ptp_connected=str(all_enodeb_ptp_connected),
+ all_enodeb_mme_connected=str(all_enodeb_mme_connected),
+ gateway_gps_longitude=str(gateway_gps_longitude),
+ gateway_gps_latitude=str(gateway_gps_latitude),
+ )
+
+
+def get_all_enb_status(
+ enb_acs_manager: StateMachineManager,
+) -> Dict[str, EnodebStatus]:
+ enb_status_by_serial = {}
+ serial_list = enb_acs_manager.get_connected_serial_id_list()
+ for enb_serial in serial_list:
+ handler = enb_acs_manager.get_handler_by_serial(enb_serial)
+ status = get_enb_status(handler)
+ enb_status_by_serial[enb_serial] = status
+
+ return enb_status_by_serial
+
+
+def get_enb_status(enodeb: EnodebAcsStateMachine) -> EnodebStatus:
+ """
+ Returns a dict representing the status of an enodeb
+
+ The returned dictionary will be a subset of the following keys:
+ - enodeb_connected
+ - enodeb_configured
+ - opstate_enabled
+ - rf_tx_on
+ - rf_tx_desired
+ - gps_connected
+ - ptp_connected
+ - mme_connected
+ - gps_latitude
+ - gps_longitude
+ - ip_address
+ - cell_id
+
+ The set of keys returned will depend on the connection status of the
+ enodeb. A missing key indicates that the value is unknown.
+
+ Returns:
+ Status dictionary for the enodeb state
+ """
+ enodeb_configured = enodeb.is_enodeb_configured()
+
+ # We cache GPS coordinates so try to read them before the early return
+ # if the enB is not connected
+ gps_lat, gps_lon = _get_and_cache_gps_coords(enodeb)
+
+ enodeb_connected = enodeb.is_enodeb_connected()
+ opstate_enabled = _parse_param_as_bool(enodeb, ParameterName.OP_STATE)
+ rf_tx_on = _parse_param_as_bool(enodeb, ParameterName.RF_TX_STATUS)
+ rf_tx_on = rf_tx_on and enodeb_connected
+ try:
+ enb_serial = \
+ enodeb.device_cfg.get_parameter(ParameterName.SERIAL_NUMBER)
+ enb_cell_id = int(
+ enodeb.device_cfg.get_parameter(ParameterName.CELL_ID),
+ )
+ rf_tx_desired = get_enb_rf_tx_desired(enodeb.mconfig, enb_serial)
+ except (KeyError, ConfigurationError):
+ rf_tx_desired = False
+ enb_cell_id = 0
+
+ mme_connected = _parse_param_as_bool(enodeb, ParameterName.MME_STATUS)
+ gps_connected = _get_gps_status_as_bool(enodeb)
+ try:
+ ptp_connected = _parse_param_as_bool(enodeb, ParameterName.PTP_STATUS)
+ except ConfigurationError:
+ ptp_connected = False
+
+ return EnodebStatus(
+ enodeb_configured=enodeb_configured,
+ gps_latitude=gps_lat,
+ gps_longitude=gps_lon,
+ enodeb_connected=enodeb_connected,
+ opstate_enabled=opstate_enabled,
+ rf_tx_on=rf_tx_on,
+ rf_tx_desired=rf_tx_desired,
+ gps_connected=gps_connected,
+ ptp_connected=ptp_connected,
+ mme_connected=mme_connected,
+ fsm_state=enodeb.get_state(),
+ cell_id=enb_cell_id,
+ )
+
+
+def get_single_enb_status(
+ device_serial: str,
+ state_machine_manager: StateMachineManager,
+) -> SingleEnodebStatus:
+ try:
+ handler = state_machine_manager.get_handler_by_serial(device_serial)
+ except KeyError:
+ return _empty_enb_status()
+
+ # This namedtuple is missing IP and serial info
+ status = get_enb_status(handler)
+
+ # Get IP info
+ ip = state_machine_manager.get_ip_of_serial(device_serial)
+
+ def get_status_property(status: bool) -> SingleEnodebStatus.StatusProperty:
+ if status:
+ return SingleEnodebStatus.StatusProperty.Value('ON')
+ return SingleEnodebStatus.StatusProperty.Value('OFF')
+
+ # Build the message to return through gRPC
+ enb_status = SingleEnodebStatus()
+ enb_status.device_serial = device_serial
+ enb_status.ip_address = ip
+ enb_status.connected = get_status_property(status.enodeb_connected)
+ enb_status.configured = get_status_property(status.enodeb_configured)
+ enb_status.opstate_enabled = get_status_property(status.opstate_enabled)
+ enb_status.rf_tx_on = get_status_property(status.rf_tx_on)
+ enb_status.rf_tx_desired = get_status_property(status.rf_tx_desired)
+ enb_status.gps_connected = get_status_property(status.gps_connected)
+ enb_status.ptp_connected = get_status_property(status.ptp_connected)
+ enb_status.mme_connected = get_status_property(status.mme_connected)
+ enb_status.gps_longitude = status.gps_longitude
+ enb_status.gps_latitude = status.gps_latitude
+ enb_status.fsm_state = status.fsm_state
+ return enb_status
+
+
+def get_operational_states(
+ enb_acs_manager: StateMachineManager,
+ mconfig: mconfigs_pb2.EnodebD,
+) -> List[State]:
+ """
+ Returns: A list of State with EnodebStatus encoded as JSON
+ """
+ states = []
+ configured_serial_ids = []
+ enb_status_by_serial = get_all_enb_status(enb_acs_manager)
+
+ # Get S1 connected eNBs
+ enb_statuses = get_all_enb_state()
+
+ for serial_id in enb_status_by_serial:
+ enb_status_dict = enb_status_by_serial[serial_id]._asdict()
+
+ # Add IP address to state
+ enb_status_dict['ip_address'] = enb_acs_manager.get_ip_of_serial(
+ serial_id,
+ )
+
+ # Add num of UEs connected
+ num_ue_connected = enb_statuses.get(enb_status_dict['cell_id'], 0)
+ enb_status_dict['ues_connected'] = num_ue_connected
+
+ serialized = json.dumps(enb_status_dict)
+ state = State(
+ type="single_enodeb",
+ deviceID=serial_id,
+ value=serialized.encode('utf-8'),
+ )
+ configured_serial_ids.append(serial_id)
+ states.append(state)
+
+ # Get state for externally configured enodebs
+ s1_states = get_enb_s1_connected_states(
+ enb_statuses,
+ configured_serial_ids,
+ mconfig,
+ )
+ states.extend(s1_states)
+
+ return states
+
+
+def get_enb_s1_connected_states(
+ enb_s1_state_map, configured_serial_ids,
+ mconfig,
+) -> List[State]:
+ states = []
+ for enb_id in enb_s1_state_map:
+ enb = find_enb_by_cell_id(mconfig, enb_id)
+ if enb and enb.serial_num not in configured_serial_ids:
+ status = EnodebStatus(
+ enodeb_configured=False,
+ gps_latitude='N/A',
+ gps_longitude='N/A',
+ enodeb_connected=True,
+ opstate_enabled=False,
+ rf_tx_on=False,
+ rf_tx_desired=False,
+ gps_connected=False,
+ ptp_connected=False,
+ mme_connected=True,
+ fsm_state='N/A',
+ cell_id=enb_id,
+ )
+ status_dict = status._asdict()
+
+ # Add IP address to state
+ status_dict['ip_address'] = enb.config.ip_address
+
+ # Add num of UEs connected to state, use cellID from mconfig
+ status_dict['ues_connected'] = enb_s1_state_map.get(enb_id, 0)
+
+ serialized = json.dumps(status_dict)
+ state = State(
+ type="single_enodeb",
+ deviceID=enb.serial_num,
+ value=serialized.encode('utf-8'),
+ )
+ states.append(state)
+ return states
+
+
+def _empty_enb_status() -> SingleEnodebStatus:
+ enb_status = SingleEnodebStatus()
+ enb_status.device_serial = 'N/A'
+ enb_status.ip_address = 'N/A'
+ enb_status.connected = '0'
+ enb_status.configured = '0'
+ enb_status.opstate_enabled = '0'
+ enb_status.rf_tx_on = '0'
+ enb_status.rf_tx_desired = 'N/A'
+ enb_status.gps_connected = '0'
+ enb_status.ptp_connected = '0'
+ enb_status.mme_connected = '0'
+ enb_status.gps_longitude = '0.0'
+ enb_status.gps_latitude = '0.0'
+ enb_status.fsm_state = 'N/A'
+ return enb_status
+
+
+def _parse_param_as_bool(
+ enodeb: EnodebAcsStateMachine,
+ param_name: ParameterName,
+) -> bool:
+ try:
+ return _format_as_bool(enodeb.get_parameter(param_name), param_name)
+ except (KeyError, ConfigurationError):
+ return False
+
+
+def _format_as_bool(
+ param_value: Union[bool, str, int],
+ param_name: Optional[Union[ParameterName, str]] = None,
+) -> bool:
+ """ Returns '1' for true, and '0' for false """
+ stripped_value = str(param_value).lower().strip()
+ if stripped_value in {'true', '1'}:
+ return True
+ elif stripped_value in {'false', '0'}:
+ return False
+ else:
+ logger.warning(
+ '%s parameter not understood (%s)', param_name, param_value,
+ )
+ return False
+
+
+def _get_gps_status_as_bool(enodeb: EnodebAcsStateMachine) -> bool:
+ try:
+ if not enodeb.has_parameter(ParameterName.GPS_STATUS):
+ return False
+ else:
+ param = enodeb.get_parameter(ParameterName.GPS_STATUS)
+ if isinstance(param, bool):
+ # No translation to do.
+ return param
+ stripped_value = param.lower().strip()
+ if stripped_value == '0' or stripped_value == '2':
+ # 2 = GPS locking
+ return False
+ elif stripped_value == '1':
+ return True
+ else:
+ logger.warning(
+ 'GPS status parameter not understood (%s)', param,
+ )
+ return False
+ except (KeyError, ConfigurationError):
+ return False
+
+
+def _get_and_cache_gps_coords(enodeb: EnodebAcsStateMachine) -> Tuple[
+ str, str,
+]:
+ """
+ Read the GPS coordinates of the enB from its configuration or the
+ cached coordinate file if the preceding read fails. If reading from
+ enB configuration succeeds, this method will cache the new coordinates.
+
+ Returns:
+ (str, str): GPS latitude, GPS longitude
+ """
+ lat, lon = '', ''
+ try:
+ lat = enodeb.get_parameter(ParameterName.GPS_LAT)
+ lon = enodeb.get_parameter(ParameterName.GPS_LONG)
+
+ if lat != _gps_lat_cached or lon != _gps_lon_cached:
+ _cache_new_gps_coords(lat, lon)
+ return lat, lon
+ except (KeyError, ConfigurationError):
+ return _get_cached_gps_coords()
+ except ValueError:
+ logger.warning('GPS lat/long not understood (%s/%s)', lat, lon)
+ return '0', '0'
+
+
+def _get_cached_gps_coords() -> Tuple[str, str]:
+ """
+ Returns cached GPS coordinates if enB is disconnected or otherwise not
+ reporting coordinates.
+
+ Returns:
+ (str, str): (GPS lat, GPS lon)
+ """
+ # pylint: disable=global-statement
+ global _gps_lat_cached, _gps_lon_cached
+ if _gps_lat_cached is None or _gps_lon_cached is None:
+ _gps_lat_cached, _gps_lon_cached = _read_gps_coords_from_file()
+ return _gps_lat_cached, _gps_lon_cached
+
+
+def _read_gps_coords_from_file():
+ try:
+ with open(CACHED_GPS_COORD_FILE_PATH, encoding="utf-8") as f:
+ lines = f.readlines()
+ if len(lines) != 2:
+ logger.warning(
+ 'Expected to find 2 lines in GPS '
+ 'coordinate file but only found %d',
+ len(lines),
+ )
+ return '0', '0'
+ return tuple(map(lambda l: l.strip(), lines))
+ except OSError:
+ logger.warning('Could not open cached GPS coordinate file')
+ return '0', '0'
+
+
+def _cache_new_gps_coords(gps_lat, gps_lon):
+ """
+ Cache GPS coordinates in the module-level variables here and write them
+ to a managed file on disk.
+
+ Args:
+ gps_lat (str): latitude as a string
+ gps_lon (str): longitude as a string
+ """
+ # pylint: disable=global-statement
+ global _gps_lat_cached, _gps_lon_cached
+ _gps_lat_cached, _gps_lon_cached = gps_lat, gps_lon
+ _write_gps_coords_to_file(gps_lat, gps_lon)
+
+
+def _write_gps_coords_to_file(gps_lat, gps_lon):
+ lines = '{lat}\n{lon}'.format(lat=gps_lat, lon=gps_lon)
+ try:
+ serialization_utils.write_to_file_atomically(
+ CACHED_GPS_COORD_FILE_PATH,
+ lines,
+ )
+ except OSError:
+ pass
+
+
+def _bool_to_str(b: bool) -> str:
+ if b is True:
+ return "1"
+ return "0"
diff --git a/enodebd_iptables_rules.py b/enodebd_iptables_rules.py
new file mode 100644
index 0000000..39ffc02
--- /dev/null
+++ b/enodebd_iptables_rules.py
@@ -0,0 +1,158 @@
+#!/usr/bin/env python3
+
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+
+import asyncio
+import re
+import shlex
+import subprocess
+from typing import List
+
+from common.misc_utils import (
+ IpPreference,
+ get_if_ip_with_netmask,
+ get_ip_from_if,
+)
+from configuration.service_configs import load_service_config
+from logger import EnodebdLogger as logger
+
+IPTABLES_RULE_FMT = """sudo iptables -t nat
+ -{add} PREROUTING
+ -d {public_ip}
+ -p tcp
+ --dport {port}
+ -j DNAT --to-destination {private_ip}"""
+
+EXPECTED_IP4 = ('192.168.60.142', '10.0.2.1')
+EXPECTED_MASK = '255.255.255.0'
+
+
+def get_iptables_rule(port, enodebd_public_ip, private_ip, add=True):
+ return IPTABLES_RULE_FMT.format(
+ add='A' if add else 'D',
+ public_ip=enodebd_public_ip,
+ port=port,
+ private_ip=private_ip,
+ )
+
+
+def does_iface_config_match_expected(ip: str, netmask: str) -> bool:
+ return ip in EXPECTED_IP4 and netmask == EXPECTED_MASK
+
+
+def _get_prerouting_rules(output: str) -> List[str]:
+ prerouting_rules = output.split('\n\n')[0]
+ prerouting_rules = prerouting_rules.split('\n')
+ # Skipping the first two lines since it contains only column names
+ prerouting_rules = prerouting_rules[2:]
+ return prerouting_rules
+
+
+async def check_and_apply_iptables_rules(
+ port: str,
+ enodebd_public_ip: str,
+ enodebd_ip: str,
+) -> None:
+ command = 'sudo iptables -t nat -L'
+ output = subprocess.run(command, shell=True, stdout=subprocess.PIPE, check=True)
+ command_output = output.stdout.decode('utf-8').strip()
+ prerouting_rules = _get_prerouting_rules(command_output)
+ if not prerouting_rules:
+ logger.info('Configuring Iptables rule')
+ await run(
+ get_iptables_rule(
+ port,
+ enodebd_public_ip,
+ enodebd_ip,
+ add=True,
+ ),
+ )
+ else:
+ # Checks each rule in PREROUTING Chain
+ check_rules(prerouting_rules, port, enodebd_public_ip, enodebd_ip)
+
+
+def check_rules(
+ prerouting_rules: List[str],
+ port: str,
+ enodebd_public_ip: str,
+ private_ip: str,
+) -> None:
+ unexpected_rules = []
+ pattern = r'DNAT\s+tcp\s+--\s+anywhere\s+{pub_ip}\s+tcp\s+dpt:{dport} to:{ip}'.format(
+ pub_ip=enodebd_public_ip,
+ dport=port,
+ ip=private_ip,
+ )
+ for rule in prerouting_rules:
+ match = re.search(pattern, rule)
+ if not match:
+ unexpected_rules.append(rule)
+ if unexpected_rules:
+ logger.warning('The following Prerouting rule(s) are unexpected')
+ for rule in unexpected_rules:
+ logger.warning(rule)
+
+
+async def run(cmd):
+ """Fork shell and run command NOTE: Popen is non-blocking"""
+ cmd = shlex.split(cmd)
+ proc = await asyncio.create_subprocess_shell(" ".join(cmd))
+ await proc.communicate()
+ if proc.returncode != 0:
+ # This can happen because the NAT prerouting rule didn't exist
+ logger.error(
+ 'Possible error running async subprocess: %s exited with '
+ 'return code [%d].', cmd, proc.returncode,
+ )
+ return proc.returncode
+
+
+async def set_enodebd_iptables_rule():
+ """
+ Remove & Set iptable rules for exposing public IP
+ for enobeb instead of private IP..
+ """
+ # Remove & Set iptable rules for exposing public ip
+ # for enobeb instead of private
+ cfg = load_service_config('enodebd')
+ port, interface = cfg['tr069']['port'], cfg['tr069']['interface']
+ enodebd_public_ip = cfg['tr069']['public_ip']
+ # IPv4 only as iptables only works for IPv4. TODO: Investigate ip6tables?
+ enodebd_ip = get_ip_from_if(interface, preference=IpPreference.IPV4_ONLY)
+ # Incoming data from 192.88.99.142 -> enodebd address (eg 192.168.60.142)
+ enodebd_netmask = get_if_ip_with_netmask(
+ interface,
+ preference=IpPreference.IPV4_ONLY,
+ )[1]
+ verify_config = does_iface_config_match_expected(
+ enodebd_ip,
+ enodebd_netmask,
+ )
+ if not verify_config:
+ logger.warning(
+ 'The IP address of the %s interface is %s. The '
+ 'expected IP addresses are %s',
+ interface, enodebd_ip, str(EXPECTED_IP4),
+ )
+ await check_and_apply_iptables_rules(
+ port,
+ enodebd_public_ip,
+ enodebd_ip,
+ )
+
+
+if __name__ == '__main__':
+ set_enodebd_iptables_rule()
diff --git a/eventd/__init__.py b/eventd/__init__.py
new file mode 100644
index 0000000..5c6cb64
--- /dev/null
+++ b/eventd/__init__.py
@@ -0,0 +1,12 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
diff --git a/eventd/event_validator.py b/eventd/event_validator.py
new file mode 100644
index 0000000..31b1636
--- /dev/null
+++ b/eventd/event_validator.py
@@ -0,0 +1,125 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+import json
+import logging
+from contextlib import closing
+from typing import Any, Dict
+
+import pkg_resources
+import yaml
+from bravado_core.spec import Spec
+from bravado_core.validate import validate_object as bravado_validate
+
+EVENT_REGISTRY = 'event_registry'
+SWAGGER_SPEC = 'swagger_spec'
+BRAVADO_SPEC = 'bravado_spec'
+MODULE = 'module'
+FILENAME = 'filename'
+DEFINITIONS = 'definitions'
+
+
+class EventValidator(object):
+ """
+ gRPC based server for EventD.
+ """
+
+ def __init__(self, config: Dict[str, Any]):
+ self.event_registry = config[EVENT_REGISTRY]
+ self.specs_by_filename = self._load_specs_from_registry()
+
+ def validate_event(self, raw_event: str, event_type: str) -> None:
+ """
+ Checks if an event is registered and validates it based on
+ a registered schema.
+ Args:
+ raw_event: The event to be validated, as a JSON-encoded string
+ event_type: The type of an event, which corresponds
+ to a generated model
+ Returns:
+ Does not return, but throws exceptions if validation fails.
+ """
+ event = json.loads(raw_event)
+
+ # Event not in registry
+ if event_type not in self.event_registry:
+ logging.debug(
+ 'Event type %s not among registered event types (%s)',
+ event_type, self.event_registry,
+ )
+ raise KeyError(
+ 'Event type {} not registered, '
+ 'please add it to the EventD config'.format(event_type),
+ )
+ filename = self.event_registry[event_type][FILENAME]
+ bravado_validate(
+ self.specs_by_filename[filename][BRAVADO_SPEC],
+ self.specs_by_filename[filename][SWAGGER_SPEC][event_type],
+ event,
+ )
+
+ def _load_specs_from_registry(self) -> Dict[str, Any]:
+ """
+ Loads all swagger definitions from the files specified in the
+ event registry.
+ """
+ specs_by_filename = {}
+ for event_type, info in self.event_registry.items():
+ filename = info[FILENAME]
+ if filename in specs_by_filename:
+ # Spec for this file is already registered
+ self._check_event_exists_in_spec(
+ specs_by_filename[filename][SWAGGER_SPEC],
+ filename,
+ event_type,
+ )
+ continue
+
+ module = '{}.swagger.specs'.format(info[MODULE])
+ if not pkg_resources.resource_exists(module, filename):
+ raise LookupError(
+ 'File {} not found under {}/swagger, please ensure that '
+ 'it exists'.format(filename, info[MODULE]),
+ )
+
+ stream = pkg_resources.resource_stream(module, filename)
+ with closing(stream) as spec_file:
+ swagger_spec = yaml.safe_load(spec_file)
+ self._check_event_exists_in_spec(
+ swagger_spec[DEFINITIONS], filename, event_type,
+ )
+
+ config = {'validate_swagger_spec': False}
+ bravado_spec = Spec.from_dict(swagger_spec, config=config)
+ specs_by_filename[filename] = {
+ SWAGGER_SPEC: swagger_spec[DEFINITIONS],
+ BRAVADO_SPEC: bravado_spec,
+ }
+
+ return specs_by_filename
+
+ @staticmethod
+ def _check_event_exists_in_spec(
+ swagger_definitions: Dict[str, Any],
+ filename: str,
+ event_type: str,
+ ):
+ """
+ Throw a KeyError if the event_type does not exist in swagger_definitions
+ """
+ if event_type not in swagger_definitions:
+ raise KeyError(
+ 'Event type {} is not defined in {}, '
+ 'please add the definition and re-generate '
+ 'swagger specifications'.format(event_type, filename),
+ )
diff --git a/eventd/eventd_client.py b/eventd/eventd_client.py
new file mode 100644
index 0000000..3f8b63e
--- /dev/null
+++ b/eventd/eventd_client.py
@@ -0,0 +1,52 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+import logging
+
+import grpc
+from google.protobuf.json_format import MessageToDict
+from common.service_registry import ServiceRegistry
+from orc8r.protos.eventd_pb2 import Event
+from orc8r.protos.eventd_pb2_grpc import EventServiceStub
+
+EVENTD_SERVICE_NAME = "eventd"
+DEFAULT_GRPC_TIMEOUT = 10
+
+
+def log_event(event: Event) -> None:
+ """
+ Make RPC call to 'LogEvent' method of local eventD service
+ """
+ try:
+ chan = ServiceRegistry.get_rpc_channel(
+ EVENTD_SERVICE_NAME, ServiceRegistry.LOCAL,
+ )
+ except ValueError:
+ logging.error("Cant get RPC channel to %s", EVENTD_SERVICE_NAME)
+ return
+ client = EventServiceStub(chan)
+ try:
+ # Location will be filled in by directory service
+ client.LogEvent(event, DEFAULT_GRPC_TIMEOUT)
+ except grpc.RpcError as err:
+ if err.code() == grpc.StatusCode.UNAVAILABLE:
+ logging.debug(
+ "LogEvent will not occur unless eventd configuration "
+ "is set up.",
+ )
+ else:
+ logging.error(
+ "LogEvent error for event: %s, [%s] %s",
+ MessageToDict(event),
+ err.code(),
+ err.details(),
+ )
diff --git a/eventd/main.py b/eventd/main.py
new file mode 100644
index 0000000..64bb124
--- /dev/null
+++ b/eventd/main.py
@@ -0,0 +1,40 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+from common.sentry import sentry_init
+from common.service import MagmaService
+from eventd.event_validator import EventValidator
+from eventd.rpc_servicer import EventDRpcServicer
+from orc8r.protos.mconfig.mconfigs_pb2 import EventD
+
+
+def main():
+ """ main() for eventd """
+ service = MagmaService('eventd', EventD())
+
+ # Optionally pipe errors to Sentry
+ sentry_init(service_name=service.name)
+
+ event_validator = EventValidator(service.config)
+ eventd_servicer = EventDRpcServicer(service.config, event_validator)
+ eventd_servicer.add_to_server(service.rpc_server)
+
+ # Run the service loop
+ service.run()
+
+ # Cleanup the service
+ service.close()
+
+
+if __name__ == "__main__":
+ main()
diff --git a/eventd/rpc_servicer.py b/eventd/rpc_servicer.py
new file mode 100644
index 0000000..5b1e641
--- /dev/null
+++ b/eventd/rpc_servicer.py
@@ -0,0 +1,100 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+import json
+import logging
+import socket
+from contextlib import closing
+from typing import Any, Dict
+
+import grpc
+import jsonschema
+from common.rpc_utils import return_void
+from eventd.event_validator import EventValidator
+from orc8r.protos import eventd_pb2, eventd_pb2_grpc
+
+RETRY_ON_FAILURE = 'retry_on_failure'
+
+
+class EventDRpcServicer(eventd_pb2_grpc.EventServiceServicer):
+ """
+ gRPC based server for EventD.
+ """
+
+ def __init__(self, config: Dict[str, Any], validator: EventValidator):
+ self._fluent_bit_port = config['fluent_bit_port']
+ self._tcp_timeout = config['tcp_timeout']
+ self._event_registry = config['event_registry']
+ self._validator = validator
+
+ def add_to_server(self, server):
+ """
+ Add the servicer to a gRPC server
+ """
+ eventd_pb2_grpc.add_EventServiceServicer_to_server(self, server)
+
+ @return_void
+ def LogEvent(self, request: eventd_pb2.Event, context):
+ """
+ Logs an event.
+ """
+ logging.debug("Logging event: %s", request)
+
+ try:
+ self._validator.validate_event(request.value, request.event_type)
+ except (KeyError, jsonschema.ValidationError) as e:
+ logging.error("KeyError for log: %s. Error: %s", request, e)
+ context.set_code(grpc.StatusCode.INVALID_ARGUMENT)
+ context.set_details(
+ 'Event validation failed, Details: {}'.format(e),
+ )
+ return
+
+ value = {
+ 'stream_name': request.stream_name,
+ 'event_type': request.event_type,
+ 'event_tag': request.tag,
+ 'value': request.value,
+ 'retry_on_failure': self._needs_retries(request.event_type),
+ }
+ try:
+ with closing(
+ socket.create_connection(
+ ('localhost', self._fluent_bit_port),
+ timeout=self._tcp_timeout,
+ ),
+ ) as sock:
+ logging.debug('Sending log to FluentBit')
+ sock.sendall(json.dumps(value).encode('utf-8'))
+ except socket.error as e:
+ logging.error('Connection to FluentBit failed: %s', e)
+ logging.info(
+ 'FluentBit (td-agent-bit) may not be enabled '
+ 'or configured correctly',
+ )
+ context.set_code(grpc.StatusCode.UNAVAILABLE)
+ context.set_details(
+ 'Could not connect to FluentBit locally, Details: {}'
+ .format(e),
+ )
+ return
+
+ logging.debug("Successfully logged event: %s", request)
+
+ def _needs_retries(self, event_type: str) -> str:
+ if event_type not in self._event_registry:
+ # Should not get here
+ return 'False'
+ if RETRY_ON_FAILURE not in self._event_registry[event_type]:
+ return 'False'
+ return str(self._event_registry[event_type][RETRY_ON_FAILURE])
diff --git a/eventd/tests/__init__.py b/eventd/tests/__init__.py
new file mode 100644
index 0000000..5c6cb64
--- /dev/null
+++ b/eventd/tests/__init__.py
@@ -0,0 +1,12 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
diff --git a/eventd/tests/event_validation_tests.py b/eventd/tests/event_validation_tests.py
new file mode 100644
index 0000000..54c73e1
--- /dev/null
+++ b/eventd/tests/event_validation_tests.py
@@ -0,0 +1,124 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+import json
+from unittest import TestCase
+
+from jsonschema import ValidationError
+from magma.eventd.event_validator import EventValidator
+
+
+class EventValidationTests(TestCase):
+
+ def setUp(self):
+ # A test event registry that specifies the test events
+ test_events_location = {
+ 'module': 'orc8r',
+ 'filename': 'test_event_definitions.yml',
+ }
+ config = {
+ 'fluent_bit_port': '',
+ 'tcp_timeout': '',
+ 'event_registry': {
+ 'simple_event': test_events_location,
+ 'array_and_object_event': test_events_location,
+ 'null_event': test_events_location,
+ },
+ }
+ self.validator = EventValidator(config)
+
+ def test_event_registration(self):
+ data = json.dumps({
+ 'foo': 'magma', # required
+ 'bar': 123,
+ })
+ # Errors when event is not registered
+ with self.assertRaises(Exception):
+ self.validator.validate_event(data, 'non_existent_event')
+
+ # Does not error when event is registered
+ self.validator.validate_event(data, 'simple_event')
+
+ def test_field_consistency(self):
+ # Errors when there are missing fields (required fields)
+ with self.assertRaises(ValidationError):
+ # foo is missing
+ data = json.dumps({
+ 'bar': 123,
+ })
+ self.validator.validate_event(data, 'simple_event')
+
+ # Errors on excess fields (additionalProperties set to false)
+ with self.assertRaises(ValidationError):
+ data = json.dumps({
+ 'extra_field': 12,
+ 'foo': 'asdf',
+ 'bar': 123,
+ })
+ self.validator.validate_event(data, 'simple_event')
+
+ # Errors when there are missing AND excess fields
+ with self.assertRaises(ValidationError):
+ data = json.dumps({
+ 'extra_field': 12,
+ 'bar': 123,
+ })
+ # foo is missing
+ self.validator.validate_event(data, 'simple_event')
+
+ # Does not error when the fields are equivalent
+ data = json.dumps({
+ 'foo': 'magma', # required
+ 'bar': 123,
+ })
+ self.validator.validate_event(data, 'simple_event')
+
+ # Does not error when event has no fields
+ self.validator.validate_event(json.dumps({}), 'null_event')
+
+ def test_type_checking(self):
+ data = json.dumps({
+ 'an_array': ["a", "b"],
+ 'an_object': {
+ "a_key": 1,
+ "b_key": 1,
+ },
+ })
+ # Does not error when the types match
+ self.validator.validate_event(data, 'array_and_object_event')
+
+ # Errors when the type is wrong for primitive fields
+ with self.assertRaises(ValidationError):
+ data = json.dumps({
+ 'foo': 123,
+ 'bar': 'asdf',
+ })
+ self.validator.validate_event(data, 'simple_event')
+
+ # Errors when the type is wrong for array
+ with self.assertRaises(ValidationError):
+ data = json.dumps({
+ 'an_array': [1, 2, 3],
+ 'an_object': {},
+ })
+ self.validator.validate_event(data, 'array_and_object_event')
+
+ # Errors when the value type is wrong for object
+ with self.assertRaises(ValidationError):
+ data = json.dumps({
+ 'an_array': ["a", "b"],
+ 'an_object': {
+ "a_key": "wrong_value",
+ },
+ })
+ self.validator.validate_event(data, 'array_and_object_event')
diff --git a/exceptions.py b/exceptions.py
new file mode 100644
index 0000000..8c9427e
--- /dev/null
+++ b/exceptions.py
@@ -0,0 +1,40 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+
+class ConfigurationError(Exception):
+ """ Indicates that the eNodeB could not be configured correctly. """
+ pass
+
+
+class Tr069Error(Exception):
+ pass
+
+
+class IncorrectDeviceHandlerError(Exception):
+ """ Indicates that we're using the wrong data model for configuration. """
+
+ def __init__(self, device_name: str):
+ """
+ device_name: What device we actually are dealing with
+ """
+ super().__init__()
+ self.device_name = device_name
+
+
+class UnrecognizedEnodebError(Exception):
+ """
+ Indicates that the Access Gateway does not recognize the eNodeB.
+ The Access Gateway will not interact with the eNodeB in question.
+ """
+ pass
diff --git a/logger.py b/logger.py
new file mode 100644
index 0000000..d0b67ca
--- /dev/null
+++ b/logger.py
@@ -0,0 +1,78 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+import logging
+from logging.handlers import RotatingFileHandler
+
+LOG_FILE = './enodebd.log'
+MAX_BYTES = 1024 * 1024 * 10 # 10MB
+BACKUP_COUNT = 5 # 10MB, 5 files, 50MB total
+
+
+class EnodebdLogger:
+ """
+ EnodebdLogger backs up debug logs with a RotatingFileHandler.
+
+ Debug logs will be propagated to root level if the root logger is set to
+ debug level.
+ """
+
+ _LOGGER = logging.getLogger(__name__) # type: logging.Logger
+
+ @staticmethod
+ def init() -> None:
+ if logging.root.level is not logging.DEBUG:
+ EnodebdLogger._LOGGER.propagate = False
+ handler = RotatingFileHandler(
+ LOG_FILE,
+ maxBytes=MAX_BYTES,
+ backupCount=BACKUP_COUNT,
+ )
+ formatter = logging.Formatter(fmt='%(asctime)s %(levelname)s %(message)s')
+ handler.setFormatter(formatter)
+ EnodebdLogger._LOGGER.addHandler(handler)
+ EnodebdLogger._LOGGER.setLevel(logging.DEBUG)
+
+ @staticmethod
+ def debug(msg, *args, **kwargs):
+ EnodebdLogger._LOGGER.debug(msg, *args, **kwargs)
+
+ @staticmethod
+ def info(msg, *args, **kwargs):
+ if not EnodebdLogger._LOGGER.propagate:
+ logging.info(msg, *args, **kwargs)
+ EnodebdLogger._LOGGER.info(msg, *args, **kwargs)
+
+ @staticmethod
+ def warning(msg, *args, **kwargs):
+ if not EnodebdLogger._LOGGER.propagate:
+ logging.warning(msg, *args, **kwargs)
+ EnodebdLogger._LOGGER.warning(msg, *args, **kwargs)
+
+ @staticmethod
+ def error(msg, *args, **kwargs):
+ if not EnodebdLogger._LOGGER.propagate:
+ logging.error(msg, *args, **kwargs)
+ EnodebdLogger._LOGGER.error(msg, *args, **kwargs)
+
+ @staticmethod
+ def exception(msg, *args, **kwargs):
+ if not EnodebdLogger._LOGGER.propagate:
+ logging.exception(msg, *args, **kwargs)
+ EnodebdLogger._LOGGER.exception(msg, *args, **kwargs)
+
+ @staticmethod
+ def critical(msg, *args, **kwargs):
+ if not EnodebdLogger._LOGGER.propagate:
+ logging.critical(msg, *args, **kwargs)
+ EnodebdLogger._LOGGER.critical(msg, *args, **kwargs)
diff --git a/lte_utils.py b/lte_utils.py
new file mode 100644
index 0000000..94a96d3
--- /dev/null
+++ b/lte_utils.py
@@ -0,0 +1,153 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+from enum import Enum
+from typing import Optional
+
+
+class DuplexMode(Enum):
+ FDD = 1
+ TDD = 2
+
+
+class LTEBandInfo:
+ """ Class for holding information related to LTE band.
+ Takes advantage of the following properties of LTE EARFCN assignment:
+ - EARFCN spacing within a band is always 0.1MHz
+ - 1:1 mapping between EARFCNDL and EARFCNUL (for FDD)
+ """
+
+ def __init__(
+ self, duplex_mode, earfcndl, start_freq_dl_mhz,
+ start_earfcnul=None, start_freq_ul_mhz=None,
+ ):
+ """
+ Inputs:
+ - Duplex mode - type = DuplexMode
+ - earfcndl - List/generator of integer EARFCNDLs in band, from lowest to
+ highest
+ - start_freq_dl_mhz - Frequency of lowest numbered EARFCNDL in band
+ (MHz)
+ - start_earfcnul - Lowest numbered EARFCNUL in band
+ (or None if band is TDD)
+ - start_freq_ul_mhz - Frequency of lowest numbered EARFCNUL in band
+ (MHz) (or None if band is TDD)
+ """
+ # Validate inputs
+ assert type(earfcndl) == list or type(earfcndl) == range
+ assert type(start_freq_dl_mhz) == int
+ assert type(duplex_mode) == DuplexMode
+ if duplex_mode == DuplexMode.FDD:
+ assert type(start_earfcnul) == int
+ assert type(start_freq_ul_mhz) == int
+ else:
+ assert start_earfcnul is None
+ assert start_freq_ul_mhz is None
+
+ # DuplexMode.TDD or DuplexMode.FDD
+ self.duplex_mode = duplex_mode
+ # Array of EARFCNDL values
+ self.earfcndl = earfcndl
+ # Array of DL frequencies in MHz, one per EARFCNDL
+ self.freq_mhz_dl = [
+ start_freq_dl_mhz + 0.1 * (earfcn - earfcndl[0])
+ for earfcn in earfcndl
+ ]
+
+ if duplex_mode == DuplexMode.FDD:
+ # Array of EARFCNUL values that map to EARFCNDL
+ self.earfcnul = range(
+ start_earfcnul,
+ start_earfcnul + len(earfcndl),
+ )
+ # Array of UL frequencies in MHz, one per EARFCNUL
+ self.freq_mhz_ul = [
+ start_freq_ul_mhz + 0.1 * (
+ earfcn -
+ self.earfcnul[0]
+ ) for earfcn in self.earfcnul
+ ]
+ else:
+ self.earfcnul = None
+ self.freq_mhz_ul = None
+
+
+# See, for example, http://niviuk.free.fr/lte_band.php for LTE band info
+LTE_BAND_INFO = {
+ # FDD bands
+ # duplex_mode, EARFCNDL, start_freq_dl, start_EARCNUL, start_freq_ul
+ 1: LTEBandInfo(DuplexMode.FDD, range(0, 600), 2110, 18000, 1920),
+ 2: LTEBandInfo(DuplexMode.FDD, range(600, 1200), 1930, 18600, 1850),
+ 3: LTEBandInfo(DuplexMode.FDD, range(1200, 1950), 1805, 19200, 1710),
+ 4: LTEBandInfo(DuplexMode.FDD, range(1950, 2400), 2110, 19950, 1710),
+ 5: LTEBandInfo(DuplexMode.FDD, range(2400, 2649), 869, 20400, 824),
+ 28: LTEBandInfo(DuplexMode.FDD, range(9210, 9660), 758, 27210, 703),
+ # TDD bands
+ # duplex_mode, EARFCNDL, start_freq_dl
+ 33: LTEBandInfo(DuplexMode.TDD, range(36000, 36199), 1900),
+ 34: LTEBandInfo(DuplexMode.TDD, range(36200, 36349), 2010),
+ 35: LTEBandInfo(DuplexMode.TDD, range(36350, 36949), 1850),
+ 36: LTEBandInfo(DuplexMode.TDD, range(36950, 37549), 1930),
+ 37: LTEBandInfo(DuplexMode.TDD, range(37550, 37750), 1910),
+ 38: LTEBandInfo(DuplexMode.TDD, range(37750, 38250), 2570),
+ 39: LTEBandInfo(DuplexMode.TDD, range(38250, 38650), 1880),
+ 40: LTEBandInfo(DuplexMode.TDD, range(38650, 39650), 2300),
+ 41: LTEBandInfo(DuplexMode.TDD, range(39650, 41590), 2496),
+ 42: LTEBandInfo(DuplexMode.TDD, range(41590, 43590), 3400),
+ 43: LTEBandInfo(DuplexMode.TDD, range(43590, 45590), 3600),
+ 44: LTEBandInfo(DuplexMode.TDD, range(45590, 46589), 703),
+ 45: LTEBandInfo(DuplexMode.TDD, range(46590, 46789), 1447),
+ 46: LTEBandInfo(DuplexMode.TDD, range(46790, 54539), 5150),
+ 47: LTEBandInfo(DuplexMode.TDD, range(54540, 55239), 5855),
+ 48: LTEBandInfo(DuplexMode.TDD, range(55240, 56740), 3550),
+ 49: LTEBandInfo(DuplexMode.TDD, range(56740, 58239), 3550),
+ 50: LTEBandInfo(DuplexMode.TDD, range(58240, 59089), 1432),
+ 51: LTEBandInfo(DuplexMode.TDD, range(59090, 59139), 1427),
+ 52: LTEBandInfo(DuplexMode.TDD, range(59140, 60139), 3300),
+ # For the band #53 start_freq_dl is float value which require some changes
+ # in the code
+ # 53: LTEBandInfo(DuplexMode.TDD, range(60140, 60254), 2483.5),
+
+}
+# TODO - add remaining FDD LTE bands
+
+
+def map_earfcndl_to_duplex_mode(earfcndl: int) -> Optional[DuplexMode]:
+ """
+ Returns None if we do not support the EARFCNDL
+ """
+ for band in LTE_BAND_INFO.keys():
+ if earfcndl in LTE_BAND_INFO[band].earfcndl:
+ return LTE_BAND_INFO[band].duplex_mode
+ return None
+
+
+def map_earfcndl_to_band_earfcnul_mode(earfcndl):
+ """ Inputs:
+ - EARFCNDL (integer)
+ Outputs:
+ - Band (integer)
+ - Mode (DuplexMode)
+ - EARFCNUL (integer - or None if TDD)
+ """
+ for band in LTE_BAND_INFO.keys():
+ if earfcndl in LTE_BAND_INFO[band].earfcndl:
+ if LTE_BAND_INFO[band].duplex_mode == DuplexMode.FDD:
+ index = LTE_BAND_INFO[band].earfcndl.index(earfcndl)
+ earfcnul = LTE_BAND_INFO[band].earfcnul[index]
+ else:
+ earfcnul = None
+
+ return band, LTE_BAND_INFO[band].duplex_mode, earfcnul
+
+ raise ValueError('EARFCNDL %d not found in LTE band info' % earfcndl)
diff --git a/magma_configs/control_proxy.yml b/magma_configs/control_proxy.yml
new file mode 100644
index 0000000..f245362
--- /dev/null
+++ b/magma_configs/control_proxy.yml
@@ -0,0 +1,52 @@
+---
+#
+# Copyright 2020 The Magma Authors.
+
+# This source code is licensed under the BSD-style license found in the
+# LICENSE file in the root directory of this source tree.
+
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# nghttpx config will be generated here and used
+nghttpx_config_location: /var/tmp/nghttpx.conf
+
+# Location for certs
+rootca_cert: /var/opt/magma/certs/rootCA.pem
+gateway_cert: /var/opt/magma/certs/gateway.crt
+gateway_key: /var/opt/magma/certs/gateway.key
+
+# Listening port of the proxy for local services. The port would be closed
+# for the rest of the world.
+local_port: 8443
+
+# Cloud address for reaching out to the cloud.
+cloud_address: controller.magma.test
+cloud_port: 7443
+
+bootstrap_address: bootstrapper-controller.magma.test
+bootstrap_port: 7444
+
+fluentd_address: fluentd.magma.test
+fluentd_port: 24224
+
+# Option to use nghttpx for proxying. If disabled, the individual
+# services would establish the TLS connections themselves.
+proxy_cloud_connections: True
+
+# Allows http_proxy usage if the environment variable is present
+allow_http_proxy: False
+
+# [Experimental] Sentry related configs
+# If set, the Sentry Python SDK will be initialized for all python services
+sentry_url_python: ""
+# If set, the Sentry Native SDK will be initialized for MME and SessionD
+sentry_url_native: ""
+# If set, /var/log/mme.log will be uploaded along MME crashreports
+sentry_upload_mme_log: false
+# Rate at which we want to sample Python error events
+# Should be a number between 0 (0% of errors sent) and 1 (100% of errors sent)
+sentry_sample_rate: 1.0
\ No newline at end of file
diff --git a/magma_configs/enodebd.yml b/magma_configs/enodebd.yml
new file mode 100644
index 0000000..84e636f
--- /dev/null
+++ b/magma_configs/enodebd.yml
@@ -0,0 +1,49 @@
+---
+#
+# Copyright 2020 The Magma Authors.
+
+# This source code is licensed under the BSD-style license found in the
+# LICENSE file in the root directory of this source tree.
+
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# log_level is set in mconfig. It can be overridden here
+
+tr069:
+ interface: en0 # NOTE: this value must be consistent with dnsmasq.conf
+ port: 48080
+ perf_mgmt_port: 8081
+ # NOTE: this is the IP which enodeb will communicate with enodebd
+ # if this is ever changed in dnsd.yml, this needs to be updated too
+ public_ip: 192.88.99.142
+
+# TODO: @amar: This is a temp workaround to allow for testing until we
+# connect enodebd with the domain proxy which is responsible for talking to
+# SAS.
+sas:
+ sas_enabled: True
+ sas_server_url: "https://spectrum-connect.federatedwireless.com/v1.2/"
+ sas_uid: "INVALID_ID"
+ sas_category: "A"
+ sas_channel_type: "GAA"
+ sas_cert_subject: "INVALID_CERT_SUBJECT"
+ sas_icg_group_id: ""
+ sas_location: "indoor"
+ sas_height_type: "AMSL"
+
+# Reboot eNodeB if eNodeB should be connected to MME but isn't
+# This is a workaround for a bug with BaiCells eNodeB where the S1 connection
+# gets into a bad state
+reboot_enodeb_on_mme_disconnected: True
+
+# Enable webui for debugging for a list of eNB serial numbers.
+# Not supported on all enodeb models
+web_ui_enable_list: []
+
+# Network interface to terminate S1
+s1_interface: eth1
+
diff --git a/magma_configs/magmad.yml b/magma_configs/magmad.yml
new file mode 100644
index 0000000..ccc7ff9
--- /dev/null
+++ b/magma_configs/magmad.yml
@@ -0,0 +1,174 @@
+---
+################################################################################
+# Copyright 2020 The Magma Authors.
+
+# This source code is licensed under the BSD-style license found in the
+# LICENSE file in the root directory of this source tree.
+
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+################################################################################
+
+# log_level is set in mconfig. it can be overridden here
+
+print_grpc_payload: False
+
+# List of services for magmad to control
+magma_services:
+ # - control_proxy
+ # - subscriberdb
+ # - mobilityd
+ # - directoryd
+ - enodebd
+ # - sessiond
+ # - mme
+ # - pipelined
+ # - envoy_controller
+ # - redis
+ # - dnsd
+ # - policydb
+ # - state
+ # - eventd
+ # - smsd
+ # - ctraced
+ # - health
+ # - kernsnoopd
+ # - liagentd
+
+# List of services that don't provide service303 interface
+# non_service303_services:
+ # - control_proxy
+ # - dnsd
+ # - redis
+ # - td-agent-bit
+
+# List of all possible dynamic services (enabled from gateway.mconfig)
+# registered_dynamic_services:
+ # - redirectd
+ # - td-agent-bit
+ # - monitord
+ # - dpid
+
+# A list of group of services which are linked together in systemd
+# linked_services:
+ # -
+ # - mme
+ # - pipelined
+ # - mobilityd
+ # - sessiond
+
+# list of services that are required to have meta before checking in
+# (meta = data gathered via MagmaService.register_get_status_callback())
+# skip limit specified by config 'max_skipped_checkins'
+skip_checkin_if_missing_meta_services: []
+
+# default = 3, use 0 for "infinity"
+# max_skipped_checkins: 3
+
+# Init system to use to control services
+# Supported systems include: [systemd, runit, docker]
+init_system: systemd
+
+# bootstrap_manager config
+bootstrap_config:
+ # location of the challenge key
+ challenge_key: /var/opt/magma/certs/gw_challenge.key
+
+# Flags indicating the magmad features to be enabled
+enable_config_streamer: True
+enable_upgrade_manager: True
+enable_network_monitor: True
+enable_sync_rpc: True
+enable_kernel_version_checking: True
+
+network_monitor_config:
+ # How long to sleep between statistic collections
+ sampling_period: 60
+
+ # ping stats config
+ ping_config:
+ hosts:
+ - 8.8.8.8
+ num_packets: 1
+ timeout_secs: 20
+
+upgrader_factory:
+ # Module where the UpgraderFactory implementation is located
+ module: magma.magmad.upgrade.magma_upgrader
+ # Name of the UpgraderFactory implementation
+ class: MagmaUpgraderFactory
+mconfig_modules:
+ - orc8r.protos.mconfig.mconfigs_pb2
+ - lte.protos.mconfig.mconfigs_pb2
+ # - feg.protos.mconfig.mconfigs_pb2
+
+metricsd:
+ log_level: INFO
+ collect_interval: 60 # How frequently to collect metrics samples in seconds
+ sync_interval: 60 # How frequently to sync to cloud in seconds
+ grpc_timeout: 30 # Timeout in seconds
+ max_grpc_msg_size_mb: 4 # Max message size for gRPC channel in MBs
+
+ # An optional function to mutate metrics before they are sent to the cloud
+ # A string in the form path.to.module.fn_name
+ # @see magma.magmad.metrics_collector.example_metrics_postprocessor
+ post_processing_fn: magma.magmad.metrics_collector.do_nothing_metrics_postprocessor
+ # List of services for metricsd to poll
+ services:
+ - subscriberdb
+ - mobilityd
+ - mme
+ - magmad
+ - enodebd
+ - pipelined
+ - state
+ - sessiond
+# - kernsnoopd
+
+generic_command_config:
+ module: magma.magmad.generic_command.shell_command_executor
+ class: ShellCommandExecutor
+ shell_commands:
+ - name: bash
+ command: "bash {}"
+ allow_params: True
+ - name: fab
+ command: "fab {}"
+ allow_params: True
+ - name: echo
+ command: "echo {}"
+ allow_params: True
+ - name: reboot_enodeb
+ command: "enodebd_cli.py reboot_enodeb {}"
+ allow_params: True
+ - name: reboot_all_enodeb
+ command: "enodebd_cli.py reboot_all_enodeb"
+ allow_params: False
+ - name: health
+ command: "health_cli.py {}"
+ allow_params: True
+ - name: agw_health
+ command: "agw_health_cli.py {}"
+ allow_params: True
+ - name: get_flows
+ command: "sudo pipelined_cli.py debug display_flows"
+ allow_params: False
+ - name: get_subscriber_table
+ command: "mobility_cli.py get_subscriber_table"
+ allow_params: False
+ - name: check_stateless
+ command: "magmad_cli.py check_stateless"
+ allow_params: False
+ - name: configure_stateless
+ command: "magmad_cli.py config_stateless {}"
+ allow_params: True
+
+# Services for which magmad grpc status check restart recovery is enabled
+services_to_restart:
+ - pipelined
+
+# How many times can grpc status check fail before restarting the services above
+restart_timeout_threshold: 15
\ No newline at end of file
diff --git a/magma_configs/service_registry.yml b/magma_configs/service_registry.yml
new file mode 100644
index 0000000..83735cc
--- /dev/null
+++ b/magma_configs/service_registry.yml
@@ -0,0 +1,115 @@
+---
+services:
+ # NOTE: do NOT include dash(-) in your service name. Use underscore instead.
+ # Example service name that contains dash: hello-world-blah
+ # As we use "-" in nghttpx config to connect service name and hostname,
+ # "-" is used as a delimiter in dispatcher to parse out service names.
+
+ hello:
+ ip_address: 127.0.0.1
+ port: 50050
+ magmad:
+ ip_address: 127.0.0.1
+ port: 50052
+ control_proxy:
+ ip_address: 127.0.0.1
+ port: 50053
+ subscriberdb:
+ ip_address: 127.0.0.1
+ port: 50051
+ mobilityd:
+ ip_address: 127.0.0.1
+ port: 60051
+ enodebd:
+ ip_address: 127.0.0.1
+ port: 60055
+ mme:
+ ip_address: 127.0.0.1
+ port: 50061
+ spgw:
+ ip_address: 127.0.0.1
+ port: 50062
+ pipelined:
+ ip_address: 127.0.0.1
+ port: 50063
+ sessiond:
+ ip_address: 127.0.0.1
+ port: 50065
+ abort_session_service:
+ ip_address: 127.0.0.1
+ port: 50065
+ test_service:
+ ip_address: 127.0.0.1
+ port: 50066
+ directoryd:
+ ip_address: 127.0.0.1
+ port: 50067
+ policydb:
+ ip_address: 127.0.0.1
+ port: 50068
+ vpnservice:
+ ip_address: 127.0.0.1
+ port: 50070
+ redirectd:
+ ip_address: 127.0.0.1
+ port: 50071
+ sgs_service:
+ ip_address: 127.0.0.1
+ port: 50073
+ sms_mme_service:
+ ip_address: 127.0.0.1
+ port: 50073
+ s1ap_service:
+ ip_address: 127.0.0.1
+ port: 50073
+ s6a_service:
+ ip_address: 127.0.0.1
+ port: 50073
+ s6a_async_service:
+ ip_address: 127.0.0.1
+ port: 50085
+ spgw_service:
+ ip_address: 127.0.0.1
+ port: 50073
+ amf_service:
+ ip_address: 127.0.0.1
+ port: 50073
+ ha_service:
+ ip_address: 127.0.0.1
+ port: 50073
+ s8_service:
+ ip_address: 127.0.0.1
+ port: 50073
+ state:
+ ip_address: 127.0.0.1
+ port: 50074
+ eventd:
+ ip_address: 127.0.0.1
+ port: 50075
+ monitord:
+ ip_address: 127.0.0.1
+ port: 50076
+ dpid:
+ ip_address: 127.0.0.1
+ port: 50077
+ smsd:
+ ip_address: 127.0.0.1
+ port: 50078
+ ctraced:
+ ip_address: 127.0.0.1
+ port: 50079
+ health:
+ ip_address: 127.0.0.1
+ port: 50080
+ envoy_controller:
+ ip_address: 127.0.0.1
+ port: 50081
+ connectiond:
+ ip_address: 127.0.0.1
+ port: 50082
+ liagentd:
+ ip_address: 127.0.0.1
+ port: 50083
+ kernsnoopd:
+ ip_address: 127.0.0.1
+ port: 50084
\ No newline at end of file
diff --git a/main.py b/main.py
new file mode 100644
index 0000000..aae8e96
--- /dev/null
+++ b/main.py
@@ -0,0 +1,106 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+from threading import Thread
+from typing import List
+from unittest import mock
+
+from lte.protos.mconfig import mconfigs_pb2
+from common.sentry import sentry_init
+from common.service import MagmaService
+from enodeb_status import (
+ get_operational_states,
+ get_service_status_old,
+)
+from logger import EnodebdLogger as logger
+from state_machines.enb_acs_manager import StateMachineManager
+from orc8r.protos.service303_pb2 import State
+
+from enodebd_iptables_rules import set_enodebd_iptables_rule
+from rpc_servicer import EnodebdRpcServicer
+from stats_manager import StatsManager
+from tr069.server import tr069_server
+
+
+def get_context(ip: str):
+ with mock.patch('spyne.server.wsgi.WsgiApplication') as MockTransport:
+ MockTransport.req_env = {"REMOTE_ADDR": ip}
+ with mock.patch('spyne.server.wsgi.WsgiMethodContext') as MockContext:
+ MockContext.transport = MockTransport
+ return MockContext
+
+
+def main():
+ """
+ Top-level function for enodebd
+ """
+ service = MagmaService('enodebd', mconfigs_pb2.EnodebD())
+ logger.init()
+
+ # Optionally pipe errors to Sentry
+ sentry_init(service_name=service.name)
+
+ # State machine manager for tracking multiple connected eNB devices.
+ state_machine_manager = StateMachineManager(service)
+
+ # Statistics manager
+ stats_mgr = StatsManager(state_machine_manager)
+ stats_mgr.run()
+
+ # Start TR-069 thread
+ server_thread = Thread(
+ target=tr069_server,
+ args=(state_machine_manager,),
+ daemon=True,
+ )
+ server_thread.start()
+
+ # Add all servicers to the server
+ enodebd_servicer = EnodebdRpcServicer(state_machine_manager)
+ enodebd_servicer.add_to_server(service.rpc_server)
+
+ # Register function to get service status
+ def get_enodebd_status():
+ return get_service_status_old(state_machine_manager)
+ service.register_get_status_callback(get_enodebd_status)
+
+ # Register a callback function for GetOperationalStates service303 function
+ def get_enodeb_operational_states() -> List[State]:
+ return get_operational_states(state_machine_manager, service.mconfig)
+ service.register_operational_states_callback(get_enodeb_operational_states)
+
+ # Set eNodeBD iptables rules due to exposing public IP to eNodeB
+ service.loop.create_task(set_enodebd_iptables_rule())
+
+ # Run the service loop
+ service.run()
+
+ # Cleanup the service
+ service.close()
+
+
+def call_repeatedly(loop, interval, function, *args, **kwargs):
+ """
+ Wrapper function to schedule function periodically
+ """
+ # Schedule next call
+ loop.call_later(
+ interval, call_repeatedly, loop, interval, function,
+ *args, **kwargs,
+ )
+ # Call function
+ function(*args, **kwargs)
+
+
+if __name__ == "__main__":
+ main()
diff --git a/metrics.py b/metrics.py
new file mode 100644
index 0000000..90c4b4f
--- /dev/null
+++ b/metrics.py
@@ -0,0 +1,132 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+from prometheus_client import Counter, Gauge
+
+# Gauges for current eNodeB status
+STAT_ENODEB_CONNECTED = Gauge(
+ 'enodeb_mgmt_connected',
+ 'ENodeB management plane connected',
+)
+STAT_ENODEB_CONFIGURED = Gauge(
+ 'enodeb_mgmt_configured',
+ 'ENodeB is in configured state',
+)
+STAT_OPSTATE_ENABLED = Gauge(
+ 'enodeb_opstate_enabled',
+ 'ENodeB operationally enabled',
+)
+STAT_RF_TX_ENABLED = Gauge(
+ 'enodeb_rf_tx_enabled',
+ 'ENodeB RF transmitter enabled',
+)
+STAT_RF_TX_DESIRED = Gauge(
+ 'enodeb_rf_tx_desired',
+ 'ENodeB RF transmitter desired state',
+)
+STAT_GPS_CONNECTED = Gauge(
+ 'enodeb_gps_connected',
+ 'ENodeB GPS synchronized',
+)
+STAT_PTP_CONNECTED = Gauge(
+ 'enodeb_ptp_connected',
+ 'ENodeB PTP/1588 synchronized',
+)
+STAT_MME_CONNECTED = Gauge(
+ 'enodeb_mme_connected',
+ 'ENodeB connected to MME',
+)
+STAT_ENODEB_REBOOT_TIMER_ACTIVE = Gauge(
+ 'enodeb_reboot_timer_active',
+ 'Timer for ENodeB reboot active',
+)
+STAT_ENODEB_REBOOTS = Counter(
+ 'enodeb_reboots',
+ 'ENodeB reboots by enodebd', ['cause'],
+)
+
+# Metrics that are accumulated by eNodeB. Use gauges to avoid 'double-counting',
+# since eNodeB does accumulation.
+STAT_RRC_ESTAB_ATT = Gauge(
+ 'rrc_estab_attempts', 'RRC establishment attempts',
+)
+STAT_RRC_ESTAB_SUCC = Gauge(
+ 'rrc_estab_successes', 'RRC establishment successes',
+)
+STAT_RRC_REESTAB_ATT = Gauge(
+ 'rrc_reestab_attempts', 'RRC re-establishment attempts',
+)
+STAT_RRC_REESTAB_ATT_RECONF_FAIL = Gauge(
+ 'rrc_reestab_attempts_reconf_fail',
+ 'RRC re-establishment attempts due to reconfiguration failure',
+)
+STAT_RRC_REESTAB_ATT_HO_FAIL = Gauge(
+ 'rrc_reestab_attempts_ho_fail',
+ 'RRC re-establishment attempts due to handover failure',
+)
+STAT_RRC_REESTAB_ATT_OTHER = Gauge(
+ 'rrc_reestab_attempts_other',
+ 'RRC re-establishment attempts due to other cause',
+)
+STAT_RRC_REESTAB_SUCC = Gauge(
+ 'rrc_reestab_successes', 'RRC re-establishment successes',
+)
+STAT_ERAB_ESTAB_ATT = Gauge(
+ 'erab_estab_attempts', 'ERAB establishment attempts',
+)
+STAT_ERAB_ESTAB_SUCC = Gauge(
+ 'erab_estab_successes', 'ERAB establishment successes',
+)
+STAT_ERAB_ESTAB_FAIL = Gauge(
+ 'erab_estab_failures', 'ERAB establishment failures',
+)
+STAT_ERAB_REL_REQ = Gauge(
+ 'erab_release_requests', 'ERAB release requests',
+)
+STAT_ERAB_REL_REQ_USER_INAC = Gauge(
+ 'erab_release_requests_user_inactivity',
+ 'ERAB release requests due to user inactivity',
+)
+STAT_ERAB_REL_REQ_NORMAL = Gauge(
+ 'erab_release_requests_normal', 'ERAB release requests due to normal cause',
+)
+STAT_ERAB_REL_REQ_RES_NOT_AVAIL = Gauge(
+ 'erab_release_requests_radio_resources_not_available',
+ 'ERAB release requests due to radio resources not available',
+)
+STAT_ERAB_REL_REQ_REDUCE_LOAD = Gauge(
+ 'erab_release_requests_reduce_load',
+ 'ERAB release requests due to reducing load in serving cell',
+)
+STAT_ERAB_REL_REQ_FAIL_IN_RADIO = Gauge(
+ 'erab_release_requests_fail_in_radio_proc',
+ 'ERAB release requests due to failure in the radio interface procedure',
+)
+STAT_ERAB_REL_REQ_EUTRAN_REAS = Gauge(
+ 'erab_release_requests_eutran_reas',
+ 'ERAB release requests due to EUTRAN generated reasons',
+)
+STAT_ERAB_REL_REQ_RADIO_CONN_LOST = Gauge(
+ 'erab_release_requests_radio_radio_conn_lost',
+ 'ERAB release requests due to radio connection with UE lost',
+)
+STAT_ERAB_REL_REQ_OAM_INTV = Gauge(
+ 'erab_release_requests_oam_intervention',
+ 'ERAB release requests due to OAM intervention',
+)
+STAT_PDCP_USER_PLANE_BYTES_UL = Gauge(
+ 'pdcp_user_plane_bytes_ul', 'User plane uplink bytes at PDCP', ['enodeb'],
+)
+STAT_PDCP_USER_PLANE_BYTES_DL = Gauge(
+ 'pdcp_user_plane_bytes_dl', 'User plane downlink bytes at PDCP', ['enodeb'],
+)
diff --git a/override_configs/gateway.mconfig b/override_configs/gateway.mconfig
new file mode 100644
index 0000000..4fbc7dd
--- /dev/null
+++ b/override_configs/gateway.mconfig
@@ -0,0 +1,17 @@
+{
+ "configs_by_key": {
+ "enodebd": {
+ "@type": "type.googleapis.com/magma.mconfig.EnodebD",
+ "bandwidthMhz": 20,
+ "specialSubframePattern": 7,
+ "earfcndl": 44490,
+ "logLevel": "INFO",
+ "plmnidList": "00101",
+ "pci": 260,
+ "allowEnodebTransmit": false,
+ "subframeAssignment": 2,
+ "tac": 1,
+ "enb_configs_by_serial": {"2009CW5000019": {}}
+ }
+ }
+}
\ No newline at end of file
diff --git a/pylint.ini b/pylint.ini
new file mode 100644
index 0000000..195b2a7
--- /dev/null
+++ b/pylint.ini
@@ -0,0 +1,25 @@
+# pylint config (ini format)
+#
+# SPDX-FileCopyrightText: © 2021 Open Networking Foundation <support@opennetworking.org>
+# SPDX-License-Identifier: Apache-2.0
+
+[MESSAGES CONTROL]
+
+disable= invalid-name,
+ missing-class-docstring,
+ missing-function-docstring,
+ missing-module-docstring,
+ import-outside-toplevel,
+ fixme,
+ too-few-public-methods,
+ too-many-lines,
+ too-many-locals,
+ too-many-nested-blocks,
+ too-many-branches,
+ too-many-statements,
+ too-many-arguments,
+ too-many-instance-attributes,
+ too-many-return-statements,
+ global-statement,
+ consider-using-f-string,
+ no-else-return
diff --git a/requirements.txt b/requirements.txt
new file mode 100644
index 0000000..41d602e
--- /dev/null
+++ b/requirements.txt
@@ -0,0 +1,42 @@
+aiohttp==3.6.2
+aiosignal==1.2.0
+appdirs==1.4.4
+astroid==2.8.4
+async-timeout==3.0.1
+attrs==21.2.0
+black==19.10b0
+certifi==2021.10.8
+chardet==3.0.4
+charset-normalizer==2.0.7
+click==8.0.3
+flake8==4.0.1
+frozenlist==1.2.0
+grpcio==1.41.1
+grpcio-tools==1.41.1
+idna==3.3
+isort==5.10.1
+lazy-object-proxy==1.6.0
+lxml==4.6.3
+mccabe==0.6.1
+multidict==4.7.6
+netifaces==0.11.0
+pathspec==0.9.0
+platformdirs==2.4.0
+prometheus-client==0.12.0
+protobuf==3.19.1
+pycodestyle==2.8.0
+pyflakes==2.4.0
+pylint==2.11.1
+pytz==2021.3
+PyYAML==6.0
+regex==2021.11.2
+sentry-sdk==1.4.3
+six==1.16.0
+snowflake==0.0.3
+spyne==2.13.16
+toml==0.10.2
+typed-ast==1.4.3
+typing-extensions==3.10.0.2
+urllib3==1.26.7
+wrapt==1.13.3
+yarl==1.7.2
diff --git a/rpc_servicer.py b/rpc_servicer.py
new file mode 100644
index 0000000..30b3f43
--- /dev/null
+++ b/rpc_servicer.py
@@ -0,0 +1,174 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+from typing import Any
+
+import grpc
+from lte.protos.enodebd_pb2 import (
+ AllEnodebStatus,
+ EnodebIdentity,
+ GetParameterRequest,
+ GetParameterResponse,
+ SetParameterRequest,
+ SingleEnodebStatus,
+)
+from lte.protos.enodebd_pb2_grpc import (
+ EnodebdServicer,
+ add_EnodebdServicer_to_server,
+)
+from common.rpc_utils import return_void
+from enodeb_status import (
+ get_service_status,
+ get_single_enb_status,
+)
+from state_machines.enb_acs import EnodebAcsStateMachine
+from state_machines.enb_acs_manager import StateMachineManager
+from orc8r.protos.service303_pb2 import ServiceStatus
+
+
+class EnodebdRpcServicer(EnodebdServicer):
+ """ gRPC based server for enodebd """
+
+ def __init__(self, state_machine_manager: StateMachineManager) -> None:
+ self.state_machine_manager = state_machine_manager
+
+ def add_to_server(self, server) -> None:
+ """
+ Add the servicer to a gRPC server
+ """
+ add_EnodebdServicer_to_server(self, server)
+
+ def _get_handler(self, device_serial: str) -> EnodebAcsStateMachine:
+ return self.state_machine_manager.get_handler_by_serial(device_serial)
+
+ def GetParameter(
+ self,
+ request: GetParameterRequest,
+ context: Any,
+ ) -> GetParameterResponse:
+ """
+ Sends a GetParameterValues message. Used for testing only.
+
+ Different data models will have different names for the same
+ parameter. Whatever name that the data model uses, we call the
+ 'parameter path', eg. "Device.DeviceInfo.X_BAICELLS_COM_GPS_Status"
+ We denote 'ParameterName' to be a standard string name for
+ equivalent parameters between different data models
+ """
+ # Get the parameter value information
+ parameter_path = request.parameter_name
+ handler = self._get_handler(request.device_serial)
+ data_model = handler.data_model
+ param_name = data_model.get_parameter_name_from_path(parameter_path)
+ param_value = str(handler.get_parameter(param_name))
+
+ # And now construct the response to the rpc request
+ get_parameter_values_response = GetParameterResponse()
+ get_parameter_values_response.parameters.add(
+ name=parameter_path, value=param_value,
+ )
+ return get_parameter_values_response
+
+ @return_void
+ def SetParameter(self, request: SetParameterRequest, context: Any) -> None:
+ """
+ Sends a SetParameterValues message. Used for testing only.
+
+ Different data models will have different names for the same
+ parameter. Whatever name that the data model uses, we call the
+ 'parameter path', eg. "Device.DeviceInfo.X_BAICELLS_COM_GPS_Status"
+ We denote 'ParameterName' to be a standard string name for
+ equivalent parameters between different data models
+ """
+ # Parse the request
+ if request.HasField('value_int'):
+ value = (request.value_int, 'int')
+ elif request.HasField('value_bool'):
+ value = (request.value_bool, 'boolean')
+ elif request.HasField('value_string'):
+ value = (request.value_string, 'string')
+ else:
+ context.set_details(
+ 'SetParameter: Unsupported type %d',
+ request.type,
+ )
+ context.set_code(grpc.StatusCode.INVALID_ARGUMENT)
+ return
+
+ # Update the handler so it will set the parameter value
+ parameter_path = request.parameter_name
+ handler = self._get_handler(request.device_serial)
+ data_model = handler.data_model
+ param_name = data_model.get_parameter_name_from_path(parameter_path)
+ handler.set_parameter_asap(param_name, value)
+
+ @return_void
+ def Reboot(self, request: EnodebIdentity, context=None) -> None:
+ """ Reboot eNodeB """
+ handler = self._get_handler(request.device_serial)
+ handler.reboot_asap()
+
+ @return_void
+ def RebootAll(self, _=None, context=None) -> None:
+ """ Reboot all connected eNodeB devices """
+ serial_list = self.state_machine_manager.get_connected_serial_id_list()
+ for enb_serial in serial_list:
+ handler = self._get_handler(enb_serial)
+ handler.reboot_asap()
+
+ def GetStatus(self, _=None, context=None) -> ServiceStatus:
+ """
+ Get eNodeB status
+ Note: input variable defaults used so this can be either called locally
+ or as an RPC.
+ """
+ status = dict(get_service_status(self.state_machine_manager))
+ status_message = ServiceStatus()
+ status_message.meta.update(status)
+ return status_message
+
+ def GetAllEnodebStatus(self, _=None, context=None) -> AllEnodebStatus:
+ all_enb_status = AllEnodebStatus()
+ serial_list = self.state_machine_manager.get_connected_serial_id_list()
+ for enb_serial in serial_list:
+ enb_status = get_single_enb_status(
+ enb_serial,
+ self.state_machine_manager,
+ )
+ all_enb_status.enb_status_list.add(
+ device_serial=enb_status.device_serial,
+ ip_address=enb_status.ip_address,
+ connected=enb_status.connected,
+ configured=enb_status.configured,
+ opstate_enabled=enb_status.opstate_enabled,
+ rf_tx_on=enb_status.rf_tx_on,
+ rf_tx_desired=enb_status.rf_tx_desired,
+ gps_connected=enb_status.gps_connected,
+ ptp_connected=enb_status.ptp_connected,
+ mme_connected=enb_status.mme_connected,
+ gps_longitude=enb_status.gps_longitude,
+ gps_latitude=enb_status.gps_latitude,
+ fsm_state=enb_status.fsm_state,
+ )
+
+ return all_enb_status
+
+ def GetEnodebStatus(
+ self,
+ request: EnodebIdentity,
+ _context=None,
+ ) -> SingleEnodebStatus:
+ return get_single_enb_status(
+ request.device_serial,
+ self.state_machine_manager,
+ )
diff --git a/s1ap_client.py b/s1ap_client.py
new file mode 100644
index 0000000..e7e4dde
--- /dev/null
+++ b/s1ap_client.py
@@ -0,0 +1,47 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+from typing import Dict, Optional
+
+import grpc
+from lte.protos.s1ap_service_pb2_grpc import S1apServiceStub
+from common.service_registry import ServiceRegistry
+from logger import EnodebdLogger as logger
+from orc8r.protos.common_pb2 import Void
+
+S1AP_SERVICE_NAME = "s1ap_service"
+DEFAULT_GRPC_TIMEOUT = 20
+
+
+def get_all_enb_state() -> Optional[Dict[int, int]]:
+ """
+ Make RPC call to 'GetENBState' method of s1ap service
+ """
+ try:
+ chan = ServiceRegistry.get_rpc_channel(
+ S1AP_SERVICE_NAME,
+ ServiceRegistry.LOCAL,
+ )
+ except ValueError:
+ logger.error('Cant get RPC channel to %s', S1AP_SERVICE_NAME)
+ return {}
+ client = S1apServiceStub(chan)
+ try:
+ res = client.GetENBState(Void(), DEFAULT_GRPC_TIMEOUT)
+ return res.enb_state_map
+ except grpc.RpcError as err:
+ logger.warning(
+ "GetEnbState error: [%s] %s",
+ err.code(),
+ err.details(),
+ )
+ return {}
diff --git a/sercomm.out b/sercomm.out
new file mode 100644
index 0000000..d37d8b1
--- /dev/null
+++ b/sercomm.out
@@ -0,0 +1,24241 @@
+ Device.FaultMgmt.HistoryEvent.2.NotificationType = "ClearedAlarm"
+ Device.FaultMgmt.HistoryEvent.2.EventTime = 2021-10-26T02:14:25+08:00
+ Device.FaultMgmt.ExpeditedEvent.2.NotificationType = "ClearedAlarm"
+ Device.FaultMgmt.ExpeditedEvent.2.EventTime = 2021-10-26T02:14:25+08:00
+ Device.FaultMgmt.HistoryEvent.1.ProbableCause = "Remote file server is not reachable"
+ Device.FaultMgmt.ExpeditedEvent.1.ProbableCause = "Remote file server is not reachable"
+ Device.Security.Certificate.2.X_SCM_CMPServerRef = ""
+ Device.Security.Certificate.2.Issuer = "/C=TW/ST=Taipei/L=Taipei/O=Sercomm/OU=PSIRT/CN=Sercomm/emailAddress=PSIRT@sdc.sercomm.com"
+ Device.Security.Certificate.2.SerialNumber = "FE8BA6E9C7881C37"
+ Device.X_SCM_WiFi.Status = ""
+ Device.X_SCM_DeviceFeature.X_SCM_Troubleshooting.X_SCM_InternetDetectInterval = 20
+ Device.X_SCM_DeviceFeature.X_SCM_NEStatus.X_SCM_IpsecThird_Status = ""
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.12.X_SCM_AppTimeoutToRunningAction = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.12.X_SCM_AppEnableCheck = 1
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.11.X_SCM_AppStateValidationTimes = 1
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.11.X_SCM_AppCrashCountMax = 10
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.7.X_SCM_AppName = "tracedump"
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.5.X_SCM_AppCrashMaxAction = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.5.X_SCM_AppUploadErrLogControl = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.2.X_SCM_AppDownActionMask = 1
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.1.X_SCM_AppTimeoutToRunningAction = 1
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.1.X_SCM_AppEnableCheck = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.0.X_SCM_AppStateValidationTimes = 1
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.0.X_SCM_AppCrashCountMax = 10
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_RcWanARPPingRespTimeout = 500000
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.UserAccount.5.UserLockedTime = 0001-01-01T00:00:00Z
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.UserAccount.5.UserChangedPassword = ""
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.UserAccount.4.UserLevel = 1
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.UserAccount.3.UserName = "partner"
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.UserAccount.0.UserType = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_BrotherServerURL = "https://11.11.11.1:9000/"
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_TalkToBrotherEnable = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_DebugEnable = 1
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_DNS2InIPsec = ""
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_DNSInIPsec = ""
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_MemoryOverLoadingOverThreshold = 95
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_CwmpInformTag = 2
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_ImsiPollingEnable = 1
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_GetImsiIntervalEnable = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_XfrmMtuControl = 1500
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RcRebootCallRebootAfterNotify = 1000
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_DHCPVendorID = "TDD_LTE"
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_CwmpDlcmdkey = ""
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_CwmpCpeport = 7547
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.16.CrashCountMax = 60
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.15.CrashAction = "100_REBOOT_SERVICE"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.15.Dependency = "wan"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.14.Status = "disabled"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.13.Name = "ipsec"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.11.CrashMaxAction = "100_REBOOT_SERVICE"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.7.Alias = "rc_fsminitd"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.5.CrashCountMax = 10
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.4.CrashAction = "200_REBOOT_SYSTEM"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.4.Dependency = "wan,cwmp,ipsec,sync,sasd,sniffer,fsminitd,son,sysmgr"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.3.Status = "running"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.2.Name = "wan"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.0.CrashMaxAction = "0_NO_ACTION"
+ Device.FAP.MRMgmt.Config.1.OmcName = ""
+ Device.FAP.MRMgmt.Config.1.MrPassword = "Device.FAP.X_SCM_MrMgmt.Config.1.Password"
+ Device.FAP.X_SCM_LcdMgmt.WeatherStatus.MaxTemperature = ""
+ Device.FAP.X_SCM_LcdMgmt.OpenInfo.PollingPeriod = 2
+ Device.FAP.X_SCM_MrMgmt.Config.1.PeriodicUploadInterval = 1
+ Device.FAP.X_SCM_MrMgmt.Config.1.PRBControl = ""
+ Device.FAP.X_SCM_MrMgmt.Config.1.StartTime = 0001-01-01T00:00:00
+ Device.FAP.X_SCM_MrMgmt.Config.1.MROControl = "all"
+ Device.FAP.X_SCM_MrMgmt.Config.1.MREControl = "A1,A2,A3,A4,A5,B1,B2"
+ Device.FAP.Tunnel.IKESA.0.CreationTime = 0001-01-01T00:00:00Z
+ Device.FAP.Tunnel.MaxVirtualInterfaces = 0
+ Device.FAP.GPS.X_SCM_MinUncertainty = "0"
+ Device.Security.X_SCM_IPsec.X_SCM_Ipsecconf.X_SCM_Connection.0.X_SCM_Dpdaction = ""
+ Device.Security.X_SCM_IPsec.X_SCM_Ipsecconf.X_SCM_ReplayWindow = "0"
+ Device.Security.X_SCM_IPsec.X_SCM_Strongswanconf.X_SCM_Charon_retrans_timeout = "4"
+ Device.Security.Certificate.0.X_SCM_KeyName = ""
+ Device.FaultMgmt.QueuedEvent.0.EventType = ""
+ Device.FaultMgmt.ExpeditedEvent.0.AdditionalInformation = ""
+ Device.FaultMgmt.ExpeditedEvent.0.ManagedObjectInstance = ""
+ Device.FaultMgmt.ExpeditedEvent.0.SerialNumber = "Device.DeviceInfo.SerialNumber"
+ Device.FaultMgmt.HistoryEvent.0.AdditionalInformation = ""
+ Device.FaultMgmt.HistoryEvent.0.ManagedObjectInstance = ""
+ Device.FaultMgmt.HistoryEvent.0.SerialNumber = "Device.DeviceInfo.SerialNumber"
+ Device.FaultMgmt.SupportedAlarm.93.ProbableCause = "MEMORY utilization exceeds threshold 4."
+ Device.FaultMgmt.SupportedAlarm.92.X_SCM_AlarmIdentifier = "11222"
+ Device.FaultMgmt.SupportedAlarm.90.SpecificProblem = "MEMORY utilization exceeds threshold 1(70%)."
+ Device.FaultMgmt.SupportedAlarm.89.X_SCM_RaiseNum = 0
+ Device.FaultMgmt.SupportedAlarm.87.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.86.EventType = "Processing Error Alarm"
+ Device.FaultMgmt.SupportedAlarm.84.ProbableCause = "CPU utilization exceeds threshold 3."
+ Device.FaultMgmt.SupportedAlarm.83.X_SCM_AlarmIdentifier = "11213"
+ Device.FaultMgmt.SupportedAlarm.81.SpecificProblem = "Disk Usage of a critical partition has exceeded critical threshold value.(100%)."
+ Device.FaultMgmt.SupportedAlarm.80.PerceivedSeverity = "Minor"
+ Device.FaultMgmt.SupportedAlarm.78.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.77.EventType = "Processing Error Alarm"
+ Device.FaultMgmt.SupportedAlarm.75.ProbableCause = "Invalid notification or link is down"
+ Device.FaultMgmt.SupportedAlarm.74.X_SCM_AlarmIdentifier = "11204"
+ Device.FaultMgmt.SupportedAlarm.72.SpecificProblem = "RF Warning Temperature Reached"
+ Device.FaultMgmt.SupportedAlarm.70.X_SCM_RaiseNum = 0
+ Device.FaultMgmt.SupportedAlarm.69.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.68.EventType = "Equipment Alarm"
+ Device.FaultMgmt.SupportedAlarm.66.ProbableCause = "Cell Unavailable:Try HW Self Healing"
+ Device.FaultMgmt.SupportedAlarm.65.X_SCM_AlarmIdentifier = "11193"
+ Device.FaultMgmt.SupportedAlarm.63.SpecificProblem = "Device Error"
+ Device.FaultMgmt.SupportedAlarm.62.PerceivedSeverity = "Major"
+ Device.FaultMgmt.SupportedAlarm.61.X_SCM_RaiseNum = 0
+ Device.FaultMgmt.SupportedAlarm.59.EventType = "Equipment Alarm"
+ Device.FaultMgmt.SupportedAlarm.57.ProbableCause = "Certificates Revoked"
+ Device.FaultMgmt.SupportedAlarm.56.X_SCM_AlarmIdentifier = "11182"
+ Device.FaultMgmt.SupportedAlarm.54.SpecificProblem = "I2C Offset Over Threhold"
+ Device.FaultMgmt.SupportedAlarm.53.PerceivedSeverity = "Critical"
+ Device.FaultMgmt.SupportedAlarm.52.X_SCM_RaiseNum = 0
+ Device.FaultMgmt.SupportedAlarm.50.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.48.ProbableCause = "Islanding Mode"
+ Device.FaultMgmt.SupportedAlarm.47.X_SCM_AlarmIdentifier = "42"
+ Device.FaultMgmt.SupportedAlarm.45.SpecificProblem = "Sleeping Cell"
+ Device.FaultMgmt.SupportedAlarm.44.PerceivedSeverity = "Warning"
+ Device.FaultMgmt.SupportedAlarm.43.X_SCM_RaiseNum = 0
+ Device.FaultMgmt.SupportedAlarm.41.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.40.EventType = "Equipment Alarm"
+ Device.FaultMgmt.SupportedAlarm.39.ProbableCause = "Cell Out Of SYNC"
+ Device.FaultMgmt.SupportedAlarm.38.X_SCM_AlarmIdentifier = "11165"
+ Device.FaultMgmt.SupportedAlarm.36.SpecificProblem = "PLL Lock Failure"
+ Device.FaultMgmt.SupportedAlarm.35.PerceivedSeverity = "Warning"
+ Device.FaultMgmt.SupportedAlarm.34.X_SCM_RaiseNum = 0
+ Device.FaultMgmt.SupportedAlarm.32.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.31.EventType = "Communications Alarm"
+ Device.FaultMgmt.SupportedAlarm.29.X_SCM_AlarmIdentifier = "11157"
+ Device.FaultMgmt.SupportedAlarm.27.SpecificProblem = "Base Band Start Fail"
+ Device.FaultMgmt.SupportedAlarm.26.PerceivedSeverity = "Major"
+ Device.FaultMgmt.SupportedAlarm.25.X_SCM_RaiseNum = 0
+ Device.FaultMgmt.SupportedAlarm.23.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.22.EventType = "Processing Error Alarm"
+ Device.FaultMgmt.SupportedAlarm.20.ProbableCause = "No Connection With CN"
+ Device.FaultMgmt.SupportedAlarm.18.SpecificProblem = "Working UE Number Overload"
+ Device.FaultMgmt.SupportedAlarm.17.PerceivedSeverity = "Warning"
+ Device.FaultMgmt.SupportedAlarm.16.X_SCM_RaiseNum = 0
+ Device.FaultMgmt.SupportedAlarm.14.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.13.EventType = "Communications Alarm"
+ Device.FaultMgmt.SupportedAlarm.11.ProbableCause = "KPI Upload Failure"
+ Device.FaultMgmt.SupportedAlarm.10.X_SCM_AlarmIdentifier = "11112"
+ Device.FaultMgmt.SupportedAlarm.9.X_SCM_AlarmIdentifier = "11111"
+ Device.FaultMgmt.SupportedAlarm.7.SpecificProblem = "Femto Have Changed Location"
+ Device.FaultMgmt.SupportedAlarm.6.PerceivedSeverity = "Critical"
+ Device.FaultMgmt.SupportedAlarm.5.X_SCM_RaiseNum = 0
+ Device.FaultMgmt.SupportedAlarm.3.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.2.EventType = "Communications Alarm"
+ Device.FaultMgmt.SupportedAlarm.0.ProbableCause = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.50.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.49.Reference = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.47.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.47.Enable = 1
+ Device.PeriodicStatistics.SampleSet.3.Parameter.46.Values = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.41.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.40.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.40.Alias = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.40.X_SCM_Name = "MR.LteScBSR"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.38.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.38.Enable = 1
+ Device.PeriodicStatistics.SampleSet.3.Parameter.37.Values = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.32.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.31.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.31.Alias = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.31.X_SCM_Name = "MR.LteScPHR"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.30.Reference = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.29.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.29.Enable = 1
+ Device.PeriodicStatistics.SampleSet.3.Parameter.28.Values = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.23.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.22.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.22.Alias = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.22.X_SCM_Name = "MR.PlrULQciXRip"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.21.Reference = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.19.Values = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.14.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.13.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.13.Alias = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.13.X_SCM_Name = "MR.eNBRxTxTimeDiff"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.12.Reference = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.10.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.10.Enable = 1
+ Device.PeriodicStatistics.SampleSet.3.Parameter.9.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.9.Enable = 1
+ Device.PeriodicStatistics.SampleSet.3.Parameter.8.Values = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.3.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.2.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.2.Alias = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.2.X_SCM_Name = "MR.RSRQ"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.1.Reference = ""
+ Device.PeriodicStatistics.SampleSet.3.ReportStartTime = 0001-01-01T00:00:00Z
+ Device.PeriodicStatistics.SampleSet.3.ReportSamples = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.206.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.205.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.205.Alias = "CSFBNoRbFail"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.205.X_SCM_Name = "CC.FailCalls.Csfb.NoRb"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.204.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.202.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.202.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.201.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.198.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.197.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.197.Alias = "CRMeanNbrAssnBruDlMax"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.197.X_SCM_Name = "TCR.DLCodeResUsed"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.196.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.194.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.194.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.193.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.189.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.188.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.188.Alias = "PdpFail_RadioLink_Reconfig_Timeout"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.188.X_SCM_Name = "SM.FailEstabPS.RlcMacNoReply"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.187.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.185.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.185.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.184.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.179.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.179.Alias = "PSTrafficDropTime"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.179.X_SCM_Name = "RAB.RelReqPS"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.178.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.176.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.176.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.175.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.170.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.169.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.167.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.167.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.166.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.161.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.160.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.160.Alias = "NAS_DlSetup_Conv_Video"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.160.X_SCM_Name = "CC.AttIncVideoCalls"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.158.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.158.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.157.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.152.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.151.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.151.Alias = "RrcConnRej_No_Ovsf_Code"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.151.X_SCM_Name = "RRC.FailConnEstab.NoOvsf"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.150.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.149.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.149.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.148.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.143.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.142.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.142.Alias = "RrcConnSetupCompOriginatingHighPrioritySignalling"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.142.X_SCM_Name = "RRC.SuccConnEstab.OriginatingHighPrioritySignalling"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.141.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.139.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.134.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.133.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.133.Alias = "RrcConnSetupCompTerminatingConversationalCall"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.133.X_SCM_Name = "RRC.SuccConnEstab.TerminatingConversationalCall"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.132.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.130.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.130.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.125.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.124.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.124.Alias = "RrcConnReqTerminatingLowPrioritySignalling"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.124.X_SCM_Name = "RRC.AttConnEstab.TerminatingLowPrioritySignalling"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.123.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.121.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.121.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.120.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.116.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.115.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.115.Alias = "RrcConnReqEmergencyCall"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.115.X_SCM_Name = "RRC.AttConnEstab.EmergencyCall"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.114.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.112.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.112.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.111.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.107.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.106.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.106.Alias = "RrcConnReqOriginatingConversationalCall"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.106.X_SCM_Name = "RRC.AttConnEstab.OriginatingConversationalCall"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.105.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.103.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.103.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.102.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.97.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.96.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.96.Alias = "CsRevUpTransportBlockTotalNum"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.96.X_SCM_Name = "FP.NbrBlocksReceivedCS"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.95.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.93.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.93.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.92.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.88.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.87.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.87.Alias = "RtpPktRecvCount"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.87.X_SCM_Name = "IUH.IncIuUpCsOct"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.86.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.84.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.84.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.83.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.79.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.78.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.78.Alias = "SctpAssoc_Abort_ERROR_INVAL_MAND_PAR"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.78.X_SCM_Name = "IUH.SctpAbort.ParameterInvalid"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.77.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.75.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.75.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.74.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.69.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.69.Alias = "SctpAssoc_HBTimeout"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.69.X_SCM_Name = "IUH.SctpHBTimeout"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.68.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.66.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.66.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.65.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.60.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.59.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.57.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.57.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.56.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.51.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.50.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.50.Alias = "upTrafficOf64KInRlc"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.50.X_SCM_Name = "RLC.NumUserBits.PS64UL"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.48.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.48.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.47.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.42.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.41.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.41.Alias = "PS_DCHFail_RAB_RbSetupFailed"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.41.X_SCM_Name = "RAB.FailEstabPS.RbSetupFail"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.40.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.39.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.39.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.38.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.33.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.32.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.32.Alias = "HsdpaFail_RLCMAC_Failed"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.32.X_SCM_Name = "RAB.FailEstabHSDPA.RlcMacFail"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.31.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.29.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.24.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.23.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.23.Alias = "VideoCallbFail_IUUPRTP_Failed"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.23.X_SCM_Name = "RAB.FailEstabVideo.IuupRtpFail"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.22.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.20.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.20.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.15.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.14.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.14.Alias = "VoiceCallFail_No_Ovsf_Code"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.14.X_SCM_Name = "RAB.FailEstabVoice.NoOvsf"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.13.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.11.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.11.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.10.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.9.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.4.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.3.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.3.Alias = "PCCPCHPowerInUse"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.3.X_SCM_Name = "EQPT.PCCPCHPowerInUse"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.2.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.0.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.0.Enable = 0
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2189.Alias2 = "Dev.eNB.MaxPositionUncertainty"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2189.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2189.X_SCM_Name = "Dev.eNB.MaxPositionUncertainty"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2188.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2186.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2186.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2185.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2180.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2179.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2177.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2177.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2176.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2171.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2170.Alias2 = "RRC.ConnEstabTimeMax.PLMN.1.Spare1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2170.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2170.X_SCM_Name = "RRC.ConnEstabTimeMax.PLMN.1.Cause.Spare1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2168.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2168.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2167.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2162.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2161.Alias2 = "RRC.ConnEstabTimeMean.PLMN.2.Spare2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2161.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2161.X_SCM_Name = "RRC.ConnEstabTimeMean.PLMN.2.Cause.Spare2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2160.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2159.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2159.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2158.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2153.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2152.Alias2 = "RRC.ConnEstabTimeMean.PLMN.1.DelayTolerantAccess"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2152.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2152.X_SCM_Name = "RRC.ConnEstabTimeMean.PLMN.1.Cause.DelayTolerantAccess"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2151.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2149.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2144.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2143.Alias2 = "RRC.ConnEstabSuccPLMN.2.Spare1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2143.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2143.X_SCM_Name = "RRC.ConnEstabSuccPLMN.2.Cause.Spare1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2142.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2140.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2140.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2135.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2134.Alias2 = "RRC.ConnEstabSuccPLMN.1.Spare1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2134.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2134.X_SCM_Name = "RRC.ConnEstabSuccPLMN.1.Cause.Spare1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2133.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2131.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2131.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2130.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2126.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2125.Alias2 = "RRC.ConnEstabAttPLMN.2.Spare1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2125.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2125.X_SCM_Name = "RRC.ConnEstabAttPLMN.2.Cause.Spare1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2124.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2122.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2122.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2121.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2117.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2116.Alias2 = "RRC.ConnEstabAttPLMN.1.Spare1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2116.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2116.X_SCM_Name = "RRC.ConnEstabAttPLMN.1.Cause.Spare1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2115.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2113.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2113.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2112.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2108.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2107.Alias2 = "S1SIG.ConnEstabSucc.Spare2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2107.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2107.X_SCM_Name = "S1SIG.ConnEstabSucc.Spare2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2106.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2104.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2104.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2103.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2099.Alias2 = "S1SIG.ConnEstabAtt.Spare2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2099.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2099.X_SCM_Name = "S1SIG.ConnEstabAtt.Spare2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2098.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2096.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2096.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2095.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2090.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2089.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2087.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2087.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2086.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2081.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2080.Alias2 = "HO.IartOutSuccSum"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2080.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2080.X_SCM_Name = "HO.IartOutSuccSum"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2078.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2078.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2077.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2072.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2071.Alias2 = "HO.IartOutSucc.Protocol.SemanticError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2071.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2071.X_SCM_Name = "HO.IartOutSucc.Cause.Protocol.SemanticError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2070.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2069.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2069.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2068.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2063.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2062.Alias2 = "HO.IartOutSucc.Nas.NormalRelease"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2062.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2062.X_SCM_Name = "HO.IartOutSucc.Cause.Nas.NormalRelease"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2061.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2059.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2054.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2053.Alias2 = "HO.IartOutSucc.RadioNetwork.AlgoNotSupported"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2053.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2053.X_SCM_Name = "HO.IartOutSucc.Cause.RadioNetwork.AlgoNotSupported"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2052.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2050.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2050.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2045.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2044.Alias2 = "HO.IartOutSucc.RadioNetwork.CSFB"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2044.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2044.X_SCM_Name = "HO.IartOutSucc.Cause.RadioNetwork.CSFB"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2043.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2041.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2041.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2040.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2036.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2035.Alias2 = "HO.IartOutSucc.RadioNetwork.ENBUES1APIDError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2035.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2035.X_SCM_Name = "HO.IartOutSucc.Cause.RadioNetwork.ENBUES1APIDError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2034.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2032.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2032.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2031.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2027.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2026.Alias2 = "HO.IartOutSucc.RadioNetwork.PartialHandover"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2026.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2026.X_SCM_Name = "HO.IartOutSucc.Cause.RadioNetwork.PartialHandover"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2025.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2023.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2023.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2022.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2018.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2017.Alias2 = "HO.IartOutAtt.Misc.OMIntervention"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2017.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2017.X_SCM_Name = "HO.IartOutAtt.Cause.Misc.OMIntervention"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2016.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2014.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2014.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2013.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2009.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2008.Alias2 = "HO.IartOutAtt.Protocol.Reject"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2008.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2008.X_SCM_Name = "HO.IartOutAtt.Cause.Protocol.Reject"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2007.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2005.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2005.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2004.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1998.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1998.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1997.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1992.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1991.Alias2 = "HO.IartOutAtt.RadioNetwork.UnknownERABID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1991.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1991.X_SCM_Name = "HO.IartOutAtt.Cause.RadioNetwork.UnknownERABID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1990.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1989.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1989.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1988.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1983.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1982.Alias2 = "HO.IartOutAtt.RadioNetwork.UERadioConnectionLost"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1982.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1982.X_SCM_Name = "HO.IartOutAtt.Cause.RadioNetwork.UERadioConnectionLost"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1981.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1979.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1974.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1973.Alias2 = "HO.IartOutAtt.RadioNetwork.RadioResUnavailableInTarget"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1973.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1973.X_SCM_Name = "HO.IartOutAtt.Cause.RadioNetwork.RadioResUnavailableInTarget"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1972.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1970.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1970.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1965.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1964.Alias2 = "HO.IartOutAtt.RadioNetwork.ReleaseForEUTRANReason"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1964.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1964.X_SCM_Name = "HO.IartOutAtt.Cause.RadioNetwork.ReleaseForEUTRANReason"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1963.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1961.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1961.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1960.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1956.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1955.Alias2 = "HO.OutSuccTarget.Misc.NotEnoughUserPlaneResources"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1955.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1955.X_SCM_Name = "HO.OutSuccTarget.Cause.Misc.NotEnoughUserPlaneResources"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1954.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1952.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1952.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1951.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1947.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1946.Alias2 = "HO.OutSuccTarget.Nas.CSGSubscriptionExpiry"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1946.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1946.X_SCM_Name = "HO.OutSuccTarget.Cause.Nas.CSGSubscriptionExpiry"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1945.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1943.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1943.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1942.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1938.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1937.Alias2 = "HO.OutSuccTarget.RadioNetwork.RedirectTo1xRTT"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1937.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1937.X_SCM_Name = "HO.OutSuccTarget.Cause.RadioNetwork.RedirectTo1xRTT"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1936.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1934.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1934.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1933.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1929.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1928.Alias2 = "HO.OutSuccTarget.RadioNetwork.InvalidQoSCombination"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1928.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1928.X_SCM_Name = "HO.OutSuccTarget.Cause.RadioNetwork.InvalidQoSCombination"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1927.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1925.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1925.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1924.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1919.Alias2 = "HO.OutSuccTarget.RadioNetwork.ResourceOptimisationHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1919.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1919.X_SCM_Name = "HO.OutSuccTarget.Cause.RadioNetwork.ResourceOptimisationHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1918.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1916.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1916.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1915.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1910.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1909.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1907.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1907.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1906.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1901.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1900.Alias2 = "HO.OutAttTargetSum"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1900.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1900.X_SCM_Name = "HO.OutAttTargetSum"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1899.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1899.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1898.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1893.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1892.Alias2 = "HO.OutAttTarget.Protocol.FalselyConstructedMessage"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1892.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1892.X_SCM_Name = "HO.OutAttTarget.Cause.Protocol.FalselyConstructedMessage"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1891.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1889.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1884.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1883.Alias2 = "HO.OutAttTarget.Nas.AuthenticationFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1883.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1883.X_SCM_Name = "HO.OutAttTarget.Cause.Nas.AuthenticationFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1882.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1880.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1880.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1875.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1874.Alias2 = "HO.OutAttTarget.RadioNetwork.S1IntraSystemHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1874.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1874.X_SCM_Name = "HO.OutAttTarget.Cause.RadioNetwork.S1IntraSystemHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1873.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1871.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1871.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1870.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1866.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1865.Alias2 = "HO.OutAttTarget.RadioNetwork.UENotAvailableforPS"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1865.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1865.X_SCM_Name = "HO.OutAttTarget.Cause.RadioNetwork.UENotAvailableforPS"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1864.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1862.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1862.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1861.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1857.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1856.Alias2 = "HO.OutAttTarget.RadioNetwork.UES1APIDPairError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1856.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1856.X_SCM_Name = "HO.OutAttTarget.Cause.RadioNetwork.UES1APIDPairError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1855.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1853.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1853.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1852.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1848.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1847.Alias2 = "HO.OutAttTarget.RadioNetwork.HOFailureInTarget"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1847.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1847.X_SCM_Name = "HO.OutAttTarget.Cause.RadioNetwork.HOFailureInTarget"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1846.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1844.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1844.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1843.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1839.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1838.Alias2 = "RRU.PrbUl.7"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1838.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1838.X_SCM_Name = "RRU.PrbUl.QCI.7"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1837.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1835.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1835.Enable = 0
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1834.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1829.Alias2 = "RRU.PrbDl.7"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1829.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1829.X_SCM_Name = "RRU.PrbDl.QCI.7"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1828.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1826.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1826.Enable = 0
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1825.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1820.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1819.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1817.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1817.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1816.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1811.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1810.Alias2 = "DRB.IpLateDl.8"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1810.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1810.X_SCM_Name = "DRB.IpLateDl.QCI.8"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1808.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1808.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1807.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1802.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1801.Alias2 = "DRB.UEActiveUl.9"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1801.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1801.X_SCM_Name = "DRB.UEActiveUl.QCI.9"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1800.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1799.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1794.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1793.Alias2 = "DRB.UEActiveUl.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1793.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1793.X_SCM_Name = "DRB.UEActiveUl.QCI.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1792.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1790.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1790.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1785.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1784.Alias2 = "DRB.UEActiveDl.2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1784.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1784.X_SCM_Name = "DRB.UEActiveDl.QCI.2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1783.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1781.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1781.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1780.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1776.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1775.Alias2 = "HO.InterFreqMeasGapOutAtt"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1775.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1775.X_SCM_Name = "HO.InterFreqMeasGapOutAtt"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1774.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1772.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1772.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1771.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1767.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1766.Alias2 = "HO.InterEnbOutSucc.Protocol.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1766.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1766.X_SCM_Name = "HO.InterEnbOutSucc.Cause.Protocol.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1765.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1763.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1763.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1762.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1758.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1757.Alias2 = "HO.InterEnbOutSucc.Nas.Detach"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1757.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1757.X_SCM_Name = "HO.InterEnbOutSucc.Cause.Nas.Detach"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1756.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1754.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1754.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1753.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1749.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1748.Alias2 = "HO.InterEnbOutSucc.RadioNetwork.S1InterSystemHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1748.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1748.X_SCM_Name = "HO.InterEnbOutSucc.Cause.RadioNetwork.S1InterSystemHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1747.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1745.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1745.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1744.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1739.Alias2 = "HO.InterEnbOutSucc.RadioNetwork.RadioResourcesUnavailable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1739.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1739.X_SCM_Name = "HO.InterEnbOutSucc.Cause.RadioNetwork.RadioResourcesUnavailable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1738.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1736.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1736.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1735.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1730.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1729.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1727.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1727.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1726.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1721.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1720.Alias2 = "HO.InterEnbOutSucc.RadioNetwork.HOFailureInTarget"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1720.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1720.X_SCM_Name = "HO.InterEnbOutSucc.Cause.RadioNetwork.HOFailureInTarget"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1718.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1718.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1717.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1712.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1711.Alias2 = "HO.InterEnbOutAtt.Misc.OMIntervention"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1711.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1711.X_SCM_Name = "HO.InterEnbOutAtt.Cause.Misc.OMIntervention"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1710.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1709.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1709.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1708.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1703.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1702.Alias2 = "HO.InterEnbOutAtt.Protocol.Reject"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1702.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1702.X_SCM_Name = "HO.InterEnbOutAtt.Cause.Protocol.Reject"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1701.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1695.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1694.Alias2 = "HO.InterEnbOutAtt.Transport.ResourceUnavailable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1694.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1694.X_SCM_Name = "HO.InterEnbOutAtt.Cause.Transport.ResourceUnavailable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1693.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1691.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1691.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1690.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1686.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1685.Alias2 = "HO.InterEnbOutAtt.RadioNetwork.UnknownERABID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1685.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1685.X_SCM_Name = "HO.InterEnbOutAtt.Cause.RadioNetwork.UnknownERABID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1684.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1682.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1682.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1681.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1677.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1676.Alias2 = "HO.InterEnbOutAtt.RadioNetwork.UERadioConnectionLost"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1676.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1676.X_SCM_Name = "HO.InterEnbOutAtt.Cause.RadioNetwork.UERadioConnectionLost"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1675.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1673.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1673.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1672.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1668.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1667.Alias2 = "HO.InterEnbOutAtt.RadioNetwork.RadioResUnavailableInTarget"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1667.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1667.X_SCM_Name = "HO.InterEnbOutAtt.Cause.RadioNetwork.RadioResUnavailableInTarget"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1666.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1664.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1664.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1663.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1659.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1658.Alias2 = "HO.InterEnbOutAtt.RadioNetwork.ReleaseForEUTRANReason"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1658.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1658.X_SCM_Name = "HO.InterEnbOutAtt.Cause.RadioNetwork.ReleaseForEUTRANReason"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1657.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1655.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1655.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1654.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1649.Alias2 = "HO.IntraEnbOutSucc.Misc.NotEnoughUserPlaneResources"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1649.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1649.X_SCM_Name = "HO.IntraEnbOutSucc.Cause.Misc.NotEnoughUserPlaneResources"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1648.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1646.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1646.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1645.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1640.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1639.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1637.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1637.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1636.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1631.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1630.Alias2 = "HO.IntraEnbOutSucc.RadioNetwork.X2HO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1630.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1630.X_SCM_Name = "HO.IntraEnbOutSucc.Cause.RadioNetwork.X2HO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1628.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1628.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1627.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1622.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1621.Alias2 = "HO.IntraEnbOutSucc.RadioNetwork.RadioInterfaceProcedureFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1621.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1621.X_SCM_Name = "HO.IntraEnbOutSucc.Cause.RadioNetwork.RadioInterfaceProcedureFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1620.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1619.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1619.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1618.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1613.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1612.Alias2 = "HO.IntraEnbOutSucc.RadioNetwork.TimeCriticalHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1612.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1612.X_SCM_Name = "HO.IntraEnbOutSucc.Cause.RadioNetwork.TimeCriticalHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1611.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1609.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1604.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1603.Alias2 = "HO.IntraEnbOutSucc.RadioNetwork.TS1RELOCoverall"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1603.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1603.X_SCM_Name = "HO.IntraEnbOutSucc.Cause.RadioNetwork.TS1RELOCoverall"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1602.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1600.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1600.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1596.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1595.Alias2 = "HO.IntraEnbOutSucc.RadioNetwork.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1595.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1595.X_SCM_Name = "HO.IntraEnbOutSucc.Cause.RadioNetwork.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1594.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1592.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1592.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1591.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1587.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1586.Alias2 = "HO.IntraEnbOutAtt.Protocol.SemanticError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1586.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1586.X_SCM_Name = "HO.IntraEnbOutAtt.Cause.Protocol.SemanticError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1585.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1583.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1583.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1582.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1578.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1577.Alias2 = "HO.IntraEnbOutAtt.Nas.NormalRelease"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1577.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1577.X_SCM_Name = "HO.IntraEnbOutAtt.Cause.Nas.NormalRelease"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1576.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1574.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1574.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1573.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1569.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1568.Alias2 = "HO.IntraEnbOutAtt.RadioNetwork.AlgoNotSupported"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1568.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1568.X_SCM_Name = "HO.IntraEnbOutAtt.Cause.RadioNetwork.AlgoNotSupported"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1567.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1565.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1565.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1564.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1559.Alias2 = "HO.IntraEnbOutAtt.RadioNetwork.CSFB"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1559.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1559.X_SCM_Name = "HO.IntraEnbOutAtt.Cause.RadioNetwork.CSFB"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1558.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1556.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1556.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1555.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1550.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1549.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1547.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1547.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1546.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1541.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1540.Alias2 = "HO.IntraEnbOutAtt.RadioNetwork.HOCancel"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1540.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1540.X_SCM_Name = "HO.IntraEnbOutAtt.Cause.RadioNetwork.HOCancel"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1538.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1538.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1537.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1532.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1531.Alias2 = "ERAB.SessionTimeQCI.5"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1531.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1531.X_SCM_Name = "ERAB.SessionTimeQCI.QCI.5"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1530.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1529.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1529.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1528.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1523.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1522.Alias2 = "ERAB.ModQoSFailNbr.Misc.OMIntervention"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1522.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1522.X_SCM_Name = "ERAB.ModQoSFailNbr.Cause.Misc.OMIntervention"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1521.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1519.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1514.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1513.Alias2 = "ERAB.ModQoSFailNbr.Nas.CSGSubscriptionExpiry"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1513.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1513.X_SCM_Name = "ERAB.ModQoSFailNbr.Cause.Nas.CSGSubscriptionExpiry"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1512.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1510.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1510.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1505.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1504.Alias2 = "ERAB.ModQoSFailNbr.RadioNetwork.AlgoNotSupported"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1504.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1504.X_SCM_Name = "ERAB.ModQoSFailNbr.Cause.RadioNetwork.AlgoNotSupported"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1503.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1501.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1501.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1500.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1497.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1496.Alias2 = "ERAB.ModQoSFailNbr.RadioNetwork.UserInactivity"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1496.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1496.X_SCM_Name = "ERAB.ModQoSFailNbr.Cause.RadioNetwork.UserInactivity"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1495.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1493.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1493.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1492.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1488.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1487.Alias2 = "ERAB.ModQoSFailNbr.RadioNetwork.CellNotAvailable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1487.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1487.X_SCM_Name = "ERAB.ModQoSFailNbr.Cause.RadioNetwork.CellNotAvailable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1486.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1484.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1484.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1483.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1479.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1478.Alias2 = "ERAB.ModQoSFailNbr.RadioNetwork.TX2RELOCOverall"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1478.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1478.X_SCM_Name = "ERAB.ModQoSFailNbr.Cause.RadioNetwork.TX2RELOCOverall"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1477.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1475.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1475.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1474.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1469.Alias2 = "ERAB.RelActNbr.4"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1469.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1469.X_SCM_Name = "ERAB.RelActNbr.QCI.4"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1468.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1466.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1466.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1465.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1460.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1459.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1457.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1457.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1456.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1451.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1450.Alias2 = "ERAB.RelFailNbr.Transport.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1450.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1450.X_SCM_Name = "ERAB.RelFailNbr.Cause.Transport.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1448.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1448.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1447.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1442.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1441.Alias2 = "ERAB.RelFailNbr.RadioNetwork.MultipleERABID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1441.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1441.X_SCM_Name = "ERAB.RelFailNbr.Cause.RadioNetwork.MultipleERABID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1440.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1439.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1439.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1438.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1433.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1432.Alias2 = "ERAB.RelFailNbr.RadioNetwork.UserInactivity"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1432.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1432.X_SCM_Name = "ERAB.RelFailNbr.Cause.RadioNetwork.UserInactivity"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1431.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1429.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1424.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1423.Alias2 = "ERAB.RelFailNbr.RadioNetwork.CellNotAvailable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1423.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1423.X_SCM_Name = "ERAB.RelFailNbr.Cause.RadioNetwork.CellNotAvailable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1422.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1420.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1420.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1415.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1414.Alias2 = "ERAB.RelFailNbr.RadioNetwork.TX2RELOCOverall"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1414.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1414.X_SCM_Name = "ERAB.RelFailNbr.Cause.RadioNetwork.TX2RELOCOverall"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1413.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1411.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1411.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1410.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1406.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1405.Alias2 = "ERAB.RelEnbNbr.Protocol.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1405.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1405.X_SCM_Name = "ERAB.RelEnbNbr.Cause.Protocol.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1404.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1402.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1402.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1401.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1398.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1397.Alias2 = "ERAB.RelEnbNbr.Nas.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1397.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1397.X_SCM_Name = "ERAB.RelEnbNbr.Cause.Nas.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1396.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1394.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1394.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1393.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1389.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1388.Alias2 = "ERAB.RelEnbNbr.RadioNetwork.S1IntraSystemHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1388.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1388.X_SCM_Name = "ERAB.RelEnbNbr.Cause.RadioNetwork.S1IntraSystemHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1387.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1385.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1385.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1384.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1379.Alias2 = "ERAB.RelEnbNbr.RadioNetwork.ServingCellReduceLoad"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1379.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1379.X_SCM_Name = "ERAB.RelEnbNbr.Cause.RadioNetwork.ServingCellReduceLoad"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1378.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1376.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1376.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1375.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1370.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1369.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1367.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1367.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1366.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1361.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1360.Alias2 = "ERAB.EstabTimeMax.9"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1360.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1360.X_SCM_Name = "ERAB.EstabTimeMax.QCI.9"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1358.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1358.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1357.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1352.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1351.Alias2 = "ERAB.EstabTimeMean.9"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1351.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1351.X_SCM_Name = "ERAB.EstabTimeMean.QCI.9"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1350.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1349.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1349.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1348.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1343.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1342.Alias2 = "ERAB.EstabAddFailNbrSum"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1342.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1342.X_SCM_Name = "ERAB.EstabAddFailNbrSum"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1341.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1339.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1334.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1333.Alias2 = "ERAB.EstabAddFailNbr.Protocol.MessageStateNotCompatible"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1333.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1333.X_SCM_Name = "ERAB.EstabAddFailNbr.Cause.Protocol.MessageStateNotCompatible"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1332.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1330.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1330.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1325.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1324.Alias2 = "ERAB.EstabAddFailNbr.RadioNetwork.InvalidCSGID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1324.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1324.X_SCM_Name = "ERAB.EstabAddFailNbr.Cause.RadioNetwork.InvalidCSGID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1323.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1321.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1321.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1320.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1316.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1315.Alias2 = "ERAB.EstabAddFailNbr.RadioNetwork.UERadioConnectionLost"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1315.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1315.X_SCM_Name = "ERAB.EstabAddFailNbr.Cause.RadioNetwork.UERadioConnectionLost"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1314.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1312.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1312.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1311.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1307.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1306.Alias2 = "ERAB.EstabAddFailNbr.RadioNetwork.UnknownTargetID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1306.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1306.X_SCM_Name = "ERAB.EstabAddFailNbr.Cause.RadioNetwork.UnknownTargetID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1305.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1303.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1303.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1302.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1299.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1298.Alias2 = "ERAB.EstabAddFailNbr.RadioNetwork.ReleaseForEUTRANReason"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1298.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1298.X_SCM_Name = "ERAB.EstabAddFailNbr.Cause.RadioNetwork.ReleaseForEUTRANReason"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1297.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1295.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1295.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1294.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1289.Alias2 = "ERAB.EstabInitFailNbr.Misc.NotEnoughUserPlaneResources"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1289.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1289.X_SCM_Name = "ERAB.EstabInitFailNbr.Cause.Misc.NotEnoughUserPlaneResources"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1288.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1286.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1286.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1285.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1280.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1279.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1277.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1277.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1276.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1271.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1270.Alias2 = "ERAB.EstabInitFailNbr.RadioNetwork.CSFB"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1270.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1270.X_SCM_Name = "ERAB.EstabInitFailNbr.Cause.RadioNetwork.CSFB"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1268.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1268.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1267.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1262.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1261.Alias2 = "ERAB.EstabInitFailNbr.RadioNetwork.UnknownTargetID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1261.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1261.X_SCM_Name = "ERAB.EstabInitFailNbr.Cause.RadioNetwork.UnknownTargetID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1260.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1259.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1259.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1258.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1253.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1252.Alias2 = "ERAB.EstabInitFailNbr.RadioNetwork.SuccessHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1252.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1252.X_SCM_Name = "ERAB.EstabInitFailNbr.Cause.RadioNetwork.SuccessHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1251.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1249.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1244.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1243.Alias2 = "UECNTX.RelReq.Protocol.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1243.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1243.X_SCM_Name = "UECNTX.RelReq.Cause.Protocol.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1242.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1240.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1240.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1235.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1234.Alias2 = "UECNTX.RelReq.Nas.Detach"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1234.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1234.X_SCM_Name = "UECNTX.RelReq.Cause.Nas.Detach"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1233.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1231.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1231.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1230.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1226.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1225.Alias2 = "UECNTX.RelReq.RadioNetwork.AlgoNotSupported"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1225.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1225.X_SCM_Name = "UECNTX.RelReq.Cause.RadioNetwork.AlgoNotSupported"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1224.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1222.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1222.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1221.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1217.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1216.Alias2 = "UECNTX.RelReq.RadioNetwork.ServingCellReduceLoad"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1216.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1216.X_SCM_Name = "UECNTX.RelReq.Cause.RadioNetwork.ServingCellReduceLoad"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1215.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1213.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1213.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1212.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1208.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1207.Alias2 = "UECNTX.RelReq.RadioNetwork.CellNotAvailable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1207.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1207.X_SCM_Name = "UECNTX.RelReq.Cause.RadioNetwork.CellNotAvailable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1206.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1204.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1204.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1203.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1199.Alias2 = "UECNTX.RelReq.RadioNetwork.SuccessHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1199.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1199.X_SCM_Name = "UECNTX.RelReq.Cause.RadioNetwork.SuccessHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1198.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1196.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1196.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1195.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1190.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1189.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1187.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1187.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1186.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1181.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1180.Alias2 = "RRC.ConnEstabTimeMean.Emergency"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1180.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1180.X_SCM_Name = "RRC.ConnEstabTimeMean.Cause.Emergency"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1178.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1178.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1177.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1172.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1171.Alias2 = "RRC.ConnReEstabAtt.OtherFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1171.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1171.X_SCM_Name = "RRC.ConnReEstabAtt.Cause.OtherFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1170.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1169.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1169.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1168.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1163.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1162.Alias2 = "RRC.ConnEstabFail.Emergency"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1162.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1162.X_SCM_Name = "RRC.ConnEstabFail.Cause.Emergency"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1161.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1159.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1154.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1153.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1153.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1153.X_SCM_Name = "CONTEXT.AttRelMme.CauseTimerExpiry"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1152.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1150.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1150.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1145.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1144.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1144.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1144.X_SCM_Name = "MAC.DlMcsValueTotal"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1143.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1141.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1141.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1140.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1136.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1135.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1135.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1135.X_SCM_Name = "HO.S1IntraFreqOutSucc"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1134.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1132.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1132.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1131.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1127.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1126.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1126.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1126.X_SCM_Name = "HO.AttOutInterEnbX2.2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1125.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1123.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1123.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1122.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1118.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1117.Alias2 = "ERAB.UsageNbrMax.4"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1117.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1117.X_SCM_Name = "ERAB.NbrMaxEstab.4"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1116.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1114.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1114.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1113.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1109.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1108.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1108.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1108.X_SCM_Name = "ERAB.NbrSuccInitEstab.5"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1107.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1105.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1105.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1104.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1099.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1097.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1097.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1096.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1091.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1090.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1090.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1090.X_SCM_Name = "PDCP.UpLastTtiOctDl.7"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1088.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1088.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1087.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1082.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1081.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1081.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1081.X_SCM_Name = "PDCP.UpLastTtiOctUl.8"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1080.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1079.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1079.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1078.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1073.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1072.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1072.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1072.X_SCM_Name = "PDCP.UpPktTotDelayDl.9"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1071.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1069.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1064.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1063.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1063.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1063.X_SCM_Name = "PDCP.UpPktTotDelayDl"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1062.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1060.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1060.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1055.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1054.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1054.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1054.X_SCM_Name = "PDCP.ThrpTimeDL.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1053.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1051.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1051.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1050.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1046.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1045.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1045.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1045.X_SCM_Name = "RRU.PdschPrbAssn"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1044.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1042.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1042.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1041.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1037.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1036.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1036.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1036.X_SCM_Name = "RRU.PdcchCceAvail"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1035.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1033.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1033.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1032.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1028.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1027.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1027.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1027.X_SCM_Name = "MAC.NbrRbDl.Tm9.SFBC"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1026.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1024.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1024.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1023.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1019.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1018.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1018.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1018.X_SCM_Name = "MAC.NbrInitTbDl.256Qam"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1017.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1015.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1015.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1014.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1009.Alias2 = "DRB.PdcpSduBitrateDlMax"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1009.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1009.X_SCM_Name = "PDCP.UpPeakBitrateDl "
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1008.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1006.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1006.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1005.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1000.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.999.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.997.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.997.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.996.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.991.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.990.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.990.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.990.X_SCM_Name = "RRC.ConnRelease.RedirectTo2G"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.988.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.988.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.987.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.982.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.981.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.981.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.981.X_SCM_Name = "RRU.TtiMaxUl"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.980.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.979.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.979.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.978.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.973.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.972.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.972.Alias = "cpe-pm-mpo-succ-ho-inc-primary-plmn"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.972.X_SCM_Name = "MPO.SuccHoIncPrimaryPLMN"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.971.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.969.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.964.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.963.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.963.Alias = "cpe-pm-covg-vip-ue-edge-area-gtp-rx-bytes"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.963.X_SCM_Name = "COVG.EdgeIncGtpU.VipUe"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.962.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.960.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.960.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.955.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.954.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.954.Alias = "cpe-pm-intrafreq-ho-out-serve-rsrp"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.954.X_SCM_Name = "HO.OutIntraFreqServeRSRP"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.953.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.951.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.951.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.950.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.946.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.945.Alias2 = "PHY.ULMaxNL.91"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.945.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.945.X_SCM_Name = "PHY.ULMaxNL.PRB91"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.944.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.942.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.942.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.941.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.937.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.936.Alias2 = "PHY.ULMaxNL.82"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.936.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.936.X_SCM_Name = "PHY.ULMaxNL.PRB82"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.935.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.933.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.933.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.932.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.928.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.927.Alias2 = "PHY.ULMaxNL.73"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.927.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.927.X_SCM_Name = "PHY.ULMaxNL.PRB73"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.926.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.924.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.924.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.923.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.919.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.918.Alias2 = "PHY.ULMaxNL.64"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.918.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.918.X_SCM_Name = "PHY.ULMaxNL.PRB64"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.917.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.915.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.915.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.914.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.909.Alias2 = "PHY.ULMaxNL.55"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.909.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.909.X_SCM_Name = "PHY.ULMaxNL.PRB55"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.908.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.906.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.906.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.905.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.900.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.898.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.898.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.897.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.892.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.891.Alias2 = "PHY.ULMaxNL.37"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.891.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.891.X_SCM_Name = "PHY.ULMaxNL.PRB37"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.890.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.889.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.889.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.888.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.883.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.882.Alias2 = "PHY.ULMaxNL.28"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.882.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.882.X_SCM_Name = "PHY.ULMaxNL.PRB28"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.881.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.879.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.874.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.873.Alias2 = "PHY.ULMaxNL.19"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.873.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.873.X_SCM_Name = "PHY.ULMaxNL.PRB19"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.872.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.870.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.870.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.865.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.864.Alias2 = "PHY.ULMaxNL.10"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.864.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.864.X_SCM_Name = "PHY.ULMaxNL.PRB10"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.863.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.861.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.861.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.860.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.856.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.855.Alias2 = "PHY.ULMaxNL.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.855.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.855.X_SCM_Name = "PHY.ULMaxNL.PRB1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.854.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.852.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.852.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.851.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.847.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.846.Alias2 = "PHY.ULMeanNL.99"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.846.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.846.X_SCM_Name = "PHY.ULMeanNL.PRB99"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.845.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.843.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.843.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.842.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.838.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.837.Alias2 = "PHY.ULMeanNL.90"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.837.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.837.X_SCM_Name = "PHY.ULMeanNL.PRB90"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.836.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.834.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.834.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.833.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.829.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.828.Alias2 = "PHY.ULMeanNL.81"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.828.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.828.X_SCM_Name = "PHY.ULMeanNL.PRB81"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.827.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.825.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.825.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.824.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.819.Alias2 = "PHY.ULMeanNL.72"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.819.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.819.X_SCM_Name = "PHY.ULMeanNL.PRB72"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.818.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.816.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.816.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.815.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.810.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.809.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.807.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.807.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.806.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.801.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.800.Alias2 = "PHY.ULMeanNL.53"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.800.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.800.X_SCM_Name = "PHY.ULMeanNL.PRB53"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.799.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.799.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.798.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.793.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.792.Alias2 = "PHY.ULMeanNL.45"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.792.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.792.X_SCM_Name = "PHY.ULMeanNL.PRB45"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.791.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.789.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.784.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.783.Alias2 = "PHY.ULMeanNL.36"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.783.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.783.X_SCM_Name = "PHY.ULMeanNL.PRB36"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.782.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.780.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.780.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.775.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.774.Alias2 = "PHY.ULMeanNL.27"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.774.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.774.X_SCM_Name = "PHY.ULMeanNL.PRB27"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.773.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.771.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.771.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.770.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.766.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.765.Alias2 = "PHY.ULMeanNL.18"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.765.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.765.X_SCM_Name = "PHY.ULMeanNL.PRB18"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.764.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.762.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.762.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.761.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.757.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.756.Alias2 = "PHY.ULMeanNL.9"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.756.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.756.X_SCM_Name = "PHY.ULMeanNL.PRB9"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.755.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.753.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.753.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.752.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.748.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.747.Alias2 = "PHY.ULMeanNL.0"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.747.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.747.X_SCM_Name = "PHY.ULMeanNL.PRB0"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.746.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.744.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.744.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.743.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.739.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.738.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.738.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.738.X_SCM_Name = "PHY.NbrCqi7"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.737.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.735.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.735.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.734.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.729.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.729.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.729.X_SCM_Name = "RRU.DtchPrbAssnTotalUl.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.728.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.726.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.726.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.725.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.720.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.719.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.717.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.717.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.716.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.711.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.710.Alias2 = "DRB.PdcpSduDelayDl.9"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.710.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.710.X_SCM_Name = "PDCP.UpPktDelayDl.9"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.708.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.708.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.707.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.702.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.701.Alias2 = "DRB.PdcpSduDelayDlSum"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.701.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.701.X_SCM_Name = "PDCP.UpPktDelayDl"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.700.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.699.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.694.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.693.Alias2 = "DRB.PdcpSduAirLossRateDl.2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.693.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.693.X_SCM_Name = "PDCP.NbrPktLossDl.2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.692.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.690.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.690.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.685.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.684.Alias2 = "DRB.IPThpDl.2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.684.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.684.X_SCM_Name = "PDCP.NbrPktDl.2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.683.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.681.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.681.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.680.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.676.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.675.Alias2 = "DRB.PdcpSduLossRateUl.2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.675.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.675.X_SCM_Name = "PDCP.NbrPktLossUl.2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.674.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.672.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.672.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.671.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.667.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.666.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.666.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.666.X_SCM_Name = "PDCP.NbrPktUl.2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.665.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.663.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.663.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.662.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.658.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.657.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.657.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.657.X_SCM_Name = "PDCP.UpOctDl.4"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.656.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.654.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.654.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.653.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.649.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.648.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.648.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.648.X_SCM_Name = "PDCP.UpOctUl.5"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.647.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.645.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.645.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.644.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.639.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.639.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.639.X_SCM_Name = "IRATHO.FailPrepOutUtran.IntraEnbPrepFailed"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.638.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.636.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.636.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.635.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.630.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.629.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.627.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.627.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.626.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.621.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.620.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.620.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.620.X_SCM_Name = "HO.SuccOutInterEnbX2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.618.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.618.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.617.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.612.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.611.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.611.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.611.X_SCM_Name = "HO.SuccOutInterEnbS1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.610.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.609.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.609.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.608.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.603.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.602.Alias2 = "UECNTX.RelReq.RadioNetwork.UENotAvailableforPS"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.602.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.602.X_SCM_Name = "CONTEXT.AttRelEnb.CauseUENotAvailableforPS"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.601.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.595.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.594.Alias2 = "ERAB.EstabInitFailNbr.RadioNetwork.UENotAvailableforPS"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.594.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.594.X_SCM_Name = "CONTEXT.FailInitalSetup.UENotAvailableforPS"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.593.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.591.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.591.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.590.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.586.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.585.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.585.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.585.X_SCM_Name = "ERAB.NbrLeft.5"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.584.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.582.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.582.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.581.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.577.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.576.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.576.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.576.X_SCM_Name = "ERAB.HoFail.5"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.575.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.573.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.573.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.572.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.568.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.567.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.567.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.567.X_SCM_Name = "ERAB.NbrReqRelEnb.Normal.6"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.566.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.564.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.564.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.563.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.559.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.558.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.558.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.558.X_SCM_Name = "ERAB.NbrSuccEstab.9"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.557.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.555.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.555.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.554.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.549.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.549.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.549.X_SCM_Name = "ERAB.NbrAttEstab.9"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.548.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.546.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.546.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.545.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.540.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.539.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.537.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.537.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.536.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.531.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.530.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.530.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.530.X_SCM_Name = "ERAB.EstabTimeMean"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.528.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.528.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.527.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.522.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.521.Alias2 = "ERAB.UsageNbrMean.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.521.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.521.X_SCM_Name = "ERAB.NbrMeanEstab.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.520.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.519.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.519.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.518.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.513.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.512.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.512.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.512.X_SCM_Name = "ERAB.NbrReqRelEnb.3"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.511.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.509.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.504.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.503.Alias2 = "ERAB.RelEnbNbrSum"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.503.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.503.X_SCM_Name = "ERAB.NbrReqRelEnb"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.502.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.500.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.500.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.496.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.495.Alias2 = "RRC.ConnReEstabAtt.HandOverFail"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.495.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.495.X_SCM_Name = "RRC.AttConnReestab.HandOverFail"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.494.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.492.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.492.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.491.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.487.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.486.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.486.Alias = "cpe-pm-covg-core-area-ue-first-rept"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.486.X_SCM_Name = "COVG.CoreUeFirstRept"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.485.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.483.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.483.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.482.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.478.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.477.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.477.Alias = "cpe-pm-covg-ue-core-area-tm"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.477.X_SCM_Name = "COVG.CoreTime"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.476.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.474.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.474.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.473.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.469.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.468.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.468.Alias = "cpe-pm-mro-reduce-ue-cio"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.468.X_SCM_Name = "MRO.RedUeCIO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.467.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.465.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.465.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.464.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.459.Alias2 = "HO.OutFail.TooLate"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.459.Alias = "cpe-pm-mro-too-late-ho-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.459.X_SCM_Name = "MRO.TooLateHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.458.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.456.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.456.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.455.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.450.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.449.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.447.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.447.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.446.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.441.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.440.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.440.Alias = "cpe-pm-rach-access-delay-v0-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.440.X_SCM_Name = "RRU.RachAccessDelayDist.Good"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.438.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.438.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.437.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.432.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.431.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.431.Alias = "cpe-pm-rach-conflict-intrafreq-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.431.X_SCM_Name = "RRU.RachConflict.Intrafreq"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.430.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.429.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.429.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.428.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.423.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.422.Alias2 = "ERAB.ModQoSFailNbr.RadioNetwork.S1IntraSystemHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.422.Alias = "cpe-pm-rab-modi-fail-nr-intrasys-s1hotri"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.422.X_SCM_Name = "ERAB.ModQoSFailNbr.S1IntraSystemHoTrig"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.421.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.419.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.414.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.413.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.413.Alias = "cpe-pm-mme-rel-rab-nr-radio-fail"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.413.X_SCM_Name = "ERAB.RelMmeNbr.RadioInterfaceFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.412.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.410.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.410.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.405.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.404.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.404.Alias = "cpe-pm-mme-rel-rab-nr-unspec-nas"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.404.X_SCM_Name = "ERAB.RelMmeNbr.UnspecifiedNas"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.403.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.401.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.401.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.400.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.397.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.396.Alias2 = "ERAB.RelFailNbr.Misc.ControlProcessingOverload"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.396.Alias = "cpe-pm-mme-rel-rab-fail-nr-ctrlproc-overload"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.396.X_SCM_Name = "ERAB.RelFailNbr.ControlProcessingOverload"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.395.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.393.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.393.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.392.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.388.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.387.Alias2 = "ERAB.EstabAddFailNbr.Protocol.TransferSyntaxError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.387.Alias = "cpe-pm-init-addrab-est-fail-trans-synterr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.387.X_SCM_Name = "ERAB.EstabAddFailNbr.TransferSyntaxError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.386.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.384.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.384.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.383.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.379.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.378.Alias2 = "ERAB.EstabAddFailNbr.RadioNetwork.UES1APIDPairError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.378.Alias = "cpe-pm-init-addrab-est-fail-ues1apid-pairerr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.378.X_SCM_Name = "ERAB.EstabAddFailNbr.UeS1apIdPairError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.377.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.375.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.375.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.374.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.369.Alias2 = "ERAB.EstabInitFailNbr.RadioNetwork.RadioInterfaceProcedureFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.369.Alias = "cpe-pm-init-rab-est-fail-nr-ue-norsp"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.369.X_SCM_Name = "ERAB.EstabInitFailNbr.RadioInterfaceFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.368.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.366.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.366.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.365.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.360.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.359.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.357.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.357.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.356.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.351.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.350.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.350.Alias = "cpe-pm-rrc-recfg-fail-nr-loch-allocerr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.350.X_SCM_Name = "RRC.FailConnReconfig.LoChID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.348.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.348.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.347.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.342.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.341.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.341.Alias = "cpe-pm-rrc-recfg-succ-nr-resrecl"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.341.X_SCM_Name = "RRC.SuccConnReconfig.ResReclaim"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.340.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.339.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.339.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.338.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.333.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.332.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.332.Alias = "cpe-pm-rrc-recfg-req-nr-meascfg"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.332.X_SCM_Name = "RRC.AttConnReconfig.MeasCfg"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.331.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.329.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.324.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.323.Alias2 = "RRC.ConnReEstabSucc.HandOverFail"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.323.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.323.X_SCM_Name = "RRC.SuccConnReestab.HandOverFail"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.322.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.320.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.320.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.315.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.314.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.314.Alias = "cpe-pm-rrc-reest-fail-tolnr-per-encodefail"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.314.X_SCM_Name = "RRC.ConnReEstabFail.PerEncodeFail"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.313.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.311.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.311.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.310.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.306.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.305.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.305.Alias = "cpe-pm-rrc-fail-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.305.X_SCM_Name = "RRC.FailConnEstab.AccessJudgeFail"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.304.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.302.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.302.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.301.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.298.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.297.Alias2 = "RRC.ConnEstabFaileNBCause.Congestion"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.297.Alias = "cpe-pm-rrc-estab-fail-nr-cell-overload"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.297.X_SCM_Name = "RRC.FailConnEstab.CellOverLoad"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.296.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.294.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.294.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.293.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.289.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.288.Alias2 = "RRC.ConnEstabAtt.HighPriorityAccess"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.288.Alias = "cpe-pm-rrc-estab-req-nr-hipri"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.288.X_SCM_Name = "RRC.AttConnEstab.HighPriorityAccess"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.287.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.285.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.285.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.284.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.279.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.279.Alias = "cpe-pm-sctpasso-send-databloc-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.279.X_SCM_Name = "SIG.SctpDataChunkSent"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.278.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.276.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.276.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.275.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.270.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.269.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.267.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.267.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.266.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.261.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.260.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.260.Alias = "cpe-pm-assoc-att-ets-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.260.X_SCM_Name = "SIG.SctpConnEstabAtt"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.258.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.258.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.257.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.252.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.251.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.251.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.251.X_SCM_Name = "MAC.NbrTbDl.Tm3"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.250.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.249.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.249.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.248.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.243.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.242.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.242.Alias = "cpe-pm-mac-dl-succtr-init-tb-num-64qam"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.242.X_SCM_Name = "MAC.NbrSuccInitTbDl.64Qam"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.241.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.239.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.234.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.233.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.233.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.233.X_SCM_Name = "MAC.NbrSuccInitTbUl.Qpsk.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.232.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.230.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.230.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.225.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.224.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.224.Alias = "cpe-pm-max-dl-send-tb-tolnum-newtr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.224.X_SCM_Name = "MAC.NbrInitTbDl"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.223.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.221.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.221.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.220.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.216.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.215.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.215.Alias = "cpe-pm-2utr-srvccho-exereq-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.215.X_SCM_Name = "SRVCC.AttOutExecUtran"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.214.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.212.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.212.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.211.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.207.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.206.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.206.Alias = "cpe-pm-2ger-srvccho-req-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.206.X_SCM_Name = "SRVCC.AttOutGeran"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.205.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.203.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.203.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.202.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.199.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.198.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.198.Alias = "cpe-pm-volte-interenb-x2ho-exereq-nr-interfreq"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.198.X_SCM_Name = "VoLTE.HO.AttOutExecInterEnbX2.InterFreq"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.197.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.195.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.195.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.194.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.189.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.189.Alias = "cpe-pm-volte-interenb-s1ho-succ-nr-interfreq"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.189.X_SCM_Name = "VoLTE.HO.SuccOutInterEnbS1.InterFreq"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.188.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.186.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.186.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.185.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.180.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.179.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.177.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.177.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.176.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.171.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.170.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.170.Alias = "cpe-pm-intersys-ps-ho-succ-nr-eps-gprs"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.170.X_SCM_Name = "IRATHO.SuccOutGprs"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.168.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.168.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.167.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.162.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.161.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.161.Alias = "cpe-pm-interfreq-ho-req-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.161.X_SCM_Name = "HO.AttOutInterFreq"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.160.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.159.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.159.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.158.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.153.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.152.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.152.Alias = "cpe-pm-intrasys-intrafreq-ho-req-nr-lb"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.152.X_SCM_Name = "HO.OutAttIntraFreq.LoadBalance"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.151.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.149.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.144.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.143.Alias2 = "DRB.PdcpSduBitrateUl.5"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.143.Alias = "cpe-pm-pdcp-ulup-send-q5"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.143.X_SCM_Name = "DRB.PdcpSduBitLenUl.5"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.142.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.140.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.140.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.135.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.134.Alias2 = "DRB.PdcpSduBitrateDl.5"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.134.Alias = "cpe-pm-pdcp-dlup-send-q5"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.134.X_SCM_Name = "DRB.PdcpSduBitLenDl.5"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.133.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.131.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.131.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.130.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.126.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.125.Alias2 = "ERAB.ModQoSSuccNbr.7"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.125.Alias = "cpe-pm-rab-succ-modi-nr-q7"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.125.X_SCM_Name = "ERAB.NbrSuccMod.7"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.124.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.122.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.122.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.121.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.117.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.116.Alias2 = "ERAB.ModQoSAttNbr.3"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.116.Alias = "cpe-pm-rab-att-modi-nr-q3"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.116.X_SCM_Name = "ERAB.NbrAttMod.3"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.115.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.113.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.113.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.112.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.108.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.107.Alias2 = "ERAB.RelSuccNbr.7"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.107.Alias = "cpe-pm-rab-mme-succrel-nr-q7"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.107.X_SCM_Name = "ERAB.RelSuccNbr.7"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.106.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.104.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.104.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.103.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.98.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.97.Alias2 = "ERAB.RelSuccNbr.2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.97.Alias = "cpe-pm-rab-mme-succrel-nr-q2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.97.X_SCM_Name = "ERAB.RelSuccNbr.2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.96.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.94.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.94.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.93.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.89.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.88.Alias2 = "ERAB.RelEnbNbr.4"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.88.Alias = "cpe-pm-rab-enb-rel-nr-q4"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.88.X_SCM_Name = "ERAB.RelEnbNbr.4 "
+ Device.PeriodicStatistics.SampleSet.1.Parameter.87.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.85.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.85.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.84.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.79.Alias2 = "ERAB.EstabAddAttNbr.7"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.79.Alias = "cpe-pm-add-rab-att-nr-q7"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.79.X_SCM_Name = "ERAB.EstabAddAttNbr.7"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.78.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.76.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.76.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.75.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.70.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.69.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.67.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.67.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.66.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.61.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.60.Alias2 = "ERAB.EstabInitSuccNbr.6"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.60.Alias = "cpe-pm-init-rab-succ-nr-q6"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.60.X_SCM_Name = "ERAB.EstabInitSuccNbr.6"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.58.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.58.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.57.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.52.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.51.Alias2 = "ERAB.EstabInitAttNbr.2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.51.Alias = "cpe-pm-init-rab-att-nr-q2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.51.X_SCM_Name = "ERAB.EstabInitAttNbr.2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.50.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.49.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.49.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.48.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.43.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.42.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.42.Alias = "cpe-pm-ue-conn-max-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.42.X_SCM_Name = "CONTEXT.ActiveMaxNbr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.41.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.39.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.34.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.33.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.33.Alias = "cpe-pm-gtp-rx-pkt"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.33.X_SCM_Name = "S1.IncNbrPktGtpU"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.32.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.30.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.30.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.25.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.24.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.24.Alias = "cpe-pm-rrc-rel-abr-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.24.X_SCM_Name = "CONTEXT.AttRelEnb.Abnormal"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.23.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.21.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.21.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.20.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.16.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.15.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.15.Alias = "cpe-pm-pdcp-ul-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.15.X_SCM_Name = "PDCP.NbrPktUl"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.14.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.12.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.12.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.11.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.5.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.4.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.4.Alias = "cpe-pm-rab-req-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.4.X_SCM_Name = "ERAB.NbrAttEstab"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.3.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.0.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Enable = 1
+ Device.PeriodicStatistics.SampleSet.0.ReportEndTime = 0001-01-01T00:00:00Z
+ Device.PeriodicStatistics.SampleSet.0.Status = "Disabled"
+ Device.Firewall.Chain.1.Rule.2.Protocol = 17
+ Device.Firewall.Chain.1.Rule.1.DestPort = -1
+ Device.Firewall.Chain.1.Creator = "ACS"
+ Device.Firewall.Chain.1.Alias = ""
+ Device.Firewall.Chain.0.Rule.0.DestIP = ""
+ Device.Firewall.Chain.0.Rule.0.Enable = 0
+ Device.Firewall.Level.0.PortMappingEnabled = 1
+ Device.Firewall.Level.0.Alias = ""
+ Device.Firewall.AdvancedLevel = ""
+ Device.DHCPv6.Client.1.ReceivedOption.0.Value =
+ Device.DHCPv4.Server.Pool.1.SubnetMask = "255.255.255.0"
+ Device.DHCPv4.Server.Pool.0.MinAddress = ""
+ Device.DHCPv4.Client.1.SentOptionNumberOfEntries = 0
+ Device.DHCPv4.Client.1.SubnetMask = ""
+ Device.DHCPv4.Client.0.ReqOption.0.Enable = 0
+ Device.DHCPv4.Client.0.SentOption.0.Value =
+ Device.DNS.Client.Server.3.DNSServer = ""
+ Device.DNS.Client.Server.0.Interface = ""
+ Device.Routing.Router.1.IPv4Forwarding.1.Interface = "Device.IP.Interface.1."
+ Device.Routing.Router.1.IPv4Forwarding.1.DestIPAddress = ""
+ Device.Routing.Router.1.IPv4Forwarding.1.StaticRoute = 0
+ Device.Routing.Router.1.IPv4Forwarding.1.Enable = 1
+ Device.Routing.Router.1.IPv4Forwarding.0.Status = "Disabled"
+ Device.Routing.Router.0.IPv6Forwarding.0.Interface = ""
+ Device.Routing.Router.0.IPv6Forwarding.0.Enable = 0
+ Device.Routing.Router.0.IPv4Forwarding.0.X_SCM_RouteTableName = ""
+ Device.Routing.Router.0.IPv4Forwarding.0.ForwardingMetric = -1
+ Device.Routing.Router.0.IPv4Forwarding.0.GatewayIPAddress = ""
+ Device.IP.Diagnostics.IPPing.MaximumResponseTimeDetailed = 0
+ Device.IP.Interface.5.LowerLayers = "Device.Ethernet.VLANTermination.3"
+ Device.IP.Interface.5.Name = ""
+ Device.IP.Interface.4.IPv4Address.0.IPAddress = "11.11.12.188"
+ Device.IP.Interface.4.IPv4Address.0.Enable = 0
+ Device.IP.Interface.3.IPv4Address.1.IPAddress = "11.11.11.188"
+ Device.IP.Interface.3.IPv4Address.1.Enable = 1
+ Device.IP.Interface.3.IPv6Address.0.Prefix = ""
+ Device.IP.Interface.2.IPv6Address.1.Prefix = ""
+ Device.IP.Interface.2.IPv6Address.0.IPAddress = ""
+ Device.IP.Interface.2.IPv6Address.0.Enable = 0
+ Device.IP.Interface.1.IPv6Address.1.IPAddress = ""
+ Device.IP.Interface.1.IPv6Address.1.Enable = 0
+ Device.IP.Interface.1.IPv4Address.0.AddressingType = "DHCP"
+ Device.IP.Interface.0.Alias = ""
+ Device.Ethernet.VLANTermination.2.VLANID = 1
+ Device.Ethernet.Interface.1.SignTransMedia = ".X_SCM_SignTransMedia"
+ Device.Ethernet.Interface.1.X_SCM_PortLocation = ""
+ Device.Ethernet.Interface.0.X_SCM_FarPortLocation = ""
+ Device.Ethernet.Interface.0.X_SCM_PortRate = -1
+ Device.ManagementServer.X_SCM_CWMPIPAddressRef = "Device.IP.Interface.1.IPv4Address.1."
+ Device.ManagementServer.EnableCWMP = 1
+ Device.DeviceInfo.Location.0.X_SCM_AccuracyLocationChange = 300
+ Device.DeviceInfo.Location.0.X_SCM_PreviousDataObject = ""
+ Device.DeviceInfo.Location.0.AcquiredTime = 0001-01-01T00:00:00Z
+ Device.DeviceInfo.VendorLogFile.1.X_SCM_LogControl.X_SCM_FakeLogUpload = 0
+ Device.DeviceInfo.VendorLogFile.1.X_SCM_LogControl.X_SCM_TraceEnable = 0
+ Device.DeviceInfo.TemperatureStatus.TemperatureSensor.1.X_SCM_LowThresholdValue = 75
+ Device.DeviceInfo.TemperatureStatus.TemperatureSensor.1.MinTime = 2021-10-28T22:26:17
+ Device.DeviceInfo.TemperatureStatus.TemperatureSensor.1.MinValue = 40
+ Device.DeviceInfo.TemperatureStatus.TemperatureSensor.0.PollingInterval = 60
+ Device.DeviceInfo.VendorConfigFile.0.X_SCM_ConfigFileFormat = "Config_%D_%T_%o.%s.zip"
+ Device.DeviceInfo.X_SCM_AdjustedBootargs = ""
+ Device.DeviceInfo.DelEndPoint = ""
+ Device.DeviceInfo.X_SCM_BackupSoftwareVersion = "0010@0211"
+ Device.DeviceInfo.ManufacturerOUI = "000E8F"
+ Device.DeviceInfo.X_SCM_CustomizationVersion = ""
+ Device.Services.FAPService.1.Transport.RealTime.Perf.MeanReceiveJitter = 0
+ Device.Services.FAPService.1.Transport.RealTime.Perf.Overruns = 0
+ Device.Services.FAPService.1.Transport.SCTP.Assoc.0.SCTPAssocLocalAddr = ".X_SCM_LocalAddress"
+ Device.Services.FAPService.1.Transport.SCTP.X_SCM_SctpServiceType = 0
+ Device.Services.FAPService.1.Transport.SCTP.OutSCTPPacks = 0
+ Device.Services.FAPService.1.REM.LTE.Cell.0.BCCH.X_SCM_PrachFreqOffset = 0
+ Device.Services.FAPService.1.REM.LTE.Cell.0.BCCH.X_SCM_IsSIb7Decoded = 0
+ Device.Services.FAPService.1.REM.LTE.X_SCM_PTP_Cfg.X_SCM_PTPConfigLoggingLevel = 5
+ Device.Services.FAPService.1.REM.LTE.X_SCM_PTP_Cfg.X_SCM_PTPConfigTunnelRef = "Device.IP.Interface.1."
+ Device.Services.FAPService.1.REM.LTE.X_SCM_PTP_Cfg.X_SCM_PTPConfigTxTimestampTimeout = 20
+ Device.Services.FAPService.1.REM.LTE.X_SCM_EnlargeUlSchAvailPower = "0,0"
+ Device.Services.FAPService.1.REM.LTE.X_SCM_PRACHOptFormatPri = 0
+ Device.Services.FAPService.1.REM.LTE.X_SCM_X2InterfaceConfig = 0
+ Device.Services.FAPService.1.REM.LTE.X_SCM_FrequencyRange = "38850,39350"
+ Device.Services.FAPService.1.REM.LTE.X_SCM_ENBHeNBDistinguishAlg = "BySIB9"
+ Device.Services.FAPService.1.REM.LTE.X_SCM_OTASyncFailureAction = "None"
+ Device.Services.FAPService.1.REM.LTE.X_SCM_ScanUtranRssiThreshold = -105
+ Device.Services.FAPService.1.REM.LTE.X_SCM_ScanEutranMaxTryNum = 2
+ Device.Services.FAPService.1.REM.LTE.X_SCM_SnifferRSRPOffset = "{{40,-50},{42,-33},{43,-33},{48,-33}}"
+ Device.Services.FAPService.1.REM.LTE.PeriodicTime = 0001-01-01T00:00:00Z
+ Device.Services.FAPService.1.REM.X_SCM_tfcsManagerConfig.sampleNumber = 5
+ Device.Services.FAPService.1.REM.X_SCM_tfcsManagerConfig.lastSyncFreqError = 0
+ Device.Services.FAPService.1.REM.X_SCM_tfcsManagerConfig.timeErrLimit = 1000
+ Device.Services.FAPService.1.REM.X_SCM_NlSync.SyncedChanNumber = 0
+ Device.Services.FAPService.1.REM.UMTS.X_SCM_TDSCDMA.Cell.0.X_SCM_RF.0.CI = 0
+ Device.Services.FAPService.1.REM.UMTS.WCDMA.Cell.0.BCCH.CSGID = 0
+ Device.Services.FAPService.1.REM.UMTS.WCDMA.Cell.0.BCCH.PLMNID = ""
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborListInUse2.LTECell.0.PhyCellID = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborListInUse.InterRATCell.CDMA2000.0.Pa = ""
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborListInUse.InterRATCell.UMTS.0.X_SCM_SrcType = ""
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborListInUse.LTECell.0.PhyCellID = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.X_SCM_NR.0.ULNRB = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.X_SCM_NR.0.DLSCS = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.CDMA2000.1.X_SCM_CurrentRank = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.CDMA2000.1.Alias = "cdma2000cell1"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.CDMA2000.0.X_SCM_NeighborCellFlag = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.GSM.0.RimSupport = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.UMTS.0.MustInclude = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.UMTS.0.Enable = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.LTECell.0.X_SCM_SON_DISCOVERED = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.LTECell.0.X_SCM_NR_STATUS = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.LTECell.0.RSTxPower = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.MaxLTECellEntries = 32
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B2MeasureCtrl.2.ReportAmount = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.ReportAmount"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B2MeasureCtrl.1.Hysteresis = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.Hysteresis"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B2MeasureCtrl.1.B2Threshold2UTRARSCP = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B2Threshold2UTRARSCP"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B2MeasureCtrl.0.B2Threshold1EutraRSRP = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B2Threshold1EUTRARSRP"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B1MeasureCtrl.2.Hysteresis = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.Hysteresis"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B1MeasureCtrl.1.B1ThresholdUTRAEcN0 = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B1ThresholdUTRAEcN0"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B1MeasureCtrl.0.B1ThresholdCDMA2000 = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B1ThresholdCDMA2000"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.MaxReportCells = 8
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.X_SCM_B2Threshold2GERANESrvcc = 15
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B2Threshold1EUTRARSRQ = 32
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.QoffsetCDMA2000 = "1"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.X_SCM_CDMAOperateModeType = "Redirect"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.FilterCoefficientUTRA = "4"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.X_SCM_A2ForBlindRedirection.ReportAmount = 4
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.X_SCM_A2ForBlindRedirection.A2ThresholdRSRQ = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.X_SCM_A2ForIRATPS.X_SCM_IRATPSMeasType = "UTRAN"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.X_SCM_A2ForIRATCS.ReportInterval = 480
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.X_SCM_A2ForIRATCS.A2ThresholdRSRP = 25
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.PeriodMeasCtrl.0.MeasurePurpose = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A5MeasureCtrl.1.MeasurePurpose = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A5MeasureCtrl.0.ReportInterval = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.ReportInterval"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A5MeasureCtrl.0.Enable = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A4MeasureCtrl.1.ReportInterval = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.ReportInterval"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A4MeasureCtrl.1.Enable = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A4MeasureCtrl.0.ReportAmount = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.ReportAmount"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A3MeasureCtrl.2.ReportInterval = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.ReportInterval"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A3MeasureCtrl.2.Enable = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A3MeasureCtrl.1.ReportAmount = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.ReportAmount"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A3MeasureCtrl.0.Hysteresis = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.Hysteresis"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A2MeasureCtrl.4.MeasurePurpose = 4
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A2MeasureCtrl.3.ReportInterval = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.ReportInterval"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A2MeasureCtrl.3.A2ThresholdRSRP = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A2ThresholdRSRP"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A2MeasureCtrl.3.Enable = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A2MeasureCtrl.2.ReportAmount = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.ReportAmount"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A2MeasureCtrl.2.A2ThresholdRSRQ = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A2ThresholdRSRQ"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A2MeasureCtrl.1.Hysteresis = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.Hysteresis"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A1MeasureCtrl.3.ReportAmount = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.ReportAmount"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A1MeasureCtrl.2.Hysteresis = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.Hysteresis"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A1MeasureCtrl.0.TriggerQuantity = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.TriggerQuantity"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.MaxA4MeasureCtrlEntries = 16
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.TimeToTrigger = "480"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.X_SCM_EnableUeHistoryInfoPingpong = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.X_SCM_NeighborCIO = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.X_SCM_INTRA_A5Threshold2RSRP = 50
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.X_SCM_INTRA_A5Threshold1RSRQ = 25
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.ReportOnLeave = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.X_SCM_A3TriggerQuantity = "RSRP"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.X_SCM_A2TimeToTrigger = "480"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.CDMA2000.X_SCM_ue_generic_cdma2000_params.X_SCM_reconnect_msg_ind = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.CDMA2000.X_SCM_ue_generic_cdma2000_params.X_SCM_use_sync_id = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.CDMA2000.X_SCM_MOBILITY_SIB_8_PARAMS.PARAME_REG = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.CDMA2000.CDMA2000Band.1.Enable = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.CDMA2000.CDMA2000Band.0.ThreshXHigh = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.CDMA2000.MaxCDMA2000BandEntries = 32
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.GERAN.GERANFreqGroup.0.ThreshXLow = 10
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.GERAN.X_SCM_CellReselectionPriority = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.UTRA.X_SCM_UTRANTDDFreq.0.ThreshXLow = 6
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.UTRA.X_SCM_UTRANTDDFreq.0.QQualMin = "-8"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.InterFreq.Carrier.0.X_SCM_HYBRID_PHY_CELLID_RANGE = "-1"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.InterFreq.Carrier.0.X_SCM_Q_QUAL_MIN_R9 = -30
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.InterFreq.Carrier.0.TReselectionEUTRASFHigh = 100
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.InterFreq.Carrier.0.QRxLevMinSIB5 = "-64"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.InterFreq.X_SCM_NewEutraFreqEnable = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IntraFreq.SIntraSearchQR9 = ".X_SCM_SIntraSearchQRel9"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IntraFreq.SIntraSearch = "22"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IntraFreq.QRxLevMinSIB1 = "-64"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.Common.TEvaluation = 30
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.Common.QHystSFHigh = -4
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.CellRestriction.X_SCM_CongestionCtrl.0.X_SCM_ThresholdUeNum = 21
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.RLC.SRB2.TStatusProhibit = "15"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.RLC.SRB2.PollByte = "125"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_PDCP.X_SCM_ROHC.7.X_SCM_Profiles = "000000010"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_PDCP.X_SCM_ROHC.7.X_SCM_MaxCid = 15
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_PDCP.X_SCM_ROHC.2.X_SCM_QCI = 2
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_PDCP.X_SCM_ROHC.0.X_SCM_ROHCEnabled = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_PDCP.X_SCM_ROHCNumberOfEntries = 9
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.X_SCM_SFR.X_SCM_RNTPReportRequired = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.X_SCM_SFR.X_SCM_CellEdgeStartRb = 25
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.PHRCONFIG.X_SCM_PuschTpcDecCorrectThreshold = -40
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.PHRCONFIG.dlPathlossChange = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.ULSCH.X_SCM_AttachTimer = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.ULSCH.X_SCM_DlThroughputThrd = 5
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileList.9.DRXShortCycleTimer = "4"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileList.8.DRXRetransmissionTimer = "2"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileList.6.ONDurationTimer = ".OnDurationTimer"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileList.4.OnDurationTimer = "10"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileList.3.DRXInactivityTimer = "40"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileList.3.DRXEnabled = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileList.3.QCI = 3
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileList.2.ShortDRXCycle = "32"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileList.0.LongDRXCycle = "640"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_MaxDRXProfileListEntries = 16
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.OnDurationTimer = "10"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.RACH.PreambleTransMax = "20"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.X_SCM_Scheduler.X_SCM_UlSinrFactorAccRate = 820
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.X_SCM_Scheduler.X_SCM_PFS_FairFactor = 2
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.PHY.TDDFrame.SpecialSubframePatterns = 7
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.PHY.PRS.NumConsecutivePRSSubfames = 2
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.PHY.ULPowerControl.PucchPeriTpcTime = 20
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.PHY.ULPowerControl.P0NominalPUSCH = "-90"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.PHY.PUCCH.X_SCM_TddAckNackFdbkMode = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.PHY.PUCCH.K = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.PHY.PRACH.X_SCM_FreqOffsetList = "12,12"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.PHY.PRACH.ZeroCorrelationZoneConfig = "5"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.RF.X_SCM_MaxCarrierEntries = 8
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.RF.X_SCM_TxPowerConfigCompensate = "0"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.RF.X_SCM_FreqBandIndicatorConfigList = "43,43"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.RF.DLBandwidth = "100"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.RF.X_SCM_FreqBandIndicator2 = 43
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_RRM.X_SCM_LoadBalanceUeNum = 22
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_RRM.X_SCM_SRPeriodicity2 = 4
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_RRM.X_SCM_SRPeriodicity = 4
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Common.CellIdentity = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Common.X_SCM_CellNumber = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_X2AP.X2WhiteList.0.PLMNID = "46000"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_X2AP.X2BlackListNumberOfEntries = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_X2AP.X_SCM_TRelocOverall = 5000
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.QoS.7.Priority = 7
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.QoS.5.DSCP = 46
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.QoS.5.PacketDelayBudget = 100
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.QoS.5.Type = "Non-GBR"
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.QoS.4.VLANTag = 0
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.QoS.3.Alias = "-"
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.QoS.2.QCI = 2
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.QoS.0.Enable = 0
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.PLMNList.1.X_SCM_DEDICATED_PLMN_BEARER_RESOURCES = 0
+ Device.Services.FAPService.1.CellConfig.LTE.MmePoolConfigParam.0.MMEIp2 = "Device.Services.FAPService.1.FAPControl.LTE.Gateway.S1SigLinkServerList"
+ Device.Services.FAPService.1.CellConfig.LTE.X_SCM_ULTRASON_CONFIG.TPMConfig.TPMDRamp = 3
+ Device.Services.FAPService.1.CellConfig.LTE.MmePoolConfigParamNumberOfEntries = 0
+ Device.Services.FAPService.1.AccessMgmt.X_SCM_TDSCDMA.LocalIPAccess.RulesNumberOfEntries = 1
+ Device.Services.FAPService.1.AccessMgmt.LTE.X_SCM_EmergencyServicePriorityLevel = 1
+ Device.Services.FAPService.1.AccessMgmt.LTE.X_SCM_ActiveMaxUeNum = 22
+ Device.Services.FAPService.1.AccessMgmt.LTE.X_SCM_MinUEReserved = 4
+ Device.Services.FAPService.1.AccessMgmt.LTE.X_SCM_HandoverAdmissionThresholdPRBUsage = -1
+ Device.Services.FAPService.1.AccessMgmt.LTE.X_SCM_MaxUEsConnected = 6
+ Device.Services.FAPService.1.AccessMgmt.LTE.AccessMode = "Open Access"
+ Device.Services.FAPService.1.AccessMgmt.LTE.X_SCM_RejectUEMethod = "RelWhenGetIMSI"
+ Device.Services.FAPService.1.FAPControl.X_SCM_TDSCDMA.AdminState = 1
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_X2AP.X_SCM_X2DormantNeighborDetectTimer = 0
+ Device.Services.FAPService.1.FAPControl.LTE.Gateway.PreSecGW3ServerList.4.SecGWServer3Ip = "2600:0000:cf04:2c41:10:158:152:180"
+ Device.Services.FAPService.1.FAPControl.LTE.Gateway.AGServerIp2 = ""
+ Device.Services.FAPService.1.FAPControl.LTE.Gateway.S1SigLinkPort = 36412
+ Device.Services.FAPService.1.FAPControl.LTE.Gateway.SecGWServer2 = ""
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_CRAN.Sector.0.State = "Unknown"
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_CRAN.MaxSysmgrHBRetransmits = 0
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_CRAN.BBUAddress = ""
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_CRAN.CUManageAddress = ""
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_SceneManagement.LTEIntra.X_SCM_DenseCellNum = 2
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_SceneManagement.Scene3NumberOfEntries = 0
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_SceneManagement.X_SCM_IdentifySceneInuse = ""
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_CoverageMeasurement.X_SCM_ReportInterval = 240
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_CoverageMeasurement.X_SCM_EdgeArea_OverCoverage_ThresholdRSRQ = 19
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_CoverageMeasurement.X_SCM_CoverageMeasurementEnable = 1
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_MRO.DeltaHFRMargin = 1
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_MRO.X_SCM_PingPongTimer = 20
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_MPOCtrlList.MaxMPOCtrlEntries = 16
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_FixCpeTACEnable = 0
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_RICIP = ""
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_TxPACurrentLowThreshold = 0
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_TptOptSwitch = 0
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_MaxRlcAmdSduQueueSize = 2048
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_QCIDSCPMap = "{152,120,104,72,180,44,12,4,4}"
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_UlEnableTime = 1
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_MeasureConfigENodeB = 1
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_MaxExpiry = 10
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_ForceCntrlSrbBoOnPCell = 0
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_ScellAddThreshold = 35
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_WIRESHARK.X_SCM_EnableGtpWireshark = 0
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SAS.CertSubject = "/C=TW/O=Sercomm/OU=WInnForum CBSD Certificate/CN=P27-SCE4255W:2009CW5000019"
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SAS.EarfcnSelectMethod = 1
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SAS.MaxRequestTime = 30
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SAS.GrantExpireTime = 0001-01-01T00:00:00Z
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SAS.Registered = 1
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_CMP.Config.0.CertEncodeMethod = "V_ASN1_APP_CHOOSE"
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_CMP.Config.0.Path = ""
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_CMP.Config.0.FQDN = ""
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_CMP.X_SCM_KUR_Enable = 0
+ Device.Services.FAPService.1.FAPControl.LTE.SelfConfig.SONConfigParam.MROEnable = "Device.PeriodicStatistics.SampleSet.3.Enable"
+ Device.Services.FAPService.1.FAPControl.LTE.SelfConfig.SONConfigParam.GERANSnifferChannelList = "Device.Services.FAPService.1.REM.UMTS.GSM.ARFCNList"
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_HWEnableEnbAlg = "0x00000000"
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_TCPMssFixForIpv6 = 1300
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_S1State = 0
+ Device.Services.FAPService.1.FAPControl.LTE.RFTxStatus = 0
+ Device.Services.FAPService.1.FAPControl.X_SCM_LWM2M.X_SCM_RelayManagement.X_SCM_BackhaulPrimaryqOffsetFreq = 0
+ Device.Services.FAPService.1.FAPControl.X_SCM_LWM2M.X_SCM_Server.1.X_SCM_Lifetime = 60
+ Device.Services.FAPService.1.FAPControl.X_SCM_LWM2M.X_SCM_Security.1.X_SCM_ClientHoldOffTime = 5
+ Device.Services.FAPService.1.FAPControl.X_SCM_LWM2M.X_SCM_Security.1.X_SCM_ShortServerID = 1
+ Device.Services.FAPService.1.FAPControl.X_SCM_LWM2M.X_SCM_Security.0.X_SCM_SecretKey = ""
+ Device.Services.FAPService.1.FAPControl.X_SCM_LWM2M.X_SCM_LocalPort = 56830
+ Device.Services.FAPService.1.FAPControl.X2IpAddrMapInfo.0.SubnetMask = ""
+ Device.Services.FAPService.1.FAPControl.X_SCM_Action_Reboot = 0
+ Device.LogMgmt.Password = "Device.DeviceInfo.VendorLogFile.1.X_SCM_LogControl.X_SCM_Password"
+ Device.LogMgmt.PeriodicUploadEnable = "Device.DeviceInfo.VendorLogFile.1.X_SCM_LogControl.X_SCM_PeriodicUploadEnable"
+ Device.IPsec.IKEv2SupportedEncryptionAlgorithms = "DES,3DES,BLOWFISH,AES-CBC"
+ Device.FaultMgmt.HistoryEvent.2.ProbableCause = "Remote file server is not reachable"
+ Device.FaultMgmt.ExpeditedEvent.2.ProbableCause = "Remote file server is not reachable"
+ Device.FaultMgmt.HistoryEvent.1.AdditionalInformation = ""
+ Device.FaultMgmt.HistoryEvent.1.ManagedObjectInstance = "Device.Service.FAPService.1."
+ Device.FaultMgmt.HistoryEvent.1.SerialNumber = "Device.DeviceInfo.SerialNumber"
+ Device.FaultMgmt.ExpeditedEvent.1.AdditionalInformation = ""
+ Device.FaultMgmt.ExpeditedEvent.1.ManagedObjectInstance = "Device.Service.FAPService.1."
+ Device.FaultMgmt.ExpeditedEvent.1.SerialNumber = "Device.DeviceInfo.SerialNumber"
+ Device.Security.Certificate.3.X_SCM_CMPServerRef = ""
+ Device.Security.Certificate.3.Issuer = "/C=FI/O=Insta/OU=RSA Professional Installer CA 0002/CN=WInnForum RSA Professional Installer CA"
+ Device.Security.Certificate.3.SerialNumber = "8670C2"
+ Device.Security.Certificate.1.X_SCM_KeyName = "priv.key"
+ Device.X_SCM_DeviceFeature.X_SCM_Troubleshooting.Info.0.Value = ""
+ Device.X_SCM_DeviceFeature.X_SCM_LED.X_SCM_LED_INFO_Red_Status = ""
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_Netconf.X_SCM_NotificationControl.0.X_SCM_NotificationReportingMechanism = "Expedited"
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_Feature_Control.X_SCM_AESSupport = 1
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.12.X_SCM_AppStateValidationTimes = 1
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.12.X_SCM_AppCrashCountMax = 10
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.8.X_SCM_AppName = "linkstatd"
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.6.X_SCM_AppCrashMaxAction = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.6.X_SCM_AppUploadErrLogControl = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.3.X_SCM_AppDownActionMask = 1
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.2.X_SCM_AppTimeoutToRunningAction = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.2.X_SCM_AppEnableCheck = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.1.X_SCM_AppStateValidationTimes = 3
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.1.X_SCM_AppCrashCountMax = 10
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_TraceDump.X_SCM_CoreDumpLog = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_TraceDump.X_SCM_Mode = "Open"
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.UserAccount.5.UserLevel = 1
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.UserAccount.4.UserName = "debug"
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.UserAccount.1.UserType = 1
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.PnPFailureTimes = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_LibscIDCTransferOption = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_HMParaCommitInterval = 600
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_StatusParaSyncInterval1 = 3
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_CwmpConfigUploadOption = 1
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_CPUCheckPeriod = 3
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_CrondCheckMainProcessInterval = 5
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_BandwidthAlarmPercent = 90
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_UsimGetImsiInterval = 10
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_TCPFlowControlAlgorithm = 1
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.MaxUserAccountEntries = 16
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RcRebootAppStateReqRetryTime = 1800000
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_FakeTrue = 1
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_CwmpTriggerProvisioningEnable = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_CwmpStatus = "2"
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_CwmpDownfile = ""
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_LibscAuthCkey = ""
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_UploadLogType = 3
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.16.CrashAction = "100_REBOOT_SERVICE"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.16.Dependency = "wan,ntp"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.15.Status = "disabled"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.14.Name = "sysmgr"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.12.CrashMaxAction = "100_REBOOT_SERVICE"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.8.Alias = "rc_sasd"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.6.CrashCountMax = 10
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.5.CrashAction = "100_REBOOT_SERVICE"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.5.Dependency = "wan,ipsec"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.4.Status = "unsatisfied"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.3.Name = "ntp"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.1.CrashMaxAction = "200_REBOOT_SYSTEM"
+ Device.X_SCM_DeviceFeature.X_SCM_WebServerAuth = ""
+ Device.X_SCM_DeviceFeature.X_SCM_RemoteLogServerType = 4
+ Device.FAP.X_SCM_PLCMgmt.Encryption_Configuration.Profile_ID = ""
+ Device.FAP.MRMgmt.Config.1.SubFrameNum = ""
+ Device.FAP.MRMgmt.Config.1.MrUsername = "Device.FAP.X_SCM_MrMgmt.Config.1.Username"
+ Device.FAP.PerfMgmt.Config.1.PeriodicUploadInterval = 900
+ Device.FAP.PerfMgmt.Config.1.DstUseGMTEnable = 0
+ Device.FAP.Tunnel.IKESA.0.SubnetMask = ""
+ Device.FAP.Tunnel.CryptoProfile.1.ESPEncrypt = "AES-CBC"
+ Device.FAP.Tunnel.CryptoProfile.1.Enable = 0
+ Device.FAP.Tunnel.MaxIKESessions = 0
+ Device.FAP.Tunnel.MaxChildSAEntries = 65535
+ Device.FAP.GPS.LockedLatitude = 0
+ Device.FAP.GPS.LastScanTime = 2021-10-15T09:54:32Z
+ Device.FAP.GPS.ErrorDetails = ""
+ Device.FAP.GPS.ScanTimeout = 90
+ Device.FAP.GPS.PeriodicInterval = 0
+ Device.FAP.GPS.ScanOnBoot = 1
+ Device.FAP.X_SCM_EM.X_SCM_MACInReal = ""
+ Device.Security.X_SCM_IPsec.X_SCM_CRL.X_SCM_Password = ""
+ Device.Security.X_SCM_IPsec.X_SCM_Ipsecconf.X_SCM_Connection.0.X_SCM_Fragmentation = "yes"
+ Device.Security.X_SCM_IPsec.X_SCM_Ipsecconf.X_SCM_Connection.0.X_SCM_Mobike = "yes"
+ Device.Security.X_SCM_IPsec.X_SCM_Ipsecconf.X_SCM_Connection.0.X_SCM_Auto = ""
+ Device.Security.X_SCM_IPsec.X_SCM_Ipsecconf.X_SCM_Connection.0.X_SCM_Leftauth = ""
+ Device.Security.X_SCM_IPsec.X_SCM_Ipsecconf.X_SCM_Connection.0.X_SCM_Leftsourceip = ""
+ Device.Security.X_SCM_IPsec.X_SCM_Strongswanconf.X_SCM_Charon_install_routes = "yes"
+ Device.Security.CertificateNumberOfEntries = 3
+ Device.FaultMgmt.QueuedEvent.0.NotificationType = ""
+ Device.FaultMgmt.QueuedEvent.0.EventTime = 0001-01-01T00:00:00Z
+ Device.FaultMgmt.CurrentAlarm.0.EventType = ""
+ Device.FaultMgmt.CurrentAlarm.0.AlarmRaisedTime = 0001-01-01T00:00:00Z
+ Device.FaultMgmt.SupportedAlarm.93.X_SCM_AlarmIdentifier = "11223"
+ Device.FaultMgmt.SupportedAlarm.91.SpecificProblem = "MEMORY utilization exceeds threshold 2(80%)."
+ Device.FaultMgmt.SupportedAlarm.90.PerceivedSeverity = "Minor"
+ Device.FaultMgmt.SupportedAlarm.88.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.87.EventType = "Processing Error Alarm"
+ Device.FaultMgmt.SupportedAlarm.85.ProbableCause = "CPU utilization exceeds threshold 4."
+ Device.FaultMgmt.SupportedAlarm.84.X_SCM_AlarmIdentifier = "11214"
+ Device.FaultMgmt.SupportedAlarm.82.SpecificProblem = "CPU utilization exceeds threshold 1(60%)."
+ Device.FaultMgmt.SupportedAlarm.81.PerceivedSeverity = "Critical"
+ Device.FaultMgmt.SupportedAlarm.80.X_SCM_RaiseNum = 0
+ Device.FaultMgmt.SupportedAlarm.79.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.78.EventType = "Communications Alarm"
+ Device.FaultMgmt.SupportedAlarm.76.ProbableCause = "Remote file server is not reachable"
+ Device.FaultMgmt.SupportedAlarm.75.X_SCM_AlarmIdentifier = "11205"
+ Device.FaultMgmt.SupportedAlarm.73.SpecificProblem = "RF Critical Temperature Reached"
+ Device.FaultMgmt.SupportedAlarm.72.PerceivedSeverity = "Warning"
+ Device.FaultMgmt.SupportedAlarm.69.EventType = "Equipment Alarm"
+ Device.FaultMgmt.SupportedAlarm.67.ProbableCause = "Cell Unavailable:Try RRC KPI Self Healing"
+ Device.FaultMgmt.SupportedAlarm.66.X_SCM_AlarmIdentifier = "11194"
+ Device.FaultMgmt.SupportedAlarm.64.SpecificProblem = "Invalid Cell Configuration"
+ Device.FaultMgmt.SupportedAlarm.63.PerceivedSeverity = "Major"
+ Device.FaultMgmt.SupportedAlarm.62.X_SCM_RaiseNum = 0
+ Device.FaultMgmt.SupportedAlarm.60.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.58.ProbableCause = "Certificates Damaged"
+ Device.FaultMgmt.SupportedAlarm.57.X_SCM_AlarmIdentifier = "11183"
+ Device.FaultMgmt.SupportedAlarm.55.SpecificProblem = "VLAN No IP Address"
+ Device.FaultMgmt.SupportedAlarm.54.PerceivedSeverity = "Warning"
+ Device.FaultMgmt.SupportedAlarm.53.X_SCM_RaiseNum = 0
+ Device.FaultMgmt.SupportedAlarm.51.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.50.EventType = "Equipment Alarm"
+ Device.FaultMgmt.SupportedAlarm.49.ProbableCause = "Peer TDS Cell Offline"
+ Device.FaultMgmt.SupportedAlarm.48.X_SCM_AlarmIdentifier = "11124"
+ Device.FaultMgmt.SupportedAlarm.46.SpecificProblem = "Femto Cell Reselection Priority Low In Macro SIB5"
+ Device.FaultMgmt.SupportedAlarm.45.PerceivedSeverity = "Critical"
+ Device.FaultMgmt.SupportedAlarm.44.X_SCM_RaiseNum = 0
+ Device.FaultMgmt.SupportedAlarm.42.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.41.EventType = "Equipment Alarm"
+ Device.FaultMgmt.SupportedAlarm.39.X_SCM_AlarmIdentifier = "18"
+ Device.FaultMgmt.SupportedAlarm.37.SpecificProblem = "TrE Check Failure"
+ Device.FaultMgmt.SupportedAlarm.36.PerceivedSeverity = "Warning"
+ Device.FaultMgmt.SupportedAlarm.35.X_SCM_RaiseNum = 0
+ Device.FaultMgmt.SupportedAlarm.33.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.32.EventType = "Communications Alarm"
+ Device.FaultMgmt.SupportedAlarm.30.ProbableCause = "1588 Sync Fail"
+ Device.FaultMgmt.SupportedAlarm.28.SpecificProblem = "Stack Crash"
+ Device.FaultMgmt.SupportedAlarm.27.PerceivedSeverity = "Major"
+ Device.FaultMgmt.SupportedAlarm.26.X_SCM_RaiseNum = 0
+ Device.FaultMgmt.SupportedAlarm.24.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.23.EventType = "Processing Error Alarm"
+ Device.FaultMgmt.SupportedAlarm.21.ProbableCause = "No Connection With SeGW"
+ Device.FaultMgmt.SupportedAlarm.20.X_SCM_AlarmIdentifier = "11147"
+ Device.FaultMgmt.SupportedAlarm.19.SpecificProblem = "CPU Usage Overload"
+ Device.FaultMgmt.SupportedAlarm.18.PerceivedSeverity = "Warning"
+ Device.FaultMgmt.SupportedAlarm.17.X_SCM_RaiseNum = 0
+ Device.FaultMgmt.SupportedAlarm.15.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.14.EventType = "Communications Alarm"
+ Device.FaultMgmt.SupportedAlarm.12.ProbableCause = "Throughput High"
+ Device.FaultMgmt.SupportedAlarm.11.X_SCM_AlarmIdentifier = "77"
+ Device.FaultMgmt.SupportedAlarm.8.SpecificProblem = "Base Band Crashed"
+ Device.FaultMgmt.SupportedAlarm.7.PerceivedSeverity = "Critical"
+ Device.FaultMgmt.SupportedAlarm.6.X_SCM_RaiseNum = 0
+ Device.FaultMgmt.SupportedAlarm.4.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.3.EventType = "Environmental Alarm"
+ Device.FaultMgmt.SupportedAlarm.1.ProbableCause = "Real Time Clock Failure"
+ Device.FaultMgmt.SupportedAlarm.0.X_SCM_AlarmIdentifier = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.51.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.50.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.50.Alias = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.50.X_SCM_Name = "MR.TdsPccpchRSCP"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.48.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.48.Enable = 1
+ Device.PeriodicStatistics.SampleSet.3.Parameter.47.Values = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.42.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.41.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.41.Alias = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.41.X_SCM_Name = "MR.LteSceNBRxTxTimeDiff"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.40.Reference = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.39.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.39.Enable = 1
+ Device.PeriodicStatistics.SampleSet.3.Parameter.38.Values = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.33.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.32.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.32.Alias = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.32.X_SCM_Name = "MR.LteScRIP"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.31.Reference = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.29.Values = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.24.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.23.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.23.Alias = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.23.X_SCM_Name = "MR.SinrULRip"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.22.Reference = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.20.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.20.Enable = 1
+ Device.PeriodicStatistics.SampleSet.3.Parameter.15.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.14.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.14.Alias = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.14.X_SCM_Name = "MR.TadvRsrp"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.13.Reference = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.11.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.11.Enable = 1
+ Device.PeriodicStatistics.SampleSet.3.Parameter.10.Values = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.9.Values = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.4.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.3.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.3.Alias = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.3.X_SCM_Name = "MR.Tadv"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.2.Reference = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.0.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.0.Enable = 0
+ Device.PeriodicStatistics.SampleSet.2.Parameter.206.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.206.Alias = "CSFBRBFail"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.206.X_SCM_Name = "CC.FailCalls.Csfb.RbFail"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.205.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.203.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.203.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.202.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.199.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.198.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.198.Alias = "CRNbrCfgBruDl"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.198.X_SCM_Name = "TCR.DLCodeCfg"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.197.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.195.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.195.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.194.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.189.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.189.Alias = "PdpFail_RadioBearer_Setup_Fail"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.189.X_SCM_Name = "SM.FailEstabPS.RbSetupFail"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.188.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.186.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.186.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.185.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.180.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.179.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.177.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.177.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.176.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.171.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.170.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.170.Alias = "NAS_ActivatePDPContextReqPerTraffic_Intact"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.170.X_SCM_Name = "SM.AttActPdpContext.Interactive"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.168.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.168.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.167.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.162.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.161.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.161.Alias = "NAS_UlConnectAck_Conv_AMR"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.161.X_SCM_Name = "CC.AnswIncVoiceCalls"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.160.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.159.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.159.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.158.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.153.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.152.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.152.Alias = "RrcConnSetupTimeout"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.152.X_SCM_Name = "RRC.FailConnEstab.NoReply"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.151.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.149.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.144.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.143.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.143.Alias = "RrcConnSetupCompOriginatingLowPrioritySignalling"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.143.X_SCM_Name = "RRC.SuccConnEstab.OriginatingLowPrioritySignalling"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.142.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.140.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.140.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.135.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.134.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.134.Alias = "RrcConnSetupCompTerminatingStreamingCall"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.134.X_SCM_Name = "RRC.SuccConnEstab.TerminatingStreamingCall"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.133.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.131.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.131.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.130.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.126.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.125.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.125.Alias = "RrcConnReqTerminatingCauseUnknown"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.125.X_SCM_Name = "RRC.AttConnEstab.TerminatingCauseUnknown"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.124.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.122.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.122.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.121.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.117.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.116.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.116.Alias = "RrcConnReqInterRAT_CellReselection"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.116.X_SCM_Name = "RRC.AttConnEstab.InterRAT_CellReselection"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.115.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.113.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.113.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.112.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.108.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.107.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.107.Alias = "RrcConnReqOriginatingStreamingCall "
+ Device.PeriodicStatistics.SampleSet.2.Parameter.107.X_SCM_Name = "RRC.AttConnEstab.OriginatingStreamingCall"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.106.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.104.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.104.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.103.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.98.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.97.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.97.Alias = "CsRevUpTransportBlockErrNum"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.97.X_SCM_Name = "FP.NbrErrBlocksReceivedCS"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.96.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.94.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.94.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.93.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.89.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.88.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.88.Alias = "RanapRabAssReqRecv"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.88.X_SCM_Name = "RAB.AttEstab"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.87.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.85.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.85.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.84.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.79.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.79.Alias = "SctpAssoc_Abort_ERROR_UNRECOG_PAR"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.79.X_SCM_Name = "IUH.SctpAbort.ParameterUnrecognized"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.78.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.76.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.76.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.75.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.70.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.69.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.67.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.67.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.66.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.61.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.60.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.60.Alias = "VoiceHandoverHnbToUmtsFailNum"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.60.X_SCM_Name = "RELOC.FailUEInvolVoice"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.58.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.58.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.57.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.52.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.51.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.51.Alias = "upTrafficOf128KInRlc"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.51.X_SCM_Name = "RLC.NumUserBits.PS128UL"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.50.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.49.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.49.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.48.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.43.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.42.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.42.Alias = "PS_DCHFail_RAB_RbSetupTimeout"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.42.X_SCM_Name = "RAB.FailEstabPS.RbSetupTimeout"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.41.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.39.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.34.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.33.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.33.Alias = "HsdpaFail_RAB_RbSetupFailed"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.33.X_SCM_Name = "RAB.FailEstabHSDPA.RbSetupFail"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.32.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.30.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.30.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.25.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.24.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.24.Alias = "VideoCallFail_RLCMAC_Failed"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.24.X_SCM_Name = "RAB.FailEstabVideo.RlcMacFail"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.23.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.21.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.21.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.20.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.16.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.15.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.15.Alias = "VoiceCallbFail_IUUPRTP_Failed"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.15.X_SCM_Name = "RAB.FailEstabVoice.IuupRtpFail"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.14.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.12.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.12.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.11.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.5.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.4.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.4.Alias = "Iscp0To20"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.4.X_SCM_Name = "CARR.ISCP.0to20"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.3.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.1.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.1.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.0.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Enable = 0
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2190.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2189.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2187.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2187.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2186.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2181.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2180.Alias2 = "ERAB.AbnormalErabRelease.2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2180.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2180.X_SCM_Name = "ERAB.AbnormalErabRelease.QCI.2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2178.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2178.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2177.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2172.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2171.Alias2 = "RRC.ConnEstabTimeMax.PLMN.2.Emergency"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2171.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2171.X_SCM_Name = "RRC.ConnEstabTimeMax.PLMN.2.Cause.Emergency"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2170.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2169.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2169.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2168.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2163.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2162.Alias2 = "RRC.ConnEstabTimeMean.PLMN.2.Spare1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2162.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2162.X_SCM_Name = "RRC.ConnEstabTimeMean.PLMN.2.Cause.Spare1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2161.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2159.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2154.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2153.Alias2 = "RRC.ConnEstabTimeMean.PLMN.1.Spare2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2153.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2153.X_SCM_Name = "RRC.ConnEstabTimeMean.PLMN.1.Cause.Spare2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2152.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2150.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2150.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2145.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2144.Alias2 = "RRC.ConnEstabSuccPLMN.2.Sum"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2144.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2144.X_SCM_Name = "RRC.ConnEstabSuccPLMN.2.Sum"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2143.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2141.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2141.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2140.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2136.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2135.Alias2 = "RRC.ConnEstabSuccPLMN.1.Sum"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2135.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2135.X_SCM_Name = "RRC.ConnEstabSuccPLMN.1.Sum"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2134.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2132.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2132.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2131.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2127.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2126.Alias2 = "RRC.ConnEstabAttPLMN.2.Sum"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2126.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2126.X_SCM_Name = "RRC.ConnEstabAttPLMN.2.Sum"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2125.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2123.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2123.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2122.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2118.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2117.Alias2 = "RRC.ConnEstabAttPLMN.1.Sum"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2117.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2117.X_SCM_Name = "RRC.ConnEstabAttPLMN.1.Sum"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2116.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2114.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2114.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2113.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2109.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2108.Alias2 = "S1SIG.ConnEstabSucc.Spare1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2108.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2108.X_SCM_Name = "S1SIG.ConnEstabSucc.Spare1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2107.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2105.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2105.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2104.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2099.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2097.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2097.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2096.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2091.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2090.Alias2 = "Dev.eNB.PrachFreqOffInUse"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2090.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2090.X_SCM_Name = "Dev.eNB.PrachFreqOffInUse"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2088.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2088.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2087.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2082.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2081.Alias2 = "Dev.eNB.PLMN"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2081.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2081.X_SCM_Name = "Dev.eNB.PLMN"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2080.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2079.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2079.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2078.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2073.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2072.Alias2 = "HO.IartOutSucc.Protocol.FalselyConstructedMessage"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2072.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2072.X_SCM_Name = "HO.IartOutSucc.Cause.Protocol.FalselyConstructedMessage"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2071.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2069.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2064.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2063.Alias2 = "HO.IartOutSucc.Nas.AuthenticationFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2063.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2063.X_SCM_Name = "HO.IartOutSucc.Cause.Nas.AuthenticationFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2062.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2060.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2060.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2055.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2054.Alias2 = "HO.IartOutSucc.RadioNetwork.S1IntraSystemHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2054.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2054.X_SCM_Name = "HO.IartOutSucc.Cause.RadioNetwork.S1IntraSystemHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2053.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2051.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2051.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2050.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2046.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2045.Alias2 = "HO.IartOutSucc.RadioNetwork.UENotAvailableforPS"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2045.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2045.X_SCM_Name = "HO.IartOutSucc.Cause.RadioNetwork.UENotAvailableforPS"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2044.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2042.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2042.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2041.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2037.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2036.Alias2 = "HO.IartOutSucc.RadioNetwork.UES1APIDPairError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2036.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2036.X_SCM_Name = "HO.IartOutSucc.Cause.RadioNetwork.UES1APIDPairError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2035.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2033.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2033.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2032.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2028.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2027.Alias2 = "HO.IartOutSucc.RadioNetwork.HOFailureInTarget"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2027.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2027.X_SCM_Name = "HO.IartOutSucc.Cause.RadioNetwork.HOFailureInTarget"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2026.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2024.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2024.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2023.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2019.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2018.Alias2 = "HO.IartOutAtt.Misc.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2018.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2018.X_SCM_Name = "HO.IartOutAtt.Cause.Misc.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2017.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2015.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2015.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2014.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2009.Alias2 = "HO.IartOutAtt.Protocol.IgnoreAndNotify"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2009.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2009.X_SCM_Name = "HO.IartOutAtt.Cause.Protocol.IgnoreAndNotify"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2008.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2006.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2006.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2005.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2000.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1999.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1999.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1998.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1993.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1992.Alias2 = "HO.IartOutAtt.RadioNetwork.MultipleERABID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1992.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1992.X_SCM_Name = "HO.IartOutAtt.Cause.RadioNetwork.MultipleERABID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1991.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1989.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1984.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1983.Alias2 = "HO.IartOutAtt.RadioNetwork.TAULoadBalancing"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1983.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1983.X_SCM_Name = "HO.IartOutAtt.Cause.RadioNetwork.TAULoadBalancing"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1982.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1980.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1980.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1975.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1974.Alias2 = "HO.IartOutAtt.RadioNetwork.MMEUES1APIDError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1974.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1974.X_SCM_Name = "HO.IartOutAtt.Cause.RadioNetwork.MMEUES1APIDError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1973.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1971.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1971.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1970.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1966.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1965.Alias2 = "HO.IartOutAtt.RadioNetwork.HOCancel"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1965.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1965.X_SCM_Name = "HO.IartOutAtt.Cause.RadioNetwork.HOCancel"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1964.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1962.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1962.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1961.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1957.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1956.Alias2 = "HO.OutSuccTarget.Misc.HardwareFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1956.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1956.X_SCM_Name = "HO.OutSuccTarget.Cause.Misc.HardwareFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1955.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1953.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1953.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1952.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1948.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1947.Alias2 = "HO.OutSuccTarget.Protocol.TransferSyntaxError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1947.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1947.X_SCM_Name = "HO.OutSuccTarget.Cause.Protocol.TransferSyntaxError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1946.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1944.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1944.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1943.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1939.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1938.Alias2 = "HO.OutSuccTarget.RadioNetwork.ErrorQCI"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1938.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1938.X_SCM_Name = "HO.OutSuccTarget.Cause.RadioNetwork.ErrorQCI"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1937.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1935.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1935.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1934.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1929.Alias2 = "HO.OutSuccTarget.RadioNetwork.IRATRedirection"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1929.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1929.X_SCM_Name = "HO.OutSuccTarget.Cause.RadioNetwork.IRATRedirection"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1928.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1926.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1926.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1925.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1920.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1919.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1917.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1917.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1916.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1911.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1910.Alias2 = "HO.OutSuccTarget.RadioNetwork.TS1RELOCprep"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1910.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1910.X_SCM_Name = "HO.OutSuccTarget.Cause.RadioNetwork.TS1RELOCprep"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1908.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1908.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1907.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1902.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1901.Alias2 = "HO.OutSuccTarget.RadioNetwork.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1901.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1901.X_SCM_Name = "HO.OutSuccTarget.Cause.RadioNetwork.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1900.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1899.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1894.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1893.Alias2 = "HO.OutAttTarget.Protocol.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1893.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1893.X_SCM_Name = "HO.OutAttTarget.Cause.Protocol.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1892.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1890.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1890.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1885.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1884.Alias2 = "HO.OutAttTarget.Nas.Detach"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1884.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1884.X_SCM_Name = "HO.OutAttTarget.Cause.Nas.Detach"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1883.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1881.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1881.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1880.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1876.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1875.Alias2 = "HO.OutAttTarget.RadioNetwork.S1InterSystemHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1875.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1875.X_SCM_Name = "HO.OutAttTarget.Cause.RadioNetwork.S1InterSystemHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1874.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1872.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1872.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1871.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1867.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1866.Alias2 = "HO.OutAttTarget.RadioNetwork.RadioResourcesUnavailable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1866.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1866.X_SCM_Name = "HO.OutAttTarget.Cause.RadioNetwork.RadioResourcesUnavailable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1865.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1863.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1863.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1862.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1858.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1857.Alias2 = "HO.OutAttTarget.RadioNetwork.HODesirable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1857.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1857.X_SCM_Name = "HO.OutAttTarget.Cause.RadioNetwork.HODesirable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1856.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1854.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1854.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1853.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1849.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1848.Alias2 = "HO.OutAttTarget.RadioNetwork.HOTargetNotAllowed"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1848.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1848.X_SCM_Name = "HO.OutAttTarget.Cause.RadioNetwork.HOTargetNotAllowed"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1847.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1845.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1845.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1844.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1839.Alias2 = "RRU.PrbUl.8"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1839.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1839.X_SCM_Name = "RRU.PrbUl.QCI.8"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1838.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1836.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1836.Enable = 0
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1835.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1830.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1829.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1827.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1827.Enable = 0
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1826.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1821.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1820.Alias2 = "DRB.IPThpUl.9"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1820.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1820.X_SCM_Name = "DRB.IPThpUl.QCI.9"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1818.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1818.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1817.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1812.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1811.Alias2 = "DRB.IpLateDl.9"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1811.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1811.X_SCM_Name = "DRB.IpLateDl.QCI.9"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1810.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1809.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1809.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1808.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1803.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1802.Alias2 = "DRB.UEActiveUlSum"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1802.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1802.X_SCM_Name = "DRB.UEActiveUlSum"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1801.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1795.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1794.Alias2 = "DRB.UEActiveUl.2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1794.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1794.X_SCM_Name = "DRB.UEActiveUl.QCI.2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1793.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1791.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1791.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1790.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1786.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1785.Alias2 = "DRB.UEActiveDl.3"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1785.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1785.X_SCM_Name = "DRB.UEActiveDl.QCI.3"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1784.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1782.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1782.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1781.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1777.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1776.Alias2 = "HO.InterFreqMeasGapOutSucc"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1776.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1776.X_SCM_Name = "HO.InterFreqMeasGapOutSucc"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1775.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1773.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1773.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1772.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1768.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1767.Alias2 = "HO.InterEnbOutSucc.Misc.ControlProcessingOverload"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1767.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1767.X_SCM_Name = "HO.InterEnbOutSucc.Cause.Misc.ControlProcessingOverload"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1766.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1764.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1764.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1763.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1759.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1758.Alias2 = "HO.InterEnbOutSucc.Nas.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1758.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1758.X_SCM_Name = "HO.InterEnbOutSucc.Cause.Nas.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1757.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1755.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1755.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1754.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1749.Alias2 = "HO.InterEnbOutSucc.RadioNetwork.X2HO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1749.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1749.X_SCM_Name = "HO.InterEnbOutSucc.Cause.RadioNetwork.X2HO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1748.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1746.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1746.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1745.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1740.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1739.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1737.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1737.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1736.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1731.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1730.Alias2 = "HO.InterEnbOutSucc.RadioNetwork.HODesirable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1730.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1730.X_SCM_Name = "HO.InterEnbOutSucc.Cause.RadioNetwork.HODesirable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1728.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1728.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1727.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1722.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1721.Alias2 = "HO.InterEnbOutSucc.RadioNetwork.HOTargetNotAllowed"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1721.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1721.X_SCM_Name = "HO.InterEnbOutSucc.Cause.RadioNetwork.HOTargetNotAllowed"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1720.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1719.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1719.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1718.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1713.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1712.Alias2 = "HO.InterEnbOutAtt.Misc.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1712.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1712.X_SCM_Name = "HO.InterEnbOutAtt.Cause.Misc.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1711.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1709.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1704.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1703.Alias2 = "HO.InterEnbOutAtt.Protocol.IgnoreAndNotify"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1703.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1703.X_SCM_Name = "HO.InterEnbOutAtt.Cause.Protocol.IgnoreAndNotify"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1702.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1700.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1700.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1696.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1695.Alias2 = "HO.InterEnbOutAtt.Transport.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1695.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1695.X_SCM_Name = "HO.InterEnbOutAtt.Cause.Transport.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1694.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1692.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1692.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1691.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1687.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1686.Alias2 = "HO.InterEnbOutAtt.RadioNetwork.MultipleERABID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1686.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1686.X_SCM_Name = "HO.InterEnbOutAtt.Cause.RadioNetwork.MultipleERABID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1685.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1683.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1683.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1682.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1678.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1677.Alias2 = "HO.InterEnbOutAtt.RadioNetwork.TAULoadBalancing"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1677.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1677.X_SCM_Name = "HO.InterEnbOutAtt.Cause.RadioNetwork.TAULoadBalancing"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1676.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1674.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1674.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1673.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1669.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1668.Alias2 = "HO.InterEnbOutAtt.RadioNetwork.MMEUES1APIDError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1668.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1668.X_SCM_Name = "HO.InterEnbOutAtt.Cause.RadioNetwork.MMEUES1APIDError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1667.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1665.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1665.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1664.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1659.Alias2 = "HO.InterEnbOutAtt.RadioNetwork.HOCancel"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1659.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1659.X_SCM_Name = "HO.InterEnbOutAtt.Cause.RadioNetwork.HOCancel"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1658.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1656.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1656.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1655.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1650.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1649.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1647.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1647.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1646.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1641.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1640.Alias2 = "HO.IntraEnbOutSucc.Nas.CSGSubscriptionExpiry"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1640.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1640.X_SCM_Name = "HO.IntraEnbOutSucc.Cause.Nas.CSGSubscriptionExpiry"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1638.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1638.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1637.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1632.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1631.Alias2 = "HO.IntraEnbOutSucc.RadioNetwork.RedirectTo1xRTT"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1631.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1631.X_SCM_Name = "HO.IntraEnbOutSucc.Cause.RadioNetwork.RedirectTo1xRTT"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1630.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1629.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1629.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1628.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1623.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1622.Alias2 = "HO.IntraEnbOutSucc.RadioNetwork.InvalidQoSCombination"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1622.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1622.X_SCM_Name = "HO.IntraEnbOutSucc.Cause.RadioNetwork.InvalidQoSCombination"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1621.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1619.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1614.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1613.Alias2 = "HO.IntraEnbOutSucc.RadioNetwork.ResourceOptimisationHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1613.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1613.X_SCM_Name = "HO.IntraEnbOutSucc.Cause.RadioNetwork.ResourceOptimisationHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1612.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1610.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1610.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1605.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1604.Alias2 = "HO.IntraEnbOutSucc.RadioNetwork.TS1RELOCprep"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1604.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1604.X_SCM_Name = "HO.IntraEnbOutSucc.Cause.RadioNetwork.TS1RELOCprep"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1603.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1601.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1601.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1600.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1597.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1596.Alias2 = "HO.IntraEnbOutSucc.RadioNetwork.TX2RELOCOverall"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1596.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1596.X_SCM_Name = "HO.IntraEnbOutSucc.Cause.RadioNetwork.TX2RELOCOverall"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1595.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1593.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1593.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1592.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1588.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1587.Alias2 = "HO.IntraEnbOutAtt.Protocol.FalselyConstructedMessage"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1587.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1587.X_SCM_Name = "HO.IntraEnbOutAtt.Cause.Protocol.FalselyConstructedMessage"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1586.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1584.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1584.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1583.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1579.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1578.Alias2 = "HO.IntraEnbOutAtt.Nas.AuthenticationFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1578.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1578.X_SCM_Name = "HO.IntraEnbOutAtt.Cause.Nas.AuthenticationFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1577.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1575.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1575.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1574.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1569.Alias2 = "HO.IntraEnbOutAtt.RadioNetwork.S1IntraSystemHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1569.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1569.X_SCM_Name = "HO.IntraEnbOutAtt.Cause.RadioNetwork.S1IntraSystemHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1568.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1566.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1566.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1565.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1560.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1559.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1557.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1557.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1556.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1551.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1550.Alias2 = "HO.IntraEnbOutAtt.RadioNetwork.ENBUES1APIDError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1550.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1550.X_SCM_Name = "HO.IntraEnbOutAtt.Cause.RadioNetwork.ENBUES1APIDError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1548.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1548.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1547.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1542.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1541.Alias2 = "HO.IntraEnbOutAtt.RadioNetwork.PartialHandover"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1541.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1541.X_SCM_Name = "HO.IntraEnbOutAtt.Cause.RadioNetwork.PartialHandover"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1540.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1539.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1539.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1538.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1533.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1532.Alias2 = "ERAB.SessionTimeQCI.6"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1532.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1532.X_SCM_Name = "ERAB.SessionTimeQCI.QCI.6"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1531.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1529.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1524.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1523.Alias2 = "ERAB.ModQoSFailNbr.Misc.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1523.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1523.X_SCM_Name = "ERAB.ModQoSFailNbr.Cause.Misc.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1522.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1520.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1520.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1515.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1514.Alias2 = "ERAB.ModQoSFailNbr.Protocol.Reject"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1514.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1514.X_SCM_Name = "ERAB.ModQoSFailNbr.Cause.Protocol.Reject"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1513.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1511.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1511.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1510.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1506.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1505.Alias2 = "ERAB.ModQoSFailNbr.RadioNetwork.RedirectTo1xRTT"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1505.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1505.X_SCM_Name = "ERAB.ModQoSFailNbr.Cause.RadioNetwork.RedirectTo1xRTT"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1504.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1502.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1502.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1501.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1498.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1497.Alias2 = "ERAB.ModQoSFailNbr.RadioNetwork.UERadioConnectionLost"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1497.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1497.X_SCM_Name = "ERAB.ModQoSFailNbr.Cause.RadioNetwork.UERadioConnectionLost"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1496.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1494.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1494.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1493.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1489.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1488.Alias2 = "ERAB.ModQoSFailNbr.RadioNetwork.UnknownTargetID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1488.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1488.X_SCM_Name = "ERAB.ModQoSFailNbr.Cause.RadioNetwork.UnknownTargetID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1487.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1485.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1485.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1484.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1479.Alias2 = "ERAB.ModQoSFailNbr.RadioNetwork.SuccessHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1479.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1479.X_SCM_Name = "ERAB.ModQoSFailNbr.Cause.RadioNetwork.SuccessHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1478.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1476.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1476.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1475.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1470.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1469.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1467.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1467.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1466.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1461.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1460.Alias2 = "ERAB.RelFailNbr.Protocol.FalselyConstructedMessage"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1460.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1460.X_SCM_Name = "ERAB.RelFailNbr.Cause.Protocol.FalselyConstructedMessage"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1458.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1458.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1457.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1452.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1451.Alias2 = "ERAB.RelFailNbr.Nas.NormalRelease"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1451.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1451.X_SCM_Name = "ERAB.RelFailNbr.Cause.Nas.NormalRelease"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1450.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1449.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1449.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1448.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1443.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1442.Alias2 = "ERAB.RelFailNbr.RadioNetwork.AlgoNotSupported"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1442.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1442.X_SCM_Name = "ERAB.RelFailNbr.Cause.RadioNetwork.AlgoNotSupported"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1441.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1439.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1434.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1433.Alias2 = "ERAB.RelFailNbr.RadioNetwork.UERadioConnectionLost"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1433.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1433.X_SCM_Name = "ERAB.RelFailNbr.Cause.RadioNetwork.UERadioConnectionLost"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1432.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1430.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1430.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1425.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1424.Alias2 = "ERAB.RelFailNbr.RadioNetwork.UnknownTargetID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1424.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1424.X_SCM_Name = "ERAB.RelFailNbr.Cause.RadioNetwork.UnknownTargetID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1423.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1421.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1421.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1420.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1416.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1415.Alias2 = "ERAB.RelFailNbr.RadioNetwork.SuccessHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1415.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1415.X_SCM_Name = "ERAB.RelFailNbr.Cause.RadioNetwork.SuccessHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1414.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1412.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1412.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1411.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1407.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1406.Alias2 = "ERAB.RelEnbNbr.Misc.ControlProcessingOverload"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1406.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1406.X_SCM_Name = "ERAB.RelEnbNbr.Cause.Misc.ControlProcessingOverload"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1405.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1403.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1403.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1402.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1399.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1398.Alias2 = "ERAB.RelEnbNbr.Nas.CSGSubscriptionExpiry"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1398.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1398.X_SCM_Name = "ERAB.RelEnbNbr.Cause.Nas.CSGSubscriptionExpiry"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1397.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1395.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1395.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1394.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1389.Alias2 = "ERAB.RelEnbNbr.RadioNetwork.S1InterSystemHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1389.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1389.X_SCM_Name = "ERAB.RelEnbNbr.Cause.RadioNetwork.S1InterSystemHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1388.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1386.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1386.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1385.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1380.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1379.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1377.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1377.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1376.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1371.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1370.Alias2 = "ERAB.RelEnbNbr.RadioNetwork.CellNotAvailable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1370.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1370.X_SCM_Name = "ERAB.RelEnbNbr.Cause.RadioNetwork.CellNotAvailable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1368.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1368.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1367.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1362.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1361.Alias2 = "ERAB.RelEnbNbr.RadioNetwork.TX2RELOCOverall"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1361.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1361.X_SCM_Name = "ERAB.RelEnbNbr.Cause.RadioNetwork.TX2RELOCOverall"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1360.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1359.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1359.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1358.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1353.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1352.Alias2 = "ERAB.EstabTimeMax.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1352.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1352.X_SCM_Name = "ERAB.EstabTimeMax.QCI.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1351.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1349.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1344.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1343.Alias2 = "ERAB.EstabTimeMean.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1343.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1343.X_SCM_Name = "ERAB.EstabTimeMean.QCI.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1342.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1340.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1340.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1335.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1334.Alias2 = "ERAB.EstabAddFailNbr.Protocol.SemanticError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1334.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1334.X_SCM_Name = "ERAB.EstabAddFailNbr.Cause.Protocol.SemanticError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1333.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1331.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1331.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1330.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1326.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1325.Alias2 = "ERAB.EstabAddFailNbr.Transport.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1325.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1325.X_SCM_Name = "ERAB.EstabAddFailNbr.Cause.Transport.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1324.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1322.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1322.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1321.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1317.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1316.Alias2 = "ERAB.EstabAddFailNbr.RadioNetwork.TAULoadBalancing"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1316.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1316.X_SCM_Name = "ERAB.EstabAddFailNbr.Cause.RadioNetwork.TAULoadBalancing"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1315.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1313.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1313.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1312.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1308.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1307.Alias2 = "ERAB.EstabAddFailNbr.RadioNetwork.RadioResUnavailableInTarget"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1307.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1307.X_SCM_Name = "ERAB.EstabAddFailNbr.Cause.RadioNetwork.RadioResUnavailableInTarget"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1306.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1304.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1304.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1303.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1299.Alias2 = "ERAB.EstabAddFailNbr.RadioNetwork.HOCancel"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1299.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1299.X_SCM_Name = "ERAB.EstabAddFailNbr.Cause.RadioNetwork.HOCancel"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1298.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1296.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1296.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1295.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1290.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1289.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1287.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1287.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1286.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1281.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1280.Alias2 = "ERAB.EstabInitFailNbr.Nas.Detach"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1280.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1280.X_SCM_Name = "ERAB.EstabInitFailNbr.Cause.Nas.Detach"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1278.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1278.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1277.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1272.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1271.Alias2 = "ERAB.EstabInitFailNbr.RadioNetwork.RadioInteractionFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1271.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1271.X_SCM_Name = "ERAB.EstabInitFailNbr.Cause.RadioNetwork.RadioInteractionFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1270.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1269.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1269.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1268.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1263.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1262.Alias2 = "ERAB.EstabInitFailNbr.RadioNetwork.RadioResUnavailableInTarget"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1262.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1262.X_SCM_Name = "ERAB.EstabInitFailNbr.Cause.RadioNetwork.RadioResUnavailableInTarget"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1261.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1259.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1254.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1253.Alias2 = "ERAB.EstabInitFailNbr.RadioNetwork.ReleaseForEUTRANReason"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1253.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1253.X_SCM_Name = "ERAB.EstabInitFailNbr.Cause.RadioNetwork.ReleaseForEUTRANReason"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1252.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1250.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1250.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1245.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1244.Alias2 = "UECNTX.RelReq.Misc.ControlProcessingOverload"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1244.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1244.X_SCM_Name = "UECNTX.RelReq.Cause.Misc.ControlProcessingOverload"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1243.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1241.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1241.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1240.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1236.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1235.Alias2 = "UECNTX.RelReq.Nas.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1235.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1235.X_SCM_Name = "UECNTX.RelReq.Cause.Nas.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1234.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1232.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1232.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1231.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1227.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1226.Alias2 = "UECNTX.RelReq.RadioNetwork.S1IntraSystemHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1226.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1226.X_SCM_Name = "UECNTX.RelReq.Cause.RadioNetwork.S1IntraSystemHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1225.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1223.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1223.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1222.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1218.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1217.Alias2 = "UECNTX.RelReq.RadioNetwork.UERadioConnectionLost"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1217.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1217.X_SCM_Name = "UECNTX.RelReq.Cause.RadioNetwork.UERadioConnectionLost"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1216.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1214.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1214.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1213.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1209.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1208.Alias2 = "UECNTX.RelReq.RadioNetwork.UnknownTargetID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1208.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1208.X_SCM_Name = "UECNTX.RelReq.Cause.RadioNetwork.UnknownTargetID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1207.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1205.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1205.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1204.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1199.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1197.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1197.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1196.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1191.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1190.Alias2 = "RRC.ConnEstabTimeMax.MtAccess"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1190.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1190.X_SCM_Name = "RRC.ConnEstabTimeMax.Cause.MtAccess"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1188.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1188.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1187.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1182.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1181.Alias2 = "RRC.ConnEstabTimeMean.HighPriorityAccess"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1181.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1181.X_SCM_Name = "RRC.ConnEstabTimeMean.Cause.HighPriorityAccess"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1180.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1179.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1179.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1178.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1173.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1172.Alias2 = "RRC.ConnReEstabAtt.Spare1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1172.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1172.X_SCM_Name = "RRC.ConnReEstabAtt.Cause.Spare1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1171.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1169.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1164.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1163.Alias2 = "RRC.ConnEstabFail.HighPriorityAccess"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1163.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1163.X_SCM_Name = "RRC.ConnEstabFail.Cause.HighPriorityAccess"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1162.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1160.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1160.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1155.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1154.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1154.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1154.X_SCM_Name = "RACH.1stAttemptedNumber"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1153.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1151.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1151.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1150.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1146.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1145.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1145.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1145.X_SCM_Name = "MAC.DlMcsNumber"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1144.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1142.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1142.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1141.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1137.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1136.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1136.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1136.X_SCM_Name = "HO.S1InterFreqOutAtt"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1135.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1133.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1133.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1132.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1128.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1127.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1127.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1127.X_SCM_Name = "HO.SuccOutInterEnbX2.2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1126.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1124.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1124.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1123.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1119.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1118.Alias2 = "ERAB.UsageNbrMax.5"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1118.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1118.X_SCM_Name = "ERAB.NbrMaxEstab.5"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1117.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1115.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1115.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1114.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1109.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1109.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1109.X_SCM_Name = "ERAB.NbrSuccInitEstab.6"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1108.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1106.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1106.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1105.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1100.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1098.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1098.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1097.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1092.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1091.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1091.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1091.X_SCM_Name = "PDCP.UpLastTtiOctDl.8"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1090.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1089.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1089.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1088.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1083.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1082.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1082.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1082.X_SCM_Name = "PDCP.UpLastTtiOctUl.9"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1081.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1079.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1074.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1073.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1073.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1073.X_SCM_Name = "PDCP.UpLastTtiOctUl"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1072.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1070.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1070.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1065.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1064.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1064.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1064.X_SCM_Name = "PDCP.UpPktTotDelayDl.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1063.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1061.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1061.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1060.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1056.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1055.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1055.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1055.X_SCM_Name = "PDCP.ThrpTimeDL.2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1054.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1052.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1052.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1051.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1047.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1046.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1046.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1046.X_SCM_Name = "RRU.PdcchCceUtil"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1045.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1043.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1043.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1042.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1038.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1037.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1037.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1037.X_SCM_Name = "RRU.PdcchCceAvail.UlDciSf"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1036.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1034.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1034.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1033.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1029.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1028.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1028.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1028.X_SCM_Name = "MAC.NbrRbDl.Tm9.RANK1BF"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1027.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1025.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1025.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1024.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1019.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1019.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1019.X_SCM_Name = "MAC.NbrSuccInitTbDl.256Qam"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1018.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1016.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1016.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1015.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1010.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1009.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1007.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1007.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1006.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1001.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1000.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1000.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1000.X_SCM_Name = "ERAB.NbrFailEstab.CauseNoResponseInUU"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.998.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.998.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.997.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.992.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.991.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.991.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.991.X_SCM_Name = "RRC.ConnRelease.RedirectTo3G"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.990.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.989.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.989.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.988.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.983.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.982.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.982.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.982.X_SCM_Name = "RRU.TtiMeanDl"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.981.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.979.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.974.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.973.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.973.Alias = "cpe-pm-mpo-inc-reselect-other-plmn"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.973.X_SCM_Name = "MPO.ReselectIncOtherPLMN"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.972.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.970.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.970.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.965.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.964.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.964.Alias = "cpe-pm-covg-vip-ue-edge-area-gtp-tx-bytes"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.964.X_SCM_Name = "COVG.EdgeOutGtpU.VipUe"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.963.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.961.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.961.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.960.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.956.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.955.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.955.Alias = "cpe-pm-intrafreq-ho-out-target-rsrp"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.955.X_SCM_Name = "HO.OutIntraFreqTargetRSRP"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.954.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.952.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.952.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.951.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.947.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.946.Alias2 = "PHY.ULMaxNL.92"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.946.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.946.X_SCM_Name = "PHY.ULMaxNL.PRB92"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.945.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.943.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.943.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.942.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.938.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.937.Alias2 = "PHY.ULMaxNL.83"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.937.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.937.X_SCM_Name = "PHY.ULMaxNL.PRB83"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.936.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.934.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.934.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.933.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.929.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.928.Alias2 = "PHY.ULMaxNL.74"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.928.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.928.X_SCM_Name = "PHY.ULMaxNL.PRB74"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.927.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.925.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.925.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.924.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.919.Alias2 = "PHY.ULMaxNL.65"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.919.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.919.X_SCM_Name = "PHY.ULMaxNL.PRB65"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.918.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.916.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.916.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.915.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.910.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.909.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.907.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.907.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.906.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.901.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.900.Alias2 = "PHY.ULMaxNL.46"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.900.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.900.X_SCM_Name = "PHY.ULMaxNL.PRB46"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.899.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.899.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.898.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.893.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.892.Alias2 = "PHY.ULMaxNL.38"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.892.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.892.X_SCM_Name = "PHY.ULMaxNL.PRB38"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.891.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.889.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.884.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.883.Alias2 = "PHY.ULMaxNL.29"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.883.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.883.X_SCM_Name = "PHY.ULMaxNL.PRB29"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.882.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.880.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.880.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.875.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.874.Alias2 = "PHY.ULMaxNL.20"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.874.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.874.X_SCM_Name = "PHY.ULMaxNL.PRB20"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.873.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.871.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.871.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.870.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.866.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.865.Alias2 = "PHY.ULMaxNL.11"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.865.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.865.X_SCM_Name = "PHY.ULMaxNL.PRB11"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.864.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.862.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.862.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.861.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.857.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.856.Alias2 = "PHY.ULMaxNL.2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.856.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.856.X_SCM_Name = "PHY.ULMaxNL.PRB2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.855.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.853.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.853.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.852.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.848.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.847.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.847.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.847.X_SCM_Name = "EQPT.MeanMeLoad"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.846.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.844.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.844.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.843.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.839.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.838.Alias2 = "PHY.ULMeanNL.91"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.838.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.838.X_SCM_Name = "PHY.ULMeanNL.PRB91"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.837.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.835.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.835.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.834.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.829.Alias2 = "PHY.ULMeanNL.82"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.829.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.829.X_SCM_Name = "PHY.ULMeanNL.PRB82"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.828.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.826.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.826.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.825.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.820.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.819.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.817.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.817.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.816.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.811.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.810.Alias2 = "PHY.ULMeanNL.63"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.810.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.810.X_SCM_Name = "PHY.ULMeanNL.PRB63"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.808.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.808.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.807.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.802.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.801.Alias2 = "PHY.ULMeanNL.54"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.801.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.801.X_SCM_Name = "PHY.ULMeanNL.PRB54"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.800.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.799.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.794.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.793.Alias2 = "PHY.ULMeanNL.46"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.793.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.793.X_SCM_Name = "PHY.ULMeanNL.PRB46"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.792.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.790.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.790.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.785.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.784.Alias2 = "PHY.ULMeanNL.37"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.784.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.784.X_SCM_Name = "PHY.ULMeanNL.PRB37"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.783.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.781.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.781.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.780.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.776.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.775.Alias2 = "PHY.ULMeanNL.28"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.775.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.775.X_SCM_Name = "PHY.ULMeanNL.PRB28"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.774.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.772.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.772.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.771.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.767.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.766.Alias2 = "PHY.ULMeanNL.19"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.766.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.766.X_SCM_Name = "PHY.ULMeanNL.PRB19"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.765.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.763.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.763.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.762.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.758.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.757.Alias2 = "PHY.ULMeanNL.10"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.757.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.757.X_SCM_Name = "PHY.ULMeanNL.PRB10"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.756.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.754.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.754.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.753.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.749.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.748.Alias2 = "PHY.ULMeanNL.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.748.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.748.X_SCM_Name = "PHY.ULMeanNL.PRB1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.747.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.745.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.745.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.744.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.739.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.739.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.739.X_SCM_Name = "PHY.NbrCqi8"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.738.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.736.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.736.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.735.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.730.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.729.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.727.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.727.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.726.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.721.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.720.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.720.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.720.X_SCM_Name = "RRU.DtchPrbAssnMeanUl"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.718.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.718.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.717.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.712.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.711.Alias2 = "DRB.PdcpSduDropRateDl.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.711.Alias = "PDCP.UpPktDiscardDl.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.711.X_SCM_Name = "PDCP.UpPktDiscardDl.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.710.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.709.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.709.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.708.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.703.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.702.Alias2 = "DRB.PdcpSduDelayDl.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.702.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.702.X_SCM_Name = "PDCP.UpPktDelayDl.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.701.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.695.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.694.Alias2 = "DRB.PdcpSduAirLossRateDl.3"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.694.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.694.X_SCM_Name = "PDCP.NbrPktLossDl.3"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.693.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.691.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.691.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.690.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.686.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.685.Alias2 = "DRB.IPThpDl.3"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.685.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.685.X_SCM_Name = "PDCP.NbrPktDl.3"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.684.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.682.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.682.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.681.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.677.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.676.Alias2 = "DRB.PdcpSduLossRateUl.3"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.676.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.676.X_SCM_Name = "PDCP.NbrPktLossUl.3"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.675.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.673.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.673.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.672.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.668.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.667.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.667.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.667.X_SCM_Name = "PDCP.NbrPktUl.3"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.666.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.664.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.664.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.663.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.659.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.658.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.658.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.658.X_SCM_Name = "PDCP.UpOctDl.5"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.657.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.655.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.655.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.654.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.649.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.649.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.649.X_SCM_Name = "PDCP.UpOctUl.6"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.648.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.646.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.646.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.645.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.640.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.639.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.637.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.637.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.636.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.631.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.630.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.630.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.630.X_SCM_Name = "IRATHO.FailPrepOutGeran.HoExeTimeOut"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.628.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.628.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.627.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.622.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.621.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.621.Alias = "HO.SuccOutInterEnbX2.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.621.X_SCM_Name = "HO.SuccOutInterEnbX2.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.620.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.619.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.619.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.618.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.613.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.612.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.612.Alias = "HO.SuccOutInterEnbS1.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.612.X_SCM_Name = "HO.SuccOutInterEnbS1.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.611.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.609.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.604.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.603.Alias2 = "UECNTX.RelReq.RadioNetwork.RedirectTo1xRTT"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.603.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.603.X_SCM_Name = "CONTEXT.AttRelEnb.CauseRedirectTo1xRTT"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.602.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.600.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.600.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.596.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.595.Alias2 = "ERAB.EstabInitFailNbr.RadioNetwork.IRATRedirection"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.595.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.595.X_SCM_Name = "CONTEXT.FailInitalSetup.InterRATRedirection"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.594.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.592.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.592.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.591.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.587.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.586.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.586.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.586.X_SCM_Name = "ERAB.NbrLeft.6"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.585.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.583.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.583.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.582.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.578.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.577.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.577.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.577.X_SCM_Name = "ERAB.HoFail.6"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.576.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.574.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.574.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.573.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.569.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.568.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.568.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.568.X_SCM_Name = "ERAB.NbrReqRelEnb.Normal.7"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.567.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.565.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.565.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.564.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.559.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.559.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.559.X_SCM_Name = "ERAB.NbrReqRelEnb.Normal"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.558.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.556.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.556.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.555.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.550.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.549.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.547.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.547.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.546.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.541.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.540.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.540.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.540.X_SCM_Name = "ERAB.NbrHoInc.9"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.538.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.538.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.537.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.532.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.531.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.531.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.531.X_SCM_Name = "ERAB.EstabTimeMax"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.530.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.529.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.529.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.528.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.523.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.522.Alias2 = "ERAB.UsageNbrMean.2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.522.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.522.X_SCM_Name = "ERAB.NbrMeanEstab.2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.521.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.519.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.514.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.513.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.513.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.513.X_SCM_Name = "ERAB.NbrReqRelEnb.4"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.512.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.510.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.510.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.505.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.504.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.504.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.504.X_SCM_Name = "ERAB.NbrReqRelEnb.CSFallbackTriggered"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.503.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.501.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.501.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.500.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.497.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.496.Alias2 = "RRC.ConnReEstabAtt.ReConfigFail"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.496.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.496.X_SCM_Name = "RRC.AttConnReestab.ReConfigFail"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.495.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.493.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.493.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.492.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.488.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.487.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.487.Alias = "cpe-pm-covg-middle-area-ue-first-rept"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.487.X_SCM_Name = "COVG.MiddleUeFirstRept"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.486.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.484.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.484.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.483.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.479.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.478.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.478.Alias = "cpe-pm-covg-ue-middle-area-tm"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.478.X_SCM_Name = "COVG.MiddleTime"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.477.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.475.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.475.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.474.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.469.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.469.Alias = "cpe-pm-mro-enlarge-neigh-cio"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.469.X_SCM_Name = "MRO.EnlNeighCIO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.468.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.466.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.466.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.465.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.460.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.459.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.457.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.457.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.456.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.451.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.450.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.450.Alias = "cpe-pm-anr-add-interfreq-neigh-succ-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.450.X_SCM_Name = "ANR.SuccNbr.Interfreq"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.448.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.448.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.447.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.442.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.441.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.441.Alias = "cpe-pm-rach-access-delay-v1-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.441.X_SCM_Name = "RRU.RachAccessDelayDist.Middle"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.440.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.439.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.439.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.438.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.433.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.432.Alias2 = "RRU.RachPreambleDedMean"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.432.Alias = "cpe-pm-rach-recv-preamble-ded-mean-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.432.X_SCM_Name = "RRU.RachPreambleDedMean"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.431.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.429.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.424.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.423.Alias2 = "ERAB.ModQoSFailNbr.RadioNetwork.S1InterSystemHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.423.Alias = "cpe-pm-rab-modi-fail-nr-intersys-s1hotri"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.423.X_SCM_Name = "ERAB.ModQoSFailNbr.S1InterSystemHoTrig"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.422.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.420.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.420.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.415.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.414.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.414.Alias = "cpe-pm-mme-rel-rab-nr-uelost"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.414.X_SCM_Name = "ERAB.RelMmeNbr.UELost"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.413.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.411.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.411.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.410.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.406.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.405.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.405.Alias = "cpe-pm-mme-rel-rab-nr-protocol"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.405.X_SCM_Name = "ERAB.RelMmeNbr.Protocol "
+ Device.PeriodicStatistics.SampleSet.1.Parameter.404.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.402.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.402.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.401.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.398.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.397.Alias2 = "ERAB.RelFailNbr.Misc.HardwareFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.397.Alias = "cpe-pm-mme-rel-rab-fail-nr-hwfail"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.397.X_SCM_Name = "ERAB.RelFailNbr.HardwareFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.396.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.394.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.394.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.393.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.389.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.388.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.388.Alias = "cpe-pm-init-addrab-est-fail-msgie-err"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.388.X_SCM_Name = "ERAB.EstabAddFailNbr.AbstractSyntaxError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.387.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.385.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.385.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.384.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.379.Alias2 = "ERAB.EstabAddFailNbr.RadioNetwork.RadioInteractionFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.379.Alias = "cpe-pm-init-addrab-est-fail-iwop"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.379.X_SCM_Name = "ERAB.EstabAddFailNbr.InteractionWithOtherProc"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.378.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.376.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.376.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.375.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.370.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.369.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.367.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.367.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.366.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.361.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.360.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.360.Alias = "cpe-pm-rrc-recfg-fail-nr-admjuge"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.360.X_SCM_Name = "RRC.FailConnReconfig.AccessJudgeFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.358.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.358.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.357.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.352.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.351.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.351.Alias = "cpe-pm-rrc-recfg-fail-nr-pucchallc"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.351.X_SCM_Name = "RRC.FailConnReconfig.Pucch"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.350.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.349.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.349.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.348.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.343.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.342.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.342.Alias = "cpe-pm-rrc-recfg-req-nr-reest-recfg"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.342.X_SCM_Name = "RRC.AttConnReconfig.RrcReestablish"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.341.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.339.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.334.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.333.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.333.Alias = "cpe-pm-rrc-recfg-succ-nr-meascfg"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.333.X_SCM_Name = "RRC.SuccConnReconfig.MeasCfg"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.332.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.330.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.330.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.325.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.324.Alias2 = "RRC.ConnReEstabSucc.ReConfigFail"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.324.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.324.X_SCM_Name = "RRC.SuccConnReestab.ReConfigFail"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.323.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.321.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.321.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.320.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.316.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.315.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.315.Alias = "cpe-pm-rrc-reest-fail-tolnr-paraerr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.315.X_SCM_Name = "RRC.ConnReEstabFail.ParameterError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.314.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.312.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.312.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.311.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.307.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.306.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.306.Alias = "cpe-pm-rrc-estab-fail-nr-per-installc"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.306.X_SCM_Name = "RRC.FailConnEstab.InstAllocFail"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.305.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.303.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.303.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.302.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.299.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.298.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.298.Alias = "cpe-pm-rrc-estab-fail-nr-cellbloc"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.298.X_SCM_Name = "RRC.FailConnEstab.CellBlock"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.297.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.295.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.295.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.294.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.289.Alias2 = "RRC.ConnEstabSucc.HighPriorityAccess"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.289.Alias = "cpe-pm-rrc-estab-succ-nr-hipri"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.289.X_SCM_Name = "RRC.SuccConnEstab.HighPriorityAccess"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.288.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.286.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.286.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.285.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.280.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.279.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.277.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.277.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.276.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.271.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.270.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.270.Alias = "cpe-pm-recv-abort-nr-unrecog-chunk"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.270.X_SCM_Name = "SIG.SctpAbort.ChunkUnrecognized"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.268.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.268.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.267.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.262.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.261.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.261.Alias = "cpe-pm-assoc-fail-ets-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.261.X_SCM_Name = "SIG.SctpConnEstabFail"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.260.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.259.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.259.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.258.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.253.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.252.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.252.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.252.X_SCM_Name = "MAC.NbrTbDl.Tm4"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.251.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.249.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.244.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.243.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.243.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.243.X_SCM_Name = "MAC.NbrSuccInitTbDl.Qpsk.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.242.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.240.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.240.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.235.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.234.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.234.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.234.X_SCM_Name = "MAC.NbrSuccInitTbUl.16Qam.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.233.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.231.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.231.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.230.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.226.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.225.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.225.Alias = "cpe-pm-mac-dl-maxretr-tb-num"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.225.X_SCM_Name = "MAC.NbrResErrTbDl"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.224.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.222.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.222.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.221.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.217.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.216.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.216.Alias = "cpe-pm-2utr-srvccho-succ-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.216.X_SCM_Name = "SRVCC.SuccOutUtran"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.215.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.213.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.213.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.212.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.208.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.207.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.207.Alias = "cpe-pm-2ger-srvccho-pre-succ-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.207.X_SCM_Name = "SRVCC.SuccOutPrepGeran"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.206.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.204.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.204.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.203.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.199.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.199.Alias = "cpe-pm-volte-interenb-x2ho-succ-nr-intrafreq"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.199.X_SCM_Name = "VoLTE.HO.SuccOutInterEnbX2.IntraFreq"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.198.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.196.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.196.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.195.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.190.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.189.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.187.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.187.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.186.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.181.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.180.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.180.Alias = "cpe-pm-volte-interenb-s1ho-req-nr-intrafreq"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.180.X_SCM_Name = "VoLTE.HO.AttOutInterEnbS1.IntraFreq"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.178.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.178.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.177.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.172.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.171.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.171.Alias = "cpe-pm-intersys-ps-ho-fail-nr-eutr-gr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.171.X_SCM_Name = "IRATHO.FailOutGprs"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.170.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.169.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.169.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.168.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.163.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.162.Alias2 = "HO.InterEnbOutAttSum"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.162.Alias = "cpe-pm-interenb-ho-req-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.162.X_SCM_Name = "HO.AttOutInterEnb"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.161.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.159.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.154.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.153.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.153.Alias = "cpe-pm-intrasys-intrafreq-ho-succ-nr-lb"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.153.X_SCM_Name = "HO.SuccOutIntraFreq.LoadBalance"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.152.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.150.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.150.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.145.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.144.Alias2 = "DRB.PdcpSduBitrateUl.6"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.144.Alias = "cpe-pm-pdcp-ulup-send-q6"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.144.X_SCM_Name = "DRB.PdcpSduBitLenUl.6"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.143.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.141.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.141.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.140.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.136.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.135.Alias2 = "DRB.PdcpSduBitrateDl.6"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.135.Alias = "cpe-pm-pdcp-dlup-send-q6"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.135.X_SCM_Name = "DRB.PdcpSduBitLenDl.6"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.134.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.132.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.132.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.131.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.127.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.126.Alias2 = "ERAB.ModQoSAttNbr.8"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.126.Alias = "cpe-pm-rab-att-modi-nr-q8"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.126.X_SCM_Name = "ERAB.NbrAttMod.8"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.125.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.123.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.123.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.122.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.118.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.117.Alias2 = "ERAB.ModQoSSuccNbr.3"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.117.Alias = "cpe-pm-rab-succ-modi-nr-q3"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.117.X_SCM_Name = "ERAB.NbrSuccMod.3"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.116.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.114.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.114.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.113.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.109.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.108.Alias2 = "ERAB.RelAttNbr.8"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.108.Alias = "cpe-pm-rab-mme-attrel-nr-q8"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.108.X_SCM_Name = "ERAB.RelAttNbr.8"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.107.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.105.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.105.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.104.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.99.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.98.Alias2 = "ERAB.RelAttNbr.3"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.98.Alias = "cpe-pm-rab-mme-attrel-nr-q3"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.98.X_SCM_Name = "ERAB.RelAttNbr.3"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.97.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.95.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.95.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.94.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.89.Alias2 = "ERAB.RelEnbNbr.5"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.89.Alias = "cpe-pm-rab-enb-rel-nr-q5"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.89.X_SCM_Name = "ERAB.RelEnbNbr.5 "
+ Device.PeriodicStatistics.SampleSet.1.Parameter.88.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.86.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.86.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.85.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.80.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.79.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.77.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.77.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.76.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.71.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.70.Alias2 = "ERAB.EstabAddSuccNbr.2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.70.Alias = "cpe-pm-add-rab-succ-nr-q2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.70.X_SCM_Name = "ERAB.EstabAddSuccNbr.2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.68.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.68.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.67.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.62.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.61.Alias2 = "ERAB.EstabInitAttNbr.7"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.61.Alias = "cpe-pm-init-rab-att-nr-q7"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.61.X_SCM_Name = "ERAB.EstabInitAttNbr.7"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.60.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.59.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.59.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.58.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.53.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.52.Alias2 = "ERAB.EstabInitSuccNbr.2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.52.Alias = "cpe-pm-init-rab-succ-nr-q2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.52.X_SCM_Name = "ERAB.EstabInitSuccNbr.2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.51.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.49.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.44.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.43.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.43.Alias = "cpe-pm-iot-v0-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.43.X_SCM_Name = "CARR.IOT.0To10"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.42.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.40.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.40.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.35.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.34.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.34.Alias = "cpe-pm-gtp-tx-pkt"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.34.X_SCM_Name = "S1.OutNbrPktGtpU"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.33.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.31.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.31.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.30.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.26.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.25.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.25.Alias = "cpe-pm-paging-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.25.X_SCM_Name = "PAG.PagReceived"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.24.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.22.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.22.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.21.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.17.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.16.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.16.Alias = "cpe-pm-pdcp-dl-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.16.X_SCM_Name = "PDCP.NbrPktDl"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.15.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.13.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.13.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.12.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.6.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.5.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.5.Alias = "cpe-pm-rab-succ-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.5.X_SCM_Name = "ERAB.NbrSuccEstab"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.4.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.ReportEndTime = 0001-01-01T00:00:00Z
+ Device.PeriodicStatistics.SampleSet.1.Status = "Disabled"
+ Device.PeriodicStatistics.SampleSet.0.ForceSample = 0
+ Device.PeriodicStatistics.SampleSet.0.FetchSamples = 0
+ Device.PeriodicStatistics.SampleSet.0.Name = ""
+ Device.PeriodicStatistics.MaxReportSamples = 0
+ Device.Firewall.Chain.1.Rule.3.Protocol = -1
+ Device.Firewall.Chain.1.Rule.2.DestPort = -1
+ Device.Firewall.Chain.1.Rule.0.DestIP = ""
+ Device.Firewall.Chain.1.Rule.0.Enable = 0
+ Device.SmartCardReaders.SmartCardReader.1.SmartCard.Status = ""
+ Device.SmartCardReaders.SmartCardReaderNumberOfEntries = 1
+ Device.DHCPv6.Client.0.ReceivedOption.0.Server = ""
+ Device.DHCPv6.Client.0.SentOptionNumberOfEntries = 0
+ Device.DHCPv4.Server.Pool.1.MinAddress = "11.11.11.100"
+ Device.DHCPv4.Server.Pool.0.Interface = ""
+ Device.DHCPv4.Server.Pool.0.Enable = 0
+ Device.DHCPv4.Server.Enable = 1
+ Device.DHCPv4.Client.1.ReqOption.0.Enable = 0
+ Device.DHCPv4.Client.1.SentOption.0.Value =
+ Device.DHCPv4.Client.0.ReqOption.0.Tag = 1
+ Device.DHCPv4.Client.0.SentOption.0.Alias = ""
+ Device.DHCPv4.Client.0.IPAddress = ""
+ Device.DNS.Client.Server.4.DNSServer = ""
+ Device.DNS.Client.Server.1.Interface = "Device.IP.Interface.1"
+ Device.Routing.Router.1.IPv4Forwarding.1.Status = "Enabled"
+ Device.Routing.Router.1.IPv6Forwarding.0.Interface = ""
+ Device.Routing.Router.1.IPv6Forwarding.0.Enable = 0
+ Device.Routing.Router.1.IPv4Forwarding.0.X_SCM_RouteTableName = ""
+ Device.Routing.Router.1.IPv4Forwarding.0.ForwardingMetric = -1
+ Device.Routing.Router.1.IPv4Forwarding.0.GatewayIPAddress = ""
+ Device.Routing.Router.0.IPv6Forwarding.0.Status = "Disabled"
+ Device.IP.Diagnostics.IPPing.DiagnosticsState = "None"
+ Device.IP.Interface.5.IPv4Address.0.IPAddress = "11.11.12.188"
+ Device.IP.Interface.5.IPv4Address.0.Enable = 0
+ Device.IP.Interface.4.IPv4Address.1.IPAddress = "11.11.13.188"
+ Device.IP.Interface.4.IPv4Address.1.Enable = 0
+ Device.IP.Interface.4.IPv6Address.0.Prefix = ""
+ Device.IP.Interface.3.IPv6Address.1.Prefix = ""
+ Device.IP.Interface.3.IPv6Address.0.IPAddress = ""
+ Device.IP.Interface.3.IPv6Address.0.Enable = 0
+ Device.IP.Interface.2.IPv6Address.2.Prefix = ""
+ Device.IP.Interface.2.IPv6Address.1.IPAddress = ""
+ Device.IP.Interface.2.IPv6Address.1.Enable = 0
+ Device.IP.Interface.2.IPv4Address.0.AddressingType = "DHCP"
+ Device.IP.Interface.1.IPv4Address.1.AddressingType = "DHCP"
+ Device.IP.Interface.1.Alias = "cpe-ifr-default"
+ Device.IP.Interface.0.IPv6Address.0.Origin = "Static"
+ Device.IP.Interface.0.MaxMTUSize = 1500
+ Device.Ethernet.Interface.2.SignTransMedia = ".X_SCM_SignTransMedia"
+ Device.Ethernet.Interface.2.X_SCM_PortLocation = ""
+ Device.Ethernet.Interface.1.X_SCM_FarPortLocation = ""
+ Device.Ethernet.Interface.1.X_SCM_PortRate = 1024000
+ Device.Ethernet.Interface.0.Enable = 1
+ Device.ManagementServer.X_SCM_NetconfEnable = 0
+ Device.DeviceInfo.Location.1.X_SCM_AccuracyLocationChange = 300
+ Device.DeviceInfo.Location.1.X_SCM_PreviousDataObject = ""
+ Device.DeviceInfo.Location.1.AcquiredTime = 0001-01-01T00:00:00Z
+ Device.DeviceInfo.VendorLogFile.1.X_SCM_LogControl.X_SCM_TraceBeginTime = 0001-01-01T00:00:00
+ Device.DeviceInfo.NetworkProperties.X_SCM_BackhaulType = 0
+ Device.DeviceInfo.TemperatureStatus.TemperatureSensor.1.PollingInterval = 60
+ Device.DeviceInfo.TemperatureStatus.TemperatureSensor.0.X_SCM_RF_Warning_ThresholdValue = 120
+ Device.DeviceInfo.TemperatureStatus.TemperatureSensor.0.X_SCM_PowerOffThresholdValue = 950
+ Device.DeviceInfo.TemperatureStatus.TemperatureSensor.0.MaxTime = 0001-01-01T00:00:00Z
+ Device.DeviceInfo.TemperatureStatus.TemperatureSensor.0.MaxValue = 0
+ Device.DeviceInfo.TemperatureStatus.TemperatureSensor.0.Enable = 1
+ Device.DeviceInfo.VendorConfigFile.1.X_SCM_ConfigFileFormat = ""
+ Device.DeviceInfo.X_SCM_BLVersion = "20.0.0"
+ Device.DeviceInfo.3GPPSpecVersion = ""
+ Device.DeviceInfo.ProductClass = "HeNB-TDD-Enterprise"
+ Device.Services.FAPService.1.Transport.SCTP.X_SCM_SctpIpAddress_2 = "172.21.20.21"
+ Device.Services.FAPService.1.Transport.SCTP.InSCTPPacks = 0
+ Device.Services.FAPService.1.Transport.SCTP.X_SCM_MTUMax = 1324
+ Device.Services.FAPService.1.Transport.SCTP.X_SCM_MTUInitial = 1300
+ Device.Services.FAPService.1.Transport.SCTP.X_SCM_InitFailAction = 0
+ Device.Services.FAPService.1.Transport.SCTP.HBInterval = 5
+ Device.Services.FAPService.1.REM.LTE.Cell.0.BCCH.X_SCM_NeighborList.0.X_SCM_Bandwidth = 6
+ Device.Services.FAPService.1.REM.LTE.Cell.0.BCCH.X_SCM_PrachZeroCorrelatZoneConfig = 0
+ Device.Services.FAPService.1.REM.LTE.Cell.0.BCCH.CSGIdentity = 0
+ Device.Services.FAPService.1.REM.LTE.Cell.0.RF.X_SCM_InterFreqList.0.X_SCM_CellReselectionPriority = 0
+ Device.Services.FAPService.1.REM.LTE.Cell.0.RF.MaxX_SCM_InterFreqListEntries = 8
+ Device.Services.FAPService.1.REM.LTE.X_SCM_PTP_Cfg.X_SCM_PTPConfigDelayAsymmetry = "0"
+ Device.Services.FAPService.1.REM.LTE.X_SCM_PTP_Cfg.X_SCM_PTPConfigVerbose = 0
+ Device.Services.FAPService.1.REM.LTE.X_SCM_AdjustCellInitTxPowerAlgorithm1ParaPMin = 0
+ Device.Services.FAPService.1.REM.LTE.X_SCM_CellUpEarfcnThresholdRSRP = -90
+ Device.Services.FAPService.1.REM.LTE.X_SCM_1588SyncEnable = 0
+ Device.Services.FAPService.1.REM.LTE.X_SCM_GPSSyncEnable = 0
+ Device.Services.FAPService.1.REM.LTE.X_SCM_SyncSourceList = "GPS,TDS,OTA"
+ Device.Services.FAPService.1.REM.LTE.X_SCM_ScanUtranRscpThreshold = -105
+ Device.Services.FAPService.1.REM.LTE.X_SCM_ScanEutranRssiThreshold = -105
+ Device.Services.FAPService.1.REM.LTE.EUTRACarrierARFCNDLList = ""
+ Device.Services.FAPService.1.REM.LTE.X_SCM_PeriodicallyRetryNumber = 3
+ Device.Services.FAPService.1.REM.X_SCM_tfcsSyncSrcStatus.syncSourceInUse = "FREE_RUNNING"
+ Device.Services.FAPService.1.REM.X_SCM_tfcsManagerConfig.ntpSyncIPV = "4"
+ Device.Services.FAPService.1.REM.X_SCM_NlSync.CellInfo.0.SyncInterval = 4
+ Device.Services.FAPService.1.REM.UMTS.X_SCM_TDSCDMA.Cell.0.X_SCM_RF.0.CellParametersId = 0
+ Device.Services.FAPService.1.REM.UMTS.X_SCM_TDSCDMA.Cell.0.X_SCM_RF.0.RSSI = 0
+ Device.Services.FAPService.1.REM.UMTS.X_SCM_TDSCDMA.CellNumberOfEntries = 0
+ Device.Services.FAPService.1.REM.UMTS.WCDMA.Cell.0.BCCH.UARFCNDLList = ""
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborListInUse2.LTECell.0.X_SCM_TAC = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborListInUse2.LTECell.0.X_SCM_EnbAddr = ""
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborListInUse.InterRATCell.CDMA2000.0.Pb = ""
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborListInUse.InterRATCell.CDMA2000.0.CID = ""
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborListInUse.InterRATCell.CDMA2000.0.Type = ""
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborListInUse.InterRATCell.GSM.0.BandIndicator = "DCS1800"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborListInUse.InterRATCell.GSM.0.LAC = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborListInUse.InterRATCell.CDMA2000NumberOfEntries = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborListInUse.InterRATCell.GSMNumberOfEntries = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborListInUse.LTECell.0.X_SCM_TAC = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborListInUse.LTECell.0.X_SCM_EnbAddr = ""
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.CDMA2000.1.X_SCM_NeighborCellFlag = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.CDMA2000.0.ARFCN = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.GSM.0.X_SCM_DAHO_INDICATION = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.GSM.0.PLMNID = ""
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.UMTS.0.X_SCM_SON_DISCOVERED = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.UMTS.0.X_SCM_NR_STATUS = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.UMTS.0.PCPICHScramblingCode = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.UMTS.0.RAC = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.X_SCM_NRNumberOfEntries = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.MaxUMTSEntries = 32
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.X_SCM_TDS_CsfbPriority = 9
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.LTECell.0.X_SCM_HO_STATUS = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.LTECell.0.X_SCM_PRACH_HIGH_SPEED_FLAG = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.LTECell.0.EnbType = ".X_SCM_EnbType"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_PhyInUse.X_SCM_EarfcnInUse2 = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_PhyInUse.X_SCM_EarfcnInUse = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.ANR.X_SCM_EffectiveGeranRptRssiThreshold = 5
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.ANR.X_SCM_EffectiveUtranRptRscpThreshold = -3
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B2MeasureCtrl.2.Hysteresis = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.Hysteresis"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B2MeasureCtrl.2.B2Threshold2UTRARSCP = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B2Threshold2UTRARSCP"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B2MeasureCtrl.1.B2Threshold1EutraRSRP = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B2Threshold1EUTRARSRP"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B2MeasureCtrl.0.B2Threshold2UTRAEcN0 = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B2Threshold2UTRAEcN0"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B2MeasureCtrl.0.B2Threshold1EutraRSRQ = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B2Threshold1EUTRARSRQ"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B1MeasureCtrl.2.B1ThresholdUTRAEcN0 = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B1ThresholdUTRAEcN0"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B1MeasureCtrl.1.B1ThresholdCDMA2000 = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B1ThresholdCDMA2000"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B1MeasureCtrl.0.TimeToTrigger = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.TimeToTrigger"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B1MeasureCtrlNumberOfEntries = 2
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.QoffsettUTRA = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.X_SCM_A2ForBlindRedirection.Hysteresis = "0"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.X_SCM_A2ForIRATCS.ReportAmount = 4
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.X_SCM_A2ForIRATCS.A2ThresholdRSRQ = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.PeriodMeasCtrl.1.MeasurePurpose = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.PeriodMeasCtrl.0.ReportInterval = "Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_AnrTriceIntervalCount"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A5MeasureCtrl.1.ReportInterval = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.ReportInterval"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A5MeasureCtrl.1.Enable = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A5MeasureCtrl.0.ReportAmount = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.ReportAmount"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A4MeasureCtrl.1.ReportAmount = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.ReportAmount"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A4MeasureCtrl.0.Hysteresis = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.Hysteresis"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A4MeasureCtrl.0.A4ThresholdRSRP = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A4ThresholdRSRP"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A3MeasureCtrl.2.ReportAmount = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.ReportAmount"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A3MeasureCtrl.1.Hysteresis = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.Hysteresis"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A2MeasureCtrl.5.MeasurePurpose = 5
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A2MeasureCtrl.4.ReportInterval = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.ReportInterval"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A2MeasureCtrl.4.A2ThresholdRSRP = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A2ThresholdRSRP"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A2MeasureCtrl.4.Enable = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A2MeasureCtrl.3.ReportAmount = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.ReportAmount"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A2MeasureCtrl.3.A2ThresholdRSRQ = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A2ThresholdRSRQ"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A2MeasureCtrl.2.Hysteresis = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.Hysteresis"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A2MeasureCtrl.0.TriggerQuantity = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.TriggerQuantity"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A1MeasureCtrl.3.Hysteresis = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.Hysteresis"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A1MeasureCtrl.1.TriggerQuantity = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.TriggerQuantity"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A1MeasureCtrl.0.TimeToTrigger = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.TimeToTrigger"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.MaxA5MeasureCtrlEntries = 16
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A1MeasureCtrlNumberOfEntries = 3
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.MaxReportCells = 8
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.ReportQuantity = "Both"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.X_SCM_EffectiveEutranRptRSRPThreshold = 10
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.X_SCM_EnableUeHistoryInfoFastMove = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.X_SCM_INTRA_HO_A3Offset = 10
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.X_SCM_GapPatternForANRMeas = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.X_SCM_INTRA_A5Threshold2RSRQ = 25
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.X_SCM_A3TimeToTrigger = "320"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.X_SCM_A3Hys = "4"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.CDMA2000.X_SCM_CDMA2000_CELL_PARAM.REFERENCE_CELL_ID_1XRTT.MARKET_ID = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.CDMA2000.X_SCM_ue_generic_cdma2000_params.X_SCM_band_class = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.CDMA2000.X_SCM_ue_generic_cdma2000_params.X_SCM_gcsna_sequence_context_timer = 9
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.CDMA2000.X_SCM_ue_generic_cdma2000_params.X_SCM_parameter_reg = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.CDMA2000.X_SCM_ue_generic_cdma2000_params.X_SCM_max_num_alt_so = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.CDMA2000.X_SCM_ue_generic_cdma2000_params.X_SCM_auth = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.CDMA2000.X_SCM_MOBILITY_SIB_8_PARAMS.ZONE_TIMER = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.CDMA2000.CDMA2000Band.1.ThreshXHigh = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.CDMA2000.CDMA2000Band.0.BandClass = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.GERAN.X_SCM_QRxLevMin = "0"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.GERAN.TReselectionGERANSFHigh = 100
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.GERAN.X_SCM_SIB7Enable = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.UTRA.UTRANFDDFreq.0.X_SCM_THRESH_SERVING_LOWQ_R9 = 6
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.UTRA.UTRANFDDFreq.0.ThreshXLow = 6
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.UTRA.UTRANFDDFreq.0.QQualMin = "-8"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.UTRA.X_SCM_CellReselectionPriority = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.UTRA.X_SCM_SIB6Enable = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.InterFreq.Carrier.0.X_SCM_CSG_PHY_CELLID_RANGE = "-1"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.InterFreq.Carrier.0.ThreshXLowQR9 = ".X_SCM_THRESHX_LOWQ_R9"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.InterFreq.Carrier.0.ThreshXLow = 6
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.InterFreq.X_SCM_ThreshXHighQRel9 = 31
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.InterFreq.X_SCM_QQualMinRel9Sib5 = -30
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IntraFreq.ThreshServingLowQR9 = ".X_SCM_ThreshServingLowQRel9"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IntraFreq.ThreshServingLow = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.Common.NCellChangeMedium = 5
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.CellRestriction.X_SCM_CongestionCtrl.1.X_SCM_ThresholdUeNum = 21
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.CellRestriction.X_SCM_acBarringForMODataFactor = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.CellRestriction.X_SCM_acBarringForMODataSpecialAC = "00000"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.CellRestriction.X_SCM_acBarringForMOSignalTime = 5
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.CellRestriction.CellReservedForOperatorUse = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.CellRestriction.CellBarred = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.RLC.X_SCM_UMDRB.0.X_SCM_QCI = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_PDCP.X_SCM_QOS.0.X_SCM_DiscardTimer = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_PDCP.X_SCM_QOS.0.X_SCM_QCI = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_PDCP.X_SCM_ROHC.8.X_SCM_Profiles = "000000010"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_PDCP.X_SCM_ROHC.8.X_SCM_MaxCid = 15
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_PDCP.X_SCM_ROHC.3.X_SCM_QCI = 3
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_PDCP.X_SCM_ROHC.1.X_SCM_ROHCEnabled = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.X_SCM_PCFICH.X_SCM_CFI = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.X_SCM_ABS.X_SCM_ABSA3Offset = 6
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.X_SCM_ABS.X_SCM_ABSLoadPeriodicity = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.UplinkPowerControlDedicated.X_SCM_pucchgrppwrEnabled = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileList.9.DRXRetransmissionTimer = "2"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileList.7.ONDurationTimer = ".OnDurationTimer"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileList.5.OnDurationTimer = "10"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileList.4.DRXInactivityTimer = "40"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileList.4.DRXEnabled = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileList.4.QCI = 4
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileList.3.ShortDRXCycle = "32"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileList.1.LongDRXCycle = "640"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileList.0.DRXShortCycleTimer = ""
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_EnableSibModifyPagging = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.DRXInactivityTimer = "40"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.DRXEnabled = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.X_SCM_Scheduler.X_SCM_TpcSinrUpperThreshold = 168
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.X_SCM_Scheduler.X_SCM_ULRBAllocStartLoc = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.X_SCM_Scheduler.X_SCM_DlFSSchedule = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.X_SCM_MaxMacRnti2 = 128
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.X_SCM_MaxMacRnti = 128
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.PHY.ULPowerControl.X_SCM_P0_UE_PUSCH = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.PHY.ULPowerControl.PucchPeriTpc = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.PHY.ULPowerControl.PucchTpc = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.PHY.ULPowerControl.DeltaPreambleMsg3 = 6
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.PHY.PUSCH.HoppingOffset = "8"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.PHY.PUCCH.CQIPUCCHResourceIndex = ""
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.PHY.SRS.X_SCM_SRSDedicateBandwidthCfg = "1"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.PHY.SRS.AckNackSRSSimultaneousTransmission = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.PHY.PDSCH.Pa = "-300"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.PHY.PaParam.PUSCHPowerCtrlSwitch = "Device.Services.FAPService.1.CellConfig.LTE.RAN.PHY.ULPowerControl.X_SCM_UL_PUSCH_PowerControl"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.RF.X_SCM_QCOM.RFPath.0.pathDirection = "NONE"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.RF.X_SCM_QCOM.RFPathNumberOfEntries = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.RF.X_SCM_TxPowerConfig = "1"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.RF.PSCHPowerOffset = ""
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.RF.ReferenceSignalPower = "-30"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.RF.EARFCNUL = "43800"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_X2AP.X2WhiteList.0.Enable = 0
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.QoS.8.Priority = 8
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.QoS.6.DSCP = 46
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.QoS.6.PacketDelayBudget = 300
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.QoS.6.Type = "Non-GBR"
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.QoS.5.VLANTag = 0
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.QoS.4.Alias = "-"
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.QoS.3.QCI = 3
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.QoS.1.Enable = 0
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.PLMNList.0.X_SCM_CFG_MMEIdList = "{1}"
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.PLMNList.0.CellReservedForOperatorUse = 0
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.MaxQoSEntries = 16
+ Device.Services.FAPService.1.CellConfig.LTE.S1U.0.FarIpSubnetworkList = "Device.Services.FAPService.1.FAPControl.LTE.Gateway.S1SigLinkServerList"
+ Device.Services.FAPService.1.CellConfig.LTE.MmePoolConfigParam.0.MMEGroupID = 0
+ Device.Services.FAPService.1.CellConfig.LTE.X_SCM_ULTRASON_CONFIG.TPMConfig.TPMMOEnabled = 0
+ Device.Services.FAPService.1.CellConfig.LTE.X_SCM_ENDC_Config.UpperLayerIndicationSwitch = 0
+ Device.Services.FAPService.1.CellConfig.LTE.MaxS1UEntries = 16
+ Device.Services.FAPService.1.AccessMgmt.LTE.X_SCM_UEDetail.0.X_SCM_StartTime = 0000-00-00T00:00:00
+ Device.Services.FAPService.1.AccessMgmt.LTE.X_SCM_CONRRCRedirectSpecifiedCID = 1
+ Device.Services.FAPService.1.AccessMgmt.LTE.X_SCM_RRCRejectEnable = 0
+ Device.Services.FAPService.1.AccessMgmt.LTE.X_SCM_EnableCellBarred = 0
+ Device.Services.FAPService.1.AccessMgmt.LTE.X_SCM_MtAccessUeReservedNum = 2
+ Device.Services.FAPService.1.AccessMgmt.LTE.X_SCM_AdmissionPreEmptEnable = 0
+ Device.Services.FAPService.1.AccessMgmt.LTE.X_SCM_VoLtePreEmptMaxConnectedUEs = 28
+ Device.Services.FAPService.1.AccessMgmt.LTE.X_SCM_LTEBHVoLTECapability = 1
+ Device.Services.FAPService.1.FAPControl.X_SCM_SubModule.X_SCM_VersionMatchEnable = 0
+ Device.Services.FAPService.1.FAPControl.LTE.Gateway.PreSecGW3ServerList.5.SecGWServer3Ip = "2600:0000:cf04:3041:10:158:158:180"
+ Device.Services.FAPService.1.FAPControl.LTE.Gateway.AGServerIp3 = ""
+ Device.Services.FAPService.1.FAPControl.LTE.Gateway.SecGWServer3 = ""
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_CRAN.Sector.1.State = "Unknown"
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_CRAN.MaxSectorEntries = 2
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_CRAN.SysmgrState = "Unknown"
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_SceneManagement.LTEInter.X_SCM_SCFreqList = ""
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_SceneManagement.Scene1.0.OAM = ""
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_SceneManagement.Scene4NumberOfEntries = 0
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_SceneManagement.X_SCM_IdentifyLongPeriod = 120
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_DLPowerSetting.X_SCM_VIPStayCoreMidAreaGtpUpRateThreshold = 90
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_DLPowerSetting.X_SCM_VIPStayCoreMidAreaTimeUpRateThreshold = 90
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_DLPowerSetting.X_SCM_RSPowerAdjustStep = 1
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_DLPowerSetting.X_SCM_DLPowerAdjustEnable = 1
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_CoverageMeasurement.X_SCM_ReportAmount = 4
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_MRO.GainHPMargin = 100
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_MRO.IntraFreqEnable = 1
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_MRO.X_SCM_TooLateHOPCellRsrqThreshold = -12
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_BsPoutCtrl.X_SCM_Pmin = -10
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_MPOCtrlList.MPOAdjustCIOStep = 0
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_InChannelDataAwarness.X_SCM_RestoreRipThreshold = -150
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_InChannelDataAwarness.X_SCM_RipThreshold = -125
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_ANR_Ctrl.X_SCM_CheckWrongNghCellAlgo = "Period:10,50%;Num:20,50%"
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_SelfHealing.X_SCM_SelfHealingStatus = ""
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_RootSequenceIndexInuse = ""
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_HoOutRestrictEnable = 0
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_AllMeasOneCfgEnable = 0
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_GetIMEISwitch = 0
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_FakeNasALGO = "FAKE_NAS_ALGO_GET_ID_ONLY"
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_ULRngBuffCnt = 4
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_NoMsg3CfgTime = 60
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_LogInfo = "{./,3,1,3}"
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_CSGSmallCellPCIStart = 0
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_AnrHOFailTrig = 1
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_PcellCqiHighThreshold = 13
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_Cell_Number = 1
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_MaxBearersForArpCheck = 0
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_WIRESHARK.X_SCM_EnableSctpWireshark = 0
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_WIRESHARK.X_SCM_WiresharkIP = ""
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_WIRESHARK.X_SCM_EnableWireshark = 0
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SAS.HeightType = "AGL"
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SAS.ICGGroupId = ""
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SAS.UserContactInformation = "aether"
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SAS.GrantID = ""
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_CMP.Config.1.CertEncodeMethod = ""
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_CMP.Config.1.Path = ""
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_CMP.Config.1.FQDN = ""
+ Device.Services.FAPService.1.FAPControl.LTE.SelfConfig.SONConfigParam.SyncMode = "Device.Services.FAPService.1.REM.LTE.X_SCM_SyncSourceList"
+ Device.Services.FAPService.1.FAPControl.LTE.SelfConfig.SONConfigParam.MaxLTENeighbourCellNum = "Device.Services.FAPService.1.REM.LTE.Cell.0.BCCH.X_SCM_MaxNeighborListEntries"
+ Device.Services.FAPService.1.FAPControl.LTE.SelfConfig.SONConfigParam.ANRUTRANEnable = 0
+ Device.Services.FAPService.1.FAPControl.X_SCM_LWM2M.X_SCM_Security.1.X_SCM_SecretKey = ""
+ Device.Services.FAPService.1.FAPControl.X2IpAddrMapInfo.0.PLMNID = "46000"
+ Device.Services.FAPService.1.Capabilities.LTE.CDMA2000RxBandsSupported = ""
+ Device.Services.FAPService.1.Capabilities.LTE.GSMRxBandsSupported = ""
+ Device.Services.FAPService.1.Capabilities.LTE.UMTSRxSupported = 0
+ Device.LogMgmt.Username = "Device.DeviceInfo.VendorLogFile.1.X_SCM_LogControl.X_SCM_Username"
+ Device.SoftwareCtrl.AutoActivateEnable = 1
+ Device.FaultMgmt.HistoryEvent.2.AdditionalInformation = ""
+ Device.FaultMgmt.HistoryEvent.2.ManagedObjectInstance = "Device.Service.FAPService.1."
+ Device.FaultMgmt.HistoryEvent.2.SerialNumber = "Device.DeviceInfo.SerialNumber"
+ Device.FaultMgmt.ExpeditedEvent.2.AdditionalInformation = ""
+ Device.FaultMgmt.ExpeditedEvent.2.ManagedObjectInstance = "Device.Service.FAPService.1."
+ Device.FaultMgmt.ExpeditedEvent.2.SerialNumber = "Device.DeviceInfo.SerialNumber"
+ Device.Security.Certificate.2.X_SCM_KeyName = "priv.key"
+ Device.X_SCM_DeviceFeature.X_SCM_PeakThp.X_SCM_PeakThpULTimestamp = 0001-01-01T00:00:00
+ Device.X_SCM_DeviceFeature.X_SCM_Troubleshooting.Info.1.Value = ""
+ Device.X_SCM_DeviceFeature.X_SCM_LED.X_SCM_LED_PWR_Status = "Power_On"
+ Device.X_SCM_DeviceFeature.X_SCM_LED.X_SCM_LED_FEMTO_Status = ""
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_LocationCheck.X_SCM_Type = "LOCATION_CHECK"
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_Web_Control.X_SCM_LockPeriodforAuthFail = 30
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_Web_Control.X_SCM_UserPasswordSecLevel = 1
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.10.X_SCM_AppName = "fsminitd"
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.9.X_SCM_AppName = "cert"
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.7.X_SCM_AppCrashMaxAction = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.7.X_SCM_AppUploadErrLogControl = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.4.X_SCM_AppDownActionMask = 1
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.3.X_SCM_AppTimeoutToRunningAction = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.3.X_SCM_AppEnableCheck = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.2.X_SCM_AppStateValidationTimes = 1
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.2.X_SCM_AppCrashCountMax = 10
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_AppNumberOfEntries = 9
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_TraceDump.X_SCM_SigMode = "Wireshark"
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.UserAccount.5.UserName = "ftpuser"
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.UserAccount.2.UserType = 5
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.UserAccount.0.UserFailedLoginTimes = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.LastPnPFailureSessionID = ""
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_LocalProtocolForBrother = "https"
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_AgpsDownloadTimer = 10
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_StatusParaSyncInterval2 = 30
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_CwmpConfigDownloadOption = 1
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_VlanQosTag = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_ScheduledReboot = ""
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_FakeEmpty = ""
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_CwmpGetFakeValueEnable = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_CwmpAcsca = ""
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_SyslogTotalFileSize = 20480
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.16.Status = "disabled"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.15.Name = "cert"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.13.CrashMaxAction = "100_REBOOT_SERVICE"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.10.Alias = "rc_sniffer"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.9.Alias = "rc_gps"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.7.CrashCountMax = 10
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.6.CrashAction = "100_REBOOT_SERVICE"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.6.Dependency = "gps"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.5.Status = "running"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.4.Name = "henb"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.2.CrashMaxAction = "200_REBOOT_SYSTEM"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.ServiceNotReadyTimeout = 180
+ Device.X_SCM_DeviceFeature.X_SCM_WebServerEnable = 1
+ Device.X_SCM_DeviceFeature.X_SCM_RemoteLogServerAddr = ""
+ Device.FAP.MRMgmt.Config.1.SampleBeginTime = "Device.FAP.X_SCM_MrMgmt.Config.1.StartTime"
+ Device.FAP.MRMgmt.Config.1.UploadPeriod = "Device.FAP.X_SCM_MrMgmt.Config.1.PeriodicUploadInterval"
+ Device.FAP.MRMgmt.Config.1.MrEnable = "Device.FAP.X_SCM_MrMgmt.Config.1.Enable"
+ Device.FAP.X_SCM_LcdMgmt.OpenInfo.PromptInfo = ""
+ Device.FAP.X_SCM_LcdMgmt.OpenInfo.OpenRate = ""
+ Device.FAP.X_SCM_MrMgmt.Config.1.X_SCM_ResetMrTaskEnable = 1
+ Device.FAP.X_SCM_MrMgmt.Config.1.X_SCM_StopMrGenFileEnable = 1
+ Device.FAP.X_SCM_MrMgmt.Config.1.PeriodicUploadTime = 0001-01-01T00:00:00Z
+ Device.FAP.PerfMgmt.Config.1.BackUpKpiFileNum = 48
+ Device.FAP.Tunnel.UseForCWMP = 0
+ Device.FAP.GPS.X_SCM_LocationChangeThreshold = 30
+ Device.FAP.GPS.X_SCM_MaxUncertainty = "0"
+ Device.FAP.GPS.LockedLongitude = 0
+ Device.FAP.GPS.ScanStatus = "InProgress"
+ Device.FAP.GPS.ContinuousGPS = 0
+ Device.Security.X_SCM_IPsec.X_SCM_CRL.X_SCM_Username = ""
+ Device.Security.X_SCM_IPsec.X_SCM_Ipsecconf.X_SCM_Connection.0.X_SCM_Right = ""
+ Device.Security.X_SCM_IPsec.X_SCM_Ipsecconf.X_SCM_Connection.0.X_SCM_Leftid = ""
+ Device.Security.X_SCM_IPsec.X_SCM_Ipsecconf.X_SCM_Lifetime = ""
+ Device.Security.Certificate.0.SubjectAlt = ""
+ Device.Security.Certificate.0.LastModif = 0001-01-01T00:00:00Z
+ Device.FaultMgmt.QueuedEvent.0.ProbableCause = ""
+ Device.FaultMgmt.ExpeditedEvent.0.SpecificProblem = ""
+ Device.FaultMgmt.ExpeditedEvent.0.OUI = "Device.DeviceInfo.ManufacturerOUI"
+ Device.FaultMgmt.HistoryEvent.0.SpecificProblem = ""
+ Device.FaultMgmt.HistoryEvent.0.OUI = "Device.DeviceInfo.ManufacturerOUI"
+ Device.FaultMgmt.SupportedAlarm.92.SpecificProblem = "MEMORY utilization exceeds threshold 3(90%)."
+ Device.FaultMgmt.SupportedAlarm.91.PerceivedSeverity = "Minor"
+ Device.FaultMgmt.SupportedAlarm.90.X_SCM_RaiseNum = 0
+ Device.FaultMgmt.SupportedAlarm.89.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.88.EventType = "Processing Error Alarm"
+ Device.FaultMgmt.SupportedAlarm.86.ProbableCause = "System overload level 1 is exceeded."
+ Device.FaultMgmt.SupportedAlarm.85.X_SCM_AlarmIdentifier = "11215"
+ Device.FaultMgmt.SupportedAlarm.83.SpecificProblem = "CPU utilization exceeds threshold 2(70%)."
+ Device.FaultMgmt.SupportedAlarm.82.PerceivedSeverity = "Minor"
+ Device.FaultMgmt.SupportedAlarm.81.X_SCM_RaiseNum = 0
+ Device.FaultMgmt.SupportedAlarm.79.EventType = "Equipment Alarm"
+ Device.FaultMgmt.SupportedAlarm.77.ProbableCause = "The DNS service is out of service or network issue"
+ Device.FaultMgmt.SupportedAlarm.76.X_SCM_AlarmIdentifier = "11206"
+ Device.FaultMgmt.SupportedAlarm.74.SpecificProblem = "Specific Sync Source Lost"
+ Device.FaultMgmt.SupportedAlarm.73.PerceivedSeverity = "Critical"
+ Device.FaultMgmt.SupportedAlarm.72.X_SCM_RaiseNum = 0
+ Device.FaultMgmt.SupportedAlarm.70.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.68.ProbableCause = "Cell Unavailable:Try HO KPI Self Healing"
+ Device.FaultMgmt.SupportedAlarm.67.X_SCM_AlarmIdentifier = "11195"
+ Device.FaultMgmt.SupportedAlarm.65.SpecificProblem = "PM application can not collect counters"
+ Device.FaultMgmt.SupportedAlarm.64.PerceivedSeverity = "Major"
+ Device.FaultMgmt.SupportedAlarm.63.X_SCM_RaiseNum = 0
+ Device.FaultMgmt.SupportedAlarm.61.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.60.EventType = "Equipment Alarm"
+ Device.FaultMgmt.SupportedAlarm.59.ProbableCause = "Certificates Expired"
+ Device.FaultMgmt.SupportedAlarm.58.X_SCM_AlarmIdentifier = "11184"
+ Device.FaultMgmt.SupportedAlarm.56.SpecificProblem = "FAP Temperature Above Critical Threshold"
+ Device.FaultMgmt.SupportedAlarm.55.PerceivedSeverity = "Warning"
+ Device.FaultMgmt.SupportedAlarm.54.X_SCM_RaiseNum = 0
+ Device.FaultMgmt.SupportedAlarm.52.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.51.EventType = "Equipment Alarm"
+ Device.FaultMgmt.SupportedAlarm.49.X_SCM_AlarmIdentifier = "11170"
+ Device.FaultMgmt.SupportedAlarm.47.SpecificProblem = "Missing Neighbor Cell In Macro"
+ Device.FaultMgmt.SupportedAlarm.46.PerceivedSeverity = "Warning"
+ Device.FaultMgmt.SupportedAlarm.45.X_SCM_RaiseNum = 0
+ Device.FaultMgmt.SupportedAlarm.43.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.42.EventType = "Quality Of Service Alarm"
+ Device.FaultMgmt.SupportedAlarm.40.ProbableCause = "RF Issue"
+ Device.FaultMgmt.SupportedAlarm.38.SpecificProblem = "Max PRB Overload"
+ Device.FaultMgmt.SupportedAlarm.37.PerceivedSeverity = "Warning"
+ Device.FaultMgmt.SupportedAlarm.36.X_SCM_RaiseNum = 0
+ Device.FaultMgmt.SupportedAlarm.34.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.33.EventType = "Equipment Alarm"
+ Device.FaultMgmt.SupportedAlarm.31.ProbableCause = "Serving GW Connect Fail"
+ Device.FaultMgmt.SupportedAlarm.30.X_SCM_AlarmIdentifier = "11164"
+ Device.FaultMgmt.SupportedAlarm.29.SpecificProblem = "CN Reject Connection In Control Plane "
+ Device.FaultMgmt.SupportedAlarm.28.PerceivedSeverity = "Major"
+ Device.FaultMgmt.SupportedAlarm.27.X_SCM_RaiseNum = 0
+ Device.FaultMgmt.SupportedAlarm.25.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.24.EventType = "Communications Alarm"
+ Device.FaultMgmt.SupportedAlarm.22.ProbableCause = "CWMP Connect No Response"
+ Device.FaultMgmt.SupportedAlarm.21.X_SCM_AlarmIdentifier = "11148"
+ Device.FaultMgmt.SupportedAlarm.19.PerceivedSeverity = "Warning"
+ Device.FaultMgmt.SupportedAlarm.18.X_SCM_RaiseNum = 0
+ Device.FaultMgmt.SupportedAlarm.16.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.15.EventType = "Communications Alarm"
+ Device.FaultMgmt.SupportedAlarm.13.ProbableCause = "SCTP ERROR Received"
+ Device.FaultMgmt.SupportedAlarm.12.X_SCM_AlarmIdentifier = "11140"
+ Device.FaultMgmt.SupportedAlarm.10.SpecificProblem = "Femto Reboot"
+ Device.FaultMgmt.SupportedAlarm.9.SpecificProblem = "Femto Is Out Of Service"
+ Device.FaultMgmt.SupportedAlarm.8.PerceivedSeverity = "Major"
+ Device.FaultMgmt.SupportedAlarm.7.X_SCM_RaiseNum = 0
+ Device.FaultMgmt.SupportedAlarm.5.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.4.EventType = "Processing Error Alarm"
+ Device.FaultMgmt.SupportedAlarm.2.ProbableCause = "Communications Receive Failure"
+ Device.FaultMgmt.SupportedAlarm.1.X_SCM_AlarmIdentifier = "85"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.52.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.51.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.51.Alias = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.51.X_SCM_Name = "MR.TdsNcellUarfcn"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.50.Reference = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.49.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.49.Enable = 1
+ Device.PeriodicStatistics.SampleSet.3.Parameter.48.Values = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.43.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.42.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.42.Alias = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.42.X_SCM_Name = "MR.LteScEarfcn"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.41.Reference = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.39.Values = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.34.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.33.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.33.Alias = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.33.X_SCM_Name = "MR.LteScAOA"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.32.Reference = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.30.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.30.Enable = 1
+ Device.PeriodicStatistics.SampleSet.3.Parameter.25.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.24.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.24.Alias = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.24.X_SCM_Name = "MR.PUSCHPRBNumPhr"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.23.Reference = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.21.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.21.Enable = 1
+ Device.PeriodicStatistics.SampleSet.3.Parameter.20.Values = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.16.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.15.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.15.Alias = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.15.X_SCM_Name = "MR.TadvAoa"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.14.Reference = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.12.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.12.Enable = 1
+ Device.PeriodicStatistics.SampleSet.3.Parameter.11.Values = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.5.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.4.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.4.Alias = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.4.X_SCM_Name = "MR.ReceivedIPower"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.3.Reference = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.1.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.1.Enable = 1
+ Device.PeriodicStatistics.SampleSet.3.Parameter.0.Values = ""
+ Device.PeriodicStatistics.SampleSet.3.Enable = 0
+ Device.PeriodicStatistics.SampleSet.2.Parameter.206.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.204.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.204.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.203.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.199.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.199.Alias = "BussinessFail_HNBRegisterFail"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.199.X_SCM_Name = "IUH.FailHnbReg"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.198.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.196.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.196.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.195.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.190.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.189.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.187.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.187.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.186.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.181.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.180.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.180.Alias = "APVoiceCallMinutes"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.180.X_SCM_Name = "RRC.CallDurationVoice"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.178.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.178.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.177.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.172.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.171.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.171.Alias = "NAS_ActivatePDPContextReqPerTraffic_Bgd"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.171.X_SCM_Name = "SM.AttActPdpContext.Background"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.170.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.169.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.169.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.168.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.163.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.162.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.162.Alias = "NAS_UlConnectAck_Conv_Video"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.162.X_SCM_Name = "CC.AnswIncVideoCalls"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.161.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.159.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.154.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.153.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.153.Alias = "Pdp_Request"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.153.X_SCM_Name = "SM.AttActPdpContext"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.152.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.150.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.150.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.145.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.144.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.144.Alias = "RrcConnSetupCompCallRe_establishment"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.144.X_SCM_Name = "RRC.SuccConnEstab.CallRe_establishment"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.143.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.141.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.141.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.140.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.136.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.135.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.135.Alias = "RrcConnSetupCompTerminatingInteractiveCall"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.135.X_SCM_Name = "RRC.SuccConnEstab.TerminatingInteractiveCall"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.134.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.132.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.132.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.131.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.127.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.126.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.126.Alias = "RrcConnSetupSend"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.126.X_SCM_Name = "RRC.TotConnEstab"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.125.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.123.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.123.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.122.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.118.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.117.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.117.Alias = "RrcConnReqInterRAT_CellChangeOrder"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.117.X_SCM_Name = "RRC.AttConnEstab.InterRAT_CellChangeOrder"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.116.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.114.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.114.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.113.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.109.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.108.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.108.Alias = "RrcConnReqOriginatingInteractiveCall"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.108.X_SCM_Name = "RRC.AttConnEstab.OriginatingInteractiveCall"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.107.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.105.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.105.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.104.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.99.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.98.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.98.Alias = "PsRevUpTransportBlockTotalNum"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.98.X_SCM_Name = "FP.NbrBlocksReceivedPS"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.97.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.95.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.95.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.94.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.89.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.89.Alias = "RanapRabAssRespSuccSend"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.89.X_SCM_Name = "RAB.SuccEstab"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.88.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.86.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.86.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.85.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.80.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.79.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.77.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.77.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.76.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.71.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.70.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.70.Alias = "SctpAssoc_Abort"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.70.X_SCM_Name = "IUH.SctpAbort"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.68.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.68.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.67.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.62.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.61.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.61.Alias = "VideoHandoverHnbToUmtsTotal"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.61.X_SCM_Name = "RELOC.AttPrepUEInvolVideo"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.60.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.59.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.59.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.58.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.53.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.52.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.52.Alias = "upTrafficOf384KInRlc"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.52.X_SCM_Name = "RLC.NumUserBits.PS384UL"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.51.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.49.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.44.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.43.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.43.Alias = "RanapSRNSRelocationPrepSend"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.43.X_SCM_Name = "RELOC.AttPrep"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.42.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.40.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.40.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.35.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.34.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.34.Alias = "HsdpaFail_RAB_RbSetupTimeout"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.34.X_SCM_Name = "RAB.FailEstabHSDPA.RbSetupTimeout"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.33.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.31.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.31.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.30.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.26.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.25.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.25.Alias = "VideoCallFail_RAB_RbSetupFailed"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.25.X_SCM_Name = "RAB.FailEstabVideo.RbSetupFail"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.24.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.22.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.22.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.21.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.17.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.16.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.16.Alias = "VoiceCallFail_RLCMAC_Failed"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.16.X_SCM_Name = "RAB.FailEstabVoice.RlcMacFail"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.15.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.13.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.13.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.12.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.6.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.5.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.5.Alias = "Iscp20To40"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.5.X_SCM_Name = "CARR.ISCP.20to40"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.4.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.2.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.2.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.1.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.ReportEndTime = 0001-01-01T00:00:00Z
+ Device.PeriodicStatistics.SampleSet.2.Status = "Disabled"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2191.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2190.Alias2 = "Dev.eNB.MinPositionUncertainty"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2190.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2190.X_SCM_Name = "Dev.eNB.MinPositionUncertainty"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2188.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2188.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2187.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2182.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2181.Alias2 = "ERAB.AbnormalErabRelease.3"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2181.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2181.X_SCM_Name = "ERAB.AbnormalErabRelease.QCI.3"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2180.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2179.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2179.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2178.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2173.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2172.Alias2 = "RRC.ConnEstabTimeMax.PLMN.2.HighPriorityAccess"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2172.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2172.X_SCM_Name = "RRC.ConnEstabTimeMax.PLMN.2.Cause.HighPriorityAccess"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2171.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2169.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2164.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2163.Alias2 = "RRC.ConnEstabTimeMax.PLMN.1.Emergency"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2163.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2163.X_SCM_Name = "RRC.ConnEstabTimeMax.PLMN.1.Cause.Emergency"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2162.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2160.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2160.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2155.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2154.Alias2 = "RRC.ConnEstabTimeMean.PLMN.1.Spare1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2154.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2154.X_SCM_Name = "RRC.ConnEstabTimeMean.PLMN.1.Cause.Spare1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2153.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2151.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2151.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2150.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2146.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2145.Alias2 = "RRC.ConnEstabFaileNBCause.Congestion.PLMN.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2145.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2145.X_SCM_Name = "RRC.ConnEstabFaileNBCause.Congestion.PLMN.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2144.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2142.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2142.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2141.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2137.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2136.Alias2 = "RRC.ConnEstabSuccPLMN.2.Emergency"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2136.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2136.X_SCM_Name = "RRC.ConnEstabSuccPLMN.2.Cause.Emergency"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2135.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2133.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2133.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2132.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2128.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2127.Alias2 = "RRC.ConnEstabSuccPLMN.1.Emergency"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2127.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2127.X_SCM_Name = "RRC.ConnEstabSuccPLMN.1.Cause.Emergency"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2126.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2124.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2124.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2123.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2119.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2118.Alias2 = "RRC.ConnEstabAttPLMN.2.Emergency"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2118.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2118.X_SCM_Name = "RRC.ConnEstabAttPLMN.2.Cause.Emergency"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2117.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2115.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2115.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2114.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2109.Alias2 = "RRC.ConnEstabAttPLMN.1.Emergency"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2109.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2109.X_SCM_Name = "RRC.ConnEstabAttPLMN.1.Cause.Emergency"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2108.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2106.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2106.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2105.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2100.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2098.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2098.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2097.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2092.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2091.Alias2 = "Dev.eNB.TDDFrameConfigurationInUse"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2091.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2091.X_SCM_Name = "Dev.eNB.TDDFrameConfigurationInUse"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2090.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2089.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2089.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2088.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2083.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2082.Alias2 = "Dev.eNB.PCIInUse"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2082.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2082.X_SCM_Name = "Dev.eNB.PCIInUse"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2081.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2079.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2074.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2073.Alias2 = "HO.IartOutSucc.Protocol.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2073.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2073.X_SCM_Name = "HO.IartOutSucc.Cause.Protocol.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2072.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2070.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2070.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2065.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2064.Alias2 = "HO.IartOutSucc.Nas.Detach"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2064.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2064.X_SCM_Name = "HO.IartOutSucc.Cause.Nas.Detach"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2063.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2061.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2061.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2060.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2056.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2055.Alias2 = "HO.IartOutSucc.RadioNetwork.S1InterSystemHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2055.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2055.X_SCM_Name = "HO.IartOutSucc.Cause.RadioNetwork.S1InterSystemHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2054.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2052.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2052.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2051.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2047.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2046.Alias2 = "HO.IartOutSucc.RadioNetwork.RadioResourcesUnavailable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2046.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2046.X_SCM_Name = "HO.IartOutSucc.Cause.RadioNetwork.RadioResourcesUnavailable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2045.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2043.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2043.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2042.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2038.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2037.Alias2 = "HO.IartOutSucc.RadioNetwork.HODesirable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2037.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2037.X_SCM_Name = "HO.IartOutSucc.Cause.RadioNetwork.HODesirable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2036.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2034.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2034.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2033.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2029.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2028.Alias2 = "HO.IartOutSucc.RadioNetwork.HOTargetNotAllowed"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2028.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2028.X_SCM_Name = "HO.IartOutSucc.Cause.RadioNetwork.HOTargetNotAllowed"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2027.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2025.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2025.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2024.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2019.Alias2 = "HO.IartOutAtt.Misc.UnknownPLMN"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2019.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2019.X_SCM_Name = "HO.IartOutAtt.Cause.Misc.UnknownPLMN"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2018.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2016.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2016.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2015.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2010.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2009.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2007.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2007.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2006.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2001.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2000.Alias2 = "HO.IartOutAtt.Transport.ResourceUnavailable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2000.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2000.X_SCM_Name = "HO.IartOutAtt.Cause.Transport.ResourceUnavailable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1999.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1994.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1993.Alias2 = "HO.IartOutAtt.RadioNetwork.AlgoNotSupported"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1993.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1993.X_SCM_Name = "HO.IartOutAtt.Cause.RadioNetwork.AlgoNotSupported"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1992.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1990.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1990.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1985.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1984.Alias2 = "HO.IartOutAtt.RadioNetwork.CSFB"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1984.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1984.X_SCM_Name = "HO.IartOutAtt.Cause.RadioNetwork.CSFB"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1983.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1981.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1981.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1980.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1976.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1975.Alias2 = "HO.IartOutAtt.RadioNetwork.ENBUES1APIDError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1975.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1975.X_SCM_Name = "HO.IartOutAtt.Cause.RadioNetwork.ENBUES1APIDError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1974.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1972.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1972.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1971.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1967.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1966.Alias2 = "HO.IartOutAtt.RadioNetwork.PartialHandover"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1966.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1966.X_SCM_Name = "HO.IartOutAtt.Cause.RadioNetwork.PartialHandover"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1965.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1963.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1963.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1962.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1958.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1957.Alias2 = "HO.OutSuccTarget.Misc.OMIntervention"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1957.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1957.X_SCM_Name = "HO.OutSuccTarget.Cause.Misc.OMIntervention"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1956.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1954.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1954.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1953.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1949.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1948.Alias2 = "HO.OutSuccTarget.Protocol.Reject"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1948.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1948.X_SCM_Name = "HO.OutSuccTarget.Cause.Protocol.Reject"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1947.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1945.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1945.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1944.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1939.Alias2 = "HO.OutSuccTarget.RadioNetwork.InvalidCSGID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1939.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1939.X_SCM_Name = "HO.OutSuccTarget.Cause.RadioNetwork.InvalidCSGID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1938.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1936.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1936.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1935.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1930.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1929.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1927.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1927.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1926.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1921.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1920.Alias2 = "HO.OutSuccTarget.RadioNetwork.ServingCellReduceLoad"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1920.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1920.X_SCM_Name = "HO.OutSuccTarget.Cause.RadioNetwork.ServingCellReduceLoad"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1918.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1918.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1917.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1912.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1911.Alias2 = "HO.OutSuccTarget.RadioNetwork.CellNotAvailable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1911.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1911.X_SCM_Name = "HO.OutSuccTarget.Cause.RadioNetwork.CellNotAvailable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1910.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1909.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1909.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1908.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1903.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1902.Alias2 = "HO.OutSuccTarget.RadioNetwork.TX2RELOCOverall"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1902.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1902.X_SCM_Name = "HO.OutSuccTarget.Cause.RadioNetwork.TX2RELOCOverall"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1901.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1895.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1894.Alias2 = "HO.OutAttTarget.Misc.ControlProcessingOverload"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1894.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1894.X_SCM_Name = "HO.OutAttTarget.Cause.Misc.ControlProcessingOverload"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1893.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1891.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1891.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1890.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1886.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1885.Alias2 = "HO.OutAttTarget.Nas.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1885.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1885.X_SCM_Name = "HO.OutAttTarget.Cause.Nas.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1884.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1882.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1882.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1881.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1877.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1876.Alias2 = "HO.OutAttTarget.RadioNetwork.X2HO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1876.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1876.X_SCM_Name = "HO.OutAttTarget.Cause.RadioNetwork.X2HO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1875.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1873.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1873.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1872.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1868.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1867.Alias2 = "HO.OutAttTarget.RadioNetwork.RadioInterfaceProcedureFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1867.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1867.X_SCM_Name = "HO.OutAttTarget.Cause.RadioNetwork.RadioInterfaceProcedureFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1866.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1864.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1864.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1863.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1859.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1858.Alias2 = "HO.OutAttTarget.RadioNetwork.TimeCriticalHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1858.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1858.X_SCM_Name = "HO.OutAttTarget.Cause.RadioNetwork.TimeCriticalHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1857.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1855.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1855.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1854.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1849.Alias2 = "HO.OutAttTarget.RadioNetwork.TS1RELOCoverall"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1849.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1849.X_SCM_Name = "HO.OutAttTarget.Cause.RadioNetwork.TS1RELOCoverall"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1848.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1846.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1846.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1845.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1840.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1839.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1837.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1837.Enable = 0
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1836.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1831.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1830.Alias2 = "RRU.PrbDl.8"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1830.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1830.X_SCM_Name = "RRU.PrbDl.QCI.8"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1828.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1828.Enable = 0
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1827.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1822.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1821.Alias2 = "SRB.PdcpSduBitrateDl"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1821.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1821.X_SCM_Name = "SRB.PdcpSduBitrateDl"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1820.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1819.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1819.Enable = 0
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1818.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1813.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1812.Alias2 = "DRB.IPThpUl.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1812.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1812.X_SCM_Name = "DRB.IPThpUl.QCI.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1811.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1809.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1804.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1803.Alias2 = "DRB.IpLateDl.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1803.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1803.X_SCM_Name = "DRB.IpLateDl.QCI.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1802.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1800.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1800.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1796.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1795.Alias2 = "DRB.UEActiveUl.3"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1795.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1795.X_SCM_Name = "DRB.UEActiveUl.QCI.3"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1794.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1792.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1792.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1791.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1787.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1786.Alias2 = "DRB.UEActiveDl.4"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1786.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1786.X_SCM_Name = "DRB.UEActiveDl.QCI.4"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1785.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1783.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1783.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1782.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1778.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1777.Alias2 = "HO.InterFreqNoMeasGapOutAtt"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1777.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1777.X_SCM_Name = "HO.InterFreqNoMeasGapOutAtt"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1776.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1774.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1774.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1773.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1769.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1768.Alias2 = "HO.InterEnbOutSucc.Misc.NotEnoughUserPlaneResources"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1768.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1768.X_SCM_Name = "HO.InterEnbOutSucc.Cause.Misc.NotEnoughUserPlaneResources"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1767.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1765.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1765.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1764.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1759.Alias2 = "HO.InterEnbOutSucc.Nas.CSGSubscriptionExpiry"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1759.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1759.X_SCM_Name = "HO.InterEnbOutSucc.Cause.Nas.CSGSubscriptionExpiry"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1758.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1756.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1756.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1755.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1750.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1749.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1747.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1747.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1746.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1741.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1740.Alias2 = "HO.InterEnbOutSucc.RadioNetwork.RadioInterfaceProcedureFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1740.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1740.X_SCM_Name = "HO.InterEnbOutSucc.Cause.RadioNetwork.RadioInterfaceProcedureFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1738.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1738.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1737.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1732.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1731.Alias2 = "HO.InterEnbOutSucc.RadioNetwork.TimeCriticalHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1731.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1731.X_SCM_Name = "HO.InterEnbOutSucc.Cause.RadioNetwork.TimeCriticalHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1730.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1729.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1729.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1728.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1723.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1722.Alias2 = "HO.InterEnbOutSucc.RadioNetwork.TS1RELOCoverall"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1722.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1722.X_SCM_Name = "HO.InterEnbOutSucc.Cause.RadioNetwork.TS1RELOCoverall"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1721.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1719.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1714.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1713.Alias2 = "HO.InterEnbOutAtt.Misc.UnknownPLMN"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1713.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1713.X_SCM_Name = "HO.InterEnbOutAtt.Cause.Misc.UnknownPLMN"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1712.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1710.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1710.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1705.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1704.Alias2 = "HO.InterEnbOutAtt.Protocol.MessageStateNotCompatible"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1704.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1704.X_SCM_Name = "HO.InterEnbOutAtt.Cause.Protocol.MessageStateNotCompatible"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1703.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1701.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1701.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1700.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1697.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1696.Alias2 = "HO.InterEnbOutAtt.Nas.NormalRelease"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1696.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1696.X_SCM_Name = "HO.InterEnbOutAtt.Cause.Nas.NormalRelease"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1695.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1693.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1693.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1692.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1688.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1687.Alias2 = "HO.InterEnbOutAtt.RadioNetwork.AlgoNotSupported"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1687.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1687.X_SCM_Name = "HO.InterEnbOutAtt.Cause.RadioNetwork.AlgoNotSupported"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1686.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1684.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1684.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1683.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1679.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1678.Alias2 = "HO.InterEnbOutAtt.RadioNetwork.CSFB"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1678.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1678.X_SCM_Name = "HO.InterEnbOutAtt.Cause.RadioNetwork.CSFB"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1677.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1675.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1675.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1674.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1669.Alias2 = "HO.InterEnbOutAtt.RadioNetwork.ENBUES1APIDError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1669.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1669.X_SCM_Name = "HO.InterEnbOutAtt.Cause.RadioNetwork.ENBUES1APIDError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1668.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1666.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1666.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1665.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1660.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1659.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1657.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1657.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1656.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1651.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1650.Alias2 = "HO.IntraEnbOutSucc.Misc.HardwareFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1650.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1650.X_SCM_Name = "HO.IntraEnbOutSucc.Cause.Misc.HardwareFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1648.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1648.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1647.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1642.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1641.Alias2 = "HO.IntraEnbOutSucc.Protocol.TransferSyntaxError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1641.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1641.X_SCM_Name = "HO.IntraEnbOutSucc.Cause.Protocol.TransferSyntaxError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1640.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1639.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1639.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1638.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1633.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1632.Alias2 = "HO.IntraEnbOutSucc.RadioNetwork.ErrorQCI"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1632.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1632.X_SCM_Name = "HO.IntraEnbOutSucc.Cause.RadioNetwork.ErrorQCI"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1631.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1629.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1624.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1623.Alias2 = "HO.IntraEnbOutSucc.RadioNetwork.IRATRedirection"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1623.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1623.X_SCM_Name = "HO.IntraEnbOutSucc.Cause.RadioNetwork.IRATRedirection"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1622.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1620.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1620.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1615.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1614.Alias2 = "HO.IntraEnbOutSucc.RadioNetwork.ServingCellReduceLoad"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1614.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1614.X_SCM_Name = "HO.IntraEnbOutSucc.Cause.RadioNetwork.ServingCellReduceLoad"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1613.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1611.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1611.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1610.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1606.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1605.Alias2 = "HO.IntraEnbOutSucc.RadioNetwork.CellNotAvailable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1605.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1605.X_SCM_Name = "HO.IntraEnbOutSucc.Cause.RadioNetwork.CellNotAvailable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1604.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1602.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1602.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1601.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1598.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1597.Alias2 = "HO.IntraEnbOutSucc.RadioNetwork.SuccessHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1597.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1597.X_SCM_Name = "HO.IntraEnbOutSucc.Cause.RadioNetwork.SuccessHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1596.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1594.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1594.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1593.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1589.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1588.Alias2 = "HO.IntraEnbOutAtt.Protocol.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1588.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1588.X_SCM_Name = "HO.IntraEnbOutAtt.Cause.Protocol.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1587.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1585.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1585.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1584.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1579.Alias2 = "HO.IntraEnbOutAtt.Nas.Detach"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1579.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1579.X_SCM_Name = "HO.IntraEnbOutAtt.Cause.Nas.Detach"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1578.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1576.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1576.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1575.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1570.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1569.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1567.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1567.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1566.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1561.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1560.Alias2 = "HO.IntraEnbOutAtt.RadioNetwork.UENotAvailableforPS"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1560.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1560.X_SCM_Name = "HO.IntraEnbOutAtt.Cause.RadioNetwork.UENotAvailableforPS"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1558.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1558.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1557.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1552.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1551.Alias2 = "HO.IntraEnbOutAtt.RadioNetwork.UES1APIDPairError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1551.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1551.X_SCM_Name = "HO.IntraEnbOutAtt.Cause.RadioNetwork.UES1APIDPairError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1550.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1549.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1549.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1548.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1543.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1542.Alias2 = "HO.IntraEnbOutAtt.RadioNetwork.HOFailureInTarget"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1542.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1542.X_SCM_Name = "HO.IntraEnbOutAtt.Cause.RadioNetwork.HOFailureInTarget"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1541.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1539.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1534.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1533.Alias2 = "ERAB.SessionTimeQCI.7"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1533.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1533.X_SCM_Name = "ERAB.SessionTimeQCI.QCI.7"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1532.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1530.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1530.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1525.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1524.Alias2 = "ERAB.ModQoSFailNbr.Misc.UnknownPLMN"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1524.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1524.X_SCM_Name = "ERAB.ModQoSFailNbr.Cause.Misc.UnknownPLMN"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1523.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1521.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1521.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1520.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1516.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1515.Alias2 = "ERAB.ModQoSFailNbr.Protocol.IgnoreAndNotify"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1515.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1515.X_SCM_Name = "ERAB.ModQoSFailNbr.Cause.Protocol.IgnoreAndNotify"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1514.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1512.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1512.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1511.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1507.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1506.Alias2 = "ERAB.ModQoSFailNbr.RadioNetwork.ErrorQCI"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1506.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1506.X_SCM_Name = "ERAB.ModQoSFailNbr.Cause.RadioNetwork.ErrorQCI"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1505.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1503.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1503.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1502.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1499.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1498.Alias2 = "ERAB.ModQoSFailNbr.RadioNetwork.TAULoadBalancing"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1498.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1498.X_SCM_Name = "ERAB.ModQoSFailNbr.Cause.RadioNetwork.TAULoadBalancing"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1497.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1495.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1495.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1494.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1489.Alias2 = "ERAB.ModQoSFailNbr.RadioNetwork.RadioResUnavailableInTarget"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1489.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1489.X_SCM_Name = "ERAB.ModQoSFailNbr.Cause.RadioNetwork.RadioResUnavailableInTarget"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1488.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1486.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1486.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1485.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1480.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1479.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1477.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1477.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1476.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1471.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1470.Alias2 = "ERAB.RelActNbr.5"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1470.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1470.X_SCM_Name = "ERAB.RelActNbr.QCI.5"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1468.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1468.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1467.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1462.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1461.Alias2 = "ERAB.RelFailNbr.Protocol.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1461.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1461.X_SCM_Name = "ERAB.RelFailNbr.Cause.Protocol.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1460.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1459.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1459.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1458.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1453.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1452.Alias2 = "ERAB.RelFailNbr.Nas.AuthenticationFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1452.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1452.X_SCM_Name = "ERAB.RelFailNbr.Cause.Nas.AuthenticationFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1451.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1449.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1444.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1443.Alias2 = "ERAB.RelFailNbr.RadioNetwork.S1IntraSystemHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1443.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1443.X_SCM_Name = "ERAB.RelFailNbr.Cause.RadioNetwork.S1IntraSystemHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1442.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1440.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1440.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1435.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1434.Alias2 = "ERAB.RelFailNbr.RadioNetwork.TAULoadBalancing"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1434.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1434.X_SCM_Name = "ERAB.RelFailNbr.Cause.RadioNetwork.TAULoadBalancing"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1433.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1431.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1431.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1430.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1426.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1425.Alias2 = "ERAB.RelFailNbr.RadioNetwork.RadioResUnavailableInTarget"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1425.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1425.X_SCM_Name = "ERAB.RelFailNbr.Cause.RadioNetwork.RadioResUnavailableInTarget"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1424.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1422.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1422.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1421.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1417.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1416.Alias2 = "ERAB.RelFailNbr.RadioNetwork.ReleaseForEUTRANReason"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1416.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1416.X_SCM_Name = "ERAB.RelFailNbr.Cause.RadioNetwork.ReleaseForEUTRANReason"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1415.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1413.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1413.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1412.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1408.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1407.Alias2 = "ERAB.RelEnbNbr.Misc.NotEnoughUserPlaneResources"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1407.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1407.X_SCM_Name = "ERAB.RelEnbNbr.Cause.Misc.NotEnoughUserPlaneResources"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1406.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1404.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1404.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1403.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1399.Alias2 = "ERAB.RelEnbNbr.Protocol.TransferSyntaxError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1399.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1399.X_SCM_Name = "ERAB.RelEnbNbr.Cause.Protocol.TransferSyntaxError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1398.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1396.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1396.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1395.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1390.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1389.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1387.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1387.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1386.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1381.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1380.Alias2 = "ERAB.RelEnbNbr.RadioNetwork.UERadioConnectionLost"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1380.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1380.X_SCM_Name = "ERAB.RelEnbNbr.Cause.RadioNetwork.UERadioConnectionLost"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1378.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1378.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1377.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1372.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1371.Alias2 = "ERAB.RelEnbNbr.RadioNetwork.UnknownTargetID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1371.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1371.X_SCM_Name = "ERAB.RelEnbNbr.Cause.RadioNetwork.UnknownTargetID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1370.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1369.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1369.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1368.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1363.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1362.Alias2 = "ERAB.RelEnbNbr.RadioNetwork.SuccessHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1362.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1362.X_SCM_Name = "ERAB.RelEnbNbr.Cause.RadioNetwork.SuccessHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1361.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1359.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1354.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1353.Alias2 = "ERAB.EstabTimeMax.2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1353.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1353.X_SCM_Name = "ERAB.EstabTimeMax.QCI.2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1352.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1350.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1350.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1345.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1344.Alias2 = "ERAB.EstabTimeMean.2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1344.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1344.X_SCM_Name = "ERAB.EstabTimeMean.QCI.2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1343.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1341.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1341.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1340.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1336.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1335.Alias2 = "ERAB.EstabAddFailNbr.Protocol.FalselyConstructedMessage"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1335.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1335.X_SCM_Name = "ERAB.EstabAddFailNbr.Cause.Protocol.FalselyConstructedMessage"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1334.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1332.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1332.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1331.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1327.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1326.Alias2 = "ERAB.EstabAddFailNbr.Nas.NormalRelease"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1326.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1326.X_SCM_Name = "ERAB.EstabAddFailNbr.Cause.Nas.NormalRelease"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1325.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1323.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1323.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1322.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1318.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1317.Alias2 = "ERAB.EstabAddFailNbr.RadioNetwork.CSFB"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1317.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1317.X_SCM_Name = "ERAB.EstabAddFailNbr.Cause.RadioNetwork.CSFB"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1316.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1314.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1314.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1313.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1309.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1308.Alias2 = "ERAB.EstabAddFailNbr.RadioNetwork.MMEUES1APIDError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1308.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1308.X_SCM_Name = "ERAB.EstabAddFailNbr.Cause.RadioNetwork.MMEUES1APIDError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1307.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1305.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1305.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1304.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1299.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1297.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1297.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1296.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1291.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1290.Alias2 = "ERAB.EstabInitFailNbr.Misc.HardwareFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1290.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1290.X_SCM_Name = "ERAB.EstabInitFailNbr.Cause.Misc.HardwareFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1288.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1288.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1287.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1282.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1281.Alias2 = "ERAB.EstabInitFailNbr.Nas.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1281.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1281.X_SCM_Name = "ERAB.EstabInitFailNbr.Cause.Nas.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1280.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1279.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1279.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1278.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1273.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1272.Alias2 = "ERAB.EstabInitFailNbr.RadioNetwork.UnknownERABID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1272.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1272.X_SCM_Name = "ERAB.EstabInitFailNbr.Cause.RadioNetwork.UnknownERABID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1271.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1269.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1264.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1263.Alias2 = "ERAB.EstabInitFailNbr.RadioNetwork.MMEUES1APIDError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1263.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1263.X_SCM_Name = "ERAB.EstabInitFailNbr.Cause.RadioNetwork.MMEUES1APIDError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1262.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1260.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1260.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1255.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1254.Alias2 = "ERAB.EstabInitFailNbr.RadioNetwork.HOCancel"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1254.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1254.X_SCM_Name = "ERAB.EstabInitFailNbr.Cause.RadioNetwork.HOCancel"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1253.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1251.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1251.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1250.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1246.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1245.Alias2 = "UECNTX.RelReq.Misc.NotEnoughUserPlaneResources"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1245.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1245.X_SCM_Name = "UECNTX.RelReq.Cause.Misc.NotEnoughUserPlaneResources"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1244.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1242.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1242.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1241.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1237.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1236.Alias2 = "UECNTX.RelReq.Nas.CSGSubscriptionExpiry"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1236.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1236.X_SCM_Name = "UECNTX.RelReq.Cause.Nas.CSGSubscriptionExpiry"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1235.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1233.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1233.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1232.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1228.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1227.Alias2 = "UECNTX.RelReq.RadioNetwork.S1InterSystemHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1227.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1227.X_SCM_Name = "UECNTX.RelReq.Cause.RadioNetwork.S1InterSystemHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1226.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1224.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1224.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1223.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1219.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1218.Alias2 = "UECNTX.RelReq.RadioNetwork.TAULoadBalancing"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1218.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1218.X_SCM_Name = "UECNTX.RelReq.Cause.RadioNetwork.TAULoadBalancing"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1217.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1215.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1215.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1214.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1209.Alias2 = "UECNTX.RelReq.RadioNetwork.RadioResUnavailableInTarget"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1209.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1209.X_SCM_Name = "UECNTX.RelReq.Cause.RadioNetwork.RadioResUnavailableInTarget"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1208.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1206.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1206.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1205.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1200.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1198.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1198.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1197.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1192.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1191.Alias2 = "RRC.ConnEstabTimeMax.MoSignalling"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1191.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1191.X_SCM_Name = "RRC.ConnEstabTimeMax.Cause.MoSignalling"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1190.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1189.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1189.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1188.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1183.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1182.Alias2 = "RRC.ConnEstabTimeMean.MtAccess"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1182.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1182.X_SCM_Name = "RRC.ConnEstabTimeMean.Cause.MtAccess"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1181.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1179.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1174.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1173.Alias2 = "RRC.ConnReEstabSucc.OtherFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1173.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1173.X_SCM_Name = "RRC.ConnReEstabSucc.Cause.OtherFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1172.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1170.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1170.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1165.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1164.Alias2 = "RRC.ConnEstabFail.MtAccess"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1164.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1164.X_SCM_Name = "RRC.ConnEstabFail.Cause.MtAccess"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1163.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1161.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1161.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1160.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1156.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1155.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1155.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1155.X_SCM_Name = "RACH.2ndAttemptedNumber"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1154.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1152.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1152.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1151.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1147.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1146.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1146.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1146.X_SCM_Name = "MAC.DlAckValueTotal"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1145.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1143.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1143.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1142.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1138.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1137.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1137.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1137.X_SCM_Name = "HO.S1InterFreqOutSucc"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1136.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1134.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1134.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1133.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1129.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1128.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1128.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1128.X_SCM_Name = "IRATHO.AvgTimeOutGeran.Exec"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1127.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1125.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1125.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1124.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1119.Alias2 = "ERAB.UsageNbrMax.6"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1119.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1119.X_SCM_Name = "ERAB.NbrMaxEstab.6"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1118.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1116.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1116.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1115.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1110.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1109.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1107.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1107.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1106.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1101.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1100.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1100.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1100.X_SCM_Name = "ERAB.NbrAttInitEstab.7"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1099.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1099.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1098.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1093.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1092.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1092.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1092.X_SCM_Name = "PDCP.UpLastTtiOctDl.9"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1091.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1089.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1084.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1083.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1083.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1083.X_SCM_Name = "PDCP.UpLastTtiOctDl"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1082.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1080.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1080.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1075.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1074.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1074.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1074.X_SCM_Name = "PDCP.UpLastTtiOctUl.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1073.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1071.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1071.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1070.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1066.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1065.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1065.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1065.X_SCM_Name = "PDCP.UpPktTotDelayDl.2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1064.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1062.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1062.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1061.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1057.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1056.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1056.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1056.X_SCM_Name = "PDCP.ThrpTimeDL.3"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1055.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1053.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1053.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1052.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1048.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1047.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1047.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1047.X_SCM_Name = "RRU.PdcchCceUtil.UlDciSfForUl"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1046.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1044.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1044.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1043.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1039.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1038.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1038.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1038.X_SCM_Name = "RRU.DtchPrbAssnUl"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1037.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1035.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1035.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1034.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1029.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1029.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1029.X_SCM_Name = "MAC.NbrRbDl.Tm9.RANK2BF"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1028.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1026.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1026.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1025.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1020.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1019.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1017.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1017.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1016.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1011.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1010.Alias2 = "DRB.PdcpSduBitrateUlMax"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1010.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1010.X_SCM_Name = "PDCP.UpPeakBitrateUl "
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1008.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1008.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1007.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1002.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1001.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1001.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1001.X_SCM_Name = "ERAB.NbrFailEstab.CauseUnSpecifieFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1000.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.999.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.999.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.998.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.993.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.992.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.992.Alias = "cpe-pm-interfreq-ho-out-serve-rsrp"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.992.X_SCM_Name = "HO.OutInterFreqServeRSRP"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.991.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.989.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.984.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.983.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.983.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.983.X_SCM_Name = "RRU.TtiMaxDl"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.982.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.980.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.980.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.975.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.974.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.974.Alias = "cpe-pm-mpo-inc-reselect-diff-tac-primary-plmn"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.974.X_SCM_Name = "MPO.ReselectIncDiffTacPrimaryPLMN"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.973.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.971.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.971.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.970.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.966.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.965.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.965.Alias = "cpe-pm-covg-core-area-vip-ue-total-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.965.X_SCM_Name = "COVG.CoreVipUeTotalNbr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.964.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.962.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.962.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.961.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.957.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.956.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.956.Alias = "cpe-pm-covg-vip-ue-core-area-tm"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.956.X_SCM_Name = "COVG.CoreTime.VipUe"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.955.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.953.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.953.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.952.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.948.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.947.Alias2 = "PHY.ULMaxNL.93"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.947.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.947.X_SCM_Name = "PHY.ULMaxNL.PRB93"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.946.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.944.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.944.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.943.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.939.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.938.Alias2 = "PHY.ULMaxNL.84"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.938.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.938.X_SCM_Name = "PHY.ULMaxNL.PRB84"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.937.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.935.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.935.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.934.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.929.Alias2 = "PHY.ULMaxNL.75"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.929.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.929.X_SCM_Name = "PHY.ULMaxNL.PRB75"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.928.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.926.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.926.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.925.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.920.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.919.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.917.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.917.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.916.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.911.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.910.Alias2 = "PHY.ULMaxNL.56"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.910.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.910.X_SCM_Name = "PHY.ULMaxNL.PRB56"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.908.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.908.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.907.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.902.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.901.Alias2 = "PHY.ULMaxNL.47"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.901.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.901.X_SCM_Name = "PHY.ULMaxNL.PRB47"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.900.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.899.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.894.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.893.Alias2 = "PHY.ULMaxNL.39"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.893.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.893.X_SCM_Name = "PHY.ULMaxNL.PRB39"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.892.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.890.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.890.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.885.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.884.Alias2 = "PHY.ULMaxNL.30"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.884.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.884.X_SCM_Name = "PHY.ULMaxNL.PRB30"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.883.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.881.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.881.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.880.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.876.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.875.Alias2 = "PHY.ULMaxNL.21"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.875.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.875.X_SCM_Name = "PHY.ULMaxNL.PRB21"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.874.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.872.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.872.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.871.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.867.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.866.Alias2 = "PHY.ULMaxNL.12"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.866.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.866.X_SCM_Name = "PHY.ULMaxNL.PRB12"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.865.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.863.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.863.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.862.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.858.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.857.Alias2 = "PHY.ULMaxNL.3"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.857.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.857.X_SCM_Name = "PHY.ULMaxNL.PRB3"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.856.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.854.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.854.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.853.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.849.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.848.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.848.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.848.X_SCM_Name = "EQPT.MaxMeLoad"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.847.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.845.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.845.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.844.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.839.Alias2 = "PHY.ULMeanNL.92"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.839.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.839.X_SCM_Name = "PHY.ULMeanNL.PRB92"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.838.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.836.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.836.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.835.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.830.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.829.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.827.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.827.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.826.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.821.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.820.Alias2 = "PHY.ULMeanNL.73"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.820.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.820.X_SCM_Name = "PHY.ULMeanNL.PRB73"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.818.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.818.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.817.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.812.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.811.Alias2 = "PHY.ULMeanNL.64"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.811.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.811.X_SCM_Name = "PHY.ULMeanNL.PRB64"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.810.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.809.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.809.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.808.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.803.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.802.Alias2 = "PHY.ULMeanNL.55"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.802.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.802.X_SCM_Name = "PHY.ULMeanNL.PRB55"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.801.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.795.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.794.Alias2 = "PHY.ULMeanNL.47"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.794.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.794.X_SCM_Name = "PHY.ULMeanNL.PRB47"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.793.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.791.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.791.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.790.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.786.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.785.Alias2 = "PHY.ULMeanNL.38"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.785.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.785.X_SCM_Name = "PHY.ULMeanNL.PRB38"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.784.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.782.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.782.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.781.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.777.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.776.Alias2 = "PHY.ULMeanNL.29"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.776.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.776.X_SCM_Name = "PHY.ULMeanNL.PRB29"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.775.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.773.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.773.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.772.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.768.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.767.Alias2 = "PHY.ULMeanNL.20"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.767.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.767.X_SCM_Name = "PHY.ULMeanNL.PRB20"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.766.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.764.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.764.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.763.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.759.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.758.Alias2 = "PHY.ULMeanNL.11"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.758.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.758.X_SCM_Name = "PHY.ULMeanNL.PRB11"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.757.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.755.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.755.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.754.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.749.Alias2 = "PHY.ULMeanNL.2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.749.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.749.X_SCM_Name = "PHY.ULMeanNL.PRB2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.748.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.746.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.746.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.745.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.740.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.739.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.737.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.737.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.736.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.731.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.730.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.730.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.730.X_SCM_Name = "RRU.DtchPrbAssnTotalDl.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.728.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.728.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.727.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.722.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.721.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.721.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.721.X_SCM_Name = "RRU.DtchPrbAssnMeanDl"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.720.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.719.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.719.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.718.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.713.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.712.Alias2 = "DRB.PdcpSduDropRateDl.2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.712.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.712.X_SCM_Name = "PDCP.UpPktDiscardDl.2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.711.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.709.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.704.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.703.Alias2 = "DRB.PdcpSduDelayDl.2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.703.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.703.X_SCM_Name = "PDCP.UpPktDelayDl.2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.702.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.700.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.700.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.696.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.695.Alias2 = "DRB.PdcpSduAirLossRateDl.4"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.695.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.695.X_SCM_Name = "PDCP.NbrPktLossDl.4"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.694.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.692.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.692.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.691.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.687.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.686.Alias2 = "DRB.IPThpDl.4"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.686.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.686.X_SCM_Name = "PDCP.NbrPktDl.4"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.685.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.683.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.683.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.682.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.678.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.677.Alias2 = "DRB.PdcpSduLossRateUl.4"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.677.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.677.X_SCM_Name = "PDCP.NbrPktLossUl.4"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.676.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.674.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.674.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.673.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.669.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.668.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.668.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.668.X_SCM_Name = "PDCP.NbrPktUl.4"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.667.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.665.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.665.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.664.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.659.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.659.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.659.X_SCM_Name = "PDCP.UpOctDl.6"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.658.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.656.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.656.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.655.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.650.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.649.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.647.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.647.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.646.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.641.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.640.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.640.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.640.X_SCM_Name = "IRATHO.FailPrepOutUtran.RRCReConn"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.638.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.638.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.637.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.632.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.631.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.631.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.631.X_SCM_Name = "IRATHO.FailPrepOutGeran.othCause"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.630.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.629.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.629.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.628.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.623.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.622.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.622.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.622.X_SCM_Name = "HO.AvgTimeInterEnbX2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.621.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.619.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.614.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.613.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.613.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.613.X_SCM_Name = "HO.AvgTimeInterEnbS1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.612.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.610.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.610.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.605.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.604.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.604.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.604.X_SCM_Name = "CONTEXT.NbrLeft"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.603.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.601.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.601.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.600.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.597.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.596.Alias2 = "ERAB.EstabInitFailNbr.RadioNetwork.RedirectTo1xRTT"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.596.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.596.X_SCM_Name = "CONTEXT.FailInitalSetup.RedirectionTowards1xRTT"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.595.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.593.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.593.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.592.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.588.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.587.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.587.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.587.X_SCM_Name = "ERAB.NbrLeft.7"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.586.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.584.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.584.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.583.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.579.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.578.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.578.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.578.X_SCM_Name = "ERAB.HoFail.7"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.577.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.575.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.575.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.574.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.569.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.569.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.569.X_SCM_Name = "ERAB.NbrReqRelEnb.Normal.8"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.568.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.566.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.566.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.565.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.560.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.559.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.557.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.557.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.556.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.551.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.550.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.550.Alias = "ERAB.NbrSuccEstab.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.550.X_SCM_Name = "ERAB.NbrSuccEstab.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.548.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.548.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.547.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.542.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.541.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.541.Alias = "ERAB.NbrAttEstab.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.541.X_SCM_Name = "ERAB.NbrAttEstab.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.540.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.539.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.539.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.538.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.533.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.532.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.532.Alias = "ERAB.NbrHoInc.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.532.X_SCM_Name = "ERAB.NbrHoInc.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.531.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.529.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.524.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.523.Alias2 = "ERAB.UsageNbrMean.3"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.523.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.523.X_SCM_Name = "ERAB.NbrMeanEstab.3"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.522.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.520.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.520.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.515.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.514.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.514.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.514.X_SCM_Name = "ERAB.NbrReqRelEnb.5"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.513.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.511.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.511.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.510.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.506.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.505.Alias2 = "ERAB.RelEnbNbr.RadioNetwork.IRATRedirection"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.505.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.505.X_SCM_Name = "ERAB.NbrReqRelEnb.InterRATRedirection"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.504.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.502.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.502.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.501.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.498.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.497.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.497.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.497.X_SCM_Name = "RRC.AttConnReestab.RlFail"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.496.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.494.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.494.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.493.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.489.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.488.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.488.Alias = "cpe-pm-covg-edge-area-ue-first-rept"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.488.X_SCM_Name = "COVG.EdgeUeFirstRept"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.487.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.485.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.485.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.484.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.479.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.479.Alias = "cpe-pm-covg-ue-edge-area-tm"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.479.X_SCM_Name = "COVG.EdgeTime"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.478.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.476.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.476.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.475.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.470.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.469.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.467.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.467.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.466.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.461.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.460.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.460.Alias = "cpe-pm-mro-handle-too-late-ho-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.460.X_SCM_Name = "MRO.HandleTooLateHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.458.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.458.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.457.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.452.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.451.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.451.Alias = "cpe-pm-anr-add-utran-neigh-succ-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.451.X_SCM_Name = "ANR.SuccNbr.Utran"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.450.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.449.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.449.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.448.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.443.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.442.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.442.Alias = "cpe-pm-rach-access-delay-v2-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.442.X_SCM_Name = "RRU.RachAccessDelayDist.Bad"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.441.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.439.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.434.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.433.Alias2 = "RRU.RachPreambleAMean"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.433.Alias = "cpe-pm-rach-recv-preamble-a-mean-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.433.X_SCM_Name = "RRU.RachPreambleAMean"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.432.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.430.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.430.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.425.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.424.Alias2 = "ERAB.ModQoSFailNbr.RadioNetwork.X2HO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.424.Alias = "cpe-pm-rab-modi-fail-nr-x2hotri"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.424.X_SCM_Name = "ERAB.ModQoSFailNbr.X2HandoverTriggered"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.423.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.421.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.421.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.420.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.416.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.415.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.415.Alias = "cpe-pm-mme-rel-rab-nr-congestion"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.415.X_SCM_Name = "ERAB.RelMmeNbr.Congestion"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.414.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.412.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.412.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.411.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.407.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.406.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.406.Alias = "cpe-pm-mme-rel-rab-nr-oth"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.406.X_SCM_Name = "ERAB.RelMmeNbr.Miscellaneous"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.405.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.403.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.403.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.402.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.399.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.398.Alias2 = "ERAB.RelFailNbr.RadioNetwork.UES1APIDPairError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.398.Alias = "cpe-pm-mme-rel-rab-fail-nr-mmeid-pairerr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.398.X_SCM_Name = "ERAB.RelFailNbr.UeS1apIdPairError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.397.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.395.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.395.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.394.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.389.Alias2 = "ERAB.EstabAddFailNbr.Misc.ControlProcessingOverload"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.389.Alias = "cpe-pm-init-addrab-est-fail-ctrlpl-overload"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.389.X_SCM_Name = "ERAB.EstabAddFailNbr.ControlProcessingOverload"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.388.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.386.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.386.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.385.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.380.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.379.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.377.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.377.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.376.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.371.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.370.Alias2 = "ERAB.EstabInitFailNbr.RadioNetwork.MultipleERABID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.370.Alias = "cpe-pm-init-rab-est-fail-nr-multi-rabid"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.370.X_SCM_Name = "ERAB.EstabInitFailNbr.MultipleErabId "
+ Device.PeriodicStatistics.SampleSet.1.Parameter.368.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.368.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.367.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.362.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.361.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.361.Alias = "cpe-pm-rrc-recfg-fail-nr-mobifalt"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.361.X_SCM_Name = "RRC.FailConnReconfig.MobilityFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.360.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.359.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.359.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.358.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.353.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.352.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.352.Alias = "cpe-pm-rrc-recfg-fail-nr-srsallc"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.352.X_SCM_Name = "RRC.FailConnReconfig.Srs"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.351.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.349.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.344.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.343.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.343.Alias = "cpe-pm-rrc-recfg-succ-nr-reest-recfg"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.343.X_SCM_Name = "RRC.SuccConnReconfig.RrcReestablish"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.342.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.340.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.340.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.335.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.334.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.334.Alias = "cpe-pm-rrc-recfg-req-nr-intracell-ho"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.334.X_SCM_Name = "RRC.AttConnReconfig.HandOverIntraCell"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.333.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.331.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.331.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.330.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.326.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.325.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.325.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.325.X_SCM_Name = "RRC.SuccConnReestab.RlFail"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.324.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.322.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.322.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.321.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.317.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.316.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.316.Alias = "cpe-pm-rrc-reest-fail-tolnr-admjuge"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.316.X_SCM_Name = "RRC.ConnReEstabFail.AccessJudgeFail"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.315.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.313.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.313.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.312.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.308.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.307.Alias2 = "RRC.ConnEstabFaileNBCause.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.307.Alias = "cpe-pm-rrc-estab-fail-nr-per-oth"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.307.X_SCM_Name = "RRC.FailConnEstab.Others"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.306.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.304.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.304.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.303.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.299.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.299.Alias = "cpe-pm-rrc-estab-fail-nr-pucchallc"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.299.X_SCM_Name = "RRC.FailConnEstab.PucchAllocFail"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.298.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.296.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.296.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.295.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.290.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.289.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.287.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.287.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.286.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.281.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.280.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.280.Alias = "cpe-pm-sctpasso-recv-databloc-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.280.X_SCM_Name = "SIG.SctpDataChunkReceived"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.278.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.278.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.277.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.272.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.271.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.271.Alias = "cpe-pm-recv-abort-nr-inval-mand-para"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.271.X_SCM_Name = "SIG.SctpAbort.ParameterInvalid"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.270.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.269.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.269.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.268.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.263.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.262.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.262.Alias = "cpe-pm-gw-heartbeatack-outtime-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.262.X_SCM_Name = "SIG.SctpHBTimeout"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.261.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.259.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.254.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.253.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.253.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.253.X_SCM_Name = "MAC.NbrTbDl.Tm5"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.252.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.250.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.250.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.245.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.244.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.244.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.244.X_SCM_Name = "MAC.NbrSuccInitTbDl.16Qam.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.243.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.241.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.241.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.240.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.236.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.235.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.235.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.235.X_SCM_Name = "MAC.NbrSuccInitTbUl.64Qam.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.234.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.232.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.232.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.231.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.227.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.226.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.226.Alias = "cpe-pm-mac-ul-tr-init-tb-num-qpsk"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.226.X_SCM_Name = "MAC.NbrInitTbUl.Qpsk"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.225.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.223.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.223.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.222.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.218.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.217.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.217.Alias = "cpe-pm-2utr-ho-pre-fail-nores"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.217.X_SCM_Name = "SRVCC.FailPrepOutUtran.NoResponse"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.216.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.214.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.214.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.213.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.209.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.208.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.208.Alias = "cpe-pm-2ger-srvccho-exereq-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.208.X_SCM_Name = "SRVCC.AttOutExecGeran"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.207.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.205.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.205.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.204.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.199.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.197.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.197.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.196.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.191.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.190.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.190.Alias = "cpe-pm-volte-interenb-s1ho-cancel-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.190.X_SCM_Name = "VoLTE.HO.CancelOutInterEnbS1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.188.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.188.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.187.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.182.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.181.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.181.Alias = "cpe-pm-volte-interenb-s1ho-req-nr-interfreq"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.181.X_SCM_Name = "VoLTE.HO.AttOutInterEnbS1.InterFreq"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.180.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.179.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.179.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.178.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.173.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.172.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.172.Alias = "cpe-pm-intersys-ps-ho-req-nr-eutr-tds"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.172.X_SCM_Name = "IRATHO.AttOutTdscdma"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.171.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.169.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.164.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.163.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.163.Alias = "cpe-pm-ho-fail-s1-prefail"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.163.X_SCM_Name = "HO.FailOut.S1Prep"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.162.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.160.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.160.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.155.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.154.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.154.Alias = "cpe-pm-inter-freq-ho-req-nr-lb"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.154.X_SCM_Name = "HO.OutAttInterFreq.LoadBalance"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.153.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.151.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.151.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.150.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.146.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.145.Alias2 = "DRB.PdcpSduBitrateUl.7"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.145.Alias = "cpe-pm-pdcp-ulup-send-q7"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.145.X_SCM_Name = "DRB.PdcpSduBitLenUl.7"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.144.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.142.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.142.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.141.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.137.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.136.Alias2 = "DRB.PdcpSduBitrateDl.7"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.136.Alias = "cpe-pm-pdcp-dlup-send-q7"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.136.X_SCM_Name = "DRB.PdcpSduBitLenDl.7"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.135.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.133.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.133.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.132.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.128.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.127.Alias2 = "ERAB.ModQoSSuccNbr.8"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.127.Alias = "cpe-pm-rab-succ-modi-nr-q8"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.127.X_SCM_Name = "ERAB.NbrSuccMod.8"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.126.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.124.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.124.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.123.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.119.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.118.Alias2 = "ERAB.ModQoSAttNbr.4"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.118.Alias = "cpe-pm-rab-att-modi-nr-q4"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.118.X_SCM_Name = "ERAB.NbrAttMod.4"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.117.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.115.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.115.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.114.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.109.Alias2 = "ERAB.RelSuccNbr.8"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.109.Alias = "cpe-pm-rab-mme-succrel-nr-q8"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.109.X_SCM_Name = "ERAB.RelSuccNbr.8"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.108.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.106.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.106.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.105.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.100.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.99.Alias2 = "ERAB.RelSuccNbr.3"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.99.Alias = "cpe-pm-rab-mme-succrel-nr-q3"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.99.X_SCM_Name = "ERAB.RelSuccNbr.3"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.98.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.96.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.96.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.95.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.90.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.89.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.87.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.87.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.86.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.81.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.80.Alias2 = "ERAB.EstabAddSuccNbr.7"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.80.Alias = "cpe-pm-add-rab-succ-nr-q7"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.80.X_SCM_Name = "ERAB.EstabAddSuccNbr.7"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.78.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.78.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.77.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.72.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.71.Alias2 = "ERAB.EstabAddAttNbr.3"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.71.Alias = "cpe-pm-add-rab-att-nr-q3"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.71.X_SCM_Name = "ERAB.EstabAddAttNbr.3"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.70.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.69.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.69.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.68.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.63.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.62.Alias2 = "ERAB.EstabInitSuccNbr.7"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.62.Alias = "cpe-pm-init-rab-succ-nr-q7"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.62.X_SCM_Name = "ERAB.EstabInitSuccNbr.7"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.61.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.59.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.54.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.53.Alias2 = "ERAB.EstabInitAttNbr.3"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.53.Alias = "cpe-pm-init-rab-att-nr-q3"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.53.X_SCM_Name = "ERAB.EstabInitAttNbr.3"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.52.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.50.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.50.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.45.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.44.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.44.Alias = "cpe-pm-iot-v1-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.44.X_SCM_Name = "CARR.IOT.11To20"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.43.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.41.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.41.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.40.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.36.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.35.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.35.Alias = "cpe-pm-gtp-rx-bytes"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.35.X_SCM_Name = "S1.IncNbrOctGtpU"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.34.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.32.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.32.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.31.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.27.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.26.Alias2 = "PAG.DiscardedNbr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.26.Alias = "cpe-pm-paging-loss-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.26.X_SCM_Name = "PAG.PagDiscarded"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.25.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.23.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.23.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.22.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.18.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.17.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.17.Alias = "cpe-pm-pdcp-ul-avg-rt"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.17.X_SCM_Name = "DRB.PdcpSduBitrateUl"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.16.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.14.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.14.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.13.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.7.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.6.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.6.Alias = "cpe-pm-rab-fail-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.6.X_SCM_Name = "ERAB.EstabFailNbr.AccessJudgeFail"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.5.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.3.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.3.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.ForceSample = 0
+ Device.PeriodicStatistics.SampleSet.1.FetchSamples = 0
+ Device.PeriodicStatistics.SampleSet.1.Name = "HeNB-T"
+ Device.PeriodicStatistics.SampleSet.0.X_SCM_SampleSetFileFormat = ""
+ Device.Firewall.Chain.1.Rule.3.DestPort = -1
+ Device.Firewall.Chain.1.Rule.1.DestIP = ""
+ Device.Firewall.Chain.1.Rule.1.Enable = 0
+ Device.Firewall.Chain.0.Rule.0.Target = "Drop"
+ Device.Firewall.Chain.0.Enable = 0
+ Device.Firewall.LastChange = 0001-01-01T00:00:00Z
+ Device.SmartCardReaders.SmartCardReader.1.SmartCard.SerialNumber = ""
+ Device.DHCPv6.Client.1.ReceivedOption.0.Server = ""
+ Device.DHCPv6.Client.1.SentOptionNumberOfEntries = 1
+ Device.DHCPv6.Client.0.SentOption.0.Value =
+ Device.DHCPv4.Server.Pool.1.Interface = "Device.IP.Interface.3"
+ Device.DHCPv4.Server.Pool.1.Enable = 1
+ Device.DHCPv4.Server.Pool.0.MaxAddress = ""
+ Device.DHCPv4.Client.1.ReqOption.0.Tag = 1
+ Device.DHCPv4.Client.1.SentOption.0.Alias = ""
+ Device.DHCPv4.Client.1.IPAddress = ""
+ Device.DNS.Client.Server.2.Interface = "Device.IP.Interface.1"
+ Device.Routing.Router.1.IPv6Forwarding.1.Interface = "Device.IP.Interface.1."
+ Device.Routing.Router.1.IPv6Forwarding.1.Enable = 0
+ Device.Routing.Router.1.IPv4Forwarding.1.X_SCM_RouteTableName = ""
+ Device.Routing.Router.1.IPv4Forwarding.1.ForwardingMetric = -1
+ Device.Routing.Router.1.IPv4Forwarding.1.GatewayIPAddress = "10.76.28.1"
+ Device.Routing.Router.1.IPv6Forwarding.0.Status = "Disabled"
+ Device.Routing.Router.0.IPv6Forwarding.0.ForwardingMetric = -1
+ Device.Routing.Router.0.IPv6Forwarding.0.DestIPPrefix = ""
+ Device.IP.Diagnostics.IPPing.MinimumResponseTime = 0
+ Device.IP.Diagnostics.IPPing.DSCP = 0
+ Device.IP.Interface.5.IPv6Address.0.Prefix = ""
+ Device.IP.Interface.4.IPv6Address.1.Prefix = ""
+ Device.IP.Interface.4.IPv6Address.0.IPAddress = ""
+ Device.IP.Interface.4.IPv6Address.0.Enable = 0
+ Device.IP.Interface.3.IPv6Address.1.IPAddress = ""
+ Device.IP.Interface.3.IPv6Address.1.Enable = 0
+ Device.IP.Interface.3.IPv4Address.0.AddressingType = "DHCP"
+ Device.IP.Interface.2.IPv6Address.2.IPAddress = ""
+ Device.IP.Interface.2.IPv6Address.2.Enable = 0
+ Device.IP.Interface.2.IPv4Address.1.AddressingType = "Static"
+ Device.IP.Interface.2.Alias = "cpe-ifr-vlan"
+ Device.IP.Interface.1.IPv4Address.2.AddressingType = "Static"
+ Device.IP.Interface.1.IPv6Address.0.Origin = "Static"
+ Device.IP.Interface.1.MaxMTUSize = 1500
+ Device.IP.X_SCM_NetworkDetectPreType = "IPv4-2"
+ Device.IP.X_SCM_NetworkDetectIPv4 = 0
+ Device.IP.X_SCM_NetworkDetectEnable = 0
+ Device.Ethernet.Interface.2.X_SCM_FarPortLocation = ""
+ Device.Ethernet.Interface.2.X_SCM_PortRate = -1
+ Device.Ethernet.Interface.1.Enable = 1
+ Device.Ethernet.Interface.0.X_SCM_PortType = 2
+ Device.Ethernet.Interface.0.Status = ""
+ Device.Time.CurrentLocalTime = 0001-01-01T00:00:00Z
+ Device.ManagementServer.X_SCM_InitNetconfClientIPAddress = ""
+ Device.ManagementServer.ConnectionRequestPassword = "test"
+ Device.ManagementServer.ParameterKey = ""
+ Device.DeviceInfo.VendorLogFile.1.X_SCM_LogControl.X_SCM_CellTracePassword = ""
+ Device.DeviceInfo.TemperatureStatus.TemperatureSensor.1.X_SCM_RF_Warning_ThresholdValue = 120
+ Device.DeviceInfo.TemperatureStatus.TemperatureSensor.1.X_SCM_PowerOffThresholdValue = 100
+ Device.DeviceInfo.TemperatureStatus.TemperatureSensor.1.MaxTime = 2021-10-26T02:37:59
+ Device.DeviceInfo.TemperatureStatus.TemperatureSensor.1.MaxValue = 44
+ Device.DeviceInfo.TemperatureStatus.TemperatureSensor.1.Enable = 1
+ Device.DeviceInfo.TemperatureStatus.TemperatureSensor.0.ResetTime = 0001-01-01T00:00:00Z
+ Device.DeviceInfo.X_SCM_AdditionalUpgradeInfo = ""
+ Device.DeviceInfo.X_SCM_UserLabel = ""
+ Device.Services.FAPService.1.Transport.Packet.EchoInterval = 0
+ Device.Services.FAPService.1.Transport.RealTime.Perf.MaxFarEndJitter = 0
+ Device.Services.FAPService.1.Transport.RealTime.X_SCM_DSCP = "0x11,0x21"
+ Device.Services.FAPService.1.Transport.SCTP.Assoc.0.RemotePort = ".X_SCM_RemotePort"
+ Device.Services.FAPService.1.Transport.SCTP.X_SCM_S1_Status = 0
+ Device.Services.FAPService.1.Transport.SCTP.ChecksumErrors = 0
+ Device.Services.FAPService.1.REM.LTE.Cell.0.BCCH.X_SCM_ServFreqReselectionPriority = 0
+ Device.Services.FAPService.1.REM.LTE.Cell.0.BCCH.RSTxPower = -1
+ Device.Services.FAPService.1.REM.LTE.X_SCM_EARFCN_SON_Algo.X_SCM_AllEarfcnBeenUsed_Weight = 4
+ Device.Services.FAPService.1.REM.LTE.X_SCM_EARFCN_SON_Algo.X_SCM_NeighborRSRP_Weight = 3
+ Device.Services.FAPService.1.REM.LTE.X_SCM_PTP_Cfg.X_SCM_PTPConfigPCP = -1
+ Device.Services.FAPService.1.REM.LTE.X_SCM_PTP_Cfg.X_SCM_PTPConfigUnicastMaster = "0.0.0.0 0 0 0"
+ Device.Services.FAPService.1.REM.LTE.X_SCM_PTP_Cfg.X_SCM_PTPConfigDomainNumber = 44
+ Device.Services.FAPService.1.REM.LTE.MaxCarrierMeasEntries = 16
+ Device.Services.FAPService.1.REM.LTE.X_SCM_MacroCellSyncOnlyThresholdRSRP = -115
+ Device.Services.FAPService.1.REM.LTE.X_SCM_EarfcnInuseInterferenceRSSIThreshold = -80
+ Device.Services.FAPService.1.REM.LTE.X_SCM_ENBHeNBDisAlgByRSTPThreshold = 1
+ Device.Services.FAPService.1.REM.X_SCM_tfcsManagerConfig.firstSampleTime = 3000
+ Device.Services.FAPService.1.REM.X_SCM_tfcsManagerConfig.ntpFreqTolerance = 200000
+ Device.Services.FAPService.1.REM.X_SCM_tfcsManagerConfig.ftr1 = 200
+ Device.Services.FAPService.1.REM.UMTS.X_SCM_TDSCDMA.Cell.0.X_SCM_RF.0.CellType = ""
+ Device.Services.FAPService.1.REM.UMTS.X_SCM_TDSCDMA.Cell.0.X_SCM_RF.0.PLMNID = ""
+ Device.Services.FAPService.1.REM.UMTS.WCDMA.Cell.0.BCCH.RAC = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborListInUse2.LTECell.0.Blacklisted = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborListInUse2.LTECell.0.X_SCM_RSRP = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborListInUse2.LTECell.0.PLMNID = ""
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborListInUse.InterRATCell.GSM.0.X_SCM_SrcType = ""
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborListInUse.InterRATCell.GSM.0.X_SCM_RAC = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborListInUse.InterRATCell.GSM.0.BSIC = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborListInUse.InterRATCell.UMTS.0.UARFCNDL = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborListInUse.LTECell.0.Blacklisted = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborListInUse.LTECell.0.X_SCM_RSRP = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborListInUse.LTECell.0.PLMNID = ""
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.CDMA2000.1.ARFCN = 1000
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.CDMA2000.0.PNOffset = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.CDMA2000.0.MustInclude = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.CDMA2000.0.Enable = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.GSM.0.MustInclude = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.GSM.0.Enable = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.UMTS.0.X_SCM_HO_STATUS = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.LTECell.0.X_SCM_PRACH_FREQUENCY_OFFSET = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.LTECell.0.TAC = ".X_SCM_TAC"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.LTECell.0.QOffset = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_PhyInUse.X_SCM_ReferenceSignalPowerInUse2 = ""
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_PhyInUse.X_SCM_ReferenceSignalPowerInUse = ""
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_PhyInUse.X_SCM_PhyCellIdInUse2 = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_PhyInUse.X_SCM_PhyCellIdInUse = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_PhyInUse.X_SCM_EarfcnInUseUL = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B2MeasureCtrl.2.B2Threshold1EutraRSRP = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B2Threshold1EUTRARSRP"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B2MeasureCtrl.1.B2Threshold2UTRAEcN0 = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B2Threshold2UTRAEcN0"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B2MeasureCtrl.1.B2Threshold1EutraRSRQ = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B2Threshold1EUTRARSRQ"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B2MeasureCtrl.0.TimeToTrigger = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.TimeToTrigger"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B2MeasureCtrl.0.B2Threshold2CDMA2000 = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B2Threshold2CDMA2000"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B1MeasureCtrl.2.B1ThresholdCDMA2000 = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B1ThresholdCDMA2000"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B1MeasureCtrl.1.TimeToTrigger = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.TimeToTrigger"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B1MeasureCtrl.0.MaxReportCells = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.MaxReportCells"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B2MeasureCtrlNumberOfEntries = 2
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B1ThresholdGERAN = 15
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.X_SCM_A2ForBlindRedirection.BlindRedirectionEnable = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.X_SCM_A2ForIRATCS.Hysteresis = "0"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.PeriodMeasCtrl.1.ReportInterval = "Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_AnrTriceIntervalCount"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.PeriodMeasCtrl.0.ReportAmount = "Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_AnrReportAmount"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A5MeasureCtrl.1.ReportAmount = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.ReportAmount"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A5MeasureCtrl.0.Hysteresis = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.Hysteresis"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A5MeasureCtrl.0.A5Threshold1RSRP = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A5Threshold1RSRP"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A4MeasureCtrl.1.Hysteresis = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.Hysteresis"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A4MeasureCtrl.1.A4ThresholdRSRP = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A4ThresholdRSRP"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A4MeasureCtrl.0.A4ThresholdRSRQ = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A4ThresholdRSRQ"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A3MeasureCtrl.2.Hysteresis = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.Hysteresis"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A3MeasureCtrl.0.TriggerQuantity = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.TriggerQuantity"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A2MeasureCtrl.5.ReportInterval = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.ReportInterval"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A2MeasureCtrl.5.A2ThresholdRSRP = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A2ThresholdRSRP"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A2MeasureCtrl.5.Enable = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A2MeasureCtrl.4.ReportAmount = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.ReportAmount"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A2MeasureCtrl.4.A2ThresholdRSRQ = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A2ThresholdRSRQ"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A2MeasureCtrl.3.Hysteresis = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.Hysteresis"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A2MeasureCtrl.1.TriggerQuantity = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.TriggerQuantity"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A2MeasureCtrl.0.TimeToTrigger = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.TimeToTrigger"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A1MeasureCtrl.2.TriggerQuantity = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.TriggerQuantity"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A1MeasureCtrl.1.TimeToTrigger = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.TimeToTrigger"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A1MeasureCtrl.0.ReportQuantity = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.ReportQuantity"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A1MeasureCtrl.0.MaxReportCells = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.MaxReportCells"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.MeasureCtrl.Smeasure = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.X_SCM_SMeasure"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.MaxPeriodMeasCtrlEntries = 16
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A2MeasureCtrlNumberOfEntries = 5
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.X_SCM_HandOverToEUTRANProhibitTimer = 1000
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.X_SCM_FastMovingUeStayedTime = 5
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.X_SCM_INTER_MeasEvent = 5
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.X_SCM_SMeasure = 75
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.FilterCoefficientRSRP = "4"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.CDMA2000.X_SCM_ue_generic_cdma2000_params.X_SCM_gcsna_l2_ack_timer = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.CDMA2000.X_SCM_ue_generic_cdma2000_params.X_SCM_pilot_report = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.CDMA2000.X_SCM_MOBILITY_SIB_8_PARAMS.PACKET_ZONE_ID = 33
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.CDMA2000.X_SCM_MOBILITY_SIB_8_PARAMS.REG_PRD = 58
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.CDMA2000.CDMA2000Band.1.BandClass = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.CDMA2000.CDMA2000Band.0.ThreshXLow = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.GERAN.GERANFreqGroup.0.X_SCM_NCC_PERMITTED = "7"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.GERAN.GERANFreqGroup.0.BandIndicator = "DCS1800"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.GERAN.GERANFreqGroupNumberOfEntries = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.UTRA.X_SCM_UTRANTDDFreq.0.CsfbPriority = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.UTRA.X_SCM_UTRANTDDFreqNumberOfEntries = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.UTRA.X_SCM_PMaxUTRA = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.UTRA.X_SCM_QRxLevMin = "-60"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.InterFreq.Carrier.0.X_SCM_THRESHX_LOWQ_R9 = 6
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.InterFreq.Carrier.0.X_SCM_MEAS_BANDWIDTH_FOR_EARFCN = 5
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.InterFreq.X_SCM_PMax = 23
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.InterFreq.X_SCM_ThreshXHigh = 14
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.InterFreq.X_SCM_QOffsetFreq = "0"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IntraFreq.X_SCM_SNonIntraSearchPRel9 = "14"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IntraFreq.X_SCM_QRxLevMinOffsetEnable = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IntraFreq.QRxLevMinSIB3 = "-64"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.CellRestriction.X_SCM_CongestionCtrlNumberOfEntries = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.RRCTimers.N310 = 6
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.RLC.X_SCM_UMDRB.0.X_SCM_UL_ReorderTimer = 40
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.RLC.SRB1.MaxRetxThreshold = "16"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_PDCP.X_SCM_ROHC.9.X_SCM_Profiles = "000000010"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_PDCP.X_SCM_ROHC.9.X_SCM_MaxCid = 15
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_PDCP.X_SCM_ROHC.4.X_SCM_QCI = 4
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_PDCP.X_SCM_ROHC.2.X_SCM_ROHCEnabled = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.X_SCM_PCFICH.X_SCM_DCFIEnabled = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.X_SCM_ABS.X_SCM_ABSPatternType = 3
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.UplinkPowerControlDedicated.X_SCM_puschgrppwrfmt3aEnabled = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.ULSCH.X_SCM_Throughputbufsize = 1000
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.ULSCH.X_SCM_ThroughputIntervalTimer = 5
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileList.8.ONDurationTimer = ".OnDurationTimer"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileList.6.OnDurationTimer = "10"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileList.5.DRXInactivityTimer = "40"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileList.5.DRXEnabled = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileList.5.QCI = 5
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileList.4.ShortDRXCycle = "32"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileList.2.LongDRXCycle = "640"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileList.1.DRXShortCycleTimer = "4"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileList.0.DRXRetransmissionTimer = "2"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXQCISupportEnabled = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DefaultPCCHConfigNB = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.ShortDRXCycle = "0"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXGbrSupported = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.RACH.MaxHARQMsg3Tx = "4"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.X_SCM_Scheduler.X_SCM_DlGbrBlerTarget = 5
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.X_SCM_Scheduler.X_SCM_DlMcsFactorAccRate = 10
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.X_SCM_Scheduler.X_SCM_DlMcsResolution = 20
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.X_SCM_Scheduler.X_SCM_MaxUlBwPerUe = 100
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.X_SCM_Scheduler.X_SCM_MaxUePerUlTti = 4
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.X_SCM_Scheduler.X_SCM_MaxUePerUlSf = 4
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.PHY.ULPowerControl.X_SCM_UL_PUSCH_PowerControl = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.PHY.ULPowerControl.X_SCM_ULPowerControlAlgo = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.PHY.ULPowerControl.DeltaFPUCCHFormat2a = 2
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.PHY.ULPowerControl.DeltaFPUCCHFormat1b = 3
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.PHY.PUSCH.ULRS.CyclicShift = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.PHY.PUCCH.NRBCQI = "2"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.PHY.PRACH.ConfigurationIndex = "3"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.PHY.PDSCH.Pb = "1"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.PHY.PDSCH.X_SCM_Enable256QAM = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.RF.X_SCM_ICTAadjSampOffset = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.RF.X_SCM_mFBI = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.RF.X_SCM_ReferenceSignalPowerPriority = ""
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_RRM.X_SCM_LoadBalanceRaiseStep = 2
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_RRM.X_SCM_LoadBalanceUnallowedQCIList = "1,2,3,4"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Common.X_SCM_Optimization.X_SCM_LoadBalanceEnable = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Common.X_SCM_CellSizeType = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_X2AP.MaxX2WhiteListEntries = 16
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_X2AP.X_SCM_TRelocPrep = 5000
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.QoS.9.Priority = 9
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.QoS.7.DSCP = 46
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.QoS.7.PacketDelayBudget = 100
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.QoS.7.Type = "Non-GBR"
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.QoS.6.VLANTag = 0
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.QoS.5.Alias = "-"
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.QoS.4.QCI = 4
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.QoS.2.Enable = 0
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.PLMNList.1.X_SCM_CFG_MMEIdList = "{1}"
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.PLMNList.1.CellReservedForOperatorUse = 1
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.X_SCM_VolteState = 0
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.AllowedCipheringAlgorithmList = "EEA0,128-EEA1,128-EEA2"
+ Device.Services.FAPService.1.CellConfig.LTE.VoLTE.PdcpInitParamNumberOfEntries = 0
+ Device.Services.FAPService.1.CellConfig.LTE.X_SCM_ULTRASON_CONFIG.TPMConfig.TPMCycleMultiple = 6
+ Device.Services.FAPService.1.CellConfig.LTE.X_SCM_ULTRASON_CONFIG.TPMConfig.TPMTNLMPeriodic = 240
+ Device.Services.FAPService.1.AccessMgmt.X_SCM_TDSCDMA.LocalIPAccess.Rules.0.Protocol = -1
+ Device.Services.FAPService.1.AccessMgmt.LTE.X_SCM_UEDetail.1.X_SCM_StartTime = 0
+ Device.Services.FAPService.1.AccessMgmt.LTE.X_SCM_CellBarredMaxUeNum = 22
+ Device.Services.FAPService.1.AccessMgmt.LTE.X_SCM_MaxUEsServedThreshold1 = 64
+ Device.Services.FAPService.1.AccessMgmt.LTE.X_SCM_MaxPRBReleaseEnable = 0
+ Device.Services.FAPService.1.FAPControl.X_SCM_TDSCDMA.OpState = 0
+ Device.Services.FAPService.1.FAPControl.LTE.Gateway.PreSecGW3ServerList.6.SecGWServer3Ip = "2600:0000:cf04:1441:10:158:166:180"
+ Device.Services.FAPService.1.FAPControl.LTE.Gateway.MaxPreSecGW3ServerListEntries = 13
+ Device.Services.FAPService.1.FAPControl.LTE.Gateway.X_SCM_AccessHegw = 0
+ Device.Services.FAPService.1.FAPControl.LTE.Gateway.X_SCM_eNodeBS1SigLinkPort = 36412
+ Device.Services.FAPService.1.FAPControl.LTE.Gateway.X_SCM_MMEGroupID = 0
+ Device.Services.FAPService.1.FAPControl.LTE.Gateway.S1SigLinkServerList = "172.21.143.206"
+ Device.Services.FAPService.1.FAPControl.LTE.Gateway.SecGWServer4 = ""
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_CRAN.Sector.0.RRHSctpLinkPort = 49160
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_CRAN.SysmgrLogLevel = "USER"
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_CRAN.RRHId = 1
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_CRAN.BBUUdpInitPort = 49300
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_SceneManagement.Scene2.0.OAM = ""
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_DLPowerSetting.X_SCM_VIPStayCoreMidAreaGtpDownRateThreshold = 80
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_DLPowerSetting.X_SCM_VIPStayCoreMidAreaTimeDownRateThreshold = 80
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_DLPowerSetting.X_SCM_RSPowerAdjustMaxValue = 5
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_CoverageMeasurement.X_SCM_Hysteresis = 0
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_CoverageMeasurement.X_SCM_MiddleArea_A1ThresholdRSRP = 42
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_RO.X_SCM_ROEnable = 0
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_MRO.InterFreqA5TTT = "1,3,3,6,8,9,10,11"
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_MRO.ThreshHOAttemptsCategory1 = 5
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_MRO.X_SCM_RateThreshold = 95
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_MRO.X_SCM_TriggerTimer = 60
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_MPOCtrlList.MPOCtrl.0.QCI2HOPolicy = ""
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_SelfHealing.X_SCM_KPISelfHealingAlgo = "RRC:100,80%;HO:20,50%;"
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_ZeroCorrelationZoneConfigInuse = ""
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_X2NbrNbrAddEnable = 1
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_NumOFRachWithoutMsg3 = 60
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_CongestionCtrlThresholdUlPRBUsage = -1
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_LogPath = "/var/log/"
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_TcFeedbackLogPeriod = 0
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_TcFeedbackPeriod = 50
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_UEUuQualityPrintPeriod = 30
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_CSGPCIStart = 0
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_AsPriIntegrityAlgoList = "{1}"
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_NeighborENodeBConfig = "INVLD"
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_IntraTimeToTriggerValue = 7
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_MeasNewPciReportEcgiEnable = 1
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_NeighborInfoNumber = 0
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_MaxExpiryVoice = 6
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_ModeType = 4
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_ScellAddRelByThroughputEnabled = 1
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SAS.Category = "A"
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_CMP.CertEncodeMethod = "V_ASN1_APP_CHOOSE"
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_CMP.Path = ""
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_CMP.FQDN = ""
+ Device.Services.FAPService.1.FAPControl.LTE.SelfConfig.SONConfigParam.ANRGERANEnable = 0
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_DropULTCPRedundantACK = 0
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_EnableCell = 1
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_CellState = 5
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_CurrentUENum = 0
+ Device.Services.FAPService.1.FAPControl.LTE.AdminState = 0
+ Device.Services.FAPService.1.FAPControl.X_SCM_LWM2M.X_SCM_Equipment.X_SCM_ErrorCode = 0
+ Device.Services.FAPService.1.FAPControl.X_SCM_LWM2M.X_SCM_SecurityNumberOfEntries = 1
+ Device.Services.FAPService.1.Capabilities.LTE.UeInactiveTimer = "Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_InactivityTimerValue"
+ Device.Services.FAPService.1.Capabilities.MaxTxPower = 24
+ Device.Services.FAPService.1.Capabilities.GPSEquipped = 0
+ Device.LogMgmt.URL = "Device.DeviceInfo.VendorLogFile.1.X_SCM_LogControl.X_SCM_UploadURL"
+ Device.SoftwareCtrl.ActivateEnable = 0
+ Device.IPsec.SupportedDiffieHellmanGroupTransforms = "NONE,MODP-768,MODP-1024,MODP-1536,MODP-2048"
+ Device.FaultMgmt.HistoryEvent.1.SpecificProblem = "File push from host failed"
+ Device.FaultMgmt.HistoryEvent.1.OUI = "Device.DeviceInfo.ManufacturerOUI"
+ Device.FaultMgmt.ExpeditedEvent.1.SpecificProblem = "File push from host failed"
+ Device.FaultMgmt.ExpeditedEvent.1.OUI = "Device.DeviceInfo.ManufacturerOUI"
+ Device.Security.Certificate.3.X_SCM_KeyName = "ipsec.key"
+ Device.Security.Certificate.1.SubjectAlt = ""
+ Device.Security.Certificate.1.LastModif = 0001-01-01T00:00:00Z
+ Device.X_SCM_WiFi.TXPower = 50
+ Device.X_SCM_WiFi.Channel = "auto"
+ Device.X_SCM_WiFi.Key = "12345678"
+ Device.X_SCM_WiFi.SSID = "OpenWrt"
+ Device.X_SCM_DeviceFeature.X_SCM_NEStatus.X_SCM_SNetconf_Status = ""
+ Device.X_SCM_DeviceFeature.X_SCM_NEStatus.X_SCM_INetconf_Status = ""
+ Device.X_SCM_DeviceFeature.X_SCM_NEStatus.X_SCM_PnP_Status = ""
+ Device.X_SCM_DeviceFeature.X_SCM_NEStatus.X_SCM_IpsecFirst_Status = ""
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_Netconf.X_SCM_NotificationControl.0.X_SCM_NotificationEnable = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_LocationCheck.X_SCM_Result = ""
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_Web_Control.X_SCM_UserNameForRestfulAPI = "partner"
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_Web_Control.X_SCM_PasswordRepeatTimes = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.11.X_SCM_AppName = "henb"
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.8.X_SCM_AppCrashMaxAction = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.8.X_SCM_AppUploadErrLogControl = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.5.X_SCM_AppDownActionMask = 1
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.4.X_SCM_AppTimeoutToRunningAction = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.4.X_SCM_AppEnableCheck = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.3.X_SCM_AppStateValidationTimes = 1
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.3.X_SCM_AppCrashCountMax = 10
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.0.X_SCM_AppName = ""
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_TraceDump.X_SCM_MsgSaveControl = "AM:IUWEPS;2100:A"
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.UserAccount.3.UserType = 1
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.UserAccount.1.UserFailedLoginTimes = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.UserAccount.0.UserPasswordLifeCycle = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.UserAccount.0.UserPassword = ""
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.Ncom.X_SCM_NcomEnable = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_LocalPortForBrother = 9000
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_LibscCertVerifyEnable = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_CPUCheckEnable = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_GetImsiOption = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_GetImsiEnable = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RcRebootSchedule = "wait cnt"
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_CwmpBootStrap = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_DeleteLogFlag = 0
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.16.Name = "pnp"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.14.CrashMaxAction = "100_REBOOT_SERVICE"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.11.Alias = "rc_pful"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.8.CrashCountMax = 10
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.7.CrashAction = "100_REBOOT_SERVICE"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.7.Dependency = "wan"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.6.Status = "running"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.5.Name = "cwmp"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.3.CrashMaxAction = "100_REBOOT_SERVICE"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.0.Alias = ""
+ Device.X_SCM_DeviceFeature.SCTPReconnectEnable = 0
+ Device.X_SCM_DeviceFeature.RuntimeL2DebugLogEnable = 0
+ Device.X_SCM_DeviceFeature.ThirdPartyBoardIPAddress = ""
+ Device.FAP.X_SCM_LcdMgmt.Config.LteStatusPollingInterval = 5
+ Device.FAP.X_SCM_MrMgmt.Config.1.EndTime = 0001-01-01T00:00:00
+ Device.FAP.PerfMgmt.Config.1.PeriodicUploadTime = 0001-01-01T00:00:00Z
+ Device.FAP.PerfMgmt.ConfigNumberOfEntries = 1
+ Device.FAP.Tunnel.VirtualInterface.0.CryptoProfile = ""
+ Device.FAP.Tunnel.ChildSA.0.SPI = 0
+ Device.FAP.Tunnel.IKESA.0.IPAddress = ""
+ Device.FAP.Tunnel.MaxChildSAPerIKE = 0
+ Device.FAP.GPS.PeriodicTime = 0001-01-01T00:00:00Z
+ Device.FAP.X_SCM_EM.X_SCM_MACChangeCount = 0
+ Device.Security.X_SCM_IPsec.X_SCM_CRL.X_SCM_URL = ""
+ Device.Security.X_SCM_IPsec.X_SCM_CRL.X_SCM_Enable = 0
+ Device.Security.X_SCM_IPsec.X_SCM_Ipsecconf.X_SCM_Esp = ""
+ Device.Security.X_SCM_IPsec.X_SCM_Ipsecconf.X_SCM_Keyingtries = ""
+ Device.Security.X_SCM_IPsec.X_SCM_Strongswanconf.X_SCM_Charon_fragment_size = "1280"
+ Device.Security.Certificate.0.Subject = ""
+ Device.Security.Certificate.0.NotBefore = 0001-01-01T00:00:00Z
+ Device.Security.X_SCM_InsecureCipherSuiteEnable = 0
+ Device.FaultMgmt.QueuedEvent.0.AdditionalInformation = ""
+ Device.FaultMgmt.QueuedEvent.0.ManagedObjectInstance = ""
+ Device.FaultMgmt.QueuedEvent.0.SerialNumber = "Device.DeviceInfo.SerialNumber"
+ Device.FaultMgmt.ExpeditedEvent.0.AdditionalText = ""
+ Device.FaultMgmt.ExpeditedEvent.0.PerceivedSeverity = ""
+ Device.FaultMgmt.HistoryEvent.0.AdditionalText = ""
+ Device.FaultMgmt.HistoryEvent.0.PerceivedSeverity = ""
+ Device.FaultMgmt.CurrentAlarm.0.ProbableCause = ""
+ Device.FaultMgmt.CurrentAlarm.0.AlarmChangedTime = 0001-01-01T00:00:00Z
+ Device.FaultMgmt.SupportedAlarm.93.SpecificProblem = "MEMORY utilization exceeds threshold 4(95%)."
+ Device.FaultMgmt.SupportedAlarm.92.PerceivedSeverity = "Major"
+ Device.FaultMgmt.SupportedAlarm.91.X_SCM_RaiseNum = 0
+ Device.FaultMgmt.SupportedAlarm.89.EventType = "Processing Error Alarm"
+ Device.FaultMgmt.SupportedAlarm.87.ProbableCause = "System overload level 2 is exceeded."
+ Device.FaultMgmt.SupportedAlarm.86.X_SCM_AlarmIdentifier = "11216"
+ Device.FaultMgmt.SupportedAlarm.84.SpecificProblem = "CPU utilization exceeds threshold 3(80%)."
+ Device.FaultMgmt.SupportedAlarm.83.PerceivedSeverity = "Minor"
+ Device.FaultMgmt.SupportedAlarm.82.X_SCM_RaiseNum = 0
+ Device.FaultMgmt.SupportedAlarm.80.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.78.ProbableCause = "Connection is down between host and download server"
+ Device.FaultMgmt.SupportedAlarm.77.X_SCM_AlarmIdentifier = "11207"
+ Device.FaultMgmt.SupportedAlarm.75.SpecificProblem = "Platform failed to send notification for North Bound Interface"
+ Device.FaultMgmt.SupportedAlarm.74.PerceivedSeverity = "Critical"
+ Device.FaultMgmt.SupportedAlarm.73.X_SCM_RaiseNum =
+ Device.FaultMgmt.SupportedAlarm.70.EventType = "Environmental Alarm"
+ Device.FaultMgmt.SupportedAlarm.69.ProbableCause = "Can't Get Sub-board Response"
+ Device.FaultMgmt.SupportedAlarm.68.X_SCM_AlarmIdentifier = "11196"
+ Device.FaultMgmt.SupportedAlarm.66.SpecificProblem = "Try HW Self Healing"
+ Device.FaultMgmt.SupportedAlarm.65.PerceivedSeverity = "Major"
+ Device.FaultMgmt.SupportedAlarm.64.X_SCM_RaiseNum = 0
+ Device.FaultMgmt.SupportedAlarm.62.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.61.EventType = "Security Service Or Mechanism Violation"
+ Device.FaultMgmt.SupportedAlarm.59.X_SCM_AlarmIdentifier = "11185"
+ Device.FaultMgmt.SupportedAlarm.57.SpecificProblem = "Certificates Have Been Revoked"
+ Device.FaultMgmt.SupportedAlarm.56.PerceivedSeverity = "Critical"
+ Device.FaultMgmt.SupportedAlarm.55.X_SCM_RaiseNum = 0
+ Device.FaultMgmt.SupportedAlarm.53.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.52.EventType = "Equipment Alarm"
+ Device.FaultMgmt.SupportedAlarm.50.ProbableCause = "The Macro's Signal Bigger Than A Threshold"
+ Device.FaultMgmt.SupportedAlarm.48.SpecificProblem = "Islanding Mode"
+ Device.FaultMgmt.SupportedAlarm.47.PerceivedSeverity = "Warning"
+ Device.FaultMgmt.SupportedAlarm.46.X_SCM_RaiseNum = 0
+ Device.FaultMgmt.SupportedAlarm.44.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.43.EventType = "Equipment Alarm"
+ Device.FaultMgmt.SupportedAlarm.41.ProbableCause = "Low Memory"
+ Device.FaultMgmt.SupportedAlarm.40.X_SCM_AlarmIdentifier = "11169"
+ Device.FaultMgmt.SupportedAlarm.39.SpecificProblem = "Cell Out Of SYNC"
+ Device.FaultMgmt.SupportedAlarm.38.PerceivedSeverity = "Warning"
+ Device.FaultMgmt.SupportedAlarm.37.X_SCM_RaiseNum = 0
+ Device.FaultMgmt.SupportedAlarm.35.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.34.EventType = "Equipment Alarm"
+ Device.FaultMgmt.SupportedAlarm.32.ProbableCause = "X2 Connect Fail"
+ Device.FaultMgmt.SupportedAlarm.31.X_SCM_AlarmIdentifier = "11156"
+ Device.FaultMgmt.SupportedAlarm.29.PerceivedSeverity = "Critical"
+ Device.FaultMgmt.SupportedAlarm.28.X_SCM_RaiseNum = 0
+ Device.FaultMgmt.SupportedAlarm.26.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.25.EventType = "Environmental Alarm"
+ Device.FaultMgmt.SupportedAlarm.23.ProbableCause = "CWMP Connect Reject"
+ Device.FaultMgmt.SupportedAlarm.22.X_SCM_AlarmIdentifier = "11149"
+ Device.FaultMgmt.SupportedAlarm.20.SpecificProblem = "No Connection With CN"
+ Device.FaultMgmt.SupportedAlarm.19.X_SCM_RaiseNum = 0
+ Device.FaultMgmt.SupportedAlarm.17.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.16.EventType = "Communications Alarm"
+ Device.FaultMgmt.SupportedAlarm.14.ProbableCause = "Cell Unavailable:SCTP Initial Time Out"
+ Device.FaultMgmt.SupportedAlarm.13.X_SCM_AlarmIdentifier = "81"
+ Device.FaultMgmt.SupportedAlarm.11.SpecificProblem = "KPI Upload Failure"
+ Device.FaultMgmt.SupportedAlarm.10.PerceivedSeverity = "Warning"
+ Device.FaultMgmt.SupportedAlarm.9.PerceivedSeverity = "Critical"
+ Device.FaultMgmt.SupportedAlarm.8.X_SCM_RaiseNum = 0
+ Device.FaultMgmt.SupportedAlarm.6.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.5.EventType = "Equipment Alarm"
+ Device.FaultMgmt.SupportedAlarm.3.ProbableCause = "High Temperature"
+ Device.FaultMgmt.SupportedAlarm.2.X_SCM_AlarmIdentifier = "11104"
+ Device.FaultMgmt.SupportedAlarm.0.SpecificProblem = ""
+ Device.FaultMgmt.ExpeditedEventNumberOfEntries = 2
+ Device.FaultMgmt.HistoryEventNumberOfEntries = 2
+ Device.FaultMgmt.MaxCurrentAlarmEntries = 16
+ Device.PeriodicStatistics.SampleSet.3.Parameter.52.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.52.Alias = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.52.X_SCM_Name = "MR.TdsCellParameterId"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.51.Reference = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.49.Values = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.44.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.43.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.43.Alias = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.43.X_SCM_Name = "MR.LteScPci"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.42.Reference = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.40.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.40.Enable = 1
+ Device.PeriodicStatistics.SampleSet.3.Parameter.35.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.34.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.34.Alias = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.34.X_SCM_Name = "MR.LteScPlrULQciX"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.33.Reference = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.31.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.31.Enable = 1
+ Device.PeriodicStatistics.SampleSet.3.Parameter.30.Values = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.26.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.25.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.25.Alias = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.25.X_SCM_Name = "MR.PDSCHPRBNumRsrq"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.24.Reference = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.22.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.22.Enable = 1
+ Device.PeriodicStatistics.SampleSet.3.Parameter.21.Values = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.17.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.16.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.16.Alias = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.16.X_SCM_Name = "MR.RsrpRsrq"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.15.Reference = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.13.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.13.Enable = 1
+ Device.PeriodicStatistics.SampleSet.3.Parameter.12.Values = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.6.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.5.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.5.Alias = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.5.X_SCM_Name = "MR.AOA"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.4.Reference = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.2.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.2.Enable = 1
+ Device.PeriodicStatistics.SampleSet.3.Parameter.1.Values = ""
+ Device.PeriodicStatistics.SampleSet.3.ReportEndTime = 0001-01-01T00:00:00Z
+ Device.PeriodicStatistics.SampleSet.3.Status = "Disabled"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.205.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.205.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.204.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.199.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.197.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.197.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.196.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.191.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.190.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.190.Alias = "PdpFail_RadioBearer_Setup_Timeout"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.190.X_SCM_Name = "SM.FailEstabPS.RbSetupTimeout"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.188.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.188.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.187.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.182.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.181.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.181.Alias = "APVideoCallMinutes"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.181.X_SCM_Name = "RRC.CallDurationVideo"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.180.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.179.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.179.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.178.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.173.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.172.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.172.Alias = "NAS_ActivatePDPContextAccPerTraffic_Strm"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.172.X_SCM_Name = "SM.SuccActPdpContext.Stream"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.171.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.169.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.164.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.163.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.163.Alias = "NAS_DlConnectAck_Conv_AMR"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.163.X_SCM_Name = "CC.AnswOutVoiceCalls"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.162.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.160.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.160.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.155.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.154.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.154.Alias = "Pdp_Accept"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.154.X_SCM_Name = "SM.SuccActPdpContext"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.153.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.151.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.151.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.150.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.146.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.145.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.145.Alias = "RrcConnSetupCompTerminatingHighPrioritySignalling"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.145.X_SCM_Name = "RRC.SuccConnEstab.TerminatingHighPrioritySignalling"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.144.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.142.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.142.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.141.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.137.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.136.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.136.Alias = "RrcConnSetupCompTerminatingBackgroundCall"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.136.X_SCM_Name = "RRC.SuccConnEstab.TerminatingBackgroundCall"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.135.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.133.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.133.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.132.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.128.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.127.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.127.Alias = "RrcConnSetupCompRecv"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.127.X_SCM_Name = "RRC.SuccConnEstab"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.126.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.124.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.124.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.123.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.119.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.118.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.118.Alias = "RrcConnReqRegistration"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.118.X_SCM_Name = "RRC.AttConnEstab.Registration"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.117.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.115.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.115.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.114.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.109.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.109.Alias = "RrcConnReqOriginatingBackgroundCall"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.109.X_SCM_Name = "RRC.AttConnEstab.OriginatingBackgroundCall"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.108.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.106.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.106.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.105.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.100.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.99.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.99.Alias = "PsRevUpTransportBlockErrNum"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.99.X_SCM_Name = "FP.NbrErrBlocksReceivedPS"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.98.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.96.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.96.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.95.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.90.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.89.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.87.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.87.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.86.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.81.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.80.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.80.Alias = "SctpAssoc_Abort_ERROR_NO_USR_DATA"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.80.X_SCM_Name = "IUH.SctpAbort.NoUserData"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.78.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.78.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.77.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.72.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.71.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.71.Alias = "SctpAssoc_GwShutDown"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.71.X_SCM_Name = "IUH.SctpGwShutDown"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.70.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.69.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.69.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.68.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.63.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.62.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.62.Alias = "VideoHandoverHnbToUmtsFailNum"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.62.X_SCM_Name = "RELOC.FailUEInvolVideo"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.61.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.59.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.54.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.53.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.53.Alias = "dwTrafficOfHsdpaInRlc"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.53.X_SCM_Name = "RLC.NumUserBits.HSDPA_PS"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.52.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.50.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.50.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.45.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.44.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.44.Alias = "RanapSRNSRelocationCmdRecved"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.44.X_SCM_Name = "RELOC.SuccPrep"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.43.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.41.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.41.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.40.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.36.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.35.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.35.Alias = "PS_RAB_Setup_Req"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.35.X_SCM_Name = "RAB.AttEstabPS"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.34.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.32.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.32.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.31.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.27.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.26.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.26.Alias = "VideoCallFail_RAB_RbSetupTimeout"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.26.X_SCM_Name = "RAB.FailEstabVideo.RbSetupTimeout"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.25.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.23.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.23.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.22.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.18.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.17.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.17.Alias = "VoiceCallFail_RAB_RbSetupFailed"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.17.X_SCM_Name = "RAB.FailEstabVoice.RbSetupFail"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.16.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.14.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.14.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.13.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.7.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.6.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.6.Alias = "Iscp40To60"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.6.X_SCM_Name = "CARR.ISCP.40to60"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.5.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.3.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.3.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.2.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.ForceSample = 0
+ Device.PeriodicStatistics.SampleSet.2.FetchSamples = 0
+ Device.PeriodicStatistics.SampleSet.2.Name = "HNB-T"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2191.Alias2 = "Dev.eNB.MMEGroupID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2191.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2191.X_SCM_Name = "Dev.eNB.MMEGroupID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2190.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2189.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2189.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2188.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2183.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2182.Alias2 = "ERAB.AbnormalErabRelease.4"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2182.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2182.X_SCM_Name = "ERAB.AbnormalErabRelease.QCI.4"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2181.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2179.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2174.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2173.Alias2 = "RRC.ConnEstabTimeMax.PLMN.2.MtAccess"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2173.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2173.X_SCM_Name = "RRC.ConnEstabTimeMax.PLMN.2.Cause.MtAccess"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2172.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2170.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2170.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2165.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2164.Alias2 = "RRC.ConnEstabTimeMax.PLMN.1.HighPriorityAccess"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2164.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2164.X_SCM_Name = "RRC.ConnEstabTimeMax.PLMN.1.Cause.HighPriorityAccess"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2163.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2161.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2161.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2160.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2156.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2155.Alias2 = "RRC.ConnEstabTimeMean.PLMN.2.Emergency"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2155.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2155.X_SCM_Name = "RRC.ConnEstabTimeMean.PLMN.2.Cause.Emergency"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2154.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2152.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2152.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2151.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2147.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2146.Alias2 = "RRC.ConnEstabFaileNBCause.Congestion.PLMN.2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2146.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2146.X_SCM_Name = "RRC.ConnEstabFaileNBCause.Congestion.PLMN.2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2145.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2143.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2143.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2142.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2138.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2137.Alias2 = "RRC.ConnEstabSuccPLMN.2.HighPriorityAccess"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2137.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2137.X_SCM_Name = "RRC.ConnEstabSuccPLMN.2.Cause.HighPriorityAccess"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2136.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2134.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2134.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2133.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2129.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2128.Alias2 = "RRC.ConnEstabSuccPLMN.1.HighPriorityAccess"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2128.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2128.X_SCM_Name = "RRC.ConnEstabSuccPLMN.1.Cause.HighPriorityAccess"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2127.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2125.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2125.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2124.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2119.Alias2 = "RRC.ConnEstabAttPLMN.2.HighPriorityAccess"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2119.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2119.X_SCM_Name = "RRC.ConnEstabAttPLMN.2.Cause.HighPriorityAccess"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2118.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2116.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2116.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2115.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2110.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2109.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2107.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2107.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2106.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2101.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2100.Alias2 = "S1SIG.ConnEstabAtt.Spare1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2100.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2100.X_SCM_Name = "S1SIG.ConnEstabAtt.Spare1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2099.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2099.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2098.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2093.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2092.Alias2 = "Dev.eNB.SpecialFrameConfigurationInUse"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2092.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2092.X_SCM_Name = "Dev.eNB.SpecialFrameConfigurationInUse"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2091.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2089.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2084.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2083.Alias2 = "Dev.eNB.ECGI"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2083.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2083.X_SCM_Name = "Dev.eNB.ECGI"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2082.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2080.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2080.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2075.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2074.Alias2 = "HO.IartOutSucc.Misc.ControlProcessingOverload"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2074.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2074.X_SCM_Name = "HO.IartOutSucc.Cause.Misc.ControlProcessingOverload"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2073.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2071.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2071.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2070.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2066.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2065.Alias2 = "HO.IartOutSucc.Nas.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2065.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2065.X_SCM_Name = "HO.IartOutSucc.Cause.Nas.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2064.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2062.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2062.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2061.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2057.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2056.Alias2 = "HO.IartOutSucc.RadioNetwork.X2HO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2056.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2056.X_SCM_Name = "HO.IartOutSucc.Cause.RadioNetwork.X2HO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2055.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2053.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2053.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2052.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2048.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2047.Alias2 = "HO.IartOutSucc.RadioNetwork.RadioInterfaceProcedureFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2047.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2047.X_SCM_Name = "HO.IartOutSucc.Cause.RadioNetwork.RadioInterfaceProcedureFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2046.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2044.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2044.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2043.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2039.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2038.Alias2 = "HO.IartOutSucc.RadioNetwork.TimeCriticalHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2038.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2038.X_SCM_Name = "HO.IartOutSucc.Cause.RadioNetwork.TimeCriticalHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2037.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2035.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2035.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2034.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2029.Alias2 = "HO.IartOutSucc.RadioNetwork.TS1RELOCoverall"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2029.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2029.X_SCM_Name = "HO.IartOutSucc.Cause.RadioNetwork.TS1RELOCoverall"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2028.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2026.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2026.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2025.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2020.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2019.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2017.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2017.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2016.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2011.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2010.Alias2 = "HO.IartOutAtt.Protocol.MessageStateNotCompatible"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2010.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2010.X_SCM_Name = "HO.IartOutAtt.Cause.Protocol.MessageStateNotCompatible"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2008.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2008.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2007.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2002.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2001.Alias2 = "HO.IartOutAtt.Transport.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2001.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2001.X_SCM_Name = "HO.IartOutAtt.Cause.Transport.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2000.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1995.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1994.Alias2 = "HO.IartOutAtt.RadioNetwork.S1IntraSystemHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1994.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1994.X_SCM_Name = "HO.IartOutAtt.Cause.RadioNetwork.S1IntraSystemHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1993.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1991.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1991.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1990.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1986.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1985.Alias2 = "HO.IartOutAtt.RadioNetwork.UENotAvailableforPS"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1985.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1985.X_SCM_Name = "HO.IartOutAtt.Cause.RadioNetwork.UENotAvailableforPS"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1984.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1982.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1982.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1981.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1977.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1976.Alias2 = "HO.IartOutAtt.RadioNetwork.UES1APIDPairError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1976.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1976.X_SCM_Name = "HO.IartOutAtt.Cause.RadioNetwork.UES1APIDPairError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1975.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1973.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1973.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1972.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1968.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1967.Alias2 = "HO.IartOutAtt.RadioNetwork.HOFailureInTarget"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1967.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1967.X_SCM_Name = "HO.IartOutAtt.Cause.RadioNetwork.HOFailureInTarget"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1966.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1964.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1964.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1963.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1959.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1958.Alias2 = "HO.OutSuccTarget.Misc.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1958.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1958.X_SCM_Name = "HO.OutSuccTarget.Cause.Misc.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1957.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1955.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1955.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1954.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1949.Alias2 = "HO.OutSuccTarget.Protocol.IgnoreAndNotify"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1949.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1949.X_SCM_Name = "HO.OutSuccTarget.Cause.Protocol.IgnoreAndNotify"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1948.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1946.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1946.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1945.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1940.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1939.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1937.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1937.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1936.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1931.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1930.Alias2 = "HO.OutSuccTarget.RadioNetwork.RadioInteractionFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1930.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1930.X_SCM_Name = "HO.OutSuccTarget.Cause.RadioNetwork.RadioInteractionFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1928.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1928.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1927.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1922.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1921.Alias2 = "HO.OutSuccTarget.RadioNetwork.UserInactivity"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1921.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1921.X_SCM_Name = "HO.OutSuccTarget.Cause.RadioNetwork.UserInactivity"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1920.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1919.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1919.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1918.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1913.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1912.Alias2 = "HO.OutSuccTarget.RadioNetwork.UnknownTargetID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1912.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1912.X_SCM_Name = "HO.OutSuccTarget.Cause.RadioNetwork.UnknownTargetID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1911.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1909.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1904.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1903.Alias2 = "HO.OutSuccTarget.RadioNetwork.SuccessHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1903.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1903.X_SCM_Name = "HO.OutSuccTarget.Cause.RadioNetwork.SuccessHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1902.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1900.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1900.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1896.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1895.Alias2 = "HO.OutAttTarget.Misc.NotEnoughUserPlaneResources"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1895.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1895.X_SCM_Name = "HO.OutAttTarget.Cause.Misc.NotEnoughUserPlaneResources"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1894.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1892.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1892.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1891.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1887.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1886.Alias2 = "HO.OutAttTarget.Nas.CSGSubscriptionExpiry"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1886.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1886.X_SCM_Name = "HO.OutAttTarget.Cause.Nas.CSGSubscriptionExpiry"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1885.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1883.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1883.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1882.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1878.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1877.Alias2 = "HO.OutAttTarget.RadioNetwork.RedirectTo1xRTT"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1877.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1877.X_SCM_Name = "HO.OutAttTarget.Cause.RadioNetwork.RedirectTo1xRTT"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1876.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1874.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1874.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1873.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1869.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1868.Alias2 = "HO.OutAttTarget.RadioNetwork.InvalidQoSCombination"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1868.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1868.X_SCM_Name = "HO.OutAttTarget.Cause.RadioNetwork.InvalidQoSCombination"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1867.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1865.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1865.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1864.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1859.Alias2 = "HO.OutAttTarget.RadioNetwork.ResourceOptimisationHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1859.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1859.X_SCM_Name = "HO.OutAttTarget.Cause.RadioNetwork.ResourceOptimisationHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1858.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1856.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1856.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1855.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1850.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1849.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1847.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1847.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1846.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1841.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1840.Alias2 = "RRU.PrbUl.9"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1840.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1840.X_SCM_Name = "RRU.PrbUl.QCI.9"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1838.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1838.Enable = 0
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1837.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1832.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1831.Alias2 = "RRU.PrbDl.9"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1831.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1831.X_SCM_Name = "RRU.PrbDl.QCI.9"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1830.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1829.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1829.Enable = 0
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1828.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1823.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1822.Alias2 = "SRB.PdcpSduBitrateUl"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1822.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1822.X_SCM_Name = "SRB.PdcpSduBitrateUl"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1821.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1819.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1814.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1813.Alias2 = "DRB.IPThpUl.2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1813.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1813.X_SCM_Name = "DRB.IPThpUl.QCI.2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1812.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1810.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1810.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1805.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1804.Alias2 = "DRB.IpLateDl.2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1804.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1804.X_SCM_Name = "DRB.IpLateDl.QCI.2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1803.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1801.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1801.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1800.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1797.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1796.Alias2 = "DRB.UEActiveUl.4"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1796.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1796.X_SCM_Name = "DRB.UEActiveUl.QCI.4"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1795.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1793.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1793.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1792.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1788.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1787.Alias2 = "DRB.UEActiveDl.5"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1787.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1787.X_SCM_Name = "DRB.UEActiveDl.QCI.5"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1786.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1784.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1784.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1783.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1779.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1778.Alias2 = "HO.InterFreqNoMeasGapOutSucc"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1778.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1778.X_SCM_Name = "HO.InterFreqNoMeasGapOutSucc"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1777.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1775.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1775.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1774.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1769.Alias2 = "HO.InterEnbOutSucc.Misc.HardwareFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1769.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1769.X_SCM_Name = "HO.InterEnbOutSucc.Cause.Misc.HardwareFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1768.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1766.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1766.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1765.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1760.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1759.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1757.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1757.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1756.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1751.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1750.Alias2 = "HO.InterEnbOutSucc.RadioNetwork.RedirectTo1xRTT"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1750.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1750.X_SCM_Name = "HO.InterEnbOutSucc.Cause.RadioNetwork.RedirectTo1xRTT"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1748.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1748.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1747.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1742.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1741.Alias2 = "HO.InterEnbOutSucc.RadioNetwork.InvalidQoSCombination"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1741.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1741.X_SCM_Name = "HO.InterEnbOutSucc.Cause.RadioNetwork.InvalidQoSCombination"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1740.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1739.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1739.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1738.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1733.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1732.Alias2 = "HO.InterEnbOutSucc.RadioNetwork.ResourceOptimisationHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1732.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1732.X_SCM_Name = "HO.InterEnbOutSucc.Cause.RadioNetwork.ResourceOptimisationHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1731.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1729.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1724.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1723.Alias2 = "HO.InterEnbOutSucc.RadioNetwork.TS1RELOCprep"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1723.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1723.X_SCM_Name = "HO.InterEnbOutSucc.Cause.RadioNetwork.TS1RELOCprep"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1722.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1720.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1720.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1715.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1714.Alias2 = "HO.InterEnbOutSucc.RadioNetwork.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1714.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1714.X_SCM_Name = "HO.InterEnbOutSucc.Cause.RadioNetwork.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1713.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1711.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1711.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1710.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1706.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1705.Alias2 = "HO.InterEnbOutAtt.Protocol.SemanticError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1705.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1705.X_SCM_Name = "HO.InterEnbOutAtt.Cause.Protocol.SemanticError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1704.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1702.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1702.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1701.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1698.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1697.Alias2 = "HO.InterEnbOutAtt.Nas.AuthenticationFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1697.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1697.X_SCM_Name = "HO.InterEnbOutAtt.Cause.Nas.AuthenticationFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1696.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1694.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1694.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1693.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1689.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1688.Alias2 = "HO.InterEnbOutAtt.RadioNetwork.S1IntraSystemHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1688.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1688.X_SCM_Name = "HO.InterEnbOutAtt.Cause.RadioNetwork.S1IntraSystemHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1687.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1685.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1685.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1684.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1679.Alias2 = "HO.InterEnbOutAtt.RadioNetwork.UENotAvailableforPS"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1679.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1679.X_SCM_Name = "HO.InterEnbOutAtt.Cause.RadioNetwork.UENotAvailableforPS"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1678.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1676.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1676.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1675.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1670.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1669.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1667.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1667.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1666.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1661.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1660.Alias2 = "HO.InterEnbOutAtt.RadioNetwork.PartialHandover"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1660.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1660.X_SCM_Name = "HO.InterEnbOutAtt.Cause.RadioNetwork.PartialHandover"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1658.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1658.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1657.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1652.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1651.Alias2 = "HO.IntraEnbOutSucc.Misc.OMIntervention"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1651.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1651.X_SCM_Name = "HO.IntraEnbOutSucc.Cause.Misc.OMIntervention"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1650.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1649.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1649.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1648.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1643.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1642.Alias2 = "HO.IntraEnbOutSucc.Protocol.Reject"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1642.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1642.X_SCM_Name = "HO.IntraEnbOutSucc.Cause.Protocol.Reject"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1641.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1639.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1634.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1633.Alias2 = "HO.IntraEnbOutSucc.RadioNetwork.InvalidCSGID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1633.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1633.X_SCM_Name = "HO.IntraEnbOutSucc.Cause.RadioNetwork.InvalidCSGID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1632.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1630.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1630.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1625.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1624.Alias2 = "HO.IntraEnbOutSucc.RadioNetwork.RadioInteractionFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1624.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1624.X_SCM_Name = "HO.IntraEnbOutSucc.Cause.RadioNetwork.RadioInteractionFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1623.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1621.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1621.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1620.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1616.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1615.Alias2 = "HO.IntraEnbOutSucc.RadioNetwork.UserInactivity"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1615.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1615.X_SCM_Name = "HO.IntraEnbOutSucc.Cause.RadioNetwork.UserInactivity"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1614.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1612.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1612.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1611.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1607.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1606.Alias2 = "HO.IntraEnbOutSucc.RadioNetwork.UnknownTargetID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1606.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1606.X_SCM_Name = "HO.IntraEnbOutSucc.Cause.RadioNetwork.UnknownTargetID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1605.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1603.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1603.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1602.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1599.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1598.Alias2 = "HO.IntraEnbOutSucc.RadioNetwork.ReleaseForEUTRANReason"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1598.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1598.X_SCM_Name = "HO.IntraEnbOutSucc.Cause.RadioNetwork.ReleaseForEUTRANReason"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1597.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1595.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1595.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1594.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1589.Alias2 = "HO.IntraEnbOutAtt.Misc.ControlProcessingOverload"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1589.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1589.X_SCM_Name = "HO.IntraEnbOutAtt.Cause.Misc.ControlProcessingOverload"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1588.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1586.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1586.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1585.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1580.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1579.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1577.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1577.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1576.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1571.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1570.Alias2 = "HO.IntraEnbOutAtt.RadioNetwork.S1InterSystemHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1570.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1570.X_SCM_Name = "HO.IntraEnbOutAtt.Cause.RadioNetwork.S1InterSystemHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1568.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1568.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1567.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1562.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1561.Alias2 = "HO.IntraEnbOutAtt.RadioNetwork.RadioResourcesUnavailable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1561.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1561.X_SCM_Name = "HO.IntraEnbOutAtt.Cause.RadioNetwork.RadioResourcesUnavailable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1560.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1559.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1559.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1558.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1553.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1552.Alias2 = "HO.IntraEnbOutAtt.RadioNetwork.HODesirable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1552.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1552.X_SCM_Name = "HO.IntraEnbOutAtt.Cause.RadioNetwork.HODesirable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1551.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1549.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1544.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1543.Alias2 = "HO.IntraEnbOutAtt.RadioNetwork.HOTargetNotAllowed"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1543.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1543.X_SCM_Name = "HO.IntraEnbOutAtt.Cause.RadioNetwork.HOTargetNotAllowed"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1542.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1540.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1540.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1535.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1534.Alias2 = "ERAB.SessionTimeQCI.8"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1534.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1534.X_SCM_Name = "ERAB.SessionTimeQCI.QCI.8"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1533.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1531.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1531.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1530.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1526.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1525.Alias2 = "ERAB.ModQoSFailNbrSum"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1525.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1525.X_SCM_Name = "ERAB.ModQoSFailNbrSum"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1524.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1522.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1522.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1521.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1517.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1516.Alias2 = "ERAB.ModQoSFailNbr.Protocol.MessageStateNotCompatible"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1516.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1516.X_SCM_Name = "ERAB.ModQoSFailNbr.Cause.Protocol.MessageStateNotCompatible"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1515.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1513.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1513.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1512.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1508.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1507.Alias2 = "ERAB.ModQoSFailNbr.RadioNetwork.InvalidCSGID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1507.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1507.X_SCM_Name = "ERAB.ModQoSFailNbr.Cause.RadioNetwork.InvalidCSGID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1506.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1504.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1504.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1503.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1499.Alias2 = "ERAB.ModQoSFailNbr.RadioNetwork.CSFB"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1499.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1499.X_SCM_Name = "ERAB.ModQoSFailNbr.Cause.RadioNetwork.CSFB"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1498.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1496.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1496.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1495.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1490.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1489.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1487.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1487.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1486.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1481.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1480.Alias2 = "ERAB.ModQoSFailNbr.RadioNetwork.ReleaseForEUTRANReason"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1480.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1480.X_SCM_Name = "ERAB.ModQoSFailNbr.Cause.RadioNetwork.ReleaseForEUTRANReason"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1478.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1478.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1477.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1472.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1471.Alias2 = "ERAB.RelActNbr.6"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1471.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1471.X_SCM_Name = "ERAB.RelActNbr.QCI.6"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1470.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1469.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1469.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1468.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1463.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1462.Alias2 = "ERAB.RelFailNbr.Misc.NotEnoughUserPlaneResources"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1462.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1462.X_SCM_Name = "ERAB.RelFailNbr.Cause.Misc.NotEnoughUserPlaneResources"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1461.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1459.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1454.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1453.Alias2 = "ERAB.RelFailNbr.Nas.Detach"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1453.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1453.X_SCM_Name = "ERAB.RelFailNbr.Cause.Nas.Detach"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1452.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1450.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1450.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1445.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1444.Alias2 = "ERAB.RelFailNbr.RadioNetwork.S1InterSystemHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1444.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1444.X_SCM_Name = "ERAB.RelFailNbr.Cause.RadioNetwork.S1InterSystemHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1443.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1441.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1441.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1440.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1436.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1435.Alias2 = "ERAB.RelFailNbr.RadioNetwork.CSFB"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1435.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1435.X_SCM_Name = "ERAB.RelFailNbr.Cause.RadioNetwork.CSFB"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1434.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1432.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1432.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1431.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1427.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1426.Alias2 = "ERAB.RelFailNbr.RadioNetwork.MMEUES1APIDError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1426.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1426.X_SCM_Name = "ERAB.RelFailNbr.Cause.RadioNetwork.MMEUES1APIDError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1425.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1423.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1423.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1422.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1418.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1417.Alias2 = "ERAB.RelFailNbr.RadioNetwork.HOCancel"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1417.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1417.X_SCM_Name = "ERAB.RelFailNbr.Cause.RadioNetwork.HOCancel"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1416.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1414.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1414.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1413.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1409.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1408.Alias2 = "ERAB.RelEnbNbr.Misc.HardwareFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1408.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1408.X_SCM_Name = "ERAB.RelEnbNbr.Cause.Misc.HardwareFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1407.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1405.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1405.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1404.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1399.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1397.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1397.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1396.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1391.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1390.Alias2 = "ERAB.RelEnbNbr.RadioNetwork.X2HO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1390.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1390.X_SCM_Name = "ERAB.RelEnbNbr.Cause.RadioNetwork.X2HO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1388.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1388.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1387.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1382.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1381.Alias2 = "ERAB.RelEnbNbr.RadioNetwork.TAULoadBalancing"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1381.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1381.X_SCM_Name = "ERAB.RelEnbNbr.Cause.RadioNetwork.TAULoadBalancing"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1380.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1379.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1379.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1378.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1373.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1372.Alias2 = "ERAB.RelEnbNbr.RadioNetwork.RadioResUnavailableInTarget"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1372.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1372.X_SCM_Name = "ERAB.RelEnbNbr.Cause.RadioNetwork.RadioResUnavailableInTarget"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1371.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1369.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1364.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1363.Alias2 = "ERAB.RelEnbNbr.RadioNetwork.ReleaseForEUTRANReason"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1363.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1363.X_SCM_Name = "ERAB.RelEnbNbr.Cause.RadioNetwork.ReleaseForEUTRANReason"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1362.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1360.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1360.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1355.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1354.Alias2 = "ERAB.EstabTimeMax.3"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1354.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1354.X_SCM_Name = "ERAB.EstabTimeMax.QCI.3"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1353.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1351.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1351.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1350.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1346.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1345.Alias2 = "ERAB.EstabTimeMean.3"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1345.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1345.X_SCM_Name = "ERAB.EstabTimeMean.QCI.3"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1344.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1342.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1342.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1341.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1337.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1336.Alias2 = "ERAB.EstabAddFailNbr.Protocol.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1336.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1336.X_SCM_Name = "ERAB.EstabAddFailNbr.Cause.Protocol.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1335.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1333.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1333.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1332.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1328.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1327.Alias2 = "ERAB.EstabAddFailNbr.Nas.AuthenticationFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1327.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1327.X_SCM_Name = "ERAB.EstabAddFailNbr.Cause.Nas.AuthenticationFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1326.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1324.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1324.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1323.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1319.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1318.Alias2 = "ERAB.EstabAddFailNbr.RadioNetwork.UENotAvailableforPS"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1318.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1318.X_SCM_Name = "ERAB.EstabAddFailNbr.Cause.RadioNetwork.UENotAvailableforPS"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1317.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1315.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1315.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1314.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1309.Alias2 = "ERAB.EstabAddFailNbr.RadioNetwork.ENBUES1APIDError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1309.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1309.X_SCM_Name = "ERAB.EstabAddFailNbr.Cause.RadioNetwork.ENBUES1APIDError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1308.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1306.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1306.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1305.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1300.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1298.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1298.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1297.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1292.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1291.Alias2 = "ERAB.EstabInitFailNbr.Misc.OMIntervention"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1291.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1291.X_SCM_Name = "ERAB.EstabInitFailNbr.Cause.Misc.OMIntervention"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1290.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1289.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1289.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1288.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1283.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1282.Alias2 = "ERAB.EstabInitFailNbr.Nas.CSGSubscriptionExpiry"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1282.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1282.X_SCM_Name = "ERAB.EstabInitFailNbr.Cause.Nas.CSGSubscriptionExpiry"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1281.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1279.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1274.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1273.Alias2 = "ERAB.EstabInitFailNbr.RadioNetwork.S1IntraSystemHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1273.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1273.X_SCM_Name = "ERAB.EstabInitFailNbr.Cause.RadioNetwork.S1IntraSystemHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1272.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1270.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1270.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1265.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1264.Alias2 = "ERAB.EstabInitFailNbr.RadioNetwork.HODesirable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1264.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1264.X_SCM_Name = "ERAB.EstabInitFailNbr.Cause.RadioNetwork.HODesirable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1263.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1261.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1261.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1260.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1256.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1255.Alias2 = "ERAB.EstabInitFailNbr.RadioNetwork.PartialHandover"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1255.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1255.X_SCM_Name = "ERAB.EstabInitFailNbr.Cause.RadioNetwork.PartialHandover"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1254.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1252.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1252.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1251.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1247.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1246.Alias2 = "UECNTX.RelReq.Misc.HardwareFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1246.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1246.X_SCM_Name = "UECNTX.RelReq.Cause.Misc.HardwareFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1245.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1243.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1243.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1242.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1238.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1237.Alias2 = "UECNTX.RelReq.Protocol.TransferSyntaxError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1237.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1237.X_SCM_Name = "UECNTX.RelReq.Cause.Protocol.TransferSyntaxError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1236.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1234.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1234.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1233.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1229.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1228.Alias2 = "UECNTX.RelReq.RadioNetwork.X2HO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1228.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1228.X_SCM_Name = "UECNTX.RelReq.Cause.RadioNetwork.X2HO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1227.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1225.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1225.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1224.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1219.Alias2 = "UECNTX.RelReq.RadioNetwork.RadioResourcesUnavailable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1219.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1219.X_SCM_Name = "UECNTX.RelReq.Cause.RadioNetwork.RadioResourcesUnavailable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1218.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1216.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1216.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1215.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1210.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1209.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1207.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1207.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1206.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1201.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1200.Alias2 = "UECNTX.RelReq.RadioNetwork.ReleaseForEUTRANReason"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1200.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1200.X_SCM_Name = "UECNTX.RelReq.Cause.RadioNetwork.ReleaseForEUTRANReason"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1199.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1199.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1198.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1193.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1192.Alias2 = "RRC.ConnEstabTimeMax.MoData"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1192.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1192.X_SCM_Name = "RRC.ConnEstabTimeMax.Cause.MoData"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1191.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1189.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1184.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1183.Alias2 = "RRC.ConnEstabTimeMean.MoSignalling"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1183.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1183.X_SCM_Name = "RRC.ConnEstabTimeMean.Cause.MoSignalling"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1182.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1180.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1180.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1175.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1174.Alias2 = "RRC.ConnReEstabSucc.Spare1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1174.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1174.X_SCM_Name = "RRC.ConnReEstabSucc.Cause.Spare1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1173.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1171.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1171.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1170.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1166.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1165.Alias2 = "RRC.ConnEstabFail.MoSignalling"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1165.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1165.X_SCM_Name = "RRC.ConnEstabFail.Cause.MoSignalling"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1164.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1162.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1162.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1161.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1157.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1156.Alias2 = "RRC.ConnEstabAtt.DelayTolerantAccess"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1156.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1156.X_SCM_Name = "RRC.ConnEstabAtt.Cause.DelayTolerantAccess"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1155.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1153.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1153.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1152.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1148.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1147.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1147.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1147.X_SCM_Name = "MAC.DlNackValueTotal"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1146.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1144.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1144.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1143.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1139.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1138.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1138.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1138.X_SCM_Name = "HO.X2IntraFreqOutAtt"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1137.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1135.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1135.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1134.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1129.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1129.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1129.X_SCM_Name = "RRC.EffectiveConnMean"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1128.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1126.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1126.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1125.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1120.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1119.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1117.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1117.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1116.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1111.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1110.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1110.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1110.X_SCM_Name = "ERAB.NbrSuccInitEstab.7"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1108.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1108.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1107.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1102.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1101.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1101.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1101.X_SCM_Name = "ERAB.NbrAttInitEstab.8"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1100.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1099.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1094.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1093.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1093.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1093.X_SCM_Name = "ERAB.NbrAttInitEstab"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1092.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1090.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1090.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1085.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1084.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1084.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1084.X_SCM_Name = "PDCP.UpLastTtiOctDl.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1083.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1081.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1081.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1080.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1076.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1075.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1075.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1075.X_SCM_Name = "PDCP.UpLastTtiOctUl.2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1074.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1072.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1072.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1071.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1067.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1066.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1066.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1066.X_SCM_Name = "PDCP.UpPktTotDelayDl.3"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1065.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1063.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1063.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1062.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1058.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1057.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1057.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1057.X_SCM_Name = "PDCP.ThrpTimeDL.4"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1056.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1054.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1054.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1053.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1049.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1048.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1048.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1048.X_SCM_Name = "RRU.PdcchCceUtil.UlDciSf"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1047.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1045.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1045.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1044.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1039.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1039.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1039.X_SCM_Name = "RRU.DtchPrbAssnUl.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1038.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1036.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1036.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1035.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1030.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1029.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1027.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1027.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1026.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1021.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1020.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1020.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1020.X_SCM_Name = "MAC.NbrSuccInitTbDl.256Qam.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1018.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1018.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1017.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1012.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1011.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1011.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1011.X_SCM_Name = "PDCP.UpPeakUEBitrateDl "
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1010.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1009.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1009.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1008.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1003.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1002.Alias2 = "ERAB.RelEnbNbr.Nas.NormalRelease"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1002.Alias = "cpe-pm-rab-release-enb-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1002.X_SCM_Name = "ERAB.RelEnbNbr.NormalRelease"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1001.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.999.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.994.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.993.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.993.Alias = "cpe-pm-interfreq-ho-out-target-rsrp"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.993.X_SCM_Name = "HO.OutInterFreqTargetRSRP"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.992.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.990.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.990.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.985.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.984.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.984.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.984.X_SCM_Name = "UE.ActiveMeanUL"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.983.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.981.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.981.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.980.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.976.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.975.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.975.Alias = "cpe-pm-mpo-att-ho-out-primary-plmn"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.975.X_SCM_Name = "MPO.AttHoOutPrimaryPLMN"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.974.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.972.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.972.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.971.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.967.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.966.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.966.Alias = "cpe-pm-covg-middle-area-vip-ue-total-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.966.X_SCM_Name = "COVG.MiddleVipUeTotalNbr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.965.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.963.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.963.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.962.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.958.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.957.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.957.Alias = "cpe-pm-covg-vip-ue-middle-area-tm"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.957.X_SCM_Name = "COVG.MiddleTime.VipUe"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.956.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.954.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.954.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.953.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.949.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.948.Alias2 = "PHY.ULMaxNL.94"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.948.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.948.X_SCM_Name = "PHY.ULMaxNL.PRB94"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.947.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.945.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.945.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.944.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.939.Alias2 = "PHY.ULMaxNL.85"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.939.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.939.X_SCM_Name = "PHY.ULMaxNL.PRB85"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.938.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.936.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.936.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.935.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.930.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.929.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.927.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.927.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.926.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.921.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.920.Alias2 = "PHY.ULMaxNL.66"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.920.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.920.X_SCM_Name = "PHY.ULMaxNL.PRB66"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.918.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.918.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.917.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.912.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.911.Alias2 = "PHY.ULMaxNL.57"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.911.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.911.X_SCM_Name = "PHY.ULMaxNL.PRB57"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.910.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.909.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.909.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.908.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.903.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.902.Alias2 = "PHY.ULMaxNL.48"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.902.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.902.X_SCM_Name = "PHY.ULMaxNL.PRB48"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.901.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.895.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.894.Alias2 = "PHY.ULMaxNL.40"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.894.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.894.X_SCM_Name = "PHY.ULMaxNL.PRB40"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.893.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.891.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.891.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.890.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.886.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.885.Alias2 = "PHY.ULMaxNL.31"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.885.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.885.X_SCM_Name = "PHY.ULMaxNL.PRB31"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.884.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.882.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.882.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.881.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.877.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.876.Alias2 = "PHY.ULMaxNL.22"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.876.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.876.X_SCM_Name = "PHY.ULMaxNL.PRB22"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.875.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.873.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.873.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.872.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.868.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.867.Alias2 = "PHY.ULMaxNL.13"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.867.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.867.X_SCM_Name = "PHY.ULMaxNL.PRB13"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.866.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.864.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.864.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.863.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.859.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.858.Alias2 = "PHY.ULMaxNL.4"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.858.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.858.X_SCM_Name = "PHY.ULMaxNL.PRB4"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.857.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.855.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.855.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.854.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.849.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.849.Alias = "cpe-pm-cell-mean-tx-power"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.849.X_SCM_Name = "PHY.CellMeanTxPower"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.848.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.846.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.846.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.845.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.840.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.839.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.837.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.837.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.836.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.831.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.830.Alias2 = "PHY.ULMeanNL.83"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.830.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.830.X_SCM_Name = "PHY.ULMeanNL.PRB83"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.828.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.828.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.827.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.822.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.821.Alias2 = "PHY.ULMeanNL.74"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.821.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.821.X_SCM_Name = "PHY.ULMeanNL.PRB74"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.820.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.819.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.819.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.818.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.813.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.812.Alias2 = "PHY.ULMeanNL.65"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.812.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.812.X_SCM_Name = "PHY.ULMeanNL.PRB65"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.811.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.809.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.804.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.803.Alias2 = "PHY.ULMeanNL.56"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.803.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.803.X_SCM_Name = "PHY.ULMeanNL.PRB56"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.802.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.800.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.800.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.796.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.795.Alias2 = "PHY.ULMeanNL.48"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.795.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.795.X_SCM_Name = "PHY.ULMeanNL.PRB48"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.794.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.792.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.792.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.791.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.787.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.786.Alias2 = "PHY.ULMeanNL.39"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.786.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.786.X_SCM_Name = "PHY.ULMeanNL.PRB39"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.785.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.783.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.783.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.782.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.778.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.777.Alias2 = "PHY.ULMeanNL.30"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.777.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.777.X_SCM_Name = "PHY.ULMeanNL.PRB30"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.776.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.774.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.774.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.773.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.769.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.768.Alias2 = "PHY.ULMeanNL.21"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.768.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.768.X_SCM_Name = "PHY.ULMeanNL.PRB21"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.767.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.765.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.765.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.764.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.759.Alias2 = "PHY.ULMeanNL.12"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.759.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.759.X_SCM_Name = "PHY.ULMeanNL.PRB12"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.758.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.756.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.756.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.755.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.750.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.749.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.747.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.747.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.746.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.741.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.740.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.740.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.740.X_SCM_Name = "PHY.NbrCqi9"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.738.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.738.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.737.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.732.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.731.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.731.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.731.X_SCM_Name = "PHY.NbrCqi0"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.730.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.729.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.729.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.728.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.723.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.722.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.722.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.722.X_SCM_Name = "RRU.PuschPrbTotMeanUl"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.721.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.719.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.714.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.713.Alias2 = "DRB.PdcpSduDropRateDl.3"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.713.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.713.X_SCM_Name = "PDCP.UpPktDiscardDl.3"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.712.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.710.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.710.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.705.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.704.Alias2 = "DRB.PdcpSduDelayDl.3"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.704.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.704.X_SCM_Name = "PDCP.UpPktDelayDl.3"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.703.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.701.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.701.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.700.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.697.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.696.Alias2 = "DRB.PdcpSduAirLossRateDl.5"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.696.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.696.X_SCM_Name = "PDCP.NbrPktLossDl.5"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.695.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.693.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.693.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.692.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.688.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.687.Alias2 = "DRB.IPThpDl.5"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.687.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.687.X_SCM_Name = "PDCP.NbrPktDl.5"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.686.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.684.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.684.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.683.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.679.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.678.Alias2 = "DRB.PdcpSduLossRateUl.5"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.678.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.678.X_SCM_Name = "PDCP.NbrPktLossUl.5"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.677.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.675.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.675.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.674.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.669.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.669.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.669.X_SCM_Name = "PDCP.NbrPktUl.5"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.668.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.666.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.666.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.665.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.660.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.659.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.657.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.657.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.656.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.651.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.650.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.650.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.650.X_SCM_Name = "PDCP.UpOctUl.7"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.648.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.648.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.647.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.642.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.641.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.641.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.641.X_SCM_Name = "IRATHO.FailPrepOutUtran.HoExeTimeOut"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.640.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.639.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.639.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.638.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.633.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.632.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.632.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.632.X_SCM_Name = "IRATHO.SuccOutGeran"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.631.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.629.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.624.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.623.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.623.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.623.X_SCM_Name = "IRATHO.AttOutGeran"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.622.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.620.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.620.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.615.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.614.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.614.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.614.X_SCM_Name = "HO.AttOutInterEnbX2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.613.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.611.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.611.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.610.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.606.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.605.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.605.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.605.X_SCM_Name = "HO.AttOutInterEnbS1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.604.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.602.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.602.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.601.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.598.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.597.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.597.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.597.X_SCM_Name = "CONTEXT.AttMod"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.596.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.594.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.594.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.593.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.589.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.588.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.588.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.588.X_SCM_Name = "ERAB.NbrLeft.8"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.587.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.585.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.585.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.584.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.579.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.579.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.579.X_SCM_Name = "ERAB.HoFail.8"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.578.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.576.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.576.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.575.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.570.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.569.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.567.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.567.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.566.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.561.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.560.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.560.Alias = "cpe-pm-cur-rab-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.560.X_SCM_Name = "ERAB.NbrLeft"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.558.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.558.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.557.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.552.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.551.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.551.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.551.X_SCM_Name = "ERAB.NbrSuccEstab.2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.550.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.549.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.549.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.548.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.543.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.542.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.542.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.542.X_SCM_Name = "ERAB.NbrAttEstab.2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.541.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.539.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.534.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.533.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.533.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.533.X_SCM_Name = "ERAB.NbrHoInc.2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.532.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.530.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.530.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.525.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.524.Alias2 = "ERAB.UsageNbrMean.4"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.524.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.524.X_SCM_Name = "ERAB.NbrMeanEstab.4"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.523.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.521.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.521.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.520.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.516.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.515.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.515.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.515.X_SCM_Name = "ERAB.NbrReqRelEnb.6"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.514.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.512.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.512.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.511.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.507.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.506.Alias2 = "ERAB.RelEnbNbr.RadioNetwork.UENotAvailableforPS"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.506.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.506.X_SCM_Name = "ERAB.NbrReqRelEnb.UENotAvailableForPSService"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.505.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.503.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.503.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.502.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.499.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.498.Alias2 = "RRC.ConnReEstabSuccSum"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.498.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.498.X_SCM_Name = "RRC.SuccConnReestab"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.497.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.495.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.495.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.494.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.489.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.489.Alias = "cpe-pm-covg-core-area-ue-total-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.489.X_SCM_Name = "COVG.CoreUeTotalNbr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.488.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.486.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.486.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.485.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.480.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.479.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.477.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.477.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.476.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.471.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.470.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.470.Alias = "cpe-pm-mro-reduce-neigh-cio"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.470.X_SCM_Name = "MRO.RedNeighCIO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.468.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.468.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.467.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.462.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.461.Alias2 = "HO.OutFail.ToWrongCell"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.461.Alias = "cpe-pm-mro-wrong-cell-ho-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.461.X_SCM_Name = "MRO.WrongCellHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.460.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.459.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.459.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.458.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.453.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.452.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.452.Alias = "cpe-pm-anr-add-intrafreq-neigh-fail-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.452.X_SCM_Name = "ANR.FailNbr.Intrafreq"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.451.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.449.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.444.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.443.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.443.Alias = "cpe-pm-rach-cont-ue-rept-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.443.X_SCM_Name = "RRU.RachContentionReported"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.442.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.440.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.440.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.435.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.434.Alias2 = "RRU.RachPreambleBMean"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.434.Alias = "cpe-pm-rach-recv-preamble-b-mean-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.434.X_SCM_Name = "RRU.RachPreambleBMean"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.433.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.431.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.431.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.430.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.426.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.425.Alias2 = "ERAB.ModQoSFailNbr.Transport.ResourceUnavailable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.425.Alias = "cpe-pm-rab-modi-fail-nr-transres-unavail"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.425.X_SCM_Name = "ERAB.ModQoSFailNbr.TransResNotAvailable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.424.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.422.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.422.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.421.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.417.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.416.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.416.Alias = "cpe-pm-mme-rel-rab-nr-succho"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.416.X_SCM_Name = "ERAB.RelMmeNbr.SucHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.415.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.413.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.413.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.412.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.408.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.407.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.407.Alias = "cpe-pm-mme-rel-rab-nr-radio-net"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.407.X_SCM_Name = "ERAB.RelMmeNbr.RadioNetworkLayer"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.406.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.404.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.404.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.403.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.399.Alias2 = "ERAB.RelFailNbr.RadioNetwork.RadioInterfaceProcedureFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.399.Alias = "cpe-pm-mme-rel-rab-fail-nr-notradio"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.399.X_SCM_Name = "ERAB.RelFailNbr.RadioInterfaceFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.398.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.396.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.396.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.395.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.390.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.389.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.387.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.387.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.386.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.381.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.380.Alias2 = "ERAB.EstabAddFailNbr.RadioNetwork.InvalidQoSCombination"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.380.Alias = "cpe-pm-init-addrab-est-fail-invld-qospara"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.380.X_SCM_Name = "ERAB.EstabAddFailNbr.InvalidQosCombination"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.378.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.378.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.377.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.372.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.371.Alias2 = "ERAB.EstabInitFailNbr.RadioNetwork.AlgoNotSupported"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.371.Alias = "cpe-pm-init-rab-est-fail-nr-algo-notsupport"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.371.X_SCM_Name = "ERAB.EstabInitFailNbr.AlgoNotSupported"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.370.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.369.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.369.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.368.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.363.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.362.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.362.Alias = "cpe-pm-rrc-recfg-fail-nr-installc"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.362.X_SCM_Name = "RRC.FailConnReconfig.InstAllocFail"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.361.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.359.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.354.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.353.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.353.Alias = "cpe-pm-rrc-recfg-fail-nr-term-norsp"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.353.X_SCM_Name = "RRC.FailConnReconfig.TerminalNoRsp"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.352.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.350.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.350.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.345.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.344.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.344.Alias = "cpe-pm-rrc-recfg-fail-nr-ambr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.344.X_SCM_Name = "RRC.FailConnReconfig.Ambr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.343.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.341.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.341.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.340.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.336.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.335.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.335.Alias = "cpe-pm-rrc-recfg-succ-nr-intracell-ho"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.335.X_SCM_Name = "RRC.SuccConnReconfig.HandOverIntraCell"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.334.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.332.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.332.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.331.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.327.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.326.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.326.Alias = "cpe-pm-rrc-recfg-req-nr-rabsetup"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.326.X_SCM_Name = "RRC.AttConnReconfig.RabSetup"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.325.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.323.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.323.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.322.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.318.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.317.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.317.Alias = "cpe-pm-rrc-reest-fail-tolnr-drbidallc"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.317.X_SCM_Name = "RRC.ConnReEstabFail.DrbIdAllocFail"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.316.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.314.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.314.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.313.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.309.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.308.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.308.Alias = "cpe-pm-rrc-reest-fail-nr-max-uenum"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.308.X_SCM_Name = "RRC.ConnReEstabFail.MaxUeNum"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.307.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.305.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.305.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.304.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.299.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.297.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.297.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.296.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.291.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.290.Alias2 = "RRC.ConnEstabAtt.MtAccess"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.290.Alias = "cpe-pm-rrc-estab-req-nr-mtacc"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.290.X_SCM_Name = "RRC.AttConnEstab.MtAccess"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.288.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.288.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.287.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.282.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.281.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.281.Alias = "cpe-pm-sctpasso-resend-databloc-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.281.X_SCM_Name = "SIG.SctpDataChunkReSent"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.280.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.279.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.279.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.278.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.273.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.272.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.272.Alias = "cpe-pm-recv-abort-nr-unrecog-para"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.272.X_SCM_Name = "SIG.SctpAbort.ParameterUnrecognized"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.271.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.269.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.264.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.263.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.263.Alias = "cpe-pm-gw-abort-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.263.X_SCM_Name = "SIG.SctpAbort"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.262.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.260.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.260.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.255.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.254.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.254.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.254.X_SCM_Name = "MAC.NbrTbDl.Tm6"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.253.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.251.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.251.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.250.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.246.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.245.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.245.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.245.X_SCM_Name = "MAC.NbrSuccInitTbDl.64Qam.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.244.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.242.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.242.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.241.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.237.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.236.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.236.Alias = "cpe-pm-mac-dl-tr-init-tb-num-qpsk"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.236.X_SCM_Name = "MAC.NbrInitTbDl.Qpsk"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.235.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.233.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.233.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.232.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.228.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.227.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.227.Alias = "cpe-pm-mac-ul-tr-init-tb-num-16qam"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.227.X_SCM_Name = "MAC.NbrInitTbUl.16Qam"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.226.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.224.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.224.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.223.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.219.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.218.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.218.Alias = "cpe-pm-2utr-ho-pre-fail-tarsysfai"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.218.X_SCM_Name = "SRVCC.FailPrepOutUtran.TgtFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.217.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.215.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.215.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.214.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.209.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.209.Alias = "cpe-pm-2ger-srvccho-succ-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.209.X_SCM_Name = "SRVCC.SuccOutGeran"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.208.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.206.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.206.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.205.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.200.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.198.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.198.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.197.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.192.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.191.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.191.Alias = "cpe-pm-volte-interenb-x2ho-req-nr-intrafreq"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.191.X_SCM_Name = "VoLTE.HO.AttOutInterEnbX2.IntraFreq"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.190.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.189.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.189.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.188.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.183.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.182.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.182.Alias = "cpe-pm-volte-interenb-s1ho-req-nr-n-intrafreq"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.182.X_SCM_Name = "VoLTE.HO.AttOutInterEnbS1.IntraFreqN"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.181.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.179.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.174.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.173.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.173.Alias = "cpe-pm-intersys-ps-ho-succ-nr-eps-tds"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.173.X_SCM_Name = "IRATHO.SuccOutUtran"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.172.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.170.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.170.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.165.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.164.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.164.Alias = "cpe-pm-ho-fail-x2-prefail"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.164.X_SCM_Name = "HO.FailOut.X2Prep"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.163.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.161.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.161.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.160.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.156.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.155.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.155.Alias = "cpe-pm-inter-freq-ho-succ-nr-lb"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.155.X_SCM_Name = "HO.SuccOutInterFreq.LoadBalance"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.154.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.152.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.152.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.151.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.147.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.146.Alias2 = "DRB.PdcpSduBitrateUl.8"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.146.Alias = "cpe-pm-pdcp-ulup-send-q8"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.146.X_SCM_Name = "DRB.PdcpSduBitLenUl.8"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.145.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.143.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.143.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.142.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.138.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.137.Alias2 = "DRB.PdcpSduBitrateDl.8"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.137.Alias = "cpe-pm-pdcp-dlup-send-q8"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.137.X_SCM_Name = "DRB.PdcpSduBitLenDl.8"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.136.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.134.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.134.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.133.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.129.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.128.Alias2 = "ERAB.ModQoSAttNbr.9"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.128.Alias = "cpe-pm-rab-att-modi-nr-q9"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.128.X_SCM_Name = "ERAB.NbrAttMod.9"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.127.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.125.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.125.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.124.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.119.Alias2 = "ERAB.ModQoSSuccNbr.4"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.119.Alias = "cpe-pm-rab-succ-modi-nr-q4"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.119.X_SCM_Name = "ERAB.NbrSuccMod.4"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.118.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.116.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.116.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.115.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.110.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.109.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.107.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.107.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.106.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.101.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.100.Alias2 = "ERAB.RelAttNbr.4"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.100.Alias = "cpe-pm-rab-mme-attrel-nr-q4"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.100.X_SCM_Name = "ERAB.RelAttNbr.4"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.99.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.97.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.97.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.96.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.91.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.90.Alias2 = "ERAB.RelEnbNbr.6"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.90.Alias = "cpe-pm-rab-enb-rel-nr-q6"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.90.X_SCM_Name = "ERAB.RelEnbNbr.6 "
+ Device.PeriodicStatistics.SampleSet.1.Parameter.88.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.88.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.87.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.82.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.81.Alias2 = "ERAB.EstabAddAttNbr.8"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.81.Alias = "cpe-pm-add-rab-att-nr-q8"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.81.X_SCM_Name = "ERAB.EstabAddAttNbr.8"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.80.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.79.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.79.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.78.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.73.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.72.Alias2 = "ERAB.EstabAddSuccNbr.3"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.72.Alias = "cpe-pm-add-rab-succ-nr-q3"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.72.X_SCM_Name = "ERAB.EstabAddSuccNbr.3"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.71.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.69.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.64.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.63.Alias2 = "ERAB.EstabInitAttNbr.8"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.63.Alias = "cpe-pm-init-rab-att-nr-q8"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.63.X_SCM_Name = "ERAB.EstabInitAttNbr.8"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.62.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.60.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.60.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.55.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.54.Alias2 = "ERAB.EstabInitSuccNbr.3"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.54.Alias = "cpe-pm-init-rab-succ-nr-q3"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.54.X_SCM_Name = "ERAB.EstabInitSuccNbr.3"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.53.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.51.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.51.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.50.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.46.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.45.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.45.Alias = "cpe-pm-iot-v2-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.45.X_SCM_Name = "CARR.IOT.21To30"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.44.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.42.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.42.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.41.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.37.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.36.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.36.Alias = "cpe-pm-gtp-tx-bytes"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.36.X_SCM_Name = "S1.OutNbrOctGtpU"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.35.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.33.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.33.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.32.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.28.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.27.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.27.Alias = "cpe-pm-csfb-init-req-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.27.X_SCM_Name = "CONTEXT.AttInitalSetup.Csfb"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.26.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.24.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.24.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.23.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.19.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.18.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.18.Alias = "cpe-pm-pdcp-dl-avg-rt"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.18.X_SCM_Name = "DRB.PdcpSduBitrateDl"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.17.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.15.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.15.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.14.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.8.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.7.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.7.Alias = "cpe-pm-rab-release-mme-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.7.X_SCM_Name = "ERAB.RelMmeNbr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.6.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.4.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.4.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.3.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.X_SCM_SampleSetFileFormat = "A%d.%t+0800-%T+0800_%o.%s.xml"
+ Device.PeriodicStatistics.SampleSet.0.ParameterNumberOfEntries = 0
+ Device.PeriodicStatistics.SampleSet.0.SampleInterval = 3600
+ Device.Firewall.Chain.1.Rule.2.DestIP = ""
+ Device.Firewall.Chain.1.Rule.2.Enable = 0
+ Device.Firewall.Chain.1.Rule.0.Target = "Drop"
+ Device.Firewall.Chain.1.Enable = 1
+ Device.Firewall.Level.0.DefaultLogPolicy = 0
+ Device.Firewall.Level.0.DefaultPolicy = "Drop"
+ Device.Firewall.Level.0.Chain = ""
+ Device.DHCPv6.Client.1.SentOption.0.Value =
+ Device.DHCPv6.Client.0.SentOption.0.Alias = ""
+ Device.DHCPv4.Server.Pool.1.MaxAddress = "11.11.11.110"
+ Device.DHCPv4.Server.Pool.0.DomainName = ""
+ Device.DHCPv4.Server.Pool.0.DNSServers = ""
+ Device.DNS.Client.Server.3.Interface = "Device.IP.Interface.1"
+ Device.Routing.Router.1.IPv6Forwarding.1.Status = "Disabled"
+ Device.Routing.Router.1.IPv6Forwarding.0.ForwardingMetric = -1
+ Device.Routing.Router.1.IPv6Forwarding.0.DestIPPrefix = ""
+ Device.Routing.Router.0.IPv4ForwardingNumberOfEntries = 1
+ Device.IP.Interface.5.IPv6Address.1.Prefix = ""
+ Device.IP.Interface.5.IPv6Address.0.IPAddress = ""
+ Device.IP.Interface.5.IPv6Address.0.Enable = 0
+ Device.IP.Interface.4.IPv6Address.1.IPAddress = ""
+ Device.IP.Interface.4.IPv6Address.1.Enable = 0
+ Device.IP.Interface.4.IPv4Address.0.AddressingType = "DHCP"
+ Device.IP.Interface.3.IPv4Address.1.AddressingType = "Static"
+ Device.IP.Interface.3.Alias = "cpe-ifr-management"
+ Device.IP.Interface.2.IPv6Address.0.Origin = "Static"
+ Device.IP.Interface.2.MaxMTUSize = 1500
+ Device.IP.Interface.1.IPv6Address.1.Origin = "Stateful"
+ Device.IP.Interface.0.Enable = 0
+ Device.IP.IPv4Enable = 1
+ Device.IP.X_SCM_NetworkDetectTimes = 0
+ Device.Ethernet.Interface.2.Enable = 1
+ Device.Ethernet.Interface.1.X_SCM_PortType = 2
+ Device.Ethernet.Interface.1.Status = "Up"
+ Device.Ethernet.Interface.0.X_SCM_SignTransMediaMode = 1
+ Device.Ethernet.Interface.0.DuplexMode = "Auto"
+ Device.Ethernet.Interface.0.LowerLayers = ""
+ Device.Ethernet.Interface.0.Name = "eth0"
+ Device.Time.X_SCM_TunnelRef = ""
+ Device.ManagementServer.X_SCM_InitNetconfClientIPPort = 4336
+ Device.ManagementServer.ConnectionRequestUsername = "test"
+ Device.ManagementServer.PeriodicInformEnable = 1
+ Device.DeviceInfo.VendorLogFile.1.X_SCM_LogControl.X_SCM_LogFileFormat = "Log_%d.%t+0800-%T+0800_%o.%s.zip"
+ Device.DeviceInfo.VendorLogFile.1.X_SCM_LogControl.X_SCM_Password = ""
+ Device.DeviceInfo.VendorLogFile.1.X_SCM_LogControl.X_SCM_CellTraceUsername = ""
+ Device.DeviceInfo.VendorLogFile.1.X_SCM_LogControl.X_SCM_PeriodicUploadEnable = 0
+ Device.DeviceInfo.TemperatureStatus.TemperatureSensor.1.ResetTime = -
+ Device.DeviceInfo.TemperatureStatus.TemperatureSensor.0.X_SCM_RF_Warning_Clear_ThresholdValue = 80
+ Device.DeviceInfo.TemperatureStatus.TemperatureSensor.0.LastUpdate = 0001-01-01T00:00:00Z
+ Device.DeviceInfo.TemperatureStatus.TemperatureSensor.0.Reset = 0
+ Device.DeviceInfo.X_SCM_RebootCause = "oam-operation"
+ Device.DeviceInfo.HardwarePlatform = ""
+ Device.DeviceInfo.Manufacturer = "Sercomm"
+ Device.Services.FAPService.1.Transport.RealTime.Perf.MeanFarEndJitter = 0
+ Device.Services.FAPService.1.Transport.RealTime.RcvPackets = 0
+ Device.Services.FAPService.1.Transport.SCTP.Assoc.0.LocalPort = 0
+ Device.Services.FAPService.1.Transport.SCTP.OutUnorderChunks = 0
+ Device.Services.FAPService.1.Transport.SCTP.OutCtrlChunks = 0
+ Device.Services.FAPService.1.Transport.SCTP.X_SCM_NumOutS1BoundStream = 3
+ Device.Services.FAPService.1.Transport.SCTP.ValCookieLife = 60000
+ Device.Services.FAPService.1.Transport.SCTP.RTOMin = 2000
+ Device.Services.FAPService.1.REM.LTE.Cell.0.BCCH.X_SCM_NeighborList.0.X_SCM_EUTRACarrierARFCN = 0
+ Device.Services.FAPService.1.REM.LTE.Cell.0.BCCH.PLMNList.0.PLMNID = "0"
+ Device.Services.FAPService.1.REM.LTE.Cell.0.BCCH.X_SCM_SubframeAssignment = 0
+ Device.Services.FAPService.1.REM.LTE.Cell.0.BCCH.X_SCM_MaxNeighborListEntries = 32
+ Device.Services.FAPService.1.REM.LTE.Cell.0.BCCH.CellID = 0
+ Device.Services.FAPService.1.REM.LTE.Cell.0.RF.X_SCM_InterFreqList.0.X_SCM_Earfcn = 0
+ Device.Services.FAPService.1.REM.LTE.Cell.0.RF.X_SCM_VendorPara = ""
+ Device.Services.FAPService.1.REM.LTE.X_SCM_EARFCN_SON_Algo.X_SCM_InNeighborSib5Priority_Weight = 2
+ Device.Services.FAPService.1.REM.LTE.X_SCM_EARFCN_SON_Algo.X_SCM_BeUsedByHomeNeighbor_Weight = 1
+ Device.Services.FAPService.1.REM.LTE.X_SCM_AdjustCellInitTxPowerAlgorithm1ParaPMax = 0
+ Device.Services.FAPService.1.REM.LTE.X_SCM_LocationAllowNoNeighborEnable = 1
+ Device.Services.FAPService.1.REM.LTE.X_SCM_PrivateAlgCtrl = "0x08011885"
+ Device.Services.FAPService.1.REM.LTE.X_SCM_ANREutranRsrpThreshold = -115
+ Device.Services.FAPService.1.REM.LTE.X_SCM_SnifferReservedEnable = 0
+ Device.Services.FAPService.1.REM.X_SCM_tfcsManagerConfig.ftr2 = 200
+ Device.Services.FAPService.1.REM.X_SCM_NlSync.CellInfo.0.PhaseOffset = 0
+ Device.Services.FAPService.1.REM.X_SCM_NlSync.CellInfo.0.Technology = "LTE"
+ Device.Services.FAPService.1.REM.UMTS.WCDMA.Cell.0.BCCH.CellID = 0
+ Device.Services.FAPService.1.REM.UMTS.WCDMA.Cell.0.RF.PrimaryScramblingCode = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborListInUse2.LTECell.0.TrgrX2 = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborListInUse2.LTECell.0.MustInclude = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborListInUse.InterRATCell.GSM.0.CI = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborListInUse.InterRATCell.UMTS.0.URA = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborListInUse.InterRATCell.UMTS.0.PLMNID = ""
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborListInUse.LTECell.0.TrgrX2 = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborListInUse.LTECell.0.MustInclude = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.X_SCM_NR.0.DLNRB = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.X_SCM_NR.0.PhyCellID = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.CDMA2000.1.PNOffset = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.CDMA2000.1.MustInclude = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.CDMA2000.1.Enable = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.GSM.0.X_SCM_SON_DISCOVERED = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.GSM.0.X_SCM_NR_STATUS = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.GSM.0.X_SCM_NETWORK_CONTROL_ORDER = 3
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.GSM.0.RAC = ".X_SCM_RAC"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.GSM.0.DTMSupport = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.GSM.0.BCCHARFCN = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.UMTS.0.X_SCM_VOIP_CAPABLE = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.MaxCDMA2000Entries = 32
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.MaxGSMEntries = 32
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.LTECell.0.X_SCM_PRACH_ROOT_SEQUENCE_INDEX = 837
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.LTECell.0.X_SCM_NUMPLMNID = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.LTECell.0.X_SCM_CSGID = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B2MeasureCtrl.2.B2Threshold2UTRAEcN0 = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B2Threshold2UTRAEcN0"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B2MeasureCtrl.2.B2Threshold1EutraRSRQ = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B2Threshold1EUTRARSRQ"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B2MeasureCtrl.1.TimeToTrigger = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.TimeToTrigger"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B2MeasureCtrl.1.B2Threshold2CDMA2000 = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B2Threshold2CDMA2000"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B2MeasureCtrl.0.MaxReportCells = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.MaxReportCells"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B1MeasureCtrl.2.TimeToTrigger = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.TimeToTrigger"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B1MeasureCtrl.1.MaxReportCells = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.MaxReportCells"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B2Threshold2GERAN = 15
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.X_SCM_MeasB2Threshold1QuantityType = "RSRP"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.X_SCM_A2ForBlindRedirection.TriggerQuantity = "RSRP"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.X_SCM_A2ForIRATPS.ReportInterval = 480
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.X_SCM_A2ForIRATPS.A2ThresholdRSRP = 25
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.PeriodMeasCtrl.1.ReportAmount = "Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_AnrReportAmount"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A5MeasureCtrl.1.Hysteresis = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.Hysteresis"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A5MeasureCtrl.1.A5Threshold1RSRP = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A5Threshold1RSRP"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A5MeasureCtrl.0.A5Threshold2RSRP = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A5Threshold2RSRP"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A5MeasureCtrl.0.A5Threshold1RSRQ = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A5Threshold1RSRQ"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A4MeasureCtrl.1.A4ThresholdRSRQ = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A4ThresholdRSRQ"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A4MeasureCtrl.0.TriggerQuantity = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.TriggerQuantity"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A3MeasureCtrl.1.TriggerQuantity = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.TriggerQuantity"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A3MeasureCtrl.0.TimeToTrigger = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.TimeToTrigger"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A3MeasureCtrl.0.ReportOnLeave = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.ReportOnLeave"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A2MeasureCtrl.5.ReportAmount = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.ReportAmount"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A2MeasureCtrl.5.A2ThresholdRSRQ = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A2ThresholdRSRQ"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A2MeasureCtrl.4.Hysteresis = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.Hysteresis"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A2MeasureCtrl.2.TriggerQuantity = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.TriggerQuantity"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A2MeasureCtrl.1.TimeToTrigger = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.TimeToTrigger"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A2MeasureCtrl.0.ReportQuantity = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.ReportQuantity"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A2MeasureCtrl.0.MaxReportCells = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.MaxReportCells"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A1MeasureCtrl.3.TriggerQuantity = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.TriggerQuantity"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A1MeasureCtrl.2.TimeToTrigger = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.TimeToTrigger"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A1MeasureCtrl.1.ReportQuantity = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.ReportQuantity"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A1MeasureCtrl.1.MaxReportCells = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.MaxReportCells"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A3MeasureCtrlNumberOfEntries = 2
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.X_SCM_HandOverToIRATProhibitTimer = 2000
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.X_SCM_EnableIntraFreqHandoverOut = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.X_SCM_MeasurmentConfigPerBandEnable = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.X_SCM_INTER_ANR_A5Threshold1RSRP = 75
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.X_SCM_INTER_A5Threshold1RSRP = 30
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A3Offset = "3"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.FilterCoefficientRSRQ = "4"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.CDMA2000.X_SCM_ue_generic_cdma2000_params.X_SCM_sdb_supported = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.CDMA2000.X_SCM_MOBILITY_SIB_8_PARAMS.FOREIGN_SID_REG = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.CDMA2000.CDMA2000Band.1.ThreshXLow = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.CDMA2000.TReselectionCDMA2000SFHigh = 25
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.CDMA2000.SearchWindowSize = ""
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.GERAN.X_SCM_GERANFreqGroupForSRVCC.0.B2Threshold1EUTRASrvcc = 70
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.GERAN.X_SCM_GERANFreqGroupForSRVCC.0.B2Threshold2GERANESrvcc = 15
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.GERAN.X_SCM_GERANFreqGroupForSRVCC.0.BCCHARFCN = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.GERAN.GERANFreqGroup.0.X_SCM_ARFCN_SPACING = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.GERAN.GERANFreqGroup.0.PMaxGERAN = 23
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.GERAN.GERANFreqGroup.0.CellReselectionPriority = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.GERAN.X_SCM_MaxGERANFreqGroupForSRVCCEntries = 32
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.UTRA.UTRANFDDFreq.0.CsfbPriority = 9
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.UTRA.X_SCM_UTRANTDDFreq.0.CellReselectionPriority = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.UTRA.UTRANFDDFreqNumberOfEntries = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.UTRA.X_SCM_NewUtraFreqEnable = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.UTRA.TReselectionUTRASFHigh = 100
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.InterFreq.Carrier.0.X_SCM_HYBRID_PHY_CELLID_START = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.InterFreq.Carrier.0.TReselectionEUTRA = "1"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.InterFreq.CarrierNumberOfEntries = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.InterFreq.X_SCM_ThreshXLowQRel9 = 31
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.InterFreq.X_SCM_TReselectionEUTRASFHigh = 100
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.InterFreq.X_SCM_QRxLevMinSIB5 = "-64"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.InterFreq.X_SCM_NewEutraFreqStudyMode = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IntraFreq.QQualMinR9Reselection = ".X_SCM_QQualMinRel9Sib3"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IntraFreq.X_SCM_SNonIntraSearchQRel9 = "4"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IntraFreq.X_SCM_SIntraSearchPRel9 = "29"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IntraFreq.X_SCM_QQualMinRel9Sib1 = -30
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IntraFreq.X_SCM_RSRQRel9Enable = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IntraFreq.PMax = 23
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.Common.THystNormal = 30
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.CellRestriction.X_SCM_CongestionCtrl.0.X_SCM_UeType = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.CellRestriction.X_SCM_acBarringForMODataTime = 5
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.RRCTimers.X_SCM_Detect_RLF_Timer = 20000
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.RRCTimers.N311 = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.RLC.SRB2.MaxRetxThreshold = "16"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.RLC.SRB1.TReordering = "35"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.RLC.X_SCM_UMDRBNumberOfEntries = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_PDCP.X_SCM_QOS.0.X_SCM_UMPDCPsnSize = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_PDCP.X_SCM_ROHC.5.X_SCM_QCI = 5
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_PDCP.X_SCM_ROHC.3.X_SCM_ROHCEnabled = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_PDCP.X_SCM_ROHC.0.X_SCM_Profiles = "000000010"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_PDCP.X_SCM_ROHC.0.X_SCM_MaxCid = 15
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_PDCP.X_SCM_QOSNumberOfEntries = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.X_SCM_SFR.X_SCM_CellEdgeEndRb = 49
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.ULSCH.MaxHARQTx = 4
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileList.9.ONDurationTimer = ".OnDurationTimer"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileList.7.OnDurationTimer = "10"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileList.6.DRXInactivityTimer = "40"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileList.6.DRXEnabled = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileList.6.QCI = 6
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileList.5.ShortDRXCycle = "32"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileList.3.LongDRXCycle = "640"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileList.2.DRXShortCycleTimer = "4"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileList.1.DRXRetransmissionTimer = "2"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.RACH.PowerRampingStep = "2"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.X_SCM_Scheduler.X_SCM_UlScheduleType = 2
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.X_SCM_MacRntiStart2 = 430
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.X_SCM_MacRntiStart = 61
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.PHY.TDDFrame.SubFrameAssignment = 2
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.PHY.ULPowerControl.DeltaFPUCCHFormat2b = 2
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.PHY.ULPowerControl.Alpha = 100
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.PHY.ULPowerControl.P0NominalPUSCHPersistent = -1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.PHY.PUSCH.Enable64QAM = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.PHY.PRACH.FreqOffset = "12"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.PHY.SRS.SRSEnabled = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.PHY.AntennaInfo.X_SCM_TransmissionMode = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.RF.X_SCM_QCOM.RFPath.0.bandList_0 = 40
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.RF.X_SCM_TemperatureSensorAddr = 73
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_RRM.X_SCM_LoadBalanceTimer = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_RRM.X_SCM_LoadBalancePrbThreshold = 80
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_RRM.X_SCM_LoadBalanceEnable = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_RRM.X_SCM_NumSRPerTTI2 = 8
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_RRM.X_SCM_NumSRPerTTI = 8
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Common.X_SCM_GlobalUniqueMmeId = ""
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_X2AP.X_SCM_TgtPrepTimeout = 5000
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_X2AP.X_SCM_MaxX2Peers = 5
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.QoS.8.DSCP = 46
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.QoS.8.PacketDelayBudget = 300
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.QoS.8.Type = "Non-GBR"
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.QoS.7.VLANTag = 0
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.QoS.6.Alias = "-"
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.QoS.5.QCI = 5
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.QoS.3.Enable = 0
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.QoS.0.Priority = 1
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.PLMNList.0.X_SCM_PLMNID_Priority = 6
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.PLMNList.0.IsPrimary = 0
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.PLMNListNumberOfEntries = 1
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.X_SCM_TAC2 = 1
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.AllowedIntegrityProtectionAlgorithmList = "EIA0,128-EIA1,128-EIA2"
+ Device.Services.FAPService.1.CellConfig.LTE.Tunnel.0.Enable = 0
+ Device.Services.FAPService.1.CellConfig.SysInfoCtrlParam.MultiBandInfoListSIB1 = 1
+ Device.Services.FAPService.1.AccessMgmt.X_SCM_TDSCDMA.LocalIPAccess.Rules.0.DestSubnetMask = ""
+ Device.Services.FAPService.1.AccessMgmt.LTE.LocalIPAccess.X_SCM_LIPAInterface = "eth0"
+ Device.Services.FAPService.1.AccessMgmt.LTE.X_SCM_CONRRCRedirectSelAlg = 0
+ Device.Services.FAPService.1.AccessMgmt.LTE.X_SCM_RRCConfigFailSendRejectEnable = 1
+ Device.Services.FAPService.1.AccessMgmt.LTE.X_SCM_MaxUEsServedThreshold2 = 64
+ Device.Services.FAPService.1.AccessMgmt.LTE.X_SCM_MaxPRBUsageDuration = 30
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_X2AP.X_SCM_PeerX2SigLinkPort = 36422
+ Device.Services.FAPService.1.FAPControl.LTE.Gateway.PreSecGW3ServerList.7.SecGWServer3Ip = "2600:0000:cf04:2641:10:158:172:180"
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_CRAN.Sector.1.RRHSctpLinkPort = 49160
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_CRAN.Sector.0.BBUSctpLinkPort = 49160
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_CRAN.CertTypeToEMS = "Ally"
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_CRAN.SysmgrHBInterval = 15
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_CRAN.EMSPort = 8494
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_CRAN.UplinkId = 1
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_SceneManagement.Scene3.0.OAM = ""
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_SceneManagement.X_SCM_LastIdentifyTime = 0001-01-01T00:00:00Z
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_CoverageMeasurement.X_SCM_InsureIntraHoRSRPOffsetThreshold = 32
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_CoverageMeasurement.X_SCM_InsureIntraHoEnable = 1
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_CoverageMeasurement.X_SCM_MiddleArea_A2ThresholdRSRP = 70
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_RO.X_SCM_PRACHCfgIndexForHighLoad = 11
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_MRO.HPWeights = "0,0,1"
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_MRO.ThreshHOAttemptsCategory2 = 5
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_MRO.GainHFRMargin = 100
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_MRO.IIRFilterCoefficientHP = 66
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_MRO.X_SCM_NumberThreshold = 20
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_BsPoutCtrl.X_SCM_RemMaxRsrpDiff = 5
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_SonEnable = 0
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_CSIReportMode = "Periodic_Auto_Mode"
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_RxRSSIHighThreshold = -144
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_NoMsg3CfgRatio = 70
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_RipAlarmThreshold1IOT = "10"
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_PwsEtwsCmasControl = 0
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_DualRxSupported = 1
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_ANROptimizeEarfcnEnable = 0
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_GUGroupNumber = 1
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_NeighborInfoConfig = "0"
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_FDDCellConfig = "{0,1,2,3}"
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_OPMode = 4
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_ScellActByRemainingBoCnt = 10
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_CELL_Freq_Contiguous = 0
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_eNodeBIdentityBase = 0
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SAS.CallSign = ""
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SAS.FCCIdentificationNumber = "P27-SCE4255W"
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SAS.Server = "https://sas.goog/v1.2/"
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_CMP.Config.0.ProtoType = "HTTPS"
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_CMP.Config.0.Subject = ""
+ Device.Services.FAPService.1.FAPControl.LTE.SelfConfig.SONConfigParam.UTRANSnifferEnable = 0
+ Device.Services.FAPService.1.FAPControl.LTE.SelfConfig.SONConfigParam.ReSynCellEnable = 0
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_V1State = 0
+ Device.Services.FAPService.1.FAPControl.X_SCM_LWM2M.X_SCM_Server.0.X_SCM_Binding = "U"
+ Device.Services.FAPService.1.FAPControl.X_SCM_LWM2M.X_SCM_MaxServerEntries = 32
+ Device.Services.FAPService.1.FAPControl.MaxX2IpAddrMapInfoEntries = 16
+ Device.Services.FAPService.1.Capabilities.LTE.CDMA2000RxSupported = 0
+ Device.Services.FAPService.1.Capabilities.LTE.GSMRxSupported = 0
+ Device.FaultMgmt.HistoryEvent.2.SpecificProblem = "File push from host failed"
+ Device.FaultMgmt.HistoryEvent.2.OUI = "Device.DeviceInfo.ManufacturerOUI"
+ Device.FaultMgmt.ExpeditedEvent.2.SpecificProblem = "File push from host failed"
+ Device.FaultMgmt.ExpeditedEvent.2.OUI = "Device.DeviceInfo.ManufacturerOUI"
+ Device.FaultMgmt.HistoryEvent.1.AdditionalText = ""
+ Device.FaultMgmt.HistoryEvent.1.PerceivedSeverity = "Information"
+ Device.FaultMgmt.ExpeditedEvent.1.AdditionalText = ""
+ Device.FaultMgmt.ExpeditedEvent.1.PerceivedSeverity = "Information"
+ Device.Security.Certificate.2.SubjectAlt = ""
+ Device.Security.Certificate.2.LastModif = 0001-01-01T00:00:00Z
+ Device.Security.Certificate.1.Subject = "/C=TW/O=Sercomm/OU=WInnForum CBSD Certificate/CN=P27-SCE4255W:2009CW5000019"
+ Device.Security.Certificate.1.NotBefore = Wed Sep 23 04:55:22 2020
+
+ Device.X_SCM_DeviceFeature.X_SCM_PeakThp.X_SCM_PeakThpUL = "0"
+ Device.X_SCM_DeviceFeature.X_SCM_NEStatus.X_SCM_ErrorCode_Status = ""
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_Netconf.X_SCM_NotificationControl.0.X_SCM_NotificationRaisedNum = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_LocationCheck.X_SCM_Category = "TRACEROUTE"
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.12.X_SCM_AppName = "httpd"
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.10.X_SCM_AppCrashMaxAction = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.10.X_SCM_AppUploadErrLogControl = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.9.X_SCM_AppCrashMaxAction = -1
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.9.X_SCM_AppUploadErrLogControl = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.6.X_SCM_AppDownActionMask = 6
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.5.X_SCM_AppTimeoutToRunningAction = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.5.X_SCM_AppEnableCheck = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.4.X_SCM_AppStateValidationTimes = 1
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.4.X_SCM_AppCrashCountMax = 10
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.1.X_SCM_AppName = "wan"
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_RcWanPHYCheckEnable = 1
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_RcWanInternetCheckEnable = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_SmartLFS.X_SCM_TotalCacheSize = 800
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.UserAccount.4.UserType = 1
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.UserAccount.2.UserFailedLoginTimes = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.UserAccount.1.UserPasswordLifeCycle = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.UserAccount.1.UserPassword = "$5$JGPYxlXwlDAoUHko$nv5T/Pzg.QNpmnGizKDA3Z2MU2yIAOeECuMhjkd5Zw9"
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.UserAccount.0.UserChangedPasswordTime = ""
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.UserAccount.0.UserClassification = 3
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_CwmpModifyValueChangeUriSwitch = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_ScheduledService = ""
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_CwmpKpiCompatOption = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_CwmpRebootFlag = ""
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_CwmpKicked = ""
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_CwmpCpeEarfcnDl = ""
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_CwmpDlsca = ""
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.15.CrashMaxAction = "100_REBOOT_SERVICE"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.12.Alias = "rc_son"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.10.CrashCountMax = 10
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.9.CrashCountMax = 10
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.8.CrashAction = "100_REBOOT_SERVICE"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.8.Dependency = "wan,sync,son"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.7.Status = "running"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.6.Name = "sync"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.4.CrashMaxAction = "200_REBOOT_SYSTEM"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.1.Alias = "rc_linkstatd"
+ Device.X_SCM_DeviceFeature.X_SCM_NotifyUpgradeEventTo3rdEnable = 0
+ Device.X_SCM_DeviceFeature.X_SCM_FtpServerEnable = 1
+ Device.X_SCM_DeviceFeature.X_SCM_MultiCustomizeSwitch = 1
+ Device.X_SCM_DeviceFeature.X_SCM_SSHSupportWeakMACsEnable = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SSHServerEnable = 1
+ Device.X_SCM_DeviceFeature.X_SCM_RemoteLogServerPort = 514
+ Device.FAP.X_SCM_PLCMgmt.Encryption_Configuration.Pairing_Password = ""
+ Device.FAP.X_SCM_PLCMgmt.Encryption_Configuration.Domain_Name = ""
+ Device.FAP.MRMgmt.Config.1.PrbNum = ""
+ Device.FAP.X_SCM_LcdMgmt.WeatherStatus.WindSpeedName = ""
+ Device.FAP.Tunnel.VirtualInterface.0.Enable = 0
+ Device.FAP.Tunnel.ChildSA.0.DirectionOutbound = 0
+ Device.FAP.Tunnel.IKESA.0.Status = ""
+ Device.FAP.Tunnel.CryptoProfile.1.IKEIntegrity = "HMAC-SHA1-96"
+ Device.FAP.Tunnel.CryptoProfile.1.MaxChildSA = 2
+ Device.FAP.Tunnel.MaxIKESAEntries = 65535
+ Device.FAP.GPS.X_SCM_GpsHaveLocked = 0
+ Device.FAP.GPS.XtraServerAddress1 = "http://xtrapath1.izatcloud.net/xtra3grc.bin"
+ Device.Security.X_SCM_IPsec.X_SCM_Ipsecsecrets.X_SCM_EntriesNumberOfEntries = 0
+ Device.Security.X_SCM_IPsec.X_SCM_Ipsecsecrets.X_SCM_Include = ""
+ Device.Security.X_SCM_IPsec.X_SCM_Ipsecconf.X_SCM_Connection.0.X_SCM_Leftsubnet = ""
+ Device.Security.X_SCM_IPsec.X_SCM_Ipsecconf.X_SCM_CASection.X_SCM_Auto = ""
+ Device.Security.X_SCM_IPsec.X_SCM_Ipsecconf.X_SCM_Margintime = ""
+ Device.Security.X_SCM_IPsec.X_SCM_Ipsecconf.X_SCM_Reauth = ""
+ Device.Security.X_SCM_IPsec.X_SCM_Strongswanconf.X_SCM_Charon_install_virtual_ip = "yes"
+ Device.Security.Certificate.0.SignatureAlgorithm = ""
+ Device.FaultMgmt.CurrentAlarm.0.AdditionalInformation = ""
+ Device.FaultMgmt.CurrentAlarm.0.ManagedObjectInstance = ""
+ Device.FaultMgmt.CurrentAlarm.0.SerialNumber = "Device.DeviceInfo.SerialNumber"
+ Device.FaultMgmt.SupportedAlarm.93.PerceivedSeverity = "Critical"
+ Device.FaultMgmt.SupportedAlarm.92.X_SCM_RaiseNum = 0
+ Device.FaultMgmt.SupportedAlarm.90.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.88.ProbableCause = "System overload level 3 is exceeded."
+ Device.FaultMgmt.SupportedAlarm.87.X_SCM_AlarmIdentifier = "11217"
+ Device.FaultMgmt.SupportedAlarm.85.SpecificProblem = "CPU utilization exceeds threshold 4(90%)."
+ Device.FaultMgmt.SupportedAlarm.84.PerceivedSeverity = "Major"
+ Device.FaultMgmt.SupportedAlarm.83.X_SCM_RaiseNum = 0
+ Device.FaultMgmt.SupportedAlarm.81.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.80.EventType = "Equipment Alarm"
+ Device.FaultMgmt.SupportedAlarm.79.ProbableCause = "Disk Usage has exceeded the maximum allowed threshold."
+ Device.FaultMgmt.SupportedAlarm.78.X_SCM_AlarmIdentifier = "11208"
+ Device.FaultMgmt.SupportedAlarm.76.SpecificProblem = "File push from host failed"
+ Device.FaultMgmt.SupportedAlarm.75.PerceivedSeverity = "Information"
+ Device.FaultMgmt.SupportedAlarm.74.X_SCM_RaiseNum =
+ Device.FaultMgmt.SupportedAlarm.72.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.69.X_SCM_AlarmIdentifier = "11197"
+ Device.FaultMgmt.SupportedAlarm.67.SpecificProblem = "Try RRC KPI Self Healing"
+ Device.FaultMgmt.SupportedAlarm.66.PerceivedSeverity = "Major"
+ Device.FaultMgmt.SupportedAlarm.65.X_SCM_RaiseNum = 0
+ Device.FaultMgmt.SupportedAlarm.63.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.62.EventType = "Equipment Alarm"
+ Device.FaultMgmt.SupportedAlarm.60.ProbableCause = "Firmware Upgrade By HMS Fail "
+ Device.FaultMgmt.SupportedAlarm.58.SpecificProblem = "Certificates Have Been Damaged"
+ Device.FaultMgmt.SupportedAlarm.57.PerceivedSeverity = "Major"
+ Device.FaultMgmt.SupportedAlarm.56.X_SCM_RaiseNum = 0
+ Device.FaultMgmt.SupportedAlarm.54.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.53.EventType = "Equipment Alarm"
+ Device.FaultMgmt.SupportedAlarm.51.ProbableCause = "Configuration Check Failure"
+ Device.FaultMgmt.SupportedAlarm.50.X_SCM_AlarmIdentifier = "58"
+ Device.FaultMgmt.SupportedAlarm.49.SpecificProblem = "Peer TDS Cell Offline"
+ Device.FaultMgmt.SupportedAlarm.48.PerceivedSeverity = "Warning"
+ Device.FaultMgmt.SupportedAlarm.47.X_SCM_RaiseNum = 0
+ Device.FaultMgmt.SupportedAlarm.45.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.44.EventType = "Environmental Alarm"
+ Device.FaultMgmt.SupportedAlarm.42.ProbableCause = "Cell Setup Earfcn Inuse RSSI Interference"
+ Device.FaultMgmt.SupportedAlarm.41.X_SCM_AlarmIdentifier = "11114"
+ Device.FaultMgmt.SupportedAlarm.39.PerceivedSeverity = "Warning"
+ Device.FaultMgmt.SupportedAlarm.38.X_SCM_RaiseNum = 0
+ Device.FaultMgmt.SupportedAlarm.36.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.35.EventType = "Equipment Alarm"
+ Device.FaultMgmt.SupportedAlarm.33.ProbableCause = "CPUL Crash"
+ Device.FaultMgmt.SupportedAlarm.32.X_SCM_AlarmIdentifier = "11155"
+ Device.FaultMgmt.SupportedAlarm.30.SpecificProblem = "1588 Sync Fail"
+ Device.FaultMgmt.SupportedAlarm.29.X_SCM_RaiseNum = 0
+ Device.FaultMgmt.SupportedAlarm.27.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.26.EventType = "Equipment Alarm"
+ Device.FaultMgmt.SupportedAlarm.24.ProbableCause = "CWMP Connect Failed"
+ Device.FaultMgmt.SupportedAlarm.23.X_SCM_AlarmIdentifier = "11150"
+ Device.FaultMgmt.SupportedAlarm.21.SpecificProblem = "No Connection With SeGW"
+ Device.FaultMgmt.SupportedAlarm.20.PerceivedSeverity = "Critical"
+ Device.FaultMgmt.SupportedAlarm.18.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.17.EventType = "Environmental Alarm"
+ Device.FaultMgmt.SupportedAlarm.15.ProbableCause = "Cell Unavailable:SCTP Rejected Connection"
+ Device.FaultMgmt.SupportedAlarm.14.X_SCM_AlarmIdentifier = "82"
+ Device.FaultMgmt.SupportedAlarm.12.SpecificProblem = "Throughput High"
+ Device.FaultMgmt.SupportedAlarm.11.PerceivedSeverity = "Warning"
+ Device.FaultMgmt.SupportedAlarm.10.X_SCM_RaiseNum = 0
+ Device.FaultMgmt.SupportedAlarm.9.X_SCM_RaiseNum = 0
+ Device.FaultMgmt.SupportedAlarm.7.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.6.EventType = "Environmental Alarm"
+ Device.FaultMgmt.SupportedAlarm.4.ProbableCause = "Cell Unavailable:S1 Setup Failure"
+ Device.FaultMgmt.SupportedAlarm.3.X_SCM_AlarmIdentifier = "11105"
+ Device.FaultMgmt.SupportedAlarm.1.SpecificProblem = "NTP Server Not Responding"
+ Device.FaultMgmt.SupportedAlarm.0.PerceivedSeverity = ""
+ Device.FaultMgmt.SupportedAlarmNumberOfEntries = 68
+ Device.PeriodicStatistics.SampleSet.3.Parameter.52.Reference = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.50.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.50.Enable = 1
+ Device.PeriodicStatistics.SampleSet.3.Parameter.45.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.44.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.44.Alias = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.44.X_SCM_Name = "MR.LteNcEarfcn"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.43.Reference = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.41.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.41.Enable = 1
+ Device.PeriodicStatistics.SampleSet.3.Parameter.40.Values = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.36.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.35.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.35.Alias = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.35.X_SCM_Name = "MR.LteScPlrDLQciX"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.34.Reference = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.32.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.32.Enable = 1
+ Device.PeriodicStatistics.SampleSet.3.Parameter.31.Values = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.27.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.26.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.26.Alias = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.26.X_SCM_Name = "MR.LteScRSRP"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.25.Reference = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.23.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.23.Enable = 1
+ Device.PeriodicStatistics.SampleSet.3.Parameter.22.Values = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.18.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.17.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.17.Alias = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.17.X_SCM_Name = "MR.RipRsrp"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.16.Reference = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.14.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.14.Enable = 1
+ Device.PeriodicStatistics.SampleSet.3.Parameter.13.Values = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.7.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.6.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.6.Alias = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.6.X_SCM_Name = "MR.PowerHeadRoom"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.5.Reference = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.3.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.3.Enable = 1
+ Device.PeriodicStatistics.SampleSet.3.Parameter.2.Values = ""
+ Device.PeriodicStatistics.SampleSet.3.ForceSample = 0
+ Device.PeriodicStatistics.SampleSet.3.FetchSamples = 0
+ Device.PeriodicStatistics.SampleSet.3.Name = "Mr"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.206.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.206.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.205.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.200.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.198.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.198.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.197.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.192.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.191.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.191.Alias = "PdpFail_RAB_Assignment_Timeout"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.191.X_SCM_Name = "SM.FailActPdpContext.RanNoReply"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.190.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.189.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.189.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.188.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.183.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.182.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.182.Alias = "AttachRequest"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.182.X_SCM_Name = "MM.AttGprsAttach"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.181.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.179.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.174.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.173.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.173.Alias = "NAS_ActivatePDPContextAccPerTraffic_Intact"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.173.X_SCM_Name = "SM.SuccActPdpContext.Interactive"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.172.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.170.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.170.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.165.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.164.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.164.Alias = "NAS_DlConnectAck_Conv_Video"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.164.X_SCM_Name = "CC.AnswOutVideoCalls"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.163.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.161.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.161.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.160.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.156.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.155.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.155.Alias = "FAP_Out_Of_Number"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.155.X_SCM_Name = "EQPT.OutOfSync"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.154.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.152.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.152.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.151.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.147.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.146.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.146.Alias = "RrcConnSetupCompTerminatingLowPrioritySignalling"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.146.X_SCM_Name = "RRC.SuccConnEstab.TerminatingLowPrioritySignalling"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.145.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.143.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.143.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.142.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.138.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.137.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.137.Alias = "RrcConnSetupCompEmergencyCall"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.137.X_SCM_Name = "RRC.SuccConnEstab.EmergencyCall"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.136.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.134.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.134.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.133.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.129.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.128.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.128.Alias = "RrcConnSetupCompOriginatingConversationalCall"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.128.X_SCM_Name = "RRC.SuccConnEstab.OriginatingConversationalCall"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.127.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.125.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.125.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.124.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.119.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.119.Alias = "RrcConnReqDetach"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.119.X_SCM_Name = "RRC.AttConnEstab.Detach"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.118.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.116.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.116.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.115.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.110.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.109.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.107.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.107.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.106.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.101.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.100.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.100.Alias = "FapPagingType1Send"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.100.X_SCM_Name = "Pag.AttPagType1"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.99.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.97.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.97.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.96.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.91.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.90.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.90.Alias = "RanapRabAssRespFailSend"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.90.X_SCM_Name = "RAB.FailEstab"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.88.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.88.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.87.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.82.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.81.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.81.Alias = "SctpAssoc_Abort_ERROR_COOKIE_RCVD_SHTDWN"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.81.X_SCM_Name = "IUH.SctpAbort.CookieRcvdShutdown"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.80.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.79.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.79.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.78.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.73.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.72.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.72.Alias = "SctpAssoc_Abort_ERROR_STREAM"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.72.X_SCM_Name = "IUH.SctpAbort.StreamIdInvalid"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.71.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.69.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.64.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.63.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.63.Alias = "HsdpaHandoverHnbToUmtsTotal"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.63.X_SCM_Name = "RELOC.AttPrepUEInvolHSDPA"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.62.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.60.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.60.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.55.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.54.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.54.Alias = "dwTrafficOf64KInRlc"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.54.X_SCM_Name = "RLC.NumUserBits.PS64DL"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.53.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.51.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.51.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.50.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.46.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.45.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.45.Alias = "RanapSRNSRelocationPrepFailedRecv"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.45.X_SCM_Name = "RELOC.FailPrep.Failure"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.44.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.42.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.42.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.41.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.37.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.36.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.36.Alias = "PS_RAB_Setup_Success"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.36.X_SCM_Name = "RAB.SuccEstabPS"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.35.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.33.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.33.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.32.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.28.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.27.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.27.Alias = "Hsdpa_RAB_Setup_Req"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.27.X_SCM_Name = "RAB.AttEstabHSDPA"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.26.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.24.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.24.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.23.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.19.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.18.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.18.Alias = "VoiceCallFail_RAB_RbSetupTimeout"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.18.X_SCM_Name = "RAB.FailEstabVoice.RbSetupTimeout"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.17.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.15.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.15.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.14.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.8.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.7.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.7.Alias = "Iscp60To80"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.7.X_SCM_Name = "CARR.ISCP.60to80"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.6.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.4.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.4.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.3.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.X_SCM_SampleSetFileFormat = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2191.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2189.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2184.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2183.Alias2 = "ERAB.AbnormalErabRelease.5"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2183.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2183.X_SCM_Name = "ERAB.AbnormalErabRelease.QCI.5"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2182.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2180.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2180.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2175.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2174.Alias2 = "RRC.ConnEstabTimeMax.PLMN.2.MoSignalling"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2174.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2174.X_SCM_Name = "RRC.ConnEstabTimeMax.PLMN.2.Cause.MoSignalling"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2173.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2171.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2171.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2170.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2166.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2165.Alias2 = "RRC.ConnEstabTimeMax.PLMN.1.MtAccess"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2165.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2165.X_SCM_Name = "RRC.ConnEstabTimeMax.PLMN.1.Cause.MtAccess"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2164.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2162.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2162.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2161.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2157.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2156.Alias2 = "RRC.ConnEstabTimeMean.PLMN.2.HighPriorityAccess"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2156.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2156.X_SCM_Name = "RRC.ConnEstabTimeMean.PLMN.2.Cause.HighPriorityAccess"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2155.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2153.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2153.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2152.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2148.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2147.Alias2 = "RRC.ConnEstabTimeMean.PLMN.1.Emergency"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2147.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2147.X_SCM_Name = "RRC.ConnEstabTimeMean.PLMN.1.Cause.Emergency"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2146.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2144.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2144.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2143.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2139.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2138.Alias2 = "RRC.ConnEstabSuccPLMN.2.MtAccess"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2138.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2138.X_SCM_Name = "RRC.ConnEstabSuccPLMN.2.Cause.MtAccess"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2137.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2135.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2135.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2134.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2129.Alias2 = "RRC.ConnEstabSuccPLMN.1.MtAccess"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2129.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2129.X_SCM_Name = "RRC.ConnEstabSuccPLMN.1.Cause.MtAccess"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2128.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2126.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2126.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2125.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2120.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2119.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2117.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2117.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2116.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2111.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2110.Alias2 = "RRC.ConnEstabAttPLMN.1.HighPriorityAccess"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2110.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2110.X_SCM_Name = "RRC.ConnEstabAttPLMN.1.Cause.HighPriorityAccess"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2108.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2108.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2107.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2102.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2101.Alias2 = "S1SIG.ConnEstabSucc.Emergency"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2101.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2101.X_SCM_Name = "S1SIG.ConnEstabSucc.Emergency"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2100.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2099.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2094.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2093.Alias2 = "S1SIG.ConnEstabAtt.Emergency"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2093.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2093.X_SCM_Name = "S1SIG.ConnEstabAtt.Emergency"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2092.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2090.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2090.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2085.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2084.Alias2 = "Dev.eNB.eNBID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2084.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2084.X_SCM_Name = "Dev.eNB.eNBID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2083.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2081.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2081.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2080.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2076.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2075.Alias2 = "HO.IartOutSucc.Misc.NotEnoughUserPlaneResources"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2075.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2075.X_SCM_Name = "HO.IartOutSucc.Cause.Misc.NotEnoughUserPlaneResources"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2074.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2072.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2072.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2071.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2067.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2066.Alias2 = "HO.IartOutSucc.Nas.CSGSubscriptionExpiry"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2066.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2066.X_SCM_Name = "HO.IartOutSucc.Cause.Nas.CSGSubscriptionExpiry"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2065.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2063.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2063.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2062.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2058.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2057.Alias2 = "HO.IartOutSucc.RadioNetwork.RedirectTo1xRTT"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2057.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2057.X_SCM_Name = "HO.IartOutSucc.Cause.RadioNetwork.RedirectTo1xRTT"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2056.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2054.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2054.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2053.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2049.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2048.Alias2 = "HO.IartOutSucc.RadioNetwork.InvalidQoSCombination"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2048.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2048.X_SCM_Name = "HO.IartOutSucc.Cause.RadioNetwork.InvalidQoSCombination"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2047.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2045.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2045.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2044.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2039.Alias2 = "HO.IartOutSucc.RadioNetwork.ResourceOptimisationHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2039.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2039.X_SCM_Name = "HO.IartOutSucc.Cause.RadioNetwork.ResourceOptimisationHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2038.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2036.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2036.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2035.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2030.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2029.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2027.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2027.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2026.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2021.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2020.Alias2 = "HO.IartOutAttSum"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2020.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2020.X_SCM_Name = "HO.IartOutAttSum"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2018.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2018.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2017.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2012.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2011.Alias2 = "HO.IartOutAtt.Protocol.SemanticError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2011.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2011.X_SCM_Name = "HO.IartOutAtt.Cause.Protocol.SemanticError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2010.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2009.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2009.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2008.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2003.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2002.Alias2 = "HO.IartOutAtt.Nas.NormalRelease"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2002.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2002.X_SCM_Name = "HO.IartOutAtt.Cause.Nas.NormalRelease"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2001.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1996.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1995.Alias2 = "HO.IartOutAtt.RadioNetwork.S1InterSystemHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1995.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1995.X_SCM_Name = "HO.IartOutAtt.Cause.RadioNetwork.S1InterSystemHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1994.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1992.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1992.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1991.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1987.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1986.Alias2 = "HO.IartOutAtt.RadioNetwork.RadioResourcesUnavailable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1986.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1986.X_SCM_Name = "HO.IartOutAtt.Cause.RadioNetwork.RadioResourcesUnavailable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1985.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1983.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1983.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1982.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1978.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1977.Alias2 = "HO.IartOutAtt.RadioNetwork.HODesirable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1977.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1977.X_SCM_Name = "HO.IartOutAtt.Cause.RadioNetwork.HODesirable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1976.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1974.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1974.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1973.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1969.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1968.Alias2 = "HO.IartOutAtt.RadioNetwork.HOTargetNotAllowed"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1968.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1968.X_SCM_Name = "HO.IartOutAtt.Cause.RadioNetwork.HOTargetNotAllowed"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1967.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1965.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1965.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1964.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1959.Alias2 = "HO.OutSuccTarget.Misc.UnknownPLMN"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1959.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1959.X_SCM_Name = "HO.OutSuccTarget.Cause.Misc.UnknownPLMN"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1958.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1956.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1956.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1955.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1950.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1949.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1947.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1947.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1946.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1941.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1940.Alias2 = "HO.OutSuccTarget.Transport.ResourceUnavailable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1940.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1940.X_SCM_Name = "HO.OutSuccTarget.Cause.Transport.ResourceUnavailable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1938.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1938.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1937.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1932.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1931.Alias2 = "HO.OutSuccTarget.RadioNetwork.UnknownERABID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1931.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1931.X_SCM_Name = "HO.OutSuccTarget.Cause.RadioNetwork.UnknownERABID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1930.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1929.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1929.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1928.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1923.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1922.Alias2 = "HO.OutSuccTarget.RadioNetwork.UERadioConnectionLost"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1922.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1922.X_SCM_Name = "HO.OutSuccTarget.Cause.RadioNetwork.UERadioConnectionLost"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1921.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1919.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1914.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1913.Alias2 = "HO.OutSuccTarget.RadioNetwork.RadioResUnavailableInTarget"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1913.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1913.X_SCM_Name = "HO.OutSuccTarget.Cause.RadioNetwork.RadioResUnavailableInTarget"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1912.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1910.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1910.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1905.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1904.Alias2 = "HO.OutSuccTarget.RadioNetwork.ReleaseForEUTRANReason"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1904.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1904.X_SCM_Name = "HO.OutSuccTarget.Cause.RadioNetwork.ReleaseForEUTRANReason"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1903.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1901.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1901.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1900.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1897.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1896.Alias2 = "HO.OutAttTarget.Misc.HardwareFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1896.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1896.X_SCM_Name = "HO.OutAttTarget.Cause.Misc.HardwareFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1895.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1893.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1893.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1892.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1888.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1887.Alias2 = "HO.OutAttTarget.Protocol.TransferSyntaxError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1887.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1887.X_SCM_Name = "HO.OutAttTarget.Cause.Protocol.TransferSyntaxError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1886.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1884.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1884.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1883.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1879.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1878.Alias2 = "HO.OutAttTarget.RadioNetwork.ErrorQCI"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1878.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1878.X_SCM_Name = "HO.OutAttTarget.Cause.RadioNetwork.ErrorQCI"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1877.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1875.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1875.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1874.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1869.Alias2 = "HO.OutAttTarget.RadioNetwork.IRATRedirection"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1869.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1869.X_SCM_Name = "HO.OutAttTarget.Cause.RadioNetwork.IRATRedirection"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1868.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1866.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1866.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1865.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1860.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1859.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1857.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1857.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1856.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1851.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1850.Alias2 = "HO.OutAttTarget.RadioNetwork.TS1RELOCprep"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1850.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1850.X_SCM_Name = "HO.OutAttTarget.Cause.RadioNetwork.TS1RELOCprep"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1848.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1848.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1847.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1842.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1841.Alias2 = "HO.OutAttTarget.RadioNetwork.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1841.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1841.X_SCM_Name = "HO.OutAttTarget.Cause.RadioNetwork.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1840.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1839.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1839.Enable = 0
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1838.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1833.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1832.Alias2 = "RRU.PrbUl.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1832.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1832.X_SCM_Name = "RRU.PrbUl.QCI.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1831.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1829.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1824.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1823.Alias2 = "RRU.PrbDl.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1823.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1823.X_SCM_Name = "RRU.PrbDl.QCI.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1822.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1820.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1820.Enable = 0
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1815.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1814.Alias2 = "DRB.IPThpUl.3"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1814.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1814.X_SCM_Name = "DRB.IPThpUl.QCI.3"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1813.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1811.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1811.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1810.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1806.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1805.Alias2 = "DRB.IpLateDl.3"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1805.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1805.X_SCM_Name = "DRB.IpLateDl.QCI.3"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1804.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1802.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1802.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1801.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1798.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1797.Alias2 = "DRB.UEActiveUl.5"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1797.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1797.X_SCM_Name = "DRB.UEActiveUl.QCI.5"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1796.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1794.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1794.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1793.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1789.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1788.Alias2 = "DRB.UEActiveDl.6"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1788.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1788.X_SCM_Name = "DRB.UEActiveDl.QCI.6"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1787.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1785.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1785.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1784.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1779.Alias2 = "HO.DrxOutAtt"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1779.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1779.X_SCM_Name = "HO.DrxOutAtt"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1778.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1776.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1776.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1775.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1770.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1769.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1767.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1767.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1766.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1761.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1760.Alias2 = "HO.InterEnbOutSucc.Protocol.TransferSyntaxError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1760.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1760.X_SCM_Name = "HO.InterEnbOutSucc.Cause.Protocol.TransferSyntaxError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1758.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1758.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1757.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1752.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1751.Alias2 = "HO.InterEnbOutSucc.RadioNetwork.ErrorQCI"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1751.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1751.X_SCM_Name = "HO.InterEnbOutSucc.Cause.RadioNetwork.ErrorQCI"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1750.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1749.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1749.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1748.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1743.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1742.Alias2 = "HO.InterEnbOutSucc.RadioNetwork.IRATRedirection"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1742.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1742.X_SCM_Name = "HO.InterEnbOutSucc.Cause.RadioNetwork.IRATRedirection"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1741.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1739.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1734.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1733.Alias2 = "HO.InterEnbOutSucc.RadioNetwork.ServingCellReduceLoad"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1733.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1733.X_SCM_Name = "HO.InterEnbOutSucc.Cause.RadioNetwork.ServingCellReduceLoad"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1732.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1730.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1730.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1725.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1724.Alias2 = "HO.InterEnbOutSucc.RadioNetwork.CellNotAvailable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1724.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1724.X_SCM_Name = "HO.InterEnbOutSucc.Cause.RadioNetwork.CellNotAvailable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1723.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1721.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1721.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1720.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1716.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1715.Alias2 = "HO.InterEnbOutSucc.RadioNetwork.TX2RELOCOverall"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1715.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1715.X_SCM_Name = "HO.InterEnbOutSucc.Cause.RadioNetwork.TX2RELOCOverall"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1714.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1712.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1712.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1711.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1707.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1706.Alias2 = "HO.InterEnbOutAtt.Protocol.FalselyConstructedMessage"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1706.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1706.X_SCM_Name = "HO.InterEnbOutAtt.Cause.Protocol.FalselyConstructedMessage"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1705.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1703.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1703.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1702.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1699.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1698.Alias2 = "HO.InterEnbOutAtt.Nas.Detach"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1698.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1698.X_SCM_Name = "HO.InterEnbOutAtt.Cause.Nas.Detach"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1697.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1695.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1695.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1694.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1689.Alias2 = "HO.InterEnbOutAtt.RadioNetwork.S1InterSystemHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1689.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1689.X_SCM_Name = "HO.InterEnbOutAtt.Cause.RadioNetwork.S1InterSystemHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1688.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1686.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1686.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1685.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1680.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1679.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1677.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1677.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1676.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1671.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1670.Alias2 = "HO.InterEnbOutAtt.RadioNetwork.UES1APIDPairError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1670.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1670.X_SCM_Name = "HO.InterEnbOutAtt.Cause.RadioNetwork.UES1APIDPairError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1668.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1668.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1667.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1662.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1661.Alias2 = "HO.InterEnbOutAtt.RadioNetwork.HOFailureInTarget"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1661.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1661.X_SCM_Name = "HO.InterEnbOutAtt.Cause.RadioNetwork.HOFailureInTarget"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1660.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1659.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1659.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1658.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1653.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1652.Alias2 = "HO.IntraEnbOutSucc.Misc.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1652.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1652.X_SCM_Name = "HO.IntraEnbOutSucc.Cause.Misc.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1651.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1649.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1644.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1643.Alias2 = "HO.IntraEnbOutSucc.Protocol.IgnoreAndNotify"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1643.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1643.X_SCM_Name = "HO.IntraEnbOutSucc.Cause.Protocol.IgnoreAndNotify"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1642.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1640.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1640.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1635.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1634.Alias2 = "HO.IntraEnbOutSucc.Transport.ResourceUnavailable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1634.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1634.X_SCM_Name = "HO.IntraEnbOutSucc.Cause.Transport.ResourceUnavailable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1633.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1631.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1631.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1630.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1626.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1625.Alias2 = "HO.IntraEnbOutSucc.RadioNetwork.UnknownERABID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1625.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1625.X_SCM_Name = "HO.IntraEnbOutSucc.Cause.RadioNetwork.UnknownERABID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1624.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1622.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1622.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1621.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1617.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1616.Alias2 = "HO.IntraEnbOutSucc.RadioNetwork.UERadioConnectionLost"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1616.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1616.X_SCM_Name = "HO.IntraEnbOutSucc.Cause.RadioNetwork.UERadioConnectionLost"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1615.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1613.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1613.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1612.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1608.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1607.Alias2 = "HO.IntraEnbOutSucc.RadioNetwork.RadioResUnavailableInTarget"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1607.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1607.X_SCM_Name = "HO.IntraEnbOutSucc.Cause.RadioNetwork.RadioResUnavailableInTarget"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1606.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1604.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1604.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1603.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1599.Alias2 = "HO.IntraEnbOutSucc.RadioNetwork.HOCancel"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1599.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1599.X_SCM_Name = "HO.IntraEnbOutSucc.Cause.RadioNetwork.HOCancel"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1598.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1596.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1596.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1595.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1590.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1589.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1587.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1587.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1586.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1581.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1580.Alias2 = "HO.IntraEnbOutAtt.Nas.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1580.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1580.X_SCM_Name = "HO.IntraEnbOutAtt.Cause.Nas.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1578.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1578.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1577.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1572.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1571.Alias2 = "HO.IntraEnbOutAtt.RadioNetwork.X2HO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1571.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1571.X_SCM_Name = "HO.IntraEnbOutAtt.Cause.RadioNetwork.X2HO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1570.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1569.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1569.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1568.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1563.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1562.Alias2 = "HO.IntraEnbOutAtt.RadioNetwork.RadioInterfaceProcedureFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1562.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1562.X_SCM_Name = "HO.IntraEnbOutAtt.Cause.RadioNetwork.RadioInterfaceProcedureFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1561.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1559.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1554.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1553.Alias2 = "HO.IntraEnbOutAtt.RadioNetwork.TimeCriticalHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1553.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1553.X_SCM_Name = "HO.IntraEnbOutAtt.Cause.RadioNetwork.TimeCriticalHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1552.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1550.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1550.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1545.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1544.Alias2 = "HO.IntraEnbOutAtt.RadioNetwork.TS1RELOCoverall"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1544.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1544.X_SCM_Name = "HO.IntraEnbOutAtt.Cause.RadioNetwork.TS1RELOCoverall"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1543.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1541.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1541.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1540.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1536.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1535.Alias2 = "ERAB.SessionTimeQCI.9"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1535.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1535.X_SCM_Name = "ERAB.SessionTimeQCI.QCI.9"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1534.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1532.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1532.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1531.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1527.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1526.Alias2 = "ERAB.SessionTimeUE"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1526.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1526.X_SCM_Name = "ERAB.SessionTimeUE"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1525.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1523.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1523.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1522.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1518.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1517.Alias2 = "ERAB.ModQoSFailNbr.Protocol.SemanticError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1517.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1517.X_SCM_Name = "ERAB.ModQoSFailNbr.Cause.Protocol.SemanticError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1516.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1514.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1514.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1513.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1509.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1508.Alias2 = "ERAB.ModQoSFailNbr.Transport.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1508.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1508.X_SCM_Name = "ERAB.ModQoSFailNbr.Cause.Transport.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1507.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1505.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1505.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1504.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1499.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1497.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1497.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1496.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1491.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1490.Alias2 = "ERAB.ModQoSFailNbr.RadioNetwork.MMEUES1APIDError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1490.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1490.X_SCM_Name = "ERAB.ModQoSFailNbr.Cause.RadioNetwork.MMEUES1APIDError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1488.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1488.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1487.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1482.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1481.Alias2 = "ERAB.ModQoSFailNbr.RadioNetwork.HOCancel"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1481.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1481.X_SCM_Name = "ERAB.ModQoSFailNbr.Cause.RadioNetwork.HOCancel"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1480.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1479.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1479.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1478.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1473.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1472.Alias2 = "ERAB.RelActNbr.7"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1472.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1472.X_SCM_Name = "ERAB.RelActNbr.QCI.7"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1471.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1469.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1464.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1463.Alias2 = "ERAB.RelFailNbr.Misc.OMIntervention"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1463.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1463.X_SCM_Name = "ERAB.RelFailNbr.Cause.Misc.OMIntervention"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1462.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1460.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1460.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1455.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1454.Alias2 = "ERAB.RelFailNbr.Nas.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1454.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1454.X_SCM_Name = "ERAB.RelFailNbr.Cause.Nas.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1453.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1451.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1451.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1450.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1446.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1445.Alias2 = "ERAB.RelFailNbr.RadioNetwork.X2HO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1445.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1445.X_SCM_Name = "ERAB.RelFailNbr.Cause.RadioNetwork.X2HO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1444.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1442.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1442.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1441.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1437.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1436.Alias2 = "ERAB.RelFailNbr.RadioNetwork.UENotAvailableforPS"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1436.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1436.X_SCM_Name = "ERAB.RelFailNbr.Cause.RadioNetwork.UENotAvailableforPS"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1435.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1433.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1433.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1432.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1428.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1427.Alias2 = "ERAB.RelFailNbr.RadioNetwork.ENBUES1APIDError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1427.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1427.X_SCM_Name = "ERAB.RelFailNbr.Cause.RadioNetwork.ENBUES1APIDError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1426.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1424.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1424.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1423.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1419.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1418.Alias2 = "ERAB.RelFailNbr.RadioNetwork.PartialHandover"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1418.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1418.X_SCM_Name = "ERAB.RelFailNbr.Cause.RadioNetwork.PartialHandover"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1417.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1415.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1415.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1414.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1409.Alias2 = "ERAB.RelEnbNbr.Misc.OMIntervention"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1409.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1409.X_SCM_Name = "ERAB.RelEnbNbr.Cause.Misc.OMIntervention"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1408.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1406.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1406.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1405.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1400.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1398.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1398.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1397.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1392.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1391.Alias2 = "ERAB.RelEnbNbr.RadioNetwork.ErrorQCI"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1391.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1391.X_SCM_Name = "ERAB.RelEnbNbr.Cause.RadioNetwork.ErrorQCI"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1390.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1389.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1389.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1388.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1383.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1382.Alias2 = "ERAB.RelEnbNbr.RadioNetwork.RadioResourcesUnavailable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1382.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1382.X_SCM_Name = "ERAB.RelEnbNbr.Cause.RadioNetwork.RadioResourcesUnavailable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1381.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1379.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1374.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1373.Alias2 = "ERAB.RelEnbNbr.RadioNetwork.MMEUES1APIDError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1373.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1373.X_SCM_Name = "ERAB.RelEnbNbr.Cause.RadioNetwork.MMEUES1APIDError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1372.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1370.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1370.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1365.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1364.Alias2 = "ERAB.RelEnbNbr.RadioNetwork.HOCancel"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1364.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1364.X_SCM_Name = "ERAB.RelEnbNbr.Cause.RadioNetwork.HOCancel"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1363.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1361.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1361.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1360.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1356.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1355.Alias2 = "ERAB.EstabTimeMax.4"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1355.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1355.X_SCM_Name = "ERAB.EstabTimeMax.QCI.4"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1354.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1352.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1352.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1351.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1347.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1346.Alias2 = "ERAB.EstabTimeMean.4"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1346.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1346.X_SCM_Name = "ERAB.EstabTimeMean.QCI.4"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1345.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1343.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1343.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1342.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1338.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1337.Alias2 = "ERAB.EstabAddFailNbr.Misc.NotEnoughUserPlaneResources"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1337.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1337.X_SCM_Name = "ERAB.EstabAddFailNbr.Cause.Misc.NotEnoughUserPlaneResources"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1336.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1334.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1334.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1333.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1329.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1328.Alias2 = "ERAB.EstabAddFailNbr.Nas.Detach"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1328.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1328.X_SCM_Name = "ERAB.EstabAddFailNbr.Cause.Nas.Detach"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1327.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1325.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1325.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1324.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1319.Alias2 = "ERAB.EstabAddFailNbr.RadioNetwork.IRATRedirection"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1319.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1319.X_SCM_Name = "ERAB.EstabAddFailNbr.Cause.RadioNetwork.IRATRedirection"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1318.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1316.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1316.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1315.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1310.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1309.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1307.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1307.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1306.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1301.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1300.Alias2 = "ERAB.EstabAddFailNbr.RadioNetwork.PartialHandover"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1300.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1300.X_SCM_Name = "ERAB.EstabAddFailNbr.Cause.RadioNetwork.PartialHandover"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1299.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1299.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1298.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1293.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1292.Alias2 = "ERAB.EstabInitFailNbr.Misc.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1292.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1292.X_SCM_Name = "ERAB.EstabInitFailNbr.Cause.Misc.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1291.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1289.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1284.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1283.Alias2 = "ERAB.EstabInitFailNbr.Protocol.Reject"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1283.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1283.X_SCM_Name = "ERAB.EstabInitFailNbr.Cause.Protocol.Reject"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1282.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1280.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1280.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1275.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1274.Alias2 = "ERAB.EstabInitFailNbr.RadioNetwork.S1InterSystemHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1274.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1274.X_SCM_Name = "ERAB.EstabInitFailNbr.Cause.RadioNetwork.S1InterSystemHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1273.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1271.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1271.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1270.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1266.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1265.Alias2 = "ERAB.EstabInitFailNbr.RadioNetwork.TimeCriticalHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1265.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1265.X_SCM_Name = "ERAB.EstabInitFailNbr.Cause.RadioNetwork.TimeCriticalHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1264.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1262.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1262.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1261.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1257.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1256.Alias2 = "ERAB.EstabInitFailNbr.RadioNetwork.HOFailureInTarget"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1256.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1256.X_SCM_Name = "ERAB.EstabInitFailNbr.Cause.RadioNetwork.HOFailureInTarget"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1255.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1253.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1253.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1252.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1248.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1247.Alias2 = "UECNTX.RelReq.Misc.OMIntervention"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1247.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1247.X_SCM_Name = "UECNTX.RelReq.Cause.Misc.OMIntervention"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1246.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1244.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1244.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1243.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1239.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1238.Alias2 = "UECNTX.RelReq.Protocol.Reject"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1238.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1238.X_SCM_Name = "UECNTX.RelReq.Cause.Protocol.Reject"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1237.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1235.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1235.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1234.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1229.Alias2 = "UECNTX.RelReq.RadioNetwork.ErrorQCI"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1229.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1229.X_SCM_Name = "UECNTX.RelReq.Cause.RadioNetwork.ErrorQCI"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1228.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1226.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1226.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1225.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1220.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1219.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1217.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1217.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1216.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1211.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1210.Alias2 = "UECNTX.RelReq.RadioNetwork.MMEUES1APIDError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1210.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1210.X_SCM_Name = "UECNTX.RelReq.Cause.RadioNetwork.MMEUES1APIDError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1208.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1208.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1207.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1202.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1201.Alias2 = "UECNTX.RelReq.RadioNetwork.HOCancel"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1201.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1201.X_SCM_Name = "UECNTX.RelReq.Cause.RadioNetwork.HOCancel"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1200.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1199.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1194.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1193.Alias2 = "RRC.ConnEstabTimeMax.DelayTolerantAccess"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1193.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1193.X_SCM_Name = "RRC.ConnEstabTimeMax.Cause.DelayTolerantAccess"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1192.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1190.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1190.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1185.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1184.Alias2 = "RRC.ConnEstabTimeMean.MoData"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1184.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1184.X_SCM_Name = "RRC.ConnEstabTimeMean.Cause.MoData"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1183.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1181.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1181.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1180.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1176.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1175.Alias2 = "RRC.ConnReEstabFail.HandOverFail"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1175.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1175.X_SCM_Name = "RRC.ConnReEstabFail.Cause.HandOverFail"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1174.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1172.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1172.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1171.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1167.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1166.Alias2 = "RRC.ConnEstabFail.MoData"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1166.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1166.X_SCM_Name = "RRC.ConnEstabFail.Cause.MoData"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1165.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1163.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1163.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1162.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1158.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1157.Alias2 = "RRC.ConnEstabAtt.Spare2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1157.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1157.X_SCM_Name = "RRC.ConnEstabAtt.Cause.Spare2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1156.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1154.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1154.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1153.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1149.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1148.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1148.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1148.X_SCM_Name = "CONTEXT.AttRelMme.CauseHoSucc"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1147.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1145.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1145.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1144.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1139.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1139.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1139.X_SCM_Name = "HO.X2IntraFreqOutSucc"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1138.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1136.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1136.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1135.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1130.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1129.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1127.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1127.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1126.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1121.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1120.Alias2 = "ERAB.UsageNbrMax.7"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1120.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1120.X_SCM_Name = "ERAB.NbrMaxEstab.7"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1118.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1118.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1117.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1112.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1111.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1111.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1111.X_SCM_Name = "ERAB.NbrSuccInitEstab.8"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1110.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1109.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1109.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1108.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1103.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1102.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1102.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1102.X_SCM_Name = "ERAB.NbrAttInitEstab.9"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1101.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1095.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1094.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1094.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1094.X_SCM_Name = "ERAB.NbrAttInitEstab.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1093.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1091.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1091.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1090.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1086.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1085.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1085.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1085.X_SCM_Name = "PDCP.UpLastTtiOctDl.2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1084.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1082.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1082.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1081.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1077.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1076.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1076.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1076.X_SCM_Name = "PDCP.UpLastTtiOctUl.3"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1075.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1073.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1073.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1072.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1068.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1067.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1067.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1067.X_SCM_Name = "PDCP.UpPktTotDelayDl.4"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1066.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1064.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1064.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1063.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1059.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1058.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1058.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1058.X_SCM_Name = "PDCP.ThrpTimeDL.5"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1057.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1055.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1055.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1054.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1049.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1049.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1049.X_SCM_Name = "RRU.PuschPrbTot"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1048.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1046.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1046.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1045.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1040.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1039.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1037.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1037.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1036.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1031.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1030.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1030.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1030.X_SCM_Name = "MAC.NbrRbDl.Tm9.RANK3BF"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1028.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1028.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1027.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1022.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1021.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1021.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1021.X_SCM_Name = "MAC.NbrRbDl.Tm2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1020.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1019.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1019.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1018.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1013.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1012.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1012.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1012.X_SCM_Name = "PDCP.UpPeakUEBitrateUl "
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1011.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1009.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1004.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1003.Alias2 = "HO.IntraEnbOutAttSum"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1003.Alias = "HO.AttOutIntraEnb.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1003.X_SCM_Name = "HO.AttOutIntraEnb.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1002.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1000.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1000.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.995.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.994.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.994.Alias = "cpe-pm-no-active-ue-rip-rept-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.994.X_SCM_Name = "CARR.NoActiveUeRIPReptNbr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.993.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.991.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.991.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.990.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.986.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.985.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.985.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.985.X_SCM_Name = "UE.ActiveMaxUL"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.984.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.982.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.982.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.981.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.977.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.976.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.976.Alias = "cpe-pm-mpo-succ-ho-out-primary-plmn"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.976.X_SCM_Name = "MPO.SuccHoOutPrimaryPLMN"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.975.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.973.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.973.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.972.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.968.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.967.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.967.Alias = "cpe-pm-covg-edge-area-vip-ue-total-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.967.X_SCM_Name = "COVG.EdgeVipUeTotalNbr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.966.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.964.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.964.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.963.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.959.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.958.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.958.Alias = "cpe-pm-covg-vip-ue-edge-area-tm"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.958.X_SCM_Name = "COVG.EdgeTime.VipUe"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.957.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.955.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.955.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.954.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.949.Alias2 = "PHY.ULMaxNL.95"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.949.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.949.X_SCM_Name = "PHY.ULMaxNL.PRB95"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.948.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.946.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.946.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.945.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.940.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.939.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.937.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.937.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.936.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.931.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.930.Alias2 = "PHY.ULMaxNL.76"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.930.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.930.X_SCM_Name = "PHY.ULMaxNL.PRB76"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.928.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.928.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.927.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.922.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.921.Alias2 = "PHY.ULMaxNL.67"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.921.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.921.X_SCM_Name = "PHY.ULMaxNL.PRB67"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.920.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.919.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.919.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.918.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.913.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.912.Alias2 = "PHY.ULMaxNL.58"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.912.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.912.X_SCM_Name = "PHY.ULMaxNL.PRB58"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.911.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.909.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.904.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.903.Alias2 = "PHY.ULMaxNL.49"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.903.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.903.X_SCM_Name = "PHY.ULMaxNL.PRB49"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.902.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.900.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.900.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.896.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.895.Alias2 = "PHY.ULMaxNL.41"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.895.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.895.X_SCM_Name = "PHY.ULMaxNL.PRB41"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.894.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.892.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.892.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.891.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.887.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.886.Alias2 = "PHY.ULMaxNL.32"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.886.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.886.X_SCM_Name = "PHY.ULMaxNL.PRB32"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.885.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.883.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.883.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.882.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.878.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.877.Alias2 = "PHY.ULMaxNL.23"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.877.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.877.X_SCM_Name = "PHY.ULMaxNL.PRB23"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.876.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.874.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.874.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.873.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.869.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.868.Alias2 = "PHY.ULMaxNL.14"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.868.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.868.X_SCM_Name = "PHY.ULMaxNL.PRB14"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.867.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.865.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.865.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.864.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.859.Alias2 = "PHY.ULMaxNL.5"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.859.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.859.X_SCM_Name = "PHY.ULMaxNL.PRB5"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.858.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.856.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.856.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.855.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.850.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.849.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.847.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.847.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.846.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.841.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.840.Alias2 = "PHY.ULMeanNL.93"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.840.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.840.X_SCM_Name = "PHY.ULMeanNL.PRB93"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.838.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.838.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.837.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.832.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.831.Alias2 = "PHY.ULMeanNL.84"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.831.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.831.X_SCM_Name = "PHY.ULMeanNL.PRB84"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.830.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.829.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.829.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.828.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.823.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.822.Alias2 = "PHY.ULMeanNL.75"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.822.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.822.X_SCM_Name = "PHY.ULMeanNL.PRB75"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.821.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.819.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.814.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.813.Alias2 = "PHY.ULMeanNL.66"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.813.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.813.X_SCM_Name = "PHY.ULMeanNL.PRB66"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.812.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.810.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.810.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.805.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.804.Alias2 = "PHY.ULMeanNL.57"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.804.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.804.X_SCM_Name = "PHY.ULMeanNL.PRB57"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.803.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.801.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.801.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.800.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.797.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.796.Alias2 = "PHY.ULMeanNL.49"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.796.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.796.X_SCM_Name = "PHY.ULMeanNL.PRB49"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.795.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.793.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.793.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.792.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.788.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.787.Alias2 = "PHY.ULMeanNL.40"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.787.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.787.X_SCM_Name = "PHY.ULMeanNL.PRB40"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.786.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.784.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.784.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.783.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.779.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.778.Alias2 = "PHY.ULMeanNL.31"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.778.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.778.X_SCM_Name = "PHY.ULMeanNL.PRB31"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.777.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.775.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.775.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.774.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.769.Alias2 = "PHY.ULMeanNL.22"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.769.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.769.X_SCM_Name = "PHY.ULMeanNL.PRB22"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.768.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.766.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.766.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.765.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.760.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.759.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.757.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.757.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.756.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.751.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.750.Alias2 = "PHY.ULMeanNL.3"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.750.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.750.X_SCM_Name = "PHY.ULMeanNL.PRB3"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.748.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.748.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.747.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.742.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.741.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.741.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.741.X_SCM_Name = "PHY.NbrCqi10"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.740.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.739.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.739.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.738.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.733.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.732.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.732.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.732.X_SCM_Name = "PHY.NbrCqi1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.731.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.729.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.724.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.723.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.723.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.723.X_SCM_Name = "RRU.PdschPrbTotMeanDl"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.722.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.720.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.720.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.715.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.714.Alias2 = "DRB.PdcpSduDropRateDl.4"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.714.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.714.X_SCM_Name = "PDCP.UpPktDiscardDl.4"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.713.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.711.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.711.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.710.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.706.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.705.Alias2 = "DRB.PdcpSduDelayDl.4"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.705.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.705.X_SCM_Name = "PDCP.UpPktDelayDl.4"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.704.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.702.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.702.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.701.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.698.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.697.Alias2 = "DRB.PdcpSduAirLossRateDl.6"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.697.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.697.X_SCM_Name = "PDCP.NbrPktLossDl.6"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.696.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.694.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.694.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.693.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.689.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.688.Alias2 = "DRB.IPThpDl.6"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.688.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.688.X_SCM_Name = "PDCP.NbrPktDl.6"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.687.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.685.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.685.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.684.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.679.Alias2 = "DRB.PdcpSduLossRateUl.6"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.679.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.679.X_SCM_Name = "PDCP.NbrPktLossUl.6"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.678.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.676.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.676.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.675.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.670.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.669.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.667.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.667.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.666.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.661.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.660.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.660.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.660.X_SCM_Name = "PDCP.UpOctDl.7"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.658.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.658.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.657.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.652.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.651.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.651.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.651.X_SCM_Name = "PDCP.UpOctUl.8"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.650.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.649.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.649.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.648.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.643.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.642.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.642.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.642.X_SCM_Name = "IRATHO.FailPrepOutUtran.othCause"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.641.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.639.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.634.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.633.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.633.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.633.X_SCM_Name = "IRATHO.AvgTimeOutGeran"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.632.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.630.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.630.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.625.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.624.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.624.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.624.X_SCM_Name = "IRATHO.SuccPrepOutGeran"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.623.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.621.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.621.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.620.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.616.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.615.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.615.Alias = "HO.AttOutInterEnbX2.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.615.X_SCM_Name = "HO.AttOutInterEnbX2.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.614.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.612.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.612.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.611.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.607.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.606.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.606.Alias = "HO.AttOutInterEnbS1.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.606.X_SCM_Name = "HO.AttOutInterEnbS1.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.605.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.603.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.603.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.602.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.599.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.598.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.598.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.598.X_SCM_Name = "CONTEXT.SuccMod"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.597.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.595.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.595.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.594.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.589.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.589.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.589.X_SCM_Name = "ERAB.NbrLeft.9"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.588.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.586.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.586.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.585.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.580.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.579.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.577.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.577.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.576.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.571.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.570.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.570.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.570.X_SCM_Name = "ERAB.NbrReqRelEnb.Normal.9"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.568.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.568.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.567.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.562.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.561.Alias2 = "UECNTX.RelReq.Nas.NormalRelease"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.561.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.561.X_SCM_Name = "CONTEXT.AttRelEnb.Normal"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.560.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.559.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.559.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.558.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.553.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.552.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.552.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.552.X_SCM_Name = "ERAB.NbrSuccEstab.3"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.551.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.549.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.544.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.543.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.543.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.543.X_SCM_Name = "ERAB.NbrAttEstab.3"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.542.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.540.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.540.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.535.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.534.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.534.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.534.X_SCM_Name = "ERAB.NbrHoInc.3"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.533.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.531.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.531.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.530.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.526.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.525.Alias2 = "ERAB.UsageNbrMean.5"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.525.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.525.X_SCM_Name = "ERAB.NbrMeanEstab.5"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.524.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.522.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.522.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.521.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.517.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.516.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.516.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.516.X_SCM_Name = "ERAB.NbrReqRelEnb.7"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.515.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.513.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.513.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.512.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.508.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.507.Alias2 = "ERAB.RelEnbNbr.RadioNetwork.RedirectTo1xRTT"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.507.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.507.X_SCM_Name = "ERAB.NbrReqRelEnb.RedirectionTowards1xRTT"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.506.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.504.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.504.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.503.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.499.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.499.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.499.X_SCM_Name = "ERAB.NbrFailEstab"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.498.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.496.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.496.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.495.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.490.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.489.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.487.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.487.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.486.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.481.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.480.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.480.Alias = "cpe-pm-covg-core-area-gtp-rx-bytes"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.480.X_SCM_Name = "COVG.CoreIncGtpU"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.478.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.478.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.477.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.472.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.471.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.471.Alias = "cpe-pm-rlf-mro-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.471.X_SCM_Name = "RLF.MRONbr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.470.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.469.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.469.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.468.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.463.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.462.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.462.Alias = "cpe-pm-mro-handle-wrong-cell-ho-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.462.X_SCM_Name = "MRO.HandleWrongCellHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.461.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.459.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.454.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.453.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.453.Alias = "cpe-pm-anr-add-interfreq-neigh-fail-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.453.X_SCM_Name = "ANR.FailNbr.Interfreq"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.452.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.450.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.450.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.445.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.444.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.444.Alias = "cpe-pm-rach-recv-ue-rept-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.444.X_SCM_Name = "RRU.RachReportCount"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.443.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.441.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.441.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.440.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.436.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.435.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.435.Alias = "cpe-pm-rach-ue-sent-preamble-total-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.435.X_SCM_Name = "RRU.RachPreambleUeSentTotal"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.434.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.432.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.432.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.431.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.427.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.426.Alias2 = "ERAB.ModQoSFailNbr.Protocol.TransferSyntaxError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.426.Alias = "cpe-pm-rab-modi-fail-nr-trans-synterr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.426.X_SCM_Name = "ERAB.ModQoSFailNbr.TransferSyntaxError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.425.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.423.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.423.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.422.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.418.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.417.Alias2 = "ERAB.ModQoSFailNbr.RadioNetwork.UES1APIDPairError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.417.Alias = "cpe-pm-rab-modi-fail-nr-ues1apid-pair-err"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.417.X_SCM_Name = "ERAB.ModQoSFailNbr.UeS1apIdPairError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.416.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.414.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.414.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.413.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.409.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.408.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.408.Alias = "cpe-pm-mme-rel-rab-nr-radio-oth"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.408.X_SCM_Name = "ERAB.RelMmeNbr.RadioNetworkLayerOther"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.407.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.405.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.405.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.404.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.399.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.397.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.397.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.396.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.391.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.390.Alias2 = "ERAB.EstabAddFailNbr.RadioNetwork.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.390.Alias = "cpe-pm-init-addrab-est-fail-oth"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.390.X_SCM_Name = "ERAB.EstabAddFailNbr.UnspecifiedFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.388.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.388.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.387.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.382.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.381.Alias2 = "ERAB.EstabAddFailNbr.RadioNetwork.RadioInterfaceProcedureFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.381.Alias = "cpe-pm-init-addrab-est-fail-invld-radio"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.381.X_SCM_Name = "ERAB.EstabAddFailNbr.RadioInterfaceFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.380.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.379.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.379.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.378.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.373.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.372.Alias2 = "ERAB.EstabInitFailNbr.Transport.ResourceUnavailable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.372.Alias = "cpe-pm-init-rab-est-fail-nr-transres-notavail"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.372.X_SCM_Name = "ERAB.EstabInitFailNbr.TransResNotAvailable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.371.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.369.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.364.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.363.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.363.Alias = "cpe-pm-rrc-recfg-fail-nr-oth"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.363.X_SCM_Name = "RRC.FailConnReconfig.Others"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.362.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.360.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.360.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.355.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.354.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.354.Alias = "cpe-pm-rrc-recfg-fail-nr-perencode"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.354.X_SCM_Name = "RRC.FailConnReconfig.PerEncodeFail"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.353.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.351.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.351.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.350.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.346.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.345.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.345.Alias = "cpe-pm-rrc-recfg-fail-nr-prb"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.345.X_SCM_Name = "RRC.FailConnReconfig.Prb"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.344.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.342.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.342.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.341.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.337.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.336.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.336.Alias = "cpe-pm-rrc-recfg-req-nr-srscfg"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.336.X_SCM_Name = "RRC.AttConnReconfig.SrsCfg"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.335.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.333.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.333.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.332.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.328.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.327.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.327.Alias = "cpe-pm-rrc-recfg-succ-nr-rabsetup"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.327.X_SCM_Name = "RRC.SuccConnReconfig.RabSetup"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.326.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.324.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.324.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.323.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.319.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.318.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.318.Alias = "cpe-pm-rrc-reest-fail-tolnr-spsallc"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.318.X_SCM_Name = "RRC.ConnReEstabFail.SpsFail"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.317.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.315.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.315.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.314.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.309.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.309.Alias = "cpe-pm-rrc-reest-fail-nr-cell-overload"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.309.X_SCM_Name = "RRC.ConnReEstabFail.CellOverLoad"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.308.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.306.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.306.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.305.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.300.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.298.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.298.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.297.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.292.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.291.Alias2 = "RRC.ConnEstabSucc.MtAccess"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.291.Alias = "cpe-pm-rrc-estab-succ-nr-mtacc"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.291.X_SCM_Name = "RRC.SuccConnEstab.MtAccess"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.290.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.289.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.289.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.288.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.283.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.282.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.282.Alias = "cpe-pm-sctpasso-cong-timl"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.282.X_SCM_Name = "SIG.SctpCongestionDuration"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.281.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.279.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.274.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.273.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.273.Alias = "cpe-pm-recv-abort-nr-no-usr-data"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.273.X_SCM_Name = "SIG.SctpAbort.NoUserData"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.272.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.270.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.270.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.265.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.264.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.264.Alias = "cpe-pm-recv-gw-shutdown-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.264.X_SCM_Name = "SIG.SctpGwShutDown"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.263.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.261.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.261.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.260.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.256.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.255.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.255.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.255.X_SCM_Name = "MAC.NbrTbDl.Tm7"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.254.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.252.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.252.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.251.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.247.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.246.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.246.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.246.X_SCM_Name = "MAC.NbrTbDl.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.245.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.243.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.243.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.242.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.238.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.237.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.237.Alias = "cpe-pm-mac-dl-tr-init-tb-num-16qam"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.237.X_SCM_Name = "MAC.NbrInitTbDl.16Qam"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.236.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.234.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.234.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.233.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.229.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.228.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.228.Alias = "cpe-pm-mac-ul-tr-init-tb-num-64qam"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.228.X_SCM_Name = "MAC.NbrInitTbUl.64Qam"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.227.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.225.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.225.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.224.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.219.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.219.Alias = "cpe-pm-2utr-ho-pre-fail-oth"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.219.X_SCM_Name = "SRVCC.FailPrepOutUtran.Other"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.218.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.216.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.216.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.215.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.210.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.209.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.207.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.207.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.206.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.201.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.200.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.200.Alias = "cpe-pm-volte-interenb-x2ho-succ-nr-interfreq"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.200.X_SCM_Name = "VoLTE.HO.SuccOutInterEnbX2.InterFreq"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.199.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.199.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.198.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.193.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.192.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.192.Alias = "cpe-pm-volte-interenb-x2ho-req-nr-interfreq"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.192.X_SCM_Name = "VoLTE.HO.AttOutInterEnbX2.InterFreq"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.191.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.189.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.184.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.183.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.183.Alias = "cpe-pm-volte-interenb-s1ho-req-nr-n-interfreq"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.183.X_SCM_Name = "VoLTE.HO.AttOutInterEnbS1.InterFreqN"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.182.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.180.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.180.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.175.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.174.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.174.Alias = "cpe-pm-intersys-ps-ho-fail-nr-eutr-tds"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.174.X_SCM_Name = "IRATHO.FailOutTdscdma"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.173.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.171.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.171.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.170.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.166.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.165.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.165.Alias = "cpe-pm-ho-fail-intraenb-prefail"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.165.X_SCM_Name = "HO.FailOut.IntraEnbPrep"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.164.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.162.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.162.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.161.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.157.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.156.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.156.Alias = "cpe-pm-intra-freq-ho-req-nr-const"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.156.X_SCM_Name = "HO.OutAttIntraFreq.OMC"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.155.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.153.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.153.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.152.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.148.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.147.Alias2 = "DRB.PdcpSduBitrateUl.9"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.147.Alias = "cpe-pm-pdcp-ulup-send-q9"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.147.X_SCM_Name = "DRB.PdcpSduBitLenUl.9"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.146.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.144.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.144.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.143.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.139.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.138.Alias2 = "DRB.PdcpSduBitrateDl.9"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.138.Alias = "cpe-pm-pdcp-dlup-send-q9"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.138.X_SCM_Name = "DRB.PdcpSduBitLenDl.9"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.137.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.135.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.135.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.134.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.129.Alias2 = "ERAB.ModQoSSuccNbr.9"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.129.Alias = "cpe-pm-rab-succ-modi-nr-q9"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.129.X_SCM_Name = "ERAB.NbrSuccMod.9"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.128.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.126.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.126.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.125.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.120.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.119.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.117.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.117.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.116.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.111.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.110.Alias2 = "ERAB.RelAttNbr.9"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.110.Alias = "cpe-pm-rab-mme-attrel-nr-q9"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.110.X_SCM_Name = "ERAB.RelAttNbr.9"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.108.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.108.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.107.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.102.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.101.Alias2 = "ERAB.RelSuccNbr.4"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.101.Alias = "cpe-pm-rab-mme-succrel-nr-q4"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.101.X_SCM_Name = "ERAB.RelSuccNbr.4"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.100.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.98.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.98.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.97.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.92.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.91.Alias2 = "ERAB.RelEnbNbr.7"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.91.Alias = "cpe-pm-rab-enb-rel-nr-q7"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.91.X_SCM_Name = "ERAB.RelEnbNbr.7 "
+ Device.PeriodicStatistics.SampleSet.1.Parameter.90.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.89.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.89.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.88.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.83.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.82.Alias2 = "ERAB.EstabAddSuccNbr.8"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.82.Alias = "cpe-pm-add-rab-succ-nr-q8"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.82.X_SCM_Name = "ERAB.EstabAddSuccNbr.8"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.81.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.79.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.74.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.73.Alias2 = "ERAB.EstabAddAttNbr.4"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.73.Alias = "cpe-pm-add-rab-att-nr-q4"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.73.X_SCM_Name = "ERAB.EstabAddAttNbr.4"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.72.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.70.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.70.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.65.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.64.Alias2 = "ERAB.EstabInitSuccNbr.8"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.64.Alias = "cpe-pm-init-rab-succ-nr-q8"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.64.X_SCM_Name = "ERAB.EstabInitSuccNbr.8"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.63.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.61.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.61.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.60.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.56.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.55.Alias2 = "ERAB.EstabInitAttNbr.4"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.55.Alias = "cpe-pm-init-rab-att-nr-q4"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.55.X_SCM_Name = "ERAB.EstabInitAttNbr.4"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.54.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.52.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.52.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.51.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.47.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.46.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.46.Alias = "cpe-pm-iot-v3-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.46.X_SCM_Name = "CARR.IOT.31To40"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.45.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.43.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.43.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.42.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.38.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.37.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.37.Alias = "cpe-pm-ip-rx-pkt"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.37.X_SCM_Name = "EQPT.MacPktReceived"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.36.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.34.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.34.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.33.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.29.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.28.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.28.Alias = "cpe-pm-csfb-init-resp-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.28.X_SCM_Name = "CONTEXT.SuccInitalSetup.Csfb"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.27.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.25.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.25.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.24.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.19.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.19.Alias = "cpe-pm-pusch-prb-used-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.19.X_SCM_Name = "RRU.UsedPrbUL"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.18.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.16.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.16.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.15.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.10.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.9.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.8.Alias2 = "ERAB.RelFailNbrSum"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.8.Alias = "cpe-pm-rab-release-abr-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.8.X_SCM_Name = "ERAB.RelEnbNbr.AbnormalRelease"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.7.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.5.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.5.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.4.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.ParameterNumberOfEntries = 2080
+ Device.PeriodicStatistics.SampleSet.1.SampleInterval = 900
+ Device.PeriodicStatistics.SampleSet.0.Parameter.0.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSetNumberOfEntries = 3
+ Device.Firewall.Chain.1.Rule.3.DestIP = ""
+ Device.Firewall.Chain.1.Rule.3.Enable = 0
+ Device.Firewall.Chain.1.Rule.1.Target = "DSCP"
+ Device.Firewall.Chain.0.Name = ""
+ Device.Firewall.Type = ""
+ Device.Firewall.Config = ""
+ Device.DHCPv6.Client.1.SentOption.1.Value = 0000039300085343303432353253
+ Device.DHCPv6.Client.1.SentOption.0.Alias = ""
+ Device.DHCPv6.Client.0.ReceivedOption.0.Tag = 0
+ Device.DHCPv6.Client.0.RequestedOptions = ""
+ Device.DHCPv4.Server.Pool.1.DomainName = ""
+ Device.DHCPv4.Server.Pool.1.DNSServers = ""
+ Device.DHCPv4.Client.0.SentOption.0.Enable = 0
+ Device.DNS.Client.Server.4.Interface = "Device.IP.Interface.1"
+ Device.Routing.Router.1.IPv6Forwarding.1.ForwardingMetric = -1
+ Device.Routing.Router.1.IPv6Forwarding.1.DestIPPrefix = ""
+ Device.Routing.Router.1.IPv4ForwardingNumberOfEntries = 1
+ Device.Routing.Router.0.IPv6Forwarding.0.ForwardingPolicy = -1
+ Device.IP.Diagnostics.IPPing.MaximumResponseTime = 0
+ Device.IP.Diagnostics.IPPing.SuccessCount = 0
+ Device.IP.Diagnostics.IPPing.DataBlockSize = 1
+ Device.IP.Interface.5.IPv6Address.1.IPAddress = ""
+ Device.IP.Interface.5.IPv6Address.1.Enable = 0
+ Device.IP.Interface.5.IPv4Address.0.AddressingType = "DHCP"
+ Device.IP.Interface.4.IPv4Address.1.AddressingType = "Static"
+ Device.IP.Interface.4.Alias = "cpe-ifr-management"
+ Device.IP.Interface.3.IPv6Address.0.Origin = "Static"
+ Device.IP.Interface.3.MaxMTUSize = 1500
+ Device.IP.Interface.2.IPv6Address.1.Origin = ""
+ Device.IP.Interface.1.Enable = 1
+ Device.IP.Interface.0.IPv4Address.0.SubnetMask = "255.255.255.0"
+ Device.IP.Interface.0.IPv4Address.0.DefaultGateway = ""
+ Device.IP.X_SCM_NetworkDetectSecGWDetectEnable = 0
+ Device.IP.X_SCM_NetworkDetectIPv6 = 0
+ Device.Ethernet.X_SCM_VlanMacSwitch.X_SCM_Enable = 0
+ Device.Ethernet.Interface.2.X_SCM_PortType = 2
+ Device.Ethernet.Interface.2.Status = "Down"
+ Device.Ethernet.Interface.1.X_SCM_SignTransMediaMode = 1
+ Device.Ethernet.Interface.1.DuplexMode = "Auto"
+ Device.Ethernet.Interface.1.LowerLayers = ""
+ Device.Ethernet.Interface.1.Name = "eth0"
+ Device.Ethernet.Interface.0.X_SCM_SignTransMedia = "Electric"
+ Device.Time.NtpResyncInterval = 6
+ Device.ManagementServer.UDPConnectionRequestAddress = ""
+ Device.ManagementServer.ConnectionRequestURL = "http://10.76.28.214:7547/20XR446J6BD0R48L"
+ Device.DeviceInfo.Location.0.DataObject = ""
+ Device.DeviceInfo.VendorLogFile.1.X_SCM_LogControl.X_SCM_Username = ""
+ Device.DeviceInfo.VendorLogFile.1.X_SCM_LogControl.X_SCM_TraceTargetServerPort = 5678
+ Device.DeviceInfo.VendorLogFile.1.X_SCM_LogControl.X_SCM_TraceTransferProtocol = "TCP"
+ Device.DeviceInfo.VendorLogFile.1.X_SCM_LogControl.X_SCM_CellTraceEnable = 0
+ Device.DeviceInfo.VendorLogFile.1.Name = "log.zip"
+ Device.DeviceInfo.TemperatureStatus.TemperatureSensor.1.X_SCM_RF_Warning_Clear_ThresholdValue = 80
+ Device.DeviceInfo.TemperatureStatus.TemperatureSensor.1.LastUpdate = 2021-11-08T18:48:16
+ Device.DeviceInfo.TemperatureStatus.TemperatureSensor.1.Reset = 0
+ Device.DeviceInfo.TemperatureStatus.TemperatureSensor.0.HighAlarmTime = 0001-01-01T00:00:00Z
+ Device.DeviceInfo.TemperatureStatus.TemperatureSensor.0.X_SCM_HighAlarmPolicy = 0
+ Device.DeviceInfo.TemperatureStatus.TemperatureSensor.0.HighAlarmValue = 85
+ Device.DeviceInfo.X_SCM_CellSetupTimeoutPeriod = 60
+ Device.DeviceInfo.X_SCM_NetConsoleParameter = ""
+ Device.DeviceInfo.AdditionalSoftwareVersion = "v3813-TEST-20191223"
+ Device.DeviceInfo.ModelName = "F117-Tv2"
+ Device.DeviceInfo.X_SCM_SIID = "UC"
+ Device.Services.FAPService.1.Transport.RealTime.Perf.LostRcvPackets = 0
+ Device.Services.FAPService.1.Transport.RealTime.SentPackets = 0
+ Device.Services.FAPService.1.Transport.SCTP.Discontinuity = 0001-01-01T00:00:00Z
+ Device.Services.FAPService.1.Transport.SCTP.ReasmUsrMsgs = 0
+ Device.Services.FAPService.1.Transport.SCTP.FragUsrMsgs = 0
+ Device.Services.FAPService.1.Transport.SCTP.InUnorderChunks = 0
+ Device.Services.FAPService.1.Transport.SCTP.InCtrlChunks = 0
+ Device.Services.FAPService.1.Transport.SCTP.MaxInitRetransmits = 8
+ Device.Services.FAPService.1.REM.LTE.Cell.0.BCCH.X_SCM_NeighborList.0.X_SCM_PhyCellID = 0
+ Device.Services.FAPService.1.REM.LTE.Cell.0.BCCH.X_SCM_IsSIb1Decoded = 0
+ Device.Services.FAPService.1.REM.LTE.Cell.0.BCCH.X_SCM_MaxNeighborGSMListEntries = 1
+ Device.Services.FAPService.1.REM.LTE.Cell.0.BCCH.CellBarred = 0
+ Device.Services.FAPService.1.REM.LTE.Cell.0.BCCH.TAC = 0
+ Device.Services.FAPService.1.REM.LTE.X_SCM_PTP_Cfg.X_SCM_PTPConfigMode = 0
+ Device.Services.FAPService.1.REM.LTE.X_SCM_PTP_Cfg.X_SCM_PTPConfigInternetProtocalVersion = "4"
+ Device.Services.FAPService.1.REM.LTE.X_SCM_PTP_Cfg.X_SCM_PTPConfigNetworkTransport = "UDPv4"
+ Device.Services.FAPService.1.REM.LTE.X_SCM_EnlargeUlSchRbNumMappingList = ""
+ Device.Services.FAPService.1.REM.LTE.X_SCM_NoS1SetupEnable = 0
+ Device.Services.FAPService.1.REM.LTE.MaxCellEntries = 32
+ Device.Services.FAPService.1.REM.LTE.X_SCM_AdjustCellInitTxPowerAlgorithm1Enable = 0
+ Device.Services.FAPService.1.REM.LTE.X_SCM_LocationAllowNeighborPLMNList = ""
+ Device.Services.FAPService.1.REM.LTE.X_SCM_ANREutranRsrqThreshold = "-14.5"
+ Device.Services.FAPService.1.REM.LTE.ScanPeriodically = 0
+ Device.Services.FAPService.1.REM.X_SCM_tfcsManagerConfig.RefPktDelayDelta = 50000
+ Device.Services.FAPService.1.REM.X_SCM_NlSync.CellInfo.0.FreqUncertaintyThreshold = 250
+ Device.Services.FAPService.1.REM.X_SCM_NlSync.CellInfo.0.Band = 48
+ Device.Services.FAPService.1.REM.UMTS.X_SCM_TDSCDMA.Cell.0.X_SCM_RF.0.RAC = 0
+ Device.Services.FAPService.1.REM.UMTS.WCDMA.Cell.0.BCCH.CSGIndicator = 0
+ Device.Services.FAPService.1.REM.UMTS.WCDMA.Cell.0.RF.CPICHEcNo = -1
+ Device.Services.FAPService.1.REM.UMTS.WCDMA.MaxCellEntries = 32
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborListInUse2.LTECell.0.SrcType = ""
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborListInUse2.LTECell.0.RSTxPower = -1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborListInUse2.MaxLTECellEntries = 32
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborListInUse.InterRATCell.CDMA2000.0.IMS_EMERGENCY_SUPPORT_R9 = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborListInUse.InterRATCell.CDMA2000.0.ThreshXLowGERAN = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborListInUse.InterRATCell.CDMA2000.0.Scene1NumberOfEntries = 3
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborListInUse.LTECell.0.SrcType = ""
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborListInUse.LTECell.0.RSTxPower = -1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborListInUse.MaxLTECellEntries = 32
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.X_SCM_NR.0.GNB_ID = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.CDMA2000.0.BandClass = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.GSM.0.X_SCM_HO_STATUS = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.GSM.0.X_SCM_DTM_HO_SUPPORTED = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.UMTS.0.X_SCM_PS_PLUS_CS_ALLOWED = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.UMTS.0.X_SCM_ACCESS_MODE = 2
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.UMTS.0.X_SCM_BLACKLISTED = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.UMTS.0.X_SCM_CSGID = "1"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.UMTS.0.X_SCM_NUMPLMNID = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.UMTS.0.X_SCM_RSCP = 92
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.LTECell.0.X_SCM_AccessMode = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.LTECell.0.X_SCM_TrgrX2 = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.LTECell.0.CID = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.LTECellNumberOfEntries = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B2MeasureCtrl.2.TimeToTrigger = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.TimeToTrigger"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B2MeasureCtrl.2.B2Threshold2CDMA2000 = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B2Threshold2CDMA2000"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B2MeasureCtrl.1.MaxReportCells = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.MaxReportCells"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B1MeasureCtrl.2.MaxReportCells = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.MaxReportCells"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B1MeasureCtrl.0.B1ThresholdGERAN = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B1ThresholdGERAN"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.ReportInterval = 240
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.QoffsetGERAN = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.X_SCM_EnableMeasGERANOperate = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.X_SCM_A2ForBlindRedirection.TimeToTrigger = "480"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.X_SCM_A2ForIRATPS.ReportAmount = 4
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.X_SCM_A2ForIRATPS.A2ThresholdRSRQ = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.X_SCM_A2ForIRATCS.TriggerQuantity = "RSRP"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A5MeasureCtrl.1.A5Threshold2RSRP = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A5Threshold2RSRP"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A5MeasureCtrl.1.A5Threshold1RSRQ = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A5Threshold1RSRQ"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A5MeasureCtrl.0.TriggerQuantity = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.TriggerQuantity"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A5MeasureCtrl.0.A5Threshold2RSRQ = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A5Threshold2RSRQ"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A4MeasureCtrl.1.TriggerQuantity = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.TriggerQuantity"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A4MeasureCtrl.0.TimeToTrigger = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.TimeToTrigger"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A3MeasureCtrl.2.TriggerQuantity = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.TriggerQuantity"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A3MeasureCtrl.1.TimeToTrigger = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.TimeToTrigger"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A3MeasureCtrl.1.ReportOnLeave = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.ReportOnLeave"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A3MeasureCtrl.0.ReportQuantity = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.ReportQuantity"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A3MeasureCtrl.0.MaxReportCells = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.MaxReportCells"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A2MeasureCtrl.5.Hysteresis = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.Hysteresis"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A2MeasureCtrl.3.TriggerQuantity = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.TriggerQuantity"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A2MeasureCtrl.2.TimeToTrigger = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.TimeToTrigger"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A2MeasureCtrl.1.ReportQuantity = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.ReportQuantity"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A2MeasureCtrl.1.MaxReportCells = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.MaxReportCells"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A1MeasureCtrl.3.TimeToTrigger = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.TimeToTrigger"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A1MeasureCtrl.2.ReportQuantity = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.ReportQuantity"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A1MeasureCtrl.2.MaxReportCells = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.MaxReportCells"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A4MeasureCtrlNumberOfEntries = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.X_SCM_A2EnhanceCfg = "IRAT_CS_or_PS,Blind_Redirect"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.X_SCM_INTER_ANR_A5Threshold2RSRP = 50
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.X_SCM_INTER_A5Threshold2RSRP = 35
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.X_SCM_INTER_A5Threshold1RSRQ = 25
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A1ThresholdRSRP = 60
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.X_SCM_HOModeType = "EUTRAN:HO,Redirect;UTRAN:PSHO,SRVCC,Redirect;GERAN:PSHO,SRVCC,Redirect;"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.CDMA2000.X_SCM_ue_generic_cdma2000_params.X_SCM_mcc = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.CDMA2000.X_SCM_MOBILITY_SIB_8_PARAMS.TOTAL_ZONE = 5
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.CDMA2000.X_SCM_MOBILITY_SIB_8_PARAMS.MULTIPLE_SID = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.CDMA2000.X_SCM_MOBILITY_SIB_8_PARAMS.NID = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.CDMA2000.CDMA2000BandNumberOfEntries = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.GERAN.X_SCM_GERANFreqGroupForSRVCC.0.Hysteresis = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.GERAN.GERANFreqGroup.0.X_SCM_P_MAX_GERAN = ".PMaxGERAN"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.GERAN.GERANFreqGroup.0.QRxLevMin = "0"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.GERAN.GERANFreqGroup.0.Alias = ""
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.GERAN.TReselectionGERAN = "1"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.UTRA.UTRANFDDFreq.0.CellReselectionPriority = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.UTRA.X_SCM_UTRANTDDFreq.0.PMaxUTRA = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.UTRA.X_SCM_UTRANTDDFreq.0.QRxLevMin = "-60"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.UTRA.X_SCM_UTRANTDDFreq.0.UTRACarrierARFCN = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.UTRA.X_SCM_UTRANTDDFreq.0.Alias = ""
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.InterFreq.Carrier.0.X_SCM_CSG_PHY_CELLID_START = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.InterFreq.Carrier.0.CellReselectionPriority = 7
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.InterFreq.Carrier.0.EUTRACarrierARFCN = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.InterFreq.X_SCM_ThreshXLow = 4
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IntraFreq.X_SCM_SIntraSearchQRel9 = "5"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IntraFreq.TReselectionEUTRASFHigh = 100
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IntraFreq.QRxLevMinOffset = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.Common.X_SCM_ADDITIONAL_SPECTRUM_EMISSION = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.Common.X_SCM_TIME_ALIGNMENT_TIMER_COMMON = 7
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.CellRestriction.X_SCM_CongestionCtrl.1.X_SCM_UeType = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.CellRestriction.X_SCM_CongestionCtrl.0.X_SCM_HysteresisUeNum = 5
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.CellRestriction.X_SCM_acBarringForMOSignalpres = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.RLC.SRB2.TReordering = "35"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.RLC.SRB1.TPollRetransmit = "80"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_PDCP.X_SCM_QOS.0.X_SCM_StatusRprtReqd = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_PDCP.X_SCM_ROHC.6.X_SCM_QCI = 6
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_PDCP.X_SCM_ROHC.4.X_SCM_ROHCEnabled = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_PDCP.X_SCM_ROHC.1.X_SCM_Profiles = "000000001"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_PDCP.X_SCM_ROHC.1.X_SCM_MaxCid = 15
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.X_SCM_SFR.X_SCM_SFR_Algo = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.X_SCM_ABS.X_SCM_ABSPattern = "0101010101010101010101010101010101010101"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.UplinkPowerControlDedicated.delteMCSEnabled = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.PHRCONFIG.X_SCM_PuschTpcIncCorrectThreshold = -15
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.PHRCONFIG.ProhibitPHRTimer = 4
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.ULSCH.X_SCM_UlGrantMaxUESupport = 4
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.ULSCH.PeriodicBSRTimer = 10
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileList.8.OnDurationTimer = "10"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileList.7.DRXInactivityTimer = "40"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileList.7.DRXEnabled = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileList.7.QCI = 7
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileList.6.ShortDRXCycle = "32"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileList.4.LongDRXCycle = "640"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileList.3.DRXShortCycleTimer = "4"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileList.2.DRXRetransmissionTimer = "2"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileList.0.ONDurationTimer = ".OnDurationTimer"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileListNumberOfEntries = 9
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_EnableDiscardCsPsPagging = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.LongDRXCycle = "640"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.RACH.X_SCM_DedicatePreambleStart2 = 32
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.RACH.X_SCM_DedicatePreambleStart = 32
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.RACH.ContentionResolutionTimer = "56"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.X_SCM_Scheduler.X_SCM_DLRBAllocStartLoc = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.X_SCM_Scheduler.X_SCM_ULRBAllocEndLoc = 99
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.X_SCM_Scheduler.X_SCM_ULNumSPSUEPerTti = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.X_SCM_Scheduler.X_SCM_PFS_UL_Fairness_Coefficient = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.PHY.PRS.NumPRSResourceBlocks = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.PHY.ULPowerControl.DeltaFPUCCHFormat1 = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.PHY.ULPowerControl.P0NominalPUCCH = "-96"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.PHY.PUSCH.ULRS.GroupAssignmentPUSCH = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.RF.X_SCM_QCOM.RFPath.0.bandList_1 = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.RF.X_SCM_CarrierNumberOfEntries = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.RF.X_SCM_FreqOffsetByI2C = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.RF.PBCHPowerOffset = ""
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.RF.SSCHPowerOffset = ""
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.RF.EARFCNDL = "43800"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.S1AP.TRelocOverall = "5000"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_RRM.X_SCM_LoadBalancePowerAdjust = 5
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_RRM.X_SCM_LoadBalanceLevel = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_X2AP.X2WhiteList.0.CellIdentity = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_X2AP.X2BlackList.0.PLMNID = "46000"
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.QoS.9.DSCP = 46
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.QoS.9.PacketDelayBudget = 300
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.QoS.9.Type = "Non-GBR"
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.QoS.8.VLANTag = 0
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.QoS.7.Alias = "-"
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.QoS.6.QCI = 6
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.QoS.4.Enable = 0
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.QoS.1.Priority = 2
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.PLMNList.1.X_SCM_PLMNID_Priority = 6
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.PLMNList.1.IsPrimary = 1
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.PLMNList.0.X_SCM_Ignore_RegisterMME_IE = 1
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.X_SCM_EAIDList = "{1}"
+ Device.Services.FAPService.1.CellConfig.LTE.MmePoolConfigParam.0.MMECode = 0
+ Device.Services.FAPService.1.CellConfig.LTE.MmePoolConfigParam.0.PLMNID = "46000"
+ Device.Services.FAPService.1.CellConfig.LTE.VoLTEParam.SPSSwitchQCI1Ul = "Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.X_SCM_Scheduler.X_SCM_SPSEnableFlag"
+ Device.Services.FAPService.1.CellConfig.LTE.Tunnel.1.Enable = 0
+ Device.Services.FAPService.1.CellConfig.LTE.X_SCM_ULTRASON_CONFIG.TPMConfig.EnableIntraFreqMro = 0
+ Device.Services.FAPService.1.CellConfig.LTE.X_SCM_ULTRASON_CONFIG.TPMConfig.TPMMOTxPwrStepSizeDecrease = 10
+ Device.Services.FAPService.1.CellConfig.LTE.X_SCM_ULTRASON_CONFIG.TPMConfig.TPMNLPeriodicEnable = 0
+ Device.Services.FAPService.1.CellConfig.LTE.X_SCM_ULTRASON_CONFIG.TPMConfig.TPMTargetRSRP = 50
+ Device.Services.FAPService.1.AccessMgmt.LTE.LocalIPAccess.Enable = 0
+ Device.Services.FAPService.1.AccessMgmt.LTE.X_SCM_UEDetail.0.X_SCM_Type = 0
+ Device.Services.FAPService.1.AccessMgmt.LTE.X_SCM_RelToSpecOrNerborList = 0
+ Device.Services.FAPService.1.AccessMgmt.LTE.X_SCM_CongestionRedirecEARFCN = 1
+ Device.Services.FAPService.1.AccessMgmt.LTE.X_SCM_SupportEmergencyCall = 0
+ Device.Services.FAPService.1.FAPControl.X_SCM_SubModule.X_SCM_UpgradedMode = 0
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_X2AP.X_SCM_eNodeBX2SigLinkPort = 36422
+ Device.Services.FAPService.1.FAPControl.LTE.Gateway.PreSecGW3ServerList.8.SecGWServer3Ip = "2600:0000:cf04:0e41:10:158:140:183"
+ Device.Services.FAPService.1.FAPControl.LTE.Gateway.AGPort1 = ""
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_CRAN.Sector.1.BBUSctpLinkPort = 49160
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_CRAN.NotifyType = "femtoCellInitialized"
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_CRAN.BBUUdpGtpuPort = 50208
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_SceneManagement.LTEInter.X_SCM_EffectRsrpThreshold = -115
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_SceneManagement.Scene4.0.OAM = ""
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_SceneManagement.MaxScene1Entries = 32
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_DLPowerSetting.X_SCM_MROAdjustRateThreshold = 60
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_DLPowerSetting.X_SCM_UeNumberThreshold = 20
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_CoverageMeasurement.X_SCM_CoverageHoleRSRPOffsetThreshold = 5
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_CoverageMeasurement.X_SCM_WeakCoverageRSRPOffsetThreshold = 5
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_CoverageMeasurement.X_SCM_CoreArea_A1ThresholdRSRP = 72
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_MRO.ThreshHP = 0
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_MRO.X_SCM_TooEarlyHORsrpDelta = 1
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_MRO.X_SCM_TooEarlyHONeighborCellRsrqThreshold = -12
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_MRO.X_SCM_StoreUeCntxtTime = 3
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_MRO.X_SCM_PingPongRateThreshold = 10
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_BsPoutCtrl.X_SCM_OvercoverMaxAdjustCIO = -6
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_MPOCtrlList.MPOCtrlNumberOfEntries = 0
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_InChannelDataAwarness.X_SCM_RsTxPowerCtrlByInterferenceEnable = 0
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_ConfigurationIndexInuse = ""
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_MeasNeighborRSRPFactor = 70
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_AutoTACEnable = 0
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_SelfConfigFailAction = "Reboot"
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_DLRngBuffCnt = 13
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_LogFileName = "dbglog"
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_RipRbStatisticsEnable = 1
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_RipAlarmThreshold2IOT = "99.5"
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_TcFeedbackMinThreshold = 1200
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_CSGSmallCellPciCfgEnable = 1
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_PrimetwsRepetitionPeriod = 10
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_ScellDeActByCQIEnabled = 0
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_WIRESHARK.X_SCM_EnablePagingMessageWireshak = 0
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_WIRESHARK.X_SCM_EnableMacWireshark = 0
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SAS.AntennaGain = 5
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SAS.AntennaDowntilt = 0
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_CMP.Config.1.ProtoType = "HTTPS"
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_CMP.Config.1.Subject = ""
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_CMP.Config.0.CmpInTunnel = 0
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_CMP.Config.0.Recipient = ""
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_CMP.Config.0.Port = ""
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_CMP.Config.0.Server = ""
+ Device.Services.FAPService.1.FAPControl.LTE.SelfConfig.SONConfigParam.GERANSnifferEnable = "Device.Services.FAPService.1.REM.UMTS.GSM.ScanOnBoot"
+ Device.Services.FAPService.1.FAPControl.LTE.SelfConfig.SONConfigParam.LTESnifferChannelList = "Device.Services.FAPService.1.REM.LTE.EUTRACarrierARFCNDLList"
+ Device.Services.FAPService.1.FAPControl.LTE.SelfConfig.SONConfigParam.ARFCNEnable = 1
+ Device.Services.FAPService.1.FAPControl.LTE.SelfConfig.SONConfigParam.CandidatePCIList = "Device.Services.FAPService.1.CellConfig.LTE.RAN.RF.PhyCellID"
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_PowerDownRate = 10
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_TCPMssChangeMode = 1
+ Device.Services.FAPService.1.FAPControl.LTE.OpState = 0
+ Device.Services.FAPService.1.FAPControl.X_SCM_LWM2M.X_SCM_RelayManagement.X_SCM_NeighbourCrowdBoxqOffsetFreq = 0
+ Device.Services.FAPService.1.FAPControl.X_SCM_LWM2M.X_SCM_RelayManagement.X_SCM_CumulativeMeasurementWindow = 7200
+ Device.Services.FAPService.1.FAPControl.X_SCM_LWM2M.X_SCM_Server.1.X_SCM_Binding = "U"
+ Device.Services.FAPService.1.FAPControl.X_SCM_LWM2M.X_SCM_Server.0.X_SCM_RegistrationUpdateTrigger = 0
+ Device.Services.FAPService.1.FAPControl.X_SCM_LWM2M.X_SCM_Server.0.X_SCM_ShortServerID = 0
+ Device.Services.FAPService.1.FAPControl.X_SCM_LWM2M.X_SCM_Security.0.X_SCM_ServerPublicKey = ""
+ Device.Services.FAPService.1.FAPControl.X_SCM_LWM2M.X_SCM_Security.0.X_SCM_SecurityMode = 0
+ Device.Services.FAPService.1.FAPControl.X_SCM_LWM2M.X_SCM_EndPointName = "HUAWEI"
+ Device.Services.FAPService.1.FAPControl.X2IpAddrMapInfo.0.EnbType = 0
+ Device.Services.FAPServiceNumberOfEntries = 1
+ Device.LogMgmt.PeriodicUploadInterval = "Device.DeviceInfo.VendorLogFile.1.X_SCM_LogControl.X_SCM_PeriodicUploadInterval"
+ Device.FaultMgmt.HistoryEvent.2.AdditionalText = ""
+ Device.FaultMgmt.HistoryEvent.2.PerceivedSeverity = "Information"
+ Device.FaultMgmt.ExpeditedEvent.2.AdditionalText = ""
+ Device.FaultMgmt.ExpeditedEvent.2.PerceivedSeverity = "Information"
+ Device.Security.Certificate.3.SubjectAlt = ""
+ Device.Security.Certificate.3.LastModif = 0001-01-01T00:00:00Z
+ Device.Security.Certificate.2.Subject = "/C=TW/ST=Taipei/L=Taipei/O=Sercomm/OU=PSIRT/CN=2009CW5000019/emailAddress=PSIRT@sdc.sercomm.com"
+ Device.Security.Certificate.2.NotBefore = Wed Sep 23 02:24:00 2020
+
+ Device.Security.Certificate.1.SignatureAlgorithm = ""
+ Device.X_SCM_WiFi.wanEnable = 0
+ Device.X_SCM_DeviceFeature.X_SCM_PeakThp.X_SCM_PeakThpDLTimestamp = 0001-01-01T00:00:00
+ Device.X_SCM_DeviceFeature.X_SCM_LED.X_SCM_LED_INFO_Green_Status = ""
+ Device.X_SCM_DeviceFeature.X_SCM_NEStatus.X_SCM_CA_Status = ""
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_Netconf.X_SCM_NotificationControl.0.X_SCM_NotificationName = ""
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_Web_Control.X_SCM_RestfulApiEnable = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_Web_Control.X_SCM_UserPasswordLength = 8
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.11.X_SCM_AppCrashMaxAction = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.11.X_SCM_AppUploadErrLogControl = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.7.X_SCM_AppDownActionMask = 1
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.6.X_SCM_AppTimeoutToRunningAction = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.6.X_SCM_AppEnableCheck = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.5.X_SCM_AppStateValidationTimes = 1
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.5.X_SCM_AppCrashCountMax = 10
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.2.X_SCM_AppName = "macchange"
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.0.X_SCM_AppCrashMaxAction = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.0.X_SCM_AppUploadErrLogControl = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_RcWanGatewayCheckEnable = 1
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_SmartLFS.X_SCM_TotalFilesSize = 102400
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.UserAccount.5.UserType = 2
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.UserAccount.3.UserFailedLoginTimes = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.UserAccount.2.UserPasswordLifeCycle = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.UserAccount.2.UserPassword = "$5$8D8jUl936nr71DKs$hULOUU4eq7YWAyU44APc7SRBzlXzB8xEZRGEUIECvx8"
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.UserAccount.1.UserChangedPasswordTime = ""
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.UserAccount.1.UserClassification = 3
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.UserAccount.0.UserLockedTime = 0001-01-01T00:00:00Z
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.UserAccount.0.UserChangedPassword = ""
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.Ncom.X_SCM_NcomSymRebootEnable = 1
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.Ncom.X_SCM_NcomHeartbeatEable = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.PnPFailureMaxTimes = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_LocalIPAddressForBrother = "11.11.11.2"
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_IpsecErrorCodeIndex = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_GetImsiPollingDeadline = 120
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.UserAccountNumberOfEntries = 5
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RcRebootAppStateRespTimeout = 1000
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_CwmpDletime = "0001-01-01T00:00:00Z"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.16.CrashMaxAction = "200_REBOOT_SYSTEM"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.13.Alias = "rc_ipsec"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.11.CrashCountMax = 10
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.10.CrashAction = "100_REBOOT_SERVICE"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.10.Dependency = "fsminitd,sync"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.9.CrashAction = "100_REBOOT_SERVICE"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.9.Dependency = "fsminitd"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.8.Status = "starting"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.7.Name = "fsminitd"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.5.CrashMaxAction = "100_REBOOT_SERVICE"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.2.Alias = "rc_wan"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.0.CrashCountMax = 10
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.WatchdogPollingPeriod = 30
+ Device.X_SCM_DeviceFeature.DUTimingLockBehavior = 0
+ Device.X_SCM_DeviceFeature.DLDataReorderEnable = 0
+ Device.X_SCM_DeviceFeature.X_SCM_WebServerInterfaceIPAddress = ""
+ Device.X_SCM_DeviceFeature.X_SCM_FirewallConfigEnable = 0
+ Device.FAP.X_SCM_LcdMgmt.WeatherStatus.Condition = ""
+ Device.FAP.X_SCM_MrMgmt.Config.1.SFControl = ""
+ Device.FAP.Tunnel.CryptoProfile.1.IKEDH = "2048"
+ Device.FAP.Tunnel.ChildSANumberOfEntries = 0
+ Device.FAP.Tunnel.CryptoProfileNumberOfEntries = 0
+ Device.FAP.GPS.XtraServerAddress2 = "http://xtrapath2.izatcloud.net/xtra3grc.bin"
+ Device.FAP.X_SCM_EM.X_SCM_MACInLaw = ""
+ Device.Security.X_SCM_IPsec.X_SCM_Ipsecsecrets.X_SCM_Entries.0.X_SCM_Secret = ""
+ Device.Security.X_SCM_IPsec.X_SCM_Ipsecsecrets.X_SCM_Entries.0.X_SCM_IDSelector = ""
+ Device.Security.X_SCM_IPsec.X_SCM_Ipsecconf.X_SCM_Connection.0.CertSubject = ""
+ Device.Security.X_SCM_IPsec.X_SCM_Ipsecconf.X_SCM_Connection.0.X_SCM_ConnName = ""
+ Device.Security.X_SCM_IPsec.X_SCM_Ipsecconf.X_SCM_ConnectionNumberOfEntries = 0
+ Device.Security.X_SCM_IPsec.X_SCM_Ipsecconf.X_SCM_Include = ""
+ Device.Security.X_SCM_IPsec.X_SCM_Ipsecconf.X_SCM_Ikelifetime = ""
+ Device.Security.X_SCM_IPsec.X_SCM_Strongswanconf.X_SCM_Charon_port_nat_t = "4500"
+ Device.Security.X_SCM_IPsec.TunnelCheckingAddress = ""
+ Device.Security.X_SCM_CertConfigStatus = "Unconfiged"
+ Device.FaultMgmt.QueuedEvent.0.SpecificProblem = ""
+ Device.FaultMgmt.QueuedEvent.0.OUI = "Device.DeviceInfo.ManufacturerOUI"
+ Device.FaultMgmt.ExpeditedEvent.0.AlarmIdentifier = ""
+ Device.FaultMgmt.HistoryEvent.0.AlarmIdentifier = ""
+ Device.FaultMgmt.SupportedAlarm.93.X_SCM_RaiseNum = 0
+ Device.FaultMgmt.SupportedAlarm.91.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.90.EventType = "Processing Error Alarm"
+ Device.FaultMgmt.SupportedAlarm.89.ProbableCause = "System overload level 4 is exceeded."
+ Device.FaultMgmt.SupportedAlarm.88.X_SCM_AlarmIdentifier = "11218"
+ Device.FaultMgmt.SupportedAlarm.86.SpecificProblem = "System overload level 1 is exceeded(60%)."
+ Device.FaultMgmt.SupportedAlarm.85.PerceivedSeverity = "Critical"
+ Device.FaultMgmt.SupportedAlarm.84.X_SCM_RaiseNum = 0
+ Device.FaultMgmt.SupportedAlarm.82.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.81.EventType = "Equipment Alarm"
+ Device.FaultMgmt.SupportedAlarm.79.X_SCM_AlarmIdentifier = "11209"
+ Device.FaultMgmt.SupportedAlarm.77.SpecificProblem = "DNS server is unreachable"
+ Device.FaultMgmt.SupportedAlarm.76.PerceivedSeverity = "Information"
+ Device.FaultMgmt.SupportedAlarm.75.X_SCM_RaiseNum = 0
+ Device.FaultMgmt.SupportedAlarm.73.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.72.EventType = "Environmental Alarm"
+ Device.FaultMgmt.SupportedAlarm.70.ProbableCause = "PCI selection failure"
+ Device.FaultMgmt.SupportedAlarm.68.SpecificProblem = "Try HO KPI Self Healing"
+ Device.FaultMgmt.SupportedAlarm.67.PerceivedSeverity = "Major"
+ Device.FaultMgmt.SupportedAlarm.66.X_SCM_RaiseNum = 0
+ Device.FaultMgmt.SupportedAlarm.64.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.63.EventType = "Equipment Alarm"
+ Device.FaultMgmt.SupportedAlarm.61.ProbableCause = "Login Number Over Threshold "
+ Device.FaultMgmt.SupportedAlarm.60.X_SCM_AlarmIdentifier = "45"
+ Device.FaultMgmt.SupportedAlarm.59.SpecificProblem = "Certificates Have Been Expired"
+ Device.FaultMgmt.SupportedAlarm.58.PerceivedSeverity = "Critical"
+ Device.FaultMgmt.SupportedAlarm.57.X_SCM_RaiseNum = 0
+ Device.FaultMgmt.SupportedAlarm.55.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.54.EventType = "Equipment Alarm"
+ Device.FaultMgmt.SupportedAlarm.52.ProbableCause = "Kernel Thread Crashed"
+ Device.FaultMgmt.SupportedAlarm.51.X_SCM_AlarmIdentifier = "11172"
+ Device.FaultMgmt.SupportedAlarm.49.PerceivedSeverity = "Critical"
+ Device.FaultMgmt.SupportedAlarm.48.X_SCM_RaiseNum = 0
+ Device.FaultMgmt.SupportedAlarm.46.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.45.EventType = "Equipment Alarm"
+ Device.FaultMgmt.SupportedAlarm.43.ProbableCause = "L1 Issue"
+ Device.FaultMgmt.SupportedAlarm.42.X_SCM_AlarmIdentifier = "11168"
+ Device.FaultMgmt.SupportedAlarm.40.SpecificProblem = "RF Issue"
+ Device.FaultMgmt.SupportedAlarm.39.X_SCM_RaiseNum = 0
+ Device.FaultMgmt.SupportedAlarm.37.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.36.EventType = "Equipment Alarm"
+ Device.FaultMgmt.SupportedAlarm.34.ProbableCause = "RTWP Unreasonable"
+ Device.FaultMgmt.SupportedAlarm.33.X_SCM_AlarmIdentifier = "11160"
+ Device.FaultMgmt.SupportedAlarm.31.SpecificProblem = "Serving GW Connect Fail"
+ Device.FaultMgmt.SupportedAlarm.30.PerceivedSeverity = "Warning"
+ Device.FaultMgmt.SupportedAlarm.28.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.27.EventType = "Equipment Alarm"
+ Device.FaultMgmt.SupportedAlarm.25.ProbableCause = "Interfere Is Great Than Threshold"
+ Device.FaultMgmt.SupportedAlarm.24.X_SCM_AlarmIdentifier = "11151"
+ Device.FaultMgmt.SupportedAlarm.22.SpecificProblem = "CWMP Connect No Response"
+ Device.FaultMgmt.SupportedAlarm.21.PerceivedSeverity = "Critical"
+ Device.FaultMgmt.SupportedAlarm.20.X_SCM_RaiseNum = 0
+ Device.FaultMgmt.SupportedAlarm.19.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.18.EventType = "Quality Of Service Alarm"
+ Device.FaultMgmt.SupportedAlarm.16.ProbableCause = "Cell Unavailable:SCTP Disconnected"
+ Device.FaultMgmt.SupportedAlarm.15.X_SCM_AlarmIdentifier = "83"
+ Device.FaultMgmt.SupportedAlarm.13.SpecificProblem = "SCTP ERROR Received"
+ Device.FaultMgmt.SupportedAlarm.12.PerceivedSeverity = "Warning"
+ Device.FaultMgmt.SupportedAlarm.11.X_SCM_RaiseNum = 0
+ Device.FaultMgmt.SupportedAlarm.8.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.7.EventType = "Environmental Alarm"
+ Device.FaultMgmt.SupportedAlarm.5.ProbableCause = "USIM Error"
+ Device.FaultMgmt.SupportedAlarm.4.X_SCM_AlarmIdentifier = "87"
+ Device.FaultMgmt.SupportedAlarm.2.SpecificProblem = "SIP Server Not Responding"
+ Device.FaultMgmt.SupportedAlarm.1.PerceivedSeverity = "Major"
+ Device.FaultMgmt.SupportedAlarm.0.X_SCM_RaiseNum = 0
+ Device.PeriodicStatistics.SampleSet.3.Parameter.51.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.51.Enable = 1
+ Device.PeriodicStatistics.SampleSet.3.Parameter.50.Values = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.46.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.45.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.45.Alias = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.45.X_SCM_Name = "MR.LteNcPci"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.44.Reference = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.42.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.42.Enable = 1
+ Device.PeriodicStatistics.SampleSet.3.Parameter.41.Values = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.37.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.36.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.36.Alias = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.36.X_SCM_Name = "MR.LteScSinrUL"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.35.Reference = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.33.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.33.Enable = 1
+ Device.PeriodicStatistics.SampleSet.3.Parameter.32.Values = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.28.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.27.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.27.Alias = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.27.X_SCM_Name = "MR.LteNcRSRP"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.26.Reference = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.24.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.24.Enable = 1
+ Device.PeriodicStatistics.SampleSet.3.Parameter.23.Values = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.19.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.18.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.18.Alias = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.18.X_SCM_Name = "MR.RipRsrq"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.17.Reference = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.15.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.15.Enable = 1
+ Device.PeriodicStatistics.SampleSet.3.Parameter.14.Values = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.8.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.7.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.7.Alias = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.7.X_SCM_Name = "MR.PacketLossRateULQciX"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.6.Reference = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.4.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.4.Enable = 1
+ Device.PeriodicStatistics.SampleSet.3.Parameter.3.Values = ""
+ Device.PeriodicStatistics.SampleSet.3.X_SCM_SampleSetFileFormat = "TD-LTE_%r_%M_OMC_%c_%d%lt.xml"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.206.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.201.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.200.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.200.Alias = "CSFBReq"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.200.X_SCM_Name = "CC.AttTotCalls.Csfb"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.199.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.199.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.198.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.193.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.192.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.192.Alias = "PdpFail_Accept_Timeout"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.192.X_SCM_Name = "SM.FailActPdpContext.NasNoReply"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.191.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.189.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.184.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.183.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.183.Alias = "AttachComplete"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.183.X_SCM_Name = "MM.SuccGprsAttach"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.182.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.180.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.180.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.175.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.174.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.174.Alias = "NAS_ActivatePDPContextAccPerTraffic_Bgd"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.174.X_SCM_Name = "SM.SuccActPdpContext.Background"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.173.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.171.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.171.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.170.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.166.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.165.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.165.Alias = "NAS_UlDisconnectNormalClearAfterActive_Conv_AMR"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.165.X_SCM_Name = "CC.ClrOutVoiceCalls"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.164.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.162.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.162.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.161.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.157.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.156.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.156.Alias = "NAS_UlSetup_Conv_AMR"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.156.X_SCM_Name = "CC.AttOutVoiceCalls"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.155.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.153.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.153.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.152.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.148.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.147.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.147.Alias = "RrcConnSetupCompTerminatingCauseUnknown"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.147.X_SCM_Name = "RRC.SuccConnEstab.TerminatingCauseUnknown"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.146.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.144.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.144.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.143.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.139.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.138.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.138.Alias = "RrcConnSetupCompInterRAT_CellReselection"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.138.X_SCM_Name = "RRC.SuccConnEstab.InterRAT_CellReselection"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.137.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.135.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.135.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.134.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.129.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.129.Alias = "RrcConnSetupCompOriginatingStreamingCall "
+ Device.PeriodicStatistics.SampleSet.2.Parameter.129.X_SCM_Name = "RRC.SuccConnEstab.OriginatingStreamingCall"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.128.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.126.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.126.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.125.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.120.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.119.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.117.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.117.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.116.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.111.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.110.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.110.Alias = "RrcConnReqOriginatingSubscribedTrafficCall"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.110.X_SCM_Name = "RRC.AttConnEstab.OriginatingSubscribedTrafficCall"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.108.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.108.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.107.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.102.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.101.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.101.Alias = "FapPagingType2Send"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.101.X_SCM_Name = "Pag.AttPagType2"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.100.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.98.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.98.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.97.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.92.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.91.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.91.Alias = "HnbapUeRegisterSend"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.91.X_SCM_Name = "IUH.AttUeReg"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.90.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.89.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.89.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.88.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.83.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.82.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.82.Alias = "SctpAssoc_Abort_ERROR_COOKIE_RCVD_NewAddr"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.82.X_SCM_Name = "IUH.SctpAbort.ReassociateNewAddr"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.81.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.79.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.74.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.73.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.73.Alias = "SctpAssoc_Abort_ERROR_PARAM"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.73.X_SCM_Name = "IUH.SctpAbort.ParameterError"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.72.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.70.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.70.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.65.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.64.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.64.Alias = "HsdpaHandoverHnbToUmtsFailNum"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.64.X_SCM_Name = "RELOC.FailUEInvolHSDPA"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.63.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.61.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.61.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.60.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.56.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.55.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.55.Alias = "dwTrafficOf128KInRlc"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.55.X_SCM_Name = "RLC.NumUserBits.PS128DL"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.54.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.52.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.52.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.51.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.47.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.46.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.46.Alias = "RanapSRNSRelocationCmdTimeout"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.46.X_SCM_Name = "RELOC.FailPrep.NoReply"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.45.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.43.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.43.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.42.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.38.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.37.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.37.Alias = "PS_RAB_Setup_Failure"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.37.X_SCM_Name = "RAB.FailEstabPS"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.36.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.34.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.34.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.33.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.29.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.28.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.28.Alias = "Hsdpa_RAB_Setup_Success"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.28.X_SCM_Name = "RAB.SuccEstabHSDPA"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.27.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.25.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.25.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.24.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.19.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.19.Alias = "Video_RAB_Setup_Req"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.19.X_SCM_Name = "RAB.AttEstabVideo"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.18.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.16.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.16.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.15.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.10.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.9.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.8.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.8.Alias = "Iscp80To100"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.8.X_SCM_Name = "CARR.ISCP.80to100"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.7.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.5.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.5.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.4.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.ParameterNumberOfEntries = 207
+ Device.PeriodicStatistics.SampleSet.2.SampleInterval = 900
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2190.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2190.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2185.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2184.Alias2 = "ERAB.AbnormalErabRelease.6"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2184.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2184.X_SCM_Name = "ERAB.AbnormalErabRelease.QCI.6"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2183.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2181.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2181.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2180.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2176.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2175.Alias2 = "RRC.ConnEstabTimeMax.PLMN.2.MoData"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2175.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2175.X_SCM_Name = "RRC.ConnEstabTimeMax.PLMN.2.Cause.MoData"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2174.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2172.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2172.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2171.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2167.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2166.Alias2 = "RRC.ConnEstabTimeMax.PLMN.1.MoSignalling"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2166.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2166.X_SCM_Name = "RRC.ConnEstabTimeMax.PLMN.1.Cause.MoSignalling"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2165.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2163.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2163.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2162.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2158.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2157.Alias2 = "RRC.ConnEstabTimeMean.PLMN.2.MtAccess"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2157.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2157.X_SCM_Name = "RRC.ConnEstabTimeMean.PLMN.2.Cause.MtAccess"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2156.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2154.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2154.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2153.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2149.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2148.Alias2 = "RRC.ConnEstabTimeMean.PLMN.1.HighPriorityAccess"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2148.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2148.X_SCM_Name = "RRC.ConnEstabTimeMean.PLMN.1.Cause.HighPriorityAccess"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2147.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2145.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2145.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2144.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2139.Alias2 = "RRC.ConnEstabSuccPLMN.2.MoSignalling"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2139.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2139.X_SCM_Name = "RRC.ConnEstabSuccPLMN.2.Cause.MoSignalling"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2138.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2136.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2136.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2135.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2130.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2129.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2127.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2127.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2126.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2121.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2120.Alias2 = "RRC.ConnEstabAttPLMN.2.MtAccess"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2120.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2120.X_SCM_Name = "RRC.ConnEstabAttPLMN.2.Cause.MtAccess"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2118.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2118.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2117.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2112.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2111.Alias2 = "RRC.ConnEstabAttPLMN.1.MtAccess"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2111.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2111.X_SCM_Name = "RRC.ConnEstabAttPLMN.1.Cause.MtAccess"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2110.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2109.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2109.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2108.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2103.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2102.Alias2 = "S1SIG.ConnEstabSucc.HighPriorityAccess"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2102.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2102.X_SCM_Name = "S1SIG.ConnEstabSucc.HighPriorityAccess"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2101.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2095.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2094.Alias2 = "S1SIG.ConnEstabAtt.HighPriorityAccess"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2094.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2094.X_SCM_Name = "S1SIG.ConnEstabAtt.HighPriorityAccess"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2093.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2091.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2091.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2090.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2086.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2085.Alias2 = "Dev.eNB.EARFCNInUse"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2085.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2085.X_SCM_Name = "Dev.eNB.EARFCNInUse"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2084.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2082.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2082.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2081.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2077.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2076.Alias2 = "HO.IartOutSucc.Misc.HardwareFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2076.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2076.X_SCM_Name = "HO.IartOutSucc.Cause.Misc.HardwareFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2075.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2073.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2073.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2072.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2068.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2067.Alias2 = "HO.IartOutSucc.Protocol.TransferSyntaxError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2067.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2067.X_SCM_Name = "HO.IartOutSucc.Cause.Protocol.TransferSyntaxError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2066.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2064.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2064.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2063.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2059.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2058.Alias2 = "HO.IartOutSucc.RadioNetwork.ErrorQCI"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2058.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2058.X_SCM_Name = "HO.IartOutSucc.Cause.RadioNetwork.ErrorQCI"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2057.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2055.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2055.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2054.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2049.Alias2 = "HO.IartOutSucc.RadioNetwork.IRATRedirection"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2049.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2049.X_SCM_Name = "HO.IartOutSucc.Cause.RadioNetwork.IRATRedirection"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2048.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2046.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2046.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2045.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2040.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2039.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2037.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2037.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2036.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2031.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2030.Alias2 = "HO.IartOutSucc.RadioNetwork.TS1RELOCprep"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2030.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2030.X_SCM_Name = "HO.IartOutSucc.Cause.RadioNetwork.TS1RELOCprep"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2028.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2028.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2027.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2022.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2021.Alias2 = "HO.IartOutSucc.RadioNetwork.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2021.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2021.X_SCM_Name = "HO.IartOutSucc.Cause.RadioNetwork.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2020.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2019.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2019.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2018.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2013.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2012.Alias2 = "HO.IartOutAtt.Protocol.FalselyConstructedMessage"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2012.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2012.X_SCM_Name = "HO.IartOutAtt.Cause.Protocol.FalselyConstructedMessage"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2011.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2009.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2004.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2003.Alias2 = "HO.IartOutAtt.Nas.AuthenticationFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2003.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2003.X_SCM_Name = "HO.IartOutAtt.Cause.Nas.AuthenticationFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2002.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2000.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2000.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1997.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1996.Alias2 = "HO.IartOutAtt.RadioNetwork.X2HO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1996.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1996.X_SCM_Name = "HO.IartOutAtt.Cause.RadioNetwork.X2HO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1995.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1993.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1993.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1992.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1988.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1987.Alias2 = "HO.IartOutAtt.RadioNetwork.RadioInterfaceProcedureFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1987.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1987.X_SCM_Name = "HO.IartOutAtt.Cause.RadioNetwork.RadioInterfaceProcedureFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1986.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1984.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1984.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1983.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1979.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1978.Alias2 = "HO.IartOutAtt.RadioNetwork.TimeCriticalHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1978.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1978.X_SCM_Name = "HO.IartOutAtt.Cause.RadioNetwork.TimeCriticalHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1977.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1975.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1975.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1974.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1969.Alias2 = "HO.IartOutAtt.RadioNetwork.TS1RELOCoverall"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1969.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1969.X_SCM_Name = "HO.IartOutAtt.Cause.RadioNetwork.TS1RELOCoverall"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1968.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1966.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1966.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1965.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1960.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1959.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1957.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1957.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1956.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1951.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1950.Alias2 = "HO.OutSuccTarget.Protocol.MessageStateNotCompatible"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1950.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1950.X_SCM_Name = "HO.OutSuccTarget.Cause.Protocol.MessageStateNotCompatible"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1948.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1948.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1947.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1942.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1941.Alias2 = "HO.OutSuccTarget.Transport.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1941.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1941.X_SCM_Name = "HO.OutSuccTarget.Cause.Transport.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1940.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1939.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1939.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1938.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1933.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1932.Alias2 = "HO.OutSuccTarget.RadioNetwork.MultipleERABID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1932.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1932.X_SCM_Name = "HO.OutSuccTarget.Cause.RadioNetwork.MultipleERABID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1931.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1929.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1924.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1923.Alias2 = "HO.OutSuccTarget.RadioNetwork.TAULoadBalancing"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1923.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1923.X_SCM_Name = "HO.OutSuccTarget.Cause.RadioNetwork.TAULoadBalancing"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1922.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1920.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1920.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1915.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1914.Alias2 = "HO.OutSuccTarget.RadioNetwork.MMEUES1APIDError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1914.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1914.X_SCM_Name = "HO.OutSuccTarget.Cause.RadioNetwork.MMEUES1APIDError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1913.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1911.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1911.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1910.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1906.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1905.Alias2 = "HO.OutSuccTarget.RadioNetwork.HOCancel"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1905.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1905.X_SCM_Name = "HO.OutSuccTarget.Cause.RadioNetwork.HOCancel"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1904.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1902.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1902.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1901.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1898.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1897.Alias2 = "HO.OutAttTarget.Misc.OMIntervention"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1897.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1897.X_SCM_Name = "HO.OutAttTarget.Cause.Misc.OMIntervention"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1896.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1894.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1894.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1893.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1889.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1888.Alias2 = "HO.OutAttTarget.Protocol.Reject"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1888.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1888.X_SCM_Name = "HO.OutAttTarget.Cause.Protocol.Reject"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1887.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1885.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1885.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1884.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1879.Alias2 = "HO.OutAttTarget.RadioNetwork.InvalidCSGID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1879.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1879.X_SCM_Name = "HO.OutAttTarget.Cause.RadioNetwork.InvalidCSGID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1878.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1876.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1876.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1875.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1870.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1869.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1867.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1867.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1866.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1861.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1860.Alias2 = "HO.OutAttTarget.RadioNetwork.ServingCellReduceLoad"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1860.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1860.X_SCM_Name = "HO.OutAttTarget.Cause.RadioNetwork.ServingCellReduceLoad"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1858.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1858.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1857.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1852.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1851.Alias2 = "HO.OutAttTarget.RadioNetwork.CellNotAvailable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1851.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1851.X_SCM_Name = "HO.OutAttTarget.Cause.RadioNetwork.CellNotAvailable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1850.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1849.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1849.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1848.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1843.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1842.Alias2 = "HO.OutAttTarget.RadioNetwork.TX2RELOCOverall"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1842.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1842.X_SCM_Name = "HO.OutAttTarget.Cause.RadioNetwork.TX2RELOCOverall"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1841.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1839.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1834.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1833.Alias2 = "RRU.PrbUl.2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1833.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1833.X_SCM_Name = "RRU.PrbUl.QCI.2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1832.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1830.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1830.Enable = 0
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1825.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1824.Alias2 = "RRU.PrbDl.2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1824.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1824.X_SCM_Name = "RRU.PrbDl.QCI.2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1823.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1821.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1821.Enable = 0
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1820.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1816.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1815.Alias2 = "DRB.IPThpUl.4"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1815.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1815.X_SCM_Name = "DRB.IPThpUl.QCI.4"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1814.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1812.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1812.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1811.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1807.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1806.Alias2 = "DRB.IpLateDl.4"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1806.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1806.X_SCM_Name = "DRB.IpLateDl.QCI.4"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1805.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1803.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1803.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1802.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1799.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1798.Alias2 = "DRB.UEActiveUl.6"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1798.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1798.X_SCM_Name = "DRB.UEActiveUl.QCI.6"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1797.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1795.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1795.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1794.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1789.Alias2 = "DRB.UEActiveDl.7"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1789.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1789.X_SCM_Name = "DRB.UEActiveDl.QCI.7"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1788.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1786.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1786.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1785.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1780.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1779.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1777.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1777.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1776.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1771.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1770.Alias2 = "HO.InterEnbOutSucc.Misc.OMIntervention"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1770.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1770.X_SCM_Name = "HO.InterEnbOutSucc.Cause.Misc.OMIntervention"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1768.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1768.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1767.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1762.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1761.Alias2 = "HO.InterEnbOutSucc.Protocol.Reject"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1761.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1761.X_SCM_Name = "HO.InterEnbOutSucc.Cause.Protocol.Reject"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1760.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1759.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1759.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1758.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1753.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1752.Alias2 = "HO.InterEnbOutSucc.RadioNetwork.InvalidCSGID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1752.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1752.X_SCM_Name = "HO.InterEnbOutSucc.Cause.RadioNetwork.InvalidCSGID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1751.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1749.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1744.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1743.Alias2 = "HO.InterEnbOutSucc.RadioNetwork.RadioInteractionFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1743.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1743.X_SCM_Name = "HO.InterEnbOutSucc.Cause.RadioNetwork.RadioInteractionFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1742.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1740.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1740.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1735.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1734.Alias2 = "HO.InterEnbOutSucc.RadioNetwork.UserInactivity"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1734.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1734.X_SCM_Name = "HO.InterEnbOutSucc.Cause.RadioNetwork.UserInactivity"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1733.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1731.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1731.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1730.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1726.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1725.Alias2 = "HO.InterEnbOutSucc.RadioNetwork.UnknownTargetID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1725.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1725.X_SCM_Name = "HO.InterEnbOutSucc.Cause.RadioNetwork.UnknownTargetID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1724.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1722.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1722.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1721.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1717.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1716.Alias2 = "HO.InterEnbOutSucc.RadioNetwork.SuccessHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1716.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1716.X_SCM_Name = "HO.InterEnbOutSucc.Cause.RadioNetwork.SuccessHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1715.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1713.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1713.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1712.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1708.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1707.Alias2 = "HO.InterEnbOutAtt.Protocol.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1707.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1707.X_SCM_Name = "HO.InterEnbOutAtt.Cause.Protocol.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1706.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1704.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1704.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1703.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1699.Alias2 = "HO.InterEnbOutAtt.Nas.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1699.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1699.X_SCM_Name = "HO.InterEnbOutAtt.Cause.Nas.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1698.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1696.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1696.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1695.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1690.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1689.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1687.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1687.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1686.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1681.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1680.Alias2 = "HO.InterEnbOutAtt.RadioNetwork.RadioResourcesUnavailable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1680.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1680.X_SCM_Name = "HO.InterEnbOutAtt.Cause.RadioNetwork.RadioResourcesUnavailable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1678.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1678.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1677.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1672.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1671.Alias2 = "HO.InterEnbOutAtt.RadioNetwork.HODesirable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1671.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1671.X_SCM_Name = "HO.InterEnbOutAtt.Cause.RadioNetwork.HODesirable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1670.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1669.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1669.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1668.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1663.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1662.Alias2 = "HO.InterEnbOutAtt.RadioNetwork.HOTargetNotAllowed"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1662.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1662.X_SCM_Name = "HO.InterEnbOutAtt.Cause.RadioNetwork.HOTargetNotAllowed"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1661.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1659.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1654.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1653.Alias2 = "HO.IntraEnbOutSucc.Misc.UnknownPLMN"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1653.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1653.X_SCM_Name = "HO.IntraEnbOutSucc.Cause.Misc.UnknownPLMN"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1652.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1650.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1650.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1645.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1644.Alias2 = "HO.IntraEnbOutSucc.Protocol.MessageStateNotCompatible"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1644.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1644.X_SCM_Name = "HO.IntraEnbOutSucc.Cause.Protocol.MessageStateNotCompatible"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1643.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1641.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1641.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1640.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1636.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1635.Alias2 = "HO.IntraEnbOutSucc.Transport.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1635.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1635.X_SCM_Name = "HO.IntraEnbOutSucc.Cause.Transport.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1634.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1632.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1632.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1631.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1627.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1626.Alias2 = "HO.IntraEnbOutSucc.RadioNetwork.MultipleERABID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1626.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1626.X_SCM_Name = "HO.IntraEnbOutSucc.Cause.RadioNetwork.MultipleERABID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1625.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1623.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1623.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1622.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1618.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1617.Alias2 = "HO.IntraEnbOutSucc.RadioNetwork.TAULoadBalancing"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1617.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1617.X_SCM_Name = "HO.IntraEnbOutSucc.Cause.RadioNetwork.TAULoadBalancing"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1616.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1614.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1614.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1613.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1609.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1608.Alias2 = "HO.IntraEnbOutSucc.RadioNetwork.MMEUES1APIDError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1608.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1608.X_SCM_Name = "HO.IntraEnbOutSucc.Cause.RadioNetwork.MMEUES1APIDError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1607.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1605.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1605.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1604.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1599.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1597.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1597.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1596.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1591.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1590.Alias2 = "HO.IntraEnbOutAtt.Misc.NotEnoughUserPlaneResources"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1590.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1590.X_SCM_Name = "HO.IntraEnbOutAtt.Cause.Misc.NotEnoughUserPlaneResources"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1588.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1588.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1587.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1582.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1581.Alias2 = "HO.IntraEnbOutAtt.Nas.CSGSubscriptionExpiry"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1581.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1581.X_SCM_Name = "HO.IntraEnbOutAtt.Cause.Nas.CSGSubscriptionExpiry"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1580.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1579.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1579.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1578.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1573.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1572.Alias2 = "HO.IntraEnbOutAtt.RadioNetwork.RedirectTo1xRTT"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1572.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1572.X_SCM_Name = "HO.IntraEnbOutAtt.Cause.RadioNetwork.RedirectTo1xRTT"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1571.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1569.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1564.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1563.Alias2 = "HO.IntraEnbOutAtt.RadioNetwork.InvalidQoSCombination"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1563.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1563.X_SCM_Name = "HO.IntraEnbOutAtt.Cause.RadioNetwork.InvalidQoSCombination"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1562.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1560.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1560.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1555.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1554.Alias2 = "HO.IntraEnbOutAtt.RadioNetwork.ResourceOptimisationHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1554.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1554.X_SCM_Name = "HO.IntraEnbOutAtt.Cause.RadioNetwork.ResourceOptimisationHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1553.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1551.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1551.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1550.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1546.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1545.Alias2 = "HO.IntraEnbOutAtt.RadioNetwork.TS1RELOCprep"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1545.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1545.X_SCM_Name = "HO.IntraEnbOutAtt.Cause.RadioNetwork.TS1RELOCprep"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1544.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1542.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1542.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1541.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1537.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1536.Alias2 = "HO.IntraEnbOutAtt.RadioNetwork.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1536.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1536.X_SCM_Name = "HO.IntraEnbOutAtt.Cause.RadioNetwork.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1535.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1533.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1533.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1532.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1528.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1527.Alias2 = "ERAB.SessionTimeQCI.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1527.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1527.X_SCM_Name = "ERAB.SessionTimeQCI.QCI.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1526.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1524.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1524.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1523.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1519.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1518.Alias2 = "ERAB.ModQoSFailNbr.Protocol.FalselyConstructedMessage"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1518.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1518.X_SCM_Name = "ERAB.ModQoSFailNbr.Cause.Protocol.FalselyConstructedMessage"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1517.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1515.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1515.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1514.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1509.Alias2 = "ERAB.ModQoSFailNbr.Nas.NormalRelease"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1509.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1509.X_SCM_Name = "ERAB.ModQoSFailNbr.Cause.Nas.NormalRelease"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1508.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1506.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1506.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1505.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1500.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1498.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1498.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1497.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1492.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1491.Alias2 = "ERAB.ModQoSFailNbr.RadioNetwork.ENBUES1APIDError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1491.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1491.X_SCM_Name = "ERAB.ModQoSFailNbr.Cause.RadioNetwork.ENBUES1APIDError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1490.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1489.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1489.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1488.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1483.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1482.Alias2 = "ERAB.ModQoSFailNbr.RadioNetwork.PartialHandover"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1482.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1482.X_SCM_Name = "ERAB.ModQoSFailNbr.Cause.RadioNetwork.PartialHandover"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1481.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1479.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1474.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1473.Alias2 = "ERAB.RelActNbr.8"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1473.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1473.X_SCM_Name = "ERAB.RelActNbr.QCI.8"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1472.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1470.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1470.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1465.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1464.Alias2 = "ERAB.RelFailNbr.Misc.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1464.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1464.X_SCM_Name = "ERAB.RelFailNbr.Cause.Misc.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1463.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1461.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1461.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1460.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1456.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1455.Alias2 = "ERAB.RelFailNbr.Nas.CSGSubscriptionExpiry"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1455.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1455.X_SCM_Name = "ERAB.RelFailNbr.Cause.Nas.CSGSubscriptionExpiry"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1454.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1452.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1452.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1451.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1447.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1446.Alias2 = "ERAB.RelFailNbr.RadioNetwork.RedirectTo1xRTT"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1446.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1446.X_SCM_Name = "ERAB.RelFailNbr.Cause.RadioNetwork.RedirectTo1xRTT"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1445.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1443.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1443.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1442.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1438.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1437.Alias2 = "ERAB.RelFailNbr.RadioNetwork.RadioResourcesUnavailable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1437.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1437.X_SCM_Name = "ERAB.RelFailNbr.Cause.RadioNetwork.RadioResourcesUnavailable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1436.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1434.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1434.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1433.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1429.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1428.Alias2 = "ERAB.RelFailNbr.RadioNetwork.HODesirable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1428.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1428.X_SCM_Name = "ERAB.RelFailNbr.Cause.RadioNetwork.HODesirable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1427.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1425.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1425.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1424.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1419.Alias2 = "ERAB.RelFailNbr.RadioNetwork.HOFailureInTarget"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1419.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1419.X_SCM_Name = "ERAB.RelFailNbr.Cause.RadioNetwork.HOFailureInTarget"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1418.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1416.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1416.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1415.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1410.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1409.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1407.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1407.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1406.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1401.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1400.Alias2 = "ERAB.RelEnbNbr.Protocol.Reject"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1400.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1400.X_SCM_Name = "ERAB.RelEnbNbr.Cause.Protocol.Reject"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1399.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1399.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1398.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1393.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1392.Alias2 = "ERAB.RelEnbNbr.RadioNetwork.InvalidCSGID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1392.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1392.X_SCM_Name = "ERAB.RelEnbNbr.Cause.RadioNetwork.InvalidCSGID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1391.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1389.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1384.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1383.Alias2 = "ERAB.RelEnbNbr.RadioNetwork.InvalidQoSCombination"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1383.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1383.X_SCM_Name = "ERAB.RelEnbNbr.Cause.RadioNetwork.InvalidQoSCombination"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1382.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1380.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1380.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1375.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1374.Alias2 = "ERAB.RelEnbNbr.RadioNetwork.ENBUES1APIDError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1374.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1374.X_SCM_Name = "ERAB.RelEnbNbr.Cause.RadioNetwork.ENBUES1APIDError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1373.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1371.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1371.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1370.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1366.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1365.Alias2 = "ERAB.RelEnbNbr.RadioNetwork.PartialHandover"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1365.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1365.X_SCM_Name = "ERAB.RelEnbNbr.Cause.RadioNetwork.PartialHandover"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1364.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1362.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1362.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1361.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1357.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1356.Alias2 = "ERAB.EstabTimeMax.5"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1356.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1356.X_SCM_Name = "ERAB.EstabTimeMax.QCI.5"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1355.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1353.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1353.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1352.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1348.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1347.Alias2 = "ERAB.EstabTimeMean.5"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1347.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1347.X_SCM_Name = "ERAB.EstabTimeMean.QCI.5"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1346.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1344.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1344.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1343.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1339.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1338.Alias2 = "ERAB.EstabAddFailNbr.Misc.HardwareFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1338.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1338.X_SCM_Name = "ERAB.EstabAddFailNbr.Cause.Misc.HardwareFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1337.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1335.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1335.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1334.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1329.Alias2 = "ERAB.EstabAddFailNbr.Nas.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1329.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1329.X_SCM_Name = "ERAB.EstabAddFailNbr.Cause.Nas.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1328.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1326.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1326.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1325.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1320.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1319.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1317.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1317.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1316.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1311.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1310.Alias2 = "ERAB.EstabAddFailNbr.RadioNetwork.HODesirable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1310.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1310.X_SCM_Name = "ERAB.EstabAddFailNbr.Cause.RadioNetwork.HODesirable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1308.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1308.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1307.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1302.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1301.Alias2 = "ERAB.EstabAddFailNbr.RadioNetwork.HOFailureInTarget"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1301.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1301.X_SCM_Name = "ERAB.EstabAddFailNbr.Cause.RadioNetwork.HOFailureInTarget"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1300.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1299.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1294.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1293.Alias2 = "ERAB.EstabInitFailNbr.Misc.UnknownPLMN"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1293.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1293.X_SCM_Name = "ERAB.EstabInitFailNbr.Cause.Misc.UnknownPLMN"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1292.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1290.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1290.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1285.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1284.Alias2 = "ERAB.EstabInitFailNbr.Protocol.IgnoreAndNotify"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1284.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1284.X_SCM_Name = "ERAB.EstabInitFailNbr.Cause.Protocol.IgnoreAndNotify"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1283.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1281.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1281.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1280.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1276.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1275.Alias2 = "ERAB.EstabInitFailNbr.RadioNetwork.X2HO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1275.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1275.X_SCM_Name = "ERAB.EstabInitFailNbr.Cause.RadioNetwork.X2HO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1274.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1272.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1272.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1271.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1267.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1266.Alias2 = "ERAB.EstabInitFailNbr.RadioNetwork.ResourceOptimisationHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1266.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1266.X_SCM_Name = "ERAB.EstabInitFailNbr.Cause.RadioNetwork.ResourceOptimisationHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1265.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1263.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1263.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1262.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1258.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1257.Alias2 = "ERAB.EstabInitFailNbr.RadioNetwork.HOTargetNotAllowed"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1257.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1257.X_SCM_Name = "ERAB.EstabInitFailNbr.Cause.RadioNetwork.HOTargetNotAllowed"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1256.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1254.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1254.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1253.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1249.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1248.Alias2 = "UECNTX.RelReq.Misc.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1248.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1248.X_SCM_Name = "UECNTX.RelReq.Cause.Misc.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1247.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1245.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1245.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1244.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1239.Alias2 = "UECNTX.RelReq.Protocol.IgnoreAndNotify"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1239.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1239.X_SCM_Name = "UECNTX.RelReq.Cause.Protocol.IgnoreAndNotify"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1238.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1236.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1236.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1235.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1230.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1229.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1227.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1227.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1226.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1221.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1220.Alias2 = "UECNTX.RelReq.RadioNetwork.RadioInterfaceProcedureFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1220.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1220.X_SCM_Name = "UECNTX.RelReq.Cause.RadioNetwork.RadioInterfaceProcedureFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1218.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1218.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1217.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1212.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1211.Alias2 = "UECNTX.RelReq.RadioNetwork.ENBUES1APIDError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1211.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1211.X_SCM_Name = "UECNTX.RelReq.Cause.RadioNetwork.ENBUES1APIDError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1210.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1209.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1209.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1208.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1203.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1202.Alias2 = "UECNTX.RelReq.RadioNetwork.PartialHandover"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1202.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1202.X_SCM_Name = "UECNTX.RelReq.Cause.RadioNetwork.PartialHandover"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1201.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1195.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1194.Alias2 = "RRC.ConnEstabTimeMax.Spare2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1194.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1194.X_SCM_Name = "RRC.ConnEstabTimeMax.Cause.Spare2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1193.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1191.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1191.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1190.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1186.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1185.Alias2 = "RRC.ConnEstabTimeMean.DelayTolerantAccess"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1185.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1185.X_SCM_Name = "RRC.ConnEstabTimeMean.Cause.DelayTolerantAccess"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1184.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1182.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1182.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1181.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1177.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1176.Alias2 = "RRC.ConnReEstabFail.ReConfigFail"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1176.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1176.X_SCM_Name = "RRC.ConnReEstabFail.Cause.ReConfigFail"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1175.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1173.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1173.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1172.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1168.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1167.Alias2 = "RRC.ConnEstabFail.DelayTolerantAccess"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1167.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1167.X_SCM_Name = "RRC.ConnEstabFail.Cause.DelayTolerantAccess"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1166.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1164.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1164.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1163.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1159.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1158.Alias2 = "RRC.ConnEstabAtt.Spare1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1158.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1158.X_SCM_Name = "RRC.ConnEstabAtt.Cause.Spare1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1157.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1155.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1155.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1154.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1149.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1149.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1149.X_SCM_Name = "CONTEXT.AttRelMme.CauseHoCancel"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1148.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1146.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1146.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1145.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1140.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1139.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1137.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1137.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1136.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1131.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1130.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1130.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1130.X_SCM_Name = "RRC.EffectiveConnMax"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1128.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1128.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1127.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1122.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1121.Alias2 = "ERAB.UsageNbrMax.8"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1121.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1121.X_SCM_Name = "ERAB.NbrMaxEstab.8"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1120.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1119.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1119.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1118.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1113.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1112.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1112.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1112.X_SCM_Name = "ERAB.NbrSuccInitEstab.9"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1111.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1109.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1104.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1103.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1103.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1103.X_SCM_Name = "ERAB.NbrSuccInitEstab"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1102.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1100.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1100.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1096.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1095.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1095.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1095.X_SCM_Name = "ERAB.NbrAttInitEstab.2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1094.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1092.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1092.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1091.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1087.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1086.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1086.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1086.X_SCM_Name = "PDCP.UpLastTtiOctDl.3"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1085.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1083.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1083.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1082.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1078.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1077.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1077.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1077.X_SCM_Name = "PDCP.UpLastTtiOctUl.4"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1076.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1074.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1074.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1073.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1069.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1068.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1068.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1068.X_SCM_Name = "PDCP.UpPktTotDelayDl.5"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1067.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1065.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1065.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1064.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1059.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1059.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1059.X_SCM_Name = "PDCP.ThrpTimeDL.6"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1058.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1056.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1056.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1055.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1050.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1049.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1047.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1047.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1046.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1041.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1040.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1040.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1040.X_SCM_Name = "RRU.DtchPrbAssnUl.2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1038.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1038.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1037.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1032.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1031.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1031.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1031.X_SCM_Name = "MAC.NbrRbDl.Tm9.RANK4BF"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1030.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1029.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1029.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1028.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1023.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1022.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1022.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1022.X_SCM_Name = "MAC.NbrRbDl.Tm3.SFBC"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1021.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1019.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1014.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1013.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1013.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1013.X_SCM_Name = "MAC.NbrTbUl.2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1012.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1010.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1010.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1005.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1004.Alias2 = "HO.IntraEnbOutSuccSum"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1004.Alias = "HO.SuccOutIntraEnb.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1004.X_SCM_Name = "HO.SuccOutIntraEnb.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1003.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1001.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1001.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1000.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.996.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.995.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.995.Alias = "cpe-pm-no-active-ue-rip-rept-total-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.995.X_SCM_Name = "CARR.NoActiveUeRIPReptTotalNbr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.994.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.992.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.992.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.991.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.987.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.986.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.986.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.986.X_SCM_Name = "UE.ActiveMeanDL"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.985.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.983.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.983.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.982.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.978.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.977.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.977.Alias = "cpe-pm-mpo-att-ho-inc-primary-plmn"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.977.X_SCM_Name = "MPO.AttHoIncPrimaryPLMN"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.976.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.974.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.974.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.973.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.969.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.968.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.968.Alias = "cpe-pm-max-temperature"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.968.X_SCM_Name = "EQPT.MaxTemperature"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.967.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.965.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.965.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.964.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.959.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.959.Alias = "cpe-pm-covg-vip-ue-core-area-gtp-rx-bytes"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.959.X_SCM_Name = "COVG.CoreIncGtpU.VipUe"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.958.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.956.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.956.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.955.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.950.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.949.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.947.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.947.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.946.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.941.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.940.Alias2 = "PHY.ULMaxNL.86"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.940.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.940.X_SCM_Name = "PHY.ULMaxNL.PRB86"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.938.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.938.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.937.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.932.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.931.Alias2 = "PHY.ULMaxNL.77"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.931.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.931.X_SCM_Name = "PHY.ULMaxNL.PRB77"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.930.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.929.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.929.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.928.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.923.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.922.Alias2 = "PHY.ULMaxNL.68"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.922.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.922.X_SCM_Name = "PHY.ULMaxNL.PRB68"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.921.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.919.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.914.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.913.Alias2 = "PHY.ULMaxNL.59"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.913.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.913.X_SCM_Name = "PHY.ULMaxNL.PRB59"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.912.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.910.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.910.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.905.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.904.Alias2 = "PHY.ULMaxNL.50"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.904.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.904.X_SCM_Name = "PHY.ULMaxNL.PRB50"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.903.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.901.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.901.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.900.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.897.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.896.Alias2 = "PHY.ULMaxNL.42"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.896.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.896.X_SCM_Name = "PHY.ULMaxNL.PRB42"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.895.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.893.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.893.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.892.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.888.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.887.Alias2 = "PHY.ULMaxNL.33"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.887.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.887.X_SCM_Name = "PHY.ULMaxNL.PRB33"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.886.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.884.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.884.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.883.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.879.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.878.Alias2 = "PHY.ULMaxNL.24"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.878.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.878.X_SCM_Name = "PHY.ULMaxNL.PRB24"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.877.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.875.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.875.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.874.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.869.Alias2 = "PHY.ULMaxNL.15"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.869.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.869.X_SCM_Name = "PHY.ULMaxNL.PRB15"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.868.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.866.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.866.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.865.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.860.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.859.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.857.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.857.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.856.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.851.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.850.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.850.Alias = "cpe-pm-cell-max-tx-power"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.850.X_SCM_Name = "PHY.CellMaxTxPower"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.848.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.848.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.847.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.842.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.841.Alias2 = "PHY.ULMeanNL.94"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.841.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.841.X_SCM_Name = "PHY.ULMeanNL.PRB94"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.840.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.839.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.839.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.838.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.833.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.832.Alias2 = "PHY.ULMeanNL.85"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.832.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.832.X_SCM_Name = "PHY.ULMeanNL.PRB85"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.831.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.829.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.824.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.823.Alias2 = "PHY.ULMeanNL.76"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.823.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.823.X_SCM_Name = "PHY.ULMeanNL.PRB76"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.822.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.820.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.820.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.815.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.814.Alias2 = "PHY.ULMeanNL.67"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.814.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.814.X_SCM_Name = "PHY.ULMeanNL.PRB67"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.813.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.811.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.811.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.810.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.806.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.805.Alias2 = "PHY.ULMeanNL.58"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.805.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.805.X_SCM_Name = "PHY.ULMeanNL.PRB58"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.804.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.802.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.802.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.801.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.798.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.797.Alias2 = "PHY.ULMeanNL.50"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.797.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.797.X_SCM_Name = "PHY.ULMeanNL.PRB50"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.796.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.794.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.794.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.793.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.789.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.788.Alias2 = "PHY.ULMeanNL.41"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.788.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.788.X_SCM_Name = "PHY.ULMeanNL.PRB41"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.787.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.785.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.785.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.784.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.779.Alias2 = "PHY.ULMeanNL.32"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.779.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.779.X_SCM_Name = "PHY.ULMeanNL.PRB32"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.778.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.776.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.776.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.775.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.770.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.769.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.767.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.767.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.766.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.761.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.760.Alias2 = "PHY.ULMeanNL.13"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.760.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.760.X_SCM_Name = "PHY.ULMeanNL.PRB13"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.758.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.758.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.757.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.752.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.751.Alias2 = "PHY.ULMeanNL.4"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.751.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.751.X_SCM_Name = "PHY.ULMeanNL.PRB4"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.750.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.749.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.749.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.748.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.743.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.742.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.742.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.742.X_SCM_Name = "PHY.NbrCqi11"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.741.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.739.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.734.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.733.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.733.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.733.X_SCM_Name = "PHY.NbrCqi2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.732.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.730.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.730.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.725.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.724.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.724.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.724.X_SCM_Name = "RRU.PdcchCceUtilRatio"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.723.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.721.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.721.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.720.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.716.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.715.Alias2 = "DRB.PdcpSduDropRateDl.5"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.715.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.715.X_SCM_Name = "PDCP.UpPktDiscardDl.5"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.714.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.712.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.712.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.711.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.707.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.706.Alias2 = "DRB.PdcpSduDelayDl.5"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.706.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.706.X_SCM_Name = "PDCP.UpPktDelayDl.5"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.705.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.703.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.703.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.702.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.699.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.698.Alias2 = "DRB.PdcpSduAirLossRateDl.7"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.698.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.698.X_SCM_Name = "PDCP.NbrPktLossDl.7"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.697.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.695.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.695.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.694.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.689.Alias2 = "DRB.IPThpDl.7"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.689.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.689.X_SCM_Name = "PDCP.NbrPktDl.7"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.688.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.686.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.686.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.685.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.680.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.679.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.677.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.677.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.676.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.671.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.670.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.670.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.670.X_SCM_Name = "PDCP.NbrPktUl.6"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.668.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.668.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.667.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.662.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.661.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.661.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.661.X_SCM_Name = "PDCP.UpOctDl.8"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.660.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.659.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.659.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.658.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.653.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.652.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.652.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.652.X_SCM_Name = "PDCP.UpOctUl.9"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.651.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.649.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.644.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.643.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.643.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.643.X_SCM_Name = "PDCP.UpOctUl"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.642.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.640.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.640.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.635.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.634.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.634.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.634.X_SCM_Name = "IRATHO.AttOutUtran"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.633.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.631.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.631.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.630.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.626.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.625.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.625.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.625.X_SCM_Name = "IRATHO.FailPrepOutGeran"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.624.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.622.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.622.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.621.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.617.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.616.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.616.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.616.X_SCM_Name = "HO.SuccOutPrepInterEnbX2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.615.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.613.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.613.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.612.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.608.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.607.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.607.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.607.X_SCM_Name = "HO.SuccOutPrepInterEnbS1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.606.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.604.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.604.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.603.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.599.Alias2 = "UECNTX.RelReq.RadioNetwork.UserInactivity"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.599.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.599.X_SCM_Name = "CONTEXT.AttRelEnb.CauseUserInactivity"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.598.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.596.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.596.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.595.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.590.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.589.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.587.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.587.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.586.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.581.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.580.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.580.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.580.X_SCM_Name = "ERAB.HoFail.9"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.578.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.578.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.577.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.572.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.571.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.571.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.571.X_SCM_Name = "ERAB.HoFail"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.570.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.569.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.569.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.568.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.563.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.562.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.562.Alias = "ERAB.NbrReqRelEnb.Normal.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.562.X_SCM_Name = "ERAB.NbrReqRelEnb.Normal.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.561.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.559.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.554.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.553.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.553.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.553.X_SCM_Name = "ERAB.NbrSuccEstab.4"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.552.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.550.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.550.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.545.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.544.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.544.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.544.X_SCM_Name = "ERAB.NbrAttEstab.4"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.543.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.541.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.541.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.540.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.536.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.535.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.535.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.535.X_SCM_Name = "ERAB.NbrHoInc.4"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.534.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.532.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.532.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.531.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.527.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.526.Alias2 = "ERAB.UsageNbrMean.6"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.526.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.526.X_SCM_Name = "ERAB.NbrMeanEstab.6"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.525.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.523.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.523.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.522.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.518.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.517.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.517.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.517.X_SCM_Name = "ERAB.NbrReqRelEnb.8"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.516.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.514.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.514.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.513.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.509.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.508.Alias2 = "ERAB.RelEnbNbr.RadioNetwork.RadioInterfaceProcedureFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.508.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.508.X_SCM_Name = "ERAB.NbrReqRelEnb.RadioInterfaceFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.507.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.505.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.505.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.504.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.499.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.497.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.497.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.496.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.491.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.490.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.490.Alias = "cpe-pm-covg-middle-area-ue-total-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.490.X_SCM_Name = "COVG.MiddleUeTotalNbr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.488.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.488.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.487.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.482.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.481.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.481.Alias = "cpe-pm-covg-core-area-gtp-tx-bytes"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.481.X_SCM_Name = "COVG.CoreOutGtpU"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.480.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.479.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.479.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.478.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.473.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.472.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.472.Alias = "cpe-pm-rlf-covg-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.472.X_SCM_Name = "RLF.CovgNbr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.471.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.469.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.464.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.463.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.463.Alias = "cpe-pm-mro-pingpong-ho-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.463.X_SCM_Name = "MRO.PingpongHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.462.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.460.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.460.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.455.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.454.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.454.Alias = "cpe-pm-anr-add-utran-neigh-fail-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.454.X_SCM_Name = "ANR.FailNbr.Utran"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.453.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.451.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.451.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.450.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.446.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.445.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.445.Alias = "cpe-pm-rach-all-ded-preamble-used-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.445.X_SCM_Name = "RRU.RachAllDedicatedPreamblesAssigned"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.444.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.442.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.442.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.441.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.437.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.436.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.436.Alias = "cpe-pm-rach-ue-sent-preamble-v0-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.436.X_SCM_Name = "RRU.RachPreambleUeSentDist.Good"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.435.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.433.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.433.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.432.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.428.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.427.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.427.Alias = "cpe-pm-rab-modi-fail-nr-msgie-err"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.427.X_SCM_Name = "ERAB.ModQoSFailNbr.AbstractSyntaxError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.426.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.424.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.424.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.423.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.419.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.418.Alias2 = "ERAB.ModQoSFailNbr.RadioNetwork.RadioInteractionFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.418.Alias = "cpe-pm-rab-modi-fail-nr-iwop"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.418.X_SCM_Name = "ERAB.ModQoSFailNbr.InteractionWithOtherProc"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.417.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.415.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.415.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.414.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.409.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.409.Alias = "cpe-pm-mme-rel-rab-nr-usrinactivity"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.409.X_SCM_Name = "ERAB.RelMmeNbr.UserInactivity"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.408.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.406.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.406.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.405.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.400.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.398.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.398.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.397.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.392.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.391.Alias2 = "ERAB.EstabAddFailNbr.RadioNetwork.RadioResourcesUnavailable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.391.Alias = "cpe-pm-init-addrab-est-fail-notradio"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.391.X_SCM_Name = "ERAB.EstabAddFailNbr.RadioResNotAvailable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.390.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.389.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.389.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.388.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.383.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.382.Alias2 = "ERAB.EstabAddFailNbr.RadioNetwork.MultipleERABID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.382.Alias = "cpe-pm-init-addrab-est-fail-multi-rabid"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.382.X_SCM_Name = "ERAB.EstabAddFailNbr.MultipleErabId "
+ Device.PeriodicStatistics.SampleSet.1.Parameter.381.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.379.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.374.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.373.Alias2 = "ERAB.EstabInitFailNbr.Protocol.TransferSyntaxError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.373.Alias = "cpe-pm-init-rab-est-fail-nr-transsynt-err"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.373.X_SCM_Name = "ERAB.EstabInitFailNbr.TransferSyntaxError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.372.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.370.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.370.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.365.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.364.Alias2 = "RRC.ConnMean"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.364.Alias = "cpe-pm-ue-conn-avg-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.364.X_SCM_Name = "RRC.ConnMean"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.363.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.361.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.361.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.360.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.356.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.355.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.355.Alias = "cpe-pm-rrc-recfg-fail-nr-paraerr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.355.X_SCM_Name = "RRC.FailConnReconfig.ParameterError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.354.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.352.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.352.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.351.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.347.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.346.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.346.Alias = "cpe-pm-rrc-recfg-fail-nr-cellbloc"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.346.X_SCM_Name = "RRC.FailConnReconfig.CellBlock"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.345.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.343.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.343.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.342.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.338.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.337.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.337.Alias = "cpe-pm-rrc-recfg-succ-nr-srscfg"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.337.X_SCM_Name = "RRC.SuccConnReconfig.SrsCfg"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.336.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.334.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.334.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.333.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.329.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.328.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.328.Alias = "cpe-pm-rrc-recfg-req-nr-rabmodi"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.328.X_SCM_Name = "RRC.AttConnReconfig.RabModify"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.327.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.325.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.325.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.324.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.319.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.319.Alias = "cpe-pm-rrc-reest-fail-tolnr-installc"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.319.X_SCM_Name = "RRC.ConnReEstabFail.InstAllocFail"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.318.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.316.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.316.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.315.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.310.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.309.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.307.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.307.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.306.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.301.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.300.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.300.Alias = "cpe-pm-rrc-estab-fail-nr-srsallc"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.300.X_SCM_Name = "RRC.FailConnEstab.SrsAllocFail"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.299.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.299.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.298.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.293.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.292.Alias2 = "RRC.ConnEstabAtt.MoSignalling"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.292.Alias = "cpe-pm-rrc-estab-req-nr-mosig"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.292.X_SCM_Name = "RRC.AttConnEstab.MoSignalling"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.291.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.289.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.284.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.283.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.283.Alias = "cpe-pm-sctpasso-cong-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.283.X_SCM_Name = "SIG.NbrSctpCongestion"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.282.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.280.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.280.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.275.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.274.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.274.Alias = "cpe-pm-recv-abort-nr-cookie-recv-shutdwn"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.274.X_SCM_Name = "SIG.SctpAbort.CookieRcvdShutdown"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.273.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.271.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.271.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.270.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.266.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.265.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.265.Alias = "cpe-pm-recv-abort-nr-inval-stream-iden"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.265.X_SCM_Name = "SIG.SctpAbort.StreamIdInvalid"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.264.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.262.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.262.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.261.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.257.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.256.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.256.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.256.X_SCM_Name = "MAC.NbrTbDl.Tm8"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.255.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.253.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.253.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.252.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.248.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.247.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.247.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.247.X_SCM_Name = "MAC.NbrTbDl.Rank1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.246.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.244.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.244.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.243.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.239.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.238.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.238.Alias = "cpe-pm-mac-dl-tr-init-tb-num-64qam"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.238.X_SCM_Name = "MAC.NbrInitTbDl.64Qam"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.237.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.235.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.235.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.234.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.229.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.229.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.229.X_SCM_Name = "MAC.NbrSuccInitTbUl"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.228.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.226.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.226.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.225.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.220.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.219.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.217.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.217.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.216.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.211.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.210.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.210.Alias = "cpe-pm-2ger-ho-pre-fail-nr-nores"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.210.X_SCM_Name = "SRVCC.FailPrepOutGeran.NoResponse"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.208.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.208.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.207.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.202.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.201.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.201.Alias = "cpe-pm-volte-interenb-x2ho-cancel-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.201.X_SCM_Name = "VoLTE.HO.CancelOutInterEnbX2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.200.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.199.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.194.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.193.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.193.Alias = "cpe-pm-volte-interenb-x2ho-req-nr-n-intrafreq"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.193.X_SCM_Name = "VoLTE.HO.AttOutInterEnbX2.IntraFreqN"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.192.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.190.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.190.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.185.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.184.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.184.Alias = "cpe-pm-volte-interenb-s1ho-pre-succ-nr-intrafreq"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.184.X_SCM_Name = "VoLTE.HO.SuccOutPrepInterEnbS1.IntraFreq"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.183.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.181.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.181.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.180.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.176.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.175.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.175.Alias = "cpe-pm-csfb-ctxt-modi-req-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.175.X_SCM_Name = "CONTEXT.AttMod.Csfb"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.174.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.172.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.172.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.171.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.167.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.166.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.166.Alias = "cpe-pm-ho-fail-rrc-restart"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.166.X_SCM_Name = "HO.FailOut.RRCReConn"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.165.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.163.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.163.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.162.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.158.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.157.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.157.Alias = "cpe-pm-intrasys-intrafreq-ho-succ-nr-const"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.157.X_SCM_Name = "HO.SuccOutIntraFreq.OMC"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.156.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.154.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.154.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.153.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.149.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.148.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.148.Alias = "cpe-pm-intrasys-intrafreq-ho-req-nr-wl"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.148.X_SCM_Name = "HO.OutAttIntraFreq.Radio"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.147.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.145.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.145.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.144.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.139.Alias2 = "DRB.PdcpSduBitrateUl.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.139.Alias = "cpe-pm-pdcp-ulup-send-q1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.139.X_SCM_Name = "DRB.PdcpSduBitLenUl.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.138.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.136.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.136.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.135.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.130.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.129.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.127.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.127.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.126.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.121.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.120.Alias2 = "ERAB.ModQoSAttNbr.5"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.120.Alias = "cpe-pm-rab-att-modi-nr-q5"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.120.X_SCM_Name = "ERAB.NbrAttMod.5"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.118.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.118.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.117.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.112.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.111.Alias2 = "ERAB.RelSuccNbr.9"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.111.Alias = "cpe-pm-rab-mme-succrel-nr-q9"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.111.X_SCM_Name = "ERAB.RelSuccNbr.9"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.110.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.109.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.109.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.108.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.103.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.102.Alias2 = "ERAB.RelAttNbr.5"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.102.Alias = "cpe-pm-rab-mme-attrel-nr-q5"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.102.X_SCM_Name = "ERAB.RelAttNbr.5"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.101.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.99.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.99.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.98.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.93.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.92.Alias2 = "ERAB.RelEnbNbr.8"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.92.Alias = "cpe-pm-rab-enb-rel-nr-q8"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.92.X_SCM_Name = "ERAB.RelEnbNbr.8 "
+ Device.PeriodicStatistics.SampleSet.1.Parameter.91.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.89.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.84.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.83.Alias2 = "ERAB.EstabAddAttNbr.9"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.83.Alias = "cpe-pm-add-rab-att-nr-q9"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.83.X_SCM_Name = "ERAB.EstabAddAttNbr.9"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.82.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.80.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.80.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.75.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.74.Alias2 = "ERAB.EstabAddSuccNbr.4"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.74.Alias = "cpe-pm-add-rab-succ-nr-q4"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.74.X_SCM_Name = "ERAB.EstabAddSuccNbr.4"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.73.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.71.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.71.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.70.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.66.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.65.Alias2 = "ERAB.EstabInitAttNbr.9"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.65.Alias = "cpe-pm-init-rab-att-nr-q9"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.65.X_SCM_Name = "ERAB.EstabInitAttNbr.9"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.64.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.62.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.62.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.61.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.57.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.56.Alias2 = "ERAB.EstabInitSuccNbr.4"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.56.Alias = "cpe-pm-init-rab-succ-nr-q4"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.56.X_SCM_Name = "ERAB.EstabInitSuccNbr.4"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.55.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.53.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.53.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.52.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.48.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.47.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.47.Alias = "cpe-pm-iot-v4-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.47.X_SCM_Name = "CARR.IOT.41To50"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.46.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.44.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.44.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.43.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.39.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.38.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.38.Alias = "cpe-pm-ip-tx-pkt"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.38.X_SCM_Name = "EQPT.MacPktSent"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.37.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.35.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.35.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.34.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.29.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.29.Alias = "cpe-pm-redir-utran-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.29.X_SCM_Name = "RRC.UtranRedirectAttNbr.Csfb"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.28.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.26.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.26.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.25.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.20.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.19.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.17.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.17.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.16.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.11.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.10.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.10.Alias = "cpe-pm-inc-ho-succ-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.10.X_SCM_Name = "HO.SuccIncNbr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.9.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.9.Alias = "cpe-pm-inc-ho-rab-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.9.X_SCM_Name = "ERAB.SuccIncHONbr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.8.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.6.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.6.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.5.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.0.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.0.Parameter.0.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.0.Parameter.0.Alias = ""
+ Device.PeriodicStatistics.SampleSet.0.Parameter.0.X_SCM_Name = ""
+ Device.PeriodicStatistics.MinSampleInterval = 0
+ Device.Firewall.Chain.1.Rule.2.Target = "DSCP"
+ Device.Firewall.Chain.1.Name = " -A POSTROUTING -t mangle "
+ Device.Firewall.Chain.0.Rule.0.DSCP = -1
+ Device.Firewall.Chain.0.RuleNumberOfEntries = 0
+ Device.Firewall.Level.0.Name = ""
+ Device.SmartCardReaders.SmartCardReader.1.SmartCard.Type = ""
+ Device.DHCPv6.Client.1.SentOption.1.Alias = ""
+ Device.DHCPv6.Client.1.ReceivedOption.0.Tag = 0
+ Device.DHCPv6.Client.1.RequestedOptions = "17"
+ Device.DHCPv4.Client.1.SentOption.0.Enable = 0
+ Device.DHCPv4.Client.0.ReqOption.0.Order = 1
+ Device.DHCPv4.Client.0.SentOption.0.Tag = 1
+ Device.DHCPv4.Client.0.ReqOptionNumberOfEntries = 0
+ Device.DNS.Client.Server.0.Type = "DHCPv4"
+ Device.DNS.Client.ServerNumberOfEntries = 4
+ Device.Routing.Router.1.IPv6Forwarding.0.ForwardingPolicy = -1
+ Device.Routing.Router.0.IPv6ForwardingNumberOfEntries = 1
+ Device.IP.Diagnostics.IPPing.AverageResponseTimeDetailed = 0
+ Device.IP.Interface.5.Alias = ""
+ Device.IP.Interface.4.IPv6Address.0.Origin = "Static"
+ Device.IP.Interface.4.MaxMTUSize = 1500
+ Device.IP.Interface.3.IPv6Address.1.Origin = "Static"
+ Device.IP.Interface.2.IPv6Address.2.Origin = ""
+ Device.IP.Interface.2.Enable = 0
+ Device.IP.Interface.1.IPv4Address.0.SubnetMask = "255.255.255.0"
+ Device.IP.Interface.1.IPv4Address.0.DefaultGateway = ""
+ Device.IP.Interface.0.LowerLayers = ""
+ Device.IP.Interface.0.Name = ""
+ Device.IP.IPv6Enable = 0
+ Device.IP.X_SCM_NetworkDetectSuccType = "0"
+ Device.Ethernet.VLANTermination.0.X_SCM_VLANQOS = 0
+ Device.Ethernet.VLANTermination.0.Enable = 0
+ Device.Ethernet.Interface.2.X_SCM_SignTransMediaMode = 0
+ Device.Ethernet.Interface.2.DuplexMode = "Auto"
+ Device.Ethernet.Interface.2.LowerLayers = ""
+ Device.Ethernet.Interface.2.Name = "eth1"
+ Device.Ethernet.Interface.1.X_SCM_SignTransMedia = "Electric"
+ Device.Ethernet.Interface.0.MaxBitRate = -1
+ Device.Time.NtpWaitServer = 10
+ Device.Time.LocalTimeZone = "CST-8"
+ Device.Time.NTPServer1 = "pool.ntp.org"
+ Device.ManagementServer.NextHopMACAddress = ""
+ Device.ManagementServer.NATDetected = 0
+ Device.ManagementServer.STUNMinimumKeepAlivePeriod = 0
+ Device.DeviceInfo.Location.1.DataObject = ""
+ Device.DeviceInfo.VendorLogFile.1.X_SCM_LogControl.X_SCM_TraceDuration = 3600
+ Device.DeviceInfo.TemperatureStatus.TemperatureSensor.1.HighAlarmTime = -
+ Device.DeviceInfo.TemperatureStatus.TemperatureSensor.1.X_SCM_HighAlarmPolicy = 0
+ Device.DeviceInfo.TemperatureStatus.TemperatureSensor.1.HighAlarmValue = 85
+ Device.DeviceInfo.FirstUseDate = 2021-08-17T14:19:15+0800
+ Device.DeviceInfo.AdditionalHardwareVersion = ""
+ Device.Services.FAPService.1.Transport.Packet.X_SCM_DSCP = "0x04"
+ Device.Services.FAPService.1.Transport.Packet.X_SCM_BytesRcv = 0
+ Device.Services.FAPService.1.Transport.RealTime.Perf.LostFarEndPackets = 0
+ Device.Services.FAPService.1.Transport.RealTime.BytesReceived = 0
+ Device.Services.FAPService.1.Transport.RealTime.RTCPEnable = 0
+ Device.Services.FAPService.1.Transport.SCTP.Assoc.0.Status = ""
+ Device.Services.FAPService.1.Transport.SCTP.X_SCM_S1apSctpRetriesCountForAlarm = 5
+ Device.Services.FAPService.1.Transport.SCTP.X_SCM_MaxNumOutBoundStream = 10
+ Device.Services.FAPService.1.Transport.SCTP.X_SCM_NegAbortFlag = 0
+ Device.Services.FAPService.1.Transport.SCTP.RTOMax = 10000
+ Device.Services.FAPService.1.Transport.SCTP.RTOInitial = 2000
+ Device.Services.FAPService.1.REM.LTE.Cell.0.BCCH.X_SCM_NeighborGSMList.0.X_SCM_bandIndicator = ""
+ Device.Services.FAPService.1.REM.LTE.Cell.0.BCCH.X_SCM_NeighborGSMList.0.X_SCM_startARFCN = 0
+ Device.Services.FAPService.1.REM.LTE.Cell.0.BCCH.X_SCM_IsSIb2Decoded = 0
+ Device.Services.FAPService.1.REM.LTE.Cell.0.BCCH.MaxPLMNListEntries = 16
+ Device.Services.FAPService.1.REM.LTE.Cell.0.BCCH.CSGIndication = 0
+ Device.Services.FAPService.1.REM.LTE.Cell.0.RF.X_SCM_InterFreqListNumberOfEntries = 0
+ Device.Services.FAPService.1.REM.LTE.Cell.0.RF.RSRP = -1
+ Device.Services.FAPService.1.REM.LTE.X_SCM_EARFCN_SON_Algo.X_SCM_NoneNeighbor_Weight = 4
+ Device.Services.FAPService.1.REM.LTE.X_SCM_PTP_Cfg.X_SCM_PTPConfigEngineAddParam = ""
+ Device.Services.FAPService.1.REM.LTE.X_SCM_PTP_Cfg.X_SCM_PTPConfigUnicastEnable = 0
+ Device.Services.FAPService.1.REM.LTE.X_SCM_PTP_Cfg.X_SCM_PTPConfigUseSysLog = 0
+ Device.Services.FAPService.1.REM.LTE.X_SCM_PTP_Cfg.X_SCM_PTPConfigLogMinDelayReqInterval = 0
+ Device.Services.FAPService.1.REM.LTE.X_SCM_PTP_Cfg.X_SCM_PTPConfigLogSyncInterval = 0
+ Device.Services.FAPService.1.REM.LTE.X_SCM_PTP_Cfg.X_SCM_PTPConfigLogAnnounceInterval = 1
+ Device.Services.FAPService.1.REM.LTE.X_SCM_RSSIScan.X_SCM_RSSIList = "43590,10,-93;43690,10,-92;43790,10,-87;43890,10,-92;43990,10,-92;44090,10,-92;44190,10,-92;44290,10,-92;44390,10,-93;44490,10,-93"
+ Device.Services.FAPService.1.REM.LTE.X_SCM_RSSIScan.X_SCM_Range = ""
+ Device.Services.FAPService.1.REM.LTE.X_SCM_RSSIScan.X_SCM_Enable = 0
+ Device.Services.FAPService.1.REM.LTE.X_SCM_FrequencyListByPri = "43800,44000"
+ Device.Services.FAPService.1.REM.LTE.X_SCM_FilterCellTypeForSync = 0
+ Device.Services.FAPService.1.REM.LTE.X_SCM_CellUpEarfcnThresholdRSSI = 0
+ Device.Services.FAPService.1.REM.LTE.X_SCM_CellThresRSRPToSelFreq = -115
+ Device.Services.FAPService.1.REM.LTE.X_SCM_WorkMethodOutOfSync = 0
+ Device.Services.FAPService.1.REM.LTE.X_SCM_ScanNumOfSyncSourceList = 0
+ Device.Services.FAPService.1.REM.LTE.X_SCM_CellInterferenceRSRPThreshold = -80
+ Device.Services.FAPService.1.REM.LTE.X_SCM_PCISelectAlg = "PreferCellAutoSelect"
+ Device.Services.FAPService.1.REM.LTE.InServiceHandling = ""
+ Device.Services.FAPService.1.REM.X_SCM_tfcsManagerConfig.ntpSyncEnable = 1
+ Device.Services.FAPService.1.REM.X_SCM_tfcsManagerConfig.syncMode = "TIME"
+ Device.Services.FAPService.1.REM.X_SCM_tfcsManagerConfig.srcSwitch = 0
+ Device.Services.FAPService.1.REM.X_SCM_NlSync.SyncedPCI = -1
+ Device.Services.FAPService.1.REM.X_SCM_NlSync.MaxCellInfoEntries = 8
+ Device.Services.FAPService.1.REM.UMTS.X_SCM_TDSCDMA.Cell.0.X_SCM_RF.0.PCCPCHRSCP = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborListInUse2.LTECell.0.EnbType = ""
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborListInUse.InterRATCell.CDMA2000.0.ReferenceSignalPower = ""
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborListInUse.InterRATCell.CDMA2000.0.ThreshXLowUTRA = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborListInUse.InterRATCell.CDMA2000.0.ThreshServingLow = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborListInUse.InterRATCell.CDMA2000.0.IsActive = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborListInUse.InterRATCell.CDMA2000.0.Scene2NumberOfEntries = 2
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborListInUse.InterRATCell.CDMA2000.0.ARFCN = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborListInUse.InterRATCell.GSM.0.PLMNID = ""
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborListInUse.InterRATCell.UMTS.0.PCPICHScramblingCode = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborListInUse.InterRATCell.UMTS.0.RAC = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborListInUse.InterRATCell.MaxUMTSEntries = 32
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborListInUse.LTECell.0.EnbType = ""
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.X_SCM_NR.0.EARFCNUL = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.X_SCM_NR.0.PLMNID = ""
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.CDMA2000.1.BandClass = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.GSM.0.X_SCM_RSSI = 64
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.GSM.0.X_SCM_VOIP_CAPABLE = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.UMTS.0.X_SCM_ECNO = 50
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.UMTS.0.PCPICHTxPower = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.UMTS.0.UARFCNUL = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.UMTS.0.LAC = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.UMTS.0.CID = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.UMTS.0.RNCID = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.UMTSNumberOfEntries = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.X_SCM_CSFBSwitch = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.LTECell.0.X_SCM_PRACH_ZERO_CORRELATION_ZONE_CONFIG = 15
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.LTECell.0.CIO = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.LTECell.0.EUTRACarrierARFCN = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B2MeasureCtrl.2.MaxReportCells = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.MaxReportCells"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B1MeasureCtrl.1.B1ThresholdGERAN = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B1ThresholdGERAN"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B1MeasureCtrl.0.MeasurePurpose = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.ReportAmount = 8
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.MeasQuantityCDMA2000 = "PilotStrength"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B1ThresholdUTRARSCP = 10
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.QoffsetUTRA = ".QoffsettUTRA"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.X_SCM_EnableMeasUTRAOperate = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.X_SCM_A2ForBlindRedirection.MaxReportCells = 8
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.X_SCM_A2ForBlindRedirection.ReportQuantity = "Both"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.X_SCM_A2ForIRATPS.Hysteresis = "0"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.X_SCM_A2ForIRATCS.TimeToTrigger = "480"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A5MeasureCtrl.1.TriggerQuantity = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.TriggerQuantity"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A5MeasureCtrl.1.A5Threshold2RSRQ = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A5Threshold2RSRQ"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A5MeasureCtrl.0.TimeToTrigger = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.TimeToTrigger"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A4MeasureCtrl.1.TimeToTrigger = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.TimeToTrigger"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A4MeasureCtrl.0.ReportQuantity = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.ReportQuantity"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A4MeasureCtrl.0.MaxReportCells = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.MaxReportCells"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A3MeasureCtrl.2.TimeToTrigger = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.TimeToTrigger"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A3MeasureCtrl.2.ReportOnLeave = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.ReportOnLeave"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A3MeasureCtrl.1.ReportQuantity = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.ReportQuantity"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A3MeasureCtrl.1.MaxReportCells = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.MaxReportCells"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A2MeasureCtrl.4.TriggerQuantity = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.TriggerQuantity"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A2MeasureCtrl.3.TimeToTrigger = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.TimeToTrigger"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A2MeasureCtrl.2.ReportQuantity = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.ReportQuantity"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A2MeasureCtrl.2.MaxReportCells = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.MaxReportCells"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A1MeasureCtrl.3.ReportQuantity = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.ReportQuantity"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A1MeasureCtrl.3.MaxReportCells = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.MaxReportCells"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A1MeasureCtrl.0.MeasurePurpose = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A1MeasureCtrl.0.A1ThresholdRSRP = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A1ThresholdRSRP"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A5MeasureCtrlNumberOfEntries = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.ReportInterval = 240
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.X_SCM_PingpongHOUeStayedTime = 5
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.X_SCM_INTRA_ANR_A3Offset = 5
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.X_SCM_INTER_A5Threshold2RSRQ = 25
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A2ThresholdRSRP = 35
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A1ThresholdRSRQ = 25
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.CDMA2000.X_SCM_ue_generic_cdma2000_params.X_SCM_rer_mode_supported = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.CDMA2000.X_SCM_ue_generic_cdma2000_params.X_SCM_imsi_t_supported = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.CDMA2000.X_SCM_ue_generic_cdma2000_params.X_SCM_meid_reqd = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.CDMA2000.X_SCM_ue_generic_cdma2000_params.X_SCM_pref_msid_type = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.CDMA2000.CDMA2000Band.0.CellReselectionPriority = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.GERAN.X_SCM_ThreshXHigh = 7
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.UTRA.UTRANFDDFreq.0.PMaxUTRA = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.UTRA.UTRANFDDFreq.0.QRxLevMin = "-60"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.UTRA.UTRANFDDFreq.0.UTRACarrierARFCN = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.UTRA.UTRANFDDFreq.0.Alias = ""
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.InterFreq.Carrier.0.TReselectionEUTRASFMedium = 100
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.InterFreq.Carrier.0.Alias = ""
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IntraFreq.X_SCM_ThreshServingLowQRel9 = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IntraFreq.X_SCM_QQualMinRel9Sib3 = -18
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.Common.IntraFreqReselection = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.Common.X_SCM_QoffsetCell = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.Common.QHystSFMedium = -4
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.Common.Qhyst = "4"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.CellRestriction.X_SCM_CongestionCtrl.1.X_SCM_HysteresisUeNum = 5
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.CellRestriction.X_SCM_CongestionCtrl.0.X_SCM_BarringFactor = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.RRCTimers.T304IRAT = ""
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.RLC.X_SCM_UMDRB.0.X_SCM_DL_ReorderTimer = 40
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.RLC.X_SCM_UMDRB.0.X_SCM_UL_snFieldLength = 5
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.RLC.SRB2.TPollRetransmit = "80"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.RLC.SRB1.DefaultConfiguration = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_PDCP.X_SCM_ROHC.7.X_SCM_QCI = 7
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_PDCP.X_SCM_ROHC.5.X_SCM_ROHCEnabled = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_PDCP.X_SCM_ROHC.2.X_SCM_Profiles = "000000010"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_PDCP.X_SCM_ROHC.2.X_SCM_MaxCid = 15
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_PDCP.X_SCM_ROHCMasterEnabled = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.ULSCH.X_SCM_ThroughputTimer = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.ULSCH.X_SCM_TimeAlignmentTimerComm = 7
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.ULSCH.TTIBundling = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileList.9.OnDurationTimer = "10"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileList.8.DRXInactivityTimer = "40"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileList.8.DRXEnabled = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileList.8.QCI = 8
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileList.7.ShortDRXCycle = "32"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileList.5.LongDRXCycle = "640"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileList.4.DRXShortCycleTimer = "4"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileList.3.DRXRetransmissionTimer = "2"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileList.1.ONDurationTimer = ".OnDurationTimer"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.DRXShortCycleTimer = ""
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.RACH.X_SCM_DedicatePreambleNumber2 = 30
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.RACH.X_SCM_DedicatePreambleNumber = 30
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.X_SCM_Scheduler.X_SCM_TpcSinrLowestThreshold = 118
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.X_SCM_Scheduler.X_SCM_UlBlerSampleNum = 10
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.X_SCM_Scheduler.X_SCM_MaxDlBwPerUe = 100
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.X_SCM_Scheduler.X_SCM_PFS_UL_TPT_Coefficient = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.X_SCM_Scheduler.X_SCM_MaxUePerDlTti = 4
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.X_SCM_Scheduler.X_SCM_MaxUePerDlSf = 4
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.PHY.ULPowerControl.X_SCM_P_SRS_OFFSET = "7"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.PHY.ULPowerControl.X_SCM_P0_UE_PUCCH = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.PHY.ULPowerControl.DeltaFPUCCHFormat2 = 2
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.PHY.PUSCH.HoppingMode = "0"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.PHY.PUCCH.X_SCM_PUCCH_CQI_MODE = "0001"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.PHY.SRS.SRSBandwidthConfig = "0"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.PHY.PaParam.PUCCHPowerCtrlSwitch = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.PHY.AntennaInfo.X_SCM_MultiAntRecvAlgo = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.PHY.AntennaInfo.AntennaPortsCount = 2
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.RF.X_SCM_QCOM.RFPath.0.bandList_2 = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.RF.X_SCM_QCOM.RFPath.0.pathId = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.RF.FreqBandIndicator = 43
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.S1AP.X_SCM_InitialCtxReqTimer = "10000"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Common.X_SCM_CellIdentity2 = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_X2AP.X2BlackList.0.Enable = 0
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.QoS.9.VLANTag = 0
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.QoS.8.Alias = "-"
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.QoS.7.QCI = 7
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.QoS.5.Enable = 0
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.QoS.2.Priority = 4
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.QoS.0.DSCP = 0
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.QoS.0.PacketDelayBudget = 50
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.QoS.0.Type = "Non-GBR"
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.PLMNList.1.X_SCM_Ignore_RegisterMME_IE = 0
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.PLMNList.0.X_SCM_Selected_MME_ByPriority = 1
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.PLMNList.0.X_SCM_DEDICATED_PLMN_USER_RESOURCES = 0
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.PLMNList.0.Alias = ""
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.QoSNumberOfEntries = 9
+ Device.Services.FAPService.1.CellConfig.LTE.Tunnel.0.TunnelRef = "Device.IP.Interface.1.IPv4Address.1."
+ Device.Services.FAPService.1.CellConfig.LTE.X_SCM_ULTRASON_CONFIG.TPMConfig.TPMEnabled = 1
+ Device.Services.FAPService.1.CellConfig.LTE.S1UNumberOfEntries = 0
+ Device.Services.FAPService.1.AccessMgmt.X_SCM_TDSCDMA.LocalIPAccess.Rules.0.Interface = ""
+ Device.Services.FAPService.1.AccessMgmt.X_SCM_TDSCDMA.LocalIPAccess.Rules.0.DestIPAddress = ""
+ Device.Services.FAPService.1.AccessMgmt.X_SCM_TDSCDMA.LocalIPAccess.Rules.0.Enable = 0
+ Device.Services.FAPService.1.AccessMgmt.LTE.LocalIPAccess.X_SCM_LIPADestSubnet = "0"
+ Device.Services.FAPService.1.AccessMgmt.LTE.X_SCM_UEDetail.1.X_SCM_Type = 0
+ Device.Services.FAPService.1.AccessMgmt.LTE.X_SCM_UEDetailMaxEntries = 1000
+ Device.Services.FAPService.1.AccessMgmt.LTE.X_SCM_HNBNameSuffixEnable = 0
+ Device.Services.FAPService.1.AccessMgmt.LTE.X_SCM_CongestionReleaseSelAlgo = 1
+ Device.Services.FAPService.1.AccessMgmt.LTE.X_SCM_MaxPRBUsage = -1
+ Device.Services.FAPService.1.AccessMgmt.LTE.X_SCM_AccessControlList = ""
+ Device.Services.FAPService.1.AccessMgmt.LTE.X_SCM_AccessMode = "Open"
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_X2AP.X_SCM_X2DisconnectDetectTimer = 0
+ Device.Services.FAPService.1.FAPControl.LTE.Gateway.PreSecGW3ServerList.10.SecGWServer3Ip = "2600:0000:cf04:2c41:10:158:152:183"
+ Device.Services.FAPService.1.FAPControl.LTE.Gateway.PreSecGW3ServerList.9.SecGWServer3Ip = "2600:0000:cf04:3841:10:158:146:183"
+ Device.Services.FAPService.1.FAPControl.LTE.Gateway.AGPort2 = ""
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_CRAN.SectorNumberOfEntries = 0
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_SceneManagement.LTEInter.X_SCM_HighPFreqList = "38950"
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_SceneManagement.MaxScene2Entries = 32
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_DLPowerSetting.X_SCM_RSPowerAdjustRate = "I:-12;C:6,-6;N:9,-9;O:-9;W:9;H:6;M:3,-3;V:9,-9;"
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_CoverageMeasurement.X_SCM_MiddleArea_A4_ReportInterval = 720000
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_CoverageMeasurement.X_SCM_TimeToTrigger = 480
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_CoverageMeasurement.X_SCM_OverCoverageDetecionEnable = 1
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_CoverageMeasurement.X_SCM_EdgeArea_A2ThresholdRSRP = 40
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_RO.X_SCM_TriggerTimer = 600
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_MRO.InterFreqA2ThresholdRSRP = "39,39,39,39,37,37,37,37"
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_MRO.HFRWeights = "0,1"
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_MRO.IIRFilterCoefficientHFR = 66
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_MRO.InterFreqEnable = 1
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_MRO.X_SCM_TooLateHORsrpDelta = 8
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_BsPoutCtrl.X_SCM_CocOverlapRegion = 100
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_BsPoutCtrl.X_SCM_X = 50
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_MPOCtrlList.MPOCtrl.0.CIO = ""
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_InChannelDataAwarness.X_SCM_InterferenceRipTimer = 60
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_ANR_Ctrl.X_SCM_CheckWrongNghCellPeriod = 60
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_ANR_Ctrl.X_SCM_DelNghByHOEnable = 1
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_SelfHealing.X_SCM_SelfHealingType = "HW,RRC_KPI,HO_KPI"
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_ReuseNeighborListInUseEnable = 0
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_AutoCellIdEnable = 0
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_gpUpptsMeasCalEnable = 0
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_RxRSSILowThreshold = -144
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_GetIMSISwitch = 0
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_SleepingCellTimer = 1200
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_CongestionCtrlThresholdDlPRBUsage = -1
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_WatchdogSoftLimit = 5
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_CSGPciCfgEnable = 0
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_FemtoPCIRange = 6
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_RrmPrivateAlgConfig = "0x12402"
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_AnrTriceIntervalCount = 480
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_ANRReservedEnable = 0
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_GUGroupIDConfig = "{{0,1}}"
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_eNodeBIPAddress = "172.27.22.75"
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_CA_Enable = 0
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SAS.EarfcnList = ""
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SAS.State = "Spectrum Failed"
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SAS.AntennaModelNumber = ""
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SAS.CPIId = "GOOG-001212"
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SAS.Enable = 1
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SAS.CPIEnable = 1
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SAS.GroupType = "INTERFERENCE_COORDINATION"
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_CMP.Config.1.CmpInTunnel =
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_CMP.Config.1.Recipient = ""
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_CMP.Config.1.Port = ""
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_CMP.Config.1.Server = ""
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_CMP.Config.0.EMSURL = ""
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_CMP.ProtoType = "HTTPS"
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_CMP.Subject = ""
+ Device.Services.FAPService.1.FAPControl.LTE.SelfConfig.SONConfigParam.ANRInterFeqEnable = 0
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_HWChkState = "0x00000000"
+ Device.Services.FAPService.1.FAPControl.LTE.PMConfig = ""
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_CellUpTime = 0001-01-01T00:00:00Z
+ Device.Services.FAPService.1.FAPControl.X_SCM_LWM2M.X_SCM_Equipment.X_SCM_SupportedBindingAndModes = "U"
+ Device.Services.FAPService.1.FAPControl.X_SCM_LWM2M.X_SCM_Server.1.X_SCM_RegistrationUpdateTrigger = 0
+ Device.Services.FAPService.1.FAPControl.X_SCM_LWM2M.X_SCM_Server.1.X_SCM_ShortServerID = 1
+ Device.Services.FAPService.1.FAPControl.X_SCM_LWM2M.X_SCM_Server.0.X_SCM_NotificationStoringWhenDisabledOrOffline = 0
+ Device.Services.FAPService.1.FAPControl.X_SCM_LWM2M.X_SCM_Security.1.X_SCM_ServerPublicKey = ""
+ Device.Services.FAPService.1.FAPControl.X_SCM_LWM2M.X_SCM_Security.1.X_SCM_SecurityMode = 0
+ Device.Services.FAPService.1.Capabilities.LTE.X_SCM_BandWidthsSupported = "10M,20M"
+ Device.Services.FAPService.1.Capabilities.SupportedSystems = "LTE"
+ Device.Services.FAPService.1.Capabilities.X_SCM_MinTxPower = -10
+ Device.Services.FAPService.1.DNPrefix = ""
+ Device.IPsec.AHSupported = 1
+ Device.IPsec.Enable = 0
+ Device.RootDataModelVersion = "2.4"
+ Device.FaultMgmt.HistoryEvent.1.AlarmIdentifier = "11206"
+ Device.FaultMgmt.ExpeditedEvent.1.AlarmIdentifier = "11206"
+ Device.Security.Certificate.3.Subject = "/C=US/O=Google CPI/OU=WInnForum Installer Certificate/CN=GOOG-001212"
+ Device.Security.Certificate.3.NotBefore = Mon Jun 21 18:58:48 2021
+
+ Device.Security.Certificate.2.SignatureAlgorithm = ""
+ Device.X_SCM_WiFi.ModesSupported = "none"
+ Device.X_SCM_DeviceFeature.X_SCM_Troubleshooting.X_SCM_Public_IPv4 = ""
+ Device.X_SCM_DeviceFeature.X_SCM_Troubleshooting.X_SCM_MaxRecordNum = 30
+ Device.X_SCM_DeviceFeature.X_SCM_NEStatus.X_SCM_NTPServer_Status = "SUCCESS"
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.12.X_SCM_AppCrashMaxAction = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.12.X_SCM_AppUploadErrLogControl = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.8.X_SCM_AppDownActionMask = 1
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.7.X_SCM_AppTimeoutToRunningAction = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.7.X_SCM_AppEnableCheck = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.6.X_SCM_AppStateValidationTimes = 1
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.6.X_SCM_AppCrashCountMax = 10
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.3.X_SCM_AppName = "cwmp"
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.1.X_SCM_AppCrashMaxAction = 1
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.1.X_SCM_AppUploadErrLogControl = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_RcIpsecServiceControl = 3
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_NetworkFallbackMethod = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_TraceDump.X_SCM_CWMPSigSaveEnable = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.UserAccount.4.UserFailedLoginTimes = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.UserAccount.3.UserPasswordLifeCycle = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.UserAccount.3.UserPassword = "$5$uQZ0pteSHkii57ae$Bd4HWT80lnzpKehm1wkxpjQQdU1FuVGsNrqFIIgu9.9"
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.UserAccount.2.UserChangedPasswordTime = ""
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.UserAccount.2.UserClassification = 3
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.UserAccount.1.UserLockedTime = 0001-01-01T00:00:00Z
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.UserAccount.1.UserChangedPassword = ""
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.UserAccount.0.UserLevel = 7
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.Ncom.X_SCM_NcomTDSPeerIp = "11.11.11.111"
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_BTConsolePairingCode = "000000"
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_BTConsoleEnable = 1
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_LibscSecurityConnectEnable = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RebootInterval = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_FakeFalse = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_CwmpDlfcode = ""
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_CwmpMethod = ""
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_CwmpExistDownload = ""
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_CwmpEvent7 = ""
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_CwmpUserLevel = 0
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.14.Alias = "rc_sysmgr"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.12.CrashCountMax = 10
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.11.CrashAction = "100_REBOOT_SERVICE"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.11.Dependency = "cwmp,henb"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.10.Status = "running"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.9.Status = "disabled"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.8.Name = "sasd"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.6.CrashMaxAction = "100_REBOOT_SERVICE"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.3.Alias = "rc_ntp"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.1.CrashCountMax = 10
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.0.CrashAction = "0_NO_ACTION"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.0.Dependency = ""
+ Device.X_SCM_DeviceFeature.X_SCM_SSHSupportWeakKexAlgorithmsEnable = 0
+ Device.X_SCM_DeviceFeature.X_SCM_TelnetServerEnable = 0
+ Device.FAP.MRMgmt.Config.1.SampleEndTime = "Device.FAP.X_SCM_MrMgmt.Config.1.EndTime"
+ Device.FAP.MRMgmt.Config.1.MrUrl = "Device.FAP.X_SCM_MrMgmt.Config.1.URL"
+ Device.FAP.X_SCM_LcdMgmt.WeatherStatus.PollingPeriod = 1
+ Device.FAP.X_SCM_LcdMgmt.WeatherStatus.IconId = ""
+ Device.FAP.X_SCM_LcdMgmt.WeatherStatus.WindDirectionName = ""
+ Device.FAP.X_SCM_LcdMgmt.WeatherStatus.Temperature = ""
+ Device.FAP.X_SCM_LcdMgmt.WeatherStatus.ZipCode = ""
+ Device.FAP.X_SCM_LcdMgmt.Config.UeStatusPollingInterval = 5
+ Device.FAP.X_SCM_MrMgmt.Config.1.Password = ""
+ Device.FAP.PerfMgmt.Config.1.Alias = ""
+ Device.FAP.Tunnel.ChildSA.0.ParentID = ""
+ Device.FAP.Tunnel.IKESA.0.PeerAddress = ""
+ Device.FAP.Tunnel.CryptoProfile.1.IKEEncrypt = "AES-CBC"
+ Device.FAP.GPS.PredictedOrbitDataInjection = "NO_INJECTION"
+ Device.FAP.GPS.XtraServerAddress3 = "http://xtrapath3.izatcloud.net/xtra3grc.bin"
+ Device.Security.X_SCM_IPsec.X_SCM_Ipsecconf.X_SCM_Connection.0.X_SCM_Rightauth = ""
+ Device.Security.X_SCM_IPsec.X_SCM_Ipsecconf.X_SCM_CASection.X_SCM_Ocspuri = ""
+ Device.Security.X_SCM_IPsec.X_SCM_Strongswanconf.X_SCM_Charon_retrans_tries = "5"
+ Device.Security.X_SCM_IPsec.X_SCM_Strongswanconf.X_SCM_Charon_retrans_base = "1.8"
+ Device.Security.X_SCM_IPsec.X_SCM_Strongswanconf.X_SCM_Charon_port = "500"
+ Device.Security.X_SCM_IPsec.X_SCM_RcipsecMode = "OAM"
+ Device.Security.Certificate.0.NotAfter = 0001-01-01T00:00:00Z
+ Device.Security.Certificate.0.X_SCM_CertificateName = ""
+ Device.Security.Certificate.0.Enable = 0
+ Device.FaultMgmt.QueuedEvent.0.AdditionalText = ""
+ Device.FaultMgmt.QueuedEvent.0.PerceivedSeverity = ""
+ Device.FaultMgmt.CurrentAlarm.0.SpecificProblem = ""
+ Device.FaultMgmt.CurrentAlarm.0.OUI = "Device.DeviceInfo.ManufacturerOUI"
+ Device.FaultMgmt.SupportedAlarm.92.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.91.EventType = "Processing Error Alarm"
+ Device.FaultMgmt.SupportedAlarm.89.X_SCM_AlarmIdentifier = "11219"
+ Device.FaultMgmt.SupportedAlarm.87.SpecificProblem = "System overload level 2 is exceeded(70%)."
+ Device.FaultMgmt.SupportedAlarm.86.PerceivedSeverity = "Minor"
+ Device.FaultMgmt.SupportedAlarm.85.X_SCM_RaiseNum = 0
+ Device.FaultMgmt.SupportedAlarm.83.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.82.EventType = "Processing Error Alarm"
+ Device.FaultMgmt.SupportedAlarm.80.ProbableCause = "Disk Usage of a critical partition has exceeded minor threshold value."
+ Device.FaultMgmt.SupportedAlarm.78.SpecificProblem = "Software download fails"
+ Device.FaultMgmt.SupportedAlarm.77.PerceivedSeverity = "Critical"
+ Device.FaultMgmt.SupportedAlarm.76.X_SCM_RaiseNum = 29
+ Device.FaultMgmt.SupportedAlarm.74.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.73.EventType = "Environmental Alarm"
+ Device.FaultMgmt.SupportedAlarm.70.X_SCM_AlarmIdentifier = "11199"
+ Device.FaultMgmt.SupportedAlarm.69.SpecificProblem = "Can't Get Sub-board Response"
+ Device.FaultMgmt.SupportedAlarm.68.PerceivedSeverity = "Major"
+ Device.FaultMgmt.SupportedAlarm.67.X_SCM_RaiseNum = 0
+ Device.FaultMgmt.SupportedAlarm.65.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.64.EventType = "Processing Error Alarm"
+ Device.FaultMgmt.SupportedAlarm.62.ProbableCause = "Cell Unavailable:Miscellaneous Reasons"
+ Device.FaultMgmt.SupportedAlarm.61.X_SCM_AlarmIdentifier = "11190"
+ Device.FaultMgmt.SupportedAlarm.59.PerceivedSeverity = "Major"
+ Device.FaultMgmt.SupportedAlarm.58.X_SCM_RaiseNum = 0
+ Device.FaultMgmt.SupportedAlarm.56.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.55.EventType = "Equipment Alarm"
+ Device.FaultMgmt.SupportedAlarm.53.ProbableCause = "License Check Failure"
+ Device.FaultMgmt.SupportedAlarm.52.X_SCM_AlarmIdentifier = "11173"
+ Device.FaultMgmt.SupportedAlarm.50.SpecificProblem = "The Macro's Signal Bigger Than A Threshold"
+ Device.FaultMgmt.SupportedAlarm.49.X_SCM_RaiseNum = 0
+ Device.FaultMgmt.SupportedAlarm.47.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.46.EventType = "Environmental Alarm"
+ Device.FaultMgmt.SupportedAlarm.44.ProbableCause = "Neighbour Cells Exist The Same PCI And EARFCN Through ANR"
+ Device.FaultMgmt.SupportedAlarm.43.X_SCM_AlarmIdentifier = "11126"
+ Device.FaultMgmt.SupportedAlarm.41.SpecificProblem = "Low Memory"
+ Device.FaultMgmt.SupportedAlarm.40.PerceivedSeverity = "Warning"
+ Device.FaultMgmt.SupportedAlarm.38.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.37.EventType = "Security Service Or Mechanism Violation"
+ Device.FaultMgmt.SupportedAlarm.35.ProbableCause = "Correct ECC Error In File System"
+ Device.FaultMgmt.SupportedAlarm.34.X_SCM_AlarmIdentifier = "11158"
+ Device.FaultMgmt.SupportedAlarm.32.SpecificProblem = "X2 Connect Fail"
+ Device.FaultMgmt.SupportedAlarm.31.PerceivedSeverity = "Critical"
+ Device.FaultMgmt.SupportedAlarm.30.X_SCM_RaiseNum = 0
+ Device.FaultMgmt.SupportedAlarm.29.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.28.EventType = "Equipment Alarm"
+ Device.FaultMgmt.SupportedAlarm.26.ProbableCause = "Firmware Version Roll Back"
+ Device.FaultMgmt.SupportedAlarm.25.X_SCM_AlarmIdentifier = "11152"
+ Device.FaultMgmt.SupportedAlarm.23.SpecificProblem = "CWMP Connect Reject"
+ Device.FaultMgmt.SupportedAlarm.22.PerceivedSeverity = "Critical"
+ Device.FaultMgmt.SupportedAlarm.21.X_SCM_RaiseNum = 0
+ Device.FaultMgmt.SupportedAlarm.19.EventType = "Equipment Alarm"
+ Device.FaultMgmt.SupportedAlarm.17.ProbableCause = "PCI Conflict With Neighbor"
+ Device.FaultMgmt.SupportedAlarm.16.X_SCM_AlarmIdentifier = "84"
+ Device.FaultMgmt.SupportedAlarm.14.SpecificProblem = "SCTP Initial Time Out "
+ Device.FaultMgmt.SupportedAlarm.13.PerceivedSeverity = "Warning"
+ Device.FaultMgmt.SupportedAlarm.12.X_SCM_RaiseNum = 0
+ Device.FaultMgmt.SupportedAlarm.10.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.9.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.8.EventType = "Environmental Alarm"
+ Device.FaultMgmt.SupportedAlarm.6.ProbableCause = "Cell Unavailable:Wrong Contry"
+ Device.FaultMgmt.SupportedAlarm.5.X_SCM_AlarmIdentifier = "11107"
+ Device.FaultMgmt.SupportedAlarm.3.SpecificProblem = "FAP Temperature Above Threshold"
+ Device.FaultMgmt.SupportedAlarm.2.PerceivedSeverity = "Critical"
+ Device.FaultMgmt.SupportedAlarm.1.X_SCM_RaiseNum = 0
+ Device.FaultMgmt.QueuedEventNumberOfEntries = 0
+ Device.PeriodicStatistics.SampleSet.3.Parameter.52.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.52.Enable = 1
+ Device.PeriodicStatistics.SampleSet.3.Parameter.51.Values = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.47.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.46.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.46.Alias = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.46.X_SCM_Name = "MR.GsmNcellBcch"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.45.Reference = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.43.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.43.Enable = 1
+ Device.PeriodicStatistics.SampleSet.3.Parameter.42.Values = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.38.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.37.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.37.Alias = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.37.X_SCM_Name = "MR.LteScRIX"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.36.Reference = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.34.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.34.Enable = 1
+ Device.PeriodicStatistics.SampleSet.3.Parameter.33.Values = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.29.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.28.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.28.Alias = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.28.X_SCM_Name = "MR.LteScRSRQ"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.27.Reference = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.25.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.25.Enable = 1
+ Device.PeriodicStatistics.SampleSet.3.Parameter.24.Values = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.19.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.19.Alias = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.19.X_SCM_Name = "MR.PlrULQciXSinrUL"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.18.Reference = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.16.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.16.Enable = 1
+ Device.PeriodicStatistics.SampleSet.3.Parameter.15.Values = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.10.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.9.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.8.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.8.Alias = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.8.X_SCM_Name = "MR.PacketLossRateDLQciX"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.7.Reference = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.5.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.5.Enable = 1
+ Device.PeriodicStatistics.SampleSet.3.Parameter.4.Values = ""
+ Device.PeriodicStatistics.SampleSet.3.ParameterNumberOfEntries = 52
+ Device.PeriodicStatistics.SampleSet.3.SampleInterval = 60
+ Device.PeriodicStatistics.SampleSet.2.Parameter.202.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.201.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.201.Alias = "CSFBSuccess"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.201.X_SCM_Name = "CC.SuccCalls.Csfb"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.200.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.199.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.194.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.193.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.193.Alias = "CRMeanNbrAssnBruUl"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.193.X_SCM_Name = "TCR.ULMeanCodeResUsed"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.192.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.190.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.190.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.185.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.184.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.184.Alias = "RoutingAreaUpdateRequest"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.184.X_SCM_Name = "MM.AttRaUpdate"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.183.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.181.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.181.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.180.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.176.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.175.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.175.Alias = "NAS_DeactivatePDPContextReqPerTraffic"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.175.X_SCM_Name = "SM.AttDeactPdpContext"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.174.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.172.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.172.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.171.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.167.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.166.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.166.Alias = "NAS_UlDisconnectNormalClearAfterActive_Conv_Video"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.166.X_SCM_Name = "CC.ClrOutVideoCalls"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.165.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.163.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.163.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.162.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.158.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.157.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.157.Alias = "NAS_UlEmergencySetup_Conv_AMR"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.157.X_SCM_Name = "CC.AttOutEmergencyCalls"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.156.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.154.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.154.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.153.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.149.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.148.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.148.Alias = "RrcConnRejSend"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.148.X_SCM_Name = "RRC.FailConnEstab.TotReject"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.147.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.145.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.145.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.144.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.139.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.139.Alias = "RrcConnSetupCompInterRAT_CellChangeOrder"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.139.X_SCM_Name = "RRC.SuccConnEstab.InterRAT_CellChangeOrder"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.138.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.136.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.136.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.135.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.130.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.129.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.127.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.127.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.126.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.121.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.120.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.120.Alias = "RrcConnReqOriginatingHighPrioritySignalling"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.120.X_SCM_Name = "RRC.AttConnEstab.OriginatingHighPrioritySignalling"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.118.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.118.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.117.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.112.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.111.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.111.Alias = "RrcConnReqTerminatingConversationalCall"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.111.X_SCM_Name = "RRC.AttConnEstab.TerminatingConversationalCall"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.110.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.109.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.109.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.108.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.103.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.102.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.102.Alias = "CnPagingRcv"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.102.X_SCM_Name = "Pag.AttCn"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.101.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.99.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.99.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.98.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.93.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.92.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.92.Alias = "HnbapUeRegisterAcptRecv"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.92.X_SCM_Name = "IUH.SuccUeReg"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.91.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.89.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.84.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.83.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.83.Alias = "SctpAssoc_Abort_ERROR_USR_INITIATED_ABORT"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.83.X_SCM_Name = "IUH.SctpAbort.UserInitiated"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.82.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.80.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.80.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.75.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.74.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.74.Alias = "SctpAssoc_Abort_ERROR_STALE"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.74.X_SCM_Name = "IUH.SctpAbort.StaleCookie"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.73.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.71.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.71.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.70.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.66.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.65.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.65.Alias = "PS_DCHHandoverHnbToUmtsTotal"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.65.X_SCM_Name = "RELOC.AttPrepUEInvolPS"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.64.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.62.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.62.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.61.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.57.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.56.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.56.Alias = "dwTrafficOf384KInRlc"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.56.X_SCM_Name = "RLC.NumUserBits.PS384DL"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.55.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.53.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.53.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.52.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.48.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.47.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.47.Alias = "RanapSRNSRelocationSucc"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.47.X_SCM_Name = "RELOC.Succ"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.46.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.44.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.44.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.43.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.39.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.38.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.38.Alias = "PS_DCHFail_No_Ovsf_Code"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.38.X_SCM_Name = "RAB.FailEstabPS.NoOvsf"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.37.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.35.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.35.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.34.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.29.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.29.Alias = "Hsdpa_RAB_Setup_Failure"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.29.X_SCM_Name = "RAB.FailEstabHSDPA"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.28.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.26.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.26.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.25.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.20.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.19.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.17.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.17.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.16.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.11.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.10.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.10.Alias = "RadioLinkFailureRecv"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.10.X_SCM_Name = "RLM.LinkFailure"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.9.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.9.Alias = "IscpExceed100"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.9.X_SCM_Name = "CARR.ISCP.Exceed100"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.8.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.6.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.6.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.5.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.0.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2191.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2191.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2190.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2186.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2185.Alias2 = "ERAB.AbnormalErabRelease.7"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2185.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2185.X_SCM_Name = "ERAB.AbnormalErabRelease.QCI.7"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2184.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2182.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2182.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2181.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2177.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2176.Alias2 = "RRC.ConnEstabTimeMax.PLMN.2.DelayTolerantAccess"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2176.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2176.X_SCM_Name = "RRC.ConnEstabTimeMax.PLMN.2.Cause.DelayTolerantAccess"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2175.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2173.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2173.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2172.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2168.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2167.Alias2 = "RRC.ConnEstabTimeMax.PLMN.1.MoData"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2167.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2167.X_SCM_Name = "RRC.ConnEstabTimeMax.PLMN.1.Cause.MoData"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2166.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2164.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2164.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2163.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2159.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2158.Alias2 = "RRC.ConnEstabTimeMean.PLMN.2.MoSignalling"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2158.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2158.X_SCM_Name = "RRC.ConnEstabTimeMean.PLMN.2.Cause.MoSignalling"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2157.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2155.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2155.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2154.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2149.Alias2 = "RRC.ConnEstabTimeMean.PLMN.1.MtAccess"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2149.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2149.X_SCM_Name = "RRC.ConnEstabTimeMean.PLMN.1.Cause.MtAccess"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2148.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2146.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2146.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2145.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2140.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2139.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2137.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2137.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2136.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2131.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2130.Alias2 = "RRC.ConnEstabSuccPLMN.1.MoSignalling"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2130.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2130.X_SCM_Name = "RRC.ConnEstabSuccPLMN.1.Cause.MoSignalling"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2128.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2128.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2127.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2122.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2121.Alias2 = "RRC.ConnEstabAttPLMN.2.MoSignalling"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2121.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2121.X_SCM_Name = "RRC.ConnEstabAttPLMN.2.Cause.MoSignalling"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2120.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2119.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2119.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2118.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2113.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2112.Alias2 = "RRC.ConnEstabAttPLMN.1.MoSignalling"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2112.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2112.X_SCM_Name = "RRC.ConnEstabAttPLMN.1.Cause.MoSignalling"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2111.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2109.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2104.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2103.Alias2 = "S1SIG.ConnEstabSucc.MtAccess"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2103.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2103.X_SCM_Name = "S1SIG.ConnEstabSucc.MtAccess"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2102.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2100.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2100.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2096.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2095.Alias2 = "S1SIG.ConnEstabAtt.MtAccess"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2095.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2095.X_SCM_Name = "S1SIG.ConnEstabAtt.MtAccess"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2094.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2092.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2092.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2091.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2087.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2086.Alias2 = "Dev.eNB.Band"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2086.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2086.X_SCM_Name = "Dev.eNB.Band"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2085.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2083.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2083.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2082.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2078.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2077.Alias2 = "HO.IartOutSucc.Misc.OMIntervention"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2077.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2077.X_SCM_Name = "HO.IartOutSucc.Cause.Misc.OMIntervention"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2076.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2074.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2074.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2073.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2069.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2068.Alias2 = "HO.IartOutSucc.Protocol.Reject"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2068.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2068.X_SCM_Name = "HO.IartOutSucc.Cause.Protocol.Reject"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2067.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2065.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2065.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2064.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2059.Alias2 = "HO.IartOutSucc.RadioNetwork.InvalidCSGID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2059.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2059.X_SCM_Name = "HO.IartOutSucc.Cause.RadioNetwork.InvalidCSGID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2058.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2056.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2056.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2055.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2050.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2049.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2047.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2047.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2046.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2041.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2040.Alias2 = "HO.IartOutSucc.RadioNetwork.ServingCellReduceLoad"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2040.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2040.X_SCM_Name = "HO.IartOutSucc.Cause.RadioNetwork.ServingCellReduceLoad"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2038.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2038.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2037.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2032.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2031.Alias2 = "HO.IartOutSucc.RadioNetwork.CellNotAvailable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2031.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2031.X_SCM_Name = "HO.IartOutSucc.Cause.RadioNetwork.CellNotAvailable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2030.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2029.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2029.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2028.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2023.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2022.Alias2 = "HO.IartOutSucc.RadioNetwork.TX2RELOCOverall"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2022.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2022.X_SCM_Name = "HO.IartOutSucc.Cause.RadioNetwork.TX2RELOCOverall"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2021.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2019.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2014.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2013.Alias2 = "HO.IartOutAtt.Protocol.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2013.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2013.X_SCM_Name = "HO.IartOutAtt.Cause.Protocol.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2012.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2010.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2010.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2005.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2004.Alias2 = "HO.IartOutAtt.Nas.Detach"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2004.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2004.X_SCM_Name = "HO.IartOutAtt.Cause.Nas.Detach"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2003.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2001.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2001.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2000.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1998.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1997.Alias2 = "HO.IartOutAtt.RadioNetwork.RedirectTo1xRTT"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1997.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1997.X_SCM_Name = "HO.IartOutAtt.Cause.RadioNetwork.RedirectTo1xRTT"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1996.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1994.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1994.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1993.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1989.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1988.Alias2 = "HO.IartOutAtt.RadioNetwork.InvalidQoSCombination"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1988.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1988.X_SCM_Name = "HO.IartOutAtt.Cause.RadioNetwork.InvalidQoSCombination"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1987.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1985.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1985.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1984.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1979.Alias2 = "HO.IartOutAtt.RadioNetwork.ResourceOptimisationHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1979.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1979.X_SCM_Name = "HO.IartOutAtt.Cause.RadioNetwork.ResourceOptimisationHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1978.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1976.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1976.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1975.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1970.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1969.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1967.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1967.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1966.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1961.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1960.Alias2 = "HO.OutSuccTargetSum"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1960.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1960.X_SCM_Name = "HO.OutSuccTargetSum"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1958.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1958.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1957.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1952.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1951.Alias2 = "HO.OutSuccTarget.Protocol.SemanticError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1951.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1951.X_SCM_Name = "HO.OutSuccTarget.Cause.Protocol.SemanticError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1950.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1949.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1949.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1948.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1943.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1942.Alias2 = "HO.OutSuccTarget.Nas.NormalRelease"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1942.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1942.X_SCM_Name = "HO.OutSuccTarget.Cause.Nas.NormalRelease"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1941.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1939.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1934.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1933.Alias2 = "HO.OutSuccTarget.RadioNetwork.AlgoNotSupported"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1933.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1933.X_SCM_Name = "HO.OutSuccTarget.Cause.RadioNetwork.AlgoNotSupported"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1932.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1930.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1930.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1925.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1924.Alias2 = "HO.OutSuccTarget.RadioNetwork.CSFB"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1924.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1924.X_SCM_Name = "HO.OutSuccTarget.Cause.RadioNetwork.CSFB"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1923.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1921.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1921.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1920.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1916.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1915.Alias2 = "HO.OutSuccTarget.RadioNetwork.ENBUES1APIDError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1915.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1915.X_SCM_Name = "HO.OutSuccTarget.Cause.RadioNetwork.ENBUES1APIDError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1914.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1912.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1912.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1911.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1907.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1906.Alias2 = "HO.OutSuccTarget.RadioNetwork.PartialHandover"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1906.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1906.X_SCM_Name = "HO.OutSuccTarget.Cause.RadioNetwork.PartialHandover"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1905.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1903.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1903.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1902.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1899.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1898.Alias2 = "HO.OutAttTarget.Misc.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1898.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1898.X_SCM_Name = "HO.OutAttTarget.Cause.Misc.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1897.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1895.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1895.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1894.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1889.Alias2 = "HO.OutAttTarget.Protocol.IgnoreAndNotify"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1889.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1889.X_SCM_Name = "HO.OutAttTarget.Cause.Protocol.IgnoreAndNotify"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1888.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1886.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1886.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1885.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1880.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1879.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1877.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1877.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1876.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1871.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1870.Alias2 = "HO.OutAttTarget.RadioNetwork.RadioInteractionFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1870.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1870.X_SCM_Name = "HO.OutAttTarget.Cause.RadioNetwork.RadioInteractionFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1868.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1868.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1867.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1862.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1861.Alias2 = "HO.OutAttTarget.RadioNetwork.UserInactivity"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1861.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1861.X_SCM_Name = "HO.OutAttTarget.Cause.RadioNetwork.UserInactivity"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1860.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1859.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1859.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1858.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1853.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1852.Alias2 = "HO.OutAttTarget.RadioNetwork.UnknownTargetID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1852.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1852.X_SCM_Name = "HO.OutAttTarget.Cause.RadioNetwork.UnknownTargetID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1851.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1849.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1844.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1843.Alias2 = "HO.OutAttTarget.RadioNetwork.SuccessHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1843.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1843.X_SCM_Name = "HO.OutAttTarget.Cause.RadioNetwork.SuccessHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1842.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1840.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1840.Enable = 0
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1835.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1834.Alias2 = "RRU.PrbUl.3"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1834.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1834.X_SCM_Name = "RRU.PrbUl.QCI.3"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1833.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1831.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1831.Enable = 0
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1830.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1826.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1825.Alias2 = "RRU.PrbDl.3"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1825.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1825.X_SCM_Name = "RRU.PrbDl.QCI.3"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1824.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1822.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1822.Enable = 0
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1821.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1817.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1816.Alias2 = "DRB.IPThpUl.5"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1816.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1816.X_SCM_Name = "DRB.IPThpUl.QCI.5"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1815.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1813.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1813.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1812.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1808.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1807.Alias2 = "DRB.IpLateDl.5"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1807.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1807.X_SCM_Name = "DRB.IpLateDl.QCI.5"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1806.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1804.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1804.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1803.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1799.Alias2 = "DRB.UEActiveUl.7"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1799.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1799.X_SCM_Name = "DRB.UEActiveUl.QCI.7"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1798.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1796.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1796.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1795.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1790.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1789.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1787.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1787.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1786.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1781.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1780.Alias2 = "HO.DrxOutSucc"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1780.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1780.X_SCM_Name = "HO.DrxOutSucc"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1778.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1778.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1777.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1772.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1771.Alias2 = "HO.InterEnbOutSucc.Misc.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1771.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1771.X_SCM_Name = "HO.InterEnbOutSucc.Cause.Misc.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1770.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1769.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1769.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1768.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1763.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1762.Alias2 = "HO.InterEnbOutSucc.Protocol.IgnoreAndNotify"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1762.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1762.X_SCM_Name = "HO.InterEnbOutSucc.Cause.Protocol.IgnoreAndNotify"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1761.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1759.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1754.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1753.Alias2 = "HO.InterEnbOutSucc.Transport.ResourceUnavailable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1753.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1753.X_SCM_Name = "HO.InterEnbOutSucc.Cause.Transport.ResourceUnavailable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1752.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1750.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1750.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1745.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1744.Alias2 = "HO.InterEnbOutSucc.RadioNetwork.UnknownERABID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1744.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1744.X_SCM_Name = "HO.InterEnbOutSucc.Cause.RadioNetwork.UnknownERABID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1743.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1741.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1741.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1740.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1736.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1735.Alias2 = "HO.InterEnbOutSucc.RadioNetwork.UERadioConnectionLost"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1735.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1735.X_SCM_Name = "HO.InterEnbOutSucc.Cause.RadioNetwork.UERadioConnectionLost"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1734.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1732.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1732.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1731.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1727.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1726.Alias2 = "HO.InterEnbOutSucc.RadioNetwork.RadioResUnavailableInTarget"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1726.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1726.X_SCM_Name = "HO.InterEnbOutSucc.Cause.RadioNetwork.RadioResUnavailableInTarget"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1725.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1723.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1723.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1722.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1718.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1717.Alias2 = "HO.InterEnbOutSucc.RadioNetwork.ReleaseForEUTRANReason"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1717.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1717.X_SCM_Name = "HO.InterEnbOutSucc.Cause.RadioNetwork.ReleaseForEUTRANReason"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1716.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1714.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1714.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1713.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1709.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1708.Alias2 = "HO.InterEnbOutAtt.Misc.ControlProcessingOverload"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1708.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1708.X_SCM_Name = "HO.InterEnbOutAtt.Cause.Misc.ControlProcessingOverload"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1707.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1705.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1705.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1704.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1699.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1697.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1697.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1696.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1691.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1690.Alias2 = "HO.InterEnbOutAtt.RadioNetwork.X2HO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1690.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1690.X_SCM_Name = "HO.InterEnbOutAtt.Cause.RadioNetwork.X2HO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1688.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1688.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1687.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1682.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1681.Alias2 = "HO.InterEnbOutAtt.RadioNetwork.RadioInterfaceProcedureFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1681.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1681.X_SCM_Name = "HO.InterEnbOutAtt.Cause.RadioNetwork.RadioInterfaceProcedureFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1680.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1679.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1679.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1678.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1673.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1672.Alias2 = "HO.InterEnbOutAtt.RadioNetwork.TimeCriticalHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1672.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1672.X_SCM_Name = "HO.InterEnbOutAtt.Cause.RadioNetwork.TimeCriticalHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1671.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1669.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1664.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1663.Alias2 = "HO.InterEnbOutAtt.RadioNetwork.TS1RELOCoverall"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1663.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1663.X_SCM_Name = "HO.InterEnbOutAtt.Cause.RadioNetwork.TS1RELOCoverall"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1662.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1660.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1660.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1655.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1654.Alias2 = "HO.InterEnbOutPrepAtt"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1654.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1654.X_SCM_Name = "HO.InterEnbOutPrepAtt"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1653.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1651.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1651.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1650.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1646.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1645.Alias2 = "HO.IntraEnbOutSucc.Protocol.SemanticError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1645.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1645.X_SCM_Name = "HO.IntraEnbOutSucc.Cause.Protocol.SemanticError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1644.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1642.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1642.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1641.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1637.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1636.Alias2 = "HO.IntraEnbOutSucc.Nas.NormalRelease"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1636.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1636.X_SCM_Name = "HO.IntraEnbOutSucc.Cause.Nas.NormalRelease"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1635.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1633.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1633.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1632.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1628.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1627.Alias2 = "HO.IntraEnbOutSucc.RadioNetwork.AlgoNotSupported"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1627.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1627.X_SCM_Name = "HO.IntraEnbOutSucc.Cause.RadioNetwork.AlgoNotSupported"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1626.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1624.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1624.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1623.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1619.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1618.Alias2 = "HO.IntraEnbOutSucc.RadioNetwork.CSFB"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1618.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1618.X_SCM_Name = "HO.IntraEnbOutSucc.Cause.RadioNetwork.CSFB"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1617.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1615.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1615.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1614.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1609.Alias2 = "HO.IntraEnbOutSucc.RadioNetwork.ENBUES1APIDError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1609.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1609.X_SCM_Name = "HO.IntraEnbOutSucc.Cause.RadioNetwork.ENBUES1APIDError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1608.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1606.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1606.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1605.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1600.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1598.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1598.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1597.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1592.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1591.Alias2 = "HO.IntraEnbOutAtt.Misc.HardwareFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1591.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1591.X_SCM_Name = "HO.IntraEnbOutAtt.Cause.Misc.HardwareFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1590.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1589.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1589.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1588.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1583.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1582.Alias2 = "HO.IntraEnbOutAtt.Protocol.TransferSyntaxError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1582.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1582.X_SCM_Name = "HO.IntraEnbOutAtt.Cause.Protocol.TransferSyntaxError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1581.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1579.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1574.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1573.Alias2 = "HO.IntraEnbOutAtt.RadioNetwork.ErrorQCI"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1573.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1573.X_SCM_Name = "HO.IntraEnbOutAtt.Cause.RadioNetwork.ErrorQCI"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1572.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1570.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1570.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1565.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1564.Alias2 = "HO.IntraEnbOutAtt.RadioNetwork.IRATRedirection"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1564.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1564.X_SCM_Name = "HO.IntraEnbOutAtt.Cause.RadioNetwork.IRATRedirection"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1563.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1561.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1561.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1560.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1556.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1555.Alias2 = "HO.IntraEnbOutAtt.RadioNetwork.ServingCellReduceLoad"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1555.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1555.X_SCM_Name = "HO.IntraEnbOutAtt.Cause.RadioNetwork.ServingCellReduceLoad"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1554.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1552.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1552.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1551.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1547.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1546.Alias2 = "HO.IntraEnbOutAtt.RadioNetwork.CellNotAvailable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1546.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1546.X_SCM_Name = "HO.IntraEnbOutAtt.Cause.RadioNetwork.CellNotAvailable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1545.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1543.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1543.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1542.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1538.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1537.Alias2 = "HO.IntraEnbOutAtt.RadioNetwork.TX2RELOCOverall"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1537.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1537.X_SCM_Name = "HO.IntraEnbOutAtt.Cause.RadioNetwork.TX2RELOCOverall"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1536.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1534.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1534.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1533.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1529.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1528.Alias2 = "ERAB.SessionTimeQCI.2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1528.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1528.X_SCM_Name = "ERAB.SessionTimeQCI.QCI.2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1527.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1525.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1525.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1524.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1519.Alias2 = "ERAB.ModQoSFailNbr.Protocol.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1519.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1519.X_SCM_Name = "ERAB.ModQoSFailNbr.Cause.Protocol.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1518.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1516.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1516.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1515.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1510.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1509.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1507.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1507.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1506.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1501.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1500.Alias2 = "ERAB.ModQoSFailNbr.RadioNetwork.UENotAvailableforPS"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1500.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1500.X_SCM_Name = "ERAB.ModQoSFailNbr.Cause.RadioNetwork.UENotAvailableforPS"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1499.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1499.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1498.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1493.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1492.Alias2 = "ERAB.ModQoSFailNbr.RadioNetwork.HODesirable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1492.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1492.X_SCM_Name = "ERAB.ModQoSFailNbr.Cause.RadioNetwork.HODesirable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1491.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1489.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1484.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1483.Alias2 = "ERAB.ModQoSFailNbr.RadioNetwork.HOFailureInTarget"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1483.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1483.X_SCM_Name = "ERAB.ModQoSFailNbr.Cause.RadioNetwork.HOFailureInTarget"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1482.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1480.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1480.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1475.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1474.Alias2 = "ERAB.RelActNbr.9"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1474.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1474.X_SCM_Name = "ERAB.RelActNbr.QCI.9"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1473.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1471.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1471.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1470.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1466.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1465.Alias2 = "ERAB.RelFailNbr.Misc.UnknownPLMN"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1465.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1465.X_SCM_Name = "ERAB.RelFailNbr.Cause.Misc.UnknownPLMN"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1464.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1462.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1462.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1461.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1457.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1456.Alias2 = "ERAB.RelFailNbr.Protocol.Reject"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1456.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1456.X_SCM_Name = "ERAB.RelFailNbr.Cause.Protocol.Reject"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1455.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1453.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1453.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1452.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1448.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1447.Alias2 = "ERAB.RelFailNbr.RadioNetwork.ErrorQCI"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1447.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1447.X_SCM_Name = "ERAB.RelFailNbr.Cause.RadioNetwork.ErrorQCI"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1446.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1444.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1444.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1443.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1439.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1438.Alias2 = "ERAB.RelFailNbr.RadioNetwork.InvalidQoSCombination"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1438.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1438.X_SCM_Name = "ERAB.RelFailNbr.Cause.RadioNetwork.InvalidQoSCombination"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1437.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1435.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1435.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1434.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1429.Alias2 = "ERAB.RelFailNbr.RadioNetwork.TimeCriticalHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1429.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1429.X_SCM_Name = "ERAB.RelFailNbr.Cause.RadioNetwork.TimeCriticalHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1428.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1426.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1426.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1425.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1420.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1419.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1417.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1417.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1416.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1411.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1410.Alias2 = "ERAB.RelEnbNbr.Misc.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1410.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1410.X_SCM_Name = "ERAB.RelEnbNbr.Cause.Misc.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1408.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1408.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1407.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1402.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1401.Alias2 = "ERAB.RelEnbNbr.Protocol.IgnoreAndNotify"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1401.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1401.X_SCM_Name = "ERAB.RelEnbNbr.Cause.Protocol.IgnoreAndNotify"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1400.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1399.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1394.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1393.Alias2 = "ERAB.RelEnbNbr.Transport.ResourceUnavailable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1393.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1393.X_SCM_Name = "ERAB.RelEnbNbr.Cause.Transport.ResourceUnavailable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1392.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1390.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1390.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1385.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1384.Alias2 = "ERAB.RelEnbNbr.RadioNetwork.RadioInteractionFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1384.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1384.X_SCM_Name = "ERAB.RelEnbNbr.Cause.RadioNetwork.RadioInteractionFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1383.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1381.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1381.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1380.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1376.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1375.Alias2 = "ERAB.RelEnbNbr.RadioNetwork.UES1APIDPairError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1375.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1375.X_SCM_Name = "ERAB.RelEnbNbr.Cause.RadioNetwork.UES1APIDPairError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1374.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1372.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1372.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1371.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1367.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1366.Alias2 = "ERAB.RelEnbNbr.RadioNetwork.HOFailureInTarget"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1366.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1366.X_SCM_Name = "ERAB.RelEnbNbr.Cause.RadioNetwork.HOFailureInTarget"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1365.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1363.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1363.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1362.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1358.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1357.Alias2 = "ERAB.EstabTimeMax.6"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1357.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1357.X_SCM_Name = "ERAB.EstabTimeMax.QCI.6"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1356.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1354.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1354.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1353.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1349.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1348.Alias2 = "ERAB.EstabTimeMean.6"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1348.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1348.X_SCM_Name = "ERAB.EstabTimeMean.QCI.6"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1347.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1345.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1345.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1344.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1339.Alias2 = "ERAB.EstabAddFailNbr.Misc.OMIntervention"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1339.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1339.X_SCM_Name = "ERAB.EstabAddFailNbr.Cause.Misc.OMIntervention"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1338.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1336.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1336.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1335.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1330.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1329.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1327.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1327.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1326.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1321.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1320.Alias2 = "ERAB.EstabAddFailNbr.RadioNetwork.UnknownERABID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1320.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1320.X_SCM_Name = "ERAB.EstabAddFailNbr.Cause.RadioNetwork.UnknownERABID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1318.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1318.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1317.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1312.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1311.Alias2 = "ERAB.EstabAddFailNbr.RadioNetwork.TimeCriticalHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1311.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1311.X_SCM_Name = "ERAB.EstabAddFailNbr.Cause.RadioNetwork.TimeCriticalHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1310.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1309.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1309.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1308.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1303.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1302.Alias2 = "ERAB.EstabAddFailNbr.RadioNetwork.HOTargetNotAllowed"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1302.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1302.X_SCM_Name = "ERAB.EstabAddFailNbr.Cause.RadioNetwork.HOTargetNotAllowed"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1301.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1295.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1294.Alias2 = "ERAB.EstabAddAttNbrSum"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1294.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1294.X_SCM_Name = "ERAB.EstabAddAttNbrSum"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1293.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1291.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1291.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1290.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1286.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1285.Alias2 = "ERAB.EstabInitFailNbr.Protocol.MessageStateNotCompatible"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1285.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1285.X_SCM_Name = "ERAB.EstabInitFailNbr.Cause.Protocol.MessageStateNotCompatible"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1284.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1282.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1282.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1281.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1277.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1276.Alias2 = "ERAB.EstabInitFailNbr.RadioNetwork.ErrorQCI"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1276.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1276.X_SCM_Name = "ERAB.EstabInitFailNbr.Cause.RadioNetwork.ErrorQCI"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1275.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1273.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1273.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1272.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1268.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1267.Alias2 = "ERAB.EstabInitFailNbr.RadioNetwork.ServingCellReduceLoad"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1267.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1267.X_SCM_Name = "ERAB.EstabInitFailNbr.Cause.RadioNetwork.ServingCellReduceLoad"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1266.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1264.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1264.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1263.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1259.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1258.Alias2 = "ERAB.EstabInitFailNbr.RadioNetwork.TS1RELOCoverall"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1258.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1258.X_SCM_Name = "ERAB.EstabInitFailNbr.Cause.RadioNetwork.TS1RELOCoverall"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1257.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1255.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1255.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1254.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1249.Alias2 = "UECNTX.RelReq.Misc.UnknownPLMN"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1249.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1249.X_SCM_Name = "UECNTX.RelReq.Cause.Misc.UnknownPLMN"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1248.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1246.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1246.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1245.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1240.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1239.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1237.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1237.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1236.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1231.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1230.Alias2 = "UECNTX.RelReq.RadioNetwork.InvalidCSGID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1230.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1230.X_SCM_Name = "UECNTX.RelReq.Cause.RadioNetwork.InvalidCSGID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1228.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1228.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1227.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1222.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1221.Alias2 = "UECNTX.RelReq.RadioNetwork.InvalidQoSCombination"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1221.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1221.X_SCM_Name = "UECNTX.RelReq.Cause.RadioNetwork.InvalidQoSCombination"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1220.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1219.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1219.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1218.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1213.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1212.Alias2 = "UECNTX.RelReq.RadioNetwork.UES1APIDPairError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1212.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1212.X_SCM_Name = "UECNTX.RelReq.Cause.RadioNetwork.UES1APIDPairError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1211.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1209.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1204.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1203.Alias2 = "UECNTX.RelReq.RadioNetwork.HOFailureInTarget"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1203.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1203.X_SCM_Name = "UECNTX.RelReq.Cause.RadioNetwork.HOFailureInTarget"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1202.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1200.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1200.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1196.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1195.Alias2 = "RRC.ConnEstabTimeMax.Spare1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1195.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1195.X_SCM_Name = "RRC.ConnEstabTimeMax.Cause.Spare1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1194.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1192.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1192.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1191.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1187.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1186.Alias2 = "RRC.ConnEstabTimeMean.Spare2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1186.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1186.X_SCM_Name = "RRC.ConnEstabTimeMean.Cause.Spare2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1185.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1183.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1183.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1182.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1178.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1177.Alias2 = "RRC.ConnReEstabFail.OtherFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1177.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1177.X_SCM_Name = "RRC.ConnReEstabFail.Cause.OtherFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1176.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1174.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1174.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1173.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1169.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1168.Alias2 = "RRC.ConnEstabFail.Spare2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1168.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1168.X_SCM_Name = "RRC.ConnEstabFail.Cause.Spare2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1167.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1165.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1165.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1164.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1159.Alias2 = "RRC.ConnEstabSucc.DelayTolerantAccess"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1159.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1159.X_SCM_Name = "RRC.ConnEstabSucc.Cause.DelayTolerantAccess"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1158.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1156.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1156.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1155.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1150.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1149.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1147.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1147.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1146.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1141.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1140.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1140.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1140.X_SCM_Name = "HO.X2InterFreqOutAtt"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1138.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1138.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1137.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1132.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1131.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1131.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1131.X_SCM_Name = "RRC.AdmissionConnMean"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1130.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1129.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1129.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1128.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1123.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1122.Alias2 = "ERAB.UsageNbrMax.9"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1122.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1122.X_SCM_Name = "ERAB.NbrMaxEstab.9"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1121.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1119.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1114.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1113.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1113.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1113.X_SCM_Name = "ERAB.NbrMaxEstab"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1112.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1110.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1110.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1105.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1104.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1104.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1104.X_SCM_Name = "ERAB.NbrSuccInitEstab.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1103.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1101.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1101.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1100.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1097.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1096.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1096.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1096.X_SCM_Name = "ERAB.NbrAttInitEstab.3"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1095.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1093.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1093.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1092.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1088.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1087.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1087.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1087.X_SCM_Name = "PDCP.UpLastTtiOctDl.4"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1086.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1084.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1084.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1083.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1079.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1078.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1078.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1078.X_SCM_Name = "PDCP.UpLastTtiOctUl.5"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1077.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1075.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1075.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1074.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1069.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1069.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1069.X_SCM_Name = "PDCP.UpPktTotDelayDl.6"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1068.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1066.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1066.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1065.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1060.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1059.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1057.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1057.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1056.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1051.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1050.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1050.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1050.X_SCM_Name = "RRU.PdschPrbTot"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1048.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1048.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1047.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1042.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1041.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1041.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1041.X_SCM_Name = "RRU.DtchPrbAssnDl"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1040.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1039.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1039.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1038.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1033.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1032.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1032.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1032.X_SCM_Name = "S1.SentDiagosisTotalPacket"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1031.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1029.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1024.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1023.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1023.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1023.X_SCM_Name = "MAC.NbrRbDl.Tm3.SM"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1022.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1020.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1020.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1015.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1014.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1014.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1014.X_SCM_Name = "MAC.NbrInitTbUl.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1013.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1011.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1011.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1010.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1006.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1005.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1005.Alias = "cpe-pm-cs-paging-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1005.X_SCM_Name = "PAG.PagReceived.CS"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1004.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1002.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1002.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1001.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.997.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.996.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.996.Alias = "cpe-pm-covg-ue-middle-area-total-rsrq"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.996.X_SCM_Name = "COVG.MiddleArea.TotalRSRQ"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.995.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.993.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.993.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.992.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.988.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.987.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.987.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.987.X_SCM_Name = "UE.ActiveMaxDL"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.986.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.984.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.984.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.983.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.979.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.978.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.978.Alias = "cpe-pm-inc-ho-att-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.978.X_SCM_Name = "HO.AttIncNbr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.977.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.975.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.975.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.974.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.969.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.969.Alias = "cpe-pm-stack-l1-crash-times"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.969.X_SCM_Name = "SYS.StackL1CrashTimes"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.968.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.966.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.966.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.965.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.960.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.959.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.957.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.957.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.956.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.951.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.950.Alias2 = "PHY.ULMaxNL.96"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.950.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.950.X_SCM_Name = "PHY.ULMaxNL.PRB96"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.948.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.948.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.947.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.942.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.941.Alias2 = "PHY.ULMaxNL.87"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.941.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.941.X_SCM_Name = "PHY.ULMaxNL.PRB87"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.940.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.939.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.939.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.938.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.933.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.932.Alias2 = "PHY.ULMaxNL.78"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.932.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.932.X_SCM_Name = "PHY.ULMaxNL.PRB78"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.931.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.929.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.924.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.923.Alias2 = "PHY.ULMaxNL.69"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.923.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.923.X_SCM_Name = "PHY.ULMaxNL.PRB69"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.922.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.920.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.920.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.915.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.914.Alias2 = "PHY.ULMaxNL.60"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.914.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.914.X_SCM_Name = "PHY.ULMaxNL.PRB60"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.913.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.911.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.911.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.910.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.906.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.905.Alias2 = "PHY.ULMaxNL.51"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.905.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.905.X_SCM_Name = "PHY.ULMaxNL.PRB51"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.904.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.902.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.902.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.901.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.898.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.897.Alias2 = "PHY.ULMaxNL.43"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.897.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.897.X_SCM_Name = "PHY.ULMaxNL.PRB43"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.896.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.894.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.894.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.893.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.889.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.888.Alias2 = "PHY.ULMaxNL.34"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.888.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.888.X_SCM_Name = "PHY.ULMaxNL.PRB34"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.887.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.885.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.885.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.884.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.879.Alias2 = "PHY.ULMaxNL.25"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.879.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.879.X_SCM_Name = "PHY.ULMaxNL.PRB25"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.878.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.876.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.876.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.875.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.870.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.869.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.867.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.867.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.866.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.861.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.860.Alias2 = "PHY.ULMaxNL.6"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.860.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.860.X_SCM_Name = "PHY.ULMaxNL.PRB6"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.858.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.858.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.857.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.852.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.851.Alias2 = "S1SIG.ConnEstabAtt"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.851.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.851.X_SCM_Name = "S1SIG.ConnEstabAtt"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.850.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.849.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.849.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.848.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.843.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.842.Alias2 = "PHY.ULMeanNL.95"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.842.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.842.X_SCM_Name = "PHY.ULMeanNL.PRB95"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.841.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.839.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.834.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.833.Alias2 = "PHY.ULMeanNL.86"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.833.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.833.X_SCM_Name = "PHY.ULMeanNL.PRB86"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.832.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.830.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.830.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.825.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.824.Alias2 = "PHY.ULMeanNL.77"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.824.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.824.X_SCM_Name = "PHY.ULMeanNL.PRB77"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.823.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.821.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.821.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.820.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.816.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.815.Alias2 = "PHY.ULMeanNL.68"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.815.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.815.X_SCM_Name = "PHY.ULMeanNL.PRB68"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.814.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.812.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.812.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.811.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.807.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.806.Alias2 = "PHY.ULMeanNL.59"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.806.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.806.X_SCM_Name = "PHY.ULMeanNL.PRB59"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.805.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.803.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.803.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.802.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.799.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.798.Alias2 = "PHY.ULMeanNL.51"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.798.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.798.X_SCM_Name = "PHY.ULMeanNL.PRB51"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.797.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.795.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.795.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.794.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.789.Alias2 = "PHY.ULMeanNL.42"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.789.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.789.X_SCM_Name = "PHY.ULMeanNL.PRB42"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.788.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.786.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.786.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.785.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.780.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.779.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.777.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.777.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.776.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.771.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.770.Alias2 = "PHY.ULMeanNL.23"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.770.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.770.X_SCM_Name = "PHY.ULMeanNL.PRB23"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.768.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.768.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.767.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.762.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.761.Alias2 = "PHY.ULMeanNL.14"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.761.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.761.X_SCM_Name = "PHY.ULMeanNL.PRB14"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.760.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.759.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.759.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.758.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.753.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.752.Alias2 = "PHY.ULMeanNL.5"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.752.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.752.X_SCM_Name = "PHY.ULMeanNL.PRB5"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.751.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.749.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.744.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.743.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.743.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.743.X_SCM_Name = "PHY.NbrCqi12"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.742.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.740.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.740.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.735.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.734.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.734.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.734.X_SCM_Name = "PHY.NbrCqi3"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.733.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.731.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.731.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.730.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.726.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.725.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.725.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.725.X_SCM_Name = "RRU.PuschPrbMeanTot"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.724.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.722.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.722.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.721.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.717.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.716.Alias2 = "DRB.PdcpSduDropRateDl.6"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.716.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.716.X_SCM_Name = "PDCP.UpPktDiscardDl.6"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.715.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.713.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.713.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.712.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.708.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.707.Alias2 = "DRB.PdcpSduDelayDl.6"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.707.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.707.X_SCM_Name = "PDCP.UpPktDelayDl.6"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.706.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.704.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.704.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.703.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.699.Alias2 = "DRB.PdcpSduAirLossRateDl.8"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.699.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.699.X_SCM_Name = "PDCP.NbrPktLossDl.8"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.698.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.696.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.696.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.695.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.690.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.689.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.687.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.687.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.686.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.681.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.680.Alias2 = "DRB.PdcpSduLossRateUl.7"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.680.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.680.X_SCM_Name = "PDCP.NbrPktLossUl.7"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.678.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.678.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.677.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.672.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.671.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.671.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.671.X_SCM_Name = "PDCP.NbrPktUl.7"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.670.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.669.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.669.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.668.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.663.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.662.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.662.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.662.X_SCM_Name = "PDCP.UpOctDl.9"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.661.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.659.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.654.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.653.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.653.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.653.X_SCM_Name = "PDCP.UpOctDl"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.652.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.650.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.650.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.645.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.644.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.644.Alias = "PDCP.UpOctUl.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.644.X_SCM_Name = "PDCP.UpOctUl.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.643.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.641.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.641.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.640.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.636.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.635.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.635.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.635.X_SCM_Name = "IRATHO.SuccPrepOutUtran"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.634.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.632.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.632.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.631.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.627.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.626.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.626.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.626.X_SCM_Name = "IRATHO.FailPrepOutGeran.S1PrepFailed"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.625.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.623.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.623.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.622.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.618.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.617.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.617.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.617.X_SCM_Name = "HO.SuccOutPrepInterEnbX2.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.616.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.614.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.614.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.613.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.609.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.608.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.608.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.608.X_SCM_Name = "HO.SuccOutPrepInterEnbS1.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.607.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.605.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.605.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.604.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.599.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.597.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.597.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.596.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.591.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.590.Alias2 = "ERAB.EstabInitAttNbrSum"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.590.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.590.X_SCM_Name = "CONTEXT.AttInitalSetup"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.588.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.588.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.587.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.582.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.581.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.581.Alias = "ERAB.NbrLeft.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.581.X_SCM_Name = "ERAB.NbrLeft.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.580.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.579.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.579.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.578.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.573.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.572.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.572.Alias = "ERAB.HoFail.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.572.X_SCM_Name = "ERAB.HoFail.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.571.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.569.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.564.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.563.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.563.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.563.X_SCM_Name = "ERAB.NbrReqRelEnb.Normal.2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.562.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.560.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.560.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.555.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.554.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.554.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.554.X_SCM_Name = "ERAB.NbrSuccEstab.5"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.553.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.551.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.551.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.550.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.546.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.545.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.545.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.545.X_SCM_Name = "ERAB.NbrAttEstab.5"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.544.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.542.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.542.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.541.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.537.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.536.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.536.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.536.X_SCM_Name = "ERAB.NbrHoInc.5"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.535.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.533.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.533.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.532.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.528.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.527.Alias2 = "ERAB.UsageNbrMean.7"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.527.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.527.X_SCM_Name = "ERAB.NbrMeanEstab.7"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.526.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.524.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.524.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.523.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.519.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.518.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.518.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.518.X_SCM_Name = "ERAB.NbrReqRelEnb.9"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.517.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.515.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.515.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.514.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.509.Alias2 = "ERAB.RelEnbNbr.RadioNetwork.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.509.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.509.X_SCM_Name = "ERAB.NbrReqRelEnb.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.508.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.506.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.506.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.505.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.500.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.498.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.498.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.497.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.492.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.491.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.491.Alias = "cpe-pm-covg-edge-area-ue-total-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.491.X_SCM_Name = "COVG.EdgeUeTotalNbr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.490.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.489.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.489.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.488.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.483.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.482.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.482.Alias = "cpe-pm-covg-middle-area-gtp-rx-bytes"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.482.X_SCM_Name = "COVG.MiddleIncGtpU"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.481.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.479.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.474.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.473.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.473.Alias = "cpe-pm-rlf-enb-detect-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.473.X_SCM_Name = "RLF.eNBDetectNbr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.472.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.470.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.470.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.465.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.464.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.464.Alias = "cpe-pm-mro-handle-pingpong-ho-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.464.X_SCM_Name = "MRO.HandlePingpongHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.463.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.461.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.461.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.460.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.456.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.455.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.455.Alias = "cpe-pm-anr-neigh-ho-total-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.455.X_SCM_Name = "ANR.TotalHO.AnrNeigh"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.454.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.452.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.452.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.451.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.447.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.446.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.446.Alias = "cpe-pm-rach-ded-preamble-used-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.446.X_SCM_Name = "RRU.RachDedicatedPreamblesAssigned"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.445.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.443.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.443.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.442.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.438.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.437.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.437.Alias = "cpe-pm-rach-ue-sent-preamble-v1-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.437.X_SCM_Name = "RRU.RachPreambleUeSentDist.Middle"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.436.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.434.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.434.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.433.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.429.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.428.Alias2 = "ERAB.ModQoSFailNbr.Misc.ControlProcessingOverload"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.428.Alias = "cpe-pm-rab-modi-fail-nr-ctrlpl-overload"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.428.X_SCM_Name = "ERAB.ModQoSFailNbr.ControlProcessingOverload"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.427.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.425.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.425.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.424.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.419.Alias2 = "ERAB.ModQoSFailNbr.RadioNetwork.InvalidQoSCombination"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.419.Alias = "cpe-pm-rab-modi-fail-nr-invld-qospara"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.419.X_SCM_Name = "ERAB.ModQoSFailNbr.InvalidQosCombination"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.418.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.416.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.416.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.415.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.410.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.409.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.407.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.407.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.406.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.401.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.400.Alias2 = "ERAB.RelFailNbr.RadioNetwork.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.400.Alias = "cpe-pm-mme-rel-rab-fail-nr-oth"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.400.X_SCM_Name = "ERAB.RelFailNbr.UnspecifiedFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.399.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.399.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.398.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.393.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.392.Alias2 = "ERAB.RelEnbNbr.RadioNetwork.UserInactivity"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.392.Alias = "cpe-pm-enb-rel-rab-nr-usrinacti"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.392.X_SCM_Name = "ERAB.NbrReqRelEnb.CauseUserInactivity"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.391.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.389.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.384.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.383.Alias2 = "ERAB.EstabAddFailNbr.RadioNetwork.S1IntraSystemHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.383.Alias = "cpe-pm-init-addrab-est-fail-intrasys-s1hotri"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.383.X_SCM_Name = "ERAB.EstabAddFailNbr.S1IntraSystemHoTrig"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.382.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.380.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.380.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.375.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.374.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.374.Alias = "cpe-pm-init-rab-est-fail-nr-msgie-err"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.374.X_SCM_Name = "ERAB.EstabInitFailNbr.AbstractSyntaxError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.373.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.371.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.371.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.370.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.366.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.365.Alias2 = "RRC.ConnMax"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.365.Alias = "cpe-pm-rrc-conn-max-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.365.X_SCM_Name = "RRC.ConnMax"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.364.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.362.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.362.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.361.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.357.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.356.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.356.Alias = "cpe-pm-rrc-recfg-fail-nr-staterr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.356.X_SCM_Name = "RRC.FailConnReconfig.StateError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.355.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.353.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.353.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.352.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.348.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.347.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.347.Alias = "cpe-pm-rrc-recfg-fail-nr-tpcallc"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.347.X_SCM_Name = "RRC.FailConnReconfig.Tpc"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.346.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.344.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.344.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.343.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.339.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.338.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.338.Alias = "cpe-pm-rrc-recfg-req-nr-tmchg"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.338.X_SCM_Name = "RRC.AttConnReconfig.TmChange"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.337.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.335.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.335.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.334.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.329.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.329.Alias = "cpe-pm-rrc-recfg-succ-nr-rabmodi"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.329.X_SCM_Name = "RRC.SuccConnReconfig.RabModify"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.328.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.326.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.326.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.325.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.320.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.319.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.317.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.317.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.316.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.311.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.310.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.310.Alias = "cpe-pm-rrc-reest-fail-nr-pucchallc"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.310.X_SCM_Name = "RRC.ConnReEstabFail.PucchAllocFail"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.308.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.308.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.307.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.302.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.301.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.301.Alias = "cpe-pm-rrc-estab-fail-nr-tpcallc"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.301.X_SCM_Name = "RRC.FailConnEstab.TpcAllocFail"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.300.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.299.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.294.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.293.Alias2 = "RRC.ConnEstabSucc.MoSignalling"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.293.Alias = "cpe-pm-rrc-estab-succ-nr-mosig"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.293.X_SCM_Name = "RRC.SuccConnEstab.MoSignalling"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.292.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.290.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.290.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.285.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.284.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.284.Alias = "cpe-pm-sctpasso-nouse-timl"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.284.X_SCM_Name = "SIG.SctpUnavailableDuration"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.283.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.281.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.281.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.280.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.276.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.275.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.275.Alias = "cpe-pm-recv-abort-nr-cookie-recv-newaddr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.275.X_SCM_Name = "SIG.SctpAbort.ReassociateNewAddr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.274.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.272.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.272.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.271.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.267.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.266.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.266.Alias = "cpe-pm-recv-abort-nr-miss-mand-param"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.266.X_SCM_Name = "SIG.SctpAbort.ParameterError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.265.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.263.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.263.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.262.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.258.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.257.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.257.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.257.X_SCM_Name = "MAC.NbrTbDl"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.256.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.254.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.254.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.253.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.249.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.248.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.248.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.248.X_SCM_Name = "MAC.NbrTbDl.Rank2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.247.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.245.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.245.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.244.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.239.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.239.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.239.X_SCM_Name = "MAC.NbrSuccInitTbDl"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.238.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.236.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.236.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.235.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.230.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.229.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.227.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.227.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.226.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.221.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.220.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.220.Alias = "cpe-pm-mac-ul-recv-tb-tolnum-newtr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.220.X_SCM_Name = "MAC.NbrInitTbUl"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.218.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.218.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.217.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.212.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.211.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.211.Alias = "cpe-pm-2ger-ho-pre-fail-nr-tarsysfail"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.211.X_SCM_Name = "SRVCC.FailPrepOutGeran.TgtFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.210.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.209.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.209.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.208.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.203.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.202.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.202.Alias = "cpe-pm-volte-intraenb-ho-req-nr-intrafreq"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.202.X_SCM_Name = "VoLTE.HO.AttOutIntraEnb.IntraFreq"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.201.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.195.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.194.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.194.Alias = "cpe-pm-volte-interenb-x2ho-req-nr-n-interfreq"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.194.X_SCM_Name = "VoLTE.HO.AttOutInterEnbX2.InterFreqN"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.193.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.191.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.191.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.190.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.186.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.185.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.185.Alias = "cpe-pm-volte-interenb-s1ho-pre-succ-nr-interfreq"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.185.X_SCM_Name = "VoLTE.HO.SuccOutPrepInterEnbS1.InterFreq"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.184.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.182.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.182.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.181.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.177.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.176.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.176.Alias = "cpe-pm-csfb-ctxt-modi-succ-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.176.X_SCM_Name = "CONTEXT.SuccMod.Csfb"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.175.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.173.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.173.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.172.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.168.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.167.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.167.Alias = "cpe-pm-ho-fail-hotimeout"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.167.X_SCM_Name = "HO.FailOut.HoExeTimeOut"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.166.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.164.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.164.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.163.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.159.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.158.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.158.Alias = "cpe-pm-intrasys-interfreq-ho-req-nr-const"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.158.X_SCM_Name = "HO.OutAttInterFreq.OMC"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.157.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.155.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.155.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.154.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.149.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.149.Alias = "cpe-pm-intrasys-intrafreq-ho-succ-nr-wl"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.149.X_SCM_Name = "HO.SuccOutIntraFreq.Radio"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.148.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.146.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.146.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.145.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.140.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.139.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.137.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.137.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.136.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.131.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.130.Alias2 = "DRB.PdcpSduBitrateDl.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.130.Alias = "cpe-pm-pdcp-dlup-send-q1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.130.X_SCM_Name = "DRB.PdcpSduBitLenDl.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.128.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.128.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.127.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.122.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.121.Alias2 = "ERAB.ModQoSSuccNbr.5"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.121.Alias = "cpe-pm-rab-succ-modi-nr-q5"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.121.X_SCM_Name = "ERAB.NbrSuccMod.5"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.120.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.119.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.119.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.118.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.113.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.112.Alias2 = "ERAB.ModQoSAttNbr.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.112.Alias = "cpe-pm-rab-att-modi-nr-q1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.112.X_SCM_Name = "ERAB.NbrAttMod.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.111.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.109.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.104.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.103.Alias2 = "ERAB.RelSuccNbr.5"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.103.Alias = "cpe-pm-rab-mme-succrel-nr-q5"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.103.X_SCM_Name = "ERAB.RelSuccNbr.5"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.102.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.100.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.100.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.99.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.94.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.93.Alias2 = "ERAB.RelEnbNbr.9"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.93.Alias = "cpe-pm-rab-enb-rel-nr-q9"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.93.X_SCM_Name = "ERAB.RelEnbNbr.9 "
+ Device.PeriodicStatistics.SampleSet.1.Parameter.92.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.90.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.90.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.85.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.84.Alias2 = "ERAB.EstabAddSuccNbr.9"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.84.Alias = "cpe-pm-add-rab-succ-nr-q9"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.84.X_SCM_Name = "ERAB.EstabAddSuccNbr.9"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.83.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.81.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.81.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.80.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.76.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.75.Alias2 = "ERAB.EstabAddAttNbr.5"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.75.Alias = "cpe-pm-add-rab-att-nr-q5"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.75.X_SCM_Name = "ERAB.EstabAddAttNbr.5"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.74.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.72.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.72.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.71.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.67.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.66.Alias2 = "ERAB.EstabInitSuccNbr.9"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.66.Alias = "cpe-pm-init-rab-succ-nr-q9"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.66.X_SCM_Name = "ERAB.EstabInitSuccNbr.9"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.65.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.63.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.63.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.62.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.58.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.57.Alias2 = "ERAB.EstabInitAttNbr.5"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.57.Alias = "cpe-pm-init-rab-att-nr-q5"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.57.X_SCM_Name = "ERAB.EstabInitAttNbr.5"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.56.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.54.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.54.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.53.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.49.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.48.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.48.Alias = "cpe-pm-iot-v5-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.48.X_SCM_Name = "CARR.IOT.51To60"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.47.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.45.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.45.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.44.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.39.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.39.Alias = "cpe-pm-ip-rx-bytes"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.39.X_SCM_Name = "EQPT.MacOctReceived"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.38.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.36.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.36.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.35.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.30.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.29.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.27.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.27.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.26.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.21.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.20.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.20.Alias = "cpe-pm-pusch-prb-avail-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.20.X_SCM_Name = "RRU.AvailPrbDL"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.18.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.18.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.17.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.12.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.11.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.11.Alias = "cpe-pm-inc-ho-fail-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.11.X_SCM_Name = "HO.FailInNbr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.10.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.9.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.7.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.7.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.6.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.0.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.0.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.0.X_SCM_Name = ""
+ Device.PeriodicStatistics.SampleSet.0.Parameter.0.Reference = ""
+ Device.PeriodicStatistics.SampleSet.0.Alias = ""
+ Device.Firewall.Chain.1.Rule.3.Target = "DSCP"
+ Device.Firewall.Chain.1.Rule.0.DSCP = -1
+ Device.Firewall.Chain.1.RuleNumberOfEntries = 3
+ Device.Firewall.Level.0.Description = ""
+ Device.DHCPv6.Client.0.SentOption.0.Enable = 0
+ Device.DHCPv4.Server.PoolNumberOfEntries = 1
+ Device.DHCPv4.Client.1.ReqOption.0.Order = 1
+ Device.DHCPv4.Client.1.SentOption.0.Tag = 1
+ Device.DHCPv4.Client.1.ReqOptionNumberOfEntries = 0
+ Device.DHCPv4.Client.0.ReqOption.0.Value =
+ Device.DHCPv4.ClientNumberOfEntries = 1
+ Device.DNS.Client.Server.1.Type = "DHCPv4"
+ Device.Routing.Router.1.IPv6Forwarding.1.ForwardingPolicy = -1
+ Device.Routing.Router.1.IPv6ForwardingNumberOfEntries = 1
+ Device.Routing.Router.0.IPv4Forwarding.0.DestSubnetMask = ""
+ Device.IP.Diagnostics.IPPing.NumberOfRepetitions = 1
+ Device.IP.Interface.5.IPv6Address.0.Origin = "Static"
+ Device.IP.Interface.5.MaxMTUSize = 1500
+ Device.IP.Interface.4.IPv6Address.1.Origin = "Static"
+ Device.IP.Interface.3.Enable = 1
+ Device.IP.Interface.2.IPv4Address.0.SubnetMask = "255.255.255.0"
+ Device.IP.Interface.2.IPv4Address.0.DefaultGateway = ""
+ Device.IP.Interface.1.IPv4Address.1.SubnetMask = "255.255.255.0"
+ Device.IP.Interface.1.IPv4Address.1.DefaultGateway = "Device.Routing.Router.1.IPv4Forwarding.1.GatewayIPAddress"
+ Device.IP.Interface.1.LowerLayers = "Device.Ethernet.Interface.1"
+ Device.IP.Interface.1.Name = "eth0"
+ Device.IP.Interface.0.IPv4Address.0.IPAddress = "11.11.12.188"
+ Device.IP.Interface.0.IPv4Address.0.Enable = 0
+ Device.IP.X_SCM_IPTypeInTunnel = "ipv4"
+ Device.Ethernet.VLANTermination.1.X_SCM_VLANQOS = 0
+ Device.Ethernet.VLANTermination.1.Enable = 0
+ Device.Ethernet.Interface.2.X_SCM_SignTransMedia = "Electric"
+ Device.Ethernet.Interface.1.MaxBitRate = -1
+ Device.Ethernet.InterfaceNumberOfEntries = 1
+ Device.Time.NTPServer2 = ""
+ Device.Time.Enable = 1
+ Device.ManagementServer.X_SCM_NetconfIPAddressRef = "Device.IP.Interface.1.IPv4Address.1."
+ Device.ManagementServer.X_SCM_CustomInformSN = "%s"
+ Device.DeviceInfo.Location.0.X_SCM_AccuracyAlarm = 1000
+ Device.DeviceInfo.VendorLogFile.1.X_SCM_LogControl.X_SCM_TraceTargetServerIP = ""
+ Device.DeviceInfo.VendorLogFile.1.X_SCM_LogControl.X_SCM_CellTracePeriodicUploadInterval = 3600
+ Device.DeviceInfo.TemperatureStatus.TemperatureSensor.0.X_SCM_RF_Critical_ThresholdValue = 125
+ Device.DeviceInfo.TemperatureStatus.TemperatureSensorNumberOfEntries = 0
+ Device.Services.FAPService.1.Transport.Packet.X_SCM_BytesSent = 0
+ Device.Services.FAPService.1.Transport.Packet.RcvPackets = 0
+ Device.Services.FAPService.1.Transport.RealTime.Perf.MaxRTT = 0
+ Device.Services.FAPService.1.Transport.RealTime.X_SCM_LostRcvPackets = 0
+ Device.Services.FAPService.1.Transport.SCTP.Assoc.0.StartTime = 0001-01-01T00:00:00Z
+ Device.Services.FAPService.1.Transport.SCTP.X_SCM_SctpIpAddress = "172.21.20.21"
+ Device.Services.FAPService.1.Transport.SCTP.OutOrderChunks = 0
+ Device.Services.FAPService.1.Transport.SCTP.OutOfBlues = 0
+ Device.Services.FAPService.1.Transport.SCTP.X_SCM_MaxNumInBoundStream = 10
+ Device.Services.FAPService.1.REM.LTE.Cell.0.BCCH.X_SCM_PrachHighSpeedFlag = 0
+ Device.Services.FAPService.1.REM.LTE.Cell.0.BCCH.X_SCM_PrachRootSequenceIndex = 0
+ Device.Services.FAPService.1.REM.LTE.Cell.0.BCCH.X_SCM_IsSIb3Decoded = 0
+ Device.Services.FAPService.1.REM.LTE.Cell.0.BCCH.ULBandwidth = 6
+ Device.Services.FAPService.1.REM.LTE.Cell.0.RF.RSRQ = -1
+ Device.Services.FAPService.1.REM.LTE.CarrierMeasNumberOfEntries = 0
+ Device.Services.FAPService.1.REM.LTE.X_SCM_SelEarfcnFailRebootTimer = 180
+ Device.Services.FAPService.1.REM.LTE.X_SCM_EARFCNSelectAlg = 1
+ Device.Services.FAPService.1.REM.LTE.X_SCM_WaitTimeBeforeCloseRf = 0
+ Device.Services.FAPService.1.REM.LTE.X_SCM_HeNBPreferrdPCIList = ""
+ Device.Services.FAPService.1.REM.LTE.X_SCM_MaxHeNBRSTxPower = 20
+ Device.Services.FAPService.1.REM.LTE.X_SCM_1588CalibrationFoeThreshold = 50
+ Device.Services.FAPService.1.REM.LTE.X_SCM_GPSCalibrationFoeThreshold = 50
+ Device.Services.FAPService.1.REM.LTE.X_SCM_1588CalibrationEnable = 0
+ Device.Services.FAPService.1.REM.LTE.X_SCM_GPSCalibrationEnable = 0
+ Device.Services.FAPService.1.REM.LTE.X_SCM_DeleteDeadCellBasePeriodicallyScanEnable = 0
+ Device.Services.FAPService.1.REM.X_SCM_tfcsManagerConfig.ntpSyncStatus = ""
+ Device.Services.FAPService.1.REM.X_SCM_tfcsManagerConfig.resyncSrl = 3
+ Device.Services.FAPService.1.REM.X_SCM_tfcsManagerConfig.gpsLeapSeconds = 18
+ Device.Services.FAPService.1.REM.X_SCM_tfcsManagerConfig.ttr1 = 500
+ Device.Services.FAPService.1.REM.X_SCM_NlSync.CellInfo.0.ChanNumber = 55300
+ Device.Services.FAPService.1.REM.UMTS.WCDMA.Cell.0.BCCH.PCPICHTxPower = -1
+ Device.Services.FAPService.1.REM.UMTS.WCDMA.Cell.0.BCCH.LAC = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborListInUse2.LTECell.0.QOffset = -1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborListInUse.InterRATCell.CDMA2000.0.A2ThresholdRSRP = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborListInUse.InterRATCell.CDMA2000.0.Enable = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborListInUse.InterRATCell.CDMA2000.0.PNOffset = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborListInUse.LTECell.0.QOffset = -1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.X_SCM_NR.0.Enable = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.UMTS.0.X_SCM_PS_HO_SUPPORTED = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.LTECell.0.PhyCellID = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.LTECell.0.X_SCM_EnbType = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.LTECell.0.Alias = ""
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B2MeasureCtrl.0.MeasurePurpose = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B2MeasureCtrl.0.B2Threshold2GERAN = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B2Threshold2GERAN"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B1MeasureCtrl.2.B1ThresholdGERAN = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B1ThresholdGERAN"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B1MeasureCtrl.1.MeasurePurpose = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B1MeasureCtrl.0.ReportInterval = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.ReportInterval"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B1MeasureCtrl.0.Enable = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.Hysteresis = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B2Threshold2UTRARSCP = 10
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.MeasQuantityUTRAFDD = "CPICH-RSCP"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.X_SCM_A2ForIRATCS.MaxReportCells = 8
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.X_SCM_A2ForIRATCS.ReportQuantity = "Both"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A5MeasureCtrl.1.TimeToTrigger = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.TimeToTrigger"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A5MeasureCtrl.0.ReportQuantity = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.ReportQuantity"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A5MeasureCtrl.0.MaxReportCells = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.MaxReportCells"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A4MeasureCtrl.1.ReportQuantity = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.ReportQuantity"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A4MeasureCtrl.1.MaxReportCells = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.MaxReportCells"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A3MeasureCtrl.2.ReportQuantity = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.ReportQuantity"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A3MeasureCtrl.2.MaxReportCells = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.MaxReportCells"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A3MeasureCtrl.0.A3Offset = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A3Offset"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A2MeasureCtrl.5.TriggerQuantity = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.TriggerQuantity"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A2MeasureCtrl.4.TimeToTrigger = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.TimeToTrigger"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A2MeasureCtrl.3.ReportQuantity = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.ReportQuantity"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A2MeasureCtrl.3.MaxReportCells = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.MaxReportCells"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A2MeasureCtrl.0.MeasurePurpose = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A1MeasureCtrl.1.MeasurePurpose = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A1MeasureCtrl.1.A1ThresholdRSRP = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A1ThresholdRSRP"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A1MeasureCtrl.0.ReportInterval = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.ReportInterval"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A1MeasureCtrl.0.A1ThresholdRSRQ = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A1ThresholdRSRQ"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A1MeasureCtrl.0.Enable = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.PeriodMeasCtrlNumberOfEntries = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.ReportAmount = 4
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.X_SCM_PingpongHONum = 2
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.X_SCM_TgtHOPrepTmrVal = 1000
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.X_SCM_EnableInterPlmnHandoverOut = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A2ThresholdRSRQ = 25
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.CDMA2000.X_SCM_ue_generic_cdma2000_params.X_SCM_reg_dist = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.CDMA2000.X_SCM_ue_generic_cdma2000_params.X_SCM_max_add_serv_instance = 3
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.CDMA2000.X_SCM_MOBILITY_SIB_8_PARAMS.POWER_DOWN_REG = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.CDMA2000.CDMA2000Band.1.CellReselectionPriority = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.CDMA2000.CDMA2000Band.0.Alias = ""
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.CDMA2000.TReselectionCDMA2000 = ""
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.GERAN.TReselectionGERANSFMedium = 100
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.UTRA.X_SCM_ThreshXHigh = 14
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.UTRA.X_SCM_NewUtraFreqStudyMode = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.UTRA.TReselectionUTRA = "1"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.InterFreq.Carrier.0.X_SCM_OPEN_PHY_CELLID_RANGE = "-1"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.InterFreq.Carrier.0.X_SCM_NEIGHBOR_CELL_CONFIG = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.InterFreq.X_SCM_TReselectionEUTRA = "1"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.Common.NCellChangeHigh = 10
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.CellRestriction.X_SCM_CongestionCtrl.1.X_SCM_BarringFactor = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.CellRestriction.X_SCM_acBarringForMODatapres = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.CellRestriction.BarringForEmergency = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.RRCTimers.T304EUTRA = "500"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.RLC.SRB2.DefaultConfiguration = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_PDCP.X_SCM_ROHC.8.X_SCM_QCI = 8
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_PDCP.X_SCM_ROHC.6.X_SCM_ROHCEnabled = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_PDCP.X_SCM_ROHC.3.X_SCM_Profiles = "000000010"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_PDCP.X_SCM_ROHC.3.X_SCM_MaxCid = 15
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_PDCP.MaxX_SCM_ROHCEntries = 16
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.UplinkPowerControlDedicated.X_SCM_pucchgrppwrfmt3aEnabled = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.UplinkPowerControlDedicated.accumulationEnabled = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.PHRCONFIG.PeriodicPHRTimer = 4
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DLSCH.MaxHARQTx = 4
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileList.9.DRXInactivityTimer = "40"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileList.9.DRXEnabled = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileList.9.QCI = 9
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileList.8.ShortDRXCycle = "32"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileList.6.LongDRXCycle = "640"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileList.5.DRXShortCycleTimer = "4"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileList.4.DRXRetransmissionTimer = "2"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileList.2.ONDurationTimer = ".OnDurationTimer"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileList.0.OnDurationTimer = "10"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_ANR_DRXInactivityTimer = 8
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.DRXRetransmissionTimer = "2"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.X_SCM_Scheduler.X_SCM_UlBlerTarget = 10
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.X_SCM_Scheduler.X_SCM_DlCqiFactorAccRate = 820
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.X_SCM_Scheduler.X_SCM_SPSEnableFlag = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.X_SCM_Scheduler.X_SCM_DlScheduleType = 2
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.PHY.PRS.PRSConfigurationIndex = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.PHY.PUSCH.ULRS.SequenceHoppingEnabled = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.PHY.PUSCH.ULRS.GroupHoppingEnabled = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.PHY.PUCCH.N1PUCCHAN = "16"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.PHY.PUCCH.NCSAN = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.PHY.PUCCH.DeltaPUCCHShift = "2"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.PHY.PRACH.X_SCM_RootSequenceIndexList = "823,10,18"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.PHY.AntennaInfo.X_SCM_SISO_Antenna = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.RF.X_SCM_QCOM.RFPath.0.bandList_3 = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.RF.X_SCM_EARFCNULConfigList = "43800,44000"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.RF.X_SCM_EARFCNUL2 = "44000"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.S1AP.TRelocPrep = "3000"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_RRM.X_SCM_LoadBalanceAction = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_RRM.X_SCM_CQIPeriodicity2 = 6
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_RRM.X_SCM_CQIPeriodicity = 6
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_X2AP.X2WhiteList.0.X2HOBlackList = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_X2AP.X2WhiteListNumberOfEntries = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_X2AP.MaxX2BlackListEntries = 16
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.QoS.9.Alias = "-"
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.QoS.8.QCI = 8
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.QoS.6.Enable = 0
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.QoS.3.Priority = 3
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.QoS.1.DSCP = 46
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.QoS.1.PacketDelayBudget = 100
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.QoS.1.Type = "GBR"
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.QoS.0.VLANTag = 0
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.PLMNList.1.X_SCM_Selected_MME_ByPriority = 1
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.PLMNList.1.X_SCM_DEDICATED_PLMN_USER_RESOURCES = 0
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.PLMNList.1.Alias = "Primary PLMNID"
+ Device.Services.FAPService.1.CellConfig.LTE.CAParam.CASwitchUl = "Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_CA_Enable"
+ Device.Services.FAPService.1.CellConfig.LTE.Tunnel.1.TunnelRef = "Device.IP.Interface.1.IPv4Address.1."
+ Device.Services.FAPService.1.CellConfig.LTE.X_SCM_ULTRASON_CONFIG.TPMConfig.TPMTRamp = 500
+ Device.Services.FAPService.1.CellConfig.LTE.X_SCM_ULTRASON_CONFIG.TPMConfig.TPMPmin = -30
+ Device.Services.FAPService.1.CellConfig.LTE.X_SCM_ULTRASON_CONFIG.AnrNoActivityIntervalInMins = 1440
+ Device.Services.FAPService.1.CellConfig.LTE.MaxMmePoolConfigParamEntries = 16
+ Device.Services.FAPService.1.AccessMgmt.LTE.MaxResourceNonCSGMembers = 0
+ Device.Services.FAPService.1.AccessMgmt.LTE.MaxNonCSGMembers = -1
+ Device.Services.FAPService.1.AccessMgmt.LTE.X_SCM_MtAccessforCS = 0
+ Device.Services.FAPService.1.AccessMgmt.LTE.X_SCM_CellMaxUEsServed = "64,64"
+ Device.Services.FAPService.1.AccessMgmt.LTE.X_SCM_VoLtePreEmptMaxPRBUsage = 90
+ Device.Services.FAPService.1.FAPControl.LTE.Gateway.PreSecGW3ServerList.11.SecGWServer3Ip = "2600:0000:cf04:3041:10:158:158:183"
+ Device.Services.FAPService.1.FAPControl.LTE.Gateway.PreSecGW3ServerList.0.SecGWServer3Ip = ""
+ Device.Services.FAPService.1.FAPControl.LTE.Gateway.PreSecGW3ServerListNumberOfEntries = 0
+ Device.Services.FAPService.1.FAPControl.LTE.Gateway.AGPort3 = ""
+ Device.Services.FAPService.1.FAPControl.LTE.Gateway.X_SCM_S1SigLinkServerList_IP_Mapping = ""
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_CRAN.RRHSectorId = "1"
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_CRAN.Enable = 0
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_Debug.X_SCM_RF_modMask = 1
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_Debug.X_SCM_RF_logLevel = 3
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_SceneManagement.LTEIntra.X_SCM_DenseRsrpThreshold = -115
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_SceneManagement.MaxScene3Entries = 32
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_DLPowerSetting.X_SCM_VIPStayCoreMidAreaNumUpRateThreshold = 70
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_CoverageMeasurement.X_SCM_MaxReportCells = 8
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_RO.X_SCM_PowerRampingStepForHighLoad = 2
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_RO.X_SCM_NumberThreshold = 60000
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_MRO.InterFreqA2ThresholdRSRQ = "13,13,13,13,13,13,13,13"
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_MRO.IntraFreqA3TTT = "3,3,6,8,8,10,11,12"
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_MRO.IntraFreqA3OffsetRSRP = "0,2,0,2,8,8,10,10"
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_MRO.ThreshHFR = 0
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_MRO.PersistenceOverpowerChangesEnabled = 0
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_MRO.X_SCM_HOAdjustCIOStep = 2
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_BsPoutCtrl.X_SCM_CPICH = -105
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_BsPoutCtrl.X_SCM_BsListMask = 0
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_ANR_Ctrl.X_SCM_AddNghByX2AnrNgh_NghNumThreshold = -1
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_ANR_Ctrl.X_SCM_ProtectTimeofUeAnr = 15
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_SelfHealing.X_SCM_KPISelfHealingPeriod = 60
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_RunTimePCIOptimizeEnable = 0
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_FakeNasSwitch = 0
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_NoMsg3Action = 0
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_WatchdogHardLimit = 120
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_ReopenRlcDoorThreshold = 2048
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_DSCPEnable = 0
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_AsPriCipherAlgoList = "{0}"
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_ANROptimizePciEnable = 0
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_ANRDetectPciConflictEnable = 1
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_TrigHoPunishPeriod = 600000
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_EndMarkerTimerValue = 200
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_Period = 0
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_ScellRelThreshold = 10
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_ScellCqiLowThreshold = 10
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_ARPEmergencyServicePriority = 1
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_WIRESHARK.X_SCM_EnableRrcWireshark = 0
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SAS.CPISignatureData = "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJmY2NJZCI6IlAyNy1TQ0U0MjU1VyIsImNic2RTZXJpYWxOdW1iZXIiOiJTZXJjb21tLTIwMDlDVzUwMDAwMTkiLCJpbnN0YWxsYXRpb25QYXJhbSI6eyJsYXRpdHVkZSI6MzIuMzQ0NzUyLCJsb25naXR1ZGUiOi0xMTEuMDEyMzAyLCJoZWlnaHQiOjEsImhlaWdodFR5cGUiOiJBR0wiLCJpbmRvb3JEZXBsb3ltZW50Ijp0cnVlLCJhbnRlbm5hQXppbXV0aCI6MCwiYW50ZW5uYURvd250aWx0IjowLCJhbnRlbm5hR2FpbiI6NSwiYW50ZW5uYUJlYW13aWR0aCI6MzYwLCJob3Jpem9udGFsQWNjdXJhY3kiOjMsInZlcnRpY2FsQWNjdXJhY3kiOjMsImVpcnBDYXBhYmlsaXR5IjoyOH0sInByb2Zlc3Npb25hbEluc3RhbGxlckRhdGEiOnsiY3BpSWQiOiJHT09HLTAwMTIxMiIsImNwaU5hbWUiOiJXZWktWXUgQ2hlbiIsImluc3RhbGxDZXJ0aWZpY2F0aW9uVGltZSI6IjIwMjEtMDktMDlUMDA6MDA6MDBaIn19.ljSE95LcLwKXDgrFIX43M4BUTfmkl62KQvt0TNnsZh2SUgpw0ALQCEuSzh7KHRPOvVT5F8JjsKQeeewXSrHSLXPuPwCcxwYGDrwAp_SMiXJu7-ihL-ww_qOsZ-nu1W8alMe8oyxFiEYDN0957PBr9YP-Mj8uptVJ9VKJjf1bawzx0wihwXhTtioNMmvEO_zltD83BK14kaLM0aAcstgjHjNT7tIBE-0O3QGuN8o7jdGHxy9y7FUCPSmih2B5iu2ygVALGzYglnFebK873pp3mjKPh7XO776OjkNgYHHk5uCqf4JOf03z39Cn-CQVSnZTx-1LHV-mYJnhF4yk2R_chg"
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_CMP.Config.1.EMSURL = ""
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_CMP.Config.0.X_SCM_CertificateName = ""
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_CMP.CmpInTunnel = 0
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_CMP.Recipient = ""
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_CMP.Port = ""
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_CMP.Server = ""
+ Device.Services.FAPService.1.FAPControl.LTE.SelfConfig.SONConfigParam.PRACHConfigEnable = 0
+ Device.Services.FAPService.1.FAPControl.LTE.SelfConfig.SONConfigParam.MaxUTRANNeighbourCellNum = "Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.MaxUMTSEntries"
+ Device.Services.FAPService.1.FAPControl.LTE.SelfConfig.SONConfigParam.CandidateARFCNList = "Device.Services.FAPService.1.CellConfig.LTE.RAN.RF.EARFCNDL"
+ Device.Services.FAPService.1.FAPControl.LTE.SelfConfig.SONConfigParam.PCIReconfigWaitTime = 0
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_AllowPLMNListInNeighbor = ""
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_LocationVerifyPass = 1
+ Device.Services.FAPService.1.FAPControl.X_SCM_LWM2M.X_SCM_RelayManagement.X_SCM_BackhaulSecondaryqOffsetFreq = 0
+ Device.Services.FAPService.1.FAPControl.X_SCM_LWM2M.X_SCM_Server.1.X_SCM_NotificationStoringWhenDisabledOrOffline = 0
+ Device.Services.FAPService.1.FAPControl.X_SCM_Action_Reset = 0
+ Device.Services.FAPService.1.FAPControl.EnclosureTamperingDetected = 0
+ Device.Services.FAPService.1.FAPControl.SelfConfigEvents = ""
+ Device.Services.FAPService.1.Capabilities.LTE.SupportActiveRRCNumbers = "Device.Services.FAPService.1.AccessMgmt.LTE.X_SCM_MaxUEsConnected"
+ Device.IPsec.MyKeyMode = ""
+ Device.IPsec.Status = "Disabled"
+ Device.FaultMgmt.HistoryEvent.2.AlarmIdentifier = "11206"
+ Device.FaultMgmt.ExpeditedEvent.2.AlarmIdentifier = "11206"
+ Device.Security.Certificate.3.SignatureAlgorithm = ""
+ Device.Security.Certificate.1.NotAfter = Mon Sep 23 04:55:21 2030
+
+ Device.Security.Certificate.1.X_SCM_CertificateName = "sas.cert"
+ Device.Security.Certificate.1.Enable = 1
+ Device.X_SCM_WiFi.isOpenFuntion = 1
+ Device.X_SCM_WiFi.DebugStatus = ""
+ Device.X_SCM_DeviceFeature.X_SCM_PeakThp.X_SCM_PeakThpDL = "0"
+ Device.X_SCM_DeviceFeature.X_SCM_Troubleshooting.Info.0.Name = ""
+ Device.X_SCM_DeviceFeature.X_SCM_LED.X_SCM_LED_GPS_Status = ""
+ Device.X_SCM_DeviceFeature.X_SCM_NEStatus.X_SCM_IpsecSecond_Status = ""
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_Web_Control.X_SCM_RMBlackList = ""
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.10.X_SCM_AppDownActionMask = 1
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.9.X_SCM_AppDownActionMask = 1
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.8.X_SCM_AppTimeoutToRunningAction = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.8.X_SCM_AppEnableCheck = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.7.X_SCM_AppStateValidationTimes = 1
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.7.X_SCM_AppCrashCountMax = 10
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.4.X_SCM_AppName = "ipsec"
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.2.X_SCM_AppCrashMaxAction = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.2.X_SCM_AppUploadErrLogControl = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_RcWanDnsServerCheckEnable = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.UserAccount.5.UserFailedLoginTimes = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.UserAccount.4.UserPasswordLifeCycle = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.UserAccount.4.UserPassword = "$5$FEuupDTkzBLYTApB$ojM7jECSQ0BgIeZM0xigCHtt5ovJadTJHqYjXcqRt.5"
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.UserAccount.3.UserChangedPasswordTime = ""
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.UserAccount.3.UserClassification = 3
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.UserAccount.2.UserLockedTime = 0001-01-01T00:00:00Z
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.UserAccount.2.UserChangedPassword = ""
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.UserAccount.1.UserLevel = 7
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.UserAccount.0.UserName = ""
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.Ncom.X_SCM_NcomNodeBPeerIp = "11.11.11.200"
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_InternalUntagVID = 2222
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_VlanMacEnable = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_CPUOverLoadingPeriod = 180
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_CPULoadingOverThreshold = 90
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_S1uDscpTag = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_ScheduledRebootDelay = 300
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_CwmpScheduleKey = ""
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_LedModeProfile = -1
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.15.Alias = "rc_cert"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.13.CrashCountMax = 10
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.12.CrashAction = "100_REBOOT_SERVICE"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.12.Dependency = "fsminitd,sniffer"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.11.Status = "unsatisfied"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.10.Name = "sniffer"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.9.Name = "gps"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.7.CrashMaxAction = "200_REBOOT_SYSTEM"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.4.Alias = "rc_henb"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.2.CrashCountMax = 10
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.1.CrashAction = "100_REBOOT_SERVICE"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.1.Dependency = ""
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.0.Status = "unsatisfied"
+ Device.X_SCM_DeviceFeature.X_SCM_SSHServerInterfaceIPAddress = ""
+ Device.X_SCM_DeviceFeature.X_SCM_ExtPPSDependNTPEnable = 0
+ Device.FAP.X_SCM_PLCMgmt.Encryption_Configuration.Enable = 1
+ Device.FAP.X_SCM_MrMgmt.Config.1.Username = ""
+ Device.FAP.PerfMgmt.Config.1.Password = ""
+ Device.FAP.Tunnel.ChildSA.0.CreationTime = 0001-01-01T00:00:00Z
+ Device.FAP.Tunnel.CryptoProfile.1.IKEPRF = "HMAC-SHA1"
+ Device.FAP.Tunnel.X_SCM_MtuControl = 0
+ Device.FAP.GPS.NumberOfSatellites = 0
+ Device.FAP.GPS.X_SCM_AGLHeight = 0
+ Device.FAP.GPS.X_SCM_State = ""
+ Device.FAP.GPS.LastSuccessfulScanTime = 0001-01-01T00:00:00Z
+ Device.FAP.GPS.ScanPeriodically = 0
+ Device.FAP.X_SCM_EM.X_SCM_LocationChangeAlarmAction = "NO"
+ Device.FAP.X_SCM_EM.X_SCM_MACChangeCountMax = 0
+ Device.Security.X_SCM_IPsec.X_SCM_CRL.X_SCM_Interval = 0
+ Device.Security.X_SCM_IPsec.X_SCM_Ipsecconf.X_SCM_Connection.0.X_SCM_Mark = ""
+ Device.Security.X_SCM_IPsec.X_SCM_Ipsecconf.X_SCM_Connection.0.X_SCM_Rightid = ""
+ Device.Security.X_SCM_IPsec.X_SCM_Ipsecconf.X_SCM_Connection.0.X_SCM_Leftcert = ""
+ Device.Security.X_SCM_IPsec.X_SCM_Ipsecconf.X_SCM_Connection.0.X_SCM_Left = ""
+ Device.FaultMgmt.ExpeditedEvent.0.EventType = ""
+ Device.FaultMgmt.HistoryEvent.0.EventType = ""
+ Device.FaultMgmt.CurrentAlarm.0.AdditionalText = ""
+ Device.FaultMgmt.CurrentAlarm.0.PerceivedSeverity = ""
+ Device.FaultMgmt.SupportedAlarm.93.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.92.EventType = "Processing Error Alarm"
+ Device.FaultMgmt.SupportedAlarm.90.ProbableCause = "MEMORY utilization exceeds threshold 1."
+ Device.FaultMgmt.SupportedAlarm.88.SpecificProblem = "System overload level 3 is exceeded(80%)."
+ Device.FaultMgmt.SupportedAlarm.87.PerceivedSeverity = "Minor"
+ Device.FaultMgmt.SupportedAlarm.86.X_SCM_RaiseNum = 0
+ Device.FaultMgmt.SupportedAlarm.84.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.83.EventType = "Processing Error Alarm"
+ Device.FaultMgmt.SupportedAlarm.81.ProbableCause = "Disk Usage of a critical partition has exceeded critical threshold value."
+ Device.FaultMgmt.SupportedAlarm.80.X_SCM_AlarmIdentifier = "11210"
+ Device.FaultMgmt.SupportedAlarm.79.SpecificProblem = "The Disk Usage of all partitions configured in the OvldDiskInfo for a card has exceeded the maximum allowed threshold(80%)."
+ Device.FaultMgmt.SupportedAlarm.78.PerceivedSeverity = "Major"
+ Device.FaultMgmt.SupportedAlarm.77.X_SCM_RaiseNum = 0
+ Device.FaultMgmt.SupportedAlarm.75.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.74.EventType = "Environmental Alarm"
+ Device.FaultMgmt.SupportedAlarm.72.ProbableCause = "RF Warning Temperature Reached"
+ Device.FaultMgmt.SupportedAlarm.69.PerceivedSeverity = "Major"
+ Device.FaultMgmt.SupportedAlarm.68.X_SCM_RaiseNum = 0
+ Device.FaultMgmt.SupportedAlarm.66.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.65.EventType = "Equipment Alarm"
+ Device.FaultMgmt.SupportedAlarm.63.ProbableCause = "Device Error"
+ Device.FaultMgmt.SupportedAlarm.62.X_SCM_AlarmIdentifier = "11191"
+ Device.FaultMgmt.SupportedAlarm.60.SpecificProblem = "Firmware Upgrade By HMS Fail "
+ Device.FaultMgmt.SupportedAlarm.59.X_SCM_RaiseNum = 0
+ Device.FaultMgmt.SupportedAlarm.57.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.56.EventType = "Environmental Alarm"
+ Device.FaultMgmt.SupportedAlarm.54.ProbableCause = "I2C Offset Over Threhold"
+ Device.FaultMgmt.SupportedAlarm.53.X_SCM_AlarmIdentifier = "11174"
+ Device.FaultMgmt.SupportedAlarm.51.SpecificProblem = "Configuration Check Failure"
+ Device.FaultMgmt.SupportedAlarm.50.PerceivedSeverity = "Critical"
+ Device.FaultMgmt.SupportedAlarm.48.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.47.EventType = "Environmental Alarm"
+ Device.FaultMgmt.SupportedAlarm.45.ProbableCause = "Sleeping Cell"
+ Device.FaultMgmt.SupportedAlarm.44.X_SCM_AlarmIdentifier = "11181"
+ Device.FaultMgmt.SupportedAlarm.42.SpecificProblem = "Cell Setup Earfcn Inuse RSSI Interference"
+ Device.FaultMgmt.SupportedAlarm.41.PerceivedSeverity = "Warning"
+ Device.FaultMgmt.SupportedAlarm.40.X_SCM_RaiseNum = 0
+ Device.FaultMgmt.SupportedAlarm.39.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.38.EventType = "Quality Of Service Alarm"
+ Device.FaultMgmt.SupportedAlarm.36.ProbableCause = "PLL Lock Failure"
+ Device.FaultMgmt.SupportedAlarm.35.X_SCM_AlarmIdentifier = "11161"
+ Device.FaultMgmt.SupportedAlarm.33.SpecificProblem = "CPUL Crash"
+ Device.FaultMgmt.SupportedAlarm.32.PerceivedSeverity = "Critical"
+ Device.FaultMgmt.SupportedAlarm.31.X_SCM_RaiseNum = 0
+ Device.FaultMgmt.SupportedAlarm.29.EventType = "Communications Alarm"
+ Device.FaultMgmt.SupportedAlarm.27.ProbableCause = "Cell Unavailable:Base Band Start Fail"
+ Device.FaultMgmt.SupportedAlarm.26.X_SCM_AlarmIdentifier = "11153"
+ Device.FaultMgmt.SupportedAlarm.24.SpecificProblem = "CWMP Connect Failed"
+ Device.FaultMgmt.SupportedAlarm.23.PerceivedSeverity = "Critical"
+ Device.FaultMgmt.SupportedAlarm.22.X_SCM_RaiseNum = 0
+ Device.FaultMgmt.SupportedAlarm.20.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.18.ProbableCause = "Cell Congestion"
+ Device.FaultMgmt.SupportedAlarm.17.X_SCM_AlarmIdentifier = "11146"
+ Device.FaultMgmt.SupportedAlarm.15.SpecificProblem = "SCTP Rejected Connection"
+ Device.FaultMgmt.SupportedAlarm.14.PerceivedSeverity = "Major"
+ Device.FaultMgmt.SupportedAlarm.13.X_SCM_RaiseNum = 0
+ Device.FaultMgmt.SupportedAlarm.11.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.10.EventType = "Equipment Alarm"
+ Device.FaultMgmt.SupportedAlarm.9.EventType = "Quality Of Service Alarm"
+ Device.FaultMgmt.SupportedAlarm.7.ProbableCause = "Location Changed"
+ Device.FaultMgmt.SupportedAlarm.6.X_SCM_AlarmIdentifier = "11108"
+ Device.FaultMgmt.SupportedAlarm.4.SpecificProblem = "S1 Setup Failure"
+ Device.FaultMgmt.SupportedAlarm.3.PerceivedSeverity = "Major"
+ Device.FaultMgmt.SupportedAlarm.2.X_SCM_RaiseNum = 0
+ Device.FaultMgmt.SupportedAlarm.0.ReportingMechanism = ""
+ Device.FaultMgmt.CurrentAlarmNumberOfEntries = 0
+ Device.PeriodicStatistics.SampleSet.3.Parameter.52.Values = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.48.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.47.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.47.Alias = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.47.X_SCM_Name = "MR.GsmNcellCarrierRSSI"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.46.Reference = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.44.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.44.Enable = 1
+ Device.PeriodicStatistics.SampleSet.3.Parameter.43.Values = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.39.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.38.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.38.Alias = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.38.X_SCM_Name = "MR.LteScPUSCHPRBNum"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.37.Reference = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.35.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.35.Enable = 1
+ Device.PeriodicStatistics.SampleSet.3.Parameter.34.Values = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.29.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.29.Alias = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.29.X_SCM_Name = "MR.LteNcRSRQ"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.28.Reference = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.26.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.26.Enable = 1
+ Device.PeriodicStatistics.SampleSet.3.Parameter.25.Values = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.20.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.19.Reference = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.17.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.17.Enable = 1
+ Device.PeriodicStatistics.SampleSet.3.Parameter.16.Values = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.11.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.10.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.10.Alias = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.10.X_SCM_Name = "MR.RIPPRB"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.9.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.9.Alias = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.9.X_SCM_Name = "MR.SinrUL"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.8.Reference = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.6.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.6.Enable = 1
+ Device.PeriodicStatistics.SampleSet.3.Parameter.5.Values = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.0.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.203.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.202.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.202.Alias = "CSFBFail"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.202.X_SCM_Name = "CC.FailCalls.Csfb"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.201.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.195.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.194.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.194.Alias = "CRMeanNbrAssnBruUlMax"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.194.X_SCM_Name = "TCR.ULCodeResUsed"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.193.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.191.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.191.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.190.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.186.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.185.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.185.Alias = "RoutingAreaUpdateComplete"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.185.X_SCM_Name = "MM.SuccRaUpdate"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.184.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.182.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.182.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.181.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.177.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.176.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.176.Alias = "NAS_DeactivatePDPContextAccPerTraffic"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.176.X_SCM_Name = "SM.SuccDeactPdpContext"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.175.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.173.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.173.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.172.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.168.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.167.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.167.Alias = "NAS_DlDisconnectNormalClearAfterActive_Conv_AMR"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.167.X_SCM_Name = "CC.ClrInVoiceCalls"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.166.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.164.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.164.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.163.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.159.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.158.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.158.Alias = "NAS_UlSetup_Conv_Video"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.158.X_SCM_Name = "CC.AttOutVideoCalls"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.157.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.155.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.155.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.154.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.149.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.149.Alias = "RrcConnRej_Hnb_Not_Register"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.149.X_SCM_Name = "RRC.FailConnEstab.HnbNotRegister"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.148.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.146.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.146.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.145.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.140.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.139.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.137.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.137.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.136.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.131.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.130.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.130.Alias = "RrcConnSetupCompOriginatingInteractiveCall"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.130.X_SCM_Name = "RRC.SuccConnEstab.OriginatingInteractiveCall"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.128.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.128.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.127.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.122.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.121.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.121.Alias = "RrcConnReqOriginatingLowPrioritySignalling"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.121.X_SCM_Name = "RRC.AttConnEstab.OriginatingLowPrioritySignalling"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.120.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.119.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.119.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.118.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.113.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.112.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.112.Alias = "RrcConnReqTerminatingStreamingCall"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.112.X_SCM_Name = "RRC.AttConnEstab.TerminatingStreamingCall"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.111.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.109.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.104.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.103.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.103.Alias = "PagingResponseRcv"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.103.X_SCM_Name = "Pag.ResponseUe.Normal"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.102.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.100.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.100.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.99.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.94.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.93.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.93.Alias = "HnbapUeRegisterRejectRecv"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.93.X_SCM_Name = "IUH.FailUeReg.Reject"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.92.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.90.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.90.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.85.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.84.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.84.Alias = "SctpAssoc_Abort_ERROR_PV"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.84.X_SCM_Name = "IUH.SctpAbort.ProtocolViolation"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.83.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.81.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.81.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.80.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.76.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.75.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.75.Alias = "SctpAssoc_Abort_ERROR_RES"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.75.X_SCM_Name = "IUH.SctpAbort.NoResource"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.74.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.72.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.72.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.71.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.67.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.66.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.66.Alias = "PS_DCHHandoverHnbToUmtsFailNum"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.66.X_SCM_Name = "RELOC.FailUEInvolPS"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.65.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.63.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.63.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.62.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.58.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.57.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.57.Alias = "CSConv12.2kTime"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.57.X_SCM_Name = "RRC.CallDurationCS.Conv.22"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.56.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.54.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.54.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.53.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.49.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.48.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.48.Alias = "PSIuUsrUlTraffic"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.48.X_SCM_Name = "IUH.NumUserBits.PSUL"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.47.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.45.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.45.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.44.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.39.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.39.Alias = "PS_DCHFail_IUUPRTP_Failed"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.39.X_SCM_Name = "RAB.FailEstabPS.IuupRtpFail"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.38.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.36.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.36.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.35.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.30.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.29.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.27.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.27.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.26.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.21.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.20.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.20.Alias = "Video_RAB_Setup_Success"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.20.X_SCM_Name = "RAB.SuccEstabVideo"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.18.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.18.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.17.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.12.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.11.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.11.Alias = "Voice_RAB_Setup_Req"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.11.X_SCM_Name = "RAB.AttEstabVoice"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.10.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.9.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.7.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.7.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.6.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.1.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.0.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.0.Alias = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.0.X_SCM_Name = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2191.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2187.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2186.Alias2 = "ERAB.AbnormalErabRelease.8"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2186.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2186.X_SCM_Name = "ERAB.AbnormalErabRelease.QCI.8"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2185.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2183.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2183.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2182.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2178.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2177.Alias2 = "RRC.ConnEstabTimeMax.PLMN.2.Spare2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2177.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2177.X_SCM_Name = "RRC.ConnEstabTimeMax.PLMN.2.Cause.Spare2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2176.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2174.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2174.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2173.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2169.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2168.Alias2 = "RRC.ConnEstabTimeMax.PLMN.1.DelayTolerantAccess"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2168.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2168.X_SCM_Name = "RRC.ConnEstabTimeMax.PLMN.1.Cause.DelayTolerantAccess"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2167.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2165.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2165.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2164.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2159.Alias2 = "RRC.ConnEstabTimeMean.PLMN.2.MoData"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2159.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2159.X_SCM_Name = "RRC.ConnEstabTimeMean.PLMN.2.Cause.MoData"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2158.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2156.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2156.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2155.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2150.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2149.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2147.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2147.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2146.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2141.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2140.Alias2 = "RRC.ConnEstabSuccPLMN.2.MoData"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2140.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2140.X_SCM_Name = "RRC.ConnEstabSuccPLMN.2.Cause.MoData"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2138.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2138.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2137.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2132.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2131.Alias2 = "RRC.ConnEstabSuccPLMN.1.MoData"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2131.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2131.X_SCM_Name = "RRC.ConnEstabSuccPLMN.1.Cause.MoData"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2130.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2129.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2129.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2128.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2123.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2122.Alias2 = "RRC.ConnEstabAttPLMN.2.MoData"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2122.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2122.X_SCM_Name = "RRC.ConnEstabAttPLMN.2.Cause.MoData"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2121.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2119.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2114.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2113.Alias2 = "RRC.ConnEstabAttPLMN.1.MoData"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2113.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2113.X_SCM_Name = "RRC.ConnEstabAttPLMN.1.Cause.MoData"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2112.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2110.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2110.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2105.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2104.Alias2 = "S1SIG.ConnEstabSucc.MoSignalling"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2104.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2104.X_SCM_Name = "S1SIG.ConnEstabSucc.MoSignalling"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2103.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2101.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2101.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2100.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2097.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2096.Alias2 = "S1SIG.ConnEstabAtt.MoSignalling"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2096.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2096.X_SCM_Name = "S1SIG.ConnEstabAtt.MoSignalling"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2095.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2093.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2093.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2092.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2088.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2087.Alias2 = "Dev.eNB.Bandwidth"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2087.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2087.X_SCM_Name = "Dev.eNB.Bandwidth"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2086.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2084.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2084.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2083.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2079.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2078.Alias2 = "HO.IartOutSucc.Misc.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2078.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2078.X_SCM_Name = "HO.IartOutSucc.Cause.Misc.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2077.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2075.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2075.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2074.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2069.Alias2 = "HO.IartOutSucc.Protocol.IgnoreAndNotify"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2069.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2069.X_SCM_Name = "HO.IartOutSucc.Cause.Protocol.IgnoreAndNotify"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2068.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2066.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2066.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2065.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2060.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2059.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2057.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2057.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2056.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2051.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2050.Alias2 = "HO.IartOutSucc.RadioNetwork.RadioInteractionFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2050.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2050.X_SCM_Name = "HO.IartOutSucc.Cause.RadioNetwork.RadioInteractionFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2048.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2048.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2047.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2042.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2041.Alias2 = "HO.IartOutSucc.RadioNetwork.UserInactivity"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2041.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2041.X_SCM_Name = "HO.IartOutSucc.Cause.RadioNetwork.UserInactivity"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2040.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2039.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2039.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2038.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2033.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2032.Alias2 = "HO.IartOutSucc.RadioNetwork.UnknownTargetID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2032.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2032.X_SCM_Name = "HO.IartOutSucc.Cause.RadioNetwork.UnknownTargetID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2031.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2029.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2024.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2023.Alias2 = "HO.IartOutSucc.RadioNetwork.SuccessHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2023.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2023.X_SCM_Name = "HO.IartOutSucc.Cause.RadioNetwork.SuccessHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2022.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2020.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2020.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2015.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2014.Alias2 = "HO.IartOutAtt.Misc.ControlProcessingOverload"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2014.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2014.X_SCM_Name = "HO.IartOutAtt.Cause.Misc.ControlProcessingOverload"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2013.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2011.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2011.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2010.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2006.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2005.Alias2 = "HO.IartOutAtt.Nas.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2005.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2005.X_SCM_Name = "HO.IartOutAtt.Cause.Nas.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2004.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2002.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2002.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2001.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1999.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1998.Alias2 = "HO.IartOutAtt.RadioNetwork.ErrorQCI"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1998.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1998.X_SCM_Name = "HO.IartOutAtt.Cause.RadioNetwork.ErrorQCI"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1997.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1995.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1995.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1994.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1989.Alias2 = "HO.IartOutAtt.RadioNetwork.IRATRedirection"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1989.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1989.X_SCM_Name = "HO.IartOutAtt.Cause.RadioNetwork.IRATRedirection"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1988.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1986.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1986.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1985.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1980.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1979.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1977.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1977.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1976.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1971.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1970.Alias2 = "HO.IartOutAtt.RadioNetwork.TS1RELOCprep"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1970.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1970.X_SCM_Name = "HO.IartOutAtt.Cause.RadioNetwork.TS1RELOCprep"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1968.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1968.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1967.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1962.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1961.Alias2 = "HO.IartOutAtt.RadioNetwork.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1961.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1961.X_SCM_Name = "HO.IartOutAtt.Cause.RadioNetwork.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1960.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1959.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1959.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1958.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1953.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1952.Alias2 = "HO.OutSuccTarget.Protocol.FalselyConstructedMessage"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1952.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1952.X_SCM_Name = "HO.OutSuccTarget.Cause.Protocol.FalselyConstructedMessage"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1951.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1949.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1944.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1943.Alias2 = "HO.OutSuccTarget.Nas.AuthenticationFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1943.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1943.X_SCM_Name = "HO.OutSuccTarget.Cause.Nas.AuthenticationFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1942.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1940.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1940.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1935.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1934.Alias2 = "HO.OutSuccTarget.RadioNetwork.S1IntraSystemHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1934.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1934.X_SCM_Name = "HO.OutSuccTarget.Cause.RadioNetwork.S1IntraSystemHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1933.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1931.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1931.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1930.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1926.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1925.Alias2 = "HO.OutSuccTarget.RadioNetwork.UENotAvailableforPS"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1925.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1925.X_SCM_Name = "HO.OutSuccTarget.Cause.RadioNetwork.UENotAvailableforPS"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1924.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1922.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1922.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1921.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1917.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1916.Alias2 = "HO.OutSuccTarget.RadioNetwork.UES1APIDPairError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1916.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1916.X_SCM_Name = "HO.OutSuccTarget.Cause.RadioNetwork.UES1APIDPairError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1915.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1913.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1913.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1912.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1908.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1907.Alias2 = "HO.OutSuccTarget.RadioNetwork.HOFailureInTarget"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1907.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1907.X_SCM_Name = "HO.OutSuccTarget.Cause.RadioNetwork.HOFailureInTarget"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1906.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1904.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1904.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1903.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1899.Alias2 = "HO.OutAttTarget.Misc.UnknownPLMN"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1899.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1899.X_SCM_Name = "HO.OutAttTarget.Cause.Misc.UnknownPLMN"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1898.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1896.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1896.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1895.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1890.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1889.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1887.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1887.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1886.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1881.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1880.Alias2 = "HO.OutAttTarget.Transport.ResourceUnavailable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1880.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1880.X_SCM_Name = "HO.OutAttTarget.Cause.Transport.ResourceUnavailable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1878.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1878.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1877.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1872.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1871.Alias2 = "HO.OutAttTarget.RadioNetwork.UnknownERABID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1871.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1871.X_SCM_Name = "HO.OutAttTarget.Cause.RadioNetwork.UnknownERABID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1870.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1869.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1869.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1868.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1863.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1862.Alias2 = "HO.OutAttTarget.RadioNetwork.UERadioConnectionLost"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1862.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1862.X_SCM_Name = "HO.OutAttTarget.Cause.RadioNetwork.UERadioConnectionLost"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1861.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1859.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1854.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1853.Alias2 = "HO.OutAttTarget.RadioNetwork.RadioResUnavailableInTarget"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1853.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1853.X_SCM_Name = "HO.OutAttTarget.Cause.RadioNetwork.RadioResUnavailableInTarget"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1852.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1850.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1850.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1845.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1844.Alias2 = "HO.OutAttTarget.RadioNetwork.ReleaseForEUTRANReason"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1844.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1844.X_SCM_Name = "HO.OutAttTarget.Cause.RadioNetwork.ReleaseForEUTRANReason"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1843.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1841.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1841.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1840.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1836.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1835.Alias2 = "RRU.PrbUl.4"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1835.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1835.X_SCM_Name = "RRU.PrbUl.QCI.4"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1834.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1832.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1832.Enable = 0
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1831.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1827.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1826.Alias2 = "RRU.PrbDl.4"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1826.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1826.X_SCM_Name = "RRU.PrbDl.QCI.4"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1825.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1823.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1823.Enable = 0
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1822.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1818.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1817.Alias2 = "DRB.IPThpUl.6"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1817.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1817.X_SCM_Name = "DRB.IPThpUl.QCI.6"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1816.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1814.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1814.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1813.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1809.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1808.Alias2 = "DRB.IpLateDl.6"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1808.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1808.X_SCM_Name = "DRB.IpLateDl.QCI.6"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1807.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1805.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1805.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1804.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1799.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1797.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1797.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1796.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1791.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1790.Alias2 = "DRB.UEActiveDl.8"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1790.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1790.X_SCM_Name = "DRB.UEActiveDl.QCI.8"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1788.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1788.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1787.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1782.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1781.Alias2 = "HO.NoDrxOutAtt"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1781.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1781.X_SCM_Name = "HO.NoDrxOutAtt"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1780.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1779.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1779.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1778.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1773.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1772.Alias2 = "HO.InterEnbOutSucc.Misc.UnknownPLMN"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1772.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1772.X_SCM_Name = "HO.InterEnbOutSucc.Cause.Misc.UnknownPLMN"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1771.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1769.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1764.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1763.Alias2 = "HO.InterEnbOutSucc.Protocol.MessageStateNotCompatible"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1763.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1763.X_SCM_Name = "HO.InterEnbOutSucc.Cause.Protocol.MessageStateNotCompatible"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1762.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1760.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1760.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1755.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1754.Alias2 = "HO.InterEnbOutSucc.Transport.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1754.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1754.X_SCM_Name = "HO.InterEnbOutSucc.Cause.Transport.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1753.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1751.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1751.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1750.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1746.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1745.Alias2 = "HO.InterEnbOutSucc.RadioNetwork.MultipleERABID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1745.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1745.X_SCM_Name = "HO.InterEnbOutSucc.Cause.RadioNetwork.MultipleERABID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1744.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1742.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1742.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1741.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1737.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1736.Alias2 = "HO.InterEnbOutSucc.RadioNetwork.TAULoadBalancing"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1736.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1736.X_SCM_Name = "HO.InterEnbOutSucc.Cause.RadioNetwork.TAULoadBalancing"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1735.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1733.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1733.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1732.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1728.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1727.Alias2 = "HO.InterEnbOutSucc.RadioNetwork.MMEUES1APIDError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1727.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1727.X_SCM_Name = "HO.InterEnbOutSucc.Cause.RadioNetwork.MMEUES1APIDError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1726.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1724.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1724.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1723.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1719.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1718.Alias2 = "HO.InterEnbOutSucc.RadioNetwork.HOCancel"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1718.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1718.X_SCM_Name = "HO.InterEnbOutSucc.Cause.RadioNetwork.HOCancel"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1717.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1715.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1715.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1714.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1709.Alias2 = "HO.InterEnbOutAtt.Misc.NotEnoughUserPlaneResources"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1709.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1709.X_SCM_Name = "HO.InterEnbOutAtt.Cause.Misc.NotEnoughUserPlaneResources"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1708.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1706.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1706.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1705.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1700.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1698.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1698.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1697.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1692.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1691.Alias2 = "HO.InterEnbOutAtt.RadioNetwork.RedirectTo1xRTT"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1691.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1691.X_SCM_Name = "HO.InterEnbOutAtt.Cause.RadioNetwork.RedirectTo1xRTT"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1690.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1689.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1689.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1688.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1683.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1682.Alias2 = "HO.InterEnbOutAtt.RadioNetwork.InvalidQoSCombination"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1682.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1682.X_SCM_Name = "HO.InterEnbOutAtt.Cause.RadioNetwork.InvalidQoSCombination"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1681.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1679.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1674.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1673.Alias2 = "HO.InterEnbOutAtt.RadioNetwork.ResourceOptimisationHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1673.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1673.X_SCM_Name = "HO.InterEnbOutAtt.Cause.RadioNetwork.ResourceOptimisationHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1672.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1670.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1670.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1665.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1664.Alias2 = "HO.InterEnbOutAtt.RadioNetwork.TS1RELOCprep"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1664.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1664.X_SCM_Name = "HO.InterEnbOutAtt.Cause.RadioNetwork.TS1RELOCprep"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1663.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1661.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1661.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1660.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1656.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1655.Alias2 = "HO.InterEnbOutAtt.RadioNetwork.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1655.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1655.X_SCM_Name = "HO.InterEnbOutAtt.Cause.RadioNetwork.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1654.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1652.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1652.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1651.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1647.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1646.Alias2 = "HO.IntraEnbOutSucc.Protocol.FalselyConstructedMessage"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1646.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1646.X_SCM_Name = "HO.IntraEnbOutSucc.Cause.Protocol.FalselyConstructedMessage"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1645.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1643.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1643.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1642.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1638.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1637.Alias2 = "HO.IntraEnbOutSucc.Nas.AuthenticationFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1637.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1637.X_SCM_Name = "HO.IntraEnbOutSucc.Cause.Nas.AuthenticationFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1636.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1634.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1634.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1633.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1629.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1628.Alias2 = "HO.IntraEnbOutSucc.RadioNetwork.S1IntraSystemHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1628.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1628.X_SCM_Name = "HO.IntraEnbOutSucc.Cause.RadioNetwork.S1IntraSystemHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1627.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1625.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1625.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1624.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1619.Alias2 = "HO.IntraEnbOutSucc.RadioNetwork.UENotAvailableforPS"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1619.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1619.X_SCM_Name = "HO.IntraEnbOutSucc.Cause.RadioNetwork.UENotAvailableforPS"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1618.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1616.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1616.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1615.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1610.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1609.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1607.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1607.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1606.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1601.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1600.Alias2 = "HO.IntraEnbOutSucc.RadioNetwork.PartialHandover"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1600.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1600.X_SCM_Name = "HO.IntraEnbOutSucc.Cause.RadioNetwork.PartialHandover"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1599.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1599.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1598.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1593.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1592.Alias2 = "HO.IntraEnbOutAtt.Misc.OMIntervention"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1592.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1592.X_SCM_Name = "HO.IntraEnbOutAtt.Cause.Misc.OMIntervention"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1591.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1589.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1584.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1583.Alias2 = "HO.IntraEnbOutAtt.Protocol.Reject"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1583.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1583.X_SCM_Name = "HO.IntraEnbOutAtt.Cause.Protocol.Reject"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1582.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1580.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1580.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1575.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1574.Alias2 = "HO.IntraEnbOutAtt.RadioNetwork.InvalidCSGID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1574.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1574.X_SCM_Name = "HO.IntraEnbOutAtt.Cause.RadioNetwork.InvalidCSGID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1573.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1571.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1571.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1570.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1566.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1565.Alias2 = "HO.IntraEnbOutAtt.RadioNetwork.RadioInteractionFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1565.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1565.X_SCM_Name = "HO.IntraEnbOutAtt.Cause.RadioNetwork.RadioInteractionFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1564.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1562.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1562.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1561.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1557.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1556.Alias2 = "HO.IntraEnbOutAtt.RadioNetwork.UserInactivity"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1556.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1556.X_SCM_Name = "HO.IntraEnbOutAtt.Cause.RadioNetwork.UserInactivity"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1555.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1553.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1553.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1552.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1548.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1547.Alias2 = "HO.IntraEnbOutAtt.RadioNetwork.UnknownTargetID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1547.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1547.X_SCM_Name = "HO.IntraEnbOutAtt.Cause.RadioNetwork.UnknownTargetID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1546.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1544.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1544.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1543.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1539.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1538.Alias2 = "HO.IntraEnbOutAtt.RadioNetwork.SuccessHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1538.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1538.X_SCM_Name = "HO.IntraEnbOutAtt.Cause.RadioNetwork.SuccessHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1537.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1535.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1535.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1534.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1529.Alias2 = "ERAB.SessionTimeQCI.3"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1529.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1529.X_SCM_Name = "ERAB.SessionTimeQCI.QCI.3"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1528.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1526.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1526.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1525.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1520.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1519.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1517.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1517.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1516.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1511.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1510.Alias2 = "ERAB.ModQoSFailNbr.Nas.AuthenticationFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1510.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1510.X_SCM_Name = "ERAB.ModQoSFailNbr.Cause.Nas.AuthenticationFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1508.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1508.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1507.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1502.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1501.Alias2 = "ERAB.ModQoSFailNbr.RadioNetwork.RadioResourcesUnavailable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1501.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1501.X_SCM_Name = "ERAB.ModQoSFailNbr.Cause.RadioNetwork.RadioResourcesUnavailable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1500.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1499.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1494.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1493.Alias2 = "ERAB.ModQoSFailNbr.RadioNetwork.TimeCriticalHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1493.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1493.X_SCM_Name = "ERAB.ModQoSFailNbr.Cause.RadioNetwork.TimeCriticalHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1492.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1490.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1490.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1485.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1484.Alias2 = "ERAB.ModQoSFailNbr.RadioNetwork.HOTargetNotAllowed"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1484.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1484.X_SCM_Name = "ERAB.ModQoSFailNbr.Cause.RadioNetwork.HOTargetNotAllowed"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1483.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1481.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1481.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1480.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1476.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1475.Alias2 = "ERAB.RelActNbrSum"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1475.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1475.X_SCM_Name = "ERAB.RelActNbrSum"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1474.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1472.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1472.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1471.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1467.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1466.Alias2 = "ERAB.RelActNbr.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1466.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1466.X_SCM_Name = "ERAB.RelActNbr.QCI.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1465.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1463.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1463.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1462.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1458.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1457.Alias2 = "ERAB.RelFailNbr.Protocol.IgnoreAndNotify"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1457.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1457.X_SCM_Name = "ERAB.RelFailNbr.Cause.Protocol.IgnoreAndNotify"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1456.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1454.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1454.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1453.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1449.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1448.Alias2 = "ERAB.RelFailNbr.RadioNetwork.InvalidCSGID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1448.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1448.X_SCM_Name = "ERAB.RelFailNbr.Cause.RadioNetwork.InvalidCSGID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1447.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1445.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1445.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1444.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1439.Alias2 = "ERAB.RelFailNbr.RadioNetwork.IRATRedirection"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1439.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1439.X_SCM_Name = "ERAB.RelFailNbr.Cause.RadioNetwork.IRATRedirection"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1438.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1436.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1436.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1435.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1430.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1429.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1427.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1427.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1426.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1421.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1420.Alias2 = "ERAB.RelFailNbr.RadioNetwork.HOTargetNotAllowed"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1420.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1420.X_SCM_Name = "ERAB.RelFailNbr.Cause.RadioNetwork.HOTargetNotAllowed"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1418.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1418.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1417.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1412.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1411.Alias2 = "ERAB.RelEnbNbr.Misc.UnknownPLMN"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1411.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1411.X_SCM_Name = "ERAB.RelEnbNbr.Cause.Misc.UnknownPLMN"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1410.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1409.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1409.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1408.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1403.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1402.Alias2 = "ERAB.RelEnbNbr.Protocol.MessageStateNotCompatible"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1402.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1402.X_SCM_Name = "ERAB.RelEnbNbr.Cause.Protocol.MessageStateNotCompatible"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1401.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1395.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1394.Alias2 = "ERAB.RelEnbNbr.Transport.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1394.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1394.X_SCM_Name = "ERAB.RelEnbNbr.Cause.Transport.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1393.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1391.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1391.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1390.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1386.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1385.Alias2 = "ERAB.RelEnbNbr.RadioNetwork.UnknownERABID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1385.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1385.X_SCM_Name = "ERAB.RelEnbNbr.Cause.RadioNetwork.UnknownERABID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1384.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1382.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1382.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1381.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1377.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1376.Alias2 = "ERAB.RelEnbNbr.RadioNetwork.HODesirable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1376.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1376.X_SCM_Name = "ERAB.RelEnbNbr.Cause.RadioNetwork.HODesirable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1375.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1373.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1373.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1372.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1368.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1367.Alias2 = "ERAB.RelEnbNbr.RadioNetwork.HOTargetNotAllowed"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1367.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1367.X_SCM_Name = "ERAB.RelEnbNbr.Cause.RadioNetwork.HOTargetNotAllowed"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1366.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1364.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1364.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1363.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1359.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1358.Alias2 = "ERAB.EstabTimeMax.7"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1358.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1358.X_SCM_Name = "ERAB.EstabTimeMax.QCI.7"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1357.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1355.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1355.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1354.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1349.Alias2 = "ERAB.EstabTimeMean.7"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1349.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1349.X_SCM_Name = "ERAB.EstabTimeMean.QCI.7"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1348.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1346.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1346.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1345.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1340.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1339.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1337.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1337.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1336.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1331.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1330.Alias2 = "ERAB.EstabAddFailNbr.Nas.CSGSubscriptionExpiry"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1330.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1330.X_SCM_Name = "ERAB.EstabAddFailNbr.Cause.Nas.CSGSubscriptionExpiry"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1328.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1328.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1327.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1322.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1321.Alias2 = "ERAB.EstabAddFailNbr.RadioNetwork.AlgoNotSupported"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1321.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1321.X_SCM_Name = "ERAB.EstabAddFailNbr.Cause.RadioNetwork.AlgoNotSupported"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1320.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1319.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1319.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1318.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1313.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1312.Alias2 = "ERAB.EstabAddFailNbr.RadioNetwork.ResourceOptimisationHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1312.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1312.X_SCM_Name = "ERAB.EstabAddFailNbr.Cause.RadioNetwork.ResourceOptimisationHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1311.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1309.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1304.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1303.Alias2 = "ERAB.EstabAddFailNbr.RadioNetwork.TS1RELOCoverall"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1303.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1303.X_SCM_Name = "ERAB.EstabAddFailNbr.Cause.RadioNetwork.TS1RELOCoverall"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1302.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1300.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1300.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1296.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1295.Alias2 = "ERAB.EstabAddSuccNbrSum"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1295.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1295.X_SCM_Name = "ERAB.EstabAddSuccNbrSum"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1294.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1292.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1292.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1291.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1287.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1286.Alias2 = "ERAB.EstabInitFailNbr.Protocol.SemanticError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1286.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1286.X_SCM_Name = "ERAB.EstabInitFailNbr.Cause.Protocol.SemanticError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1285.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1283.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1283.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1282.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1278.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1277.Alias2 = "ERAB.EstabInitFailNbr.RadioNetwork.InvalidCSGID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1277.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1277.X_SCM_Name = "ERAB.EstabInitFailNbr.Cause.RadioNetwork.InvalidCSGID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1276.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1274.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1274.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1273.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1269.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1268.Alias2 = "ERAB.EstabInitFailNbr.RadioNetwork.UERadioConnectionLost"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1268.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1268.X_SCM_Name = "ERAB.EstabInitFailNbr.Cause.RadioNetwork.UERadioConnectionLost"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1267.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1265.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1265.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1264.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1259.Alias2 = "ERAB.EstabInitFailNbr.RadioNetwork.TS1RELOCprep"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1259.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1259.X_SCM_Name = "ERAB.EstabInitFailNbr.Cause.RadioNetwork.TS1RELOCprep"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1258.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1256.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1256.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1255.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1250.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1249.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1247.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1247.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1246.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1241.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1240.Alias2 = "UECNTX.RelReq.Protocol.MessageStateNotCompatible"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1240.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1240.X_SCM_Name = "UECNTX.RelReq.Cause.Protocol.MessageStateNotCompatible"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1238.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1238.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1237.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1232.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1231.Alias2 = "UECNTX.RelReq.Transport.ResourceUnavailable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1231.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1231.X_SCM_Name = "UECNTX.RelReq.Cause.Transport.ResourceUnavailable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1230.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1229.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1229.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1228.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1223.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1222.Alias2 = "UECNTX.RelReq.RadioNetwork.RadioInteractionFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1222.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1222.X_SCM_Name = "UECNTX.RelReq.Cause.RadioNetwork.RadioInteractionFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1221.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1219.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1214.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1213.Alias2 = "UECNTX.RelReq.RadioNetwork.HODesirable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1213.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1213.X_SCM_Name = "UECNTX.RelReq.Cause.RadioNetwork.HODesirable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1212.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1210.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1210.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1205.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1204.Alias2 = "UECNTX.RelReq.RadioNetwork.HOTargetNotAllowed"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1204.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1204.X_SCM_Name = "UECNTX.RelReq.Cause.RadioNetwork.HOTargetNotAllowed"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1203.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1201.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1201.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1200.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1197.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1196.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1196.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1196.X_SCM_Name = "RRC.IratIncMobility.LAI"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1195.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1193.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1193.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1192.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1188.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1187.Alias2 = "RRC.ConnEstabTimeMean.Spare1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1187.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1187.X_SCM_Name = "RRC.ConnEstabTimeMean.Cause.Spare1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1186.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1184.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1184.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1183.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1179.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1178.Alias2 = "RRC.ConnReEstabFail.Spare1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1178.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1178.X_SCM_Name = "RRC.ConnReEstabFail.Cause.Spare1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1177.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1175.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1175.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1174.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1169.Alias2 = "RRC.ConnEstabFail.Spare1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1169.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1169.X_SCM_Name = "RRC.ConnEstabFail.Cause.Spare1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1168.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1166.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1166.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1165.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1160.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1159.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1157.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1157.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1156.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1151.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1150.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1150.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1150.X_SCM_Name = "CONTEXT.AttRelMme.CauseOldUeAssS1Release"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1148.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1148.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1147.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1142.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1141.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1141.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1141.X_SCM_Name = "HO.X2InterFreqOutSucc"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1140.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1139.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1139.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1138.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1133.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1132.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1132.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1132.X_SCM_Name = "RRC.AdmissionConnMax"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1131.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1129.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1124.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1123.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1123.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1123.X_SCM_Name = "CONTEXT.AttRelMme"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1122.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1120.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1120.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1115.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1114.Alias2 = "ERAB.UsageNbrMax.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1114.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1114.X_SCM_Name = "ERAB.NbrMaxEstab.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1113.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1111.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1111.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1110.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1106.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1105.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1105.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1105.X_SCM_Name = "ERAB.NbrSuccInitEstab.2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1104.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1102.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1102.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1101.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1098.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1097.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1097.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1097.X_SCM_Name = "ERAB.NbrAttInitEstab.4"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1096.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1094.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1094.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1093.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1089.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1088.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1088.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1088.X_SCM_Name = "PDCP.UpLastTtiOctDl.5"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1087.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1085.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1085.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1084.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1079.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1079.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1079.X_SCM_Name = "PDCP.UpLastTtiOctUl.6"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1078.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1076.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1076.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1075.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1070.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1069.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1067.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1067.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1066.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1061.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1060.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1060.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1060.X_SCM_Name = "PDCP.ThrpTimeDL.7"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1058.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1058.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1057.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1052.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1051.Alias2 = "RRU.PrbTotUl"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1051.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1051.X_SCM_Name = "RRU.TotalPrbUsageMeanUl"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1050.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1049.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1049.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1048.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1043.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1042.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1042.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1042.X_SCM_Name = "RRU.DtchPrbAssnDl.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1041.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1039.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1034.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1033.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1033.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1033.X_SCM_Name = "S1.ReceivedDiagosisTotalPacket"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1032.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1030.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1030.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1025.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1024.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1024.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1024.X_SCM_Name = "MAC.NbrRbDl.Tm8.SFBC"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1023.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1021.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1021.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1020.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1016.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1015.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1015.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1015.X_SCM_Name = "MAC.NbrTbDl.2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1014.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1012.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1012.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1011.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1007.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1006.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1006.Alias = "cpe-pm-cs-paging-loss-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1006.X_SCM_Name = "PAG.PagDiscarded.CS"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1005.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1003.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1003.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1002.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.998.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.997.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.997.Alias = "cpe-pm-covg-ue-middle-area-rsrq-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.997.X_SCM_Name = "COVG.MiddleArea.RSRQNr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.996.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.994.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.994.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.993.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.989.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.988.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.988.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.988.X_SCM_Name = "RRU.BorrowFromScellPrbTotDl"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.987.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.985.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.985.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.984.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.979.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.979.Alias = "cpe-pm-cell-restart-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.979.X_SCM_Name = "RRU.CellRestart"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.978.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.976.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.976.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.975.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.970.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.969.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.967.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.967.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.966.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.961.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.960.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.960.Alias = "cpe-pm-covg-vip-ue-core-area-gtp-tx-bytes"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.960.X_SCM_Name = "COVG.CoreOutGtpU.VipUe"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.958.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.958.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.957.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.952.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.951.Alias2 = "PHY.ULMaxNL.97"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.951.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.951.X_SCM_Name = "PHY.ULMaxNL.PRB97"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.950.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.949.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.949.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.948.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.943.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.942.Alias2 = "PHY.ULMaxNL.88"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.942.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.942.X_SCM_Name = "PHY.ULMaxNL.PRB88"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.941.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.939.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.934.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.933.Alias2 = "PHY.ULMaxNL.79"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.933.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.933.X_SCM_Name = "PHY.ULMaxNL.PRB79"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.932.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.930.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.930.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.925.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.924.Alias2 = "PHY.ULMaxNL.70"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.924.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.924.X_SCM_Name = "PHY.ULMaxNL.PRB70"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.923.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.921.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.921.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.920.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.916.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.915.Alias2 = "PHY.ULMaxNL.61"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.915.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.915.X_SCM_Name = "PHY.ULMaxNL.PRB61"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.914.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.912.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.912.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.911.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.907.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.906.Alias2 = "PHY.ULMaxNL.52"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.906.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.906.X_SCM_Name = "PHY.ULMaxNL.PRB52"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.905.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.903.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.903.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.902.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.899.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.898.Alias2 = "PHY.ULMaxNL.44"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.898.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.898.X_SCM_Name = "PHY.ULMaxNL.PRB44"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.897.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.895.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.895.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.894.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.889.Alias2 = "PHY.ULMaxNL.35"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.889.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.889.X_SCM_Name = "PHY.ULMaxNL.PRB35"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.888.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.886.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.886.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.885.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.880.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.879.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.877.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.877.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.876.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.871.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.870.Alias2 = "PHY.ULMaxNL.16"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.870.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.870.X_SCM_Name = "PHY.ULMaxNL.PRB16"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.868.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.868.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.867.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.862.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.861.Alias2 = "PHY.ULMaxNL.7"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.861.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.861.X_SCM_Name = "PHY.ULMaxNL.PRB7"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.860.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.859.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.859.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.858.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.853.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.852.Alias2 = "S1SIG.ConnEstabSucc"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.852.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.852.X_SCM_Name = "S1SIG.ConnEstabSucc"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.851.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.849.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.844.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.843.Alias2 = "PHY.ULMeanNL.96"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.843.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.843.X_SCM_Name = "PHY.ULMeanNL.PRB96"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.842.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.840.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.840.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.835.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.834.Alias2 = "PHY.ULMeanNL.87"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.834.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.834.X_SCM_Name = "PHY.ULMeanNL.PRB87"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.833.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.831.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.831.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.830.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.826.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.825.Alias2 = "PHY.ULMeanNL.78"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.825.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.825.X_SCM_Name = "PHY.ULMeanNL.PRB78"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.824.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.822.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.822.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.821.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.817.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.816.Alias2 = "PHY.ULMeanNL.69"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.816.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.816.X_SCM_Name = "PHY.ULMeanNL.PRB69"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.815.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.813.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.813.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.812.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.808.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.807.Alias2 = "PHY.ULMeanNL.60"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.807.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.807.X_SCM_Name = "PHY.ULMeanNL.PRB60"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.806.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.804.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.804.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.803.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.799.Alias2 = "PHY.ULMeanNL.52"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.799.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.799.X_SCM_Name = "PHY.ULMeanNL.PRB52"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.798.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.796.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.796.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.795.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.790.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.789.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.787.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.787.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.786.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.781.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.780.Alias2 = "PHY.ULMeanNL.33"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.780.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.780.X_SCM_Name = "PHY.ULMeanNL.PRB33"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.778.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.778.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.777.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.772.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.771.Alias2 = "PHY.ULMeanNL.24"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.771.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.771.X_SCM_Name = "PHY.ULMeanNL.PRB24"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.770.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.769.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.769.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.768.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.763.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.762.Alias2 = "PHY.ULMeanNL.15"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.762.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.762.X_SCM_Name = "PHY.ULMeanNL.PRB15"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.761.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.759.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.754.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.753.Alias2 = "PHY.ULMeanNL.6"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.753.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.753.X_SCM_Name = "PHY.ULMeanNL.PRB6"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.752.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.750.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.750.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.745.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.744.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.744.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.744.X_SCM_Name = "PHY.NbrCqi13"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.743.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.741.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.741.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.740.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.736.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.735.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.735.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.735.X_SCM_Name = "PHY.NbrCqi4"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.734.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.732.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.732.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.731.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.727.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.726.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.726.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.726.X_SCM_Name = "RRU.PdschPrbMeanTot"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.725.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.723.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.723.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.722.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.718.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.717.Alias2 = "DRB.PdcpSduDropRateDl.7"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.717.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.717.X_SCM_Name = "PDCP.UpPktDiscardDl.7"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.716.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.714.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.714.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.713.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.709.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.708.Alias2 = "DRB.PdcpSduDelayDl.7"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.708.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.708.X_SCM_Name = "PDCP.UpPktDelayDl.7"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.707.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.705.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.705.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.704.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.699.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.697.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.697.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.696.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.691.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.690.Alias2 = "DRB.IPThpDl.8"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.690.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.690.X_SCM_Name = "PDCP.NbrPktDl.8"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.688.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.688.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.687.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.682.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.681.Alias2 = "DRB.PdcpSduLossRateUl.8"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.681.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.681.X_SCM_Name = "PDCP.NbrPktLossUl.8"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.680.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.679.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.679.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.678.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.673.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.672.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.672.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.672.X_SCM_Name = "PDCP.NbrPktUl.8"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.671.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.669.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.664.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.663.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.663.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.663.X_SCM_Name = "PDCP.CpOctUl"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.662.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.660.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.660.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.655.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.654.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.654.Alias = "PDCP.UpOctDl.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.654.X_SCM_Name = "PDCP.UpOctDl.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.653.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.651.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.651.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.650.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.646.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.645.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.645.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.645.X_SCM_Name = "PDCP.UpOctUl.2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.644.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.642.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.642.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.641.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.637.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.636.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.636.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.636.X_SCM_Name = "IRATHO.FailPrepOutUtran"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.635.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.633.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.633.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.632.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.628.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.627.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.627.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.627.X_SCM_Name = "IRATHO.FailPrepOutGeran.X2PrepFailed"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.626.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.624.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.624.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.623.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.619.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.618.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.618.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.618.X_SCM_Name = "HO.AttOutExecInterEnbX2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.617.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.615.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.615.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.614.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.609.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.609.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.609.X_SCM_Name = "HO.AttOutExecInterEnbS1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.608.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.606.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.606.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.605.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.600.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.598.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.598.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.597.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.592.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.591.Alias2 = "ERAB.EstabInitSuccNbrSum"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.591.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.591.X_SCM_Name = "CONTEXT.SuccInitalSetup"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.590.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.589.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.589.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.588.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.583.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.582.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.582.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.582.X_SCM_Name = "ERAB.NbrLeft.2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.581.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.579.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.574.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.573.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.573.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.573.X_SCM_Name = "ERAB.HoFail.2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.572.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.570.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.570.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.565.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.564.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.564.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.564.X_SCM_Name = "ERAB.NbrReqRelEnb.Normal.3"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.563.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.561.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.561.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.560.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.556.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.555.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.555.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.555.X_SCM_Name = "ERAB.NbrSuccEstab.6"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.554.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.552.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.552.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.551.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.547.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.546.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.546.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.546.X_SCM_Name = "ERAB.NbrAttEstab.6"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.545.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.543.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.543.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.542.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.538.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.537.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.537.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.537.X_SCM_Name = "ERAB.NbrHoInc.6"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.536.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.534.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.534.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.533.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.529.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.528.Alias2 = "ERAB.UsageNbrMean.8"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.528.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.528.X_SCM_Name = "ERAB.NbrMeanEstab.8"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.527.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.525.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.525.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.524.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.519.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.519.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.519.X_SCM_Name = "ERAB.NbrHoInc"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.518.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.516.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.516.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.515.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.510.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.509.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.507.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.507.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.506.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.501.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.500.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.500.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.500.X_SCM_Name = "ERAB.NbrFailEstab.CauseRadioResourcesNotAvailable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.499.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.499.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.498.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.493.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.492.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.492.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.492.X_SCM_Name = "RRC.SetupTimeMean"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.491.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.489.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.484.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.483.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.483.Alias = "cpe-pm-covg-middle-area-gtp-tx-bytes"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.483.X_SCM_Name = "COVG.MiddleOutGtpU"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.482.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.480.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.480.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.475.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.474.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.474.Alias = "cpe-pm-covg-over-rept-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.474.X_SCM_Name = "COVG.OverReptNbr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.473.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.471.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.471.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.470.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.466.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.465.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.465.Alias = "cpe-pm-mro-fast-mov-ue-ho-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.465.X_SCM_Name = "MRO.FastMovUeHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.464.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.462.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.462.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.461.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.457.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.456.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.456.Alias = "cpe-pm-anr-neigh-ho-succ--nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.456.X_SCM_Name = "ANR.SuccHO.AnrNeigh"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.455.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.453.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.453.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.452.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.448.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.447.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.447.Alias = "cpe-pm-anr-att-add-neigh-total-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.447.X_SCM_Name = "ANR.AttAddNbr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.446.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.444.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.444.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.443.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.439.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.438.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.438.Alias = "cpe-pm-rach-ue-sent-preamble-v2-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.438.X_SCM_Name = "RRU.RachPreambleUeSentDist.Bad"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.437.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.435.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.435.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.434.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.429.Alias2 = "ERAB.ModQoSFailNbr.RadioNetwork.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.429.Alias = "cpe-pm-rab-modi-fail-nr-unspec"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.429.X_SCM_Name = "ERAB.ModQoSFailNbr.UnspecifiedFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.428.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.426.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.426.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.425.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.420.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.419.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.417.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.417.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.416.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.411.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.410.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.410.Alias = "cpe-pm-mme-rel-rab-nr-uenotavailable-ps"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.410.X_SCM_Name = "ERAB.RelMmeNbr.UENotAvailableforPS"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.408.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.408.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.407.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.402.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.401.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.401.Alias = "cpe-pm-mme-rel-rab-nr-transport"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.401.X_SCM_Name = "ERAB.RelMmeNbr.Transport"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.400.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.399.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.394.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.393.Alias2 = "ERAB.RelFailNbr.RadioNetwork.RadioInteractionFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.393.Alias = "cpe-pm-mme-rel-rab-fail-nr-iwop"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.393.X_SCM_Name = "ERAB.RelFailNbr.InteractionWithOtherProcedure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.392.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.390.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.390.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.385.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.384.Alias2 = "ERAB.EstabAddFailNbr.RadioNetwork.S1InterSystemHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.384.Alias = "cpe-pm-init-addrab-est-fail-intersys-s1hotri"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.384.X_SCM_Name = "ERAB.EstabAddFailNbr.S1InterSystemHoTrig"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.383.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.381.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.381.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.380.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.376.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.375.Alias2 = "ERAB.EstabInitFailNbr.Misc.ControlProcessingOverload"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.375.Alias = "cpe-pm-init-rab-est-fail-nr-ctrlproc-overload"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.375.X_SCM_Name = "ERAB.EstabInitFailNbr.ControlProcessingOverload"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.374.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.372.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.372.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.371.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.367.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.366.Alias2 = "ERAB.EstabInitFailNbr.RadioNetwork.ENBUES1APIDError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.366.Alias = "cpe-pm-init-rab-est-fail-nr-enbues1ap-iderr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.366.X_SCM_Name = "ERAB.EstabInitFailNbr.EnbUeS1apIdError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.365.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.363.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.363.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.362.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.358.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.357.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.357.Alias = "cpe-pm-rrc-recfg-fail-nr-rlfail"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.357.X_SCM_Name = "RRC.FailConnReconfig.RlFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.356.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.354.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.354.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.353.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.349.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.348.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.348.Alias = "cpe-pm-rrc-recfg-fail-nr-drballc"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.348.X_SCM_Name = "RRC.FailConnReconfig.DrbID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.347.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.345.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.345.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.344.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.339.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.339.Alias = "cpe-pm-rrc-recfg-succ-nr-tmchg"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.339.X_SCM_Name = "RRC.SuccConnReconfig.TmChange"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.338.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.336.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.336.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.335.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.330.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.329.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.327.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.327.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.326.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.321.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.320.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.320.Alias = "cpe-pm-rrc-reest-fail-tolnr-oth"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.320.X_SCM_Name = "RRC.ConnReEstabFail.Others"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.318.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.318.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.317.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.312.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.311.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.311.Alias = "cpe-pm-rrc-reest-fail-nr-srsallc"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.311.X_SCM_Name = "RRC.ConnReEstabFail.SrsAllocFail"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.310.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.309.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.309.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.308.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.303.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.302.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.302.Alias = "cpe-pm-rrc-estab-fail-nr-term-norsp"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.302.X_SCM_Name = "RRC.FailConnEstab.TerminalNoRsp"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.301.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.295.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.294.Alias2 = "RRC.ConnEstabAtt.MoData"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.294.Alias = "cpe-pm-rrc-estab-req-nr-modat"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.294.X_SCM_Name = "RRC.AttConnEstab.MoData"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.293.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.291.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.291.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.290.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.286.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.285.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.285.Alias = "cpe-pm-sctpasso-nouse-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.285.X_SCM_Name = "SIG.NbrSctpUnavailable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.284.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.282.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.282.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.281.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.277.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.276.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.276.Alias = "cpe-pm-recv-abort-nr-usr-init-abort"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.276.X_SCM_Name = "SIG.SctpAbort.UserInitiated"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.275.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.273.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.273.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.272.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.268.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.267.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.267.Alias = "cpe-pm-recv-abort-nr-stale-cookie-error"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.267.X_SCM_Name = "SIG.SctpAbort.StaleCookie"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.266.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.264.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.264.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.263.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.259.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.258.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.258.Alias = "cpe-pm-mac-ul-errb-rate"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.258.X_SCM_Name = "TBNbrBler.Ul"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.257.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.255.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.255.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.254.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.249.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.249.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.249.X_SCM_Name = "MAC.NbrTbDl.Tm1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.248.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.246.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.246.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.245.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.240.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.239.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.237.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.237.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.236.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.231.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.230.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.230.Alias = "cpe-pm-mac-ul-succtr-init-tb-num-qpsk"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.230.X_SCM_Name = "MAC.NbrSuccInitTbUl.Qpsk"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.228.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.228.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.227.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.222.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.221.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.221.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.221.X_SCM_Name = "MAC.NbrTbUl.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.220.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.219.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.219.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.218.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.213.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.212.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.212.Alias = "cpe-pm-2ger-ho-pre-fail-nr-oth"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.212.X_SCM_Name = "SRVCC.FailPrepOutGeran.Other"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.211.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.209.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.204.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.203.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.203.Alias = "cpe-pm-volte-intraenb-ho-req-nr-interfreq"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.203.X_SCM_Name = "VoLTE.HO.AttOutIntraEnb.InterFreq"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.202.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.200.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.200.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.196.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.195.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.195.Alias = "cpe-pm-volte-interenb-x2ho-pre-succ-nr-intrafreq"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.195.X_SCM_Name = "VoLTE.HO.SuccOutPrepInterEnbX2.IntraFreq"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.194.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.192.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.192.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.191.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.187.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.186.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.186.Alias = "cpe-pm-volte-interenb-s1ho-exereq-nr-intrafreq"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.186.X_SCM_Name = "VoLTE.HO.AttOutExecInterEnbS1.IntraFreq"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.185.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.183.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.183.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.182.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.178.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.177.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.177.Alias = "cpe-pm-csfbtri-rrc-rel-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.177.X_SCM_Name = "RRC.ConnReleaseCsfb"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.176.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.174.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.174.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.173.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.169.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.168.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.168.Alias = "cpe-pm-ho-fail-other"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.168.X_SCM_Name = "HO.FailOut.Other"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.167.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.165.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.165.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.164.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.159.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.159.Alias = "cpe-pm-intrasys-interfreq-ho-succ-nr-const"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.159.X_SCM_Name = "HO.SuccOutInterFreq.OMC"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.158.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.156.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.156.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.155.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.150.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.149.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.147.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.147.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.146.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.141.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.140.Alias2 = "DRB.PdcpSduBitrateUl.2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.140.Alias = "cpe-pm-pdcp-ulup-send-q2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.140.X_SCM_Name = "DRB.PdcpSduBitLenUl.2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.138.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.138.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.137.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.132.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.131.Alias2 = "DRB.PdcpSduBitrateDl.2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.131.Alias = "cpe-pm-pdcp-dlup-send-q2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.131.X_SCM_Name = "DRB.PdcpSduBitLenDl.2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.130.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.129.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.129.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.128.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.123.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.122.Alias2 = "ERAB.ModQoSAttNbr.6"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.122.Alias = "cpe-pm-rab-att-modi-nr-q6"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.122.X_SCM_Name = "ERAB.NbrAttMod.6"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.121.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.119.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.114.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.113.Alias2 = "ERAB.ModQoSSuccNbr.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.113.Alias = "cpe-pm-rab-succ-modi-nr-q1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.113.X_SCM_Name = "ERAB.NbrSuccMod.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.112.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.110.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.110.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.105.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.104.Alias2 = "ERAB.RelAttNbr.6"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.104.Alias = "cpe-pm-rab-mme-attrel-nr-q6"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.104.X_SCM_Name = "ERAB.RelAttNbr.6"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.103.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.101.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.101.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.100.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.95.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.94.Alias2 = "ERAB.RelAttNbr.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.94.Alias = "cpe-pm-rab-mme-attrel-nr-q1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.94.X_SCM_Name = "ERAB.RelAttNbr.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.93.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.91.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.91.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.90.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.86.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.85.Alias2 = "ERAB.RelEnbNbr.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.85.Alias = "cpe-pm-rab-enb-rel-nr-q1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.85.X_SCM_Name = "ERAB.RelEnbNbr.1 "
+ Device.PeriodicStatistics.SampleSet.1.Parameter.84.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.82.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.82.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.81.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.77.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.76.Alias2 = "ERAB.EstabAddSuccNbr.5"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.76.Alias = "cpe-pm-add-rab-succ-nr-q5"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.76.X_SCM_Name = "ERAB.EstabAddSuccNbr.5"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.75.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.73.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.73.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.72.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.68.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.67.Alias2 = "ERAB.EstabAddAttNbr.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.67.Alias = "cpe-pm-add-rab-att-nr-q1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.67.X_SCM_Name = "ERAB.EstabAddAttNbr.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.66.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.64.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.64.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.63.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.59.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.58.Alias2 = "ERAB.EstabInitSuccNbr.5"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.58.Alias = "cpe-pm-init-rab-succ-nr-q5"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.58.X_SCM_Name = "ERAB.EstabInitSuccNbr.5"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.57.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.55.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.55.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.54.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.49.Alias2 = "ERAB.EstabInitAttNbr.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.49.Alias = "cpe-pm-init-rab-att-nr-q1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.49.X_SCM_Name = "ERAB.EstabInitAttNbr.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.48.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.46.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.46.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.45.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.40.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.39.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.37.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.37.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.36.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.31.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.30.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.30.Alias = "cpe-pm-redir-utran-succ-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.30.X_SCM_Name = "RRC.UtranRedirectSuccNbr.Csfb"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.28.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.28.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.27.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.22.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.21.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.21.Alias = "cpe-pm-pdsch-prb-used-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.21.X_SCM_Name = "RRU.UsedPrbDL"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.20.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.19.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.19.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.18.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.13.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.12.Alias2 = "DRB.PdcpSduLossRateUlSum"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.12.Alias = "cpe-pm-pdcp-ul-loss-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.12.X_SCM_Name = "PDCP.NbrPktLossUl"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.11.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.8.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.8.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.7.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1.Alias2 = "RRU.CellAvailableTime"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1.Alias = "cpe-pm-cell-serv-tm"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1.X_SCM_Name = "RRU.CellAvailableTime"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.0.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Alias = ""
+ Device.PeriodicStatistics.SampleSet.0.ReportStartTime = 0001-01-01T00:00:00Z
+ Device.PeriodicStatistics.SampleSet.0.ReportSamples = 24
+ Device.Firewall.Chain.1.Rule.1.DSCP = -1
+ Device.Firewall.Chain.0.Rule.0.Protocol = -1
+ Device.Firewall.ChainNumberOfEntries = 1
+ Device.SmartCardReaders.SmartCardReader.1.SmartCard.Application = ""
+ Device.DHCPv6.Client.1.SentOption.0.Enable = 0
+ Device.DHCPv6.Client.0.SentOption.0.Tag = 0
+ Device.DHCPv4.Server.Pool.0.LeaseTime = 86400
+ Device.DHCPv4.Server.Pool.0.IPRouters = ""
+ Device.DHCPv4.Client.1.ReqOption.0.Value =
+ Device.DHCPv4.Client.0.ReqOption.0.Alias = ""
+ Device.DNS.Client.Server.2.Type = "DHCPv4"
+ Device.DNS.Client.Server.0.DNSServer = "172.21.1.249"
+ Device.Routing.Router.1.IPv4Forwarding.0.DestSubnetMask = ""
+ Device.Routing.Router.0.IPv6Forwarding.0.NextHop = ""
+ Device.Routing.RouterNumberOfEntries = 1
+ Device.IP.Diagnostics.IPPing.FailureCount = 0
+ Device.IP.Diagnostics.IPPing.Timeout = 1
+ Device.IP.Diagnostics.IPPing.Interface = ""
+ Device.IP.Interface.5.IPv6Address.1.Origin = ""
+ Device.IP.Interface.4.Enable = 0
+ Device.IP.Interface.3.IPv4Address.0.SubnetMask = "255.255.255.0"
+ Device.IP.Interface.3.IPv4Address.0.DefaultGateway = ""
+ Device.IP.Interface.2.IPv4Address.1.SubnetMask = "255.255.255.0"
+ Device.IP.Interface.2.IPv4Address.1.DefaultGateway = ""
+ Device.IP.Interface.2.LowerLayers = "Device.Ethernet.VLANTermination.1"
+ Device.IP.Interface.2.Name = "eth0.17"
+ Device.IP.Interface.1.IPv4Address.2.SubnetMask = "255.255.255.0"
+ Device.IP.Interface.1.IPv4Address.2.DefaultGateway = ""
+ Device.IP.Interface.1.IPv4Address.0.IPAddress = "11.11.12.188"
+ Device.IP.Interface.1.IPv4Address.0.Enable = 0
+ Device.IP.Interface.0.IPv6Address.0.Prefix = ""
+ Device.IP.X_SCM_NetworkDetectMaxTimes = 1
+ Device.Ethernet.VLANTermination.2.X_SCM_VLANQOS = 0
+ Device.Ethernet.VLANTermination.2.Enable = 1
+ Device.Ethernet.VLANTermination.0.LowerLayers = ""
+ Device.Ethernet.VLANTermination.0.Name = ""
+ Device.Ethernet.Interface.2.MaxBitRate = -1
+ Device.Ethernet.Interface.0.PortType = ".X_SCM_PortType"
+ Device.Ethernet.Interface.0.MACAddress = ""
+ Device.Time.NTPServer3 = ""
+ Device.ManagementServer.NextHopMACAddressDetected = 0
+ Device.ManagementServer.STUNMaximumKeepAlivePeriod = -1
+ Device.ManagementServer.STUNPassword = ""
+ Device.ManagementServer.STUNServerAddress = ""
+ Device.ManagementServer.PeriodicInformInterval = 180
+ Device.ManagementServer.Password = ""
+ Device.DeviceInfo.Location.1.X_SCM_AccuracyAlarm = 1000
+ Device.DeviceInfo.VendorLogFile.1.X_SCM_LogControl.X_SCM_PeriodicUploadInterval = 3600
+ Device.DeviceInfo.VendorLogFile.1.X_SCM_LogControl.X_SCM_CellTracePeriodicUploadEndTime = 0001-01-01T00:00:00
+ Device.DeviceInfo.TemperatureStatus.TemperatureSensor.1.X_SCM_RF_Critical_ThresholdValue = 125
+ Device.DeviceInfo.TemperatureStatus.TemperatureSensor.0.Value = 0
+ Device.DeviceInfo.X_SCM_DateOfManufacture = 0001-01-01T00:00:00Z
+ Device.DeviceInfo.X_SCM_LocationName = ""
+ Device.DeviceInfo.SoftwareVersion = "TEST3918@210224"
+ Device.DeviceInfo.SerialNumber = "2009CW5000019"
+ Device.Services.FAPService.1.Transport.Packet.SentPackets = 0
+ Device.Services.FAPService.1.Transport.RealTime.Perf.MeanRTT = 0
+ Device.Services.FAPService.1.Transport.SCTP.Assoc.0.X_SCM_RemotePort = 0
+ Device.Services.FAPService.1.Transport.SCTP.Assoc.0.X_SCM_LocalAddress = ""
+ Device.Services.FAPService.1.Transport.SCTP.Assoc.0.PrimaryPeerAddress = ""
+ Device.Services.FAPService.1.Transport.SCTP.InOrderChunks = 0
+ Device.Services.FAPService.1.Transport.SCTP.MaxPathRetransmits = 4
+ Device.Services.FAPService.1.REM.LTE.Cell.0.BCCH.PLMNList.0.CellReservedForOperatorUse = 0
+ Device.Services.FAPService.1.REM.LTE.Cell.0.BCCH.X_SCM_SpecialFrameType = 0
+ Device.Services.FAPService.1.REM.LTE.Cell.0.BCCH.X_SCM_NeighborListNumberOfEntries = 0
+ Device.Services.FAPService.1.REM.LTE.Cell.0.RF.X_SCM_SrcType = ""
+ Device.Services.FAPService.1.REM.LTE.Cell.0.RF.EUTRACarrierARFCN = 0
+ Device.Services.FAPService.1.REM.LTE.X_SCM_EARFCN_SON_Algo.X_SCM_InNeighborSib5_Weight = 5
+ Device.Services.FAPService.1.REM.LTE.X_SCM_PTP_Cfg.X_SCM_PTPConfigEngineNiceness = 0
+ Device.Services.FAPService.1.REM.LTE.X_SCM_PTP_Cfg.X_SCM_PTPConfigVoltageControlEnable = 1
+ Device.Services.FAPService.1.REM.LTE.X_SCM_PTP_Cfg.X_SCM_PTPConfigDelayMechanism = "E2E"
+ Device.Services.FAPService.1.REM.LTE.X_SCM_PTP_Cfg.X_SCM_PTPConfigLogMinPdelayReqInterval = 0
+ Device.Services.FAPService.1.REM.LTE.X_SCM_PTP_Cfg.X_SCM_PTPConfigNegotiationTime = 3600
+ Device.Services.FAPService.1.REM.LTE.X_SCM_UMTS_ScanOnBoot = 0
+ Device.Services.FAPService.1.REM.LTE.X_SCM_AddInterFreqNeighCellToSib5 = 0
+ Device.Services.FAPService.1.REM.LTE.X_SCM_PRACHOptEnable = 0
+ Device.Services.FAPService.1.REM.LTE.X_SCM_PCISelectRSRPThreshold = -98
+ Device.Services.FAPService.1.REM.LTE.X_SCM_PCISelectFailureAction = "None"
+ Device.Services.FAPService.1.REM.LTE.X_SCM_ANRGeranRssiThreshold = -90
+ Device.Services.FAPService.1.REM.LTE.X_SCM_ANRUtranRscpThreshold = -95
+ Device.Services.FAPService.1.REM.LTE.X_SCM_ScanEutranRsrpThreshold = -105
+ Device.Services.FAPService.1.REM.LTE.X_SCM_UTRACarrierARFCNDLList = ""
+ Device.Services.FAPService.1.REM.LTE.REMPLMNList = ""
+ Device.Services.FAPService.1.REM.X_SCM_tfcsManagerConfig.logLevel = "NOTICE"
+ Device.Services.FAPService.1.REM.X_SCM_tfcsManagerConfig.holdoverTime = 18000
+ Device.Services.FAPService.1.REM.X_SCM_tfcsManagerConfig.samplingInterval = 120
+ Device.Services.FAPService.1.REM.X_SCM_tfcsManagerConfig.alarmDurationTimer = 10
+ Device.Services.FAPService.1.REM.X_SCM_tfcsManagerConfig.primSrc = "FREE_RUNNING"
+ Device.Services.FAPService.1.REM.X_SCM_NlSync.CellInfo.0.Priority = 7
+ Device.Services.FAPService.1.REM.X_SCM_NlSync.EnableSync = 0
+ Device.Services.FAPService.1.REM.UMTS.X_SCM_TDSCDMA.Cell.0.X_SCM_RF.0.UARFCN = 0
+ Device.Services.FAPService.1.REM.UMTS.X_SCM_TDSCDMA.MaxCellEntries = 32
+ Device.Services.FAPService.1.REM.UMTS.WCDMA.Cell.0.BCCH.PLMNType = ""
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborListInUse2.LTECell.0.X_SCM_CSGID = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborListInUse.InterRATCell.GSM.0.BCCHARFCN = "53550547"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborListInUse.InterRATCell.MaxCDMA2000Entries = 32
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborListInUse.InterRATCell.MaxGSMEntries = 16
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborListInUse.LTECell.0.X_SCM_CSGID = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.X_SCM_NR.0.GNBAddr = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.X_SCM_NR.0.ULSCS = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.CDMA2000.0.CID = "1"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.CDMA2000.0.Type = "1xRTT"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.GSM.0.BandIndicator = "DCS1800"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.GSM.0.LAC = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.UMTS.0.X_SCM_CELL_SPECIFIC_OFFSET = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.UMTS.0.Alias = ""
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.MaxX_SCM_NREntries = 32
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.CDMA2000NumberOfEntries = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.GSMNumberOfEntries = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.LTECell.0.X_SCM_PRACH_CONFIGURATION_INDEX = 63
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.LTECell.0.X_SCM_TAC = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.LTECell.0.X_SCM_EnbAddr = ""
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B2MeasureCtrl.1.MeasurePurpose = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B2MeasureCtrl.1.B2Threshold2GERAN = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B2Threshold2GERAN"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B2MeasureCtrl.0.ReportInterval = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.ReportInterval"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B2MeasureCtrl.0.Enable = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B1MeasureCtrl.2.MeasurePurpose = 2
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B1MeasureCtrl.1.ReportInterval = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.ReportInterval"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B1MeasureCtrl.1.Enable = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B1MeasureCtrl.0.ReportAmount = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.ReportAmount"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B1MeasureCtrl.0.B1ThresholdUTRARSCP = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B1ThresholdUTRARSCP"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.MaxB1MeasureCtrlEntries = 16
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.X_SCM_GERANOperateSwitch = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.X_SCM_MeasGERANConfigType = "B2"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B1ThresholdUTRAEcN0 = 30
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.X_SCM_A2ForIRATPS.TriggerQuantity = "RSRP"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.X_SCM_A2ForIRATCS.A2ForIRATCSPSEnable = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.PeriodMeasCtrl.0.MaxReportCells = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.MaxReportCells"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A5MeasureCtrl.1.ReportQuantity = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.ReportQuantity"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A5MeasureCtrl.1.MaxReportCells = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.MaxReportCells"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A3MeasureCtrl.1.A3Offset = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A3Offset"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A3MeasureCtrl.0.MeasurePurpose = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A2MeasureCtrl.5.TimeToTrigger = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.TimeToTrigger"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A2MeasureCtrl.4.ReportQuantity = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.ReportQuantity"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A2MeasureCtrl.4.MaxReportCells = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.MaxReportCells"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A2MeasureCtrl.1.MeasurePurpose = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A2MeasureCtrl.0.ReportInterval = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.ReportInterval"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A2MeasureCtrl.0.A2ThresholdRSRP = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A2ThresholdRSRP"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A2MeasureCtrl.0.Enable = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A1MeasureCtrl.2.MeasurePurpose = 2
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A1MeasureCtrl.2.A1ThresholdRSRP = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A1ThresholdRSRP"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A1MeasureCtrl.1.ReportInterval = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.ReportInterval"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A1MeasureCtrl.1.A1ThresholdRSRQ = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A1ThresholdRSRQ"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A1MeasureCtrl.1.Enable = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A1MeasureCtrl.0.ReportAmount = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.ReportAmount"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.MaxA1MeasureCtrlEntries = 16
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.Hysteresis = "0"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.X_SCM_FastMovingCellNum = 3
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.X_SCM_EnableInterFreqHandoverOut = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A5Threshold1RSRP = 35
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A4ThresholdRSRP = 40
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.CDMA2000.X_SCM_CDMA2000_CELL_PARAM.REFERENCE_CELL_ID_1XRTT.SECTOR = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.CDMA2000.X_SCM_CDMA2000_CELL_PARAM.REFERENCE_CELL_ID_1XRTT.CELL_ID = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.CDMA2000.X_SCM_ue_generic_cdma2000_params.X_SCM_lp_sec = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.CDMA2000.X_SCM_ue_generic_cdma2000_params.X_SCM_sdb_in_rcnm_ind = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.CDMA2000.X_SCM_ue_generic_cdma2000_params.X_SCM_ext_pref_msid_type = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.CDMA2000.CDMA2000Band.1.Alias = "cdma2000Band1"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.GERAN.X_SCM_GERANFreqGroupForSRVCC.0.TimeToTrigger = 480
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.GERAN.GERANFreqGroup.0.X_SCM_NUM_OF_FOLLOWING_ARFCNS = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.GERAN.GERANFreqGroup.0.Enable = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.GERAN.X_SCM_ThreshXLow = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.GERAN.X_SCM_GERANFreqGroupForSRVCCNumberOfEntries = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.UTRA.UTRANFDDFreq.0.X_SCM_THRESH_SERVING_HIGHQ_R9 = 14
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.UTRA.X_SCM_UTRANTDDFreq.0.X_SCM_BandIndicator = "Band33"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.UTRA.X_SCM_UTRANTDDFreq.0.Enable = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.InterFreq.X_SCM_CellReselectionPriority = 6
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.InterFreq.X_SCM_SIB5AllowEnable = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IntraFreq.TReselectionEUTRA = "1"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.CellRestriction.X_SCM_CongestionCtrl.0.X_SCM_BarringTime = 12
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.RRCTimers.T300 = "1000"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_PDCP.X_SCM_ROHC.9.X_SCM_QCI = 9
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_PDCP.X_SCM_ROHC.7.X_SCM_ROHCEnabled = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_PDCP.X_SCM_ROHC.4.X_SCM_Profiles = "000000010"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_PDCP.X_SCM_ROHC.4.X_SCM_MaxCid = 15
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.X_SCM_SFR.X_SCM_PowerThresholdHigh = "-177"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.UplinkPowerControlDedicated.X_SCM_puschgrppwrEnabled = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.ULSCH.X_SCM_UEMcsLimitThreshold = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.ULSCH.X_SCM_Attachbufsize = 500
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.ULSCH.X_SCM_UlThroughputThrd = 5
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileList.9.ShortDRXCycle = "32"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileList.7.LongDRXCycle = "640"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileList.6.DRXShortCycleTimer = "4"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileList.5.DRXRetransmissionTimer = "2"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileList.3.ONDurationTimer = ".OnDurationTimer"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileList.1.OnDurationTimer = "10"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileList.0.DRXInactivityTimer = "40"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileList.0.DRXEnabled = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileList.0.QCI = 9
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_LongDRXCycleNonGBR = 5
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.RACH.X_SCM_MACPreambleNumber2 = 6
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.RACH.X_SCM_MACPreambleNumber = 6
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.RACH.PreambleInitialReceivedTargetPower = "-104"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.X_SCM_Scheduler.X_SCM_DLRBAllocEndLoc = 99
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.X_SCM_Scheduler.X_SCM_DLNumSPSUEPerTti = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.X_SCM_Scheduler.X_SCM_PFS_DL_Fairness_Coefficient = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.X_SCM_Scheduler.X_SCM_PFS_EffFactor = 2
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.PHY.ULPowerControl.X_SCM_ADIMode = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.PHY.ULPowerControl.DeltaMCSEnabled = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.PHY.PRACH.X_SCM_RSIInUse = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.PHY.PRACH.X_SCM_ZeroCorrelationZoneConfigList = "8,10,14,5"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.RF.X_SCM_QCOM.MaxRFPathEntries = 12
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.RF.X_SCM_QCOM.RFCardId = "F5321"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.RF.X_SCM_TemperatureCompensationEnable = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.RF.X_SCM_ExternalPAEnable = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.RF.ULBandwidth = "100"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.S1AP.X_SCM_ResetTimer = "1000"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_RRM.X_SCM_LoadBalanceDropStep = 2
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_RRM.X_SCM_LoadBalanceAcceptableThreshold = 22
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.QoS.9.QCI = 9
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.QoS.7.Enable = 0
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.QoS.4.Priority = 5
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.QoS.2.DSCP = 46
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.QoS.2.PacketDelayBudget = 150
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.QoS.2.Type = "GBR"
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.QoS.1.VLANTag = 0
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.QoS.0.Alias = ""
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.PLMNList.0.PLMNID = ""
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.EAID = 0
+ Device.Services.FAPService.1.CellConfig.SysInfoCtrlParam.MultiBandInfoListSIB5 = 1
+ Device.Services.FAPService.1.AccessMgmt.LTE.LocalIPAccess.X_SCM_LIPANAT = 1
+ Device.Services.FAPService.1.AccessMgmt.LTE.X_SCM_UEDetail.0.X_SCM_ID = ""
+ Device.Services.FAPService.1.AccessMgmt.LTE.MaxCSGMembers = -1
+ Device.Services.FAPService.1.AccessMgmt.LTE.MaxUEsServed = 128
+ Device.Services.FAPService.1.AccessMgmt.LTE.X_SCM_MaxActiveERABs = 96
+ Device.Services.FAPService.1.FAPControl.X_SCM_TDSCDMA.Gateway.SecGWServer1 = "112.1.191.210"
+ Device.Services.FAPService.1.FAPControl.X_SCM_TDSCDMA.X_SCM_IgnoreAdminState = 1
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_X2AP.X_SCM_X2APCheckPlmn = 0
+ Device.Services.FAPService.1.FAPControl.LTE.Gateway.PreSecGW3ServerList.12.SecGWServer3Ip = "2600:0000:cf04:1441:10:158:166:183"
+ Device.Services.FAPService.1.FAPControl.LTE.Gateway.PreSecGW3ServerList.1.SecGWServer3Ip = "segw-mb-ifur-global.spcslabinfra.net"
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_CRAN.IPSecType = "NoIPSec"
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_CRAN.BBUUpgradeTFTPPath = "DU_Build/"
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_SceneManagement.MaxScene4Entries = 32
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_SceneManagement.X_SCM_IdentifySceneEnable = 0
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_DLPowerSetting.X_SCM_VIPStayCoreMidAreaNumDownRateThreshold = 60
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_DLPowerSetting.X_SCM_CoverageHoleReportRateThreshold = 3
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_DLPowerSetting.X_SCM_WeakCoverageReportRateThreshold = 5
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_DLPowerSetting.X_SCM_OverCoverageReportRateThreshold = 10
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_CoverageMeasurement.X_SCM_EdgeArea_A4_ReportInterval = 360000
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_CoverageMeasurement.X_SCM_MiddleArea_OverCoverage_ThresholdRSRP = 10
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_MRO.InterFreqA5Threshold1RSRP = "37,37,37,34,32,32,32,32"
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_MRO.AgingPeriod = 10080
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_ANR_Ctrl.X_SCM_CheckRedundancyNghCellPeriod = 1440
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_ANR_Ctrl.X_SCM_AllEdgeAreaUeAnrTime = 120
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_BusyTimeRange = "9:00-18:00"
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_MaxAvgGBRPrbUsage = 100
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_NasEncDecSwitch = 0
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_SrcHOCancelTimer = 400
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_AnrReportConfigValue = 0
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_MaxRrmRnti2 = 64
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_MaxRrmRnti = 64
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_InactivityTimerValue = 1000
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_eNodeBIdentityRange = 0
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SAS.CPIInstallParamSuppliedEnable = 0
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SAS.FrequencySwitchEnable = 1
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SAS.Location = "indoor"
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SAS.CPIName = "Wei-Yu Chen"
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SAS.CBSDID = "P27-SCE4255W/d8f2d8a5d324431c4ad20ba37742c93513a43610"
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_CMP.Config.1.X_SCM_CertificateName = ""
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_CMP.Config.0.AltName = ""
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_CMP.EMSURL = ""
+ Device.Services.FAPService.1.FAPControl.LTE.SelfConfig.SONConfigParam.SHEnable = 1
+ Device.Services.FAPService.1.FAPControl.LTE.SelfConfig.SONConfigParam.RootSeqConfigEnable = 0
+ Device.Services.FAPService.1.FAPControl.LTE.SelfConfig.SONConfigParam.PowerEnable = 0
+ Device.Services.FAPService.1.FAPControl.LTE.SelfConfig.SONConfigParam.ANREnable = "Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_ANR_Ctrl.X_SCM_AnrCtrlEnable"
+ Device.Services.FAPService.1.FAPControl.LTE.SelfConfig.SONConfigParam.SONWorkMode = "Control"
+ Device.Services.FAPService.1.FAPControl.LTE.SelfConfig.SONConfigParam.SONSysMode = "Centralized"
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_PowerDownTime = 0
+ Device.Services.FAPService.1.FAPControl.X_SCM_LWM2M.X_SCM_Security.0.X_SCM_LWM2MServerURI = ""
+ Device.Services.FAPService.1.FAPControl.X_SCM_LWM2M.X_SCM_ServerNumberOfEntries = 1
+ Device.Services.FAPService.1.FAPControl.X2IpAddrMapInfoNumberOfEntries = 0
+ Device.Services.FAPService.1.DeviceType = "Standalone"
+ Device.SoftwareCtrl.X_SCM_LicenseEnable = 0
+ Device.SoftwareCtrl.SystemBackupVersion = "Device.DeviceInfo.X_SCM_BackupSoftwareVersion"
+ Device.IPsec.SupportedIntegrityAlgorithms = "NONE,HMAC-MD5-96,HMAC-SHA1-96,DES-MAC,HMAC-MD5-128,AES-CMAC-96,HMAC-SHA2-256-128,HMAC-SHA2-256-192,HMAC-SHA2-256-256"
+ Device.IPsec.ESPSupportedEncryptionAlgorithms = "NULL,DES,3DES,BLOWFISH,AES-CBC"
+ Device.FaultMgmt.HistoryEvent.1.EventType = "Processing Error Alarm"
+ Device.FaultMgmt.ExpeditedEvent.1.EventType = "Processing Error Alarm"
+ Device.Security.Certificate.2.NotAfter = Wed Dec 31 18:59:59 1969
+
+ Device.Security.Certificate.2.X_SCM_CertificateName = "sc_cert.pem"
+ Device.Security.Certificate.2.Enable = 1
+ Device.X_SCM_DeviceFeature.X_SCM_Troubleshooting.Info.1.Name = ""
+ Device.X_SCM_DeviceFeature.X_SCM_Troubleshooting.X_SCM_Public_IPv6 = ""
+ Device.X_SCM_DeviceFeature.X_SCM_NEStatus.X_SCM_DEFGW_Status = "SUCCESS"
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_Netconf.X_SCM_NotificationControlNumberOfEntries = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_Web_Control.X_SCM_WebTimeout = 5
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.11.X_SCM_AppDownActionMask = 6
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.10.X_SCM_AppTimeoutToRunningAction = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.10.X_SCM_AppEnableCheck = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.9.X_SCM_AppTimeoutToRunningAction = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.9.X_SCM_AppEnableCheck = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.8.X_SCM_AppStateValidationTimes = 1
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.8.X_SCM_AppCrashCountMax = 10
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.5.X_SCM_AppName = "crond"
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.3.X_SCM_AppCrashMaxAction = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.3.X_SCM_AppUploadErrLogControl = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.0.X_SCM_AppDownActionMask = 1
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_MaxAppEntries = 31
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_WatchdogPollingPeriod = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_SmartLFS.X_SCM_TotalErrorLogSize = 10240
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.UserAccount.5.UserPasswordLifeCycle = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.UserAccount.5.UserPassword = ""
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.UserAccount.4.UserChangedPasswordTime = ""
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.UserAccount.4.UserClassification = 3
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.UserAccount.3.UserLockedTime = 0001-01-01T00:00:00Z
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.UserAccount.3.UserChangedPassword = ""
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.UserAccount.2.UserLevel = 5
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.UserAccount.1.UserName = "admin"
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.Ncom.X_SCM_NcomPeerTDSServiceInSync = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RedirectionServerURL = ""
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_ScheduledCheckRcDaemon = 1
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_CwmpTrafficDscpTag = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RcRebootWaitCnt = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_ScheduledCheckWatchdog = 10
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_CwmpProvisioningStatus = "0"
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_CwmpEventstruct = ""
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_CwmpDisasterRecoveryEnable = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RC_CheckDependencyEnable = 0
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.16.Alias = "rc_pnp"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.14.CrashCountMax = 10
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.13.CrashAction = "100_REBOOT_SERVICE"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.13.Dependency = "wan,cert"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.12.Status = "disabled"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.11.Name = "pful"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.8.CrashMaxAction = "100_REBOOT_SERVICE"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.5.Alias = "rc_cwmp"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.3.CrashCountMax = 10
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.2.CrashAction = "100_REBOOT_SERVICE"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.2.Dependency = "linkstatd"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.1.Status = "running"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.0.Name = ""
+ Device.X_SCM_DeviceFeature.X_SCM_WebServerMode = "https"
+ Device.X_SCM_DeviceFeature.X_SCM_SSHPermitRootEnable = 1
+ Device.FAP.MRMgmt.Config.1.MeasureType = ""
+ Device.FAP.X_SCM_LcdMgmt.WeatherStatus.MinTemperature = ""
+ Device.FAP.X_SCM_LcdMgmt.Config.GpsStatusPollingInterval = 5
+ Device.FAP.X_SCM_MrMgmt.Config.1.URL = ""
+ Device.FAP.X_SCM_MrMgmt.Config.1.Enable = 0
+ Device.FAP.PerfMgmt.Config.1.Username = ""
+ Device.FAP.Tunnel.VirtualInterface.0.DSCPMarkPolicy = -1
+ Device.FAP.Tunnel.X_SCM_UseForNTP = 0
+ Device.FAP.Tunnel.IKESANumberOfEntries = 0
+ Device.FAP.GPS.X_SCM_LogLevel = "NOTICE"
+ Device.FAP.GPS.X_SCM_LocationChangeInterval = 3600
+ Device.FAP.GPS.X_SCM_FixedLatitude = 0
+ Device.FAP.GPS.GPSReset = 0
+ Device.FAP.GPS.X_SCM_Uncertainty = "92606"
+ Device.FAP.GPS.X_SCM_ScanTimeoutForWifiBH = 90
+ Device.Security.X_SCM_IPsec.X_SCM_Ipsecconf.X_SCM_Ike = ""
+ Device.Security.Certificate.0.X_SCM_CMPServerRef = ""
+ Device.Security.Certificate.0.Issuer = ""
+ Device.Security.Certificate.0.SerialNumber = ""
+ Device.FaultMgmt.QueuedEvent.0.AlarmIdentifier = ""
+ Device.FaultMgmt.ExpeditedEvent.0.NotificationType = ""
+ Device.FaultMgmt.ExpeditedEvent.0.EventTime = 0001-01-01T00:00:00Z
+ Device.FaultMgmt.HistoryEvent.0.NotificationType = ""
+ Device.FaultMgmt.HistoryEvent.0.EventTime = 0001-01-01T00:00:00Z
+ Device.FaultMgmt.SupportedAlarm.93.EventType = "Processing Error Alarm"
+ Device.FaultMgmt.SupportedAlarm.91.ProbableCause = "MEMORY utilization exceeds threshold 2."
+ Device.FaultMgmt.SupportedAlarm.90.X_SCM_AlarmIdentifier = "11220"
+ Device.FaultMgmt.SupportedAlarm.89.SpecificProblem = "System overload level 4 is exceeded(90%)."
+ Device.FaultMgmt.SupportedAlarm.88.PerceivedSeverity = "Major"
+ Device.FaultMgmt.SupportedAlarm.87.X_SCM_RaiseNum = 0
+ Device.FaultMgmt.SupportedAlarm.85.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.84.EventType = "Processing Error Alarm"
+ Device.FaultMgmt.SupportedAlarm.82.ProbableCause = "CPU utilization exceeds threshold 1."
+ Device.FaultMgmt.SupportedAlarm.81.X_SCM_AlarmIdentifier = "11211"
+ Device.FaultMgmt.SupportedAlarm.79.PerceivedSeverity = "Major"
+ Device.FaultMgmt.SupportedAlarm.78.X_SCM_RaiseNum = 0
+ Device.FaultMgmt.SupportedAlarm.76.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.75.EventType = "Processing Error Alarm"
+ Device.FaultMgmt.SupportedAlarm.73.ProbableCause = "RF Critical Temperature Reached"
+ Device.FaultMgmt.SupportedAlarm.72.X_SCM_AlarmIdentifier = "11202"
+ Device.FaultMgmt.SupportedAlarm.70.SpecificProblem = "No free PCI to use in the provisioned list"
+ Device.FaultMgmt.SupportedAlarm.69.X_SCM_RaiseNum = 0
+ Device.FaultMgmt.SupportedAlarm.67.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.66.EventType = "Equipment Alarm"
+ Device.FaultMgmt.SupportedAlarm.64.ProbableCause = "Cell Unavailable: Invalid Cell Configuration"
+ Device.FaultMgmt.SupportedAlarm.63.X_SCM_AlarmIdentifier = "11138"
+ Device.FaultMgmt.SupportedAlarm.61.SpecificProblem = "Login Number Over Threshold "
+ Device.FaultMgmt.SupportedAlarm.60.PerceivedSeverity = "Critical"
+ Device.FaultMgmt.SupportedAlarm.58.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.57.EventType = "Equipment Alarm"
+ Device.FaultMgmt.SupportedAlarm.55.ProbableCause = "VLAN No IP Address"
+ Device.FaultMgmt.SupportedAlarm.54.X_SCM_AlarmIdentifier = "11175"
+ Device.FaultMgmt.SupportedAlarm.52.SpecificProblem = "Kernel Thread Crashed"
+ Device.FaultMgmt.SupportedAlarm.51.PerceivedSeverity = "Critical"
+ Device.FaultMgmt.SupportedAlarm.50.X_SCM_RaiseNum = 0
+ Device.FaultMgmt.SupportedAlarm.49.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.48.EventType = "Environmental Alarm"
+ Device.FaultMgmt.SupportedAlarm.46.ProbableCause = "Femto Cell Resection Priority "
+ Device.FaultMgmt.SupportedAlarm.45.X_SCM_AlarmIdentifier = "11167"
+ Device.FaultMgmt.SupportedAlarm.43.SpecificProblem = "L1 Issue Result In Enodeb Pending"
+ Device.FaultMgmt.SupportedAlarm.42.PerceivedSeverity = "Warning"
+ Device.FaultMgmt.SupportedAlarm.41.X_SCM_RaiseNum = 0
+ Device.FaultMgmt.SupportedAlarm.39.EventType = "Environmental Alarm"
+ Device.FaultMgmt.SupportedAlarm.37.ProbableCause = "TrE Check Failure"
+ Device.FaultMgmt.SupportedAlarm.36.X_SCM_AlarmIdentifier = "11162"
+ Device.FaultMgmt.SupportedAlarm.34.SpecificProblem = "RTWP Unreasonable"
+ Device.FaultMgmt.SupportedAlarm.33.PerceivedSeverity = "Warning"
+ Device.FaultMgmt.SupportedAlarm.32.X_SCM_RaiseNum = 0
+ Device.FaultMgmt.SupportedAlarm.30.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.28.ProbableCause = "Cell Unavailable:Stack Crash"
+ Device.FaultMgmt.SupportedAlarm.27.X_SCM_AlarmIdentifier = "11154"
+ Device.FaultMgmt.SupportedAlarm.25.SpecificProblem = "Interfere Is Great Than Threshold"
+ Device.FaultMgmt.SupportedAlarm.24.PerceivedSeverity = "Critical"
+ Device.FaultMgmt.SupportedAlarm.23.X_SCM_RaiseNum = 0
+ Device.FaultMgmt.SupportedAlarm.21.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.20.EventType = "Communications Alarm"
+ Device.FaultMgmt.SupportedAlarm.19.ProbableCause = "CPU Usage Overload"
+ Device.FaultMgmt.SupportedAlarm.18.X_SCM_AlarmIdentifier = "11130"
+ Device.FaultMgmt.SupportedAlarm.16.SpecificProblem = "SCTP Disconnected"
+ Device.FaultMgmt.SupportedAlarm.15.PerceivedSeverity = "Major"
+ Device.FaultMgmt.SupportedAlarm.14.X_SCM_RaiseNum = 0
+ Device.FaultMgmt.SupportedAlarm.12.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.11.EventType = "Communications Alarm"
+ Device.FaultMgmt.SupportedAlarm.8.ProbableCause = "Cell Unavailable:Base Band Crashed"
+ Device.FaultMgmt.SupportedAlarm.7.X_SCM_AlarmIdentifier = "11109"
+ Device.FaultMgmt.SupportedAlarm.5.SpecificProblem = "USIM Error"
+ Device.FaultMgmt.SupportedAlarm.4.PerceivedSeverity = "Major"
+ Device.FaultMgmt.SupportedAlarm.3.X_SCM_RaiseNum = 0
+ Device.FaultMgmt.SupportedAlarm.1.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.0.EventType = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.49.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.48.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.48.Alias = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.48.X_SCM_Name = "MR.GsmNcellNcc"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.47.Reference = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.45.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.45.Enable = 1
+ Device.PeriodicStatistics.SampleSet.3.Parameter.44.Values = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.39.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.39.Alias = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.39.X_SCM_Name = "MR.LteScPDSCHPRBNum"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.38.Reference = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.36.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.36.Enable = 1
+ Device.PeriodicStatistics.SampleSet.3.Parameter.35.Values = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.30.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.29.Reference = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.27.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.27.Enable = 1
+ Device.PeriodicStatistics.SampleSet.3.Parameter.26.Values = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.21.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.20.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.20.Alias = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.20.X_SCM_Name = "MR.PlrDLQciXRsrq"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.18.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.18.Enable = 1
+ Device.PeriodicStatistics.SampleSet.3.Parameter.17.Values = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.12.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.11.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.11.Alias = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.11.X_SCM_Name = "MR.PUSCHPRBNum"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.10.Reference = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.9.Reference = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.7.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.7.Enable = 1
+ Device.PeriodicStatistics.SampleSet.3.Parameter.6.Values = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.1.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.0.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.0.Alias = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.0.X_SCM_Name = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.204.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.203.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.203.Alias = "CSFBNoRRCFail"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.203.X_SCM_Name = "CC.FailCalls.Csfb.NoRrc"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.202.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.200.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.200.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.196.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.195.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.195.Alias = "CRNbrCfgBruUl"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.195.X_SCM_Name = "TCR.ULCodeCfg"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.194.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.192.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.192.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.191.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.187.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.186.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.186.Alias = "PdpFail_Alloc_Channel_Code_Fail"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.186.X_SCM_Name = "SM.FailEstabPS.NoOvsf"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.185.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.183.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.183.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.182.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.178.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.177.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.177.Alias = "CSFBCMServiceReq"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.177.X_SCM_Name = "CC.AttOutCalls.Csfb"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.176.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.174.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.174.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.173.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.169.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.168.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.168.Alias = "NAS_DlDisconnectNormalClearAfterActive_Conv_Video"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.168.X_SCM_Name = "CC.ClrInVideoCalls"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.167.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.165.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.165.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.164.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.159.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.159.Alias = "NAS_DlSetup_Conv_AMR"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.159.X_SCM_Name = "CC.AttIncVoiceCalls"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.158.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.156.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.156.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.155.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.150.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.149.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.147.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.147.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.146.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.141.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.140.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.140.Alias = "RrcConnSetupCompRegistration"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.140.X_SCM_Name = "RRC.SuccConnEstab.Registration"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.138.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.138.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.137.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.132.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.131.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.131.Alias = "RrcConnSetupCompOriginatingBackgroundCall"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.131.X_SCM_Name = "RRC.SuccConnEstab.OriginatingBackgroundCall"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.130.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.129.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.129.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.128.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.123.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.122.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.122.Alias = "RrcConnReqCallRe_establishment"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.122.X_SCM_Name = "RRC.AttConnEstab.Re_establishment"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.121.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.119.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.114.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.113.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.113.Alias = "RrcConnReqTerminatingInteractiveCall"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.113.X_SCM_Name = "RRC.AttConnEstab.TerminatingInteractiveCall"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.112.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.110.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.110.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.105.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.104.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.104.Alias = "CSFBPagingResponse"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.104.X_SCM_Name = "Pag.ResponseUe.Csfb"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.103.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.101.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.101.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.100.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.95.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.94.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.94.Alias = "HnbapUeRegisterTimeout"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.94.X_SCM_Name = "IUH.FailUeReg.NoReply"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.93.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.91.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.91.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.90.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.86.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.85.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.85.Alias = "SctpAssoc_Abort_ERROR_DEFAULT"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.85.X_SCM_Name = "IUH.SctpAbort.Default"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.84.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.82.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.82.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.81.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.77.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.76.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.76.Alias = "SctpAssoc_Abort_ERROR_UNRSLV_ADDR"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.76.X_SCM_Name = "IUH.SctpAbort.AddrUnresolvable"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.75.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.73.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.73.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.72.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.68.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.67.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.67.Alias = "SctpAssocAttEtsCount"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.67.X_SCM_Name = "IUH.SctpConnEstabAtt"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.66.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.64.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.64.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.63.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.59.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.58.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.58.Alias = "CSConv64kTime"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.58.X_SCM_Name = "RRC.CallDurationCS.Conv.55"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.57.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.55.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.55.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.54.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.49.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.49.Alias = "PSIuUsrDlTraffic"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.49.X_SCM_Name = "IUH.NumUserBits.PSDL"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.48.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.46.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.46.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.45.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.40.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.39.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.37.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.37.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.36.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.31.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.30.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.30.Alias = "HsdpaFail_No_Ovsf_Code"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.30.X_SCM_Name = "RAB.FailEstabHSDPA.NoOvsf"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.28.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.28.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.27.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.22.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.21.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.21.Alias = "Video_RAB_Setup_Failure"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.21.X_SCM_Name = "RAB.FailEstabVideo"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.20.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.19.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.19.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.18.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.13.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.12.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.12.Alias = "Voice_RAB_Setup_Success"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.12.X_SCM_Name = "RAB.SuccEstabVoice"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.11.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.8.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.8.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.7.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.2.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.1.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.1.Alias = "UARFCN"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.1.X_SCM_Name = "EQPT.UARFCN"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.0.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2188.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2187.Alias2 = "ERAB.AbnormalErabRelease.9"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2187.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2187.X_SCM_Name = "ERAB.AbnormalErabRelease.QCI.9"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2186.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2184.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2184.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2183.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2179.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2178.Alias2 = "RRC.ConnEstabTimeMax.PLMN.2.Spare1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2178.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2178.X_SCM_Name = "RRC.ConnEstabTimeMax.PLMN.2.Cause.Spare1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2177.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2175.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2175.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2174.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2169.Alias2 = "RRC.ConnEstabTimeMax.PLMN.1.Spare2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2169.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2169.X_SCM_Name = "RRC.ConnEstabTimeMax.PLMN.1.Cause.Spare2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2168.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2166.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2166.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2165.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2160.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2159.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2157.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2157.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2156.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2151.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2150.Alias2 = "RRC.ConnEstabTimeMean.PLMN.1.MoSignalling"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2150.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2150.X_SCM_Name = "RRC.ConnEstabTimeMean.PLMN.1.Cause.MoSignalling"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2148.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2148.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2147.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2142.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2141.Alias2 = "RRC.ConnEstabSuccPLMN.2.DelayTolerantAccess"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2141.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2141.X_SCM_Name = "RRC.ConnEstabSuccPLMN.2.Cause.DelayTolerantAccess"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2140.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2139.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2139.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2138.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2133.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2132.Alias2 = "RRC.ConnEstabSuccPLMN.1.DelayTolerantAccess"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2132.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2132.X_SCM_Name = "RRC.ConnEstabSuccPLMN.1.Cause.DelayTolerantAccess"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2131.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2129.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2124.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2123.Alias2 = "RRC.ConnEstabAttPLMN.2.DelayTolerantAccess"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2123.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2123.X_SCM_Name = "RRC.ConnEstabAttPLMN.2.Cause.DelayTolerantAccess"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2122.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2120.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2120.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2115.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2114.Alias2 = "RRC.ConnEstabAttPLMN.1.DelayTolerantAccess"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2114.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2114.X_SCM_Name = "RRC.ConnEstabAttPLMN.1.Cause.DelayTolerantAccess"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2113.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2111.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2111.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2110.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2106.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2105.Alias2 = "S1SIG.ConnEstabSucc.MoData"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2105.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2105.X_SCM_Name = "S1SIG.ConnEstabSucc.MoData"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2104.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2102.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2102.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2101.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2098.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2097.Alias2 = "S1SIG.ConnEstabAtt.MoData"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2097.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2097.X_SCM_Name = "S1SIG.ConnEstabAtt.MoData"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2096.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2094.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2094.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2093.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2089.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2088.Alias2 = "Dev.eNB.TACInUse"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2088.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2088.X_SCM_Name = "Dev.eNB.TACInUse"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2087.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2085.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2085.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2084.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2079.Alias2 = "HO.IartOutSucc.Misc.UnknownPLMN"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2079.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2079.X_SCM_Name = "HO.IartOutSucc.Cause.Misc.UnknownPLMN"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2078.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2076.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2076.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2075.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2070.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2069.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2067.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2067.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2066.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2061.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2060.Alias2 = "HO.IartOutSucc.Transport.ResourceUnavailable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2060.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2060.X_SCM_Name = "HO.IartOutSucc.Cause.Transport.ResourceUnavailable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2058.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2058.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2057.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2052.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2051.Alias2 = "HO.IartOutSucc.RadioNetwork.UnknownERABID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2051.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2051.X_SCM_Name = "HO.IartOutSucc.Cause.RadioNetwork.UnknownERABID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2050.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2049.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2049.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2048.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2043.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2042.Alias2 = "HO.IartOutSucc.RadioNetwork.UERadioConnectionLost"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2042.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2042.X_SCM_Name = "HO.IartOutSucc.Cause.RadioNetwork.UERadioConnectionLost"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2041.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2039.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2034.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2033.Alias2 = "HO.IartOutSucc.RadioNetwork.RadioResUnavailableInTarget"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2033.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2033.X_SCM_Name = "HO.IartOutSucc.Cause.RadioNetwork.RadioResUnavailableInTarget"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2032.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2030.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2030.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2025.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2024.Alias2 = "HO.IartOutSucc.RadioNetwork.ReleaseForEUTRANReason"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2024.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2024.X_SCM_Name = "HO.IartOutSucc.Cause.RadioNetwork.ReleaseForEUTRANReason"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2023.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2021.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2021.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2020.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2016.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2015.Alias2 = "HO.IartOutAtt.Misc.NotEnoughUserPlaneResources"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2015.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2015.X_SCM_Name = "HO.IartOutAtt.Cause.Misc.NotEnoughUserPlaneResources"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2014.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2012.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2012.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2011.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2007.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2006.Alias2 = "HO.IartOutAtt.Nas.CSGSubscriptionExpiry"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2006.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2006.X_SCM_Name = "HO.IartOutAtt.Cause.Nas.CSGSubscriptionExpiry"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2005.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2003.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2003.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2002.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1999.Alias2 = "HO.IartOutAtt.RadioNetwork.InvalidCSGID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1999.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1999.X_SCM_Name = "HO.IartOutAtt.Cause.RadioNetwork.InvalidCSGID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1998.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1996.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1996.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1995.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1990.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1989.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1987.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1987.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1986.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1981.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1980.Alias2 = "HO.IartOutAtt.RadioNetwork.ServingCellReduceLoad"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1980.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1980.X_SCM_Name = "HO.IartOutAtt.Cause.RadioNetwork.ServingCellReduceLoad"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1978.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1978.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1977.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1972.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1971.Alias2 = "HO.IartOutAtt.RadioNetwork.CellNotAvailable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1971.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1971.X_SCM_Name = "HO.IartOutAtt.Cause.RadioNetwork.CellNotAvailable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1970.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1969.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1969.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1968.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1963.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1962.Alias2 = "HO.IartOutAtt.RadioNetwork.TX2RELOCOverall"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1962.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1962.X_SCM_Name = "HO.IartOutAtt.Cause.RadioNetwork.TX2RELOCOverall"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1961.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1959.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1954.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1953.Alias2 = "HO.OutSuccTarget.Protocol.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1953.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1953.X_SCM_Name = "HO.OutSuccTarget.Cause.Protocol.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1952.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1950.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1950.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1945.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1944.Alias2 = "HO.OutSuccTarget.Nas.Detach"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1944.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1944.X_SCM_Name = "HO.OutSuccTarget.Cause.Nas.Detach"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1943.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1941.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1941.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1940.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1936.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1935.Alias2 = "HO.OutSuccTarget.RadioNetwork.S1InterSystemHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1935.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1935.X_SCM_Name = "HO.OutSuccTarget.Cause.RadioNetwork.S1InterSystemHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1934.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1932.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1932.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1931.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1927.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1926.Alias2 = "HO.OutSuccTarget.RadioNetwork.RadioResourcesUnavailable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1926.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1926.X_SCM_Name = "HO.OutSuccTarget.Cause.RadioNetwork.RadioResourcesUnavailable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1925.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1923.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1923.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1922.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1918.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1917.Alias2 = "HO.OutSuccTarget.RadioNetwork.HODesirable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1917.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1917.X_SCM_Name = "HO.OutSuccTarget.Cause.RadioNetwork.HODesirable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1916.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1914.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1914.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1913.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1909.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1908.Alias2 = "HO.OutSuccTarget.RadioNetwork.HOTargetNotAllowed"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1908.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1908.X_SCM_Name = "HO.OutSuccTarget.Cause.RadioNetwork.HOTargetNotAllowed"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1907.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1905.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1905.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1904.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1899.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1897.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1897.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1896.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1891.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1890.Alias2 = "HO.OutAttTarget.Protocol.MessageStateNotCompatible"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1890.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1890.X_SCM_Name = "HO.OutAttTarget.Cause.Protocol.MessageStateNotCompatible"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1888.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1888.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1887.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1882.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1881.Alias2 = "HO.OutAttTarget.Transport.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1881.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1881.X_SCM_Name = "HO.OutAttTarget.Cause.Transport.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1880.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1879.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1879.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1878.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1873.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1872.Alias2 = "HO.OutAttTarget.RadioNetwork.MultipleERABID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1872.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1872.X_SCM_Name = "HO.OutAttTarget.Cause.RadioNetwork.MultipleERABID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1871.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1869.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1864.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1863.Alias2 = "HO.OutAttTarget.RadioNetwork.TAULoadBalancing"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1863.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1863.X_SCM_Name = "HO.OutAttTarget.Cause.RadioNetwork.TAULoadBalancing"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1862.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1860.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1860.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1855.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1854.Alias2 = "HO.OutAttTarget.RadioNetwork.MMEUES1APIDError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1854.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1854.X_SCM_Name = "HO.OutAttTarget.Cause.RadioNetwork.MMEUES1APIDError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1853.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1851.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1851.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1850.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1846.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1845.Alias2 = "HO.OutAttTarget.RadioNetwork.HOCancel"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1845.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1845.X_SCM_Name = "HO.OutAttTarget.Cause.RadioNetwork.HOCancel"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1844.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1842.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1842.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1841.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1837.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1836.Alias2 = "RRU.PrbUl.5"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1836.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1836.X_SCM_Name = "RRU.PrbUl.QCI.5"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1835.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1833.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1833.Enable = 0
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1832.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1828.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1827.Alias2 = "RRU.PrbDl.5"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1827.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1827.X_SCM_Name = "RRU.PrbDl.QCI.5"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1826.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1824.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1824.Enable = 0
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1823.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1819.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1818.Alias2 = "DRB.IPThpUl.7"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1818.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1818.X_SCM_Name = "DRB.IPThpUl.QCI.7"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1817.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1815.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1815.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1814.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1809.Alias2 = "DRB.IpLateDl.7"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1809.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1809.X_SCM_Name = "DRB.IpLateDl.QCI.7"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1808.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1806.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1806.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1805.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1800.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1798.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1798.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1797.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1792.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1791.Alias2 = "DRB.UEActiveDl.9"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1791.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1791.X_SCM_Name = "DRB.UEActiveDl.QCI.9"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1790.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1789.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1789.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1788.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1783.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1782.Alias2 = "HO.NoDrxOutSucc"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1782.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1782.X_SCM_Name = "HO.NoDrxOutSucc"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1781.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1779.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1774.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1773.Alias2 = "HO.InterEnbOutSuccSum"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1773.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1773.X_SCM_Name = "HO.InterEnbOutSuccSum"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1772.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1770.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1770.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1765.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1764.Alias2 = "HO.InterEnbOutSucc.Protocol.SemanticError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1764.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1764.X_SCM_Name = "HO.InterEnbOutSucc.Cause.Protocol.SemanticError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1763.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1761.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1761.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1760.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1756.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1755.Alias2 = "HO.InterEnbOutSucc.Nas.NormalRelease"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1755.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1755.X_SCM_Name = "HO.InterEnbOutSucc.Cause.Nas.NormalRelease"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1754.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1752.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1752.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1751.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1747.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1746.Alias2 = "HO.InterEnbOutSucc.RadioNetwork.AlgoNotSupported"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1746.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1746.X_SCM_Name = "HO.InterEnbOutSucc.Cause.RadioNetwork.AlgoNotSupported"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1745.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1743.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1743.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1742.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1738.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1737.Alias2 = "HO.InterEnbOutSucc.RadioNetwork.CSFB"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1737.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1737.X_SCM_Name = "HO.InterEnbOutSucc.Cause.RadioNetwork.CSFB"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1736.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1734.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1734.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1733.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1729.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1728.Alias2 = "HO.InterEnbOutSucc.RadioNetwork.ENBUES1APIDError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1728.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1728.X_SCM_Name = "HO.InterEnbOutSucc.Cause.RadioNetwork.ENBUES1APIDError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1727.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1725.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1725.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1724.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1719.Alias2 = "HO.InterEnbOutSucc.RadioNetwork.PartialHandover"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1719.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1719.X_SCM_Name = "HO.InterEnbOutSucc.Cause.RadioNetwork.PartialHandover"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1718.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1716.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1716.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1715.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1710.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1709.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1707.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1707.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1706.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1701.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1700.Alias2 = "HO.InterEnbOutAtt.Nas.CSGSubscriptionExpiry"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1700.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1700.X_SCM_Name = "HO.InterEnbOutAtt.Cause.Nas.CSGSubscriptionExpiry"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1699.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1699.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1698.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1693.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1692.Alias2 = "HO.InterEnbOutAtt.RadioNetwork.ErrorQCI"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1692.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1692.X_SCM_Name = "HO.InterEnbOutAtt.Cause.RadioNetwork.ErrorQCI"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1691.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1689.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1684.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1683.Alias2 = "HO.InterEnbOutAtt.RadioNetwork.IRATRedirection"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1683.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1683.X_SCM_Name = "HO.InterEnbOutAtt.Cause.RadioNetwork.IRATRedirection"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1682.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1680.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1680.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1675.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1674.Alias2 = "HO.InterEnbOutAtt.RadioNetwork.ServingCellReduceLoad"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1674.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1674.X_SCM_Name = "HO.InterEnbOutAtt.Cause.RadioNetwork.ServingCellReduceLoad"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1673.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1671.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1671.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1670.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1666.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1665.Alias2 = "HO.InterEnbOutAtt.RadioNetwork.CellNotAvailable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1665.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1665.X_SCM_Name = "HO.InterEnbOutAtt.Cause.RadioNetwork.CellNotAvailable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1664.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1662.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1662.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1661.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1657.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1656.Alias2 = "HO.InterEnbOutAtt.RadioNetwork.TX2RELOCOverall"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1656.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1656.X_SCM_Name = "HO.InterEnbOutAtt.Cause.RadioNetwork.TX2RELOCOverall"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1655.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1653.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1653.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1652.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1648.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1647.Alias2 = "HO.IntraEnbOutSucc.Protocol.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1647.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1647.X_SCM_Name = "HO.IntraEnbOutSucc.Cause.Protocol.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1646.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1644.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1644.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1643.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1639.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1638.Alias2 = "HO.IntraEnbOutSucc.Nas.Detach"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1638.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1638.X_SCM_Name = "HO.IntraEnbOutSucc.Cause.Nas.Detach"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1637.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1635.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1635.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1634.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1629.Alias2 = "HO.IntraEnbOutSucc.RadioNetwork.S1InterSystemHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1629.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1629.X_SCM_Name = "HO.IntraEnbOutSucc.Cause.RadioNetwork.S1InterSystemHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1628.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1626.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1626.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1625.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1620.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1619.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1617.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1617.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1616.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1611.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1610.Alias2 = "HO.IntraEnbOutSucc.RadioNetwork.UES1APIDPairError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1610.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1610.X_SCM_Name = "HO.IntraEnbOutSucc.Cause.RadioNetwork.UES1APIDPairError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1608.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1608.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1607.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1602.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1601.Alias2 = "HO.IntraEnbOutSucc.RadioNetwork.HOFailureInTarget"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1601.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1601.X_SCM_Name = "HO.IntraEnbOutSucc.Cause.RadioNetwork.HOFailureInTarget"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1600.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1599.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1594.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1593.Alias2 = "HO.IntraEnbOutAtt.Misc.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1593.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1593.X_SCM_Name = "HO.IntraEnbOutAtt.Cause.Misc.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1592.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1590.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1590.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1585.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1584.Alias2 = "HO.IntraEnbOutAtt.Protocol.IgnoreAndNotify"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1584.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1584.X_SCM_Name = "HO.IntraEnbOutAtt.Cause.Protocol.IgnoreAndNotify"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1583.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1581.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1581.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1580.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1576.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1575.Alias2 = "HO.IntraEnbOutAtt.Transport.ResourceUnavailable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1575.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1575.X_SCM_Name = "HO.IntraEnbOutAtt.Cause.Transport.ResourceUnavailable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1574.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1572.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1572.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1571.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1567.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1566.Alias2 = "HO.IntraEnbOutAtt.RadioNetwork.UnknownERABID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1566.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1566.X_SCM_Name = "HO.IntraEnbOutAtt.Cause.RadioNetwork.UnknownERABID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1565.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1563.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1563.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1562.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1558.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1557.Alias2 = "HO.IntraEnbOutAtt.RadioNetwork.UERadioConnectionLost"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1557.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1557.X_SCM_Name = "HO.IntraEnbOutAtt.Cause.RadioNetwork.UERadioConnectionLost"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1556.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1554.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1554.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1553.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1549.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1548.Alias2 = "HO.IntraEnbOutAtt.RadioNetwork.RadioResUnavailableInTarget"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1548.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1548.X_SCM_Name = "HO.IntraEnbOutAtt.Cause.RadioNetwork.RadioResUnavailableInTarget"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1547.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1545.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1545.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1544.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1539.Alias2 = "HO.IntraEnbOutAtt.RadioNetwork.ReleaseForEUTRANReason"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1539.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1539.X_SCM_Name = "HO.IntraEnbOutAtt.Cause.RadioNetwork.ReleaseForEUTRANReason"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1538.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1536.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1536.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1535.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1530.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1529.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1527.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1527.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1526.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1521.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1520.Alias2 = "ERAB.ModQoSFailNbr.Misc.NotEnoughUserPlaneResources"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1520.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1520.X_SCM_Name = "ERAB.ModQoSFailNbr.Cause.Misc.NotEnoughUserPlaneResources"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1518.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1518.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1517.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1512.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1511.Alias2 = "ERAB.ModQoSFailNbr.Nas.Detach"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1511.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1511.X_SCM_Name = "ERAB.ModQoSFailNbr.Cause.Nas.Detach"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1510.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1509.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1509.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1508.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1503.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1502.Alias2 = "ERAB.ModQoSFailNbr.RadioNetwork.IRATRedirection"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1502.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1502.X_SCM_Name = "ERAB.ModQoSFailNbr.Cause.RadioNetwork.IRATRedirection"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1501.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1495.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1494.Alias2 = "ERAB.ModQoSFailNbr.RadioNetwork.ResourceOptimisationHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1494.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1494.X_SCM_Name = "ERAB.ModQoSFailNbr.Cause.RadioNetwork.ResourceOptimisationHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1493.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1491.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1491.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1490.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1486.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1485.Alias2 = "ERAB.ModQoSFailNbr.RadioNetwork.TS1RELOCoverall"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1485.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1485.X_SCM_Name = "ERAB.ModQoSFailNbr.Cause.RadioNetwork.TS1RELOCoverall"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1484.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1482.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1482.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1481.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1477.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1476.Alias2 = "ERAB.ModQoSAttNbrSum"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1476.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1476.X_SCM_Name = "ERAB.ModQoSAttNbrSum"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1475.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1473.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1473.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1472.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1468.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1467.Alias2 = "ERAB.RelActNbr.2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1467.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1467.X_SCM_Name = "ERAB.RelActNbr.QCI.2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1466.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1464.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1464.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1463.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1459.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1458.Alias2 = "ERAB.RelFailNbr.Protocol.MessageStateNotCompatible"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1458.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1458.X_SCM_Name = "ERAB.RelFailNbr.Cause.Protocol.MessageStateNotCompatible"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1457.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1455.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1455.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1454.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1449.Alias2 = "ERAB.RelFailNbr.Transport.ResourceUnavailable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1449.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1449.X_SCM_Name = "ERAB.RelFailNbr.Cause.Transport.ResourceUnavailable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1448.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1446.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1446.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1445.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1440.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1439.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1437.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1437.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1436.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1431.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1430.Alias2 = "ERAB.RelFailNbr.RadioNetwork.ResourceOptimisationHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1430.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1430.X_SCM_Name = "ERAB.RelFailNbr.Cause.RadioNetwork.ResourceOptimisationHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1428.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1428.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1427.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1422.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1421.Alias2 = "ERAB.RelFailNbr.RadioNetwork.TS1RELOCoverall"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1421.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1421.X_SCM_Name = "ERAB.RelFailNbr.Cause.RadioNetwork.TS1RELOCoverall"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1420.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1419.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1419.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1418.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1413.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1412.Alias2 = "ERAB.RelAttNbrSum"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1412.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1412.X_SCM_Name = "ERAB.RelAttNbrSum"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1411.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1409.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1404.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1403.Alias2 = "ERAB.RelEnbNbr.Protocol.SemanticError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1403.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1403.X_SCM_Name = "ERAB.RelEnbNbr.Cause.Protocol.SemanticError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1402.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1400.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1400.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1396.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1395.Alias2 = "ERAB.RelEnbNbr.Nas.AuthenticationFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1395.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1395.X_SCM_Name = "ERAB.RelEnbNbr.Cause.Nas.AuthenticationFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1394.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1392.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1392.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1391.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1387.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1386.Alias2 = "ERAB.RelEnbNbr.RadioNetwork.MultipleERABID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1386.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1386.X_SCM_Name = "ERAB.RelEnbNbr.Cause.RadioNetwork.MultipleERABID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1385.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1383.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1383.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1382.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1378.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1377.Alias2 = "ERAB.RelEnbNbr.RadioNetwork.TimeCriticalHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1377.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1377.X_SCM_Name = "ERAB.RelEnbNbr.Cause.RadioNetwork.TimeCriticalHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1376.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1374.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1374.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1373.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1369.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1368.Alias2 = "ERAB.RelEnbNbr.RadioNetwork.TS1RELOCoverall"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1368.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1368.X_SCM_Name = "ERAB.RelEnbNbr.Cause.RadioNetwork.TS1RELOCoverall"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1367.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1365.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1365.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1364.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1359.Alias2 = "ERAB.EstabTimeMax.8"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1359.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1359.X_SCM_Name = "ERAB.EstabTimeMax.QCI.8"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1358.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1356.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1356.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1355.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1350.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1349.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1347.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1347.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1346.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1341.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1340.Alias2 = "ERAB.EstabAddFailNbr.Misc.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1340.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1340.X_SCM_Name = "ERAB.EstabAddFailNbr.Cause.Misc.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1338.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1338.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1337.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1332.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1331.Alias2 = "ERAB.EstabAddFailNbr.Protocol.Reject"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1331.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1331.X_SCM_Name = "ERAB.EstabAddFailNbr.Cause.Protocol.Reject"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1330.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1329.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1329.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1328.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1323.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1322.Alias2 = "ERAB.EstabAddFailNbr.RadioNetwork.RedirectTo1xRTT"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1322.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1322.X_SCM_Name = "ERAB.EstabAddFailNbr.Cause.RadioNetwork.RedirectTo1xRTT"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1321.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1319.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1314.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1313.Alias2 = "ERAB.EstabAddFailNbr.RadioNetwork.ServingCellReduceLoad"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1313.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1313.X_SCM_Name = "ERAB.EstabAddFailNbr.Cause.RadioNetwork.ServingCellReduceLoad"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1312.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1310.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1310.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1305.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1304.Alias2 = "ERAB.EstabAddFailNbr.RadioNetwork.TS1RELOCprep"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1304.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1304.X_SCM_Name = "ERAB.EstabAddFailNbr.Cause.RadioNetwork.TS1RELOCprep"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1303.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1301.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1301.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1300.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1297.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1296.Alias2 = "ERAB.EstabAddFailNbr.RadioNetwork.TX2RELOCOverall"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1296.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1296.X_SCM_Name = "ERAB.EstabAddFailNbr.Cause.RadioNetwork.TX2RELOCOverall"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1295.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1293.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1293.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1292.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1288.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1287.Alias2 = "ERAB.EstabInitFailNbr.Protocol.FalselyConstructedMessage"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1287.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1287.X_SCM_Name = "ERAB.EstabInitFailNbr.Cause.Protocol.FalselyConstructedMessage"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1286.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1284.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1284.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1283.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1279.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1278.Alias2 = "ERAB.EstabInitFailNbr.Nas.NormalRelease"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1278.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1278.X_SCM_Name = "ERAB.EstabInitFailNbr.Cause.Nas.NormalRelease"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1277.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1275.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1275.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1274.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1269.Alias2 = "ERAB.EstabInitFailNbr.RadioNetwork.TAULoadBalancing"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1269.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1269.X_SCM_Name = "ERAB.EstabInitFailNbr.Cause.RadioNetwork.TAULoadBalancing"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1268.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1266.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1266.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1265.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1260.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1259.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1257.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1257.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1256.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1251.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1250.Alias2 = "UEContext.RelSuccNbr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1250.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1250.X_SCM_Name = "UEContext.RelSuccNbr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1248.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1248.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1247.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1242.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1241.Alias2 = "UECNTX.RelReq.Protocol.SemanticError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1241.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1241.X_SCM_Name = "UECNTX.RelReq.Cause.Protocol.SemanticError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1240.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1239.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1239.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1238.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1233.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1232.Alias2 = "UECNTX.RelReq.Transport.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1232.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1232.X_SCM_Name = "UECNTX.RelReq.Cause.Transport.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1231.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1229.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1224.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1223.Alias2 = "UECNTX.RelReq.RadioNetwork.UnknownERABID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1223.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1223.X_SCM_Name = "UECNTX.RelReq.Cause.RadioNetwork.UnknownERABID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1222.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1220.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1220.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1215.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1214.Alias2 = "UECNTX.RelReq.RadioNetwork.TimeCriticalHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1214.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1214.X_SCM_Name = "UECNTX.RelReq.Cause.RadioNetwork.TimeCriticalHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1213.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1211.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1211.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1210.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1206.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1205.Alias2 = "UECNTX.RelReq.RadioNetwork.TS1RELOCoverall"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1205.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1205.X_SCM_Name = "UECNTX.RelReq.Cause.RadioNetwork.TS1RELOCoverall"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1204.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1202.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1202.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1201.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1198.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1197.Alias2 = "UECNTX.RelReq.RadioNetwork.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1197.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1197.X_SCM_Name = "UECNTX.RelReq.Cause.RadioNetwork.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1196.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1194.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1194.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1193.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1189.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1188.Alias2 = "RRC.ConnEstabTimeMax.Emergency"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1188.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1188.X_SCM_Name = "RRC.ConnEstabTimeMax.Cause.Emergency"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1187.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1185.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1185.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1184.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1179.Alias2 = "RRC.ConnReEstabFailSum"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1179.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1179.X_SCM_Name = "RRC.ConnReEstabFailSum"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1178.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1176.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1176.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1175.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1170.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1169.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1167.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1167.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1166.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1161.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1160.Alias2 = "RRC.ConnEstabSucc.Spare2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1160.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1160.X_SCM_Name = "RRC.ConnEstabSucc.Cause.Spare2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1158.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1158.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1157.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1152.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1151.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1151.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1151.X_SCM_Name = "CONTEXT.AttRelMme.CauseCompletransction"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1150.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1149.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1149.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1148.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1143.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1142.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1142.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1142.X_SCM_Name = "MAC.PHRValueTotal"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1141.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1139.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1134.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1133.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1133.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1133.X_SCM_Name = "MAC.SchUserPerTti"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1132.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1130.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1130.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1125.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1124.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1124.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1124.X_SCM_Name = "HO.AttOutInterEnbS1.2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1123.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1121.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1121.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1120.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1116.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1115.Alias2 = "ERAB.UsageNbrMax.2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1115.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1115.X_SCM_Name = "ERAB.NbrMaxEstab.2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1114.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1112.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1112.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1111.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1107.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1106.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1106.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1106.X_SCM_Name = "ERAB.NbrSuccInitEstab.3"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1105.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1103.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1103.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1102.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1099.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1098.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1098.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1098.X_SCM_Name = "ERAB.NbrAttInitEstab.5"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1097.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1095.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1095.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1094.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1089.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1089.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1089.X_SCM_Name = "PDCP.UpLastTtiOctDl.6"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1088.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1086.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1086.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1085.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1080.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1079.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1077.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1077.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1076.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1071.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1070.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1070.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1070.X_SCM_Name = "PDCP.UpPktTotDelayDl.7"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1068.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1068.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1067.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1062.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1061.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1061.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1061.X_SCM_Name = "PDCP.ThrpTimeDL.8"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1060.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1059.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1059.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1058.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1053.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1052.Alias2 = "RRU.PrbTotDl"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1052.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1052.X_SCM_Name = "RRU.TotalPrbUsageMeanDl"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1051.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1049.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1044.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1043.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1043.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1043.X_SCM_Name = "RRU.DtchPrbAssnDl.2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1042.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1040.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1040.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1035.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1034.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1034.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1034.X_SCM_Name = "S1.DiagosisPacketTotalDelay"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1033.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1031.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1031.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1030.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1026.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1025.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1025.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1025.X_SCM_Name = "MAC.NbrRbDl.Tm8.RANK1BF"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1024.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1022.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1022.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1021.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1017.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1016.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1016.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1016.X_SCM_Name = "MAC.NbrTbDl.Tm9"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1015.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1013.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1013.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1012.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1008.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1007.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1007.Alias = "cpe-pm-ps-paging-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1007.X_SCM_Name = "PAG.PagReceived.PS"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1006.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1004.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1004.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1003.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.999.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.998.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.998.Alias = "cpe-pm-covg-ue-edge-area-total-rsrq"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.998.X_SCM_Name = "COVG.EdgeArea.TotalRSRQ"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.997.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.995.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.995.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.994.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.989.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.989.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.989.X_SCM_Name = "RRU.LendToPCellPrbTotDl"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.988.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.986.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.986.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.985.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.980.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.979.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.977.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.977.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.976.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.971.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.970.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.970.Alias = "cpe-pm-stack-l2-crash-times"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.970.X_SCM_Name = "SYS.StackL2CrashTimes"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.968.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.968.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.967.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.962.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.961.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.961.Alias = "cpe-pm-covg-vip-ue-middle-area-gtp-rx-bytes"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.961.X_SCM_Name = "COVG.MiddleIncGtpU.VipUe"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.960.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.959.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.959.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.958.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.953.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.952.Alias2 = "PHY.ULMaxNL.98"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.952.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.952.X_SCM_Name = "PHY.ULMaxNL.PRB98"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.951.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.949.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.944.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.943.Alias2 = "PHY.ULMaxNL.89"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.943.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.943.X_SCM_Name = "PHY.ULMaxNL.PRB89"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.942.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.940.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.940.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.935.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.934.Alias2 = "PHY.ULMaxNL.80"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.934.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.934.X_SCM_Name = "PHY.ULMaxNL.PRB80"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.933.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.931.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.931.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.930.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.926.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.925.Alias2 = "PHY.ULMaxNL.71"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.925.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.925.X_SCM_Name = "PHY.ULMaxNL.PRB71"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.924.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.922.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.922.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.921.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.917.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.916.Alias2 = "PHY.ULMaxNL.62"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.916.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.916.X_SCM_Name = "PHY.ULMaxNL.PRB62"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.915.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.913.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.913.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.912.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.908.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.907.Alias2 = "PHY.ULMaxNL.53"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.907.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.907.X_SCM_Name = "PHY.ULMaxNL.PRB53"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.906.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.904.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.904.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.903.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.899.Alias2 = "PHY.ULMaxNL.45"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.899.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.899.X_SCM_Name = "PHY.ULMaxNL.PRB45"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.898.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.896.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.896.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.895.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.890.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.889.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.887.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.887.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.886.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.881.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.880.Alias2 = "PHY.ULMaxNL.26"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.880.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.880.X_SCM_Name = "PHY.ULMaxNL.PRB26"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.878.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.878.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.877.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.872.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.871.Alias2 = "PHY.ULMaxNL.17"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.871.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.871.X_SCM_Name = "PHY.ULMaxNL.PRB17"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.870.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.869.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.869.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.868.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.863.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.862.Alias2 = "PHY.ULMaxNL.8"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.862.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.862.X_SCM_Name = "PHY.ULMaxNL.PRB8"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.861.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.859.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.854.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.853.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.853.Alias = "cpe-pm-current-temperature"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.853.X_SCM_Name = "EQPT.CurrentTemperature"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.852.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.850.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.850.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.845.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.844.Alias2 = "PHY.ULMeanNL.97"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.844.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.844.X_SCM_Name = "PHY.ULMeanNL.PRB97"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.843.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.841.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.841.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.840.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.836.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.835.Alias2 = "PHY.ULMeanNL.88"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.835.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.835.X_SCM_Name = "PHY.ULMeanNL.PRB88"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.834.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.832.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.832.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.831.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.827.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.826.Alias2 = "PHY.ULMeanNL.79"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.826.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.826.X_SCM_Name = "PHY.ULMeanNL.PRB79"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.825.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.823.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.823.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.822.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.818.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.817.Alias2 = "PHY.ULMeanNL.70"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.817.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.817.X_SCM_Name = "PHY.ULMeanNL.PRB70"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.816.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.814.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.814.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.813.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.809.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.808.Alias2 = "PHY.ULMeanNL.61"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.808.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.808.X_SCM_Name = "PHY.ULMeanNL.PRB61"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.807.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.805.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.805.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.804.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.799.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.797.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.797.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.796.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.791.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.790.Alias2 = "PHY.ULMeanNL.43"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.790.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.790.X_SCM_Name = "PHY.ULMeanNL.PRB43"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.788.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.788.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.787.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.782.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.781.Alias2 = "PHY.ULMeanNL.34"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.781.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.781.X_SCM_Name = "PHY.ULMeanNL.PRB34"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.780.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.779.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.779.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.778.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.773.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.772.Alias2 = "PHY.ULMeanNL.25"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.772.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.772.X_SCM_Name = "PHY.ULMeanNL.PRB25"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.771.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.769.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.764.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.763.Alias2 = "PHY.ULMeanNL.16"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.763.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.763.X_SCM_Name = "PHY.ULMeanNL.PRB16"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.762.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.760.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.760.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.755.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.754.Alias2 = "PHY.ULMeanNL.7"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.754.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.754.X_SCM_Name = "PHY.ULMeanNL.PRB7"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.753.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.751.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.751.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.750.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.746.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.745.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.745.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.745.X_SCM_Name = "PHY.NbrCqi14"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.744.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.742.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.742.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.741.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.737.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.736.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.736.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.736.X_SCM_Name = "PHY.NbrCqi5"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.735.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.733.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.733.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.732.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.728.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.727.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.727.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.727.X_SCM_Name = "RRU.TtiTotUl"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.726.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.724.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.724.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.723.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.719.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.718.Alias2 = "DRB.PdcpSduDropRateDl.8"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.718.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.718.X_SCM_Name = "PDCP.UpPktDiscardDl.8"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.717.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.715.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.715.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.714.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.709.Alias2 = "DRB.PdcpSduDelayDl.8"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.709.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.709.X_SCM_Name = "PDCP.UpPktDelayDl.8"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.708.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.706.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.706.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.705.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.700.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.698.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.698.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.697.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.692.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.691.Alias2 = "DRB.IPThpDl.9"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.691.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.691.X_SCM_Name = "PDCP.NbrPktDl.9"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.690.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.689.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.689.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.688.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.683.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.682.Alias2 = "DRB.PdcpSduLossRateUl.9"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.682.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.682.X_SCM_Name = "PDCP.NbrPktLossUl.9"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.681.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.679.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.674.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.673.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.673.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.673.X_SCM_Name = "PDCP.NbrPktUl.9"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.672.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.670.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.670.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.665.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.664.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.664.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.664.X_SCM_Name = "PDCP.CpOctDl"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.663.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.661.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.661.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.660.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.656.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.655.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.655.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.655.X_SCM_Name = "PDCP.UpOctDl.2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.654.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.652.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.652.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.651.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.647.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.646.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.646.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.646.X_SCM_Name = "PDCP.UpOctUl.3"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.645.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.643.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.643.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.642.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.638.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.637.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.637.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.637.X_SCM_Name = "IRATHO.FailPrepOutUtran.S1PrepFailed"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.636.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.634.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.634.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.633.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.629.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.628.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.628.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.628.X_SCM_Name = "IRATHO.FailPrepOutGeran.IntraEnbPrepFailed"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.627.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.625.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.625.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.624.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.619.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.619.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.619.X_SCM_Name = "HO.AttOutExecInterEnbX2.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.618.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.616.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.616.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.615.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.610.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.609.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.607.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.607.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.606.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.601.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.600.Alias2 = "UECNTX.RelReq.RadioNetwork.CSFB"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.600.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.600.X_SCM_Name = "CONTEXT.AttRelEnb.CauseCSFBTriggered"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.599.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.599.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.598.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.593.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.592.Alias2 = "ERAB.EstabInitFailNbrSum"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.592.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.592.X_SCM_Name = "CONTEXT.FailInitalSetup"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.591.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.589.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.584.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.583.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.583.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.583.X_SCM_Name = "ERAB.NbrLeft.3"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.582.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.580.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.580.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.575.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.574.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.574.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.574.X_SCM_Name = "ERAB.HoFail.3"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.573.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.571.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.571.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.570.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.566.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.565.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.565.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.565.X_SCM_Name = "ERAB.NbrReqRelEnb.Normal.4"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.564.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.562.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.562.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.561.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.557.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.556.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.556.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.556.X_SCM_Name = "ERAB.NbrSuccEstab.7"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.555.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.553.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.553.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.552.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.548.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.547.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.547.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.547.X_SCM_Name = "ERAB.NbrAttEstab.7"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.546.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.544.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.544.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.543.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.539.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.538.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.538.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.538.X_SCM_Name = "ERAB.NbrHoInc.7"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.537.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.535.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.535.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.534.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.529.Alias2 = "ERAB.UsageNbrMean.9"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.529.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.529.X_SCM_Name = "ERAB.NbrMeanEstab.9"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.528.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.526.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.526.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.525.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.520.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.519.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.517.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.517.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.516.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.511.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.510.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.510.Alias = "ERAB.NbrReqRelEnb.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.510.X_SCM_Name = "ERAB.NbrReqRelEnb.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.508.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.508.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.507.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.502.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.501.Alias2 = "ERAB.EstabInitFailNbr.Transport.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.501.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.501.X_SCM_Name = "ERAB.NbrFailEstab.CauseTransport"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.500.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.499.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.494.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.493.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.493.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.493.X_SCM_Name = "RRC.SetupTimeMax"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.492.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.490.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.490.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.485.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.484.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.484.Alias = "cpe-pm-covg-edge-area-gtp-rx-bytes"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.484.X_SCM_Name = "COVG.EdgeIncGtpU"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.483.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.481.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.481.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.480.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.476.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.475.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.475.Alias = "cpe-pm-covg-weak-rept-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.475.X_SCM_Name = "COVG.WeakReptNbr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.474.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.472.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.472.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.471.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.467.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.466.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.466.Alias = "cpe-pm-mro-handle-fast-mov-ue-ho-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.466.X_SCM_Name = "MRO.HandleFastMovUeHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.465.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.463.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.463.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.462.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.458.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.457.Alias2 = "HO.OutFail.TooEarly"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.457.Alias = "cpe-pm-mro-too-early-ho-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.457.X_SCM_Name = "MRO.TooEarlyHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.456.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.454.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.454.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.453.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.449.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.448.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.448.Alias = "cpe-pm-anr-add-neigh-succ-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.448.X_SCM_Name = "ANR.SuccAddNbr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.447.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.445.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.445.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.444.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.439.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.439.Alias = "cpe-pm-rach-access-delay-total-tm"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.439.X_SCM_Name = "RRU.RachAccessDelayTotalTime"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.438.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.436.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.436.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.435.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.430.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.429.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.427.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.427.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.426.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.421.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.420.Alias2 = "ERAB.ModQoSFailNbr.RadioNetwork.RadioInterfaceProcedureFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.420.Alias = "cpe-pm-rab-modi-fail-nr-radio-fail"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.420.X_SCM_Name = "ERAB.ModQoSFailNbr.RadioInterfaceFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.418.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.418.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.417.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.412.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.411.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.411.Alias = "cpe-pm-mme-rel-rab-nr-interrat-redi"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.411.X_SCM_Name = "ERAB.RelMmeNbr.InterRATRedirection"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.410.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.409.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.409.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.408.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.403.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.402.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.402.Alias = "cpe-pm-mme-rel-rab-nr-normrel"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.402.X_SCM_Name = "ERAB.RelMmeNbr.NormalRelease"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.401.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.395.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.394.Alias2 = "ERAB.RelFailNbr.Protocol.TransferSyntaxError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.394.Alias = "cpe-pm-mme-rel-rab-fail--nr-trans-synterr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.394.X_SCM_Name = "ERAB.RelFailNbr.TransferSyntaxError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.393.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.391.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.391.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.390.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.386.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.385.Alias2 = "ERAB.EstabAddFailNbr.RadioNetwork.X2HO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.385.Alias = "cpe-pm-init-addrab-est-fail-x2hotri"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.385.X_SCM_Name = "ERAB.EstabAddFailNbr.X2HandoverTriggered"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.384.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.382.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.382.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.381.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.377.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.376.Alias2 = "ERAB.EstabInitFailNbr.RadioNetwork.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.376.Alias = "cpe-pm-init-rab-est-fail-nr-oth"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.376.X_SCM_Name = "ERAB.EstabInitFailNbr.UnspecifiedFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.375.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.373.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.373.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.372.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.368.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.367.Alias2 = "ERAB.EstabInitFailNbr.RadioNetwork.UES1APIDPairError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.367.Alias = "cpe-pm-init-rab-est-fail-nr-ues1a-pidpairerr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.367.X_SCM_Name = "ERAB.EstabInitFailNbr.UeS1apIdPairError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.366.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.364.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.364.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.363.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.359.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.358.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.358.Alias = "cpe-pm-rrc-recfg-fail-nr-reest"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.358.X_SCM_Name = "RRC.FailConnReconfig.RrcReestablish"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.357.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.355.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.355.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.354.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.349.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.349.Alias = "cpe-pm-rrc-recfg-fail-nr-spsallc"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.349.X_SCM_Name = "RRC.FailConnReconfig.SPS"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.348.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.346.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.346.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.345.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.340.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.339.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.337.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.337.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.336.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.331.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.330.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.330.Alias = "cpe-pm-rrc-recfg-req-nr-rabdele"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.330.X_SCM_Name = "RRC.AttConnReconfig.RabDelete"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.328.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.328.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.327.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.322.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.321.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.321.Alias = "cpe-pm-rrc-reest-fail-nr-nocontext"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.321.X_SCM_Name = "RRC.ConnReEstabFail.NoContext"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.320.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.319.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.319.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.318.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.313.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.312.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.312.Alias = "cpe-pm-rrc-reest-fail-nr-tpcallc"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.312.X_SCM_Name = "RRC.ConnReEstabFail.TpcAllocFail"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.311.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.309.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.304.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.303.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.303.Alias = "cpe-pm-rrc-estab-fail-nr-per-encodefail"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.303.X_SCM_Name = "RRC.FailConnEstab.PerEncodeFail"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.302.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.300.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.300.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.296.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.295.Alias2 = "RRC.ConnEstabSucc.MoData"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.295.Alias = "cpe-pm-rrc-estab-succ-nr-modat"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.295.X_SCM_Name = "RRC.SuccConnEstab.MoData"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.294.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.292.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.292.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.291.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.287.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.286.Alias2 = "RRC.ConnEstabAtt.Emergency"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.286.Alias = "cpe-pm-rrc-estab-req-nr-emergency"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.286.X_SCM_Name = "RRC.AttConnEstab.Emergency"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.285.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.283.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.283.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.282.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.278.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.277.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.277.Alias = "cpe-pm-recv-abort-nr-errpv"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.277.X_SCM_Name = "SIG.SctpAbort.ProtocolViolation"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.276.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.274.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.274.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.273.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.269.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.268.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.268.Alias = "cpe-pm-recv-abort-nr-outofres"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.268.X_SCM_Name = "SIG.SctpAbort.NoResource"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.267.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.265.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.265.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.264.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.259.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.259.Alias = "cpe-pm-mac-dl-errb-rate"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.259.X_SCM_Name = "TBNbrBler.Dl"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.258.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.256.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.256.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.255.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.250.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.249.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.247.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.247.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.246.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.241.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.240.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.240.Alias = "cpe-pm-mac-dl-succtr-init-tb-num-qpsk"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.240.X_SCM_Name = "MAC.NbrSuccInitTbDl.Qpsk"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.238.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.238.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.237.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.232.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.231.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.231.Alias = "cpe-pm-mac-ul-succtr-init-tb-num-16qam"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.231.X_SCM_Name = "MAC.NbrSuccInitTbUl.16Qam"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.230.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.229.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.229.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.228.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.223.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.222.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.222.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.222.X_SCM_Name = "MAC.NbrTbUl"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.221.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.219.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.214.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.213.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.213.Alias = "cpe-pm-2utr-srvccho-req-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.213.X_SCM_Name = "SRVCC.AttOutUtran"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.212.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.210.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.210.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.205.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.204.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.204.Alias = "cpe-pm-volte-intraenb-ho-succ-nr-intrafreq"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.204.X_SCM_Name = "VoLTE.HO.SuccOutIntraEnb.IntraFreq"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.203.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.201.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.201.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.200.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.197.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.196.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.196.Alias = "cpe-pm-volte-interenb-x2ho-pre-succ-nr-interfreq"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.196.X_SCM_Name = "VoLTE.HO.SuccOutPrepInterEnbX2.InterFreq"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.195.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.193.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.193.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.192.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.188.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.187.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.187.Alias = "cpe-pm-volte-interenb-s1ho-exereq-nr-interfreq"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.187.X_SCM_Name = "VoLTE.HO.AttOutExecInterEnbS1.InterFreq"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.186.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.184.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.184.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.183.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.179.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.178.Alias2 = "ERAB.RelEnbNbr.RadioNetwork.CSFB"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.178.Alias = "cpe-pm-enbreq-rab-rel-nr-csfbtri"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.178.X_SCM_Name = "ERAB.RelEnbNbr.CSFallbackTriggered"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.177.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.175.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.175.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.174.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.169.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.169.Alias = "cpe-pm-intersys-ps-ho-req-nr-eutr-gr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.169.X_SCM_Name = "IRATHO.AttOutGprs"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.168.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.166.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.166.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.165.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.160.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.159.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.157.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.157.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.156.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.151.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.150.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.150.Alias = "cpe-pm-intrasys-interfreq-ho-req-nr-wl"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.150.X_SCM_Name = "HO.OutAttInterFreq.Radio"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.148.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.148.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.147.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.142.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.141.Alias2 = "DRB.PdcpSduBitrateUl.3"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.141.Alias = "cpe-pm-pdcp-ulup-send-q3"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.141.X_SCM_Name = "DRB.PdcpSduBitLenUl.3"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.140.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.139.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.139.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.138.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.133.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.132.Alias2 = "DRB.PdcpSduBitrateDl.3"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.132.Alias = "cpe-pm-pdcp-dlup-send-q3"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.132.X_SCM_Name = "DRB.PdcpSduBitLenDl.3"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.131.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.129.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.124.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.123.Alias2 = "ERAB.ModQoSSuccNbr.6"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.123.Alias = "cpe-pm-rab-succ-modi-nr-q6"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.123.X_SCM_Name = "ERAB.NbrSuccMod.6"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.122.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.120.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.120.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.115.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.114.Alias2 = "ERAB.ModQoSAttNbr.2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.114.Alias = "cpe-pm-rab-att-modi-nr-q2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.114.X_SCM_Name = "ERAB.NbrAttMod.2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.113.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.111.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.111.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.110.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.106.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.105.Alias2 = "ERAB.RelSuccNbr.6"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.105.Alias = "cpe-pm-rab-mme-succrel-nr-q6"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.105.X_SCM_Name = "ERAB.RelSuccNbr.6"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.104.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.102.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.102.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.101.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.96.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.95.Alias2 = "ERAB.RelSuccNbr.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.95.Alias = "cpe-pm-rab-mme-succrel-nr-q1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.95.X_SCM_Name = "ERAB.RelSuccNbr.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.94.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.92.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.92.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.91.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.87.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.86.Alias2 = "ERAB.RelEnbNbr.2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.86.Alias = "cpe-pm-rab-enb-rel-nr-q2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.86.X_SCM_Name = "ERAB.RelEnbNbr.2 "
+ Device.PeriodicStatistics.SampleSet.1.Parameter.85.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.83.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.83.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.82.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.78.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.77.Alias2 = "ERAB.EstabAddAttNbr.6"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.77.Alias = "cpe-pm-add-rab-att-nr-q6"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.77.X_SCM_Name = "ERAB.EstabAddAttNbr.6"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.76.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.74.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.74.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.73.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.69.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.68.Alias2 = "ERAB.EstabAddSuccNbr.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.68.Alias = "cpe-pm-add-rab-succ-nr-q1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.68.X_SCM_Name = "ERAB.EstabAddSuccNbr.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.67.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.65.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.65.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.64.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.59.Alias2 = "ERAB.EstabInitAttNbr.6"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.59.Alias = "cpe-pm-init-rab-att-nr-q6"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.59.X_SCM_Name = "ERAB.EstabInitAttNbr.6"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.58.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.56.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.56.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.55.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.50.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.49.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.47.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.47.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.46.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.41.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.40.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.40.Alias = "cpe-pm-ip-tx-bytes"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.40.X_SCM_Name = "EQPT.MacOctSent"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.38.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.38.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.37.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.32.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.31.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.31.Alias = "cpe-pm-redir-gsm-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.31.X_SCM_Name = "RRC.GsmRedirectAttNbr.Csfb"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.30.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.29.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.29.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.28.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.23.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.22.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.22.Alias = "cpe-pm-pdsch-prb-avail-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.22.X_SCM_Name = "RRU.AvailPrbUL"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.21.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.19.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.14.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.13.Alias2 = "DRB.PdcpSduAirLossRateDlSum"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.13.Alias = "cpe-pm-pdcp-dl-loss-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.13.X_SCM_Name = "PDCP.NbrPktLossDl"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.12.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.10.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.10.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.9.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.9.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.8.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.3.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2.Alias2 = "RRC.ConnEstabAttSum"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2.Alias = "cpe-pm-rrc-req-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2.X_SCM_Name = "RRC.AttConnEstab"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.ReportStartTime = 0001-01-01T00:00:00Z
+ Device.PeriodicStatistics.SampleSet.1.ReportSamples = 1
+ Device.PeriodicStatistics.SampleSet.0.Parameter.0.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.0.Parameter.0.Enable = 0
+ Device.Firewall.Chain.1.Rule.2.DSCP = -1
+ Device.Firewall.Chain.1.Rule.0.Protocol = -1
+ Device.Firewall.Chain.0.Rule.0.DestPort = -1
+ Device.Firewall.Level.0.Order = 1
+ Device.Firewall.LevelNumberOfEntries = 0
+ Device.Firewall.Version = ""
+ Device.DHCPv6.Client.1.SentOption.1.Enable = 1
+ Device.DHCPv6.Client.1.SentOption.0.Tag = 0
+ Device.DHCPv6.Client.0.ReceivedOptionNumberOfEntries = 0
+ Device.DHCPv6.ClientNumberOfEntries = 1
+ Device.DHCPv4.Server.Pool.1.LeaseTime = 86400
+ Device.DHCPv4.Server.Pool.1.IPRouters = ""
+ Device.DHCPv4.Client.1.ReqOption.0.Alias = ""
+ Device.DNS.Client.Server.3.Type = "DHCPv6"
+ Device.DNS.Client.Server.1.DNSServer = "10.76.28.1"
+ Device.Routing.Router.1.IPv4Forwarding.1.DestSubnetMask = ""
+ Device.Routing.Router.1.IPv6Forwarding.0.NextHop = ""
+ Device.Routing.Router.0.IPv4Forwarding.0.Interface = ""
+ Device.Routing.Router.0.IPv4Forwarding.0.DestIPAddress = ""
+ Device.Routing.Router.0.IPv4Forwarding.0.StaticRoute = 1
+ Device.Routing.Router.0.IPv4Forwarding.0.Enable = 0
+ Device.IP.Diagnostics.IPPing.MinimumResponseTimeDetailed = 0
+ Device.IP.Diagnostics.IPPing.Host = ""
+ Device.IP.Interface.5.Enable = 0
+ Device.IP.Interface.4.IPv4Address.0.SubnetMask = "255.255.255.0"
+ Device.IP.Interface.4.IPv4Address.0.DefaultGateway = ""
+ Device.IP.Interface.3.IPv4Address.1.SubnetMask = "255.255.255.0"
+ Device.IP.Interface.3.IPv4Address.1.DefaultGateway = ""
+ Device.IP.Interface.3.LowerLayers = "Device.Ethernet.VLANTermination.2"
+ Device.IP.Interface.3.Name = "eth0.1"
+ Device.IP.Interface.2.IPv4Address.0.IPAddress = "11.11.12.188"
+ Device.IP.Interface.2.IPv4Address.0.Enable = 0
+ Device.IP.Interface.1.IPv4Address.1.IPAddress = "10.76.28.214"
+ Device.IP.Interface.1.IPv4Address.1.Enable = 1
+ Device.IP.Interface.1.IPv6Address.0.Prefix = ""
+ Device.IP.Interface.0.IPv6Address.0.IPAddress = ""
+ Device.IP.Interface.0.IPv6Address.0.Enable = 0
+ Device.IP.InterfaceNumberOfEntries = 4
+ Device.IP.X_SCM_NetworkDetectIPv6Times = 0
+ Device.Ethernet.VLANTermination.1.LowerLayers = "Device.Ethernet.Interface.1"
+ Device.Ethernet.VLANTermination.1.Name = "eth0.17"
+ Device.Ethernet.VLANTermination.0.VLANID = 1
+ Device.Ethernet.Interface.1.PortType = ".X_SCM_PortType"
+ Device.Ethernet.Interface.1.MACAddress = "E8:1B:69:FF:64:F4"
+ Device.Time.NTPServerStratum = 3
+ Device.Time.NTPServer4 = ""
+ Device.ManagementServer.X_SCM_NetconfClientIPAddress = ""
+ Device.ManagementServer.X_SCM_TUNAddress = "192.168.0.1"
+ Device.ManagementServer.STUNUsername = ""
+ Device.ManagementServer.STUNServerPort = 0
+ Device.ManagementServer.X_SCM_UseCertificateEnable = 0
+ Device.ManagementServer.Username = ""
+ Device.ManagementServer.X_SCM_InitURL = ""
+ Device.DeviceInfo.VendorLogFile.1.X_SCM_LogControl.X_SCM_LogUploadPlaintext = 0
+ Device.DeviceInfo.VendorLogFile.1.X_SCM_LogControl.X_SCM_UploadURL = ""
+ Device.DeviceInfo.VendorLogFile.1.X_SCM_LogControl.X_SCM_CellTracePeriodicUploadTime = 0001-01-01T00:00:00
+ Device.DeviceInfo.TemperatureStatus.TemperatureSensor.1.Value = 42
+ Device.DeviceInfo.TemperatureStatus.TemperatureSensor.0.X_SCM_RF_Critical_Clear_ThresholdValue = 85
+ Device.DeviceInfo.X_SCM_SessionID = ""
+ Device.DeviceInfo.X_SCM_RebootCauseDetail = "cgi_status(by busybox)"
+ Device.DeviceInfo.X_SCM_UUID = ""
+ Device.DeviceInfo.UpTime = 0
+ Device.DeviceInfo.ProvisioningCode = ""
+ Device.DeviceInfo.AddEndPoint = ""
+ Device.DeviceInfo.HardwareVersion = "2.0"
+ Device.DeviceInfo.Description = ""
+ Device.Services.FAPService.1.Transport.RealTime.Perf.Underruns = 0
+ Device.Services.FAPService.1.Transport.RealTime.X_SCM_RtpPktRecvCount = 0
+ Device.Services.FAPService.1.Transport.RealTime.BytesSent = 0
+ Device.Services.FAPService.1.Transport.SCTP.Assoc.0.OutStreams = 0
+ Device.Services.FAPService.1.Transport.SCTP.X_SCM_MaxSctpReestablishCount = 10
+ Device.Services.FAPService.1.REM.LTE.Cell.0.BCCH.X_SCM_IsSIb5Decoded = 0
+ Device.Services.FAPService.1.REM.LTE.Cell.0.BCCH.X_SCM_NeighborGSMListNumberOfEntries = 0
+ Device.Services.FAPService.1.REM.LTE.Cell.0.RF.X_SCM_EnbType = 0
+ Device.Services.FAPService.1.REM.LTE.Cell.0.RF.PhyCellID = 0
+ Device.Services.FAPService.1.REM.LTE.X_SCM_EARFCN_SON_Algo.X_SCM_BeUsedByMacroNeighbor_Weight = 1
+ Device.Services.FAPService.1.REM.LTE.X_SCM_EnlargeUlSchVolteMinMcsLimit = 0
+ Device.Services.FAPService.1.REM.LTE.CellNumberOfEntries = 0
+ Device.Services.FAPService.1.REM.LTE.LastScanTime = 0001-01-01T00:00:00Z
+ Device.Services.FAPService.1.REM.LTE.ErrorDetails = ""
+ Device.Services.FAPService.1.REM.LTE.ScanTimeout = 360
+ Device.Services.FAPService.1.REM.LTE.X_SCM_SelectionEarfcnList = "20M:{38950,39150},{39350};"
+ Device.Services.FAPService.1.REM.LTE.X_SCM_UseExtendBandwidthEnable = 1
+ Device.Services.FAPService.1.REM.LTE.X_SCM_TdlSyncTdsTimer = 300
+ Device.Services.FAPService.1.REM.LTE.X_SCM_OutOfSyncTimeOut = 2
+ Device.Services.FAPService.1.REM.LTE.X_SCM_OTASyncAlg = "SyncAverageCell"
+ Device.Services.FAPService.1.REM.LTE.PeriodicInterval = 0
+ Device.Services.FAPService.1.REM.LTE.ScanOnBoot = 1
+ Device.Services.FAPService.1.REM.X_SCM_tfcsManagerConfig.ntpGroupFreqOffsetLimit = 100
+ Device.Services.FAPService.1.REM.X_SCM_tfcsManagerConfig.ntpFreqAccuracy = 50
+ Device.Services.FAPService.1.REM.X_SCM_tfcsManagerConfig.manualFreqErrorAdjust = 0
+ Device.Services.FAPService.1.REM.X_SCM_tfcsManagerConfig.srl = 3
+ Device.Services.FAPService.1.REM.X_SCM_NlSync.CellInfo.0.CellId = -1
+ Device.Services.FAPService.1.REM.X_SCM_NlSync.CellInfo.0.Channel = 0
+ Device.Services.FAPService.1.REM.X_SCM_NlSync.SyncedBand = 0
+ Device.Services.FAPService.1.REM.UMTS.X_SCM_TDSCDMA.Cell.0.X_SCM_RF.0.PCCPCHPower = -1
+ Device.Services.FAPService.1.REM.UMTS.X_SCM_TDSCDMA.Cell.0.X_SCM_RF.0.LAC = 0
+ Device.Services.FAPService.1.REM.UMTS.X_SCM_TDSCDMA.Cell.0.X_SCM_RFNumberOfEntries = 0
+ Device.Services.FAPService.1.REM.UMTS.WCDMA.CellNumberOfEntries = 0
+ Device.Services.FAPService.1.REM.UMTS.WCDMA.ScanOnBoot = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborListInUse2.LTECell.0.X_SCM_AccessMode = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborListInUse2.LTECell.0.CID = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborListInUse2.LTECellNumberOfEntries = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborListInUse.InterRATCell.CDMA2000.0.Name = ""
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborListInUse.InterRATCell.CDMA2000.0.A5Threshold1RSRP = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborListInUse.InterRATCell.CDMA2000.0.Name = ""
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborListInUse.InterRATCell.CDMA2000.0.BandClass = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborListInUse.LTECell.0.X_SCM_AccessMode = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborListInUse.LTECell.0.CID = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborListInUse.LTECellNumberOfEntries = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.X_SCM_NR.0.BandList = ""
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.X_SCM_NR.0.EARFCNDL = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.X_SCM_NR.0.CellID = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.CDMA2000.1.CID = "0"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.CDMA2000.1.Type = "1xRTT"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.GSM.0.X_SCM_DTM_SUPPORTED = ".DTMSupport"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.GSM.0.X_SCM_PS_HO_SUPPORTED = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.GSM.0.BSIC = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.GSM.0.X_SCM_RAC = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.UMTS.0.RimSupport = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.UMTS.0.X_SCM_UMTS_TYPE = "TDS"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.UMTS.0.UARFCNDL = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.UMTS.0.X_SCM_EnbAddr = ""
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.LTECell.0.X_SCM_DAHO_INDICATION = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.LTECell.0.X_SCM_X2_STATUS = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.LTECell.0.X_SCM_RSRP = 98
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.LTECell.0.X_SCM_PLMN_ID = ""
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.LTECell.0.Blacklisted = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.LTECell.0.PLMNID = ""
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B2MeasureCtrl.2.MeasurePurpose = 2
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B2MeasureCtrl.2.B2Threshold2GERAN = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B2Threshold2GERAN"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B2MeasureCtrl.1.ReportInterval = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.ReportInterval"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B2MeasureCtrl.1.Enable = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B2MeasureCtrl.0.ReportAmount = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.ReportAmount"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B1MeasureCtrl.2.ReportInterval = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.ReportInterval"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B1MeasureCtrl.2.Enable = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B1MeasureCtrl.1.ReportAmount = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.ReportAmount"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B1MeasureCtrl.1.B1ThresholdUTRARSCP = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B1ThresholdUTRARSCP"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B1MeasureCtrl.0.Hysteresis = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.Hysteresis"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.MaxB2MeasureCtrlEntries = 16
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B2Threshold2UTRAEcN0 = 30
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B1ThresholdCDMA2000 = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.X_SCM_GERANOperateModeType = "SRVCC_Redirect"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.X_SCM_UTRAOperateSwitch = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.X_SCM_MeasUTRAConfigType = "B2"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.X_SCM_A2ForIRATPS.TimeToTrigger = "480"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.PeriodMeasCtrl.1.MaxReportCells = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.MaxReportCells"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A4MeasureCtrl.0.MeasurePurpose = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A3MeasureCtrl.2.A3Offset = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A3Offset"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A3MeasureCtrl.1.MeasurePurpose = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A3MeasureCtrl.0.ReportInterval = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.ReportInterval"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A3MeasureCtrl.0.Enable = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A2MeasureCtrl.5.ReportQuantity = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.ReportQuantity"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A2MeasureCtrl.5.MaxReportCells = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.MaxReportCells"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A2MeasureCtrl.2.MeasurePurpose = 2
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A2MeasureCtrl.1.ReportInterval = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.ReportInterval"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A2MeasureCtrl.1.A2ThresholdRSRP = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A2ThresholdRSRP"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A2MeasureCtrl.1.Enable = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A2MeasureCtrl.0.ReportAmount = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.ReportAmount"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A2MeasureCtrl.0.A2ThresholdRSRQ = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A2ThresholdRSRQ"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A1MeasureCtrl.3.MeasurePurpose = 3
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A1MeasureCtrl.3.A1ThresholdRSRP = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A1ThresholdRSRP"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A1MeasureCtrl.2.ReportInterval = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.ReportInterval"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A1MeasureCtrl.2.A1ThresholdRSRQ = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A1ThresholdRSRQ"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A1MeasureCtrl.2.Enable = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A1MeasureCtrl.1.ReportAmount = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.ReportAmount"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A1MeasureCtrl.0.Hysteresis = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.Hysteresis"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.MaxA2MeasureCtrlEntries = 16
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.X_SCM_GapPatternForInterFreqMeas = 2
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.X_SCM_INTER_A5HoThresholdRSRQ = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A5Threshold2RSRP = 50
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A5Threshold1RSRQ = 25
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A4ThresholdRSRQ = 25
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.CDMA2000.X_SCM_ue_generic_cdma2000_params.X_SCM_imsi_11_12 = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.CDMA2000.X_SCM_ue_generic_cdma2000_params.X_SCM_bypass_reg_ind = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.CDMA2000.X_SCM_MOBILITY_SIB_8_PARAMS.REG_ZONE = 2
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.CDMA2000.X_SCM_MOBILITY_SIB_8_PARAMS.FOREIGN_NID_REG = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.CDMA2000.TReselectionCDMA2000SFMedium = 25
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.GERAN.GERANFreqGroup.0.ThreshXHigh = 7
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.GERAN.GERANFreqGroup.0.BCCHARFCN = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.GERAN.MaxGERANFreqGroupEntries = 32
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.UTRA.UTRANFDDFreq.0.Enable = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.UTRA.X_SCM_UTRANTDDFreq.0.ThreshXHigh = 14
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.UTRA.X_SCM_ThreshXLow = 6
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.UTRA.X_SCM_QQualMin = "-8"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.UTRA.TReselectionUTRASFMedium = 100
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.InterFreq.Carrier.0.X_SCM_THRESHX_HIGHQ_R9 = 14
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.InterFreq.Carrier.0.X_SCM_MULTIBAND_INFO_LIST = "ALLOW_NULL"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.InterFreq.Carrier.0.Enable = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.InterFreq.X_SCM_TReselectionEUTRASFMedium = 100
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IntraFreq.QQualMinR9Selection = ".X_SCM_QQualMinRel9Sib1"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IntraFreq.SNonIntraSearchPR9 = ".X_SCM_SNonIntraSearchPRel9"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IntraFreq.X_SCM_QQualMinOffsetRel9Sib1 = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IntraFreq.CellReselectionPriority = 7
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IntraFreq.AllowedMeasBandwidth = 100
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.CellRestriction.X_SCM_CongestionCtrl.1.X_SCM_BarringTime = 12
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.RRCTimers.T310 = "1000"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.RRCTimers.T301 = "1000"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.RLC.X_SCM_UMDRB.0.X_SCM_DL_snFieldLength = 10
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.RLC.SRB1.PollPDU = "128"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_PDCP.X_SCM_ROHC.8.X_SCM_ROHCEnabled = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_PDCP.X_SCM_ROHC.5.X_SCM_Profiles = "000000010"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_PDCP.X_SCM_ROHC.5.X_SCM_MaxCid = 15
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_PDCP.X_SCM_ROHC.0.X_SCM_QCI = 9
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.ULSCH.MaxUePerUlSf = "Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.X_SCM_Scheduler.X_SCM_MaxUePerUlSf"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.ULSCH.X_SCM_TimeAlignmentTimerDed = 7
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.ULSCH.RetxBSRTimer = 320
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileList.8.LongDRXCycle = "640"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileList.7.DRXShortCycleTimer = "4"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileList.6.DRXRetransmissionTimer = "2"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileList.4.ONDurationTimer = ".OnDurationTimer"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileList.2.OnDurationTimer = "10"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileList.1.DRXInactivityTimer = "40"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileList.1.DRXEnabled = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileList.1.QCI = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileList.0.ShortDRXCycle = "32"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DefaultPagingCycle = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_LongDRXCycleGBR = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.RACH.ResponseWindowSize = "10"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.RACH.MessagePowerOffsetGroupB = "0"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.RACH.MessageSizeGroupA = "144"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.RACH.NumberOfRaPreambles = "32"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.X_SCM_Scheduler.X_SCM_TpcSampleNum = 100
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.X_SCM_Scheduler.X_SCM_TpcSinrLowerThreshold = 127
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.X_SCM_Scheduler.X_SCM_DlBlerSampleNum = 10
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.X_SCM_Scheduler.X_SCM_UlFSSchedule = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.X_SCM_Scheduler.X_SCM_UlAdaptHarq = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.X_SCM_Scheduler.X_SCM_PFS_DL_TPT_Coefficient = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.PHY.ULPowerControl.Msg3Tpc = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.PHY.PUSCH.NSB = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.PHY.SRS.X_SCM_SRSPeriodCfg = "10"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.PHY.SRS.SRSMaxUpPTS = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.PHY.AntennaInfo.X_SCM_tm_mode_for_strngnt_qci = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.PHY.AntennaInfo.Antenna_Direction_Carrier1 = 3
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.RF.X_SCM_Carrier.0.X_SCM_DLBandwidthInMhz = "20"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.RF.X_SCM_FirstTimeFreqOffsetFoe = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_RRM.X_SCM_LoadBalanceType = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_RRM.X_SCM_LoadBalanceLevelMax = 5
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_RRM.X_SCM_MeasReportReqFlag = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_X2AP.X2BlackList.0.CellIdentity = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_X2AP.X_SCM_ResetTimer = 60000
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.QoS.8.Enable = 0
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.QoS.5.Priority = 1
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.QoS.3.DSCP = 46
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.QoS.3.PacketDelayBudget = 50
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.QoS.3.Type = "GBR"
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.QoS.2.VLANTag = 0
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.QoS.1.Alias = "-"
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.QoS.0.QCI = 1
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.PLMNList.1.PLMNID = "46000"
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.PLMNList.0.X_SCM_Supported_CellId = 0
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.PLMNList.0.Enable = 0
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.TAC = 1
+ Device.Services.FAPService.1.CellConfig.LTE.VoLTE.MaxPdcpInitParamEntries = 9
+ Device.Services.FAPService.1.CellConfig.LTE.X_SCM_ULTRASON_CONFIG.TPMConfig.EnableInterFreqMro = 0
+ Device.Services.FAPService.1.CellConfig.LTE.X_SCM_ULTRASON_CONFIG.TPMConfig.TPMMOTxPwrStepSizeIncrease = 5
+ Device.Services.FAPService.1.CellConfig.LTE.X_SCM_ULTRASON_CONFIG.TPMConfig.TPMPmax = 20
+ Device.Services.FAPService.1.CellConfig.LTE.TunnelNumberOfEntries = 0
+ Device.Services.FAPService.1.AccessMgmt.X_SCM_TDSCDMA.LocalIPAccess.Rules.0.Action = "NAPT"
+ Device.Services.FAPService.1.AccessMgmt.LTE.X_SCM_UEDetail.1.X_SCM_ID = "0"
+ Device.Services.FAPService.1.AccessMgmt.LTE.HNBName = "FemtoAP"
+ Device.Services.FAPService.1.AccessMgmt.LTE.X_SCM_EnableAcBarring = 0
+ Device.Services.FAPService.1.AccessMgmt.LTE.X_SCM_VoLtePreEmptMaxActiveERABs = 86
+ Device.Services.FAPService.1.FAPControl.X_SCM_TDSCDMA.Gateway.SecGWServer2 = ""
+ Device.Services.FAPService.1.FAPControl.X_SCM_TDSCDMA.RFTxStatus = 0
+ Device.Services.FAPService.1.FAPControl.LTE.Gateway.PreSecGW3ServerList.13.SecGWServer3Ip = "2600:0000:cf04:2641:10:158:172:183"
+ Device.Services.FAPService.1.FAPControl.LTE.Gateway.PreSecGW3ServerList.2.SecGWServer3Ip = "2600:0000:cf04:0e41:10:158:140:180"
+ Device.Services.FAPService.1.FAPControl.LTE.Gateway.AGServerEnable = "Device.Services.FAPService.1.FAPControl.LTE.Gateway.X_SCM_AccessHegw"
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_CRAN.SerialNumber = "2009CW5000019"
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_Debug.X_SCM_Rlog_modMask = 16383
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_Debug.X_SCM_Rlog_logLevel = 4
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_SceneManagement.Scene1NumberOfEntries = 0
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_DLPowerSetting.X_SCM_CoverageHoleReportNumberThreshold = 10
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_DLPowerSetting.X_SCM_WeakCoverageReportNumberThreshold = 10
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_DLPowerSetting.X_SCM_OverCoverageReportNumberThreshold = 10
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_DLPowerSetting.X_SCM_CoverageAlg = "Rate"
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_CoverageMeasurement.X_SCM_WeakCoverageNeighborRSRPOffsetThreshold = 10
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_CoverageMeasurement.X_SCM_MiddleArea_OverCoverage_ThresholdRSRQ = 23
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_MRO.InterFreqA5Threshold1RSRQ = "9,9,9,9,9,9,9,9"
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_MRO.InterFreqA5Threshold2RSRP = "35,35,36,33,31,31,31,32"
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_MRO.DeltaHPMargin = 1
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_MPOCtrlList.MPOCtrl.0.PLMNID = ""
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_InChannelDataAwarness.X_SCM_RsTxPowerAdjustStep = 3
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_ANR_Ctrl.X_SCM_ReuseNeighborListInUseTimeThreshold = 1440
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_ANR_Ctrl.X_SCM_OneEdgeAreaUeAnrPeriod = 60
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_TACInuse = 0
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_EnquiryUEInfoEnable = 1
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_RequestedFrequencyBandsR11Enable = 0
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_TxPACurrentHighThreshold = 0
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_TrustEnvironmentLevel = "High"
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_TcFeedbackAlgo = 1
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_CSGSmallCellPCIRange = 0
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_FemtoPCIStart = 498
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_CSFBConfigValue = 0
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_PrimetwsNoBroadcast = 5
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_BootMode = 0
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_ENodeBType = 0
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_AnrReportAmount = 2
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_WIRESHARK.X_SCM_CUDUMsgFilter = 0
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SAS.PeerCertVerifyEnable = 0
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SAS.CBSDPollingInterval = 200
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SAS.AntennaBeamwidth = 360
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SAS.CrlDistributionPoints = ""
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SAS.MeasCapability = "RECEIVED_POWER_WITHOUT_GRANT"
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SAS.ManufacturerPrefixEnable = 1
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_CMP.Config.1.AltName = ""
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_CMP.Config.0.X_SCM_KUR_Enable = 0
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_CMP.X_SCM_KUR_Before_Days = 0
+ Device.Services.FAPService.1.FAPControl.LTE.SelfConfig.SONConfigParam.LTESnifferFreqBandList = "Device.Services.FAPService.1.REM.LTE.REMBandList"
+ Device.Services.FAPService.1.FAPControl.LTE.SelfConfig.SONConfigParam.MaxGRANNeighbourCellNum = "Device.Services.FAPService.1.REM.UMTS.GSM.MaxCellEntries"
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_TCPMssFix = 1300
+ Device.Services.FAPService.1.FAPControl.X_SCM_LWM2M.X_SCM_Security.1.X_SCM_LWM2MServerURI = ""
+ Device.Services.FAPService.1.FAPControl.X_SCM_LWM2M.X_SCM_Security.0.X_SCM_PublicKeyOrIdentity = ""
+ Device.Services.FAPService.1.FAPControl.X_SCM_LWM2M.X_SCM_Security.0.X_SCM_BootstrapServer = 0
+ Device.Services.FAPService.1.FAPControl.X_SCM_LWM2M.X_SCM_MaxSecurityEntries = 32
+ Device.Services.FAPService.1.FAPControl.X_SCM_LWM2M.X_SCM_LWM2MEnable = 1
+ Device.Services.FAPService.1.FAPControl.X2IpAddrMapInfo.0.WanIpAddress = ""
+ Device.Services.FAPService.1.Capabilities.LTE.BandsSupported = "42,43,48"
+ Device.SoftwareCtrl.ActivateTime = 0000-00-00T00:00:00
+ Device.SoftwareCtrl.SystemCurrentVersion = "Device.DeviceInfo.SoftwareVersion"
+ Device.FaultMgmt.HistoryEvent.2.EventType = "Processing Error Alarm"
+ Device.FaultMgmt.ExpeditedEvent.2.EventType = "Processing Error Alarm"
+ Device.FaultMgmt.HistoryEvent.1.NotificationType = "NewAlarm"
+ Device.FaultMgmt.HistoryEvent.1.EventTime = 2021-10-26T02:14:23+08:00
+ Device.FaultMgmt.ExpeditedEvent.1.NotificationType = "NewAlarm"
+ Device.FaultMgmt.ExpeditedEvent.1.EventTime = 2021-10-26T02:14:23+08:00
+ Device.Security.Certificate.3.NotAfter = Fri Jun 19 21:59:59 2026
+
+ Device.Security.Certificate.3.X_SCM_CertificateName = "ipsec.cert"
+ Device.Security.Certificate.3.Enable = 1
+ Device.Security.Certificate.1.X_SCM_CMPServerRef = ""
+ Device.Security.Certificate.1.Issuer = "/C=US/O=Kyrio Inc./OU=RSA CBSD Mfr CA0001/CN=WInnForum RSA CBSD Mfr CA"
+ Device.Security.Certificate.1.SerialNumber = "523738757AD892D3F7582B9FA663E077"
+ Device.X_SCM_WiFi.IsHideSSID = 0
+ Device.X_SCM_WiFi.Band = ""
+ Device.X_SCM_WiFi.DebugCmd = "0"
+ Device.X_SCM_WiFi.Enable = 1
+ Device.X_SCM_DeviceFeature.X_SCM_LED.X_SCM_LED_CPE_Status = ""
+ Device.X_SCM_DeviceFeature.X_SCM_NEStatus.X_SCM_SHeMS_Status = "TRYING"
+ Device.X_SCM_DeviceFeature.X_SCM_NEStatus.X_SCM_IHeMS_Status = ""
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_Web_Control.X_SCM_MaxAuthFailTimes = 3
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.12.X_SCM_AppDownActionMask = 1
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.11.X_SCM_AppTimeoutToRunningAction = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.11.X_SCM_AppEnableCheck = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.10.X_SCM_AppStateValidationTimes = 1
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.10.X_SCM_AppCrashCountMax = 10
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.9.X_SCM_AppStateValidationTimes = 1
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.9.X_SCM_AppCrashCountMax = 10
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.6.X_SCM_AppName = "femto"
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.4.X_SCM_AppCrashMaxAction = 2
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.4.X_SCM_AppUploadErrLogControl = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.1.X_SCM_AppDownActionMask = 2
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.0.X_SCM_AppTimeoutToRunningAction = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_App.0.X_SCM_AppEnableCheck = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_AppStateValidationInterval = 500
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_KernelHeartbeatEnable = 1
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_Watchdog.X_SCM_KernelHeartbeatSendingPeriod = 30
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RunControl.X_SCM_RcWanARPPingTryCnt = 2
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_SmartLFS.X_SCM_SavePeriod = 3
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_SmartLFS.X_SCM_ErrorLogDuration = 10
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_SmartLFS.X_SCM_TotalEmergencyDumpSize = 200
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_TraceDump.X_SCM_Control = "Signal,Log,Emergency"
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.UserAccount.5.UserChangedPasswordTime = ""
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.UserAccount.5.UserClassification = 3
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.UserAccount.4.UserLockedTime = 0001-01-01T00:00:00Z
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.UserAccount.4.UserChangedPassword = ""
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.UserAccount.3.UserLevel = 3
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.UserAccount.2.UserName = "sc_femto"
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_CrondMainProcessCrashAction = 1
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_ReportBandwidthAlarmEnable = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_S1mmeDscpTag = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_CrondGetImsiInterval = 10
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_TcpMssControl = 1300
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_ServiceRebootManner = 1
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_RestoreDefault = "0"
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_CwmpScheduleTime = 0
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_CwmpDlstime = "0001-01-01T00:00:00Z"
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_CwmpUpgrade = 1
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_CwmpRebootCmdKey = ""
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_CwmpSetConnectionURLMethod = 1
+ Device.X_SCM_DeviceFeature.X_SCM_SystemParams.X_SCM_CwmpIface = ""
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.15.CrashCountMax = 10
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.14.CrashAction = "100_REBOOT_SERVICE"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.14.Dependency = "wan,pnp"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.13.Status = "disabled"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.12.Name = "son"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.10.CrashMaxAction = "100_REBOOT_SERVICE"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.9.CrashMaxAction = "100_REBOOT_SERVICE"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.6.Alias = "rc_sync"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.4.CrashCountMax = 10
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.3.CrashAction = "100_REBOOT_SERVICE"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.3.Dependency = "wan"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.2.Status = "running"
+ Device.X_SCM_DeviceFeature.SystemParams.RunControl.Service.1.Name = "linkstatd"
+ Device.FAP.MRMgmt.Config.1.SamplePeriod = "Device.PeriodicStatistics.SampleSet.3.SampleInterval"
+ Device.FAP.X_SCM_DmsMgmt.Config.1.URL = ""
+ Device.FAP.X_SCM_DmsMgmt.Config.1.Enable = 0
+ Device.FAP.PerfMgmt.Config.1.X_SCM_MaxWaitTime = 1
+ Device.FAP.PerfMgmt.Config.1.URL = ""
+ Device.FAP.PerfMgmt.Config.1.Enable = 0
+ Device.FAP.Tunnel.CryptoProfile.1.ESPIntegrity = "HMAC-SHA1-96"
+ Device.FAP.Tunnel.CryptoProfile.1.AuthMethod = ""
+ Device.FAP.Tunnel.VirtualInterfaceNumberOfEntries = 0
+ Device.FAP.GPS.X_SCM_FixedLongitude = 0
+ Device.FAP.GPS.X_SCM_SVInfo = ""
+ Device.FAP.GPS.X_SCM_Elevation = -18000
+ Device.Security.X_SCM_IPsec.X_SCM_Ipsecconf.X_SCM_Connection.0.X_SCM_Dpdperiodic = ""
+ Device.Security.X_SCM_IPsec.X_SCM_Ipsecconf.X_SCM_Connection.0.X_SCM_Dpddelay = ""
+ Device.Security.X_SCM_IPsec.X_SCM_Ipsecconf.X_SCM_Connection.0.X_SCM_Rightsubnet = ""
+ Device.Security.X_SCM_IPsec.X_SCM_Ipsecconf.X_SCM_CASection.X_SCM_Cacert = ""
+ Device.Security.X_SCM_IPsec.X_SCM_Ipsecconf.X_SCM_Rekey = ""
+ Device.Security.X_SCM_IPsec.X_SCM_Ipsecconf.X_SCM_Keyexchange = ""
+ Device.Security.X_SCM_IPsec.X_SCM_Strongswanconf.X_SCM_Plugin_load = "auto"
+ Device.FaultMgmt.ExpeditedEvent.0.ProbableCause = ""
+ Device.FaultMgmt.HistoryEvent.0.ProbableCause = ""
+ Device.FaultMgmt.CurrentAlarm.0.AlarmIdentifier = ""
+ Device.FaultMgmt.SupportedAlarm.92.ProbableCause = "MEMORY utilization exceeds threshold 3."
+ Device.FaultMgmt.SupportedAlarm.91.X_SCM_AlarmIdentifier = "11221"
+ Device.FaultMgmt.SupportedAlarm.89.PerceivedSeverity = "Critical"
+ Device.FaultMgmt.SupportedAlarm.88.X_SCM_RaiseNum = 0
+ Device.FaultMgmt.SupportedAlarm.86.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.85.EventType = "Processing Error Alarm"
+ Device.FaultMgmt.SupportedAlarm.83.ProbableCause = "CPU utilization exceeds threshold 2."
+ Device.FaultMgmt.SupportedAlarm.82.X_SCM_AlarmIdentifier = "11212"
+ Device.FaultMgmt.SupportedAlarm.80.SpecificProblem = "Disk Usage of a critical partition has exceeded minor threshold value(60%)."
+ Device.FaultMgmt.SupportedAlarm.79.X_SCM_RaiseNum = 0
+ Device.FaultMgmt.SupportedAlarm.77.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.76.EventType = "Processing Error Alarm"
+ Device.FaultMgmt.SupportedAlarm.74.ProbableCause = "Synchronization Source Lost"
+ Device.FaultMgmt.SupportedAlarm.73.X_SCM_AlarmIdentifier = "11203"
+ Device.FaultMgmt.SupportedAlarm.70.PerceivedSeverity = "Critical"
+ Device.FaultMgmt.SupportedAlarm.68.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.67.EventType = "Equipment Alarm"
+ Device.FaultMgmt.SupportedAlarm.65.ProbableCause = "PM application internal error"
+ Device.FaultMgmt.SupportedAlarm.64.X_SCM_AlarmIdentifier = "11192"
+ Device.FaultMgmt.SupportedAlarm.62.SpecificProblem = "Miscellaneous Reasons"
+ Device.FaultMgmt.SupportedAlarm.61.PerceivedSeverity = "Major"
+ Device.FaultMgmt.SupportedAlarm.60.X_SCM_RaiseNum = 0
+ Device.FaultMgmt.SupportedAlarm.59.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.58.EventType = "Equipment Alarm"
+ Device.FaultMgmt.SupportedAlarm.56.ProbableCause = "Critical High Temperature"
+ Device.FaultMgmt.SupportedAlarm.55.X_SCM_AlarmIdentifier = "11176"
+ Device.FaultMgmt.SupportedAlarm.53.SpecificProblem = "License Check Failure"
+ Device.FaultMgmt.SupportedAlarm.52.PerceivedSeverity = "Critical"
+ Device.FaultMgmt.SupportedAlarm.51.X_SCM_RaiseNum = 0
+ Device.FaultMgmt.SupportedAlarm.49.EventType = "Environmental Alarm"
+ Device.FaultMgmt.SupportedAlarm.47.ProbableCause = "Missing Neighbor Cell In Macro"
+ Device.FaultMgmt.SupportedAlarm.46.X_SCM_AlarmIdentifier = "11171"
+ Device.FaultMgmt.SupportedAlarm.44.SpecificProblem = "Neighbour Cells Exist The Same PCI And EARFCN Through ANR"
+ Device.FaultMgmt.SupportedAlarm.43.PerceivedSeverity = "Critical"
+ Device.FaultMgmt.SupportedAlarm.42.X_SCM_RaiseNum = 0
+ Device.FaultMgmt.SupportedAlarm.40.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.38.ProbableCause = "Cell Congestion"
+ Device.FaultMgmt.SupportedAlarm.37.X_SCM_AlarmIdentifier = "11163"
+ Device.FaultMgmt.SupportedAlarm.35.SpecificProblem = "Correct ECC Error In File System"
+ Device.FaultMgmt.SupportedAlarm.34.PerceivedSeverity = "Warning"
+ Device.FaultMgmt.SupportedAlarm.33.X_SCM_RaiseNum = 0
+ Device.FaultMgmt.SupportedAlarm.31.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.30.EventType = "Environmental Alarm"
+ Device.FaultMgmt.SupportedAlarm.29.ProbableCause = "CN Reject Connection In Control Plane "
+ Device.FaultMgmt.SupportedAlarm.28.X_SCM_AlarmIdentifier = "11159"
+ Device.FaultMgmt.SupportedAlarm.26.SpecificProblem = "Firmware Version Roll Back"
+ Device.FaultMgmt.SupportedAlarm.25.PerceivedSeverity = "Major"
+ Device.FaultMgmt.SupportedAlarm.24.X_SCM_RaiseNum = 0
+ Device.FaultMgmt.SupportedAlarm.22.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.21.EventType = "Communications Alarm"
+ Device.FaultMgmt.SupportedAlarm.19.X_SCM_AlarmIdentifier = "11137"
+ Device.FaultMgmt.SupportedAlarm.17.SpecificProblem = "PCI Conflict With Neighbor"
+ Device.FaultMgmt.SupportedAlarm.16.PerceivedSeverity = "Major"
+ Device.FaultMgmt.SupportedAlarm.15.X_SCM_RaiseNum = 0
+ Device.FaultMgmt.SupportedAlarm.13.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.12.EventType = "Communications Alarm"
+ Device.FaultMgmt.SupportedAlarm.10.ProbableCause = "Reinitialized"
+ Device.FaultMgmt.SupportedAlarm.9.ProbableCause = "Out Of Service"
+ Device.FaultMgmt.SupportedAlarm.8.X_SCM_AlarmIdentifier = "11110"
+ Device.FaultMgmt.SupportedAlarm.6.SpecificProblem = "Femto Is Not In Right Contry"
+ Device.FaultMgmt.SupportedAlarm.5.PerceivedSeverity = "Critical"
+ Device.FaultMgmt.SupportedAlarm.4.X_SCM_RaiseNum = 0
+ Device.FaultMgmt.SupportedAlarm.2.ReportingMechanism = "0 Expedited"
+ Device.FaultMgmt.SupportedAlarm.1.EventType = "Communications Alarm"
+ Device.FaultMgmt.MaxExpeditedEventEntries = 65535
+ Device.FaultMgmt.MaxHistoryEventEntries = 65535
+ Device.PeriodicStatistics.SampleSet.3.Parameter.49.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.49.Alias = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.49.X_SCM_Name = "MR.GsmNcellBcc"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.48.Reference = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.46.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.46.Enable = 1
+ Device.PeriodicStatistics.SampleSet.3.Parameter.45.Values = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.40.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.39.Reference = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.37.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.37.Enable = 1
+ Device.PeriodicStatistics.SampleSet.3.Parameter.36.Values = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.31.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.30.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.30.Alias = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.30.X_SCM_Name = "MR.LteScTadv"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.28.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.28.Enable = 1
+ Device.PeriodicStatistics.SampleSet.3.Parameter.27.Values = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.22.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.21.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.21.Alias = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.21.X_SCM_Name = "MR.PlrDLQciXRsrp"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.20.Reference = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.19.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.19.Enable = 1
+ Device.PeriodicStatistics.SampleSet.3.Parameter.18.Values = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.13.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.12.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.12.Alias = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.12.X_SCM_Name = "MR.PDSCHPRBNum"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.11.Reference = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.8.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.8.Enable = 1
+ Device.PeriodicStatistics.SampleSet.3.Parameter.7.Values = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.2.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.1.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.1.Alias = ""
+ Device.PeriodicStatistics.SampleSet.3.Parameter.1.X_SCM_Name = "MR.RSRP"
+ Device.PeriodicStatistics.SampleSet.3.Parameter.0.Reference = ""
+ Device.PeriodicStatistics.SampleSet.3.Alias = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.205.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.204.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.204.Alias = "CSFBRRCFail"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.204.X_SCM_Name = "CC.FailCalls.Csfb.RrcFail"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.203.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.201.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.201.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.200.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.197.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.196.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.196.Alias = "CRMeanNbrAssnBruDl"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.196.X_SCM_Name = "TCR.DLMeanCodeResUsed"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.195.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.193.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.193.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.192.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.188.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.187.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.187.Alias = "PdpFail_RadioLink_Reconfig_Fail"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.187.X_SCM_Name = "SM.FailEstabPS.RlcMacFail"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.186.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.184.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.184.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.183.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.179.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.178.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.178.Alias = "CSTrafficDropTime"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.178.X_SCM_Name = "RAB.RelReqCS"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.177.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.175.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.175.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.174.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.169.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.169.Alias = "NAS_ActivatePDPContextReqPerTraffic_Strm"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.169.X_SCM_Name = "SM.AttActPdpContext.Stream"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.168.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.166.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.166.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.165.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.160.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.159.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.157.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.157.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.156.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.151.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.150.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.150.Alias = "RrcConnRej_Hnb_Locked"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.150.X_SCM_Name = "RRC.FailConnEstab.HnbLocked"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.148.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.148.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.147.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.142.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.141.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.141.Alias = "RrcConnSetupCompDetach"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.141.X_SCM_Name = "RRC.SuccConnEstab.Detach"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.140.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.139.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.139.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.138.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.133.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.132.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.132.Alias = "RrcConnSetupCompOriginatingSubscribedTrafficCall"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.132.X_SCM_Name = "RRC.SuccConnEstab.OriginatingSubscribedTrafficCall"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.131.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.129.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.124.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.123.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.123.Alias = "RrcConnReqTerminatingHighPrioritySignalling"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.123.X_SCM_Name = "RRC.AttConnEstab.TerminatingHighPrioritySignalling"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.122.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.120.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.120.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.115.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.114.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.114.Alias = "RrcConnReqTerminatingBackgroundCall"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.114.X_SCM_Name = "RRC.AttConnEstab.TerminatingBackgroundCall"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.113.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.111.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.111.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.110.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.106.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.105.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.105.Alias = "RrcConnReqTotalRecv"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.105.X_SCM_Name = "RRC.AttConnEstab"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.104.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.102.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.102.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.101.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.96.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.95.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.95.Alias = "RrcConnRej_Exceed_UE_Limit"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.95.X_SCM_Name = "RRC.FailConnEstab.Congestion"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.94.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.92.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.92.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.91.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.87.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.86.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.86.Alias = "RtpPktTotalCount"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.86.X_SCM_Name = "IUH.TotIuUpCsOct"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.85.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.83.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.83.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.82.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.78.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.77.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.77.Alias = "SctpAssoc_Abort_ERROR_UNRECOG_CHUNK"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.77.X_SCM_Name = "IUH.SctpAbort.ChunkUnrecognized"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.76.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.74.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.74.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.73.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.69.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.68.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.68.Alias = "SctpAssocFailedEstCount"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.68.X_SCM_Name = "IUH.SctpConnEstabFail"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.67.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.65.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.65.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.64.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.59.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.59.Alias = "VoiceHandoverHnbToUmtsTotal"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.59.X_SCM_Name = "RELOC.AttPrepUEInvolVoice"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.58.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.56.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.56.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.55.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.50.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.49.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.47.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.47.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.46.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.41.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.40.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.40.Alias = "PS_DCHFail_RLCMAC_Failed"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.40.X_SCM_Name = "RAB.FailEstabPS.RlcMacFail"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.38.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.38.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.37.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.32.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.31.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.31.Alias = "HsdpaFail_IUUPRTP_Failed"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.31.X_SCM_Name = "RAB.FailEstabHSDPA.IuupRtpFail"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.30.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.29.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.29.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.28.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.23.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.22.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.22.Alias = "VideoCallFail_No_Ovsf_Code"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.22.X_SCM_Name = "RAB.FailEstabVideo.NoOvsf"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.21.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.19.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.14.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.13.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.13.Alias = "Voice_RAB_Setup_Failure"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.13.X_SCM_Name = "RAB.FailEstabVoice"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.12.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.10.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.10.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.9.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.9.Enable = 1
+ Device.PeriodicStatistics.SampleSet.2.Parameter.8.Values = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.3.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.2.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.2.Parameter.2.Alias = "CellParametersId"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.2.X_SCM_Name = "EQPT.CPI"
+ Device.PeriodicStatistics.SampleSet.2.Parameter.1.Reference = ""
+ Device.PeriodicStatistics.SampleSet.2.ReportStartTime = 0001-01-01T00:00:00Z
+ Device.PeriodicStatistics.SampleSet.2.ReportSamples = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2189.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2188.Alias2 = "Dev.eNB.PositionUncertainty"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2188.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2188.X_SCM_Name = "Dev.eNB.PositionUncertainty"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2187.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2185.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2185.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2184.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2179.Alias2 = "ERAB.AbnormalErabRelease.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2179.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2179.X_SCM_Name = "ERAB.AbnormalErabRelease.QCI.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2178.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2176.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2176.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2175.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2170.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2169.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2167.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2167.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2166.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2161.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2160.Alias2 = "RRC.ConnEstabTimeMean.PLMN.2.DelayTolerantAccess"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2160.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2160.X_SCM_Name = "RRC.ConnEstabTimeMean.PLMN.2.Cause.DelayTolerantAccess"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2158.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2158.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2157.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2152.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2151.Alias2 = "RRC.ConnEstabTimeMean.PLMN.1.MoData"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2151.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2151.X_SCM_Name = "RRC.ConnEstabTimeMean.PLMN.1.Cause.MoData"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2150.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2149.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2149.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2148.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2143.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2142.Alias2 = "RRC.ConnEstabSuccPLMN.2.Spare2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2142.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2142.X_SCM_Name = "RRC.ConnEstabSuccPLMN.2.Cause.Spare2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2141.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2139.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2134.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2133.Alias2 = "RRC.ConnEstabSuccPLMN.1.Spare2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2133.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2133.X_SCM_Name = "RRC.ConnEstabSuccPLMN.1.Cause.Spare2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2132.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2130.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2130.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2125.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2124.Alias2 = "RRC.ConnEstabAttPLMN.2.Spare2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2124.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2124.X_SCM_Name = "RRC.ConnEstabAttPLMN.2.Cause.Spare2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2123.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2121.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2121.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2120.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2116.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2115.Alias2 = "RRC.ConnEstabAttPLMN.1.Spare2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2115.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2115.X_SCM_Name = "RRC.ConnEstabAttPLMN.1.Cause.Spare2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2114.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2112.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2112.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2111.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2107.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2106.Alias2 = "S1SIG.ConnEstabSucc.DelayTolerantAccess"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2106.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2106.X_SCM_Name = "S1SIG.ConnEstabSucc.DelayTolerantAccess"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2105.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2103.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2103.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2102.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2099.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2098.Alias2 = "S1SIG.ConnEstabAtt.DelayTolerantAccess"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2098.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2098.X_SCM_Name = "S1SIG.ConnEstabAtt.DelayTolerantAccess"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2097.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2095.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2095.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2094.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2089.Alias2 = "Dev.eNB.PrachRSIInUse"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2089.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2089.X_SCM_Name = "Dev.eNB.PrachRSIInUse"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2088.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2086.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2086.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2085.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2080.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2079.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2077.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2077.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2076.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2071.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2070.Alias2 = "HO.IartOutSucc.Protocol.MessageStateNotCompatible"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2070.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2070.X_SCM_Name = "HO.IartOutSucc.Cause.Protocol.MessageStateNotCompatible"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2068.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2068.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2067.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2062.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2061.Alias2 = "HO.IartOutSucc.Transport.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2061.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2061.X_SCM_Name = "HO.IartOutSucc.Cause.Transport.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2060.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2059.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2059.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2058.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2053.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2052.Alias2 = "HO.IartOutSucc.RadioNetwork.MultipleERABID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2052.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2052.X_SCM_Name = "HO.IartOutSucc.Cause.RadioNetwork.MultipleERABID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2051.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2049.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2044.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2043.Alias2 = "HO.IartOutSucc.RadioNetwork.TAULoadBalancing"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2043.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2043.X_SCM_Name = "HO.IartOutSucc.Cause.RadioNetwork.TAULoadBalancing"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2042.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2040.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2040.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2035.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2034.Alias2 = "HO.IartOutSucc.RadioNetwork.MMEUES1APIDError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2034.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2034.X_SCM_Name = "HO.IartOutSucc.Cause.RadioNetwork.MMEUES1APIDError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2033.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2031.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2031.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2030.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2026.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2025.Alias2 = "HO.IartOutSucc.RadioNetwork.HOCancel"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2025.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2025.X_SCM_Name = "HO.IartOutSucc.Cause.RadioNetwork.HOCancel"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2024.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2022.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2022.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2021.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2017.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2016.Alias2 = "HO.IartOutAtt.Misc.HardwareFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2016.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2016.X_SCM_Name = "HO.IartOutAtt.Cause.Misc.HardwareFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2015.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2013.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2013.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2012.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2008.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2007.Alias2 = "HO.IartOutAtt.Protocol.TransferSyntaxError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2007.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2007.X_SCM_Name = "HO.IartOutAtt.Cause.Protocol.TransferSyntaxError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2006.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2004.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2004.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2003.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1999.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1997.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1997.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1996.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1991.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1990.Alias2 = "HO.IartOutAtt.RadioNetwork.RadioInteractionFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1990.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1990.X_SCM_Name = "HO.IartOutAtt.Cause.RadioNetwork.RadioInteractionFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1988.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1988.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1987.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1982.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1981.Alias2 = "HO.IartOutAtt.RadioNetwork.UserInactivity"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1981.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1981.X_SCM_Name = "HO.IartOutAtt.Cause.RadioNetwork.UserInactivity"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1980.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1979.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1979.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1978.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1973.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1972.Alias2 = "HO.IartOutAtt.RadioNetwork.UnknownTargetID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1972.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1972.X_SCM_Name = "HO.IartOutAtt.Cause.RadioNetwork.UnknownTargetID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1971.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1969.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1964.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1963.Alias2 = "HO.IartOutAtt.RadioNetwork.SuccessHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1963.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1963.X_SCM_Name = "HO.IartOutAtt.Cause.RadioNetwork.SuccessHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1962.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1960.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1960.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1955.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1954.Alias2 = "HO.OutSuccTarget.Misc.ControlProcessingOverload"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1954.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1954.X_SCM_Name = "HO.OutSuccTarget.Cause.Misc.ControlProcessingOverload"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1953.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1951.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1951.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1950.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1946.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1945.Alias2 = "HO.OutSuccTarget.Nas.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1945.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1945.X_SCM_Name = "HO.OutSuccTarget.Cause.Nas.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1944.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1942.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1942.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1941.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1937.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1936.Alias2 = "HO.OutSuccTarget.RadioNetwork.X2HO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1936.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1936.X_SCM_Name = "HO.OutSuccTarget.Cause.RadioNetwork.X2HO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1935.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1933.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1933.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1932.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1928.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1927.Alias2 = "HO.OutSuccTarget.RadioNetwork.RadioInterfaceProcedureFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1927.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1927.X_SCM_Name = "HO.OutSuccTarget.Cause.RadioNetwork.RadioInterfaceProcedureFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1926.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1924.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1924.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1923.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1919.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1918.Alias2 = "HO.OutSuccTarget.RadioNetwork.TimeCriticalHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1918.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1918.X_SCM_Name = "HO.OutSuccTarget.Cause.RadioNetwork.TimeCriticalHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1917.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1915.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1915.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1914.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1909.Alias2 = "HO.OutSuccTarget.RadioNetwork.TS1RELOCoverall"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1909.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1909.X_SCM_Name = "HO.OutSuccTarget.Cause.RadioNetwork.TS1RELOCoverall"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1908.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1906.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1906.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1905.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1900.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1898.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1898.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1897.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1892.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1891.Alias2 = "HO.OutAttTarget.Protocol.SemanticError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1891.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1891.X_SCM_Name = "HO.OutAttTarget.Cause.Protocol.SemanticError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1890.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1889.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1889.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1888.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1883.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1882.Alias2 = "HO.OutAttTarget.Nas.NormalRelease"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1882.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1882.X_SCM_Name = "HO.OutAttTarget.Cause.Nas.NormalRelease"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1881.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1879.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1874.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1873.Alias2 = "HO.OutAttTarget.RadioNetwork.AlgoNotSupported"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1873.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1873.X_SCM_Name = "HO.OutAttTarget.Cause.RadioNetwork.AlgoNotSupported"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1872.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1870.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1870.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1865.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1864.Alias2 = "HO.OutAttTarget.RadioNetwork.CSFB"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1864.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1864.X_SCM_Name = "HO.OutAttTarget.Cause.RadioNetwork.CSFB"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1863.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1861.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1861.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1860.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1856.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1855.Alias2 = "HO.OutAttTarget.RadioNetwork.ENBUES1APIDError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1855.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1855.X_SCM_Name = "HO.OutAttTarget.Cause.RadioNetwork.ENBUES1APIDError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1854.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1852.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1852.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1851.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1847.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1846.Alias2 = "HO.OutAttTarget.RadioNetwork.PartialHandover"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1846.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1846.X_SCM_Name = "HO.OutAttTarget.Cause.RadioNetwork.PartialHandover"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1845.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1843.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1843.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1842.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1838.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1837.Alias2 = "RRU.PrbUl.6"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1837.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1837.X_SCM_Name = "RRU.PrbUl.QCI.6"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1836.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1834.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1834.Enable = 0
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1833.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1829.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1828.Alias2 = "RRU.PrbDl.6"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1828.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1828.X_SCM_Name = "RRU.PrbDl.QCI.6"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1827.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1825.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1825.Enable = 0
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1824.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1819.Alias2 = "DRB.IPThpUl.8"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1819.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1819.X_SCM_Name = "DRB.IPThpUl.QCI.8"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1818.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1816.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1816.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1815.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1810.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1809.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1807.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1807.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1806.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1801.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1800.Alias2 = "DRB.UEActiveUl.8"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1800.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1800.X_SCM_Name = "DRB.UEActiveUl.QCI.8"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1799.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1799.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1798.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1793.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1792.Alias2 = "DRB.UEActiveDlSum"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1792.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1792.X_SCM_Name = "DRB.UEActiveDlSum"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1791.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1789.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1784.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1783.Alias2 = "DRB.UEActiveDl.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1783.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1783.X_SCM_Name = "DRB.UEActiveDl.QCI.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1782.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1780.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1780.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1775.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1774.Alias2 = "HO.IntraFreqOutSucc"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1774.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1774.X_SCM_Name = "HO.IntraFreqOutSucc"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1773.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1771.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1771.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1770.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1766.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1765.Alias2 = "HO.InterEnbOutSucc.Protocol.FalselyConstructedMessage"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1765.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1765.X_SCM_Name = "HO.InterEnbOutSucc.Cause.Protocol.FalselyConstructedMessage"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1764.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1762.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1762.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1761.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1757.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1756.Alias2 = "HO.InterEnbOutSucc.Nas.AuthenticationFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1756.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1756.X_SCM_Name = "HO.InterEnbOutSucc.Cause.Nas.AuthenticationFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1755.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1753.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1753.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1752.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1748.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1747.Alias2 = "HO.InterEnbOutSucc.RadioNetwork.S1IntraSystemHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1747.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1747.X_SCM_Name = "HO.InterEnbOutSucc.Cause.RadioNetwork.S1IntraSystemHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1746.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1744.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1744.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1743.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1739.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1738.Alias2 = "HO.InterEnbOutSucc.RadioNetwork.UENotAvailableforPS"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1738.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1738.X_SCM_Name = "HO.InterEnbOutSucc.Cause.RadioNetwork.UENotAvailableforPS"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1737.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1735.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1735.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1734.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1729.Alias2 = "HO.InterEnbOutSucc.RadioNetwork.UES1APIDPairError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1729.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1729.X_SCM_Name = "HO.InterEnbOutSucc.Cause.RadioNetwork.UES1APIDPairError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1728.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1726.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1726.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1725.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1720.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1719.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1717.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1717.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1716.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1711.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1710.Alias2 = "HO.InterEnbOutAtt.Misc.HardwareFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1710.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1710.X_SCM_Name = "HO.InterEnbOutAtt.Cause.Misc.HardwareFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1708.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1708.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1707.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1702.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1701.Alias2 = "HO.InterEnbOutAtt.Protocol.TransferSyntaxError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1701.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1701.X_SCM_Name = "HO.InterEnbOutAtt.Cause.Protocol.TransferSyntaxError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1700.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1699.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1694.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1693.Alias2 = "HO.InterEnbOutAtt.RadioNetwork.InvalidCSGID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1693.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1693.X_SCM_Name = "HO.InterEnbOutAtt.Cause.RadioNetwork.InvalidCSGID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1692.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1690.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1690.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1685.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1684.Alias2 = "HO.InterEnbOutAtt.RadioNetwork.RadioInteractionFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1684.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1684.X_SCM_Name = "HO.InterEnbOutAtt.Cause.RadioNetwork.RadioInteractionFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1683.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1681.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1681.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1680.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1676.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1675.Alias2 = "HO.InterEnbOutAtt.RadioNetwork.UserInactivity"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1675.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1675.X_SCM_Name = "HO.InterEnbOutAtt.Cause.RadioNetwork.UserInactivity"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1674.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1672.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1672.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1671.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1667.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1666.Alias2 = "HO.InterEnbOutAtt.RadioNetwork.UnknownTargetID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1666.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1666.X_SCM_Name = "HO.InterEnbOutAtt.Cause.RadioNetwork.UnknownTargetID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1665.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1663.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1663.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1662.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1658.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1657.Alias2 = "HO.InterEnbOutAtt.RadioNetwork.SuccessHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1657.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1657.X_SCM_Name = "HO.InterEnbOutAtt.Cause.RadioNetwork.SuccessHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1656.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1654.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1654.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1653.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1649.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1648.Alias2 = "HO.IntraEnbOutSucc.Misc.ControlProcessingOverload"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1648.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1648.X_SCM_Name = "HO.IntraEnbOutSucc.Cause.Misc.ControlProcessingOverload"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1647.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1645.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1645.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1644.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1639.Alias2 = "HO.IntraEnbOutSucc.Nas.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1639.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1639.X_SCM_Name = "HO.IntraEnbOutSucc.Cause.Nas.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1638.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1636.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1636.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1635.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1630.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1629.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1627.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1627.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1626.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1621.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1620.Alias2 = "HO.IntraEnbOutSucc.RadioNetwork.RadioResourcesUnavailable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1620.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1620.X_SCM_Name = "HO.IntraEnbOutSucc.Cause.RadioNetwork.RadioResourcesUnavailable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1618.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1618.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1617.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1612.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1611.Alias2 = "HO.IntraEnbOutSucc.RadioNetwork.HODesirable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1611.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1611.X_SCM_Name = "HO.IntraEnbOutSucc.Cause.RadioNetwork.HODesirable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1610.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1609.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1609.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1608.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1603.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1602.Alias2 = "HO.IntraEnbOutSucc.RadioNetwork.HOTargetNotAllowed"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1602.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1602.X_SCM_Name = "HO.IntraEnbOutSucc.Cause.RadioNetwork.HOTargetNotAllowed"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1601.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1595.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1594.Alias2 = "HO.IntraEnbOutAtt.Misc.UnknownPLMN"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1594.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1594.X_SCM_Name = "HO.IntraEnbOutAtt.Cause.Misc.UnknownPLMN"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1593.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1591.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1591.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1590.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1586.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1585.Alias2 = "HO.IntraEnbOutAtt.Protocol.MessageStateNotCompatible"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1585.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1585.X_SCM_Name = "HO.IntraEnbOutAtt.Cause.Protocol.MessageStateNotCompatible"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1584.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1582.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1582.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1581.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1577.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1576.Alias2 = "HO.IntraEnbOutAtt.Transport.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1576.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1576.X_SCM_Name = "HO.IntraEnbOutAtt.Cause.Transport.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1575.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1573.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1573.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1572.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1568.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1567.Alias2 = "HO.IntraEnbOutAtt.RadioNetwork.MultipleERABID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1567.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1567.X_SCM_Name = "HO.IntraEnbOutAtt.Cause.RadioNetwork.MultipleERABID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1566.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1564.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1564.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1563.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1559.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1558.Alias2 = "HO.IntraEnbOutAtt.RadioNetwork.TAULoadBalancing"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1558.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1558.X_SCM_Name = "HO.IntraEnbOutAtt.Cause.RadioNetwork.TAULoadBalancing"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1557.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1555.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1555.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1554.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1549.Alias2 = "HO.IntraEnbOutAtt.RadioNetwork.MMEUES1APIDError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1549.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1549.X_SCM_Name = "HO.IntraEnbOutAtt.Cause.RadioNetwork.MMEUES1APIDError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1548.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1546.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1546.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1545.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1540.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1539.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1537.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1537.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1536.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1531.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1530.Alias2 = "ERAB.SessionTimeQCI.4"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1530.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1530.X_SCM_Name = "ERAB.SessionTimeQCI.QCI.4"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1528.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1528.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1527.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1522.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1521.Alias2 = "ERAB.ModQoSFailNbr.Misc.HardwareFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1521.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1521.X_SCM_Name = "ERAB.ModQoSFailNbr.Cause.Misc.HardwareFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1520.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1519.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1519.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1518.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1513.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1512.Alias2 = "ERAB.ModQoSFailNbr.Nas.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1512.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1512.X_SCM_Name = "ERAB.ModQoSFailNbr.Cause.Nas.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1511.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1509.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1504.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1503.Alias2 = "ERAB.ModQoSFailNbr.RadioNetwork.UnknownERABID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1503.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1503.X_SCM_Name = "ERAB.ModQoSFailNbr.Cause.RadioNetwork.UnknownERABID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1502.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1500.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1500.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1496.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1495.Alias2 = "ERAB.ModQoSFailNbr.RadioNetwork.ServingCellReduceLoad"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1495.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1495.X_SCM_Name = "ERAB.ModQoSFailNbr.Cause.RadioNetwork.ServingCellReduceLoad"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1494.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1492.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1492.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1491.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1487.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1486.Alias2 = "ERAB.ModQoSFailNbr.RadioNetwork.TS1RELOCprep"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1486.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1486.X_SCM_Name = "ERAB.ModQoSFailNbr.Cause.RadioNetwork.TS1RELOCprep"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1485.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1483.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1483.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1482.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1478.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1477.Alias2 = "ERAB.ModQoSSuccNbrSum"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1477.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1477.X_SCM_Name = "ERAB.ModQoSSuccNbrSum"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1476.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1474.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1474.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1473.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1469.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1468.Alias2 = "ERAB.RelActNbr.3"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1468.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1468.X_SCM_Name = "ERAB.RelActNbr.QCI.3"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1467.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1465.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1465.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1464.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1459.Alias2 = "ERAB.RelFailNbr.Protocol.SemanticError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1459.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1459.X_SCM_Name = "ERAB.RelFailNbr.Cause.Protocol.SemanticError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1458.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1456.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1456.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1455.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1450.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1449.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1447.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1447.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1446.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1441.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1440.Alias2 = "ERAB.RelFailNbr.RadioNetwork.UnknownERABID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1440.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1440.X_SCM_Name = "ERAB.RelFailNbr.Cause.RadioNetwork.UnknownERABID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1438.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1438.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1437.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1432.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1431.Alias2 = "ERAB.RelFailNbr.RadioNetwork.ServingCellReduceLoad"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1431.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1431.X_SCM_Name = "ERAB.RelFailNbr.Cause.RadioNetwork.ServingCellReduceLoad"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1430.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1429.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1429.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1428.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1423.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1422.Alias2 = "ERAB.RelFailNbr.RadioNetwork.TS1RELOCprep"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1422.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1422.X_SCM_Name = "ERAB.RelFailNbr.Cause.RadioNetwork.TS1RELOCprep"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1421.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1419.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1414.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1413.Alias2 = "ERAB.RelSuccNbrSum"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1413.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1413.X_SCM_Name = "ERAB.RelSuccNbrSum"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1412.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1410.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1410.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1405.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1404.Alias2 = "ERAB.RelEnbNbr.Protocol.FalselyConstructedMessage"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1404.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1404.X_SCM_Name = "ERAB.RelEnbNbr.Cause.Protocol.FalselyConstructedMessage"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1403.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1401.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1401.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1400.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1397.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1396.Alias2 = "ERAB.RelEnbNbr.Nas.Detach"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1396.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1396.X_SCM_Name = "ERAB.RelEnbNbr.Cause.Nas.Detach"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1395.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1393.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1393.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1392.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1388.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1387.Alias2 = "ERAB.RelEnbNbr.RadioNetwork.AlgoNotSupported"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1387.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1387.X_SCM_Name = "ERAB.RelEnbNbr.Cause.RadioNetwork.AlgoNotSupported"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1386.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1384.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1384.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1383.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1379.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1378.Alias2 = "ERAB.RelEnbNbr.RadioNetwork.ResourceOptimisationHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1378.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1378.X_SCM_Name = "ERAB.RelEnbNbr.Cause.RadioNetwork.ResourceOptimisationHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1377.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1375.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1375.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1374.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1369.Alias2 = "ERAB.RelEnbNbr.RadioNetwork.TS1RELOCprep"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1369.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1369.X_SCM_Name = "ERAB.RelEnbNbr.Cause.RadioNetwork.TS1RELOCprep"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1368.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1366.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1366.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1365.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1360.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1359.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1357.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1357.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1356.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1351.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1350.Alias2 = "ERAB.EstabTimeMean.8"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1350.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1350.X_SCM_Name = "ERAB.EstabTimeMean.QCI.8"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1348.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1348.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1347.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1342.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1341.Alias2 = "ERAB.EstabAddFailNbr.Misc.UnknownPLMN"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1341.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1341.X_SCM_Name = "ERAB.EstabAddFailNbr.Cause.Misc.UnknownPLMN"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1340.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1339.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1339.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1338.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1333.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1332.Alias2 = "ERAB.EstabAddFailNbr.Protocol.IgnoreAndNotify"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1332.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1332.X_SCM_Name = "ERAB.EstabAddFailNbr.Cause.Protocol.IgnoreAndNotify"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1331.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1329.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1324.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1323.Alias2 = "ERAB.EstabAddFailNbr.RadioNetwork.ErrorQCI"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1323.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1323.X_SCM_Name = "ERAB.EstabAddFailNbr.Cause.RadioNetwork.ErrorQCI"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1322.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1320.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1320.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1315.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1314.Alias2 = "ERAB.EstabAddFailNbr.RadioNetwork.UserInactivity"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1314.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1314.X_SCM_Name = "ERAB.EstabAddFailNbr.Cause.RadioNetwork.UserInactivity"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1313.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1311.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1311.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1310.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1306.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1305.Alias2 = "ERAB.EstabAddFailNbr.RadioNetwork.CellNotAvailable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1305.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1305.X_SCM_Name = "ERAB.EstabAddFailNbr.Cause.RadioNetwork.CellNotAvailable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1304.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1302.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1302.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1301.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1298.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1297.Alias2 = "ERAB.EstabAddFailNbr.RadioNetwork.SuccessHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1297.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1297.X_SCM_Name = "ERAB.EstabAddFailNbr.Cause.RadioNetwork.SuccessHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1296.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1294.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1294.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1293.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1289.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1288.Alias2 = "ERAB.EstabInitFailNbr.Protocol.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1288.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1288.X_SCM_Name = "ERAB.EstabInitFailNbr.Cause.Protocol.Unspecified"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1287.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1285.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1285.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1284.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1279.Alias2 = "ERAB.EstabInitFailNbr.Nas.AuthenticationFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1279.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1279.X_SCM_Name = "ERAB.EstabInitFailNbr.Cause.Nas.AuthenticationFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1278.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1276.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1276.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1275.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1270.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1269.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1267.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1267.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1266.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1261.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1260.Alias2 = "ERAB.EstabInitFailNbr.RadioNetwork.CellNotAvailable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1260.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1260.X_SCM_Name = "ERAB.EstabInitFailNbr.Cause.RadioNetwork.CellNotAvailable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1258.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1258.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1257.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1252.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1251.Alias2 = "ERAB.EstabInitFailNbr.RadioNetwork.TX2RELOCOverall"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1251.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1251.X_SCM_Name = "ERAB.EstabInitFailNbr.Cause.RadioNetwork.TX2RELOCOverall"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1250.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1249.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1249.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1248.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1243.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1242.Alias2 = "UECNTX.RelReq.Protocol.FalselyConstructedMessage"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1242.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1242.X_SCM_Name = "UECNTX.RelReq.Cause.Protocol.FalselyConstructedMessage"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1241.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1239.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1234.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1233.Alias2 = "UECNTX.RelReq.Nas.AuthenticationFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1233.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1233.X_SCM_Name = "UECNTX.RelReq.Cause.Nas.AuthenticationFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1232.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1230.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1230.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1225.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1224.Alias2 = "UECNTX.RelReq.RadioNetwork.MultipleERABID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1224.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1224.X_SCM_Name = "UECNTX.RelReq.Cause.RadioNetwork.MultipleERABID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1223.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1221.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1221.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1220.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1216.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1215.Alias2 = "UECNTX.RelReq.RadioNetwork.ResourceOptimisationHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1215.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1215.X_SCM_Name = "UECNTX.RelReq.Cause.RadioNetwork.ResourceOptimisationHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1214.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1212.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1212.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1211.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1207.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1206.Alias2 = "UECNTX.RelReq.RadioNetwork.TS1RELOCprep"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1206.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1206.X_SCM_Name = "UECNTX.RelReq.Cause.RadioNetwork.TS1RELOCprep"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1205.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1203.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1203.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1202.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1199.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1198.Alias2 = "UECNTX.RelReq.RadioNetwork.TX2RELOCOverall"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1198.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1198.X_SCM_Name = "UECNTX.RelReq.Cause.RadioNetwork.TX2RELOCOverall"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1197.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1195.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1195.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1194.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1189.Alias2 = "RRC.ConnEstabTimeMax.HighPriorityAccess"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1189.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1189.X_SCM_Name = "RRC.ConnEstabTimeMax.Cause.HighPriorityAccess"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1188.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1186.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1186.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1185.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1180.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1179.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1177.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1177.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1176.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1171.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1170.Alias2 = "RRC.ConnEstabFailSum"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1170.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1170.X_SCM_Name = "RRC.ConnEstabFailSum"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1168.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1168.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1167.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1162.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1161.Alias2 = "RRC.ConnEstabSucc.Spare1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1161.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1161.X_SCM_Name = "RRC.ConnEstabSucc.Cause.Spare1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1160.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1159.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1159.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1158.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1153.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1152.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1152.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1152.X_SCM_Name = "CONTEXT.AttRelMme.CauseNomemberCSGcell"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1151.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1149.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1144.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1143.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1143.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1143.X_SCM_Name = "MAC.PHRNumber"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1142.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1140.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1140.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1135.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1134.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1134.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1134.X_SCM_Name = "HO.S1IntraFreqOutAtt"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1133.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1131.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1131.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1130.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1126.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1125.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1125.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1125.X_SCM_Name = "HO.SuccOutInterEnbS1.2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1124.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1122.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1122.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1121.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1117.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1116.Alias2 = "ERAB.UsageNbrMax.3"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1116.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1116.X_SCM_Name = "ERAB.NbrMaxEstab.3"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1115.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1113.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1113.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1112.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1108.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1107.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1107.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1107.X_SCM_Name = "ERAB.NbrSuccInitEstab.4"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1106.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1104.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1104.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1103.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1099.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1099.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1099.X_SCM_Name = "ERAB.NbrAttInitEstab.6"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1098.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1096.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1096.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1095.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1090.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1089.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1087.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1087.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1086.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1081.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1080.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1080.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1080.X_SCM_Name = "PDCP.UpLastTtiOctUl.7"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1078.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1078.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1077.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1072.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1071.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1071.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1071.X_SCM_Name = "PDCP.UpPktTotDelayDl.8"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1070.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1069.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1069.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1068.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1063.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1062.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1062.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1062.X_SCM_Name = "PDCP.ThrpTimeDL.9"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1061.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1059.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1054.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1053.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1053.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1053.X_SCM_Name = "PDCP.ThrpTimeDL"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1052.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1050.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1050.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1045.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1044.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1044.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1044.X_SCM_Name = "RRU.PuschPrbAssn"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1043.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1041.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1041.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1040.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1036.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1035.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1035.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1035.X_SCM_Name = "S1.DiagosisPacketTotalJitter"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1034.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1032.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1032.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1031.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1027.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1026.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1026.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1026.X_SCM_Name = "MAC.NbrRbDl.Tm8.RANK2BF"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1025.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1023.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1023.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1022.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1018.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1017.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1017.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1017.X_SCM_Name = "MAC.NbrInitTbDl.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1016.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1014.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1014.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1013.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1009.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1008.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1008.Alias = "cpe-pm-ps-paging-loss-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1008.X_SCM_Name = "PAG.PagDiscarded.PS"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1007.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1005.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1005.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.1004.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.999.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.999.Alias = "cpe-pm-covg-ue-edge-area-rsrq-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.999.X_SCM_Name = "COVG.EdgeArea.RSRQNr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.998.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.996.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.996.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.995.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.990.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.989.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.987.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.987.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.986.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.981.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.980.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.980.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.980.X_SCM_Name = "RRU.TtiMeanUl"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.978.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.978.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.977.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.972.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.971.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.971.Alias = "cpe-pm-phy-crash-times"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.971.X_SCM_Name = "SYS.PHYCrashTimes"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.970.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.969.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.969.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.968.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.963.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.962.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.962.Alias = "cpe-pm-covg-vip-ue-middle-area-gtp-tx-bytes"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.962.X_SCM_Name = "COVG.MiddleOutGtpU.VipUe"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.961.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.959.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.954.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.953.Alias2 = "PHY.ULMaxNL.99"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.953.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.953.X_SCM_Name = "PHY.ULMaxNL.PRB99"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.952.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.950.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.950.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.945.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.944.Alias2 = "PHY.ULMaxNL.90"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.944.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.944.X_SCM_Name = "PHY.ULMaxNL.PRB90"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.943.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.941.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.941.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.940.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.936.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.935.Alias2 = "PHY.ULMaxNL.81"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.935.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.935.X_SCM_Name = "PHY.ULMaxNL.PRB81"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.934.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.932.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.932.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.931.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.927.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.926.Alias2 = "PHY.ULMaxNL.72"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.926.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.926.X_SCM_Name = "PHY.ULMaxNL.PRB72"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.925.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.923.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.923.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.922.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.918.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.917.Alias2 = "PHY.ULMaxNL.63"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.917.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.917.X_SCM_Name = "PHY.ULMaxNL.PRB63"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.916.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.914.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.914.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.913.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.909.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.908.Alias2 = "PHY.ULMaxNL.54"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.908.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.908.X_SCM_Name = "PHY.ULMaxNL.PRB54"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.907.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.905.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.905.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.904.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.899.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.897.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.897.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.896.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.891.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.890.Alias2 = "PHY.ULMaxNL.36"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.890.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.890.X_SCM_Name = "PHY.ULMaxNL.PRB36"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.888.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.888.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.887.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.882.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.881.Alias2 = "PHY.ULMaxNL.27"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.881.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.881.X_SCM_Name = "PHY.ULMaxNL.PRB27"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.880.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.879.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.879.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.878.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.873.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.872.Alias2 = "PHY.ULMaxNL.18"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.872.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.872.X_SCM_Name = "PHY.ULMaxNL.PRB18"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.871.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.869.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.864.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.863.Alias2 = "PHY.ULMaxNL.9"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.863.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.863.X_SCM_Name = "PHY.ULMaxNL.PRB9"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.862.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.860.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.860.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.855.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.854.Alias2 = "PHY.ULMaxNL.0"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.854.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.854.X_SCM_Name = "PHY.ULMaxNL.PRB0"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.853.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.851.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.851.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.850.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.846.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.845.Alias2 = "PHY.ULMeanNL.98"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.845.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.845.X_SCM_Name = "PHY.ULMeanNL.PRB98"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.844.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.842.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.842.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.841.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.837.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.836.Alias2 = "PHY.ULMeanNL.89"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.836.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.836.X_SCM_Name = "PHY.ULMeanNL.PRB89"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.835.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.833.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.833.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.832.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.828.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.827.Alias2 = "PHY.ULMeanNL.80"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.827.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.827.X_SCM_Name = "PHY.ULMeanNL.PRB80"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.826.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.824.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.824.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.823.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.819.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.818.Alias2 = "PHY.ULMeanNL.71"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.818.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.818.X_SCM_Name = "PHY.ULMeanNL.PRB71"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.817.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.815.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.815.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.814.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.809.Alias2 = "PHY.ULMeanNL.62"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.809.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.809.X_SCM_Name = "PHY.ULMeanNL.PRB62"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.808.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.806.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.806.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.805.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.800.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.798.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.798.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.797.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.792.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.791.Alias2 = "PHY.ULMeanNL.44"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.791.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.791.X_SCM_Name = "PHY.ULMeanNL.PRB44"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.790.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.789.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.789.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.788.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.783.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.782.Alias2 = "PHY.ULMeanNL.35"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.782.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.782.X_SCM_Name = "PHY.ULMeanNL.PRB35"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.781.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.779.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.774.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.773.Alias2 = "PHY.ULMeanNL.26"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.773.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.773.X_SCM_Name = "PHY.ULMeanNL.PRB26"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.772.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.770.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.770.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.765.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.764.Alias2 = "PHY.ULMeanNL.17"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.764.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.764.X_SCM_Name = "PHY.ULMeanNL.PRB17"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.763.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.761.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.761.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.760.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.756.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.755.Alias2 = "PHY.ULMeanNL.8"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.755.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.755.X_SCM_Name = "PHY.ULMeanNL.PRB8"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.754.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.752.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.752.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.751.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.747.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.746.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.746.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.746.X_SCM_Name = "PHY.NbrCqi15"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.745.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.743.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.743.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.742.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.738.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.737.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.737.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.737.X_SCM_Name = "PHY.NbrCqi6"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.736.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.734.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.734.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.733.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.729.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.728.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.728.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.728.X_SCM_Name = "RRU.TtiTotDl"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.727.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.725.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.725.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.724.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.719.Alias2 = "DRB.PdcpSduDropRateDl.9"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.719.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.719.X_SCM_Name = "PDCP.UpPktDiscardDl.9"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.718.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.716.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.716.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.715.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.710.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.709.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.707.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.707.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.706.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.701.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.700.Alias2 = "DRB.PdcpSduAirLossRateDl.9"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.700.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.700.X_SCM_Name = "PDCP.NbrPktLossDl.9"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.699.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.699.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.698.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.693.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.692.Alias2 = "DRB.PdcpSduAirLossRateDl.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.692.Alias = "PDCP.NbrPktLossDl.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.692.X_SCM_Name = "PDCP.NbrPktLossDl.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.691.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.689.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.684.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.683.Alias2 = "DRB.IPThpDl.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.683.Alias = "PDCP.NbrPktDl.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.683.X_SCM_Name = "PDCP.NbrPktDl.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.682.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.680.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.680.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.675.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.674.Alias2 = "DRB.PdcpSduLossRateUl.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.674.Alias = "PDCP.NbrPktLossUl.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.674.X_SCM_Name = "PDCP.NbrPktLossUl.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.673.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.671.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.671.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.670.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.666.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.665.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.665.Alias = "PDCP.NbrPktUl.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.665.X_SCM_Name = "PDCP.NbrPktUl.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.664.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.662.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.662.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.661.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.657.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.656.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.656.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.656.X_SCM_Name = "PDCP.UpOctDl.3"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.655.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.653.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.653.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.652.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.648.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.647.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.647.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.647.X_SCM_Name = "PDCP.UpOctUl.4"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.646.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.644.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.644.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.643.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.639.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.638.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.638.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.638.X_SCM_Name = "IRATHO.FailPrepOutUtran.X2PrepFailed"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.637.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.635.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.635.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.634.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.629.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.629.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.629.X_SCM_Name = "IRATHO.FailPrepOutGeran.RRCReConn"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.628.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.626.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.626.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.625.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.620.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.619.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.617.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.617.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.616.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.611.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.610.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.610.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.610.X_SCM_Name = "HO.AttOutExecInterEnbS1.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.608.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.608.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.607.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.602.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.601.Alias2 = "UECNTX.RelReq.RadioNetwork.IRATRedirection"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.601.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.601.X_SCM_Name = "CONTEXT.AttRelEnb.CauseInterRATRedirect"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.600.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.599.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.594.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.593.Alias2 = "ERAB.EstabInitFailNbr.RadioNetwork.UserInactivity"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.593.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.593.X_SCM_Name = "CONTEXT.FailInitalSetup.UserInactivity"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.592.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.590.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.590.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.585.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.584.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.584.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.584.X_SCM_Name = "ERAB.NbrLeft.4"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.583.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.581.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.581.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.580.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.576.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.575.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.575.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.575.X_SCM_Name = "ERAB.HoFail.4"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.574.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.572.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.572.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.571.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.567.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.566.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.566.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.566.X_SCM_Name = "ERAB.NbrReqRelEnb.Normal.5"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.565.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.563.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.563.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.562.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.558.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.557.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.557.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.557.X_SCM_Name = "ERAB.NbrSuccEstab.8"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.556.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.554.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.554.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.553.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.549.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.548.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.548.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.548.X_SCM_Name = "ERAB.NbrAttEstab.8"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.547.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.545.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.545.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.544.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.539.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.539.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.539.X_SCM_Name = "ERAB.NbrHoInc.8"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.538.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.536.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.536.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.535.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.530.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.529.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.527.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.527.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.526.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.521.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.520.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.520.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.520.X_SCM_Name = "ERAB.NbrMeanEstab"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.518.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.518.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.517.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.512.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.511.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.511.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.511.X_SCM_Name = "ERAB.NbrReqRelEnb.2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.510.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.509.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.509.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.508.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.503.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.502.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.502.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.502.X_SCM_Name = "ERAB.NbrFailEstab.CauseFailureInRadioInterfaceProcedure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.501.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.495.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.494.Alias2 = "RRC.ConnReEstabAttSum"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.494.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.494.X_SCM_Name = "RRC.AttConnReestab"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.493.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.491.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.491.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.490.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.486.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.485.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.485.Alias = "cpe-pm-covg-edge-area-gtp-tx-bytes"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.485.X_SCM_Name = "COVG.EdgeOutGtpU"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.484.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.482.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.482.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.481.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.477.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.476.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.476.Alias = "cpe-pm-covg-hole-rept-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.476.X_SCM_Name = "COVG.HoleReptNbr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.475.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.473.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.473.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.472.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.468.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.467.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.467.Alias = "cpe-pm-mro-enlarge-ue-cio"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.467.X_SCM_Name = "MRO.EnlUeCIO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.466.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.464.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.464.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.463.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.459.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.458.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.458.Alias = "cpe-pm-mro-handle-too-early-ho-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.458.X_SCM_Name = "MRO.HandleTooEarlyHO"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.457.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.455.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.455.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.454.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.449.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.449.Alias = "cpe-pm-anr-add-intrafreq-neigh-succ-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.449.X_SCM_Name = "ANR.SuccNbr.Intrafreq"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.448.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.446.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.446.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.445.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.440.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.439.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.437.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.437.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.436.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.431.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.430.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.430.Alias = "cpe-pm-redir-utran-rb-succ-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.430.X_SCM_Name = "RRC.UtranRedirectRbSuccNbr.Csfb"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.428.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.428.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.427.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.422.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.421.Alias2 = "ERAB.ModQoSFailNbr.RadioNetwork.MultipleERABID"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.421.Alias = "cpe-pm-rab-modi-fail-nr-multi-rabid"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.421.X_SCM_Name = "ERAB.ModQoSFailNbr.MultipleErabId "
+ Device.PeriodicStatistics.SampleSet.1.Parameter.420.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.419.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.419.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.418.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.413.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.412.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.412.Alias = "cpe-pm-mme-rel-rab-nr-redi-towards1xrtt"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.412.X_SCM_Name = "ERAB.RelMmeNbr.RedirectionTowards1xRTT"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.411.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.409.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.404.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.403.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.403.Alias = "cpe-pm-mme-rel-rab-nr-detach"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.403.X_SCM_Name = "ERAB.RelMmeNbr.Detach"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.402.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.400.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.400.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.396.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.395.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.395.Alias = "cpe-pm-mme-rel-rab-fail-nr-msgid-err"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.395.X_SCM_Name = "ERAB.RelFailNbr.AbstractSyntaxError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.394.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.392.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.392.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.391.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.387.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.386.Alias2 = "ERAB.EstabAddFailNbr.Transport.ResourceUnavailable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.386.Alias = "cpe-pm-init-addrab-est-fail-transres-notavail"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.386.X_SCM_Name = "ERAB.EstabAddFailNbr.TransportResNotAvailable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.385.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.383.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.383.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.382.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.378.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.377.Alias2 = "ERAB.EstabInitFailNbr.RadioNetwork.RadioResourcesUnavailable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.377.Alias = "cpe-pm-init-rab-est-fail-notradio"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.377.X_SCM_Name = "ERAB.EstabInitFailNbr.RadioResNotAvailable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.376.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.374.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.374.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.373.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.369.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.368.Alias2 = "ERAB.EstabInitFailNbr.RadioNetwork.InvalidQoSCombination"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.368.Alias = "cpe-pm-init-rab-est-fail-nr-invld-qos-para"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.368.X_SCM_Name = "ERAB.EstabInitFailNbr.InvalidQosCombination"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.367.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.365.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.365.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.364.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.359.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.359.Alias = "cpe-pm-rrc-recfg-fail-nr-secu"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.359.X_SCM_Name = "RRC.FailConnReconfig.SecurityFailure"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.358.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.356.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.356.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.355.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.350.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.349.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.347.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.347.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.346.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.341.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.340.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.340.Alias = "cpe-pm-rrc-recfg-req-nr-resrecl"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.340.X_SCM_Name = "RRC.AttConnReconfig.ResReclaim"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.338.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.338.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.337.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.332.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.331.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.331.Alias = "cpe-pm-rrc-recfg-succ-nr-rabdele"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.331.X_SCM_Name = "RRC.SuccConnReconfig.RabDelete"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.330.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.329.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.329.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.328.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.323.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.322.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.322.Alias = "cpe-pm-rrc-reest-succ-nr-nonsrccell"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.322.X_SCM_Name = "RRC.SuccConnReestab.NonSrccell"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.321.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.319.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.314.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.313.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.313.Alias = "cpe-pm-rrc-reest-fail-nr-term-norsp"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.313.X_SCM_Name = "RRC.ConnReEstabFail.TerminalNoRsp"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.312.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.310.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.310.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.305.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.304.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.304.Alias = "cpe-pm-rrc-estab-fail-nr-per-paraerr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.304.X_SCM_Name = "RRC.FailConnEstab.ParameterError"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.303.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.301.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.301.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.300.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.297.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.296.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.296.Alias = "cpe-pm-rrc-estab-fail-nr-max-uenum"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.296.X_SCM_Name = "RRC.FailConnEstab.MaxUeNum"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.295.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.293.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.293.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.292.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.288.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.287.Alias2 = "RRC.ConnEstabSucc.Emergency"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.287.Alias = "cpe-pm-rrc-estab-succ-nr-emergency"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.287.X_SCM_Name = "RRC.SuccConnEstab.Emergency"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.286.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.284.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.284.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.283.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.279.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.278.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.278.Alias = "cpe-pm-recv-abort-nv-errdef"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.278.X_SCM_Name = "SIG.SctpAbort.Default"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.277.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.275.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.275.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.274.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.269.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.269.Alias = "cpe-pm-recv-abort-nr-unrslv-addr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.269.X_SCM_Name = "SIG.SctpAbort.AddrUnresolvable"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.268.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.266.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.266.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.265.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.260.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.259.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.257.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.257.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.256.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.251.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.250.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.250.Alias = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.250.X_SCM_Name = "MAC.NbrTbDl.Tm2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.248.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.248.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.247.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.242.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.241.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.241.Alias = "cpe-pm-mac-dl-succtr-init-tb-num-16qam"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.241.X_SCM_Name = "MAC.NbrSuccInitTbDl.16Qam"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.240.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.239.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.239.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.238.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.233.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.232.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.232.Alias = "cpe-pm-mac-ul-succtr-init-tb-num-64qam"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.232.X_SCM_Name = "MAC.NbrSuccInitTbUl.64Qam"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.231.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.229.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.224.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.223.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.223.Alias = "cpe-pm-mac-ul-maxretr-tb-num"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.223.X_SCM_Name = "MAC.NbrResErrTbUl"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.222.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.220.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.220.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.215.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.214.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.214.Alias = "cpe-pm-2utr-srvccho-pre-succ-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.214.X_SCM_Name = "SRVCC.SuccOutPrepUtran"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.213.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.211.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.211.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.210.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.206.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.205.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.205.Alias = "cpe-pm-volte-intraenb-ho-succ-nr-interfreq"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.205.X_SCM_Name = "VoLTE.HO.SuccOutIntraEnb.InterFreq"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.204.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.202.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.202.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.201.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.198.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.197.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.197.Alias = "cpe-pm-volte-interenb-x2ho-exereq-nr-intrafreq"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.197.X_SCM_Name = "VoLTE.HO.AttOutExecInterEnbX2.IntraFreq"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.196.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.194.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.194.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.193.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.189.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.188.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.188.Alias = "cpe-pm-volte-interenb-s1ho-succ-nr-intrafreq"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.188.X_SCM_Name = "VoLTE.HO.SuccOutInterEnbS1.IntraFreq"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.187.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.185.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.185.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.184.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.179.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.179.Alias = "cpe-pm-mmereq-rab-rel-nr-csfbtri"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.179.X_SCM_Name = "ERAB.RelMmeNbr.CSFallbackTriggered"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.178.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.176.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.176.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.175.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.170.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.169.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.167.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.167.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.166.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.161.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.160.Alias2 = "HO.IntraFreqOutAtt"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.160.Alias = "cpe-pm-intrafreq-ho-req-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.160.X_SCM_Name = "HO.AttOutIntraFreq"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.158.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.158.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.157.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.152.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.151.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.151.Alias = "cpe-pm-intrasys-interfreq-ho-succ-nr-wl"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.151.X_SCM_Name = "HO.SuccOutInterFreq.Radio"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.150.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.149.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.149.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.148.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.143.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.142.Alias2 = "DRB.PdcpSduBitrateUl.4"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.142.Alias = "cpe-pm-pdcp-ulup-send-q4"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.142.X_SCM_Name = "DRB.PdcpSduBitLenUl.4"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.141.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.139.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.134.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.133.Alias2 = "DRB.PdcpSduBitrateDl.4"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.133.Alias = "cpe-pm-pdcp-dlup-send-q4"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.133.X_SCM_Name = "DRB.PdcpSduBitLenDl.4"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.132.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.130.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.130.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.125.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.124.Alias2 = "ERAB.ModQoSAttNbr.7"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.124.Alias = "cpe-pm-rab-att-modi-nr-q7"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.124.X_SCM_Name = "ERAB.NbrAttMod.7"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.123.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.121.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.121.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.120.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.116.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.115.Alias2 = "ERAB.ModQoSSuccNbr.2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.115.Alias = "cpe-pm-rab-succ-modi-nr-q2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.115.X_SCM_Name = "ERAB.NbrSuccMod.2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.114.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.112.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.112.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.111.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.107.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.106.Alias2 = "ERAB.RelAttNbr.7"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.106.Alias = "cpe-pm-rab-mme-attrel-nr-q7"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.106.X_SCM_Name = "ERAB.RelAttNbr.7"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.105.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.103.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.103.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.102.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.97.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.96.Alias2 = "ERAB.RelAttNbr.2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.96.Alias = "cpe-pm-rab-mme-attrel-nr-q2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.96.X_SCM_Name = "ERAB.RelAttNbr.2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.95.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.93.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.93.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.92.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.88.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.87.Alias2 = "ERAB.RelEnbNbr.3"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.87.Alias = "cpe-pm-rab-enb-rel-nr-q3"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.87.X_SCM_Name = "ERAB.RelEnbNbr.3 "
+ Device.PeriodicStatistics.SampleSet.1.Parameter.86.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.84.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.84.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.83.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.79.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.78.Alias2 = "ERAB.EstabAddSuccNbr.6"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.78.Alias = "cpe-pm-add-rab-succ-nr-q6"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.78.X_SCM_Name = "ERAB.EstabAddSuccNbr.6"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.77.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.75.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.75.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.74.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.69.Alias2 = "ERAB.EstabAddAttNbr.2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.69.Alias = "cpe-pm-add-rab-att-nr-q2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.69.X_SCM_Name = "ERAB.EstabAddAttNbr.2"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.68.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.66.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.66.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.65.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.60.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.59.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.57.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.57.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.56.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.51.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.50.Alias2 = "ERAB.EstabInitSuccNbr.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.50.Alias = "cpe-pm-init-rab-succ-nr-q1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.50.X_SCM_Name = "ERAB.EstabInitSuccNbr.1"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.48.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.48.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.47.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.42.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.41.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.41.Alias = "cpe-pm-rab-max-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.41.X_SCM_Name = "ERAB.ActiveMaxNbr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.40.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.39.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.39.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.38.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.33.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.32.Alias2 = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.32.Alias = "cpe-pm-ue-conn-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.32.X_SCM_Name = "RRC.ConnCurrent"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.31.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.29.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.24.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.23.Alias2 = "UECNTX.RelReqSum"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.23.Alias = "cpe-pm-rrc-rel-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.23.X_SCM_Name = "CONTEXT.AttRelEnb"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.22.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.20.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.20.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.15.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.14.Alias2 = "DRB.PdcpSduDropRateDlSum"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.14.Alias = "cpe-pm-pdcp-dl-disc-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.14.X_SCM_Name = "PDCP.UpPktDiscardDl"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.13.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.11.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.11.Enable = 1
+ Device.PeriodicStatistics.SampleSet.1.Parameter.10.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.9.Values = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.4.SampleMode = "Current"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.3.Alias2 = "RRC.ConnEstabSuccSum"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.3.Alias = "cpe-pm-rrc-succ-nr"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.3.X_SCM_Name = "RRC.SuccConnEstab"
+ Device.PeriodicStatistics.SampleSet.1.Parameter.2.Reference = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.0.X_SCM_CurrentValue = ""
+ Device.PeriodicStatistics.SampleSet.1.Parameter.0.Enable = 0
+ Device.PeriodicStatistics.SampleSet.0.Parameter.0.Values = ""
+ Device.PeriodicStatistics.SampleSet.0.Enable = 0
+ Device.Firewall.Chain.1.Rule.3.DSCP = -1
+ Device.Firewall.Chain.1.Rule.1.Protocol = 132
+ Device.Firewall.Chain.1.Rule.0.DestPort = -1
+ Device.Firewall.Chain.0.Creator = "ACS"
+ Device.Firewall.Chain.0.Alias = ""
+ Device.Firewall.Enable = 1
+ Device.DHCPv6.Client.1.SentOption.1.Tag = 16
+ Device.DHCPv6.Client.1.ReceivedOptionNumberOfEntries = 0
+ Device.DHCPv6.Client.0.ReceivedOption.0.Value =
+ Device.DHCPv4.Server.Pool.0.SubnetMask = ""
+ Device.DHCPv4.Client.0.SentOptionNumberOfEntries = 0
+ Device.DHCPv4.Client.0.SubnetMask = ""
+ Device.DNS.Client.Server.4.Type = "DHCPv6"
+ Device.DNS.Client.Server.2.DNSServer = ""
+ Device.Routing.Router.1.IPv6Forwarding.1.NextHop = ""
+ Device.Routing.Router.1.IPv4Forwarding.0.Interface = ""
+ Device.Routing.Router.1.IPv4Forwarding.0.DestIPAddress = ""
+ Device.Routing.Router.1.IPv4Forwarding.0.StaticRoute = 1
+ Device.Routing.Router.1.IPv4Forwarding.0.Enable = 0
+ Device.Routing.Router.0.IPv4Forwarding.0.Status = "Disabled"
+ Device.IP.Diagnostics.IPPing.AverageResponseTime = 0
+ Device.IP.Interface.5.IPv4Address.0.SubnetMask = "255.255.255.0"
+ Device.IP.Interface.5.IPv4Address.0.DefaultGateway = ""
+ Device.IP.Interface.4.IPv4Address.1.SubnetMask = "255.255.255.0"
+ Device.IP.Interface.4.IPv4Address.1.DefaultGateway = ""
+ Device.IP.Interface.4.LowerLayers = "Device.Ethernet.Interface.1"
+ Device.IP.Interface.4.Name = "eth0:2"
+ Device.IP.Interface.3.IPv4Address.0.IPAddress = "11.11.12.188"
+ Device.IP.Interface.3.IPv4Address.0.Enable = 0
+ Device.IP.Interface.2.IPv4Address.1.IPAddress = "11.11.12.188"
+ Device.IP.Interface.2.IPv4Address.1.Enable = 0
+ Device.IP.Interface.2.IPv6Address.0.Prefix = ""
+ Device.IP.Interface.1.IPv6Address.1.Prefix = ""
+ Device.IP.Interface.1.IPv4Address.2.IPAddress = "11.11.12.188"
+ Device.IP.Interface.1.IPv4Address.2.Enable = 0
+ Device.IP.Interface.1.IPv6Address.0.IPAddress = ""
+ Device.IP.Interface.1.IPv6Address.0.Enable = 0
+ Device.IP.Interface.0.IPv4Address.0.AddressingType = "DHCP"
+ Device.IP.X_SCM_NetworkDetectCurrType = "6"
+ Device.IP.X_SCM_IPTypeInuse = "ipv4"
+ Device.Ethernet.VLANTermination.2.LowerLayers = "Device.Ethernet.Interface.1"
+ Device.Ethernet.VLANTermination.2.Name = "eth0.1"
+ Device.Ethernet.VLANTermination.1.VLANID = 17
+ Device.Ethernet.Interface.2.PortType = ".X_SCM_PortType"
+ Device.Ethernet.Interface.2.MACAddress = ""
+ Device.Ethernet.Interface.0.SignTransMedia = ".X_SCM_SignTransMedia"
+ Device.Ethernet.Interface.0.X_SCM_PortLocation = ""
+ Device.Time.NTPServer5 = ""
+ Device.ManagementServer.X_SCM_NetconfClientIPPort = 4336
+ Device.ManagementServer.X_SCM_UploadLogMaxSize = 5
+ Device.ManagementServer.STUNEnable = 0
+ Device.ManagementServer.PeriodicInformTime = 0001-01-01T00:00:00Z
+ Device.ManagementServer.URL = "http://18.116.99.179:48080"
+ Device.ManagementServer.X_SCM_ConnectionRequestIPAddress = "10.76.28.214"
+ Device.DeviceInfo.VendorLogFile.1.X_SCM_LogControl.X_SCM_PeriodicUploadTime = 0001-01-01T00:00:00
+ Device.DeviceInfo.VendorLogFile.1.X_SCM_LogControl.X_SCM_CellTracePeriodicURL = ""
+ Device.DeviceInfo.TemperatureStatus.TemperatureSensor.1.X_SCM_RF_Critical_Clear_ThresholdValue = 85
+ Device.DeviceInfo.TemperatureStatus.TemperatureSensor.0.X_SCM_LowThresholdValue = 75
+ Device.DeviceInfo.TemperatureStatus.TemperatureSensor.0.MinTime = 0001-01-01T00:00:00Z
+ Device.DeviceInfo.TemperatureStatus.TemperatureSensor.0.MinValue = 0
+ Device.DeviceInfo.X_SCM_BootType = ""
+ Device.DeviceInfo.X_SCM_DeviceStackType = 0
+ Device.DeviceInfo.X_SCM_CurrentBootargs = ""
+ Device.DeviceInfo.X_SCM_Vendor = ""
+ Device.Services.FAPService.1.Transport.RealTime.Perf.MaxReceiveJitter = 0
+ Device.Services.FAPService.1.Transport.SCTP.Assoc.0.Discontinuity = 0001-01-01T00:00:00Z
+ Device.Services.FAPService.1.Transport.SCTP.Assoc.0.InStreams = 0
+ Device.Services.FAPService.1.Transport.SCTP.X_SCM_MaxS1apSctpReestablishCount = 100
+ Device.Services.FAPService.1.Transport.SCTP.X_SCM_SctpReestablishTimeInterval = 10000
+ Device.Services.FAPService.1.Transport.SCTP.X_SCM_DSCP = 0
+ Device.Services.FAPService.1.Transport.SCTP.AssocNumberOfEntries = 0
+ Device.Services.FAPService.1.Transport.SCTP.X_SCM_NumOutX2BoundStream = 3
+ Device.Services.FAPService.1.Transport.SCTP.X_SCM_MTUMin = 1300
+ Device.Services.FAPService.1.Transport.SCTP.MaxAssociationRetransmits = 10
+ Device.Services.FAPService.1.Transport.SCTP.Enable = 1
+ Device.Services.FAPService.1.REM.LTE.Cell.0.BCCH.X_SCM_NeighborGSMList.0.X_SCM_followingARFCNs = ""
+ Device.Services.FAPService.1.REM.LTE.Cell.0.BCCH.X_SCM_PrachConfigurationIndex = 0
+ Device.Services.FAPService.1.REM.LTE.Cell.0.BCCH.PLMNListNumberOfEntries = 0
+ Device.Services.FAPService.1.REM.LTE.Cell.0.BCCH.DLBandwidth = 6
+ Device.Services.FAPService.1.REM.LTE.Cell.0.RF.RSSI = -1
+ Device.Services.FAPService.1.REM.LTE.X_SCM_PTP_Cfg.X_SCM_PTPConfigTimeStamping = "hardware"
+ Device.Services.FAPService.1.REM.LTE.X_SCM_PTP_Cfg.X_SCM_PTPConfigTwoStepFlag = 1
+ Device.Services.FAPService.1.REM.LTE.X_SCM_RSSIScan.X_SCM_Bandwidth = 10
+ Device.Services.FAPService.1.REM.LTE.X_SCM_EnlargeUlSchRbNumEnable = 1
+ Device.Services.FAPService.1.REM.LTE.X_SCM_TacUpdateInterval = 0
+ Device.Services.FAPService.1.REM.LTE.ScanStatus = "Success"
+ Device.Services.FAPService.1.REM.LTE.X_SCM_EarfcnListByType = "{DAS:{38650,39649};}"
+ Device.Services.FAPService.1.REM.LTE.X_SCM_EarfcnThresholdRSSIToSelFreq = -121
+ Device.Services.FAPService.1.REM.LTE.X_SCM_CellSyncPeriod = 250
+ Device.Services.FAPService.1.REM.LTE.X_SCM_ScanUtranMaxTryNum = 2
+ Device.Services.FAPService.1.REM.LTE.REMBandList = "40"
+ Device.Services.FAPService.1.REM.LTE.X_SCM_PeriodicallyScanGap = 1000
+ Device.Services.FAPService.1.REM.X_SCM_tfcsSyncMgrState.state = "DISP"
+ Device.Services.FAPService.1.REM.X_SCM_tfcsManagerConfig.ntpLargeFreqThreshold = 200
+ Device.Services.FAPService.1.REM.X_SCM_tfcsManagerConfig.ntpFreqErrorAdjusted = 0
+ Device.Services.FAPService.1.REM.X_SCM_tfcsManagerConfig.timeErrorAdjustSwitch = 1
+ Device.Services.FAPService.1.REM.X_SCM_tfcsManagerConfig.freqErrLimit = 250
+ Device.Services.FAPService.1.REM.X_SCM_NlSync.CellInfoNumberOfEntries = 0
+ Device.Services.FAPService.1.REM.UMTS.WCDMA.Cell.0.RF.RSSI = -1
+ Device.Services.FAPService.1.REM.UMTS.WCDMA.Cell.0.RF.CPICHRSCP = -1
+ Device.Services.FAPService.1.REM.UMTS.WCDMA.Cell.0.RF.UARFCNDL = 0
+ Device.Services.FAPService.1.CellConfig.X_SCM_TDSCDMA.TunnelInstance = "Device.IP.Interface.1.IPv4Address.1."
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborListInUse2.LTECell.0.X_SCM_LastUpdateTime = 0001-01-01T00:00:00Z
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborListInUse2.LTECell.0.X_SCM_PathLoss = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborListInUse2.LTECell.0.CIO = -1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborListInUse2.LTECell.0.EUTRACarrierARFCN = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborListInUse.InterRATCell.CDMA2000.0.A5Threshold2RSRP = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborListInUse.InterRATCell.CDMA2000.0.BlindRedirectionA2ThresholdRSRP = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborListInUse.InterRATCell.CDMA2000.0.ThreshXLow = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborListInUse.InterRATCell.UMTS.0.PCPICHTxPower = -1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborListInUse.InterRATCell.UMTS.0.UARFCNUL = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborListInUse.InterRATCell.UMTS.0.LAC = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborListInUse.InterRATCell.UMTS.0.CID = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborListInUse.InterRATCell.UMTS.0.RNCID = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborListInUse.InterRATCell.UMTSNumberOfEntries = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborListInUse.LTECell.0.X_SCM_LastUpdateTime = 0001-01-01T00:00:00Z
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborListInUse.LTECell.0.X_SCM_PathLoss = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborListInUse.LTECell.0.CIO = -1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborListInUse.LTECell.0.X_SCM_UlEARFCN = 18000
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborListInUse.LTECell.0.EUTRACarrierARFCN = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.X_SCM_NR.0.TAC = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.CDMA2000.0.X_SCM_CurrentRank = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.CDMA2000.0.Alias = ""
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.GSM.0.X_SCM_CELL_SPECIFIC_OFFSET = "0"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.GSM.0.CI = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.GSM.0.Alias = ""
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.UMTS.0.X_SCM_DAHO_INDICATION = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.UMTS.0.X_SCM_OFFSETFREQ = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.UMTS.0.URA = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.InterRATCell.UMTS.0.PLMNID = ""
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.LTECell.0.X_SCM_MULTIBAND_INFO_LIST = "ALLOW_NULL"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.LTECell.0.X_SCM_BROADCAST_STATUS = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.LTECell.0.X_SCM_RSRQ = 35
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.LTECell.0.MustInclude = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.NeighborList.LTECell.0.Enable = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_PhyInUse.X_SCM_CurTxPowerEachPath = "0,0"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_PhyInUse.X_SCM_TxPowerInUse2 = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_PhyInUse.X_SCM_TxPowerInUse = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B2MeasureCtrl.2.ReportInterval = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.ReportInterval"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B2MeasureCtrl.2.Enable = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B2MeasureCtrl.1.ReportAmount = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.ReportAmount"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B2MeasureCtrl.0.Hysteresis = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.Hysteresis"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B2MeasureCtrl.0.B2Threshold2UTRARSCP = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B2Threshold2UTRARSCP"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B1MeasureCtrl.2.ReportAmount = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.ReportAmount"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B1MeasureCtrl.2.B1ThresholdUTRARSCP = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B1ThresholdUTRARSCP"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B1MeasureCtrl.1.Hysteresis = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.Hysteresis"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B1MeasureCtrl.0.B1ThresholdUTRAEcN0 = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B1ThresholdUTRAEcN0"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.X_SCM_NoVoLTESRVCCEnable = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.TimeToTrigger = 480
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B2Threshold2CDMA2000 = 10
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.B2Threshold1EUTRARSRP = 70
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.FilterCoefficientGERAN = "2"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.X_SCM_UTRAOperateModeType = "Redirect"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.IRAT.MeasQuantityGERAN = ""
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.X_SCM_A2ForBlindRedirection.ReportInterval = 480
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.X_SCM_A2ForBlindRedirection.A2ThresholdRSRP = 20
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.X_SCM_A2ForIRATPS.MaxReportCells = 8
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.X_SCM_A2ForIRATPS.ReportQuantity = "Both"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A5MeasureCtrl.0.MeasurePurpose = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A4MeasureCtrl.1.MeasurePurpose = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A4MeasureCtrl.0.ReportInterval = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.ReportInterval"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A4MeasureCtrl.0.Enable = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A3MeasureCtrl.2.MeasurePurpose = 2
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A3MeasureCtrl.1.ReportInterval = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.ReportInterval"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A3MeasureCtrl.1.Enable = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A3MeasureCtrl.0.ReportAmount = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.ReportAmount"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A2MeasureCtrl.3.MeasurePurpose = 3
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A2MeasureCtrl.2.ReportInterval = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.ReportInterval"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A2MeasureCtrl.2.A2ThresholdRSRP = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A2ThresholdRSRP"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A2MeasureCtrl.2.Enable = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A2MeasureCtrl.1.ReportAmount = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.ReportAmount"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A2MeasureCtrl.1.A2ThresholdRSRQ = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A2ThresholdRSRQ"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A2MeasureCtrl.0.Hysteresis = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.Hysteresis"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A1MeasureCtrl.3.ReportInterval = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.ReportInterval"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A1MeasureCtrl.3.A1ThresholdRSRQ = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A1ThresholdRSRQ"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A1MeasureCtrl.3.Enable = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A1MeasureCtrl.2.ReportAmount = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.ReportAmount"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A1MeasureCtrl.1.Hysteresis = "Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.Hysteresis"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.MaxA3MeasureCtrlEntries = 16
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.TriggerQuantity = "RSRP"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.X_SCM_EnableIntraLteHandoverIn = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.X_SCM_INTRA_A5Threshold1RSRP = 35
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.A5Threshold2RSRQ = 25
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.ConnMode.EUTRA.X_SCM_A1TimeToTrigger = "480"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.CDMA2000.X_SCM_CDMA2000_CELL_PARAM.REFERENCE_CELL_ID_1XRTT.SWITCH = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.CDMA2000.X_SCM_ue_generic_cdma2000_params.X_SCM_daylt = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.CDMA2000.X_SCM_ue_generic_cdma2000_params.X_SCM_auto_fcso_allowed = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.CDMA2000.X_SCM_ue_generic_cdma2000_params.X_SCM_mob_qos = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.CDMA2000.X_SCM_MOBILITY_SIB_8_PARAMS.POWER_UP_REG = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.CDMA2000.X_SCM_MOBILITY_SIB_8_PARAMS.HOME_REG = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.CDMA2000.X_SCM_MOBILITY_SIB_8_PARAMS.MULTIPLE_NID = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.CDMA2000.X_SCM_MOBILITY_SIB_8_PARAMS.SID = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.CDMA2000.CDMA2000Band.0.Enable = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.GERAN.GERANFreqGroup.0.X_SCM_ForSRVCC = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.UTRA.UTRANFDDFreq.0.ThreshXHigh = 14
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IRAT.UTRA.MaxUTRANFDDFreqEntries = 16
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.InterFreq.Carrier.0.X_SCM_OPEN_PHY_CELLID_START = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.InterFreq.Carrier.0.X_SCM_PRESENCE_ANTENNA_PORT = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.InterFreq.Carrier.0.ThreshXHighQR9 = ".X_SCM_THRESHX_HIGHQ_R9"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.InterFreq.Carrier.0.QQualMinR9Reselection = -3
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.InterFreq.Carrier.0.PMax = 23
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.InterFreq.Carrier.0.ThreshXHigh = 14
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.InterFreq.Carrier.0.QOffsetFreq = "0"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.InterFreq.MaxCarrierEntries = 16
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.InterFreq.Pmax = ".X_SCM_PMax"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IntraFreq.QQualMinOffsetR9 = ".X_SCM_QQualMinOffsetRel9Sib1"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IntraFreq.SIntraSearchPR9 = ".X_SCM_SIntraSearchPRel9"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IntraFreq.SNonIntraSearchQR9 = ".X_SCM_SNonIntraSearchQRel9"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IntraFreq.TReselectionEUTRASFMedium = 100
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Mobility.IdleMode.IntraFreq.SNonIntraSearch = "8"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.CellRestriction.X_SCM_acBarringForMOSignalFactor = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.CellRestriction.X_SCM_acBarringForMOSignalSpecialAC = "00000"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.RRCTimers.T320 = 5
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.RRCTimers.T311 = "1000"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.RRCTimers.T302 = 200
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.RLC.SRB2.PollPDU = "128"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.RLC.SRB1.TStatusProhibit = "15"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.RLC.SRB1.PollByte = "125"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.RLC.MaxX_SCM_UMDRBEntries = 4
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_PDCP.X_SCM_ROHC.9.X_SCM_ROHCEnabled = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_PDCP.X_SCM_ROHC.6.X_SCM_Profiles = "000000010"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_PDCP.X_SCM_ROHC.6.X_SCM_MaxCid = 15
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_PDCP.X_SCM_ROHC.1.X_SCM_QCI = 1
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_PDCP.MaxX_SCM_QOSEntries = 9
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_PDCP.X_SCM_RTPPort = "10042"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.X_SCM_SFR.X_SCM_PowerThresholdLow = "-300"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileList.9.LongDRXCycle = "640"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileList.8.DRXShortCycleTimer = "4"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileList.7.DRXRetransmissionTimer = "2"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileList.5.ONDurationTimer = ".OnDurationTimer"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileList.3.OnDurationTimer = "10"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileList.2.DRXInactivityTimer = "40"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileList.2.DRXEnabled = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileList.2.QCI = 2
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileList.1.ShortDRXCycle = "32"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.DRXStartOffset = ""
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.RACH.SizeOfRaGroupA = "32"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.X_SCM_Scheduler.X_SCM_UlGbrBlerTarget = 5
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.X_SCM_Scheduler.X_SCM_DlBlerTarget = 10
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.X_SCM_Scheduler.X_SCM_UlMcsFactorAccRate = 10
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.X_SCM_Scheduler.X_SCM_UlMcsResolution = 100
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.X_SCM_Scheduler.X_SCM_MaxSPSRb = 10
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DrxInitialParam = "Device.Services.FAPService.1.CellConfig.LTE.RAN.MAC.DRX.X_SCM_DRXProfileList."
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.PHY.PRACH.HighSpeedFlag = 0
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.PHY.PRACH.RootSequenceIndex = "22,23,24,25,26,27"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.PHY.SRS.X_SCM_SRSHoppingBandwidthCfg = "3"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.PHY.AntennaInfo.Antenna_Direction_Carrier2 = 3
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.RF.X_SCM_EARFCNDLConfigList = "43800,44000"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.RF.X_SCM_FreqOffsetAdjustFoeThreshold = 1000
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.RF.PhyCellID = "501"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.RF.X_SCM_EARFCNDL2 = "44000"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_RRM.X_SCM_LoadBalanceUePrbThreshold = 5
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_RRM.X_SCM_NumCQIPerTTI2 = 8
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_RRM.X_SCM_NumCQIPerTTI = 8
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.Common.EnbType = "Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_ENodeBType"
+ Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_X2AP.X_SCM_TimeToWait = 200000
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.QoS.9.Enable = 0
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.QoS.6.Priority = 6
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.QoS.4.DSCP = 46
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.QoS.4.PacketDelayBudget = 300
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.QoS.4.Type = "GBR"
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.QoS.3.VLANTag = 0
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.QoS.2.Alias = "-"
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.QoS.1.QCI = 1
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.PLMNList.1.X_SCM_Supported_CellId = 0
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.PLMNList.1.Enable = 1
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.PLMNList.0.X_SCM_DEDICATED_PLMN_BEARER_RESOURCES = 0
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.X_SCM_EAIDNumber = 1
+ Device.Services.FAPService.1.CellConfig.LTE.EPC.MaxPLMNListEntries = 6
+ Device.Services.FAPService.1.CellConfig.LTE.S1U.0.LocIpAddrList = "Device.Services.FAPService.1.Transport.SCTP.X_SCM_SctpIpAddress"
+ Device.Services.FAPService.1.CellConfig.LTE.MmePoolConfigParam.0.MMEIp1 = "Device.Services.FAPService.1.FAPControl.LTE.Gateway.S1SigLinkServerList"
+ Device.Services.FAPService.1.CellConfig.LTE.CAParam.CASwitchDl = "Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_CA_Enable"
+ Device.Services.FAPService.1.CellConfig.LTE.VoLTE.PdcpInitParam.0.RohcEn = "Device.Services.FAPService.1.CellConfig.LTE.RAN.X_SCM_PDCP.X_SCM_ROHC.1.X_SCM_ROHCEnabled"
+ Device.Services.FAPService.1.CellConfig.LTE.X_SCM_ULTRASON_CONFIG.PersistencyElapsedTimeThresholdInMinutes = 2880
+ Device.Services.FAPService.1.CellConfig.LTE.X_SCM_ENDC_Config.Enable = 0
+ Device.Services.FAPService.1.AccessMgmt.LTE.LocalIPAccess.X_SCM_LIPAMethod = 1
+ Device.Services.FAPService.1.AccessMgmt.LTE.LocalIPAccess.X_SCM_LIPAUESubnet = "0"
+ Device.Services.FAPService.1.AccessMgmt.LTE.X_SCM_UEDetailNumberOfEntries = 0
+ Device.Services.FAPService.1.AccessMgmt.LTE.CSGID = 0
+ Device.Services.FAPService.1.AccessMgmt.LTE.X_SCM_CellMaxVolteServed = "32,32"
+ Device.Services.FAPService.1.FAPControl.X_SCM_TDSCDMA.Gateway.SecGWServer3 = ""
+ Device.Services.FAPService.1.FAPControl.LTE.Gateway.PreSecGW3ServerList.3.SecGWServer3Ip = "2600:0000:cf04:3841:10:158:146:180"
+ Device.Services.FAPService.1.FAPControl.LTE.Gateway.AGServerIp1 = ""
+ Device.Services.FAPService.1.FAPControl.LTE.Gateway.X_SCM_Private_CN_Auth_Enable = 0
+ Device.Services.FAPService.1.FAPControl.LTE.Gateway.S1ConnectionMode = "One"
+ Device.Services.FAPService.1.FAPControl.LTE.Gateway.SecGWServer1 = ""
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_CRAN.BBUProcIdList = "iRRHAgent:12;confmgr:35;sysmgr:37;rrhmgr:44;swmgr:45;"
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_CRAN.CUDUInterfaceType = 0
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_CRAN.DHCPSecurityEnable = 0
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_CRAN.DUEnable = 0
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_SceneManagement.LTEInter.X_SCM_MacroFreqList = ""
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_SceneManagement.Scene2NumberOfEntries = 0
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_SceneManagement.X_SCM_IdentifySceneSupport = "LTEIntra#1,LTEInter#2"
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_SceneManagement.X_SCM_IdentifyShortPeriod = 30
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_DLPowerSetting.X_SCM_DLPowerAdjustPeriod = "240:120"
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_CoverageMeasurement.X_SCM_EdgeArea_OverCoverage_ThresholdRSRP = 10
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_MRO.InterFreqA5Threshold2RSRQ = "15,15,15,15,15,15,15,15"
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_MRO.InterFreqA2TTT = "1,1,3,6,8,8,8,8"
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_MRO.ValidityPeriod = 10080
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_MRO.X_SCM_MROAlg = "Off"
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_BsPoutCtrl.X_SCM_AdjOverlapRegion = 120
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_BsPoutCtrl.X_SCM_Iob = -103
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_BsPoutCtrl.X_SCM_CRS = -127
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_ANR_Ctrl.X_SCM_AnrCtrlEnable = 1
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_LogAESEncryptSwitch = 0
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_RipMeasureEnable = 1
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_TcFeedbackQueueThreshold = 2048
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_CSGPCIRange = 0
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_eCSFBConfigValue = 0
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_NeighborENodeBConfigNumber = "INVLD"
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_IntraHyterisis = 1
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_SMeasureValue = 0
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_ANRCellValidAge = 0
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_AnrEpocTimerValueInSeconds = 1000
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_TrigHoPunishNum = 5
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_HOReportConfigValue = 1
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_RrmRntiStart2 = 205
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_RrmRntiStart = 205
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_RRMConfig.X_SCM_ScellDeactByInactivityTmr = 3840
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SAS.GrantTime = 0001-01-01T00:00:00Z
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SAS.AntennaAzimuth = 0
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SAS.AirInterface = "E_UTRA"
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SAS.ProtectionLevel = "GAA"
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_CMP.Config.1.X_SCM_KUR_Enable =
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_CMP.X_SCM_Profile_Id = 0
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_CMP.AltName = ""
+ Device.Services.FAPService.1.FAPControl.LTE.SelfConfig.SONConfigParam.UTRANSnifferChannelList = "Device.Services.FAPService.1.REM.LTE.X_SCM_UTRACarrierARFCNDLList"
+ Device.Services.FAPService.1.FAPControl.LTE.SelfConfig.SONConfigParam.PCIOptEnable = "Device.Services.FAPService.1.FAPControl.LTE.X_SCM_SON.X_SCM_RunTimePCIOptimizeEnable"
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_ULGTPQLen = 0
+ Device.Services.FAPService.1.FAPControl.LTE.X_SCM_IgnoreAdminState = 3
+ Device.Services.FAPService.1.FAPControl.LTE.RFPath = "0,1"
+ Device.Services.FAPService.1.FAPControl.X_SCM_LWM2M.X_SCM_RelayManagement.X_SCM_NeighbourCrowdBoxEARFCN = 0
+ Device.Services.FAPService.1.FAPControl.X_SCM_LWM2M.X_SCM_Server.0.X_SCM_Lifetime = 60
+ Device.Services.FAPService.1.FAPControl.X_SCM_LWM2M.X_SCM_Security.1.X_SCM_PublicKeyOrIdentity = ""
+ Device.Services.FAPService.1.FAPControl.X_SCM_LWM2M.X_SCM_Security.1.X_SCM_BootstrapServer = 0
+ Device.Services.FAPService.1.FAPControl.X_SCM_LWM2M.X_SCM_Security.0.X_SCM_ClientHoldOffTime = 0
+ Device.Services.FAPService.1.FAPControl.X_SCM_LWM2M.X_SCM_Security.0.X_SCM_ShortServerID = 0
+ Device.Services.FAPService.1.FAPControl.X2IpAddrMapInfo.0.EnbId = 0
+ Device.Services.FAPService.1.Capabilities.LTE.UMTSRxBandsSupported = ""
+ Device.Services.FAPService.1.Capabilities.LTE.NNSFSupported = 0
+ Device.Services.FAPService.1.Capabilities.LTE.DuplexMode = "TDDMode"
+ Device.IPsec.IKEv2SupportedPseudoRandomFunctions = "HMAC-MD5,HMAC-SHA1,HMAC-SHA2-256,HMAC-SHA2-384,HMAC-SHA2-512,AES-128-CMAC"
+OK
diff --git a/state_machines/__init__.py b/state_machines/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/state_machines/__init__.py
diff --git a/state_machines/acs_state_utils.py b/state_machines/acs_state_utils.py
new file mode 100644
index 0000000..e0e32cc
--- /dev/null
+++ b/state_machines/acs_state_utils.py
@@ -0,0 +1,328 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+from typing import Any, Dict, List, Optional
+
+from data_models.data_model import DataModel
+from data_models.data_model_parameters import ParameterName
+from device_config.enodeb_configuration import EnodebConfiguration
+from devices.device_utils import EnodebDeviceName, get_device_name
+from exceptions import ConfigurationError
+from logger import EnodebdLogger as logger
+from tr069 import models
+
+
+def process_inform_message(
+ inform: Any,
+ data_model: DataModel,
+ device_cfg: EnodebConfiguration,
+) -> None:
+ """
+ Modifies the device configuration based on what is received in the Inform
+ message. Will raise an error if it turns out that the data model we are
+ using is incorrect. This is decided based on the device OUI and
+ software-version that is reported in the Inform message.
+
+ Args:
+ inform: Inform Tr069 message
+ device_handler: The state machine we are using for our device
+ """
+ param_values_by_path = _get_param_values_by_path(inform)
+ param_name_list = data_model.get_parameter_names()
+ name_to_val = {}
+ for name in param_name_list:
+ path = data_model.get_parameter(name).path
+ if path in param_values_by_path:
+ value = param_values_by_path[path]
+ name_to_val[name] = value
+
+ for name, val in name_to_val.items():
+ device_cfg.set_parameter(name, val)
+
+
+def get_device_name_from_inform(
+ inform: models.Inform,
+) -> EnodebDeviceName:
+ def _get_param_value_from_path_suffix(
+ suffix: str,
+ path_list: List[str],
+ param_values_by_path: Dict[str, Any],
+ ) -> Any:
+ for path in path_list:
+ if path.endswith(suffix):
+ return param_values_by_path[path]
+ raise ConfigurationError('Did not receive expected info in Inform')
+
+ param_values_by_path = _get_param_values_by_path(inform)
+
+ # Check the OUI and version number to see if the data model matches
+ path_list = list(param_values_by_path.keys())
+ if hasattr(inform, 'DeviceId') and \
+ hasattr(inform.DeviceId, 'OUI'):
+ device_oui = inform.DeviceId.OUI
+ else:
+ device_oui = _get_param_value_from_path_suffix(
+ 'DeviceInfo.ManufacturerOUI',
+ path_list,
+ param_values_by_path,
+ )
+ sw_version = _get_param_value_from_path_suffix(
+ 'DeviceInfo.SoftwareVersion',
+ path_list,
+ param_values_by_path,
+ )
+ return get_device_name(device_oui, sw_version)
+
+
+def does_inform_have_event(
+ inform: models.Inform,
+ event_code: str,
+) -> bool:
+ """ True if the Inform message contains the specified event code """
+ for event in inform.Event.EventStruct:
+ if event.EventCode == event_code:
+ return True
+ return False
+
+
+def _get_param_values_by_path(
+ inform: models.Inform,
+) -> Dict[str, Any]:
+ if not hasattr(inform, 'ParameterList') or \
+ not hasattr(inform.ParameterList, 'ParameterValueStruct'):
+ raise ConfigurationError('Did not receive ParamterList in Inform')
+ param_values_by_path = {}
+ for param_value in inform.ParameterList.ParameterValueStruct:
+ path = param_value.Name
+ value = param_value.Value.Data
+ logger.debug(
+ '(Inform msg) Received parameter: %s = %s', path,
+ value,
+ )
+ param_values_by_path[path] = value
+ return param_values_by_path
+
+
+def are_tr069_params_equal(param_a: Any, param_b: Any, type_: str) -> bool:
+ """
+ Compare two parameters in TR-069 format.
+ The following differences are ignored:
+ - Leading and trailing whitespace, commas and quotes
+ - Capitalization, for booleans (true, false)
+ Returns:
+ True if params are the same
+ """
+ # Cast booleans to integers
+ cmp_a, cmp_b = param_a, param_b
+ if type_ == 'boolean' and cmp_b in ('0', '1') or cmp_a in ('0', '1'):
+ cmp_a, cmp_b = map(int, (cmp_a, cmp_b))
+ cmp_a, cmp_b = map(str, (cmp_a, cmp_b))
+ cmp_a, cmp_b = map(lambda s: s.strip(', \'"'), (cmp_a, cmp_b))
+ if cmp_a.lower() in ['true', 'false']:
+ cmp_a, cmp_b = map(lambda s: s.lower(), (cmp_a, cmp_b))
+ return cmp_a == cmp_b
+
+
+def get_all_objects_to_add(
+ desired_cfg: EnodebConfiguration,
+ device_cfg: EnodebConfiguration,
+) -> List[ParameterName]:
+ """
+ Find a ParameterName that needs to be added to the eNB configuration,
+ if any
+
+ Note: This is the expected name of the parameter once it is added
+ but this is different than how to add it. For example,
+ enumerated objects of the form XX.YY.N. should be added
+ by calling AddObject to XX.YY. and having the CPE assign
+ the index.
+ """
+ desired = desired_cfg.get_object_names()
+ current = device_cfg.get_object_names()
+ return list(set(desired).difference(set(current)))
+
+
+def get_all_objects_to_delete(
+ desired_cfg: EnodebConfiguration,
+ device_cfg: EnodebConfiguration,
+) -> List[ParameterName]:
+ """
+ Find a ParameterName that needs to be deleted from the eNB configuration,
+ if any
+ """
+ desired = desired_cfg.get_object_names()
+ current = device_cfg.get_object_names()
+ return list(set(current).difference(set(desired)))
+
+
+def get_params_to_get(
+ device_cfg: EnodebConfiguration,
+ data_model: DataModel,
+ request_all_params: bool = False,
+) -> List[ParameterName]:
+ """
+ Returns the names of params not belonging to objects that are added/removed
+ """
+ desired_names = data_model.get_present_params()
+ if request_all_params:
+ return desired_names
+ known_names = device_cfg.get_parameter_names()
+ names = list(set(desired_names) - set(known_names))
+ return names
+
+
+def get_object_params_to_get(
+ desired_cfg: Optional[EnodebConfiguration],
+ device_cfg: EnodebConfiguration,
+ data_model: DataModel,
+) -> List[ParameterName]:
+ """
+ Returns a list of parameter names for object parameters we don't know the
+ current value of
+ """
+ names = []
+ # TODO: This might a string for some strange reason, investigate why
+ num_plmns = \
+ int(device_cfg.get_parameter(ParameterName.NUM_PLMNS))
+ for i in range(1, num_plmns + 1):
+ obj_name = ParameterName.PLMN_N % i
+ if not device_cfg.has_object(obj_name):
+ device_cfg.add_object(obj_name)
+ obj_to_params = data_model.get_numbered_param_names()
+ desired = obj_to_params[obj_name]
+ current = []
+ if desired_cfg is not None:
+ current = desired_cfg.get_parameter_names_for_object(obj_name)
+ names_to_add = list(set(desired) - set(current))
+ names = names + names_to_add
+ return names
+
+
+# We don't attempt to set these parameters on the eNB configuration
+READ_ONLY_PARAMETERS = [
+ ParameterName.OP_STATE,
+ ParameterName.RF_TX_STATUS,
+ ParameterName.GPS_STATUS,
+ ParameterName.PTP_STATUS,
+ ParameterName.MME_STATUS,
+ ParameterName.GPS_LAT,
+ ParameterName.GPS_LONG,
+]
+
+
+def get_param_values_to_set(
+ desired_cfg: EnodebConfiguration,
+ device_cfg: EnodebConfiguration,
+ data_model: DataModel,
+ exclude_admin: bool = False,
+) -> Dict[ParameterName, Any]:
+ """
+ Get a map of param names to values for parameters that we will
+ set on the eNB's configuration, excluding parameters for objects that can
+ be added/removed.
+
+ Also exclude special parameters like admin state, since it may be set at
+ a different time in the provisioning process than most parameters.
+ """
+ param_values = {}
+ # Get the parameters we might set
+ params = set(desired_cfg.get_parameter_names()) - set(READ_ONLY_PARAMETERS)
+ if exclude_admin:
+ params = set(params) - {ParameterName.ADMIN_STATE}
+ # Values of parameters
+ for name in params:
+ new = desired_cfg.get_parameter(name)
+ old = device_cfg.get_parameter(name)
+ _type = data_model.get_parameter(name).type
+ if not are_tr069_params_equal(new, old, _type):
+ param_values[name] = new
+
+ return param_values
+
+
+def get_obj_param_values_to_set(
+ desired_cfg: EnodebConfiguration,
+ device_cfg: EnodebConfiguration,
+ data_model: DataModel,
+) -> Dict[ParameterName, Dict[ParameterName, Any]]:
+ """ Returns a map from object name to (a map of param name to value) """
+ param_values = {}
+ objs = desired_cfg.get_object_names()
+ for obj_name in objs:
+ param_values[obj_name] = {}
+ params = desired_cfg.get_parameter_names_for_object(obj_name)
+ for name in params:
+ new = desired_cfg.get_parameter_for_object(name, obj_name)
+ old = device_cfg.get_parameter_for_object(name, obj_name)
+ _type = data_model.get_parameter(name).type
+ if not are_tr069_params_equal(new, old, _type):
+ param_values[obj_name][name] = new
+ return param_values
+
+
+def get_all_param_values_to_set(
+ desired_cfg: EnodebConfiguration,
+ device_cfg: EnodebConfiguration,
+ data_model: DataModel,
+ exclude_admin: bool = False,
+) -> Dict[ParameterName, Any]:
+ """ Returns a map of param names to values that we need to set """
+ param_values = get_param_values_to_set(
+ desired_cfg, device_cfg,
+ data_model, exclude_admin,
+ )
+ obj_param_values = get_obj_param_values_to_set(
+ desired_cfg, device_cfg,
+ data_model,
+ )
+ for _obj_name, param_map in obj_param_values.items():
+ for name, val in param_map.items():
+ param_values[name] = val
+ return param_values
+
+
+def parse_get_parameter_values_response(
+ data_model: DataModel,
+ message: models.GetParameterValuesResponse,
+) -> Dict[ParameterName, Any]:
+ """ Returns a map of ParameterName to the value read from the response """
+ param_values_by_path = {}
+ for param_value_struct in message.ParameterList.ParameterValueStruct:
+ param_values_by_path[param_value_struct.Name] = \
+ param_value_struct.Value.Data
+
+ param_name_list = data_model.get_parameter_names()
+ name_to_val = {}
+ for name in param_name_list:
+ path = data_model.get_parameter(name).path
+ if path in param_values_by_path:
+ value = param_values_by_path[path]
+ name_to_val[name] = value
+
+ return name_to_val
+
+
+def get_optional_param_to_check(
+ data_model: DataModel,
+) -> Optional[ParameterName]:
+ """
+ If there is a parameter which is optional in the data model, and we do not
+ know if it exists or not, then return it so we can check for its presence.
+ """
+ params = data_model.get_names_of_optional_params()
+ for param in params:
+ try:
+ data_model.is_parameter_present(param)
+ except KeyError:
+ return param
+ return None
diff --git a/state_machines/enb_acs.py b/state_machines/enb_acs.py
new file mode 100644
index 0000000..24e24e7
--- /dev/null
+++ b/state_machines/enb_acs.py
@@ -0,0 +1,220 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+from abc import ABC, abstractmethod
+from asyncio import BaseEventLoop
+from time import time
+from typing import Any, Type
+
+from common.service import MagmaService
+from data_models.data_model import DataModel
+from data_models.data_model_parameters import ParameterName
+from device_config.enodeb_config_postprocessor import (
+ EnodebConfigurationPostProcessor,
+)
+from device_config.enodeb_configuration import EnodebConfiguration
+from devices.device_utils import EnodebDeviceName
+from state_machines.acs_state_utils import are_tr069_params_equal
+
+
+class EnodebAcsStateMachine(ABC):
+ """
+ Handles all TR-069 messages.
+ Acts as the Auto Configuration Server (ACS), as specified by TR-069.
+ A device/version specific ACS message handler.
+ Different devices have various idiosyncrasies.
+ Subclass BasicEnodebAcsStateMachine for a specific device/version
+ implementation.
+
+ This ACS class can only handle a single connected eNodeB device.
+ Multiple connected eNodeB devices will lead to undefined behavior.
+
+ This ABC is more of an interface definition.
+ """
+
+ def __init__(self, use_param_key: bool = False) -> None:
+ self._service = None
+ self._desired_cfg = None
+ self._device_cfg = None
+ self._data_model = None
+ self._are_invasive_changes_applied = True
+ # Flag to preseve backwards compatibility
+ self._use_param_key = use_param_key
+ self._param_version_key = None
+
+ def has_parameter(self, param: ParameterName) -> bool:
+ """
+ Return True if the data model has the parameter
+
+ Raise KeyError if the parameter is optional and we do not know yet
+ if this eNodeB has the parameter
+ """
+ return self.data_model.is_parameter_present(param)
+
+ def get_parameter(self, param: ParameterName) -> Any:
+ """
+ Return the value of the parameter
+ """
+ return self.device_cfg.get_parameter(param)
+
+ def set_parameter_asap(self, param: ParameterName, value: Any) -> None:
+ """
+ Set the parameter to the suggested value ASAP
+ """
+ self.desired_cfg.set_parameter(param, value)
+
+ def is_enodeb_configured(self) -> bool:
+ """
+ True if the desired configuration matches the device configuration
+ """
+ if self.desired_cfg is None:
+ return False
+ if not self.data_model.are_param_presences_known():
+ return False
+ desired = self.desired_cfg.get_parameter_names()
+
+ for name in desired:
+ val1 = self.desired_cfg.get_parameter(name)
+ val2 = self.device_cfg.get_parameter(name)
+ type_ = self.data_model.get_parameter(name).type
+ if not are_tr069_params_equal(val1, val2, type_):
+ return False
+
+ for obj_name in self.desired_cfg.get_object_names():
+ params = self.desired_cfg.get_parameter_names_for_object(obj_name)
+ for name in params:
+ val1 = self.device_cfg.get_parameter_for_object(name, obj_name)
+ val2 = self.desired_cfg.get_parameter_for_object(
+ name,
+ obj_name,
+ )
+ type_ = self.data_model.get_parameter(name).type
+ if not are_tr069_params_equal(val1, val2, type_):
+ return False
+ return True
+
+ @abstractmethod
+ def get_state(self) -> str:
+ """
+ Get info about the state of the ACS
+ """
+ pass
+
+ @abstractmethod
+ def handle_tr069_message(self, message: Any) -> Any:
+ """
+ Given a TR-069 message sent from the hardware, return an
+ appropriate response
+ """
+ pass
+
+ @abstractmethod
+ def transition(self, next_state: str) -> None:
+ pass
+
+ @property
+ def service(self) -> MagmaService:
+ return self._service
+
+ @service.setter
+ def service(self, service: MagmaService) -> None:
+ self._service = service
+
+ @property
+ def event_loop(self) -> BaseEventLoop:
+ return self._service.loop
+
+ @property
+ def mconfig(self) -> Any:
+ return self._service.mconfig
+
+ @property
+ def service_config(self) -> Any:
+ return self._service.config
+
+ @property
+ def desired_cfg(self) -> EnodebConfiguration:
+ return self._desired_cfg
+
+ @desired_cfg.setter
+ def desired_cfg(self, val: EnodebConfiguration) -> None:
+ if self.has_version_key:
+ self.parameter_version_inc()
+ self._desired_cfg = val
+
+ @property
+ def device_cfg(self) -> EnodebConfiguration:
+ return self._device_cfg
+
+ @device_cfg.setter
+ def device_cfg(self, val: EnodebConfiguration) -> None:
+ self._device_cfg = val
+
+ @property
+ def data_model(self) -> DataModel:
+ return self._data_model
+
+ @property
+ def has_version_key(self) -> bool:
+ """ Return if the ACS supports param version key """
+ return self._use_param_key
+
+ @property
+ def parameter_version_key(self) -> int:
+ """ Return the param version key """
+ return self._param_version_key
+
+ def parameter_version_inc(self):
+ """ Set the internal version key to the timestamp """
+ self._param_version_key = time()
+
+ @data_model.setter
+ def data_model(self, data_model) -> None:
+ self._data_model = data_model
+
+ @property
+ def are_invasive_changes_applied(self) -> bool:
+ return self._are_invasive_changes_applied
+
+ @are_invasive_changes_applied.setter
+ def are_invasive_changes_applied(self, is_applied: bool) -> None:
+ self._are_invasive_changes_applied = is_applied
+
+ @property
+ @abstractmethod
+ def data_model_class(self) -> Type[DataModel]:
+ pass
+
+ @property
+ @abstractmethod
+ def device_name(self) -> EnodebDeviceName:
+ pass
+
+ @property
+ @abstractmethod
+ def config_postprocessor(self) -> EnodebConfigurationPostProcessor:
+ pass
+
+ @abstractmethod
+ def reboot_asap(self) -> None:
+ """
+ Send a request to reboot the eNodeB ASAP
+ """
+ pass
+
+ @abstractmethod
+ def is_enodeb_connected(self) -> bool:
+ pass
+
+ @abstractmethod
+ def stop_state_machine(self) -> None:
+ pass
diff --git a/state_machines/enb_acs_impl.py b/state_machines/enb_acs_impl.py
new file mode 100644
index 0000000..c29690e
--- /dev/null
+++ b/state_machines/enb_acs_impl.py
@@ -0,0 +1,299 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+import traceback
+from abc import abstractmethod
+from typing import Any, Dict
+
+from common.service import MagmaService
+import metrics
+from data_models.data_model_parameters import ParameterName
+from device_config.enodeb_configuration import EnodebConfiguration
+from exceptions import ConfigurationError
+from logger import EnodebdLogger as logger
+from state_machines.enb_acs import EnodebAcsStateMachine
+from state_machines.enb_acs_states import EnodebAcsState
+from state_machines.timer import StateMachineTimer
+from tr069 import models
+from tr069.models import Tr069ComplexModel
+
+
+class BasicEnodebAcsStateMachine(EnodebAcsStateMachine):
+ """
+ Most of the EnodebAcsStateMachine classes for each device work about the
+ same way. Differences lie mainly in the data model, desired configuration,
+ and the state transition map.
+
+ This class specifies the shared implementation between them.
+ """
+
+ # eNodeB connection timeout is used to determine whether or not eNodeB is
+ # connected to enodebd based on time of last Inform message. By default,
+ # periodic inform interval is 30secs, so timeout should be larger than
+ # this.
+ # Also set timer longer than reboot time, so that an eNodeB reboot does not
+ # trigger a connection-timeout alarm.
+ ENB_CONNECTION_TIMEOUT = 600 # In seconds
+
+ # If eNodeB is disconnected from MME for an unknown reason for this time,
+ # then reboot it. Set to a long time to ensure this doesn't interfere with
+ # other enodebd configuration processes - it is just a measure of last
+ # resort for an unlikely error case
+ MME_DISCONNECT_ENODEB_REBOOT_TIMER = 15 * 60
+
+ # Check the MME connection status every 15 seconds
+ MME_CHECK_TIMER = 15
+
+ def __init__(
+ self,
+ service: MagmaService,
+ use_param_key: bool,
+ ) -> None:
+ super().__init__(use_param_key=use_param_key)
+ self.state = None
+ self.timeout_handler = None
+ self.mme_timeout_handler = None
+ self.mme_timer = None
+ self._start_state_machine(service)
+
+ def get_state(self) -> str:
+ if self.state is None:
+ logger.warning('ACS State machine is not in any state.')
+ return 'N/A'
+ return self.state.state_description()
+
+ def handle_tr069_message(
+ self,
+ message: Tr069ComplexModel,
+ ) -> Tr069ComplexModel:
+ """
+ Accept the tr069 message from the eNB and produce a reply.
+
+ States may transition after reading a message but BEFORE producing
+ a reply. Most steps in the provisioning process are represented as
+ beginning with enodebd sending a request to the eNB, and waiting for
+ the reply from the eNB.
+ """
+ # TransferComplete messages come at random times, and we ignore them
+ if isinstance(message, models.TransferComplete):
+ return models.TransferCompleteResponse()
+ try:
+ self._read_tr069_msg(message)
+ return self._get_tr069_msg(message)
+ except Exception: # pylint: disable=broad-except
+ logger.error('Failed to handle tr069 message')
+ logger.error(traceback.format_exc())
+ self._dump_debug_info()
+ self.transition(self.unexpected_fault_state_name)
+ return self._get_tr069_msg(message)
+
+ def transition(self, next_state: str) -> Any:
+ logger.debug('State transition to <%s>', next_state)
+ self.state.exit()
+ self.state = self.state_map[next_state]
+ self.state.enter()
+
+ def stop_state_machine(self) -> None:
+ """ Clean up anything the state machine is tracking or doing """
+ self.state.exit()
+ if self.timeout_handler is not None:
+ self.timeout_handler.cancel()
+ self.timeout_handler = None
+ if self.mme_timeout_handler is not None:
+ self.mme_timeout_handler.cancel()
+ self.mme_timeout_handler = None
+ self._service = None
+ self._desired_cfg = None
+ self._device_cfg = None
+ self._data_model = None
+
+ self.mme_timer = None
+
+ def _start_state_machine(
+ self,
+ service: MagmaService,
+ ):
+ self.service = service
+ self.data_model = self.data_model_class()
+ # The current known device config has few known parameters
+ # The desired configuration depends on what the current configuration
+ # is. This we don't know fully, yet.
+ self.device_cfg = EnodebConfiguration(self.data_model)
+
+ self._init_state_map()
+ self.state = self.state_map[self.disconnected_state_name]
+ self.state.enter()
+ self._reset_timeout()
+ self._periodic_check_mme_connection()
+
+ def _reset_state_machine(
+ self,
+ service: MagmaService,
+ ):
+ self.stop_state_machine()
+ self._start_state_machine(service)
+
+ def _read_tr069_msg(self, message: Any) -> None:
+ """ Process incoming message and maybe transition state """
+ self._reset_timeout()
+ msg_handled, next_state = self.state.read_msg(message)
+ if not msg_handled:
+ self._transition_for_unexpected_msg(message)
+ _msg_handled, next_state = self.state.read_msg(message)
+ if next_state is not None:
+ self.transition(next_state)
+
+ def _get_tr069_msg(self, message: Any) -> Any:
+ """ Get a new message to send, and maybe transition state """
+ msg_and_transition = self.state.get_msg(message)
+ if msg_and_transition.next_state:
+ self.transition(msg_and_transition.next_state)
+ msg = msg_and_transition.msg
+ return msg
+
+ def _transition_for_unexpected_msg(self, message: Any) -> None:
+ """
+ eNB devices may send an Inform message in the middle of a provisioning
+ session. To deal with this, transition to a state that expects an
+ Inform message, but also track the status of the eNB as not having
+ been disconnected.
+ """
+ if isinstance(message, models.Inform):
+ logger.debug(
+ 'ACS in (%s) state. Received an Inform message',
+ self.state.state_description(),
+ )
+ self._reset_state_machine(self.service)
+ elif isinstance(message, models.Fault):
+ logger.debug(
+ 'ACS in (%s) state. Received a Fault <%s>',
+ self.state.state_description(), message.FaultString,
+ )
+ self.transition(self.unexpected_fault_state_name)
+ else:
+ raise ConfigurationError('Cannot handle unexpected TR069 msg')
+
+ def _reset_timeout(self) -> None:
+ if self.timeout_handler is not None:
+ self.timeout_handler.cancel()
+
+ def timed_out():
+ self.transition(self.disconnected_state_name)
+
+ self.timeout_handler = self.event_loop.call_later(
+ self.ENB_CONNECTION_TIMEOUT,
+ timed_out,
+ )
+
+ def _periodic_check_mme_connection(self) -> None:
+ self._check_mme_connection()
+ self.mme_timeout_handler = self.event_loop.call_later(
+ self.MME_CHECK_TIMER,
+ self._periodic_check_mme_connection,
+ )
+
+ def _check_mme_connection(self) -> None:
+ """
+ Check if eNodeB should be connected to MME but isn't, and maybe reboot.
+
+ If the eNB doesn't report connection to MME within a timeout period,
+ get it to reboot in the hope that it will fix things.
+
+ Usually, enodebd polls the eNodeB for whether it is connected to MME.
+ This method checks the last polled MME connection status, and if
+ eNodeB should be connected to MME but it isn't.
+ """
+ if self.device_cfg.has_parameter(ParameterName.MME_STATUS) and \
+ self.device_cfg.get_parameter(ParameterName.MME_STATUS):
+ is_mme_connected = 1
+ else:
+ is_mme_connected = 0
+
+ # True if we would expect MME to be connected, but it isn't
+ is_mme_unexpectedly_dc = \
+ self.is_enodeb_connected() \
+ and self.is_enodeb_configured() \
+ and self.mconfig.allow_enodeb_transmit \
+ and not is_mme_connected
+
+ if is_mme_unexpectedly_dc:
+ logger.warning(
+ 'eNodeB is connected to AGw, is configured, '
+ 'and has AdminState enabled for transmit. '
+ 'MME connection to eNB is missing.',
+ )
+ if self.mme_timer is None:
+ logger.warning(
+ 'eNodeB will be rebooted if MME connection '
+ 'is not established in: %s seconds.',
+ self.MME_DISCONNECT_ENODEB_REBOOT_TIMER,
+ )
+ metrics.STAT_ENODEB_REBOOT_TIMER_ACTIVE.set(1)
+ self.mme_timer = \
+ StateMachineTimer(self.MME_DISCONNECT_ENODEB_REBOOT_TIMER)
+ elif self.mme_timer.is_done():
+ logger.warning(
+ 'eNodeB has not established MME connection '
+ 'within %s seconds - rebooting!',
+ self.MME_DISCONNECT_ENODEB_REBOOT_TIMER,
+ )
+ metrics.STAT_ENODEB_REBOOTS.labels(cause='MME disconnect').inc()
+ metrics.STAT_ENODEB_REBOOT_TIMER_ACTIVE.set(0)
+ self.mme_timer = None
+ self.reboot_asap()
+ else:
+ # eNB is not connected to MME, but we're still waiting to see
+ # if it will connect within the timeout period.
+ # Take no action for now.
+ pass
+ else:
+ if self.mme_timer is not None:
+ logger.info('eNodeB has established MME connection.')
+ self.mme_timer = None
+ metrics.STAT_ENODEB_REBOOT_TIMER_ACTIVE.set(0)
+
+ def _dump_debug_info(self) -> None:
+ if self.device_cfg is not None:
+ logger.error(
+ 'Device configuration: %s',
+ self.device_cfg.get_debug_info(),
+ )
+ else:
+ logger.error('Device configuration: None')
+ if self.desired_cfg is not None:
+ logger.error(
+ 'Desired configuration: %s',
+ self.desired_cfg.get_debug_info(),
+ )
+ else:
+ logger.error('Desired configuration: None')
+
+ @abstractmethod
+ def _init_state_map(self) -> None:
+ pass
+
+ @property
+ @abstractmethod
+ def state_map(self) -> Dict[str, EnodebAcsState]:
+ pass
+
+ @property
+ @abstractmethod
+ def disconnected_state_name(self) -> str:
+ pass
+
+ @property
+ @abstractmethod
+ def unexpected_fault_state_name(self) -> str:
+ """ State to handle unexpected Fault messages """
+ pass
diff --git a/state_machines/enb_acs_manager.py b/state_machines/enb_acs_manager.py
new file mode 100644
index 0000000..7ad6b02
--- /dev/null
+++ b/state_machines/enb_acs_manager.py
@@ -0,0 +1,253 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+from typing import Any, List, Optional
+
+from common.service import MagmaService
+from device_config.configuration_util import is_enb_registered
+from devices.device_map import get_device_handler_from_name
+from devices.device_utils import EnodebDeviceName
+from exceptions import UnrecognizedEnodebError
+from logger import EnodebdLogger as logger
+from state_machines.acs_state_utils import (
+ get_device_name_from_inform,
+)
+from state_machines.enb_acs import EnodebAcsStateMachine
+from tr069 import models
+from spyne import ComplexModelBase
+from spyne.server.wsgi import WsgiMethodContext
+
+
+class StateMachineManager:
+ """
+ Delegates tr069 message handling to a dedicated state machine for the
+ device.
+ """
+
+ def __init__(
+ self,
+ service: MagmaService,
+ ):
+ self._ip_serial_mapping = IpToSerialMapping()
+ self._service = service
+ self._state_machine_by_ip = {}
+
+ def handle_tr069_message(
+ self,
+ ctx: WsgiMethodContext,
+ tr069_message: ComplexModelBase,
+ ) -> Any:
+ """ Delegate message handling to the appropriate eNB state machine """
+ client_ip = self._get_client_ip(ctx)
+ if isinstance(tr069_message, models.Inform):
+ try:
+ self._update_device_mapping(client_ip, tr069_message)
+ except UnrecognizedEnodebError as err:
+ logger.warning(
+ 'Received TR-069 Inform message from an '
+ 'unrecognized device. '
+ 'Ending TR-069 session with empty HTTP '
+ 'response. Error: (%s)', err,
+ )
+ return models.DummyInput()
+
+ handler = self._get_handler(client_ip)
+ if handler is None:
+ logger.warning(
+ 'Received non-Inform TR-069 message from unknown '
+ 'eNB. Ending session with empty HTTP response.',
+ )
+ return models.DummyInput()
+
+ return handler.handle_tr069_message(tr069_message)
+
+ def get_handler_by_ip(self, client_ip: str) -> EnodebAcsStateMachine:
+ return self._state_machine_by_ip[client_ip]
+
+ def get_handler_by_serial(self, enb_serial: str) -> EnodebAcsStateMachine:
+ client_ip = self._ip_serial_mapping.get_ip(enb_serial)
+ return self._state_machine_by_ip[client_ip]
+
+ def get_connected_serial_id_list(self) -> List[str]:
+ return self._ip_serial_mapping.get_serial_list()
+
+ def get_ip_of_serial(self, enb_serial: str) -> str:
+ return self._ip_serial_mapping.get_ip(enb_serial)
+
+ def get_serial_of_ip(self, client_ip: str) -> str:
+ serial = self._ip_serial_mapping.get_serial(client_ip)
+ return serial or 'default'
+
+ def _get_handler(
+ self,
+ client_ip: str,
+ ) -> EnodebAcsStateMachine:
+ return self._state_machine_by_ip[client_ip]
+
+ def _update_device_mapping(
+ self,
+ client_ip: str,
+ inform: models.Inform,
+ ) -> None:
+ """
+ When receiving an Inform message, we can figure out what device we
+ are talking to. We can also see if the IP has changed, and the
+ StateMachineManager must track this so that subsequent tr069
+ messages can be handled correctly.
+ """
+ enb_serial = self._parse_msg_for_serial(inform)
+ if enb_serial is None:
+ raise UnrecognizedEnodebError(
+ 'eNB does not have serial number '
+ 'under expected param path',
+ )
+ if not is_enb_registered(self._service.mconfig, enb_serial):
+ raise UnrecognizedEnodebError(
+ 'eNB not registered to this Access '
+ 'Gateway (serial #%s)' % enb_serial,
+ )
+ self._associate_serial_to_ip(client_ip, enb_serial)
+ handler = self._get_handler(client_ip)
+ if handler is None:
+ device_name = get_device_name_from_inform(inform)
+ handler = self._build_handler(device_name)
+ self._state_machine_by_ip[client_ip] = handler
+
+ def _associate_serial_to_ip(
+ self,
+ client_ip: str,
+ enb_serial: str,
+ ) -> None:
+ """
+ If a device/IP combination changes, then the StateMachineManager
+ must detect this, and update its mapping of what serial/IP corresponds
+ to which handler.
+ """
+ if self._ip_serial_mapping.has_ip(client_ip):
+ # Same IP, different eNB connected
+ prev_serial = self._ip_serial_mapping.get_serial(client_ip)
+ if enb_serial != prev_serial:
+ logger.info(
+ 'eNodeB change on IP <%s>, from %s to %s',
+ client_ip, prev_serial, enb_serial,
+ )
+ self._ip_serial_mapping.set_ip_and_serial(client_ip, enb_serial)
+ self._state_machine_by_ip[client_ip] = None
+ elif self._ip_serial_mapping.has_serial(enb_serial):
+ # Same eNB, different IP
+ prev_ip = self._ip_serial_mapping.get_ip(enb_serial)
+ if client_ip != prev_ip:
+ logger.info(
+ 'eNodeB <%s> changed IP from %s to %s',
+ enb_serial, prev_ip, client_ip,
+ )
+ self._ip_serial_mapping.set_ip_and_serial(client_ip, enb_serial)
+ handler = self._state_machine_by_ip[prev_ip]
+ self._state_machine_by_ip[client_ip] = handler
+ del self._state_machine_by_ip[prev_ip]
+ else:
+ # TR069 message is coming from a different IP, and a different
+ # serial ID. No need to change mapping
+ handler = None
+ self._ip_serial_mapping.set_ip_and_serial(client_ip, enb_serial)
+ self._state_machine_by_ip[client_ip] = handler
+
+ @staticmethod
+ def _parse_msg_for_serial(tr069_message: models.Inform) -> Optional[str]:
+ """ Return the eNodeB serial ID if it's found in the message """
+ if not isinstance(tr069_message, models.Inform):
+ return
+
+ # Mikrotik Intercell does not return serial in ParameterList
+ if hasattr(tr069_message, 'DeviceId') and \
+ hasattr(tr069_message.DeviceId, 'SerialNumber'):
+ return tr069_message.DeviceId.SerialNumber
+
+ if not hasattr(tr069_message, 'ParameterList') or \
+ not hasattr(tr069_message.ParameterList, 'ParameterValueStruct'):
+ return None
+
+ # Parse the parameters
+ param_values_by_path = {}
+ for param_value in tr069_message.ParameterList.ParameterValueStruct:
+ path = param_value.Name
+ value = param_value.Value.Data
+ param_values_by_path[path] = value
+
+ possible_sn_paths = [
+ 'Device.DeviceInfo.SerialNumber',
+ 'InternetGatewayDevice.DeviceInfo.SerialNumber',
+ ]
+ for path in possible_sn_paths:
+ if path in param_values_by_path:
+ return param_values_by_path[path]
+ return None
+
+ @staticmethod
+ def _get_client_ip(ctx: WsgiMethodContext) -> str:
+ return ctx.transport.req_env.get("REMOTE_ADDR", "unknown")
+
+ def _build_handler(
+ self,
+ device_name: EnodebDeviceName,
+ ) -> EnodebAcsStateMachine:
+ """
+ Create a new state machine based on the device type
+ """
+ device_handler_class = get_device_handler_from_name(device_name)
+ acs_state_machine = device_handler_class(self._service)
+ return acs_state_machine
+
+
+class IpToSerialMapping:
+ """ Bidirectional map between <eNodeB IP> and <eNodeB serial ID> """
+
+ def __init__(self) -> None:
+ self.ip_by_enb_serial = {}
+ self.enb_serial_by_ip = {}
+
+ def del_ip(self, ip: str) -> None:
+ if ip not in self.enb_serial_by_ip:
+ raise KeyError('Cannot delete missing IP')
+ serial = self.enb_serial_by_ip[ip]
+ del self.enb_serial_by_ip[ip]
+ del self.ip_by_enb_serial[serial]
+
+ def del_serial(self, serial: str) -> None:
+ if serial not in self.ip_by_enb_serial:
+ raise KeyError('Cannot delete missing eNodeB serial ID')
+ ip = self.ip_by_enb_serial[serial]
+ del self.ip_by_enb_serial[serial]
+ del self.enb_serial_by_ip[ip]
+
+ def set_ip_and_serial(self, ip: str, serial: str) -> None:
+ self.ip_by_enb_serial[serial] = ip
+ self.enb_serial_by_ip[ip] = serial
+
+ def get_ip(self, serial: str) -> str:
+ return self.ip_by_enb_serial[serial]
+
+ def get_serial(self, ip: str) -> Optional[str]:
+ return self.enb_serial_by_ip.get(ip, None)
+
+ def has_ip(self, ip: str) -> bool:
+ return ip in self.enb_serial_by_ip
+
+ def has_serial(self, serial: str) -> bool:
+ return serial in self.ip_by_enb_serial
+
+ def get_serial_list(self) -> List[str]:
+ return list(self.ip_by_enb_serial.keys())
+
+ def get_ip_list(self) -> List[str]:
+ return list(self.enb_serial_by_ip.keys())
diff --git a/state_machines/enb_acs_pointer.py b/state_machines/enb_acs_pointer.py
new file mode 100644
index 0000000..3ec19a7
--- /dev/null
+++ b/state_machines/enb_acs_pointer.py
@@ -0,0 +1,38 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+from state_machines.enb_acs import EnodebAcsStateMachine
+
+
+class StateMachinePointer:
+ """
+ This is a hack to deal with the possibility that the specified data model
+ doesn't match the eNB device enodebd ends up connecting to.
+
+ When the data model doesn't match, the state machine is replaced with one
+ that matches the data model.
+ """
+
+ def __init__(self, acs_state_machine: EnodebAcsStateMachine):
+ self._acs_state_machine = acs_state_machine
+
+ @property
+ def state_machine(self):
+ return self._acs_state_machine
+
+ @state_machine.setter
+ def state_machine(
+ self,
+ acs_state_machine: EnodebAcsStateMachine,
+ ) -> None:
+ self._acs_state_machine = acs_state_machine
diff --git a/state_machines/enb_acs_states.py b/state_machines/enb_acs_states.py
new file mode 100644
index 0000000..a9b84a5
--- /dev/null
+++ b/state_machines/enb_acs_states.py
@@ -0,0 +1,1293 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+from abc import ABC, abstractmethod
+from collections import namedtuple
+from typing import Any, Optional
+
+from data_models.data_model import InvalidTrParamPath
+from data_models.data_model_parameters import ParameterName
+from device_config.configuration_init import build_desired_config
+from exceptions import ConfigurationError, Tr069Error
+from logger import EnodebdLogger as logger
+from state_machines.acs_state_utils import (
+ does_inform_have_event,
+ get_all_objects_to_add,
+ get_all_objects_to_delete,
+ get_all_param_values_to_set,
+ get_obj_param_values_to_set,
+ get_object_params_to_get,
+ get_optional_param_to_check,
+ get_param_values_to_set,
+ get_params_to_get,
+ parse_get_parameter_values_response,
+ process_inform_message,
+)
+from state_machines.enb_acs import EnodebAcsStateMachine
+from state_machines.timer import StateMachineTimer
+from tr069 import models
+
+AcsMsgAndTransition = namedtuple(
+ 'AcsMsgAndTransition', ['msg', 'next_state'],
+)
+
+AcsReadMsgResult = namedtuple(
+ 'AcsReadMsgResult', ['msg_handled', 'next_state'],
+)
+
+
+class EnodebAcsState(ABC):
+ """
+ State class for the Enodeb state machine
+
+ States can transition after reading a message from the eNB, sending a
+ message out to the eNB, or when a timer completes. As such, some states
+ are only responsible for message sending, and others are only responsible
+ for reading incoming messages.
+
+ In the constructor, set up state transitions.
+ """
+
+ def __init__(self):
+ self._acs = None
+
+ def enter(self) -> None:
+ """
+ Set up your timers here. Call transition(..) on the ACS when the timer
+ completes or throw an error
+ """
+ pass
+
+ def exit(self) -> None:
+ """Destroy timers here"""
+ pass
+
+ def read_msg(self, message: Any) -> AcsReadMsgResult:
+ """
+ Args: message: tr069 message
+ Returns: name of the next state, if transition required
+ """
+ raise ConfigurationError(
+ '%s should implement read_msg() if it '
+ 'needs to handle message reading' % self.__class__.__name__,
+ )
+
+ def get_msg(self, message: Any) -> AcsMsgAndTransition:
+ """
+ Produce a message to send back to the eNB.
+
+ Args:
+ message: TR-069 message which was already processed by read_msg
+
+ Returns: Message and possible transition
+ """
+ raise ConfigurationError(
+ '%s should implement get_msg() if it '
+ 'needs to produce messages' % self.__class__.__name__,
+ )
+
+ @property
+ def acs(self) -> EnodebAcsStateMachine:
+ return self._acs
+
+ @acs.setter
+ def acs(self, val: EnodebAcsStateMachine) -> None:
+ self._acs = val
+
+ @abstractmethod
+ def state_description(self) -> str:
+ """ Provide a few words about what the state represents """
+ pass
+
+
+class WaitInformState(EnodebAcsState):
+ """
+ This state indicates that no Inform message has been received yet, or
+ that no Inform message has been received for a long time.
+
+ This state is used to handle an Inform message that arrived when enodebd
+ already believes that the eNB is connected. As such, it is unclear to
+ enodebd whether the eNB is just sending another Inform, or if a different
+ eNB was plugged into the same interface.
+ """
+
+ def __init__(
+ self,
+ acs: EnodebAcsStateMachine,
+ when_done: str,
+ when_boot: Optional[str] = None,
+ ):
+ super().__init__()
+ self.acs = acs
+ self.done_transition = when_done
+ self.boot_transition = when_boot
+ self.has_enb_just_booted = False
+
+ def read_msg(self, message: Any) -> AcsReadMsgResult:
+ """
+ Args:
+ message: models.Inform Tr069 Inform message
+ """
+ if not isinstance(message, models.Inform):
+ return AcsReadMsgResult(False, None)
+ process_inform_message(
+ message, self.acs.data_model,
+ self.acs.device_cfg,
+ )
+ if does_inform_have_event(message, '1 BOOT'):
+ return AcsReadMsgResult(True, self.boot_transition)
+ return AcsReadMsgResult(True, None)
+
+ def get_msg(self, message: Any) -> AcsMsgAndTransition:
+ """ Reply with InformResponse """
+ response = models.InformResponse()
+ # Set maxEnvelopes to 1, as per TR-069 spec
+ response.MaxEnvelopes = 1
+ return AcsMsgAndTransition(response, self.done_transition)
+
+ def state_description(self) -> str:
+ return 'Waiting for an Inform'
+
+
+class GetRPCMethodsState(EnodebAcsState):
+ """
+ After the first Inform message from boot, it is expected that the eNB
+ will try to learn the RPC methods of the ACS.
+ """
+
+ def __init__(self, acs: EnodebAcsStateMachine, when_done: str, when_skip: str):
+ super().__init__()
+ self.acs = acs
+ self.done_transition = when_done
+ self.skip_transition = when_skip
+
+ def read_msg(self, message: Any) -> AcsReadMsgResult:
+ # If this is a regular Inform, not after a reboot we'll get an empty
+ if isinstance(message, models.DummyInput):
+ return AcsReadMsgResult(True, self.skip_transition)
+ if not isinstance(message, models.GetRPCMethods):
+ return AcsReadMsgResult(False, self.done_transition)
+ return AcsReadMsgResult(True, None)
+
+ def get_msg(self, message: Any) -> AcsMsgAndTransition:
+ resp = models.GetRPCMethodsResponse()
+ resp.MethodList = models.MethodList()
+ RPC_METHODS = ['Inform', 'GetRPCMethods', 'TransferComplete']
+ resp.MethodList.arrayType = 'xsd:string[%d]' \
+ % len(RPC_METHODS)
+ resp.MethodList.string = RPC_METHODS
+ return AcsMsgAndTransition(resp, self.done_transition)
+
+ def state_description(self) -> str:
+ return 'Waiting for incoming GetRPC Methods after boot'
+
+
+class BaicellsRemWaitState(EnodebAcsState):
+ """
+ We've already received an Inform message. This state is to handle a
+ Baicells eNodeB issue.
+
+ After eNodeB is rebooted, hold off configuring it for some time to give
+ time for REM to run. This is a BaiCells eNodeB issue that doesn't support
+ enabling the eNodeB during initial REM.
+
+ In this state, just hang at responding to Inform, and then ending the
+ TR-069 session.
+ """
+
+ CONFIG_DELAY_AFTER_BOOT = 600
+
+ def __init__(self, acs: EnodebAcsStateMachine, when_done: str):
+ super().__init__()
+ self.acs = acs
+ self.done_transition = when_done
+ self.rem_timer = None
+
+ def enter(self):
+ self.rem_timer = StateMachineTimer(self.CONFIG_DELAY_AFTER_BOOT)
+ logger.info(
+ 'Holding off of eNB configuration for %s seconds. '
+ 'Will resume after eNB REM process has finished. ',
+ self.CONFIG_DELAY_AFTER_BOOT,
+ )
+
+ def exit(self):
+ self.rem_timer = None
+
+ def read_msg(self, message: Any) -> AcsReadMsgResult:
+ if not isinstance(message, models.Inform):
+ return AcsReadMsgResult(False, None)
+ process_inform_message(
+ message, self.acs.data_model,
+ self.acs.device_cfg,
+ )
+ return AcsReadMsgResult(True, None)
+
+ def get_msg(self, message: Any) -> AcsMsgAndTransition:
+ if self.rem_timer.is_done():
+ return AcsMsgAndTransition(
+ models.DummyInput(),
+ self.done_transition,
+ )
+ return AcsMsgAndTransition(models.DummyInput(), None)
+
+ def state_description(self) -> str:
+ remaining = self.rem_timer.seconds_remaining()
+ return 'Waiting for eNB REM to run for %d more seconds before ' \
+ 'resuming with configuration.' % remaining
+
+
+class WaitEmptyMessageState(EnodebAcsState):
+ def __init__(
+ self,
+ acs: EnodebAcsStateMachine,
+ when_done: str,
+ when_missing: Optional[str] = None,
+ ):
+ super().__init__()
+ self.acs = acs
+ self.done_transition = when_done
+ self.unknown_param_transition = when_missing
+
+ def read_msg(self, message: Any) -> AcsReadMsgResult:
+ """
+ It's expected that we transition into this state right after receiving
+ an Inform message and replying with an InformResponse. At that point,
+ the eNB sends an empty HTTP request (aka DummyInput) to initiate the
+ rest of the provisioning process
+ """
+ if not isinstance(message, models.DummyInput):
+ logger.debug("Ignoring message %s", str(type(message)))
+ return AcsReadMsgResult(msg_handled=False, next_state=None)
+ if self.unknown_param_transition:
+ if get_optional_param_to_check(self.acs.data_model):
+ return AcsReadMsgResult(
+ msg_handled=True,
+ next_state=self.unknown_param_transition,
+ )
+ return AcsReadMsgResult(
+ msg_handled=True,
+ next_state=self.done_transition,
+ )
+
+ def get_msg(self, message: Any) -> AcsReadMsgResult:
+ """
+ Return a dummy message waiting for the empty message from CPE
+ """
+ request = models.DummyInput()
+ return AcsMsgAndTransition(msg=request, next_state=None)
+
+ def state_description(self) -> str:
+ return 'Waiting for empty message from eNodeB'
+
+
+class CheckOptionalParamsState(EnodebAcsState):
+ def __init__(
+ self,
+ acs: EnodebAcsStateMachine,
+ when_done: str,
+ ):
+ super().__init__()
+ self.acs = acs
+ self.done_transition = when_done
+ self.optional_param = None
+
+ def get_msg(self, message: Any) -> AcsMsgAndTransition:
+ self.optional_param = get_optional_param_to_check(self.acs.data_model)
+ if self.optional_param is None:
+ raise Tr069Error('Invalid State')
+ # Generate the request
+ request = models.GetParameterValues()
+ request.ParameterNames = models.ParameterNames()
+ request.ParameterNames.arrayType = 'xsd:string[1]'
+ request.ParameterNames.string = []
+ path = self.acs.data_model.get_parameter(self.optional_param).path
+ request.ParameterNames.string.append(path)
+ return AcsMsgAndTransition(request, None)
+
+ def read_msg(self, message: Any) -> AcsReadMsgResult:
+ """ Process either GetParameterValuesResponse or a Fault """
+ if type(message) == models.Fault:
+ self.acs.data_model.set_parameter_presence(
+ self.optional_param,
+ False,
+ )
+ elif type(message) == models.GetParameterValuesResponse:
+ name_to_val = parse_get_parameter_values_response(
+ self.acs.data_model,
+ message,
+ )
+ logger.debug(
+ 'Received CPE parameter values: %s',
+ str(name_to_val),
+ )
+ for name, val in name_to_val.items():
+ self.acs.data_model.set_parameter_presence(
+ self.optional_param,
+ True,
+ )
+ magma_val = self.acs.data_model.transform_for_magma(name, val)
+ self.acs.device_cfg.set_parameter(name, magma_val)
+ else:
+ return AcsReadMsgResult(False, None)
+
+ if get_optional_param_to_check(self.acs.data_model) is not None:
+ return AcsReadMsgResult(True, None)
+ return AcsReadMsgResult(True, self.done_transition)
+
+ def state_description(self) -> str:
+ return 'Checking if some optional parameters exist in data model'
+
+
+class SendGetTransientParametersState(EnodebAcsState):
+ """
+ Periodically read eNodeB status. Note: keep frequency low to avoid
+ backing up large numbers of read operations if enodebd is busy.
+ Some eNB parameters are read only and updated by the eNB itself.
+ """
+ PARAMETERS = [
+ ParameterName.OP_STATE,
+ ParameterName.RF_TX_STATUS,
+ ParameterName.GPS_STATUS,
+ ParameterName.PTP_STATUS,
+ ParameterName.MME_STATUS,
+ ParameterName.GPS_LAT,
+ ParameterName.GPS_LONG,
+ ]
+
+ def __init__(self, acs: EnodebAcsStateMachine, when_done: str):
+ super().__init__()
+ self.acs = acs
+ self.done_transition = when_done
+
+ def read_msg(self, message: Any) -> AcsReadMsgResult:
+ if not isinstance(message, models.DummyInput):
+ return AcsReadMsgResult(False, None)
+ return AcsReadMsgResult(True, None)
+
+ def get_msg(self, message: Any) -> AcsMsgAndTransition:
+ request = models.GetParameterValues()
+ request.ParameterNames = models.ParameterNames()
+ request.ParameterNames.string = []
+ for name in self.PARAMETERS:
+ # Not all data models have these parameters
+ if self.acs.data_model.is_parameter_present(name):
+ path = self.acs.data_model.get_parameter(name).path
+ request.ParameterNames.string.append(path)
+ request.ParameterNames.arrayType = \
+ 'xsd:string[%d]' % len(request.ParameterNames.string)
+
+ return AcsMsgAndTransition(request, self.done_transition)
+
+ def state_description(self) -> str:
+ return 'Getting transient read-only parameters'
+
+
+class WaitGetTransientParametersState(EnodebAcsState):
+ """
+ Periodically read eNodeB status. Note: keep frequency low to avoid
+ backing up large numbers of read operations if enodebd is busy
+ """
+
+ def __init__(
+ self,
+ acs: EnodebAcsStateMachine,
+ when_get: str,
+ when_get_obj_params: str,
+ when_delete: str,
+ when_add: str,
+ when_set: str,
+ when_skip: str,
+ ):
+ super().__init__()
+ self.acs = acs
+ self.done_transition = when_get
+ self.get_obj_params_transition = when_get_obj_params
+ self.rm_obj_transition = when_delete
+ self.add_obj_transition = when_add
+ self.set_transition = when_set
+ self.skip_transition = when_skip
+
+ def read_msg(self, message: Any) -> AcsReadMsgResult:
+ if not isinstance(message, models.GetParameterValuesResponse):
+ return AcsReadMsgResult(False, None)
+ # Current values of the fetched parameters
+ name_to_val = parse_get_parameter_values_response(
+ self.acs.data_model,
+ message,
+ )
+ logger.debug('Fetched Transient Params: %s', str(name_to_val))
+
+ # Update device configuration
+ for name in name_to_val:
+ magma_val = \
+ self.acs.data_model.transform_for_magma(
+ name,
+ name_to_val[name],
+ )
+ self.acs.device_cfg.set_parameter(name, magma_val)
+
+ return AcsReadMsgResult(True, self.get_next_state())
+
+ def get_next_state(self) -> str:
+ should_get_params = \
+ len(
+ get_params_to_get(
+ self.acs.device_cfg,
+ self.acs.data_model,
+ ),
+ ) > 0
+ if should_get_params:
+ return self.done_transition
+ should_get_obj_params = \
+ len(
+ get_object_params_to_get(
+ self.acs.desired_cfg,
+ self.acs.device_cfg,
+ self.acs.data_model,
+ ),
+ ) > 0
+ if should_get_obj_params:
+ return self.get_obj_params_transition
+ elif len(
+ get_all_objects_to_delete(
+ self.acs.desired_cfg,
+ self.acs.device_cfg,
+ ),
+ ) > 0:
+ return self.rm_obj_transition
+ elif len(
+ get_all_objects_to_add(
+ self.acs.desired_cfg,
+ self.acs.device_cfg,
+ ),
+ ) > 0:
+ return self.add_obj_transition
+ return self.skip_transition
+
+ def state_description(self) -> str:
+ return 'Getting transient read-only parameters'
+
+
+class GetParametersState(EnodebAcsState):
+ """
+ Get the value of most parameters of the eNB that are defined in the data
+ model. Object parameters are excluded.
+ """
+
+ def __init__(
+ self,
+ acs: EnodebAcsStateMachine,
+ when_done: str,
+ request_all_params: bool = False,
+ ):
+ super().__init__()
+ self.acs = acs
+ self.done_transition = when_done
+ # Set to True if we want to request values of all parameters, even if
+ # the ACS state machine already has recorded values of them.
+ self.request_all_params = request_all_params
+
+ def read_msg(self, message: Any) -> AcsReadMsgResult:
+ """
+ It's expected that we transition into this state right after receiving
+ an Inform message and replying with an InformResponse. At that point,
+ the eNB sends an empty HTTP request (aka DummyInput) to initiate the
+ rest of the provisioning process
+ """
+ if not isinstance(message, models.DummyInput):
+ return AcsReadMsgResult(False, None)
+ return AcsReadMsgResult(True, None)
+
+ def get_msg(self, message: Any) -> AcsMsgAndTransition:
+ """
+ Respond with GetParameterValuesRequest
+
+ Get the values of all parameters defined in the data model.
+ Also check which addable objects are present, and what the values of
+ parameters for those objects are.
+ """
+
+ # Get the names of regular parameters
+ names = get_params_to_get(
+ self.acs.device_cfg, self.acs.data_model,
+ self.request_all_params,
+ )
+
+ # Generate the request
+ request = models.GetParameterValues()
+ request.ParameterNames = models.ParameterNames()
+ request.ParameterNames.arrayType = 'xsd:string[%d]' \
+ % len(names)
+ request.ParameterNames.string = []
+ for name in names:
+ path = self.acs.data_model.get_parameter(name).path
+ if path is not InvalidTrParamPath:
+ # Only get data elements backed by tr69 path
+ request.ParameterNames.string.append(path)
+
+ return AcsMsgAndTransition(request, self.done_transition)
+
+ def state_description(self) -> str:
+ return 'Getting non-object parameters'
+
+
+class WaitGetParametersState(EnodebAcsState):
+ def __init__(self, acs: EnodebAcsStateMachine, when_done: str):
+ super().__init__()
+ self.acs = acs
+ self.done_transition = when_done
+
+ def read_msg(self, message: Any) -> AcsReadMsgResult:
+ """ Process GetParameterValuesResponse """
+ if not isinstance(message, models.GetParameterValuesResponse):
+ return AcsReadMsgResult(False, None)
+ name_to_val = parse_get_parameter_values_response(
+ self.acs.data_model,
+ message,
+ )
+ logger.debug('Received CPE parameter values: %s', str(name_to_val))
+ for name, val in name_to_val.items():
+ magma_val = self.acs.data_model.transform_for_magma(name, val)
+ self.acs.device_cfg.set_parameter(name, magma_val)
+ return AcsReadMsgResult(True, self.done_transition)
+
+ def state_description(self) -> str:
+ return 'Getting non-object parameters'
+
+
+class GetObjectParametersState(EnodebAcsState):
+ def __init__(self, acs: EnodebAcsStateMachine, when_done: str):
+ super().__init__()
+ self.acs = acs
+ self.done_transition = when_done
+
+ def get_msg(self, message: Any) -> AcsMsgAndTransition:
+ """ Respond with GetParameterValuesRequest """
+ names = get_object_params_to_get(
+ self.acs.desired_cfg,
+ self.acs.device_cfg,
+ self.acs.data_model,
+ )
+
+ # Generate the request
+ request = models.GetParameterValues()
+ request.ParameterNames = models.ParameterNames()
+ request.ParameterNames.arrayType = 'xsd:string[%d]' \
+ % len(names)
+ request.ParameterNames.string = []
+ for name in names:
+ path = self.acs.data_model.get_parameter(name).path
+ request.ParameterNames.string.append(path)
+
+ return AcsMsgAndTransition(request, self.done_transition)
+
+ def state_description(self) -> str:
+ return 'Getting object parameters'
+
+
+class WaitGetObjectParametersState(EnodebAcsState):
+ def __init__(
+ self,
+ acs: EnodebAcsStateMachine,
+ when_delete: str,
+ when_add: str,
+ when_set: str,
+ when_skip: str,
+ ):
+ super().__init__()
+ self.acs = acs
+ self.rm_obj_transition = when_delete
+ self.add_obj_transition = when_add
+ self.set_params_transition = when_set
+ self.skip_transition = when_skip
+
+ def read_msg(self, message: Any) -> AcsReadMsgResult:
+ """ Process GetParameterValuesResponse """
+ if not isinstance(message, models.GetParameterValuesResponse):
+ return AcsReadMsgResult(False, None)
+
+ path_to_val = {}
+ if hasattr(message.ParameterList, 'ParameterValueStruct') and \
+ message.ParameterList.ParameterValueStruct is not None:
+ for param_value_struct in message.ParameterList.ParameterValueStruct:
+ path_to_val[param_value_struct.Name] = \
+ param_value_struct.Value.Data
+ logger.debug('Received object parameters: %s', str(path_to_val))
+
+ # Number of PLMN objects reported can be incorrect. Let's count them
+ num_plmns = 0
+ obj_to_params = self.acs.data_model.get_numbered_param_names()
+ while True:
+ obj_name = ParameterName.PLMN_N % (num_plmns + 1)
+ if obj_name not in obj_to_params or len(obj_to_params[obj_name]) == 0:
+ logger.warning(
+ "eNB has PLMN %s but not defined in model",
+ obj_name,
+ )
+ break
+ param_name_list = obj_to_params[obj_name]
+ obj_path = self.acs.data_model.get_parameter(param_name_list[0]).path
+ if obj_path not in path_to_val:
+ break
+ if not self.acs.device_cfg.has_object(obj_name):
+ self.acs.device_cfg.add_object(obj_name)
+ num_plmns += 1
+ for name in param_name_list:
+ path = self.acs.data_model.get_parameter(name).path
+ value = path_to_val[path]
+ magma_val = \
+ self.acs.data_model.transform_for_magma(name, value)
+ self.acs.device_cfg.set_parameter_for_object(
+ name, magma_val,
+ obj_name,
+ )
+ num_plmns_reported = \
+ int(self.acs.device_cfg.get_parameter(ParameterName.NUM_PLMNS))
+ if num_plmns != num_plmns_reported:
+ logger.warning(
+ "eNB reported %d PLMNs but found %d",
+ num_plmns_reported, num_plmns,
+ )
+ self.acs.device_cfg.set_parameter(
+ ParameterName.NUM_PLMNS,
+ num_plmns,
+ )
+
+ # Now we can have the desired state
+ if self.acs.desired_cfg is None:
+ self.acs.desired_cfg = build_desired_config(
+ self.acs.mconfig,
+ self.acs.service_config,
+ self.acs.device_cfg,
+ self.acs.data_model,
+ self.acs.config_postprocessor,
+ )
+
+ if len(
+ get_all_objects_to_delete(
+ self.acs.desired_cfg,
+ self.acs.device_cfg,
+ ),
+ ) > 0:
+ return AcsReadMsgResult(True, self.rm_obj_transition)
+ elif len(
+ get_all_objects_to_add(
+ self.acs.desired_cfg,
+ self.acs.device_cfg,
+ ),
+ ) > 0:
+ return AcsReadMsgResult(True, self.add_obj_transition)
+ elif len(
+ get_all_param_values_to_set(
+ self.acs.desired_cfg,
+ self.acs.device_cfg,
+ self.acs.data_model,
+ ),
+ ) > 0:
+ return AcsReadMsgResult(True, self.set_params_transition)
+ return AcsReadMsgResult(True, self.skip_transition)
+
+ def state_description(self) -> str:
+ return 'Getting object parameters'
+
+
+class DeleteObjectsState(EnodebAcsState):
+ def __init__(
+ self,
+ acs: EnodebAcsStateMachine,
+ when_add: str,
+ when_skip: str,
+ ):
+ super().__init__()
+ self.acs = acs
+ self.deleted_param = None
+ self.add_obj_transition = when_add
+ self.skip_transition = when_skip
+
+ def get_msg(self, message: Any) -> AcsMsgAndTransition:
+ """
+ Send DeleteObject message to TR-069 and poll for response(s).
+ Input:
+ - Object name (string)
+ """
+ request = models.DeleteObject()
+ self.deleted_param = get_all_objects_to_delete(
+ self.acs.desired_cfg,
+ self.acs.device_cfg,
+ )[0]
+ request.ObjectName = \
+ self.acs.data_model.get_parameter(self.deleted_param).path
+ return AcsMsgAndTransition(request, None)
+
+ def read_msg(self, message: Any) -> AcsReadMsgResult:
+ """
+ Send DeleteObject message to TR-069 and poll for response(s).
+ Input:
+ - Object name (string)
+ """
+ if type(message) == models.DeleteObjectResponse:
+ if message.Status != 0:
+ raise Tr069Error(
+ 'Received DeleteObjectResponse with '
+ 'Status=%d' % message.Status,
+ )
+ elif type(message) == models.Fault:
+ raise Tr069Error(
+ 'Received Fault in response to DeleteObject '
+ '(faultstring = %s)' % message.FaultString,
+ )
+ else:
+ return AcsReadMsgResult(False, None)
+
+ self.acs.device_cfg.delete_object(self.deleted_param)
+ obj_list_to_delete = get_all_objects_to_delete(
+ self.acs.desired_cfg,
+ self.acs.device_cfg,
+ )
+ if len(obj_list_to_delete) > 0:
+ return AcsReadMsgResult(True, None)
+ if len(
+ get_all_objects_to_add(
+ self.acs.desired_cfg,
+ self.acs.device_cfg,
+ ),
+ ) == 0:
+ return AcsReadMsgResult(True, self.skip_transition)
+ return AcsReadMsgResult(True, self.add_obj_transition)
+
+ def state_description(self) -> str:
+ return 'Deleting objects'
+
+
+class AddObjectsState(EnodebAcsState):
+ def __init__(self, acs: EnodebAcsStateMachine, when_done: str):
+ super().__init__()
+ self.acs = acs
+ self.done_transition = when_done
+ self.added_param = None
+
+ def get_msg(self, message: Any) -> AcsMsgAndTransition:
+ request = models.AddObject()
+ self.added_param = get_all_objects_to_add(
+ self.acs.desired_cfg,
+ self.acs.device_cfg,
+ )[0]
+ desired_param = self.acs.data_model.get_parameter(self.added_param)
+ desired_path = desired_param.path
+ path_parts = desired_path.split('.')
+ # If adding enumerated object, ie. XX.N. we should add it to the
+ # parent object XX. so strip the index
+ if len(path_parts) > 2 and \
+ path_parts[-1] == '' and path_parts[-2].isnumeric():
+ logger.debug('Stripping index from path=%s', desired_path)
+ desired_path = '.'.join(path_parts[:-2]) + '.'
+ request.ObjectName = desired_path
+ return AcsMsgAndTransition(request, None)
+
+ def read_msg(self, message: Any) -> AcsReadMsgResult:
+ if type(message) == models.AddObjectResponse:
+ if message.Status != 0:
+ raise Tr069Error(
+ 'Received AddObjectResponse with '
+ 'Status=%d' % message.Status,
+ )
+ elif type(message) == models.Fault:
+ raise Tr069Error(
+ 'Received Fault in response to AddObject '
+ '(faultstring = %s)' % message.FaultString,
+ )
+ else:
+ return AcsReadMsgResult(False, None)
+ instance_n = message.InstanceNumber
+ self.acs.device_cfg.add_object(self.added_param % instance_n)
+ obj_list_to_add = get_all_objects_to_add(
+ self.acs.desired_cfg,
+ self.acs.device_cfg,
+ )
+ if len(obj_list_to_add) > 0:
+ return AcsReadMsgResult(True, None)
+ return AcsReadMsgResult(True, self.done_transition)
+
+ def state_description(self) -> str:
+ return 'Adding objects'
+
+
+class SetParameterValuesState(EnodebAcsState):
+ def __init__(self, acs: EnodebAcsStateMachine, when_done: str):
+ super().__init__()
+ self.acs = acs
+ self.done_transition = when_done
+
+ def get_msg(self, message: Any) -> AcsMsgAndTransition:
+ request = models.SetParameterValues()
+ request.ParameterList = models.ParameterValueList()
+ param_values = get_all_param_values_to_set(
+ self.acs.desired_cfg,
+ self.acs.device_cfg,
+ self.acs.data_model,
+ )
+ request.ParameterList.arrayType = 'cwmp:ParameterValueStruct[%d]' \
+ % len(param_values)
+ request.ParameterList.ParameterValueStruct = []
+ logger.debug(
+ 'Sending TR069 request to set CPE parameter values: %s',
+ str(param_values),
+ )
+ # TODO: Match key response when we support having multiple outstanding
+ # calls.
+ if self.acs.has_version_key:
+ request.ParameterKey = models.ParameterKeyType()
+ request.ParameterKey.Data =\
+ "SetParameter-{:10.0f}".format(self.acs.parameter_version_key)
+ request.ParameterKey.type = 'xsd:string'
+
+ for name, value in param_values.items():
+ param_info = self.acs.data_model.get_parameter(name)
+ type_ = param_info.type
+ name_value = models.ParameterValueStruct()
+ name_value.Value = models.anySimpleType()
+ name_value.Name = param_info.path
+ enb_value = self.acs.data_model.transform_for_enb(name, value)
+ if type_ in ('int', 'unsignedInt'):
+ name_value.Value.type = 'xsd:%s' % type_
+ name_value.Value.Data = str(enb_value)
+ elif type_ == 'boolean':
+ # Boolean values have integral representations in spec
+ name_value.Value.type = 'xsd:boolean'
+ name_value.Value.Data = str(int(enb_value))
+ elif type_ == 'string':
+ name_value.Value.type = 'xsd:string'
+ name_value.Value.Data = str(enb_value)
+ else:
+ raise Tr069Error(
+ 'Unsupported type for %s: %s' %
+ (name, type_),
+ )
+ if param_info.is_invasive:
+ self.acs.are_invasive_changes_applied = False
+ request.ParameterList.ParameterValueStruct.append(name_value)
+
+ return AcsMsgAndTransition(request, self.done_transition)
+
+ def state_description(self) -> str:
+ return 'Setting parameter values'
+
+
+class SetParameterValuesNotAdminState(EnodebAcsState):
+ def __init__(self, acs: EnodebAcsStateMachine, when_done: str):
+ super().__init__()
+ self.acs = acs
+ self.done_transition = when_done
+
+ def get_msg(self, message: Any) -> AcsMsgAndTransition:
+ request = models.SetParameterValues()
+ request.ParameterList = models.ParameterValueList()
+ param_values = get_all_param_values_to_set(
+ self.acs.desired_cfg,
+ self.acs.device_cfg,
+ self.acs.data_model,
+ exclude_admin=True,
+ )
+ request.ParameterList.arrayType = 'cwmp:ParameterValueStruct[%d]' \
+ % len(param_values)
+ request.ParameterList.ParameterValueStruct = []
+ logger.debug(
+ 'Sending TR069 request to set CPE parameter values: %s',
+ str(param_values),
+ )
+ for name, value in param_values.items():
+ param_info = self.acs.data_model.get_parameter(name)
+ type_ = param_info.type
+ name_value = models.ParameterValueStruct()
+ name_value.Value = models.anySimpleType()
+ name_value.Name = param_info.path
+ enb_value = self.acs.data_model.transform_for_enb(name, value)
+ if type_ in ('int', 'unsignedInt'):
+ name_value.Value.type = 'xsd:%s' % type_
+ name_value.Value.Data = str(enb_value)
+ elif type_ == 'boolean':
+ # Boolean values have integral representations in spec
+ name_value.Value.type = 'xsd:boolean'
+ name_value.Value.Data = str(int(enb_value))
+ elif type_ == 'string':
+ name_value.Value.type = 'xsd:string'
+ name_value.Value.Data = str(enb_value)
+ else:
+ raise Tr069Error(
+ 'Unsupported type for %s: %s' %
+ (name, type_),
+ )
+ if param_info.is_invasive:
+ self.acs.are_invasive_changes_applied = False
+ request.ParameterList.ParameterValueStruct.append(name_value)
+
+ return AcsMsgAndTransition(request, self.done_transition)
+
+ def state_description(self) -> str:
+ return 'Setting parameter values excluding Admin Enable'
+
+
+class WaitSetParameterValuesState(EnodebAcsState):
+ def __init__(
+ self,
+ acs: EnodebAcsStateMachine,
+ when_done: str,
+ when_apply_invasive: str,
+ status_non_zero_allowed: bool = False,
+ ):
+ super().__init__()
+ self.acs = acs
+ self.done_transition = when_done
+ self.apply_invasive_transition = when_apply_invasive
+ # Set Params can legally return zero and non zero status
+ # Per tr-196, if there are errors the method should return a fault.
+ # Make flag optional to compensate for existing radios returning non
+ # zero on error.
+ self.status_non_zero_allowed = status_non_zero_allowed
+
+ def read_msg(self, message: Any) -> AcsReadMsgResult:
+ if type(message) == models.SetParameterValuesResponse:
+ if not self.status_non_zero_allowed:
+ if message.Status != 0:
+ raise Tr069Error(
+ 'Received SetParameterValuesResponse with '
+ 'Status=%d' % message.Status,
+ )
+ self._mark_as_configured()
+ if not self.acs.are_invasive_changes_applied:
+ return AcsReadMsgResult(True, self.apply_invasive_transition)
+ return AcsReadMsgResult(True, self.done_transition)
+ elif type(message) == models.Fault:
+ logger.error(
+ 'Received Fault in response to SetParameterValues, '
+ 'Code (%s), Message (%s)', message.FaultCode,
+ message.FaultString,
+ )
+ if message.SetParameterValuesFault is not None:
+ for fault in message.SetParameterValuesFault:
+ logger.error(
+ 'SetParameterValuesFault Param: %s, '
+ 'Code: %s, String: %s', fault.ParameterName,
+ fault.FaultCode, fault.FaultString,
+ )
+ return AcsReadMsgResult(False, None)
+
+ def _mark_as_configured(self) -> None:
+ """
+ A successful attempt at setting parameter values means that we need to
+ update what we think the eNB's configuration is to match what we just
+ set the parameter values to.
+ """
+ # Values of parameters
+ name_to_val = get_param_values_to_set(
+ self.acs.desired_cfg,
+ self.acs.device_cfg,
+ self.acs.data_model,
+ )
+ for name, val in name_to_val.items():
+ magma_val = self.acs.data_model.transform_for_magma(name, val)
+ self.acs.device_cfg.set_parameter(name, magma_val)
+
+ # Values of object parameters
+ obj_to_name_to_val = get_obj_param_values_to_set(
+ self.acs.desired_cfg,
+ self.acs.device_cfg,
+ self.acs.data_model,
+ )
+ for obj_name, name_to_val in obj_to_name_to_val.items():
+ for name, val in name_to_val.items():
+ logger.debug(
+ 'Set obj: %s, name: %s, val: %s', str(obj_name),
+ str(name), str(val),
+ )
+ magma_val = self.acs.data_model.transform_for_magma(name, val)
+ self.acs.device_cfg.set_parameter_for_object(
+ name, magma_val,
+ obj_name,
+ )
+ logger.info('Successfully configured CPE parameters!')
+
+ def state_description(self) -> str:
+ return 'Setting parameter values'
+
+
+class EndSessionState(EnodebAcsState):
+ """ To end a TR-069 session, send an empty HTTP response """
+
+ def __init__(self, acs: EnodebAcsStateMachine):
+ super().__init__()
+ self.acs = acs
+
+ def read_msg(self, message: Any) -> AcsReadMsgResult:
+ """
+ No message is expected after enodebd sends the eNodeB
+ an empty HTTP response.
+
+ If a device sends an empty HTTP request, we can just
+ ignore it and send another empty response.
+ """
+ if isinstance(message, models.DummyInput):
+ return AcsReadMsgResult(True, None)
+ return AcsReadMsgResult(False, None)
+
+ def get_msg(self, message: Any) -> AcsMsgAndTransition:
+ request = models.DummyInput()
+ return AcsMsgAndTransition(request, None)
+
+ def state_description(self) -> str:
+ return 'Completed provisioning eNB. Awaiting new Inform.'
+
+
+class EnbSendRebootState(EnodebAcsState):
+ def __init__(self, acs: EnodebAcsStateMachine, when_done: str):
+ super().__init__()
+ self.acs = acs
+ self.done_transition = when_done
+ self.prev_msg_was_inform = False
+
+ def read_msg(self, message: Any) -> AcsReadMsgResult:
+ """
+ This state can be transitioned into through user command.
+ All messages received by enodebd will be ignored in this state.
+ """
+ if self.prev_msg_was_inform \
+ and not isinstance(message, models.DummyInput):
+ return AcsReadMsgResult(False, None)
+ elif isinstance(message, models.Inform):
+ self.prev_msg_was_inform = True
+ process_inform_message(
+ message, self.acs.data_model,
+ self.acs.device_cfg,
+ )
+ return AcsReadMsgResult(True, None)
+ self.prev_msg_was_inform = False
+ return AcsReadMsgResult(True, None)
+
+ def get_msg(self, message: Any) -> AcsMsgAndTransition:
+ if self.prev_msg_was_inform:
+ response = models.InformResponse()
+ # Set maxEnvelopes to 1, as per TR-069 spec
+ response.MaxEnvelopes = 1
+ return AcsMsgAndTransition(response, None)
+ logger.info('Sending reboot request to eNB')
+ request = models.Reboot()
+ request.CommandKey = ''
+ self.acs.are_invasive_changes_applied = True
+ return AcsMsgAndTransition(request, self.done_transition)
+
+ def state_description(self) -> str:
+ return 'Rebooting eNB'
+
+
+class SendRebootState(EnodebAcsState):
+ def __init__(self, acs: EnodebAcsStateMachine, when_done: str):
+ super().__init__()
+ self.acs = acs
+ self.done_transition = when_done
+ self.prev_msg_was_inform = False
+
+ def read_msg(self, message: Any) -> AcsReadMsgResult:
+ """
+ This state can be transitioned into through user command.
+ All messages received by enodebd will be ignored in this state.
+ """
+ if self.prev_msg_was_inform \
+ and not isinstance(message, models.DummyInput):
+ return AcsReadMsgResult(False, None)
+ elif isinstance(message, models.Inform):
+ self.prev_msg_was_inform = True
+ process_inform_message(
+ message, self.acs.data_model,
+ self.acs.device_cfg,
+ )
+ return AcsReadMsgResult(True, None)
+ self.prev_msg_was_inform = False
+ return AcsReadMsgResult(True, None)
+
+ def get_msg(self, message: Any) -> AcsMsgAndTransition:
+ if self.prev_msg_was_inform:
+ response = models.InformResponse()
+ # Set maxEnvelopes to 1, as per TR-069 spec
+ response.MaxEnvelopes = 1
+ return AcsMsgAndTransition(response, None)
+ logger.info('Sending reboot request to eNB')
+ request = models.Reboot()
+ request.CommandKey = ''
+ return AcsMsgAndTransition(request, self.done_transition)
+
+ def state_description(self) -> str:
+ return 'Rebooting eNB'
+
+
+class WaitRebootResponseState(EnodebAcsState):
+ def __init__(self, acs: EnodebAcsStateMachine, when_done: str):
+ super().__init__()
+ self.acs = acs
+ self.done_transition = when_done
+
+ def read_msg(self, message: Any) -> AcsReadMsgResult:
+ if not isinstance(message, models.RebootResponse):
+ return AcsReadMsgResult(False, None)
+ return AcsReadMsgResult(True, None)
+
+ def get_msg(self, message: Any) -> AcsMsgAndTransition:
+ """ Reply with empty message """
+ return AcsMsgAndTransition(models.DummyInput(), self.done_transition)
+
+ def state_description(self) -> str:
+ return 'Rebooting eNB'
+
+
+class WaitInformMRebootState(EnodebAcsState):
+ """
+ After sending a reboot request, we expect an Inform request with a
+ specific 'inform event code'
+ """
+
+ # Time to wait for eNodeB reboot. The measured time
+ # (on BaiCells indoor eNodeB)
+ # is ~110secs, so add healthy padding on top of this.
+ REBOOT_TIMEOUT = 300 # In seconds
+ # We expect that the Inform we receive tells us the eNB has rebooted
+ INFORM_EVENT_CODE = 'M Reboot'
+
+ def __init__(
+ self,
+ acs: EnodebAcsStateMachine,
+ when_done: str,
+ when_timeout: str,
+ ):
+ super().__init__()
+ self.acs = acs
+ self.done_transition = when_done
+ self.timeout_transition = when_timeout
+ self.timeout_timer = None
+ self.timer_handle = None
+
+ def enter(self):
+ self.timeout_timer = StateMachineTimer(self.REBOOT_TIMEOUT)
+
+ def check_timer() -> None:
+ if self.timeout_timer.is_done():
+ self.acs.transition(self.timeout_transition)
+ raise Tr069Error(
+ 'Did not receive Inform response after '
+ 'rebooting',
+ )
+
+ self.timer_handle = \
+ self.acs.event_loop.call_later(
+ self.REBOOT_TIMEOUT,
+ check_timer,
+ )
+
+ def exit(self):
+ self.timer_handle.cancel()
+ self.timeout_timer = None
+
+ def read_msg(self, message: Any) -> AcsReadMsgResult:
+ if not isinstance(message, models.Inform):
+ return AcsReadMsgResult(False, None)
+ if not does_inform_have_event(message, self.INFORM_EVENT_CODE):
+ raise Tr069Error(
+ 'Did not receive M Reboot event code in '
+ 'Inform',
+ )
+ process_inform_message(
+ message, self.acs.data_model,
+ self.acs.device_cfg,
+ )
+ return AcsReadMsgResult(True, self.done_transition)
+
+ def state_description(self) -> str:
+ return 'Waiting for M Reboot code from Inform'
+
+
+class WaitRebootDelayState(EnodebAcsState):
+ """
+ After receiving the Inform notifying us that the eNodeB has successfully
+ rebooted, wait a short duration to prevent unspecified race conditions
+ that may occur w.r.t reboot
+ """
+
+ # Short delay timer to prevent race conditions w.r.t. reboot
+ SHORT_CONFIG_DELAY = 10
+
+ def __init__(self, acs: EnodebAcsStateMachine, when_done: str):
+ super().__init__()
+ self.acs = acs
+ self.done_transition = when_done
+ self.config_timer = None
+ self.timer_handle = None
+
+ def enter(self):
+ self.config_timer = StateMachineTimer(self.SHORT_CONFIG_DELAY)
+
+ def check_timer() -> None:
+ if self.config_timer.is_done():
+ self.acs.transition(self.done_transition)
+
+ self.timer_handle = \
+ self.acs.event_loop.call_later(
+ self.SHORT_CONFIG_DELAY,
+ check_timer,
+ )
+
+ def exit(self):
+ self.timer_handle.cancel()
+ self.config_timer = None
+
+ def read_msg(self, message: Any) -> AcsReadMsgResult:
+ return AcsReadMsgResult(True, None)
+
+ def get_msg(self, message: Any) -> AcsMsgAndTransition:
+ return AcsMsgAndTransition(models.DummyInput(), None)
+
+ def state_description(self) -> str:
+ return 'Waiting after eNB reboot to prevent race conditions'
+
+
+class ErrorState(EnodebAcsState):
+ """
+ The eNB handler will enter this state when an unhandled Fault is received.
+
+ If the inform_transition_target constructor parameter is non-null, this
+ state will attempt to autoremediate by transitioning to the specified
+ target state when an Inform is received.
+ """
+
+ def __init__(
+ self, acs: EnodebAcsStateMachine,
+ inform_transition_target: Optional[str] = None,
+ ):
+ super().__init__()
+ self.acs = acs
+ self.inform_transition_target = inform_transition_target
+
+ def read_msg(self, message: Any) -> AcsReadMsgResult:
+ return AcsReadMsgResult(True, None)
+
+ def get_msg(self, message: Any) -> AcsMsgAndTransition:
+ if not self.inform_transition_target:
+ return AcsMsgAndTransition(models.DummyInput(), None)
+
+ if isinstance(message, models.Inform):
+ return AcsMsgAndTransition(
+ models.DummyInput(),
+ self.inform_transition_target,
+ )
+ return AcsMsgAndTransition(models.DummyInput(), None)
+
+ def state_description(self) -> str:
+ return 'Error state - awaiting manual restart of enodebd service or ' \
+ 'an Inform to be received from the eNB'
diff --git a/state_machines/timer.py b/state_machines/timer.py
new file mode 100644
index 0000000..09f6b68
--- /dev/null
+++ b/state_machines/timer.py
@@ -0,0 +1,33 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+from datetime import datetime, timedelta
+
+
+class StateMachineTimer():
+ def __init__(self, seconds_remaining: int) -> None:
+ self.start_time = datetime.now()
+ self.seconds = seconds_remaining
+
+ def is_done(self) -> bool:
+ time_elapsed = datetime.now() - self.start_time
+ if time_elapsed > timedelta(seconds=self.seconds):
+ return True
+ return False
+
+ def seconds_elapsed(self) -> int:
+ time_elapsed = datetime.now() - self.start_time
+ return int(time_elapsed.total_seconds())
+
+ def seconds_remaining(self) -> int:
+ return max(0, self.seconds - self.seconds_elapsed())
diff --git a/stats_manager.py b/stats_manager.py
new file mode 100644
index 0000000..3d865c1
--- /dev/null
+++ b/stats_manager.py
@@ -0,0 +1,386 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+import asyncio
+from xml.etree import ElementTree
+
+from aiohttp import web
+from common.misc_utils import get_ip_from_if
+from configuration.service_configs import load_service_config
+from enodeb_status import get_enb_status, update_status_metrics
+from logger import EnodebdLogger as logger
+from state_machines.enb_acs import EnodebAcsStateMachine
+from state_machines.enb_acs_manager import StateMachineManager
+
+import metrics
+
+
+class StatsManager:
+ """ HTTP server to receive performance management uploads from eNodeB and
+ translate to metrics """
+ # Dict to map performance counter names (from eNodeB) to metrics
+ # For eNodeB sub-counters, the counter name is shown as
+ # '<counter>:<sub-counter>'
+ PM_FILE_TO_METRIC_MAP = {
+ 'RRC.AttConnEstab': metrics.STAT_RRC_ESTAB_ATT,
+ 'RRC.SuccConnEstab': metrics.STAT_RRC_ESTAB_SUCC,
+ 'RRC.AttConnReestab': metrics.STAT_RRC_REESTAB_ATT,
+ 'RRC.AttConnReestab._Cause:RRC.AttConnReestab.RECONF_FAIL':
+ metrics.STAT_RRC_REESTAB_ATT_RECONF_FAIL,
+ 'RRC.AttConnReestab._Cause:RRC.AttConnReestab.HO_FAIL':
+ metrics.STAT_RRC_REESTAB_ATT_HO_FAIL,
+ 'RRC.AttConnReestab._Cause:RRC.AttConnReestab.OTHER':
+ metrics.STAT_RRC_REESTAB_ATT_OTHER,
+ 'RRC.SuccConnReestab': metrics.STAT_RRC_REESTAB_SUCC,
+ 'ERAB.NbrAttEstab': metrics.STAT_ERAB_ESTAB_ATT,
+ 'ERAB.NbrSuccEstab': metrics.STAT_ERAB_ESTAB_SUCC,
+ 'ERAB.NbrFailEstab': metrics.STAT_ERAB_ESTAB_FAIL,
+ 'ERAB.NbrReqRelEnb': metrics.STAT_ERAB_REL_REQ,
+ 'ERAB.NbrReqRelEnb.CauseUserInactivity':
+ metrics.STAT_ERAB_REL_REQ_USER_INAC,
+ 'ERAB.NbrReqRelEnb.Normal': metrics.STAT_ERAB_REL_REQ_NORMAL,
+ 'ERAB.NbrReqRelEnb._Cause:ERAB.NbrReqRelEnb.CauseRADIORESOURCESNOTAVAILABLE':
+ metrics.STAT_ERAB_REL_REQ_RES_NOT_AVAIL,
+ 'ERAB.NbrReqRelEnb._Cause:ERAB.NbrReqRelEnb.CauseREDUCELOADINSERVINGCELL':
+ metrics.STAT_ERAB_REL_REQ_REDUCE_LOAD,
+ 'ERAB.NbrReqRelEnb._Cause:ERAB.NbrReqRelEnb.CauseFAILUREINTHERADIOINTERFACEPROCEDURE':
+ metrics.STAT_ERAB_REL_REQ_FAIL_IN_RADIO,
+ 'ERAB.NbrReqRelEnb._Cause:ERAB.NbrReqRelEnb.CauseRELEASEDUETOEUTRANGENERATEDREASONS':
+ metrics.STAT_ERAB_REL_REQ_EUTRAN_REAS,
+ 'ERAB.NbrReqRelEnb._Cause:ERAB.NbrReqRelEnb.CauseRADIOCONNECTIONWITHUELOST':
+ metrics.STAT_ERAB_REL_REQ_RADIO_CONN_LOST,
+ 'ERAB.NbrReqRelEnb._Cause:ERAB.NbrReqRelEnb.CauseOAMINTERVENTION':
+ metrics.STAT_ERAB_REL_REQ_OAM_INTV,
+ 'PDCP.UpOctUl': metrics.STAT_PDCP_USER_PLANE_BYTES_UL,
+ 'PDCP.UpOctDl': metrics.STAT_PDCP_USER_PLANE_BYTES_DL,
+ }
+
+ # Check if radio transmit is turned on every 10 seconds.
+ CHECK_RF_TX_PERIOD = 10
+
+ def __init__(self, enb_acs_manager: StateMachineManager):
+ self.enb_manager = enb_acs_manager
+ self.loop = asyncio.get_event_loop()
+ self._prev_rf_tx = False
+ self.mme_timeout_handler = None
+
+ def run(self) -> None:
+ """ Create and start HTTP server """
+ svc_config = load_service_config("enodebd")
+
+ app = web.Application()
+ app.router.add_route(
+ 'POST', "/{something}",
+ self._post_and_put_handler,
+ )
+ app.router.add_route(
+ 'PUT', "/{something}",
+ self._post_and_put_handler,
+ )
+
+ handler = app.make_handler()
+ create_server_func = self.loop.create_server(
+ handler,
+ host=get_ip_from_if(svc_config['tr069']['interface']),
+ port=svc_config['tr069']['perf_mgmt_port'],
+ )
+
+ self._periodic_check_rf_tx()
+ self.loop.run_until_complete(create_server_func)
+
+ def _periodic_check_rf_tx(self) -> None:
+ self._check_rf_tx()
+ self.mme_timeout_handler = self.loop.call_later(
+ self.CHECK_RF_TX_PERIOD,
+ self._periodic_check_rf_tx,
+ )
+
+ def _check_rf_tx(self) -> None:
+ """
+ Check if eNodeB should be connected to MME but isn't, and maybe reboot.
+
+ If the eNB doesn't report connection to MME within a timeout period,
+ get it to reboot in the hope that it will fix things.
+
+ Usually, enodebd polls the eNodeB for whether it is connected to MME.
+ This method checks the last polled MME connection status, and if
+ eNodeB should be connected to MME but it isn't.
+ """
+ # Clear stats when eNodeB stops radiating. This is
+ # because eNodeB stops sending performance metrics at this point.
+ serial_list = self.enb_manager.get_connected_serial_id_list()
+ for enb_serial in serial_list:
+ handler = self.enb_manager.get_handler_by_serial(enb_serial)
+ if handler:
+ self._check_rf_tx_for_handler(handler)
+
+ def _check_rf_tx_for_handler(self, handler: EnodebAcsStateMachine) -> None:
+ status = get_enb_status(handler)
+ if self._prev_rf_tx and not status.rf_tx_on:
+ self._clear_stats()
+ self._prev_rf_tx = status.rf_tx_on
+
+ # Update status metrics
+ update_status_metrics(status)
+
+ def _get_enb_label_from_request(self, request) -> str:
+ label = 'default'
+ ip = request.headers.get('X-Forwarded-For')
+
+ if ip is None:
+ peername = request.transport.get_extra_info('peername')
+ if peername is not None:
+ ip, _ = peername
+
+ if ip is None:
+ return label
+
+ label = self.enb_manager.get_serial_of_ip(ip)
+ if label:
+ logger.debug('Found serial %s for ip %s', label, ip)
+ else:
+ logger.error("Couldn't find serial for ip", ip)
+ return label
+
+ @asyncio.coroutine
+ def _post_and_put_handler(self, request) -> web.Response:
+ """ HTTP POST handler """
+ # Read request body and convert to XML tree
+ body = yield from request.read()
+
+ root = ElementTree.fromstring(body)
+ label = self._get_enb_label_from_request(request)
+ if label:
+ self._parse_pm_xml(label, root)
+
+ # Return success response
+ return web.Response()
+
+ def _parse_pm_xml(self, enb_label, xml_root) -> None:
+ """
+ Parse performance management XML from eNodeB and populate metrics.
+ The schema for this XML document, along with an example, is shown in
+ tests/stats_manager_tests.py.
+ """
+ for measurement in xml_root.findall('Measurements'):
+ object_type = measurement.findtext('ObjectType')
+ names = measurement.find('PmName')
+ data = measurement.find('PmData')
+ if object_type == 'EutranCellTdd':
+ self._parse_tdd_counters(enb_label, names, data)
+ elif object_type == 'ManagedElement':
+ # Currently no counters to parse
+ pass
+ elif object_type == 'SctpAssoc':
+ # Currently no counters to parse
+ pass
+
+ def _parse_tdd_counters(self, enb_label, names, data):
+ """
+ Parse eNodeB performance management counters from TDD structure.
+ Most of the logic is just to extract the correct counter based on the
+ name of the statistic. Each counter is either of type 'V', which is a
+ single integer value, or 'CV', which contains multiple integer
+ sub-elements, named 'SV', which we add together. E.g:
+ <V i="9">0</V>
+ <CV i="10">
+ <SN>RRC.AttConnReestab.RECONF_FAIL</SN>
+ <SV>0</SV>
+ <SN>RRC.AttConnReestab.HO_FAIL</SN>
+ <SV>0</SV>
+ <SN>RRC.AttConnReestab.OTHER</SN>
+ <SV>0</SV>
+ </CV>
+ See tests/stats_manager_tests.py for a more complete example.
+ """
+ index_data_map = self._build_index_to_data_map(data)
+ name_index_map = self._build_name_to_index_map(names)
+
+ # For each performance metric, extract value from XML document and set
+ # internal metric to that value.
+ for pm_name, metric in self.PM_FILE_TO_METRIC_MAP.items():
+
+ elements = pm_name.split(':')
+ counter = elements.pop(0)
+ if len(elements) == 0:
+ subcounter = None
+ else:
+ subcounter = elements.pop(0)
+
+ index = name_index_map.get(counter)
+ if index is None:
+ logger.warning('PM counter %s not found in PmNames', counter)
+ continue
+
+ data_el = index_data_map.get(index)
+ if data_el is None:
+ logger.warning('PM counter %s not found in PmData', counter)
+ continue
+
+ if data_el.tag == 'V':
+ if subcounter is not None:
+ logger.warning('No subcounter in PM counter %s', counter)
+ continue
+
+ # Data is singular value
+ try:
+ value = int(data_el.text)
+ except ValueError:
+ logger.info(
+ 'PM value (%s) of counter %s not integer',
+ data_el.text, counter,
+ )
+ continue
+ elif data_el.tag == 'CV':
+ # Check whether we want just one subcounter, or sum them all
+ subcounter_index = None
+ if subcounter is not None:
+ index = 0
+ for sub_name_el in data_el.findall('SN'):
+ if sub_name_el.text == subcounter:
+ subcounter_index = index
+ index = index + 1
+
+ if subcounter is not None and subcounter_index is None:
+ logger.warning('PM subcounter (%s) not found', subcounter)
+ continue
+
+ # Data is multiple sub-elements. Sum them, or select the one
+ # of interest
+ value = 0
+ try:
+ index = 0
+ for sub_data_el in data_el.findall('SV'):
+ if subcounter_index is None or \
+ subcounter_index == index:
+ value = value + int(sub_data_el.text)
+ index = index + 1
+ except ValueError:
+ logger.error(
+ 'PM value (%s) of counter %s not integer',
+ sub_data_el.text, pm_name,
+ )
+ continue
+ else:
+ logger.warning(
+ 'Unknown PM data type (%s) of counter %s',
+ data_el.tag, pm_name,
+ )
+ continue
+
+ # Apply new value to metric
+ if pm_name == 'PDCP.UpOctUl' or pm_name == 'PDCP.UpOctDl':
+ metric.labels(enb_label).set(value)
+ else:
+ metric.set(value)
+
+ def _build_index_to_data_map(self, data_etree):
+ """
+ Parse XML ElementTree and build a dict mapping index to data XML
+ element. The relevant part of XML schema being parsed is:
+ <xs:element name="PmData">
+ <xs:complexType>
+ <xs:sequence minOccurs="0" maxOccurs="unbounded">
+ <xs:element name="Pm">
+ <xs:complexType>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element name="V">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="i" type="xs:integer" use="required"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="CV">
+ <xs:complexType>
+ <xs:sequence minOccurs="0" maxOccurs="unbounded">
+ <xs:element name="SN" type="xs:string"/>
+ <xs:element name="SV" type="xs:string"/>
+ </xs:sequence>
+ <xs:attribute name="i" type="xs:integer" use="required"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:choice>
+ <xs:attribute name="Dn" type="xs:string" use="required"/>
+ <xs:attribute name="UserLabel" type="xs:string" use="required"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ Inputs:
+ - XML elementree element corresponding to 'PmData' in above schema
+ Outputs:
+ - Dict mapping index ('i' in above schema) to data elementree
+ elements ('V' and 'CV' in above schema)
+ """
+ # Construct map of index to pm_data XML element
+ index_data_map = {}
+ for pm_el in data_etree.findall('Pm'):
+ for data_el in pm_el.findall('V'):
+ index = data_el.get('i')
+ if index is not None:
+ index_data_map[index] = data_el
+ for data_el in pm_el.findall('CV'):
+ index = data_el.get('i')
+ if index is not None:
+ index_data_map[index] = data_el
+
+ return index_data_map
+
+ def _build_name_to_index_map(self, name_etree):
+ """
+ Parse XML ElementTree and build a dict mapping name to index. The
+ relevant part of XML schema being parsed is:
+ <xs:element name="PmName">
+ <xs:complexType>
+ <xs:sequence minOccurs="0" maxOccurs="unbounded">
+ <xs:element name="N">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="i" type="xs:integer" use="required"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ Inputs:
+ - XML elementree element corresponding to 'PmName' in above schema
+ Outputs:
+ - Dict mapping name ('N' in above schema) to index ('i' in above
+ schema)
+ """
+ # Construct map of pm_name to index
+ name_index_map = {}
+ for name_el in name_etree.findall('N'):
+ name_index_map[name_el.text] = name_el.get('i')
+
+ return name_index_map
+
+ def _clear_stats(self) -> None:
+ """
+ Clear statistics. Called when eNodeB management plane disconnects
+ """
+ logger.info('Clearing performance counter statistics')
+ # Set all metrics to 0 if eNodeB not connected
+ for pm_name, metric in self.PM_FILE_TO_METRIC_MAP.items():
+ # eNB data usage metrics will not be cleared
+ if pm_name not in ('PDCP.UpOctUl', 'PDCP.UpOctDl'):
+ metric.set(0)
diff --git a/tests/baicells_old_tests.py b/tests/baicells_old_tests.py
new file mode 100644
index 0000000..e693790
--- /dev/null
+++ b/tests/baicells_old_tests.py
@@ -0,0 +1,581 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+# pylint: disable=protected-access
+from devices.device_utils import EnodebDeviceName
+from tests.test_utils.enb_acs_builder import (
+ EnodebAcsStateMachineBuilder,
+)
+from tests.test_utils.enodeb_handler import EnodebHandlerTestCase
+from tests.test_utils.tr069_msg_builder import Tr069MessageBuilder
+from tr069 import models
+
+
+class BaicellsOldHandlerTests(EnodebHandlerTestCase):
+ def test_initial_enb_bootup(self) -> None:
+ """
+ Baicells does not support configuration during initial bootup of
+ eNB device. This is because it is in a REM process, and we just need
+ to wait for this process to finish, ~10 minutes. Attempting to
+ configure the device during this period will cause undefined
+ behavior.
+ As a result of this, end any provisoning sessions, which we can do
+ by just sending empty HTTP responses, not even using an
+ InformResponse.
+ """
+ acs_state_machine = \
+ EnodebAcsStateMachineBuilder \
+ .build_acs_state_machine(EnodebDeviceName.BAICELLS_OLD)
+
+ # Send an Inform message
+ inform_msg = \
+ Tr069MessageBuilder.get_inform(
+ '48BF74',
+ 'BaiStation_V100R001C00B110SPC002',
+ '120200002618AGP0003', ['1 BOOT'],
+ )
+ resp = acs_state_machine.handle_tr069_message(inform_msg)
+
+ self.assertTrue(
+ isinstance(resp, models.DummyInput),
+ 'Should respond with an InformResponse',
+ )
+
+ def test_manual_reboot(self) -> None:
+ """
+ Test a scenario where a Magma user goes through the enodebd CLI to
+ reboot the Baicells eNodeB.
+
+ This checks the scenario where the command is not sent in the middle
+ of a TR-069 provisioning session.
+ """
+ acs_state_machine = \
+ EnodebAcsStateMachineBuilder \
+ .build_acs_state_machine(EnodebDeviceName.BAICELLS_OLD)
+
+ # User uses the CLI tool to get eNodeB to reboot
+ acs_state_machine.reboot_asap()
+
+ # And now the Inform message arrives from the eNodeB
+ inform_msg = \
+ Tr069MessageBuilder.get_inform(
+ '48BF74',
+ 'BaiStation_V100R001C00B110SPC002',
+ '120200002618AGP0003',
+ ['2 PERIODIC'],
+ )
+ resp = acs_state_machine.handle_tr069_message(inform_msg)
+ self.assertTrue(
+ isinstance(resp, models.InformResponse),
+ 'In reboot sequence, state machine should still '
+ 'respond to an Inform with InformResponse.',
+ )
+ req = models.DummyInput()
+ resp = acs_state_machine.handle_tr069_message(req)
+ self.assertTrue(
+ isinstance(resp, models.Reboot),
+ 'In reboot sequence, state machine should send a '
+ 'Reboot message.',
+ )
+ req = Tr069MessageBuilder.get_reboot_response()
+ resp = acs_state_machine.handle_tr069_message(req)
+ self.assertTrue(
+ isinstance(resp, models.DummyInput),
+ 'State machine should end TR-069 session after '
+ 'receiving a RebootResponse',
+ )
+
+ def test_manual_reboot_during_provisioning(self) -> None:
+ """
+ Test a scenario where a Magma user goes through the enodebd CLI to
+ reboot the Baicells eNodeB.
+
+ This checks the scenario where the command is sent in the middle
+ of a TR-069 provisioning session.
+ """
+ acs_state_machine = \
+ EnodebAcsStateMachineBuilder \
+ .build_acs_state_machine(EnodebDeviceName.BAICELLS_OLD)
+
+ # Send an Inform message, wait for an InformResponse
+ inform_msg = \
+ Tr069MessageBuilder.get_inform(
+ '48BF74',
+ 'BaiStation_V100R001C00B110SPC002',
+ '120200002618AGP0003',
+ ['2 PERIODIC'],
+ )
+ resp = acs_state_machine.handle_tr069_message(inform_msg)
+ self.assertTrue(
+ isinstance(resp, models.InformResponse),
+ 'Should respond with an InformResponse',
+ )
+
+ # Send an empty http request to kick off the rest of provisioning
+ req = models.DummyInput()
+ resp = acs_state_machine.handle_tr069_message(req)
+
+ # Expect a request for an optional parameter, three times
+ self.assertTrue(
+ isinstance(resp, models.GetParameterValues),
+ 'State machine should be requesting param values',
+ )
+ req = Tr069MessageBuilder.get_fault()
+
+ # User uses the CLI tool to get eNodeB to reboot
+ acs_state_machine.reboot_asap()
+
+ resp = acs_state_machine.handle_tr069_message(req)
+ self.assertTrue(
+ isinstance(resp, models.Reboot),
+ 'In reboot sequence, state machine should send a '
+ 'Reboot message.',
+ )
+ req = Tr069MessageBuilder.get_reboot_response()
+ resp = acs_state_machine.handle_tr069_message(req)
+ self.assertTrue(
+ isinstance(resp, models.DummyInput),
+ 'State machine should end TR-069 session after '
+ 'receiving a RebootResponse',
+ )
+
+ def test_provision_without_invasive_changes(self) -> None:
+ """
+ Test the scenario where:
+ - eNodeB has already been powered for 10 minutes without configuration
+ - Setting parameters which are 'non-invasive' on the eNodeB
+
+ 'Invasive' parameters are those which require special behavior to apply
+ the changes for the eNodeB.
+ """
+ acs_state_machine = \
+ EnodebAcsStateMachineBuilder \
+ .build_acs_state_machine(EnodebDeviceName.BAICELLS_OLD)
+
+ # Send an Inform message, wait for an InformResponse
+ inform_msg = \
+ Tr069MessageBuilder.get_inform(
+ '48BF74',
+ 'BaiStation_V100R001C00B110SPC001',
+ '120200002618AGP0003',
+ ['2 PERIODIC'],
+ )
+ resp = acs_state_machine.handle_tr069_message(inform_msg)
+ self.assertTrue(
+ isinstance(resp, models.InformResponse),
+ 'Should respond with an InformResponse',
+ )
+
+ # Send an empty http request to kick off the rest of provisioning
+ req = models.DummyInput()
+ resp = acs_state_machine.handle_tr069_message(req)
+
+ # Expect a request for an optional parameter, five times
+ self.assertTrue(
+ isinstance(resp, models.GetParameterValues),
+ 'State machine should be requesting param values',
+ )
+ req = Tr069MessageBuilder.get_fault()
+ resp = acs_state_machine.handle_tr069_message(req)
+ self.assertTrue(
+ isinstance(resp, models.GetParameterValues),
+ 'State machine should be requesting param values',
+ )
+ req = Tr069MessageBuilder.get_fault()
+ resp = acs_state_machine.handle_tr069_message(req)
+ self.assertTrue(
+ isinstance(resp, models.GetParameterValues),
+ 'State machine should be requesting param values',
+ )
+ req = Tr069MessageBuilder.get_fault()
+ resp = acs_state_machine.handle_tr069_message(req)
+ self.assertTrue(
+ isinstance(resp, models.GetParameterValues),
+ 'State machine should be requesting param values',
+ )
+ req = Tr069MessageBuilder.get_fault()
+ resp = acs_state_machine.handle_tr069_message(req)
+ self.assertTrue(
+ isinstance(resp, models.GetParameterValues),
+ 'State machine should be requesting param values',
+ )
+ req = Tr069MessageBuilder.get_fault()
+ resp = acs_state_machine.handle_tr069_message(req)
+
+ # Expect a request for read-only params
+ self.assertTrue(
+ isinstance(resp, models.GetParameterValues),
+ 'State machine should be requesting param values',
+ )
+ req = Tr069MessageBuilder.get_read_only_param_values_response()
+
+ # Send back some typical values
+ # And then SM should request regular parameter values
+ resp = acs_state_machine.handle_tr069_message(req)
+ self.assertTrue(
+ isinstance(resp, models.GetParameterValues),
+ 'State machine should be requesting param values',
+ )
+
+ # Send back typical values for the regular parameters
+ req = Tr069MessageBuilder.\
+ get_regular_param_values_response(
+ admin_state=False,
+ earfcndl=39150,
+ )
+ resp = acs_state_machine.handle_tr069_message(req)
+
+ # SM will be requesting object parameter values
+ self.assertTrue(
+ isinstance(resp, models.GetParameterValues),
+ 'State machine should be requesting object param vals',
+ )
+
+ # Send back some typical values for object parameters
+ req = Tr069MessageBuilder.get_object_param_values_response()
+ resp = acs_state_machine.handle_tr069_message(req)
+
+ # In this scenario, the ACS and thus state machine will not need
+ # to delete or add objects to the eNB configuration.
+ # SM should then just be attempting to set parameter values
+ self.assertTrue(
+ isinstance(resp, models.SetParameterValues),
+ 'State machine should be setting param values',
+ )
+
+ # Send back confirmation that the parameters were successfully set
+ req = models.SetParameterValuesResponse()
+ req.Status = 0
+ resp = acs_state_machine.handle_tr069_message(req)
+
+ # Expect a request for read-only params
+ self.assertTrue(
+ isinstance(resp, models.GetParameterValues),
+ 'State machine should be requesting param values',
+ )
+ req = Tr069MessageBuilder.get_read_only_param_values_response()
+
+ # Send back some typical values
+ # And then SM should continue polling the read-only params
+ resp = acs_state_machine.handle_tr069_message(req)
+ self.assertTrue(
+ isinstance(resp, models.DummyInput),
+ 'State machine should be ending session',
+ )
+
+ # If a different eNB is suddenly plugged in, or the same eNB sends a
+ # new Inform, enodebd should be able to handle it.
+ # Send an Inform message, wait for an InformResponse
+ inform_msg = \
+ Tr069MessageBuilder.get_inform(
+ '48BF74',
+ 'BaiStation_V100R001C00B110SPC002',
+ '120200002618AGP0003',
+ ['2 PERIODIC'],
+ )
+ resp = acs_state_machine.handle_tr069_message(inform_msg)
+ self.assertTrue(
+ isinstance(resp, models.InformResponse),
+ 'Should respond with an InformResponse',
+ )
+
+ # Send an empty http request to kick off the rest of provisioning
+ req = models.DummyInput()
+ resp = acs_state_machine.handle_tr069_message(req)
+
+ # Expect a request for an optional parameter, three times
+ self.assertTrue(
+ isinstance(resp, models.GetParameterValues),
+ 'State machine should be requesting param values',
+ )
+
+ def test_reboot_after_invasive_changes(self) -> None:
+ """
+ Test the scenario where:
+ - eNodeB has already been powered for 10 minutes without configuration
+ - Setting parameters which are 'invasive' on the eNodeB
+ - Simulate the scenario up until reboot, and test that enodebd does
+ not try to complete configuration after reboot, because it is
+ waiting for REM process to finish running
+ - This test does not wait the ten minutes to simulate REM process
+ finishing on the Baicells eNodeB
+
+ 'Invasive' parameters are those which require special behavior to apply
+ the changes for the eNodeB.
+
+ In the case of the Baicells eNodeB, properly applying changes to
+ invasive parameters requires rebooting the device.
+ """
+ acs_state_machine = \
+ EnodebAcsStateMachineBuilder\
+ .build_acs_state_machine(EnodebDeviceName.BAICELLS_OLD)
+
+ # Send an Inform message, wait for an InformResponse
+ inform_msg = \
+ Tr069MessageBuilder.get_inform(
+ '48BF74',
+ 'BaiStation_V100R001C00B110SPC002',
+ '120200002618AGP0003',
+ ['2 PERIODIC'],
+ )
+ resp = acs_state_machine.handle_tr069_message(inform_msg)
+ self.assertTrue(
+ isinstance(resp, models.InformResponse),
+ 'Should respond with an InformResponse',
+ )
+
+ # Send an empty http request to kick off the rest of provisioning
+ req = models.DummyInput()
+ resp = acs_state_machine.handle_tr069_message(req)
+
+ # Expect a request for an optional parameter, five times
+ self.assertTrue(
+ isinstance(resp, models.GetParameterValues),
+ 'State machine should be requesting param values',
+ )
+ req = Tr069MessageBuilder.get_fault()
+ resp = acs_state_machine.handle_tr069_message(req)
+ self.assertTrue(
+ isinstance(resp, models.GetParameterValues),
+ 'State machine should be requesting param values',
+ )
+ req = Tr069MessageBuilder.get_fault()
+ resp = acs_state_machine.handle_tr069_message(req)
+ self.assertTrue(
+ isinstance(resp, models.GetParameterValues),
+ 'State machine should be requesting param values',
+ )
+ req = Tr069MessageBuilder.get_fault()
+ resp = acs_state_machine.handle_tr069_message(req)
+ self.assertTrue(
+ isinstance(resp, models.GetParameterValues),
+ 'State machine should be requesting param values',
+ )
+ req = Tr069MessageBuilder.get_fault()
+ resp = acs_state_machine.handle_tr069_message(req)
+ self.assertTrue(
+ isinstance(resp, models.GetParameterValues),
+ 'State machine should be requesting param values',
+ )
+ req = Tr069MessageBuilder.get_fault()
+ resp = acs_state_machine.handle_tr069_message(req)
+
+ # Expect a request for read-only params
+ self.assertTrue(
+ isinstance(resp, models.GetParameterValues),
+ 'State machine should be requesting param values',
+ )
+ req = Tr069MessageBuilder.get_read_only_param_values_response()
+
+ # Send back some typical values
+ # And then SM should request regular parameter values
+ resp = acs_state_machine.handle_tr069_message(req)
+ self.assertTrue(
+ isinstance(resp, models.GetParameterValues),
+ 'State machine should be requesting param values',
+ )
+
+ # Send back typical values for the regular parameters
+ req = Tr069MessageBuilder.get_regular_param_values_response()
+ resp = acs_state_machine.handle_tr069_message(req)
+
+ # SM will be requesting object parameter values
+ self.assertTrue(
+ isinstance(resp, models.GetParameterValues),
+ 'State machine should be requesting object param vals',
+ )
+
+ # Send back some typical values for object parameters
+ req = Tr069MessageBuilder.get_object_param_values_response()
+ resp = acs_state_machine.handle_tr069_message(req)
+
+ # In this scenario, the ACS and thus state machine will not need
+ # to delete or add objects to the eNB configuration.
+ # SM should then just be attempting to set parameter values
+ self.assertTrue(
+ isinstance(resp, models.SetParameterValues),
+ 'State machine should be setting param values',
+ )
+
+ # Send back confirmation that the parameters were successfully set
+ req = models.SetParameterValuesResponse()
+ req.Status = 0
+ resp = acs_state_machine.handle_tr069_message(req)
+
+ # Since invasive parameters have been set, then to apply the changes
+ # to the Baicells eNodeB, we need to reboot the device
+ self.assertTrue(isinstance(resp, models.Reboot))
+ req = Tr069MessageBuilder.get_reboot_response()
+ resp = acs_state_machine.handle_tr069_message(req)
+
+ # After the reboot has been received, enodebd should end the
+ # provisioning session
+ self.assertTrue(
+ isinstance(resp, models.DummyInput),
+ 'After sending command to reboot the Baicells eNodeB, '
+ 'enodeb should end the TR-069 session.',
+ )
+
+ # At this point, sometime after the eNodeB reboots, we expect it to
+ # send an Inform indicating reboot. Since it should be in REM process,
+ # we hold off on finishing configuration, and end TR-069 sessions.
+ req = \
+ Tr069MessageBuilder.get_inform(
+ '48BF74',
+ 'BaiStation_V100R001C00B110SPC002',
+ '120200002618AGP0003',
+ ['1 BOOT', 'M Reboot'],
+ )
+ resp = acs_state_machine.handle_tr069_message(req)
+ self.assertTrue(
+ isinstance(resp, models.DummyInput),
+ 'After receiving a post-reboot Inform, enodebd '
+ 'should end TR-069 sessions for 10 minutes to wait '
+ 'for REM process to finish.',
+ )
+
+ # Pretend that we have waited, and now we are in normal operation again
+ acs_state_machine.transition('wait_inform_post_reboot')
+ req = \
+ Tr069MessageBuilder.get_inform(
+ '48BF74',
+ 'BaiStation_V100R001C00B110SPC002',
+ '120200002618AGP0003',
+ ['2 PERIODIC'],
+ )
+ resp = acs_state_machine.handle_tr069_message(req)
+ self.assertTrue(
+ isinstance(resp, models.InformResponse),
+ 'After receiving a post-reboot Inform, enodebd '
+ 'should end TR-069 sessions for 10 minutes to wait '
+ 'for REM process to finish.',
+ )
+
+ req = models.DummyInput()
+ resp = acs_state_machine.handle_tr069_message(req)
+ self.assertTrue(
+ isinstance(resp, models.GetParameterValues),
+ 'enodebd should be requesting params',
+ )
+ self.assertTrue(
+ len(resp.ParameterNames.string) > 1,
+ 'Should be requesting transient params.',
+ )
+
+ def test_reboot_without_getting_optional(self) -> None:
+ """
+ The state machine should not skip figuring out which optional
+ parameters are present.
+ """
+ acs_state_machine = \
+ EnodebAcsStateMachineBuilder \
+ .build_acs_state_machine(EnodebDeviceName.BAICELLS_OLD)
+
+ # Send an Inform message, wait for an InformResponse
+ inform_msg = \
+ Tr069MessageBuilder.get_inform(
+ '48BF74',
+ 'BaiStation_V100R001C00B110SPC002',
+ '120200002618AGP0003',
+ ['2 PERIODIC'],
+ )
+ resp = acs_state_machine.handle_tr069_message(inform_msg)
+ self.assertTrue(
+ isinstance(resp, models.InformResponse),
+ 'Should respond with an InformResponse',
+ )
+
+ # And now reboot the eNodeB
+ acs_state_machine.transition('reboot')
+ req = models.DummyInput()
+ resp = acs_state_machine.handle_tr069_message(req)
+ self.assertTrue(isinstance(resp, models.Reboot))
+ req = Tr069MessageBuilder.get_reboot_response()
+ resp = acs_state_machine.handle_tr069_message(req)
+
+ # After the reboot has been received, enodebd should end the
+ # provisioning session
+ self.assertTrue(
+ isinstance(resp, models.DummyInput),
+ 'After sending command to reboot the Baicells eNodeB, '
+ 'enodeb should end the TR-069 session.',
+ )
+
+ # At this point, sometime after the eNodeB reboots, we expect it to
+ # send an Inform indicating reboot. Since it should be in REM process,
+ # we hold off on finishing configuration, and end TR-069 sessions.
+ req = \
+ Tr069MessageBuilder.get_inform(
+ '48BF74',
+ 'BaiStation_V100R001C00B110SPC002',
+ '120200002618AGP0003',
+ ['1 BOOT', 'M Reboot'],
+ )
+ resp = acs_state_machine.handle_tr069_message(req)
+ self.assertTrue(
+ isinstance(resp, models.DummyInput),
+ 'After receiving a post-reboot Inform, enodebd '
+ 'should end TR-069 sessions for 10 minutes to wait '
+ 'for REM process to finish.',
+ )
+
+ # Pretend that we have waited, and now we are in normal operation again
+ acs_state_machine.transition('wait_inform_post_reboot')
+ req = \
+ Tr069MessageBuilder.get_inform(
+ '48BF74',
+ 'BaiStation_V100R001C00B110SPC002',
+ '120200002618AGP0003',
+ ['2 PERIODIC'],
+ )
+ resp = acs_state_machine.handle_tr069_message(req)
+ self.assertTrue(
+ isinstance(resp, models.InformResponse),
+ 'After receiving a post-reboot Inform, enodebd '
+ 'should end TR-069 sessions for 10 minutes to wait '
+ 'for REM process to finish.',
+ )
+
+ # Since we haven't figured out the presence of optional parameters, the
+ # state machine should be requesting them now. There are three for the
+ # Baicells state machine.
+ req = models.DummyInput()
+ resp = acs_state_machine.handle_tr069_message(req)
+ self.assertTrue(
+ isinstance(resp, models.GetParameterValues),
+ 'enodebd should be requesting params',
+ )
+ self.assertTrue(
+ len(resp.ParameterNames.string) == 1,
+ 'Should be requesting optional params.',
+ )
+ req = Tr069MessageBuilder.get_fault()
+ resp = acs_state_machine.handle_tr069_message(req)
+ self.assertTrue(
+ isinstance(resp, models.GetParameterValues),
+ 'State machine should be requesting param',
+ )
+ self.assertTrue(
+ len(resp.ParameterNames.string) == 1,
+ 'Should be requesting optional params.',
+ )
+ req = Tr069MessageBuilder.get_fault()
+ resp = acs_state_machine.handle_tr069_message(req)
+ self.assertTrue(
+ isinstance(resp, models.GetParameterValues),
+ 'State machine should be requesting param',
+ )
+ self.assertTrue(
+ len(resp.ParameterNames.string) == 1,
+ 'Should be requesting optional params.',
+ )
diff --git a/tests/baicells_qafb_tests.py b/tests/baicells_qafb_tests.py
new file mode 100644
index 0000000..0b0168e
--- /dev/null
+++ b/tests/baicells_qafb_tests.py
@@ -0,0 +1,230 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+# pylint: disable=protected-access
+from devices.device_utils import EnodebDeviceName
+from tests.test_utils.enb_acs_builder import (
+ EnodebAcsStateMachineBuilder,
+)
+from tests.test_utils.enodeb_handler import EnodebHandlerTestCase
+from tests.test_utils.tr069_msg_builder import Tr069MessageBuilder
+from tr069 import models
+
+
+class BaicellsQAFBHandlerTests(EnodebHandlerTestCase):
+ def test_manual_reboot(self) -> None:
+ """
+ Test a scenario where a Magma user goes through the enodebd CLI to
+ reboot the Baicells eNodeB.
+
+ This checks the scenario where the command is not sent in the middle
+ of a TR-069 provisioning session.
+ """
+ acs_state_machine = \
+ EnodebAcsStateMachineBuilder \
+ .build_acs_state_machine(EnodebDeviceName.BAICELLS_QAFB)
+
+ # User uses the CLI tool to get eNodeB to reboot
+ acs_state_machine.reboot_asap()
+
+ # And now the Inform message arrives from the eNodeB
+ inform_msg = \
+ Tr069MessageBuilder.get_qafb_inform(
+ '48BF74',
+ 'BaiBS_QAFBv123',
+ '1202000181186TB0006',
+ ['2 PERIODIC'],
+ )
+ resp = acs_state_machine.handle_tr069_message(inform_msg)
+ self.assertTrue(
+ isinstance(resp, models.InformResponse),
+ 'In reboot sequence, state machine should still '
+ 'respond to an Inform with InformResponse.',
+ )
+ req = models.DummyInput()
+ resp = acs_state_machine.handle_tr069_message(req)
+ self.assertTrue(
+ isinstance(resp, models.Reboot),
+ 'In reboot sequence, state machine should send a '
+ 'Reboot message.',
+ )
+ req = Tr069MessageBuilder.get_reboot_response()
+ resp = acs_state_machine.handle_tr069_message(req)
+ self.assertTrue(
+ isinstance(resp, models.DummyInput),
+ 'State machine should end TR-069 session after '
+ 'receiving a RebootResponse',
+ )
+
+ def test_manual_reboot_during_provisioning(self) -> None:
+ """
+ Test a scenario where a Magma user goes through the enodebd CLI to
+ reboot the Baicells eNodeB.
+
+ This checks the scenario where the command is sent in the middle
+ of a TR-069 provisioning session.
+ """
+ acs_state_machine = \
+ EnodebAcsStateMachineBuilder \
+ .build_acs_state_machine(EnodebDeviceName.BAICELLS_QAFB)
+
+ # Send an Inform message, wait for an InformResponse
+ inform_msg = \
+ Tr069MessageBuilder.get_qafb_inform(
+ '48BF74',
+ 'BaiBS_QAFBv123',
+ '1202000181186TB0006',
+ ['2 PERIODIC'],
+ )
+ resp = acs_state_machine.handle_tr069_message(inform_msg)
+ self.assertTrue(
+ isinstance(resp, models.InformResponse),
+ 'Should respond with an InformResponse',
+ )
+
+ # Send an empty http request to kick off the rest of provisioning
+ req = models.DummyInput()
+ resp = acs_state_machine.handle_tr069_message(req)
+
+ # Expect a request for an optional parameter, three times
+ self.assertTrue(
+ isinstance(resp, models.GetParameterValues),
+ 'State machine should be requesting param values',
+ )
+ req = Tr069MessageBuilder.get_fault()
+
+ # User uses the CLI tool to get eNodeB to reboot
+ acs_state_machine.reboot_asap()
+
+ resp = acs_state_machine.handle_tr069_message(req)
+ self.assertTrue(
+ isinstance(resp, models.Reboot),
+ 'In reboot sequence, state machine should send a '
+ 'Reboot message.',
+ )
+ req = Tr069MessageBuilder.get_reboot_response()
+ resp = acs_state_machine.handle_tr069_message(req)
+ self.assertTrue(
+ isinstance(resp, models.DummyInput),
+ 'State machine should end TR-069 session after '
+ 'receiving a RebootResponse',
+ )
+
+ def test_provision(self) -> None:
+ acs_state_machine = \
+ EnodebAcsStateMachineBuilder \
+ .build_acs_state_machine(EnodebDeviceName.BAICELLS_QAFB)
+
+ # Send an Inform message, wait for an InformResponse
+ inform_msg = \
+ Tr069MessageBuilder.get_qafb_inform(
+ '48BF74',
+ 'BaiBS_QAFBv123',
+ '1202000181186TB0006',
+ ['2 PERIODIC'],
+ )
+ resp = acs_state_machine.handle_tr069_message(inform_msg)
+ self.assertTrue(
+ isinstance(resp, models.InformResponse),
+ 'Should respond with an InformResponse',
+ )
+
+ # Send an empty http request to kick off the rest of provisioning
+ req = models.DummyInput()
+ resp = acs_state_machine.handle_tr069_message(req)
+
+ # Expect a request for read-only params
+ self.assertTrue(
+ isinstance(resp, models.GetParameterValues),
+ 'State machine should be requesting param values',
+ )
+ req = Tr069MessageBuilder.get_qafb_read_only_param_values_response()
+
+ # Send back some typical values
+ # And then SM should request regular parameter values
+ resp = acs_state_machine.handle_tr069_message(req)
+ self.assertTrue(
+ isinstance(resp, models.GetParameterValues),
+ 'State machine should be requesting param values',
+ )
+
+ # Send back typical values for the regular parameters
+ req = Tr069MessageBuilder.\
+ get_qafb_regular_param_values_response(
+ admin_state=False,
+ earfcndl=39150,
+ )
+ resp = acs_state_machine.handle_tr069_message(req)
+
+ # SM will be requesting object parameter values
+ self.assertTrue(
+ isinstance(resp, models.GetParameterValues),
+ 'State machine should be requesting object param vals',
+ )
+
+ # Send back some typical values for object parameters
+ req = Tr069MessageBuilder.get_qafb_object_param_values_response()
+ resp = acs_state_machine.handle_tr069_message(req)
+
+ self.assertTrue(
+ isinstance(resp, models.AddObject),
+ 'State machine should be adding objects',
+ )
+
+ def test_get_rpc_methods_cold(self) -> None:
+ """
+ Test the scenario where:
+ - enodeB just booted
+ - enodeB is cold and has no state of ACS RPCMethods
+ - Simulate the enodeB performing the initial Inform and
+ the call for the GetRPCMethods, and the subsequent Empty
+ response for provisioning
+ finishing on the Baicells eNodeB
+
+ Verifies that the ACS will continue into provisioning
+ """
+ acs_state_machine = \
+ EnodebAcsStateMachineBuilder\
+ .build_acs_state_machine(EnodebDeviceName.BAICELLS_QAFB)
+
+ # Send an Inform message, wait for an InformResponse
+ inform_msg = \
+ Tr069MessageBuilder.get_inform(
+ '48BF74',
+ 'BaiBS_QAFBv123',
+ '120200002618AGP0003',
+ ['1 BOOT'],
+ )
+ resp = acs_state_machine.handle_tr069_message(inform_msg)
+ self.assertTrue(
+ isinstance(resp, models.InformResponse),
+ 'Should respond with an InformResponse',
+ )
+
+ # Send GetRPCMethods
+ req = models.GetRPCMethods()
+ resp = acs_state_machine.handle_tr069_message(req)
+ self.assertTrue(
+ isinstance(resp, models.GetRPCMethodsResponse),
+ 'State machine should be sending RPC methods',
+ )
+
+ # Send an empty http request to kick off the rest of provisioning
+ req = models.DummyInput()
+ resp = acs_state_machine.handle_tr069_message(req)
+
+ # Expect a request for an optional parameter
+ self.assertTrue(
+ isinstance(resp, models.GetParameterValues),
+ 'State machine should be requesting param values',
+ )
diff --git a/tests/baicells_tests.py b/tests/baicells_tests.py
new file mode 100644
index 0000000..d992e58
--- /dev/null
+++ b/tests/baicells_tests.py
@@ -0,0 +1,944 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+# pylint: disable=protected-access
+from data_models.data_model_parameters import ParameterName
+from devices.device_utils import EnodebDeviceName
+from tests.test_utils.enb_acs_builder import (
+ EnodebAcsStateMachineBuilder,
+)
+from tests.test_utils.enodeb_handler import EnodebHandlerTestCase
+from tests.test_utils.tr069_msg_builder import Tr069MessageBuilder
+from tr069 import models
+
+
+class BaicellsHandlerTests(EnodebHandlerTestCase):
+ def test_initial_enb_bootup(self) -> None:
+ """
+ Baicells does not support configuration during initial bootup of
+ eNB device. This is because it is in a REM process, and we just need
+ to wait for this process to finish, ~10 minutes. Attempting to
+ configure the device during this period will cause undefined
+ behavior.
+ As a result of this, end any provisoning sessions, which we can do
+ by just sending empty HTTP responses, not even using an
+ InformResponse.
+ """
+ acs_state_machine = \
+ EnodebAcsStateMachineBuilder \
+ .build_acs_state_machine(EnodebDeviceName.BAICELLS)
+
+ # Send an Inform message
+ inform_msg = Tr069MessageBuilder.get_inform(
+ '48BF74',
+ 'BaiBS_RTS_3.1.6',
+ '120200002618AGP0003',
+ ['1 BOOT'],
+ )
+ resp = acs_state_machine.handle_tr069_message(inform_msg)
+
+ self.assertTrue(
+ isinstance(resp, models.DummyInput),
+ 'Should respond with an InformResponse',
+ )
+
+ def test_manual_reboot(self) -> None:
+ """
+ Test a scenario where a Magma user goes through the enodebd CLI to
+ reboot the Baicells eNodeB.
+
+ This checks the scenario where the command is not sent in the middle
+ of a TR-069 provisioning session.
+ """
+ acs_state_machine = \
+ EnodebAcsStateMachineBuilder \
+ .build_acs_state_machine(EnodebDeviceName.BAICELLS)
+
+ # User uses the CLI tool to get eNodeB to reboot
+ acs_state_machine.reboot_asap()
+
+ # And now the Inform message arrives from the eNodeB
+ inform_msg = Tr069MessageBuilder.get_inform(
+ '48BF74',
+ 'BaiBS_RTS_3.1.6',
+ '120200002618AGP0003',
+ ['2 PERIODIC'],
+ )
+ resp = acs_state_machine.handle_tr069_message(inform_msg)
+ self.assertTrue(
+ isinstance(resp, models.InformResponse),
+ 'In reboot sequence, state machine should still '
+ 'respond to an Inform with InformResponse.',
+ )
+ req = models.DummyInput()
+ resp = acs_state_machine.handle_tr069_message(req)
+ self.assertTrue(
+ isinstance(resp, models.Reboot),
+ 'In reboot sequence, state machine should send a '
+ 'Reboot message.',
+ )
+ req = Tr069MessageBuilder.get_reboot_response()
+ resp = acs_state_machine.handle_tr069_message(req)
+ self.assertTrue(
+ isinstance(resp, models.DummyInput),
+ 'State machine should end TR-069 session after '
+ 'receiving a RebootResponse',
+ )
+
+ def test_gps_coords(self) -> None:
+ """ Check GPS coordinates are processed and stored correctly """
+ acs_state_machine = \
+ EnodebAcsStateMachineBuilder \
+ .build_acs_state_machine(EnodebDeviceName.BAICELLS)
+
+ # Send an Inform message, wait for an InformResponse
+ inform_msg = Tr069MessageBuilder.get_inform(
+ '48BF74',
+ 'BaiBS_RTS_3.1.6',
+ '120200002618AGP0003',
+ ['2 PERIODIC'],
+ )
+ resp = acs_state_machine.handle_tr069_message(inform_msg)
+ self.assertTrue(
+ isinstance(resp, models.InformResponse),
+ 'Should respond with an InformResponse',
+ )
+
+ # Send an empty http request to kick off the rest of provisioning
+ req = models.DummyInput()
+ resp = acs_state_machine.handle_tr069_message(req)
+
+ # Expect a request for an optional parameter, three times
+ self.assertTrue(
+ isinstance(resp, models.GetParameterValues),
+ 'State machine should be requesting param values',
+ )
+ req = models.GetParameterValuesResponse()
+ param_val_list = [
+ Tr069MessageBuilder.get_parameter_value_struct(
+ name='Device.X_BAICELLS_COM_GpsSyncEnable',
+ val_type='boolean',
+ data='true',
+ ),
+ ]
+ req.ParameterList = models.ParameterValueList()
+ req.ParameterList.ParameterValueStruct = param_val_list
+ resp = acs_state_machine.handle_tr069_message(req)
+
+ self.assertTrue(
+ isinstance(resp, models.GetParameterValues),
+ 'State machine should be requesting param values',
+ )
+ req = models.GetParameterValuesResponse()
+ param_val_list = [
+ Tr069MessageBuilder.get_parameter_value_struct(
+ name='Device.FAP.GPS.LockedLatitude',
+ val_type='int',
+ data='37483629',
+ ),
+ ]
+ req.ParameterList = models.ParameterValueList()
+ req.ParameterList.ParameterValueStruct = param_val_list
+ resp = acs_state_machine.handle_tr069_message(req)
+
+ self.assertTrue(
+ isinstance(resp, models.GetParameterValues),
+ 'State machine should be requesting param values',
+ )
+ req = models.GetParameterValuesResponse()
+ param_val_list = [
+ Tr069MessageBuilder.get_parameter_value_struct(
+ name='Device.FAP.GPS.LockedLongitude',
+ val_type='int',
+ data='-122150583',
+ ),
+ ]
+ req.ParameterList = models.ParameterValueList()
+ req.ParameterList.ParameterValueStruct = param_val_list
+ acs_state_machine.handle_tr069_message(req)
+
+ gps_long = acs_state_machine.get_parameter(ParameterName.GPS_LONG)
+ gps_lat = acs_state_machine.get_parameter(ParameterName.GPS_LAT)
+
+ self.assertTrue(gps_long == '-122.150583', 'Should be valid longitude')
+ self.assertTrue(gps_lat == '37.483629', 'Should be valid latitude')
+
+ def test_manual_reboot_during_provisioning(self) -> None:
+ """
+ Test a scenario where a Magma user goes through the enodebd CLI to
+ reboot the Baicells eNodeB.
+
+ This checks the scenario where the command is sent in the middle
+ of a TR-069 provisioning session.
+ """
+ acs_state_machine = \
+ EnodebAcsStateMachineBuilder \
+ .build_acs_state_machine(EnodebDeviceName.BAICELLS)
+
+ # Send an Inform message, wait for an InformResponse
+ inform_msg = Tr069MessageBuilder.get_inform(
+ '48BF74',
+ 'BaiBS_RTS_3.1.6',
+ '120200002618AGP0003',
+ ['2 PERIODIC'],
+ )
+ resp = acs_state_machine.handle_tr069_message(inform_msg)
+ self.assertTrue(
+ isinstance(resp, models.InformResponse),
+ 'Should respond with an InformResponse',
+ )
+
+ # Send an empty http request to kick off the rest of provisioning
+ req = models.DummyInput()
+ resp = acs_state_machine.handle_tr069_message(req)
+
+ # Expect a request for an optional parameter, three times
+ self.assertTrue(
+ isinstance(resp, models.GetParameterValues),
+ 'State machine should be requesting param values',
+ )
+ req = Tr069MessageBuilder.get_fault()
+
+ # User uses the CLI tool to get eNodeB to reboot
+ acs_state_machine.reboot_asap()
+
+ resp = acs_state_machine.handle_tr069_message(req)
+ self.assertTrue(
+ isinstance(resp, models.Reboot),
+ 'In reboot sequence, state machine should send a '
+ 'Reboot message.',
+ )
+ req = Tr069MessageBuilder.get_reboot_response()
+ resp = acs_state_machine.handle_tr069_message(req)
+ self.assertTrue(
+ isinstance(resp, models.DummyInput),
+ 'State machine should end TR-069 session after '
+ 'receiving a RebootResponse',
+ )
+
+ def test_missing_param_during_provisioning(self) -> None:
+ """
+ Test the scenario where:
+ - enodebd is configuring the eNodeB
+ - eNB does not send all parameters due to bug
+ """
+ acs_state_machine = \
+ EnodebAcsStateMachineBuilder \
+ .build_acs_state_machine(EnodebDeviceName.BAICELLS)
+
+ # Send an Inform message, wait for an InformResponse
+ inform_msg = Tr069MessageBuilder.get_inform()
+ resp = acs_state_machine.handle_tr069_message(inform_msg)
+ self.assertTrue(
+ isinstance(resp, models.InformResponse),
+ 'Should respond with an InformResponse',
+ )
+
+ # Send an empty http request to kick off the rest of provisioning
+ req = models.DummyInput()
+ resp = acs_state_machine.handle_tr069_message(req)
+
+ # Expect a request for an optional parameter, three times
+ self.assertTrue(
+ isinstance(resp, models.GetParameterValues),
+ 'State machine should be requesting param values',
+ )
+ req = Tr069MessageBuilder.get_fault()
+ resp = acs_state_machine.handle_tr069_message(req)
+ self.assertTrue(
+ isinstance(resp, models.GetParameterValues),
+ 'State machine should be requesting param values',
+ )
+ req = Tr069MessageBuilder.get_fault()
+ resp = acs_state_machine.handle_tr069_message(req)
+ self.assertTrue(
+ isinstance(resp, models.GetParameterValues),
+ 'State machine should be requesting param values',
+ )
+ req = Tr069MessageBuilder.get_fault()
+ resp = acs_state_machine.handle_tr069_message(req)
+
+ # Expect a request for read-only params
+ self.assertTrue(
+ isinstance(resp, models.GetParameterValues),
+ 'State machine should be requesting param values',
+ )
+ req = Tr069MessageBuilder.get_read_only_param_values_response()
+
+ # Send back some typical values
+ # And then SM should request regular parameter values
+ resp = acs_state_machine.handle_tr069_message(req)
+ self.assertTrue(
+ isinstance(resp, models.GetParameterValues),
+ 'State machine should be requesting param values',
+ )
+
+ # Send back typical values for the regular parameters
+ # Pretend that here the NumPLMNs was not sent because of a Baicells bug
+ req = Tr069MessageBuilder.\
+ get_regular_param_values_response(
+ admin_state=False,
+ earfcndl=39150,
+ exclude_num_plmns=True,
+ )
+ resp = acs_state_machine.handle_tr069_message(req)
+
+ # The state machine will fail and go into an error state.
+ # It will send an empty http response to end the session.
+ # Regularly, the SM should be using info on the number
+ # of PLMNs to figure out which object parameter values
+ # to fetch.
+ self.assertTrue(
+ isinstance(resp, models.DummyInput),
+ 'State machine should be ending session',
+ )
+
+ def test_provision_multi_without_invasive_changes(self) -> None:
+ """
+ Test the scenario where:
+ - eNodeB has already been powered for 10 minutes without configuration
+ - Setting parameters which are 'non-invasive' on the eNodeB
+ - Using enodebd mconfig which has old style config with addition
+ of eNodeB config tied to a serial number
+
+ 'Invasive' parameters are those which require special behavior to apply
+ the changes for the eNodeB.
+ """
+ acs_state_machine = \
+ EnodebAcsStateMachineBuilder \
+ .build_multi_enb_acs_state_machine(EnodebDeviceName.BAICELLS)
+
+ # Send an Inform message, wait for an InformResponse
+ inform_msg = Tr069MessageBuilder.get_inform()
+ resp = acs_state_machine.handle_tr069_message(inform_msg)
+ self.assertTrue(
+ isinstance(resp, models.InformResponse),
+ 'Should respond with an InformResponse',
+ )
+
+ # Send an empty http request to kick off the rest of provisioning
+ req = models.DummyInput()
+ resp = acs_state_machine.handle_tr069_message(req)
+
+ # Expect a request for an optional parameter, three times
+ self.assertTrue(
+ isinstance(resp, models.GetParameterValues),
+ 'State machine should be requesting param values',
+ )
+ req = Tr069MessageBuilder.get_fault()
+ resp = acs_state_machine.handle_tr069_message(req)
+ self.assertTrue(
+ isinstance(resp, models.GetParameterValues),
+ 'State machine should be requesting param values',
+ )
+ req = Tr069MessageBuilder.get_fault()
+ resp = acs_state_machine.handle_tr069_message(req)
+ self.assertTrue(
+ isinstance(resp, models.GetParameterValues),
+ 'State machine should be requesting param values',
+ )
+ req = Tr069MessageBuilder.get_fault()
+ resp = acs_state_machine.handle_tr069_message(req)
+
+ # Expect a request for read-only params
+ self.assertTrue(
+ isinstance(resp, models.GetParameterValues),
+ 'State machine should be requesting param values',
+ )
+ req = Tr069MessageBuilder.get_read_only_param_values_response()
+
+ # Send back some typical values
+ # And then SM should request regular parameter values
+ resp = acs_state_machine.handle_tr069_message(req)
+ self.assertTrue(
+ isinstance(resp, models.GetParameterValues),
+ 'State machine should be requesting param values',
+ )
+
+ # Send back typical values for the regular parameters
+ req = Tr069MessageBuilder.\
+ get_regular_param_values_response(
+ admin_state=False,
+ earfcndl=39150,
+ )
+ resp = acs_state_machine.handle_tr069_message(req)
+
+ # SM will be requesting object parameter values
+ self.assertTrue(
+ isinstance(resp, models.GetParameterValues),
+ 'State machine should be requesting object param vals',
+ )
+
+ # Send back some typical values for object parameters
+ req = Tr069MessageBuilder.get_object_param_values_response()
+ resp = acs_state_machine.handle_tr069_message(req)
+
+ # In this scenario, the ACS and thus state machine will not need
+ # to delete or add objects to the eNB configuration.
+ # SM should then just be attempting to set parameter values
+ self.assertTrue(
+ isinstance(resp, models.SetParameterValues),
+ 'State machine should be setting param values',
+ )
+
+ isEnablingAdminState = False
+ param = 'Device.Services.FAPService.1.FAPControl.LTE.AdminState'
+ for name_value in resp.ParameterList.ParameterValueStruct:
+ if name_value.Name == param:
+ isEnablingAdminState = True
+ self.assertTrue(
+ isEnablingAdminState,
+ 'eNB config is set to enable transmit, '
+ 'while old enodebd config does not '
+ 'enable transmit. Use eNB config.',
+ )
+
+ def test_provision_without_invasive_changes(self) -> None:
+ """
+ Test the scenario where:
+ - eNodeB has already been powered for 10 minutes without configuration
+ - Setting parameters which are 'non-invasive' on the eNodeB
+
+ 'Invasive' parameters are those which require special behavior to apply
+ the changes for the eNodeB.
+ """
+ acs_state_machine = \
+ EnodebAcsStateMachineBuilder \
+ .build_acs_state_machine(EnodebDeviceName.BAICELLS)
+
+ # Send an Inform message, wait for an InformResponse
+ inform_msg = Tr069MessageBuilder.get_inform()
+ resp = acs_state_machine.handle_tr069_message(inform_msg)
+ self.assertTrue(
+ isinstance(resp, models.InformResponse),
+ 'Should respond with an InformResponse',
+ )
+
+ # Send an empty http request to kick off the rest of provisioning
+ req = models.DummyInput()
+ resp = acs_state_machine.handle_tr069_message(req)
+
+ # Expect a request for an optional parameter, three times
+ self.assertTrue(
+ isinstance(resp, models.GetParameterValues),
+ 'State machine should be requesting param values',
+ )
+ req = Tr069MessageBuilder.get_fault()
+ resp = acs_state_machine.handle_tr069_message(req)
+ self.assertTrue(
+ isinstance(resp, models.GetParameterValues),
+ 'State machine should be requesting param values',
+ )
+ req = Tr069MessageBuilder.get_fault()
+ resp = acs_state_machine.handle_tr069_message(req)
+ self.assertTrue(
+ isinstance(resp, models.GetParameterValues),
+ 'State machine should be requesting param values',
+ )
+ req = Tr069MessageBuilder.get_fault()
+ resp = acs_state_machine.handle_tr069_message(req)
+
+ # Expect a request for read-only params
+ self.assertTrue(
+ isinstance(resp, models.GetParameterValues),
+ 'State machine should be requesting param values',
+ )
+ req = Tr069MessageBuilder.get_read_only_param_values_response()
+
+ # Send back some typical values
+ # And then SM should request regular parameter values
+ resp = acs_state_machine.handle_tr069_message(req)
+ self.assertTrue(
+ isinstance(resp, models.GetParameterValues),
+ 'State machine should be requesting param values',
+ )
+
+ # Send back typical values for the regular parameters
+ req = Tr069MessageBuilder.\
+ get_regular_param_values_response(
+ admin_state=False,
+ earfcndl=39150,
+ )
+ resp = acs_state_machine.handle_tr069_message(req)
+
+ # SM will be requesting object parameter values
+ self.assertTrue(
+ isinstance(resp, models.GetParameterValues),
+ 'State machine should be requesting object param vals',
+ )
+
+ # Send back some typical values for object parameters
+ req = Tr069MessageBuilder.get_object_param_values_response()
+ resp = acs_state_machine.handle_tr069_message(req)
+
+ # In this scenario, the ACS and thus state machine will not need
+ # to delete or add objects to the eNB configuration.
+ # SM should then just be attempting to set parameter values
+ self.assertTrue(
+ isinstance(resp, models.SetParameterValues),
+ 'State machine should be setting param values',
+ )
+
+ # Send back confirmation that the parameters were successfully set
+ req = models.SetParameterValuesResponse()
+ req.Status = 0
+ resp = acs_state_machine.handle_tr069_message(req)
+
+ # Expect a request for read-only params
+ self.assertTrue(
+ isinstance(resp, models.GetParameterValues),
+ 'State machine should be requesting param values',
+ )
+ req = Tr069MessageBuilder.get_read_only_param_values_response()
+
+ # Send back some typical values
+ # And then SM should continue polling the read-only params
+ resp = acs_state_machine.handle_tr069_message(req)
+ self.assertTrue(
+ isinstance(resp, models.DummyInput),
+ 'State machine should be ending session',
+ )
+
+ # If a different eNB is suddenly plugged in, or the same eNB sends a
+ # new Inform, enodebd should be able to handle it.
+ # Send an Inform message, wait for an InformResponse
+ inform_msg = Tr069MessageBuilder.get_inform()
+ resp = acs_state_machine.handle_tr069_message(inform_msg)
+ self.assertTrue(
+ isinstance(resp, models.InformResponse),
+ 'Should respond with an InformResponse',
+ )
+
+ # Send an empty http request to kick off the rest of provisioning
+ req = models.DummyInput()
+ resp = acs_state_machine.handle_tr069_message(req)
+
+ # Expect a request for an optional parameter, three times
+ self.assertTrue(
+ isinstance(resp, models.GetParameterValues),
+ 'State machine should be requesting param values',
+ )
+
+ def test_reboot_after_invasive_changes(self) -> None:
+ """
+ Test the scenario where:
+ - eNodeB has already been powered for 10 minutes without configuration
+ - Setting parameters which are 'invasive' on the eNodeB
+ - Simulate the scenario up until reboot, and test that enodebd does
+ not try to complete configuration after reboot, because it is
+ waiting for REM process to finish running
+ - This test does not wait the ten minutes to simulate REM process
+ finishing on the Baicells eNodeB
+
+ 'Invasive' parameters are those which require special behavior to apply
+ the changes for the eNodeB.
+
+ In the case of the Baicells eNodeB, properly applying changes to
+ invasive parameters requires rebooting the device.
+ """
+ acs_state_machine = \
+ EnodebAcsStateMachineBuilder\
+ .build_acs_state_machine(EnodebDeviceName.BAICELLS)
+ # Since the test utils pretend the eNB is set to 20MHz, we force this
+ # to 10 MHz, so the state machine sets this value.
+ acs_state_machine.mconfig.bandwidth_mhz = 10
+
+ # Send an Inform message, wait for an InformResponse
+ inform_msg = Tr069MessageBuilder.get_inform(
+ '48BF74',
+ 'BaiBS_RTS_3.1.6',
+ '120200002618AGP0003',
+ ['2 PERIODIC'],
+ )
+ resp = acs_state_machine.handle_tr069_message(inform_msg)
+ self.assertTrue(
+ isinstance(resp, models.InformResponse),
+ 'Should respond with an InformResponse',
+ )
+
+ # Send an empty http request to kick off the rest of provisioning
+ req = models.DummyInput()
+ resp = acs_state_machine.handle_tr069_message(req)
+
+ # Expect a request for an optional parameter, three times
+ self.assertTrue(
+ isinstance(resp, models.GetParameterValues),
+ 'State machine should be requesting param values',
+ )
+ req = Tr069MessageBuilder.get_fault()
+ resp = acs_state_machine.handle_tr069_message(req)
+ self.assertTrue(
+ isinstance(resp, models.GetParameterValues),
+ 'State machine should be requesting param values',
+ )
+ req = Tr069MessageBuilder.get_fault()
+ resp = acs_state_machine.handle_tr069_message(req)
+ self.assertTrue(
+ isinstance(resp, models.GetParameterValues),
+ 'State machine should be requesting param values',
+ )
+ req = Tr069MessageBuilder.get_fault()
+ resp = acs_state_machine.handle_tr069_message(req)
+
+ # Expect a request for read-only params
+ self.assertTrue(
+ isinstance(resp, models.GetParameterValues),
+ 'State machine should be requesting param values',
+ )
+ req = Tr069MessageBuilder.get_read_only_param_values_response()
+
+ # Send back some typical values
+ # And then SM should request regular parameter values
+ resp = acs_state_machine.handle_tr069_message(req)
+ self.assertTrue(
+ isinstance(resp, models.GetParameterValues),
+ 'State machine should be requesting param values',
+ )
+
+ # Send back typical values for the regular parameters
+ req = Tr069MessageBuilder.get_regular_param_values_response()
+ resp = acs_state_machine.handle_tr069_message(req)
+
+ # SM will be requesting object parameter values
+ self.assertTrue(
+ isinstance(resp, models.GetParameterValues),
+ 'State machine should be requesting object param vals',
+ )
+
+ # Send back some typical values for object parameters
+ req = Tr069MessageBuilder.get_object_param_values_response()
+ resp = acs_state_machine.handle_tr069_message(req)
+
+ # In this scenario, the ACS and thus state machine will not need
+ # to delete or add objects to the eNB configuration.
+ # SM should then just be attempting to set parameter values
+ self.assertTrue(
+ isinstance(resp, models.SetParameterValues),
+ 'State machine should be setting param values',
+ )
+
+ # Send back confirmation that the parameters were successfully set
+ req = models.SetParameterValuesResponse()
+ req.Status = 0
+ resp = acs_state_machine.handle_tr069_message(req)
+
+ # Since invasive parameters have been set, then to apply the changes
+ # to the Baicells eNodeB, we need to reboot the device
+ self.assertTrue(isinstance(resp, models.Reboot))
+ req = Tr069MessageBuilder.get_reboot_response()
+ resp = acs_state_machine.handle_tr069_message(req)
+
+ # After the reboot has been received, enodebd should end the
+ # provisioning session
+ self.assertTrue(
+ isinstance(resp, models.DummyInput),
+ 'After sending command to reboot the Baicells eNodeB, '
+ 'enodeb should end the TR-069 session.',
+ )
+
+ # At this point, sometime after the eNodeB reboots, we expect it to
+ # send an Inform indicating reboot. Since it should be in REM process,
+ # we hold off on finishing configuration, and end TR-069 sessions.
+ req = Tr069MessageBuilder.get_inform(
+ '48BF74', 'BaiBS_RTS_3.1.6',
+ '120200002618AGP0003',
+ ['1 BOOT', 'M Reboot'],
+ )
+ resp = acs_state_machine.handle_tr069_message(req)
+ self.assertTrue(
+ isinstance(resp, models.DummyInput),
+ 'After receiving a post-reboot Inform, enodebd '
+ 'should end TR-069 sessions for 10 minutes to wait '
+ 'for REM process to finish.',
+ )
+
+ # Pretend that we have waited, and now we are in normal operation again
+ acs_state_machine.transition('wait_inform_post_reboot')
+ req = Tr069MessageBuilder.get_inform(
+ '48BF74', 'BaiBS_RTS_3.1.6',
+ '120200002618AGP0003',
+ ['2 PERIODIC'],
+ )
+ resp = acs_state_machine.handle_tr069_message(req)
+ self.assertTrue(
+ isinstance(resp, models.InformResponse),
+ 'After receiving a post-reboot Inform, enodebd '
+ 'should end TR-069 sessions for 10 minutes to wait '
+ 'for REM process to finish.',
+ )
+
+ req = models.DummyInput()
+ resp = acs_state_machine.handle_tr069_message(req)
+ self.assertTrue(
+ isinstance(resp, models.GetParameterValues),
+ 'enodebd should be requesting params',
+ )
+ self.assertTrue(
+ len(resp.ParameterNames.string) > 1,
+ 'Should be requesting transient params.',
+ )
+
+ def test_reboot_without_getting_optional(self) -> None:
+ """
+ The state machine should not skip figuring out which optional
+ parameters are present.
+ """
+ acs_state_machine = \
+ EnodebAcsStateMachineBuilder \
+ .build_acs_state_machine(EnodebDeviceName.BAICELLS)
+
+ # Send an Inform message, wait for an InformResponse
+ inform_msg = Tr069MessageBuilder.get_inform(
+ '48BF74',
+ 'BaiBS_RTS_3.1.6',
+ '120200002618AGP0003',
+ ['2 PERIODIC'],
+ )
+ resp = acs_state_machine.handle_tr069_message(inform_msg)
+ self.assertTrue(
+ isinstance(resp, models.InformResponse),
+ 'Should respond with an InformResponse',
+ )
+
+ # And now reboot the eNodeB
+ acs_state_machine.transition('reboot')
+ req = models.DummyInput()
+ resp = acs_state_machine.handle_tr069_message(req)
+ self.assertTrue(isinstance(resp, models.Reboot))
+ req = Tr069MessageBuilder.get_reboot_response()
+ resp = acs_state_machine.handle_tr069_message(req)
+
+ # After the reboot has been received, enodebd should end the
+ # provisioning session
+ self.assertTrue(
+ isinstance(resp, models.DummyInput),
+ 'After sending command to reboot the Baicells eNodeB, '
+ 'enodeb should end the TR-069 session.',
+ )
+
+ # At this point, sometime after the eNodeB reboots, we expect it to
+ # send an Inform indicating reboot. Since it should be in REM process,
+ # we hold off on finishing configuration, and end TR-069 sessions.
+ req = Tr069MessageBuilder.get_inform(
+ '48BF74', 'BaiBS_RTS_3.1.6',
+ '120200002618AGP0003',
+ ['1 BOOT', 'M Reboot'],
+ )
+ resp = acs_state_machine.handle_tr069_message(req)
+ self.assertTrue(
+ isinstance(resp, models.DummyInput),
+ 'After receiving a post-reboot Inform, enodebd '
+ 'should end TR-069 sessions for 10 minutes to wait '
+ 'for REM process to finish.',
+ )
+
+ # Pretend that we have waited, and now we are in normal operation again
+ acs_state_machine.transition('wait_inform_post_reboot')
+ req = Tr069MessageBuilder.get_inform(
+ '48BF74', 'BaiBS_RTS_3.1.6',
+ '120200002618AGP0003',
+ ['2 PERIODIC'],
+ )
+ resp = acs_state_machine.handle_tr069_message(req)
+ self.assertTrue(
+ isinstance(resp, models.InformResponse),
+ 'After receiving a post-reboot Inform, enodebd '
+ 'should end TR-069 sessions for 10 minutes to wait '
+ 'for REM process to finish.',
+ )
+
+ # Since we haven't figured out the presence of optional parameters, the
+ # state machine should be requesting them now. There are three for the
+ # Baicells state machine.
+ req = models.DummyInput()
+ resp = acs_state_machine.handle_tr069_message(req)
+ self.assertTrue(
+ isinstance(resp, models.GetParameterValues),
+ 'enodebd should be requesting params',
+ )
+ self.assertTrue(
+ len(resp.ParameterNames.string) == 1,
+ 'Should be requesting optional params.',
+ )
+ req = Tr069MessageBuilder.get_fault()
+ resp = acs_state_machine.handle_tr069_message(req)
+ self.assertTrue(
+ isinstance(resp, models.GetParameterValues),
+ 'State machine should be requesting param',
+ )
+ self.assertTrue(
+ len(resp.ParameterNames.string) == 1,
+ 'Should be requesting optional params.',
+ )
+ req = Tr069MessageBuilder.get_fault()
+ resp = acs_state_machine.handle_tr069_message(req)
+ self.assertTrue(
+ isinstance(resp, models.GetParameterValues),
+ 'State machine should be requesting param',
+ )
+ self.assertTrue(
+ len(resp.ParameterNames.string) == 1,
+ 'Should be requesting optional params.',
+ )
+
+ def test_missing_mme_timeout_handler(self) -> None:
+ acs_state_machine = \
+ EnodebAcsStateMachineBuilder \
+ .build_acs_state_machine(EnodebDeviceName.BAICELLS)
+
+ # Send an Inform message, wait for an InformResponse
+ inform_msg = Tr069MessageBuilder.get_inform(
+ '48BF74',
+ 'BaiBS_RTS_3.1.6',
+ '120200002618AGP0003',
+ ['2 PERIODIC'],
+ )
+ acs_state_machine.handle_tr069_message(inform_msg)
+ # Send an empty http request to kick off the rest of provisioning
+ req = models.DummyInput()
+ acs_state_machine.handle_tr069_message(req)
+
+ acs_state_machine.mme_timeout_handler.cancel()
+ acs_state_machine.mme_timeout_handler = None
+
+ # Send an Inform message, wait for an InformResponse
+ inform_msg = Tr069MessageBuilder.get_inform(
+ '48BF74',
+ 'BaiBS_RTS_3.1.6',
+ '120200002618AGP0003',
+ ['2 PERIODIC'],
+ )
+ acs_state_machine.handle_tr069_message(inform_msg)
+
+ def test_fault_after_set_parameters(self) -> None:
+ acs_state_machine = \
+ EnodebAcsStateMachineBuilder \
+ .build_acs_state_machine(EnodebDeviceName.BAICELLS)
+
+ # Send an Inform message, wait for an InformResponse
+ inform_msg = Tr069MessageBuilder.get_inform(
+ '48BF74',
+ 'BaiBS_RTS_3.1.6',
+ '120200002618AGP0003',
+ ['2 PERIODIC'],
+ )
+ resp = acs_state_machine.handle_tr069_message(inform_msg)
+ self.assertTrue(
+ isinstance(resp, models.InformResponse),
+ 'Should respond with an InformResponse',
+ )
+
+ # Send an empty http request to kick off the rest of provisioning
+ req = models.DummyInput()
+ resp = acs_state_machine.handle_tr069_message(req)
+
+ # Expect a request for an optional parameter, three times
+ self.assertTrue(
+ isinstance(resp, models.GetParameterValues),
+ 'State machine should be requesting param values',
+ )
+ req = Tr069MessageBuilder.get_fault()
+ resp = acs_state_machine.handle_tr069_message(req)
+ self.assertTrue(
+ isinstance(resp, models.GetParameterValues),
+ 'State machine should be requesting param values',
+ )
+ req = Tr069MessageBuilder.get_fault()
+ resp = acs_state_machine.handle_tr069_message(req)
+ self.assertTrue(
+ isinstance(resp, models.GetParameterValues),
+ 'State machine should be requesting param values',
+ )
+ req = Tr069MessageBuilder.get_fault()
+ resp = acs_state_machine.handle_tr069_message(req)
+
+ # Expect a request for read-only params
+ self.assertTrue(
+ isinstance(resp, models.GetParameterValues),
+ 'State machine should be requesting param values',
+ )
+ req = Tr069MessageBuilder.get_read_only_param_values_response()
+
+ # Send back some typical values
+ # And then SM should request regular parameter values
+ resp = acs_state_machine.handle_tr069_message(req)
+ self.assertTrue(
+ isinstance(resp, models.GetParameterValues),
+ 'State machine should be requesting param values',
+ )
+
+ # Send back typical values for the regular parameters
+ req = Tr069MessageBuilder.get_regular_param_values_response()
+ resp = acs_state_machine.handle_tr069_message(req)
+
+ # SM will be requesting object parameter values
+ self.assertTrue(
+ isinstance(resp, models.GetParameterValues),
+ 'State machine should be requesting object param vals',
+ )
+
+ # Send back some typical values for object parameters
+ req = Tr069MessageBuilder.get_object_param_values_response()
+ resp = acs_state_machine.handle_tr069_message(req)
+
+ # In this scenario, the ACS and thus state machine will not need
+ # to delete or add objects to the eNB configuration.
+ # SM should then just be attempting to set parameter values
+ self.assertTrue(
+ isinstance(resp, models.SetParameterValues),
+ 'State machine should be setting param values',
+ )
+
+ req = models.Fault()
+ req.FaultCode = 12345
+ req.FaultString = 'Test FaultString'
+ acs_state_machine.handle_tr069_message(req)
+ self.assertTrue(
+ 'Error' in acs_state_machine.get_state(),
+ 'Should be in error state',
+ )
+
+ def test_autoremediation_from_fault(self):
+ """
+ Transition the state machine into the unexpected fault state, then
+ verify that it transitions itself back to WaitInform after an Inform
+ is received.
+ """
+ sm = EnodebAcsStateMachineBuilder.build_acs_state_machine(
+ EnodebDeviceName.BAICELLS,
+ )
+
+ # Send an initial inform
+ inform_msg = Tr069MessageBuilder.get_inform(
+ '48BF74',
+ 'BaiBS_RTS_3.1.6',
+ '120200002618AGP0003',
+ ['2 PERIODIC'],
+ )
+ resp = sm.handle_tr069_message(inform_msg)
+ self.assertTrue(
+ isinstance(resp, models.InformResponse),
+ 'Should respond with an InformResponse',
+ )
+
+ # Now send a fault
+ req = models.Fault()
+ req.FaultCode = 12345
+ req.FaultString = 'Test FaultString'
+ sm.handle_tr069_message(req)
+ self.assertTrue('Error' in sm.get_state(), 'Should be in error state')
+
+ # Send the Inform again, verify SM transitions out of fault
+ resp = sm.handle_tr069_message(inform_msg)
+ self.assertTrue(isinstance(resp, models.DummyInput))
+ self.assertEqual('Waiting for an Inform', sm.get_state())
diff --git a/tests/cavium_tests.py b/tests/cavium_tests.py
new file mode 100644
index 0000000..7cc9b9a
--- /dev/null
+++ b/tests/cavium_tests.py
@@ -0,0 +1,171 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+from data_models.data_model_parameters import ParameterName
+# pylint: disable=protected-access
+from devices.device_utils import EnodebDeviceName
+from tests.test_utils.enb_acs_builder import (
+ EnodebAcsStateMachineBuilder,
+)
+from tests.test_utils.enodeb_handler import EnodebHandlerTestCase
+from tests.test_utils.tr069_msg_builder import Tr069MessageBuilder
+from tr069 import models
+
+
+class CaviumHandlerTests(EnodebHandlerTestCase):
+ def test_count_plmns_less(self) -> None:
+ """
+ Tests the Cavium provisioning up to GetObjectParameters.
+
+ In particular tests when the eNB reports NUM_PLMNS less
+ than actually listed. The eNB says there are no PLMNs
+ defined when actually there are two.
+
+ Verifies that the number of PLMNs is correctly accounted.
+ """
+ acs_state_machine = \
+ EnodebAcsStateMachineBuilder \
+ .build_acs_state_machine(EnodebDeviceName.CAVIUM)
+
+ # Send an Inform message
+ inform_msg = Tr069MessageBuilder.get_inform(
+ '000FB7',
+ 'OC-LTE',
+ '120200002618AGP0003',
+ ['1 BOOT'],
+ )
+ resp = acs_state_machine.handle_tr069_message(inform_msg)
+
+ self.assertTrue(
+ isinstance(resp, models.InformResponse),
+ 'Should respond with an InformResponse',
+ )
+
+ # Send an empty http request to kick off the rest of provisioning
+ req = models.DummyInput()
+ resp = acs_state_machine.handle_tr069_message(req)
+ self.assertTrue(
+ isinstance(resp, models.GetParameterValues),
+ 'State machine should be requesting param values: %s' % resp,
+ )
+
+ # Transient config response and request for parameter values
+ req = Tr069MessageBuilder.get_read_only_param_values_response()
+ resp = acs_state_machine.handle_tr069_message(req)
+ self.assertTrue(
+ isinstance(resp, models.GetParameterValues),
+ 'State machine should be requesting param values: %s' % resp,
+ )
+
+ # Send back typical values for the regular parameters
+ req = Tr069MessageBuilder.get_cavium_param_values_response(num_plmns=0)
+ resp = acs_state_machine.handle_tr069_message(req)
+
+ # SM will be requesting object parameter values
+ self.assertTrue(
+ isinstance(resp, models.GetParameterValues),
+ 'State machine should be requesting object param vals',
+ )
+
+ # Send back some object parameters with TWO plmns
+ req = Tr069MessageBuilder.get_cavium_object_param_values_response(
+ num_plmns=2,
+ )
+ resp = acs_state_machine.handle_tr069_message(req)
+
+ # In this scenario, the ACS and thus state machine will not need
+ # to delete or add objects to the eNB configuration.
+ # SM should then just be attempting to set parameter values
+ self.assertTrue(
+ isinstance(resp, models.SetParameterValues),
+ 'State machine should be setting param values',
+ )
+
+ # Number of PLMNs should reflect object count
+ num_plmns_cur = \
+ acs_state_machine \
+ .device_cfg.get_parameter(ParameterName.NUM_PLMNS)
+ self.assertEqual(num_plmns_cur, 2)
+
+ def test_count_plmns_more_defined(self) -> None:
+ """
+ Tests the Cavium provisioning up to GetObjectParameters.
+
+ In particular tests when the eNB has more PLMNs than is
+ currently defined in our data model (NUM_PLMNS_IN_CONFIG)
+ """
+ acs_state_machine = \
+ EnodebAcsStateMachineBuilder \
+ .build_acs_state_machine(EnodebDeviceName.CAVIUM)
+
+ # Send an Inform message
+ inform_msg = Tr069MessageBuilder.get_inform(
+ '000FB7',
+ 'OC-LTE',
+ '120200002618AGP0003',
+ ['1 BOOT'],
+ )
+ resp = acs_state_machine.handle_tr069_message(inform_msg)
+
+ self.assertTrue(
+ isinstance(resp, models.InformResponse),
+ 'Should respond with an InformResponse',
+ )
+
+ # Send an empty http request to kick off the rest of provisioning
+ req = models.DummyInput()
+ resp = acs_state_machine.handle_tr069_message(req)
+ self.assertTrue(
+ isinstance(resp, models.GetParameterValues),
+ 'State machine should be requesting param values: %s' % resp,
+ )
+
+ # Transient config response and request for parameter values
+ req = Tr069MessageBuilder.get_read_only_param_values_response()
+ resp = acs_state_machine.handle_tr069_message(req)
+ self.assertTrue(
+ isinstance(resp, models.GetParameterValues),
+ 'State machine should be requesting param values: %s' % resp,
+ )
+
+ # Send back regular parameters, and some absurd number of PLMNS
+ req = Tr069MessageBuilder.get_cavium_param_values_response(
+ num_plmns=100,
+ )
+ resp = acs_state_machine.handle_tr069_message(req)
+
+ # SM will be requesting object parameter values
+ self.assertTrue(
+ isinstance(resp, models.GetParameterValues),
+ 'State machine should be requesting object param vals',
+ )
+
+ # Send back some object parameters with an absurd number of PLMNs
+ req = Tr069MessageBuilder.get_cavium_object_param_values_response(
+ num_plmns=100,
+ )
+ resp = acs_state_machine.handle_tr069_message(req)
+
+ # In this scenario, the ACS and thus state machine will not need
+ # to delete or add objects to the eNB configuration.
+ # SM should then just be attempting to set parameter values
+ self.assertTrue(
+ isinstance(resp, models.SetParameterValues),
+ 'State machine should be setting param values',
+ )
+
+ # Number of PLMNs should reflect data model
+ num_plmns_cur = \
+ acs_state_machine \
+ .device_cfg.get_parameter(ParameterName.NUM_PLMNS)
+ self.assertEqual(num_plmns_cur, 6)
diff --git a/tests/configuration_init_tests.py b/tests/configuration_init_tests.py
new file mode 100644
index 0000000..5db4ffa
--- /dev/null
+++ b/tests/configuration_init_tests.py
@@ -0,0 +1,268 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+# pylint: disable=protected-access
+from unittest import TestCase
+
+from data_models.data_model_parameters import ParameterName
+from device_config.configuration_init import (
+ _get_enb_config,
+ _set_bandwidth,
+ _set_earfcn_freq_band_mode,
+ _set_management_server,
+ _set_misc_static_params,
+ _set_pci,
+ _set_perf_mgmt,
+ _set_plmnids_tac,
+ _set_s1_connection,
+ _set_tdd_subframe_config,
+)
+from device_config.enodeb_configuration import EnodebConfiguration
+from devices.baicells import BaicellsTrDataModel
+from exceptions import ConfigurationError
+from tests.test_utils.config_builder import EnodebConfigBuilder
+
+
+class EnodebConfigurationFactoryTest(TestCase):
+
+ def setUp(self):
+ self.data_model = BaicellsTrDataModel()
+ self.cfg = EnodebConfiguration(BaicellsTrDataModel())
+ self.device_cfg = EnodebConfiguration(BaicellsTrDataModel())
+
+ def tearDown(self):
+ self.data_model = None
+ self.cfg = None
+ self.device_cfg = None
+
+ def test_set_pci(self):
+ pci = 3
+ _set_pci(self.cfg, pci)
+ self.assertEqual(
+ self.cfg.get_parameter(ParameterName.PCI), pci,
+ 'PCI value should be same as what was set',
+ )
+ with self.assertRaises(ConfigurationError):
+ _set_pci(self.cfg, 505)
+
+ def test_set_bandwidth(self):
+ mhz = 15
+ _set_bandwidth(self.cfg, self.data_model, mhz)
+ self.assertEqual(
+ self.cfg.get_parameter(ParameterName.DL_BANDWIDTH),
+ mhz,
+ 'Should have set %s' % ParameterName.DL_BANDWIDTH,
+ )
+ self.assertEqual(
+ self.cfg.get_parameter(ParameterName.UL_BANDWIDTH),
+ mhz,
+ 'Should have set %s' % ParameterName.UL_BANDWIDTH,
+ )
+
+ def test_set_tdd_subframe_config(self):
+ # Not TDD mode, should not try to set anything
+ self.device_cfg.set_parameter(
+ ParameterName.DUPLEX_MODE_CAPABILITY, 'Not TDDMode',
+ )
+ subframe = 0
+ special_subframe = 0
+ _set_tdd_subframe_config(
+ self.device_cfg, self.cfg, subframe,
+ special_subframe,
+ )
+ self.assertTrue(
+ ParameterName.SUBFRAME_ASSIGNMENT not in
+ self.cfg.get_parameter_names(),
+ )
+
+ # Invalid subframe assignment
+ self.device_cfg.set_parameter(
+ ParameterName.DUPLEX_MODE_CAPABILITY, 'TDDMode',
+ )
+ _set_tdd_subframe_config(
+ self.device_cfg, self.cfg, subframe,
+ special_subframe,
+ )
+ self.assertIn(
+ ParameterName.SUBFRAME_ASSIGNMENT,
+ self.cfg.get_parameter_names(),
+ 'Expected a subframe assignment',
+ )
+
+ def test_set_management_server(self):
+ _set_management_server(self.cfg)
+ self.assertEqual(
+ self.cfg.get_parameter(ParameterName.PERIODIC_INFORM_ENABLE),
+ True, 'Expected periodic inform enable to be true',
+ )
+ self.assertTrue(
+ isinstance(
+ self.cfg.get_parameter(ParameterName.PERIODIC_INFORM_INTERVAL),
+ int,
+ ),
+ 'Expected periodic inform interval to ani integer',
+ )
+
+ def test_set_s1_connection(self):
+ invalid_mme_ip = 1234
+ invalid_mme_port = '8080'
+ mme_ip = '192.168.0.1'
+ mme_port = 8080
+
+ # MME IP should be a string
+ with self.assertRaises(ConfigurationError):
+ _set_s1_connection(self.cfg, invalid_mme_ip, mme_port)
+
+ # MME Port should be an integer
+ with self.assertRaises(ConfigurationError):
+ _set_s1_connection(self.cfg, mme_ip, invalid_mme_port)
+
+ # Check the ip and port are sort properly
+ _set_s1_connection(self.cfg, mme_ip, mme_port)
+ self.assertEqual(
+ self.cfg.get_parameter(ParameterName.MME_IP), mme_ip,
+ 'Expected mme ip to be set',
+ )
+ self.assertEqual(
+ self.cfg.get_parameter(ParameterName.MME_PORT), mme_port,
+ 'Expected mme port to be set',
+ )
+
+ def test_set_perf_mgmt(self):
+ mgmt_ip = '192.168.0.1'
+ mgmt_upload_interval = 300
+ mgmt_port = 8080
+ _set_perf_mgmt(self.cfg, mgmt_ip, mgmt_port)
+ self.assertTrue(
+ self.cfg.get_parameter(ParameterName.PERF_MGMT_ENABLE),
+ 'Expected perf mgmt to be enabled',
+ )
+ self.assertEqual(
+ self.cfg.get_parameter(ParameterName.PERF_MGMT_UPLOAD_INTERVAL),
+ mgmt_upload_interval, 'Expected upload interval to be set',
+ )
+ expected_url = 'http://192.168.0.1:8080/'
+ self.assertEqual(
+ self.cfg.get_parameter(ParameterName.PERF_MGMT_UPLOAD_URL),
+ expected_url, 'Incorrect Url',
+ )
+
+ def test_set_misc_static_params(self):
+ # IPSec enable as integer
+ self.device_cfg.set_parameter(ParameterName.IP_SEC_ENABLE, 0)
+ self.data_model.set_parameter_presence(ParameterName.GPS_ENABLE, True)
+ _set_misc_static_params(self.device_cfg, self.cfg, self.data_model)
+ self.assertTrue(
+ isinstance(
+ self.cfg.get_parameter(ParameterName.IP_SEC_ENABLE), int,
+ ),
+ 'Should support an integer IP_SEC_ENABLE parameter',
+ )
+
+ # IPSec enable as boolean
+ self.device_cfg.set_parameter(ParameterName.IP_SEC_ENABLE, 'False')
+ _set_misc_static_params(self.device_cfg, self.cfg, self.data_model)
+ self.assertTrue(
+ isinstance(
+ self.cfg.get_parameter(ParameterName.IP_SEC_ENABLE), bool,
+ ),
+ 'Should support a boolean IP_SEC_ENABLE parameter',
+ )
+ self.assertEqual(
+ self.cfg.get_parameter(ParameterName.LOCAL_GATEWAY_ENABLE), 0,
+ 'Should be disabled',
+ )
+ self.assertEqual(
+ self.cfg.get_parameter(ParameterName.CELL_RESERVED), False,
+ 'Should be disabled',
+ )
+ self.assertEqual(
+ self.cfg.get_parameter(ParameterName.MME_POOL_ENABLE), False,
+ 'Should be disabled',
+ )
+
+ def test_set_plmnids_tac(self):
+ # We only handle a single PLMNID for now
+ plmnids = '1, 2, 3, 4'
+ tac = 1
+ with self.assertRaises(ConfigurationError):
+ _set_plmnids_tac(self.cfg, plmnids, tac)
+
+ # Max PLMNID length is 6 characters
+ plmnids = '1234567'
+ with self.assertRaises(ConfigurationError):
+ _set_plmnids_tac(self.cfg, plmnids, tac)
+
+ # Check that only one PLMN element is enabled
+ plmnids = '1'
+ _set_plmnids_tac(self.cfg, plmnids, tac)
+ self.assertTrue(
+ self.cfg.get_parameter_for_object(
+ ParameterName.PLMN_N_ENABLE % 1, ParameterName.PLMN_N % 1,
+ ),
+ 'First PLMN should be enabled',
+ )
+ self.assertFalse(
+ self.cfg.has_object(ParameterName.PLMN_N % 2),
+ 'Second PLMN should be disabled',
+ )
+
+ def test_set_earafcn_freq_band_mode(self):
+ # Invalid earfcndl
+ with self.assertRaises(ConfigurationError):
+ invalid_earfcndl = -1
+ _set_earfcn_freq_band_mode(
+ self.device_cfg, self.cfg,
+ self.data_model, invalid_earfcndl,
+ )
+
+ # Duplex_mode is TDD but capability is FDD
+ with self.assertRaises(ConfigurationError):
+ self.device_cfg.set_parameter(
+ ParameterName.DUPLEX_MODE_CAPABILITY, 'FDDMode',
+ )
+ earfcndl = 38650 # Corresponds to TDD
+ _set_earfcn_freq_band_mode(
+ self.device_cfg, self.cfg,
+ self.data_model, earfcndl,
+ )
+
+ # Duplex_mode is FDD but capability is TDD
+ with self.assertRaises(ConfigurationError):
+ self.device_cfg.set_parameter(
+ ParameterName.DUPLEX_MODE_CAPABILITY, 'TDDMode',
+ )
+ earfcndl = 0 # Corresponds to FDD
+ _set_earfcn_freq_band_mode(
+ self.device_cfg, self.cfg,
+ self.data_model, earfcndl,
+ )
+
+ def test_get_enb_config(self):
+ mconfig = EnodebConfigBuilder.get_mconfig()
+ enb_config = _get_enb_config(mconfig, self.device_cfg)
+ self.assertTrue(
+ enb_config.earfcndl == 39150,
+ "Should give earfcndl from default eNB config",
+ )
+
+ mconfig = EnodebConfigBuilder.get_multi_enb_mconfig()
+ self.device_cfg.set_parameter(
+ ParameterName.SERIAL_NUMBER,
+ '120200002618AGP0003',
+ )
+ enb_config = _get_enb_config(mconfig, self.device_cfg)
+ self.assertTrue(
+ enb_config.earfcndl == 39151,
+ "Should give earfcndl from specific eNB config",
+ )
diff --git a/tests/data_model_tests.py b/tests/data_model_tests.py
new file mode 100644
index 0000000..e813354
--- /dev/null
+++ b/tests/data_model_tests.py
@@ -0,0 +1,137 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+# pylint: disable=protected-access
+
+from unittest import TestCase
+
+from data_models.data_model_parameters import ParameterName
+from devices.baicells import BaicellsTrDataModel
+
+
+class BaicellsTrDataModelTest(TestCase):
+ """
+ Tests for BaicellsTrDataModel
+ """
+
+ def test_is_parameter_present(self):
+ data_model = BaicellsTrDataModel()
+ with self.assertRaises(KeyError):
+ data_model.is_parameter_present(ParameterName.GPS_LONG)
+
+ result = data_model.is_parameter_present(ParameterName.DEVICE)
+ self.assertTrue(result, "Should have the device parameter")
+
+ def test_get_parameter(self):
+ param_info =\
+ BaicellsTrDataModel.get_parameter(ParameterName.GPS_STATUS)
+ self.assertIsNotNone(
+ param_info,
+ 'Cannot get parameter info on %s' % ParameterName.GPS_STATUS,
+ )
+ path = param_info.path
+ expected_path = 'Device.DeviceInfo.X_BAICELLS_COM_GPS_Status'
+ self.assertEqual(
+ path,
+ expected_path,
+ 'Path for parameter %s has incorrect value' %
+ ParameterName.GPS_STATUS,
+ )
+
+ def test_get_num_plmns(self):
+ n_plmns = BaicellsTrDataModel.get_num_plmns()
+ expected_n_plmns = 6
+ self.assertEqual(n_plmns, expected_n_plmns, 'Incorrect # of PLMNs')
+
+ def test_get_parameter_names(self):
+ name_list = BaicellsTrDataModel.get_parameter_names()
+
+ # Check that some random parameter names we expect are there
+ self.assertIn(
+ ParameterName.MME_STATUS, name_list,
+ 'Should have %s in parameter name list' %
+ ParameterName.MME_STATUS,
+ )
+ self.assertIn(
+ ParameterName.DUPLEX_MODE_CAPABILITY, name_list,
+ 'Should have %s in parameter name list' %
+ ParameterName.DUPLEX_MODE_CAPABILITY,
+ )
+ self.assertIn(
+ ParameterName.EARFCNUL, name_list,
+ 'Should have %s in parameter name list' %
+ ParameterName.EARFCNUL,
+ )
+
+ # Check that some other parameter names are missing
+ self.assertNotIn(
+ ParameterName.PLMN, name_list,
+ 'Should not have %s in parameter name list' %
+ ParameterName.PLMN,
+ )
+ self.assertNotIn(
+ ParameterName.PLMN_N % 1, name_list,
+ 'Should not have %s in parameter name list' %
+ ParameterName.PLMN_N % 1,
+ )
+
+ def test_get_numbered_param_names(self):
+ name_list = list(BaicellsTrDataModel.get_numbered_param_names().keys())
+
+ # Check that unnumbered parameters are missing
+ self.assertNotIn(
+ ParameterName.EARFCNDL, name_list,
+ 'Should not have %s in parameter name list' %
+ ParameterName.EARFCNDL,
+ )
+ self.assertNotIn(
+ ParameterName.MME_PORT, name_list,
+ 'Should not have %s in parameter name list' %
+ ParameterName.MME_PORT,
+ )
+ self.assertNotIn(
+ ParameterName.PERIODIC_INFORM_ENABLE, name_list,
+ 'Should not have %s in parameter name list' %
+ ParameterName.PERIODIC_INFORM_ENABLE,
+ )
+
+ # Check that some numbered parameters are present
+ self.assertIn(
+ ParameterName.PLMN_N % 1, name_list,
+ 'Should have %s in parameter name list' %
+ ParameterName.PLMN_N % 1,
+ )
+ self.assertIn(
+ ParameterName.PLMN_N % 6, name_list,
+ 'Should have %s in parameter name list' %
+ ParameterName.PLMN_N % 6,
+ )
+
+ def test_transform_for_magma(self):
+ gps_lat = str(10 * 1000000)
+ gps_lat_magma = BaicellsTrDataModel.transform_for_magma(
+ ParameterName.GPS_LAT, gps_lat,
+ )
+ expected = str(10.0)
+ self.assertEqual(gps_lat_magma, expected)
+
+ def test_transform_for_enb(self):
+ dl_bandwidth = 15
+ dl_bandwidth_enb = BaicellsTrDataModel.transform_for_enb(
+ ParameterName.DL_BANDWIDTH, dl_bandwidth,
+ )
+ expected = 'n75'
+ self.assertEqual(
+ dl_bandwidth_enb, expected,
+ 'Transform for enb returning incorrect value',
+ )
diff --git a/tests/device_utils_tests.py b/tests/device_utils_tests.py
new file mode 100644
index 0000000..c1d82d2
--- /dev/null
+++ b/tests/device_utils_tests.py
@@ -0,0 +1,94 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+# pylint: disable=protected-access
+
+from unittest import TestCase
+
+from devices.device_utils import (
+ EnodebDeviceName,
+ _parse_sw_version,
+ get_device_name,
+)
+from exceptions import UnrecognizedEnodebError
+
+
+class EnodebConfigUtilsTest(TestCase):
+ def test_get_device_name(self) -> None:
+ # Baicells
+ oui = '34ED0B'
+ version = 'BaiStation_V100R001C00B110SPC003'
+ data_model = get_device_name(oui, version)
+ expected = EnodebDeviceName.BAICELLS
+ self.assertEqual(data_model, expected, 'Incorrect data model')
+
+ # Baicells before bug-fix
+ oui = '34ED0B'
+ version = 'BaiStation_V100R001C00B110SPC002'
+ data_model = get_device_name(oui, version)
+ expected = EnodebDeviceName.BAICELLS_OLD
+ self.assertEqual(data_model, expected, 'Incorrect data model')
+
+ # Baicells QAFB
+ oui = '48BF74'
+ version = 'BaiBS_QAFB_some_version'
+ data_model = get_device_name(oui, version)
+ expected = EnodebDeviceName.BAICELLS_QAFB
+ self.assertEqual(data_model, expected, 'Incorrect data model')
+
+ # Cavium
+ oui = '000FB7'
+ version = 'Some version of Cavium'
+ data_model = get_device_name(oui, version)
+ expected = EnodebDeviceName.CAVIUM
+ self.assertEqual(data_model, expected, 'Incorrect data model')
+
+ # Unsupported device OUI
+ oui = 'beepboopbeep'
+ version = 'boopboopboop'
+ with self.assertRaises(UnrecognizedEnodebError):
+ get_device_name(oui, version)
+
+ # Unsupported software version for Baicells
+ oui = '34ED0B'
+ version = 'blingblangblong'
+ with self.assertRaises(UnrecognizedEnodebError):
+ get_device_name(oui, version)
+
+ def test_parse_version(self):
+ """ Test that version string is parsed correctly """
+ self.assertEqual(
+ _parse_sw_version('BaiStation_V100R001C00B110SPC003'),
+ [100, 1, 0, 110, 3],
+ )
+ self.assertEqual(
+ _parse_sw_version('BaiStation_V100R001C00B060SPC012'),
+ [100, 1, 0, 60, 12],
+ )
+ self.assertEqual(
+ _parse_sw_version('BaiStation_V100R001C00B060SPC012_FB_3'),
+ [100, 1, 0, 60, 12],
+ )
+ # Incorrect number of digits
+ self.assertEqual(
+ _parse_sw_version('BaiStation_V10R001C00B060SPC012'),
+ None,
+ )
+ self.assertEqual(
+ _parse_sw_version('XYZ123'),
+ None,
+ )
+ self.assertEqual(
+ _parse_sw_version(''),
+ None,
+ )
diff --git a/tests/enb_acs_manager_tests.py b/tests/enb_acs_manager_tests.py
new file mode 100644
index 0000000..c7147e0
--- /dev/null
+++ b/tests/enb_acs_manager_tests.py
@@ -0,0 +1,325 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+# pylint: disable=protected-access
+from unittest import TestCase
+
+from state_machines.enb_acs_manager import StateMachineManager
+from tests.test_utils.enb_acs_builder import (
+ EnodebAcsStateMachineBuilder,
+)
+from tests.test_utils.spyne_builder import (
+ get_spyne_context_with_ip,
+)
+from tests.test_utils.tr069_msg_builder import Tr069MessageBuilder
+from tr069 import models
+
+
+class StateMachineManagerTests(TestCase):
+ def test_handle_one_ip(self):
+ manager = self._get_manager()
+
+ # Send in an Inform message, and we should get an InformResponse
+ ctx = get_spyne_context_with_ip()
+ inform = Tr069MessageBuilder.get_inform()
+ req = manager.handle_tr069_message(ctx, inform)
+ self.assertTrue(
+ isinstance(req, models.InformResponse),
+ 'State machine handler should reply with an '
+ 'InformResponse',
+ )
+
+ def test_serial_not_found(self):
+ """
+ Test that the SM manager doesn't crash if serial number is not found
+ in an Inform message under any expected param path.
+ """
+ manager = self._get_manager()
+ ctx = get_spyne_context_with_ip("192.168.60.145")
+ inform_msg = models.Inform(
+ DeviceId=models.DeviceIdStruct(
+ Manufacturer='Unused',
+ OUI='48BF74',
+ ProductClass='Unused',
+ ),
+ Event=models.EventList(EventStruct=[]),
+ ParameterList=models.ParameterValueList(
+ ParameterValueStruct=[
+ Tr069MessageBuilder.get_parameter_value_struct(
+ name='Device.DeviceInfo.HardwareVersion',
+ val_type='string',
+ data='VER.C',
+ ),
+ Tr069MessageBuilder.get_parameter_value_struct(
+ name='Device.DeviceInfo.ManufacturerOUI',
+ val_type='string',
+ data='48BF74',
+ ),
+ Tr069MessageBuilder.get_parameter_value_struct(
+ name='Device.DeviceInfo.SoftwareVersion',
+ val_type='string',
+ data='BaiBS_RTS_3.1.6',
+ ),
+ ],
+ ),
+ )
+
+ # No exception should be thrown, and we should return an empty response
+ resp = manager.handle_tr069_message(ctx, inform_msg)
+ self.assertTrue(isinstance(resp, models.DummyInput))
+
+ def test_handle_two_ips(self):
+ manager = self._get_manager()
+ ctx1 = get_spyne_context_with_ip("192.168.60.145")
+ ctx2 = get_spyne_context_with_ip("192.168.60.99")
+
+ ##### Start session for the first IP #####
+ # Send an Inform message, wait for an InformResponse
+ inform_msg = Tr069MessageBuilder.get_inform(
+ '48BF74',
+ 'BaiBS_RTS_3.1.6',
+ '120200002618AGP0001',
+ )
+ resp1 = manager.handle_tr069_message(ctx1, inform_msg)
+ self.assertTrue(
+ isinstance(resp1, models.InformResponse),
+ 'Should respond with an InformResponse',
+ )
+
+ # Send an empty http request to kick off the rest of provisioning
+ req1 = models.DummyInput()
+ resp1 = manager.handle_tr069_message(ctx1, req1)
+
+ # Expect a request for an optional parameter, three times
+ self.assertTrue(
+ isinstance(resp1, models.GetParameterValues),
+ 'State machine should be requesting param values',
+ )
+ req1 = Tr069MessageBuilder.get_fault()
+ resp1 = manager.handle_tr069_message(ctx1, req1)
+ self.assertTrue(
+ isinstance(resp1, models.GetParameterValues),
+ 'State machine should be requesting param values',
+ )
+
+ ##### Start session for the second IP #####
+ # Send an Inform message, wait for an InformResponse
+ inform_msg = Tr069MessageBuilder.get_inform(
+ '48BF74',
+ 'BaiBS_RTS_3.1.6',
+ '120200002618AGP0002',
+ )
+ resp2 = manager.handle_tr069_message(ctx2, inform_msg)
+ self.assertTrue(
+ isinstance(resp2, models.InformResponse),
+ 'Should respond with an InformResponse',
+ )
+
+ ##### Continue session for the first IP #####
+ req1 = Tr069MessageBuilder.get_fault()
+ resp1 = manager.handle_tr069_message(ctx1, req1)
+ self.assertTrue(
+ isinstance(resp1, models.GetParameterValues),
+ 'State machine should be requesting param values',
+ )
+ req1 = Tr069MessageBuilder.get_fault()
+ resp1 = manager.handle_tr069_message(ctx1, req1)
+ # Expect a request for read-only params
+ self.assertTrue(
+ isinstance(resp1, models.GetParameterValues),
+ 'State machine should be requesting param values',
+ )
+
+ ##### Continue session for the second IP #####
+ # Send an empty http request to kick off the rest of provisioning
+ req2 = models.DummyInput()
+ resp2 = manager.handle_tr069_message(ctx2, req2)
+ # Expect a request for an optional parameter, three times
+ self.assertTrue(
+ isinstance(resp2, models.GetParameterValues),
+ 'State machine should be requesting param values',
+ )
+ req2 = Tr069MessageBuilder.get_fault()
+ resp2 = manager.handle_tr069_message(ctx2, req2)
+ self.assertTrue(
+ isinstance(resp2, models.GetParameterValues),
+ 'State machine should be requesting param values',
+ )
+ req2 = Tr069MessageBuilder.get_fault()
+ resp2 = manager.handle_tr069_message(ctx2, req2)
+ self.assertTrue(
+ isinstance(resp2, models.GetParameterValues),
+ 'State machine should be requesting param values',
+ )
+ req2 = Tr069MessageBuilder.get_fault()
+ resp2 = manager.handle_tr069_message(ctx2, req2)
+ # Expect a request for read-only params
+ self.assertTrue(
+ isinstance(resp2, models.GetParameterValues),
+ 'State machine should be requesting param values',
+ )
+
+ def test_handle_registered_enb(self):
+ """
+ When we have a config with eNB registered per serial, we should accept
+ TR-069 sessions from any registered eNB, and ereject from unregistered
+ eNB devices.
+ """
+ manager = self._get_manager_multi_enb()
+ ip1 = "192.168.60.145"
+ ctx1 = get_spyne_context_with_ip(ip1)
+ inform_msg = Tr069MessageBuilder.get_inform(
+ '48BF74',
+ 'BaiBS_RTS_3.1.6',
+ '120200002618AGP0003',
+ )
+ resp1 = manager.handle_tr069_message(ctx1, inform_msg)
+ self.assertTrue(
+ isinstance(resp1, models.InformResponse),
+ 'Should respond with an InformResponse',
+ )
+
+ ip2 = "192.168.60.146"
+ ctx2 = get_spyne_context_with_ip(ip2)
+ inform_msg = Tr069MessageBuilder.get_inform(
+ '48BF74',
+ 'BaiBS_RTS_3.1.6',
+ 'unregistered_serial',
+ )
+
+ resp2 = manager.handle_tr069_message(ctx2, inform_msg)
+ self.assertTrue(
+ isinstance(resp2, models.DummyInput),
+ 'Should respond with an empty HTTP response',
+ )
+
+ def test_ip_change(self) -> None:
+ manager = self._get_manager()
+
+ # Send an Inform
+ ip1 = "192.168.60.145"
+ ctx1 = get_spyne_context_with_ip(ip1)
+ inform_msg = Tr069MessageBuilder.get_inform(
+ '48BF74',
+ 'BaiBS_RTS_3.1.6',
+ '120200002618AGP0003',
+ )
+ resp1 = manager.handle_tr069_message(ctx1, inform_msg)
+ self.assertTrue(
+ isinstance(resp1, models.InformResponse),
+ 'Should respond with an InformResponse',
+ )
+ handler1 = manager.get_handler_by_ip(ip1)
+
+ # Send an Inform from the same serial, but different IP
+ ip2 = "192.168.60.99"
+ ctx2 = get_spyne_context_with_ip(ip2)
+ inform_msg = Tr069MessageBuilder.get_inform(
+ '48BF74',
+ 'BaiBS_RTS_3.1.6',
+ '120200002618AGP0003',
+ )
+ resp2 = manager.handle_tr069_message(ctx2, inform_msg)
+ self.assertTrue(
+ isinstance(resp2, models.InformResponse),
+ 'Should respond with an InformResponse',
+ )
+ handler2 = manager.get_handler_by_ip(ip2)
+
+ # Now check that the serial is associated with the second ip
+ self.assertTrue(
+ (handler1 is handler2),
+ 'After an IP switch, the manager should have moved '
+ 'the handler to a new IP',
+ )
+
+ def test_serial_change(self) -> None:
+ manager = self._get_manager()
+ ip = "192.168.60.145"
+
+ # Send an Inform
+ ctx1 = get_spyne_context_with_ip(ip)
+ inform_msg = Tr069MessageBuilder.get_inform(
+ '48BF74',
+ 'BaiBS_RTS_3.1.6',
+ '120200002618AGP0001',
+ )
+ resp1 = manager.handle_tr069_message(ctx1, inform_msg)
+ self.assertTrue(
+ isinstance(resp1, models.InformResponse),
+ 'Should respond with an InformResponse',
+ )
+ handler1 = manager.get_handler_by_ip(ip)
+
+ # Send an Inform from the same serial, but different IP
+ ctx2 = get_spyne_context_with_ip(ip)
+ inform_msg = Tr069MessageBuilder.get_inform(
+ '48BF74',
+ 'BaiBS_RTS_3.1.6',
+ '120200002618AGP0002',
+ )
+ resp2 = manager.handle_tr069_message(ctx2, inform_msg)
+ self.assertTrue(
+ isinstance(resp2, models.InformResponse),
+ 'Should respond with an InformResponse',
+ )
+ handler2 = manager.get_handler_by_ip(ip)
+
+ # Now check that the serial is associated with the second ip
+ self.assertTrue(
+ (handler1 is not handler2),
+ 'After an IP switch, the manager should have moved '
+ 'the handler to a new IP',
+ )
+
+ def test_inform_from_baicells_qafb(self) -> None:
+ manager = self._get_manager()
+ ip = "192.168.60.145"
+
+ # Send an Inform
+ ctx1 = get_spyne_context_with_ip(ip)
+ inform_msg = Tr069MessageBuilder.get_qafb_inform(
+ '48BF74',
+ 'BaiBS_QAFB_v1234',
+ '120200002618AGP0001',
+ )
+ resp1 = manager.handle_tr069_message(ctx1, inform_msg)
+ self.assertTrue(
+ isinstance(resp1, models.InformResponse),
+ 'Should respond with an InformResponse',
+ )
+
+ def test_inform_from_unrecognized(self) -> None:
+ manager = self._get_manager()
+ ip = "192.168.60.145"
+
+ # Send an Inform
+ ctx1 = get_spyne_context_with_ip(ip)
+ inform_msg = Tr069MessageBuilder.get_qafb_inform(
+ '48BF74',
+ 'Unrecognized device',
+ '120200002618AGP0001',
+ )
+ resp1 = manager.handle_tr069_message(ctx1, inform_msg)
+ self.assertTrue(
+ isinstance(resp1, models.DummyInput),
+ 'Should end provisioninng session with empty response',
+ )
+
+ def _get_manager(self) -> StateMachineManager:
+ service = EnodebAcsStateMachineBuilder.build_magma_service()
+ return StateMachineManager(service)
+
+ def _get_manager_multi_enb(self) -> StateMachineManager:
+ service = EnodebAcsStateMachineBuilder.build_multi_enb_magma_service()
+ return StateMachineManager(service)
diff --git a/tests/enodeb_acs_states_tests.py b/tests/enodeb_acs_states_tests.py
new file mode 100644
index 0000000..561007d
--- /dev/null
+++ b/tests/enodeb_acs_states_tests.py
@@ -0,0 +1,226 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+from typing import Dict
+from unittest import TestCase
+from unittest.mock import patch
+
+from common.service import MagmaService
+from data_models.data_model import DataModel
+from devices.device_utils import EnodebDeviceName
+from exceptions import Tr069Error
+from state_machines.enb_acs_impl import BasicEnodebAcsStateMachine
+from state_machines.enb_acs_states import (
+ AcsMsgAndTransition,
+ AcsReadMsgResult,
+ EnodebAcsState,
+ WaitEmptyMessageState,
+ WaitInformState,
+ WaitSetParameterValuesState,
+)
+from tests.test_utils.enb_acs_builder import (
+ EnodebAcsStateMachineBuilder,
+)
+from tr069 import models
+
+
+class DummyDataModel(DataModel):
+ @classmethod
+ def get_parameter(cls, param_name):
+ return None
+
+ @classmethod
+ def _get_magma_transforms(cls):
+ return {}
+
+ @classmethod
+ def _get_enb_transforms(cls):
+ return {}
+
+ @classmethod
+ def get_load_parameters(cls):
+ return []
+
+ @classmethod
+ def get_num_plmns(cls) -> int:
+ return 1
+
+ @classmethod
+ def get_parameter_names(cls):
+ return []
+
+ @classmethod
+ def get_numbered_param_names(cls):
+ return {}
+
+
+class DummyHandler(BasicEnodebAcsStateMachine):
+
+ def __init__(
+ self,
+ service: MagmaService,
+ ) -> None:
+ self._state_map = {}
+ super().__init__(service=service, use_param_key=False)
+
+ def are_invasive_changes_applied(self) -> bool:
+ return False
+
+ def _init_state_map(self) -> None:
+ self._state_map = {
+ 'wait_inform': WaitInformState(
+ self,
+ when_done='wait_empty',
+ when_boot='wait_rem',
+ ),
+ }
+
+ @property
+ def state_map(self) -> Dict[str, EnodebAcsState]:
+ return self._state_map
+
+ @property
+ def disconnected_state_name(self) -> str:
+ return 'wait_inform'
+
+ @property
+ def unexpected_fault_state_name(self) -> str:
+ """ State to handle unexpected Fault messages """
+ return ''
+
+ @property
+ def device_name(self) -> EnodebDeviceName:
+ return "dummy"
+
+ @property
+ def config_postprocessor(self):
+ pass
+
+ def reboot_asap(self) -> None:
+ """
+ Send a request to reboot the eNodeB ASAP
+ """
+ pass
+
+ def is_enodeb_connected(self) -> bool:
+ return True
+
+ @property
+ def data_model_class(self):
+ return DummyDataModel
+
+
+class EnodebStatusTests(TestCase):
+
+ def _get_acs(self):
+ """ Get a dummy ACS statemachine for tests"""
+ service = EnodebAcsStateMachineBuilder.build_magma_service()
+ return DummyHandler(service)
+
+ @patch(
+ 'magma.enodebd.state_machines.enb_acs_states'
+ '.get_param_values_to_set',
+ )
+ @patch(
+ 'magma.enodebd.state_machines.enb_acs_states.get_obj_param_values_to_set',
+ )
+ def test_wait_set_parameter_values_state(
+ self, mock_get_obj_param,
+ mock_get_param,
+ ):
+ """ Test SetParameter return values"""
+ mock_get_param.return_value = {}
+ mock_get_obj_param.return_value = {}
+ test_message_0 = models.SetParameterValuesResponse()
+ test_message_0.Status = 0
+ test_message_1 = models.SetParameterValuesResponse()
+ test_message_1.Status = 1
+ # TC-1: return value is 0. No fault
+ acs_state = WaitSetParameterValuesState(
+ self._get_acs(), 'done',
+ 'invasive',
+ )
+
+ rc = acs_state.read_msg(test_message_0)
+ self.assertEqual(type(rc), AcsReadMsgResult)
+
+ # It raises exception if we return 1
+ self.assertRaises(
+ Tr069Error,
+ acs_state.read_msg, test_message_1,
+ )
+
+ # It passes if we return 1 and pass the non zero flag
+ acs_state = WaitSetParameterValuesState(
+ self._get_acs(), 'done',
+ 'invasive',
+ status_non_zero_allowed=True,
+ )
+ rc = acs_state.read_msg(test_message_1)
+ self.assertEqual(type(rc), AcsReadMsgResult)
+ rc = acs_state.read_msg(test_message_0)
+ self.assertEqual(type(rc), AcsReadMsgResult)
+
+ @patch(
+ 'magma.enodebd.state_machines.enb_acs_states.get_optional_param_to_check',
+ )
+ def test_wait_empty_message_state(
+ self,
+ mock_param_to_check,
+ ):
+ test_message_1 = models.DummyInput()
+ test_message_2 = models.SetParameterValuesResponse()
+ mock_param_to_check.return_value = True
+
+ # test 1: No missing_param_transition
+ # ensure we go to done state even when there are
+ # optional params to check
+ acs_state = WaitEmptyMessageState(
+ self._get_acs(),
+ when_done='done',
+ )
+ rc = acs_state.read_msg(test_message_1)
+ self.assertEqual(type(rc), AcsReadMsgResult)
+ self.assertEqual(rc.next_state, 'done')
+ self.assertEqual(rc.msg_handled, True)
+
+ # test 2: No unknown_param_transition
+ # ensure we go to missing state when there are
+ # optional params to check and missing state is specified
+ acs_state = WaitEmptyMessageState(
+ self._get_acs(),
+ when_done='done',
+ when_missing='missing',
+ )
+ rc = acs_state.read_msg(test_message_1)
+ self.assertEqual(type(rc), AcsReadMsgResult)
+ self.assertEqual(rc.next_state, 'missing')
+ self.assertEqual(rc.msg_handled, True)
+
+ # test 3: Negative test case send a message that is not empty
+ # ensure we return msg_handled is False
+ acs_state = WaitEmptyMessageState(
+ self._get_acs(),
+ when_done='done',
+ when_missing='missing',
+ )
+ rc = acs_state.read_msg(test_message_2)
+ self.assertEqual(type(rc), AcsReadMsgResult)
+ self.assertEqual(rc.next_state, None)
+ self.assertEqual(rc.msg_handled, False)
+
+ # test 4: Test get_msg
+ rc = acs_state.get_msg(test_message_1)
+ self.assertEqual(type(rc), AcsMsgAndTransition)
+ self.assertEqual(type(rc.msg), models.DummyInput)
+ self.assertEqual(rc.next_state, None)
diff --git a/tests/enodeb_configuration_tests.py b/tests/enodeb_configuration_tests.py
new file mode 100644
index 0000000..10742ef
--- /dev/null
+++ b/tests/enodeb_configuration_tests.py
@@ -0,0 +1,112 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+# pylint: disable=protected-access
+
+from unittest import TestCase
+
+from data_models.data_model_parameters import ParameterName
+from device_config.enodeb_configuration import EnodebConfiguration
+from devices.experimental.cavium import CaviumTrDataModel
+
+
+class EnodebConfigurationTest(TestCase):
+ def setUp(self):
+ self.config = EnodebConfiguration(CaviumTrDataModel)
+
+ def tearDown(self):
+ self.config = None
+
+ def test_data_model(self) -> None:
+ data_model = self.config.data_model
+ expected = CaviumTrDataModel
+ self.assertEqual(data_model, expected, 'Data model fetch incorrect')
+
+ def test_get_has_set_parameter(self) -> None:
+ param = ParameterName.ADMIN_STATE
+ self.config.set_parameter(param, True)
+ self.assertTrue(
+ self.config.has_parameter(param),
+ 'Expected to have parameter',
+ )
+ param_value = self.config.get_parameter(param)
+ expected = True
+ self.assertEqual(
+ param_value, expected,
+ 'Parameter value does not match what was set',
+ )
+
+ def test_add_has_delete_object(self) -> None:
+ object_name = ParameterName.PLMN_N % 1
+ self.assertFalse(self.config.has_object(object_name))
+ self.config.add_object(object_name)
+ self.assertTrue(self.config.has_object(object_name))
+ self.config.delete_object(object_name)
+ self.assertFalse(self.config.has_object(object_name))
+
+ def test_get_parameter_names(self) -> None:
+ # Should start off as an empty list
+ names_list = self.config.get_parameter_names()
+ self.assertEqual(len(names_list), 0, 'Expected 0 names')
+
+ # Should grow as we set parameters
+ self.config.set_parameter(ParameterName.ADMIN_STATE, True)
+ names_list = self.config.get_parameter_names()
+ self.assertEqual(len(names_list), 1, 'Expected 1 name')
+
+ # Parameter names should not include objects
+ self.config.add_object(ParameterName.PLMN)
+ names_list = self.config.get_parameter_names()
+ self.assertEqual(len(names_list), 1, 'Expected 1 name')
+
+ def test_get_object_names(self) -> None:
+ # Should start off as an empty list
+ obj_list = self.config.get_object_names()
+ self.assertEqual(len(obj_list), 0, 'Expected 0 names')
+
+ # Should grow as we set parameters
+ self.config.add_object(ParameterName.PLMN)
+ obj_list = self.config.get_object_names()
+ self.assertEqual(len(obj_list), 1, 'Expected 1 names')
+
+ def test_get_set_parameter_for_object(self) -> None:
+ self.config.add_object(ParameterName.PLMN_N % 1)
+ self.config.set_parameter_for_object(
+ ParameterName.PLMN_N_CELL_RESERVED % 1, True,
+ ParameterName.PLMN_N % 1,
+ )
+ param_value = self.config.get_parameter_for_object(
+ ParameterName.PLMN_N_CELL_RESERVED % 1, ParameterName.PLMN_N % 1,
+ )
+ self.assertTrue(
+ param_value,
+ 'Expected that the param for object was set correctly',
+ )
+
+ def test_get_parameter_names_for_object(self) -> None:
+ # Should start off empty
+ self.config.add_object(ParameterName.PLMN_N % 1)
+ param_list = self.config.get_parameter_names_for_object(
+ ParameterName.PLMN_N % 1,
+ )
+ self.assertEqual(len(param_list), 0, 'Should be an empty param list')
+
+ # Should increment as we set parameters
+ self.config.set_parameter_for_object(
+ ParameterName.PLMN_N_CELL_RESERVED % 1, True,
+ ParameterName.PLMN_N % 1,
+ )
+ param_list = self.config.get_parameter_names_for_object(
+ ParameterName.PLMN_N % 1,
+ )
+ self.assertEqual(len(param_list), 1, 'Should not be an empty list')
diff --git a/tests/enodeb_status_tests.py b/tests/enodeb_status_tests.py
new file mode 100644
index 0000000..3138fcf
--- /dev/null
+++ b/tests/enodeb_status_tests.py
@@ -0,0 +1,122 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+# pylint: disable=protected-access
+from unittest import TestCase
+
+from lte.protos.enodebd_pb2 import SingleEnodebStatus
+from devices.device_utils import EnodebDeviceName
+from enodeb_status import (
+ get_all_enb_status,
+ get_enb_status,
+ get_service_status_old,
+ get_single_enb_status,
+)
+from state_machines.enb_acs_manager import StateMachineManager
+from tests.test_utils.enb_acs_builder import (
+ EnodebAcsStateMachineBuilder,
+)
+from tests.test_utils.spyne_builder import (
+ get_spyne_context_with_ip,
+)
+from tests.test_utils.tr069_msg_builder import Tr069MessageBuilder
+
+
+class EnodebStatusTests(TestCase):
+ def test_get_service_status_old(self):
+ manager = self._get_manager()
+ status = get_service_status_old(manager)
+ self.assertTrue(
+ status['enodeb_connected'] == '0',
+ 'Should report no eNB connected',
+ )
+
+ ##### Start session for the first IP #####
+ ctx1 = get_spyne_context_with_ip("192.168.60.145")
+ # Send an Inform message, wait for an InformResponse
+ inform_msg = Tr069MessageBuilder.get_inform(
+ '48BF74',
+ 'BaiBS_RTS_3.1.6',
+ '120200002618AGP0001',
+ )
+ manager.handle_tr069_message(ctx1, inform_msg)
+ status = get_service_status_old(manager)
+ self.assertTrue(
+ status['enodeb_connected'] == '1',
+ 'Should report an eNB as conencted',
+ )
+ self.assertTrue(
+ status['enodeb_serial'] == '120200002618AGP0001',
+ 'eNodeB serial should match the earlier Inform',
+ )
+
+ def test_get_enb_status(self):
+ acs_state_machine = \
+ EnodebAcsStateMachineBuilder\
+ .build_acs_state_machine(EnodebDeviceName.BAICELLS)
+ try:
+ get_enb_status(acs_state_machine)
+ except KeyError:
+ self.fail(
+ 'Getting eNB status should succeed after constructor '
+ 'runs.',
+ )
+
+ def test_get_single_enb_status(self):
+ manager = self._get_manager()
+ ctx1 = get_spyne_context_with_ip("192.168.60.145")
+ inform_msg = Tr069MessageBuilder.get_inform(
+ '48BF74',
+ 'BaiBS_RTS_3.1.6',
+ '120200002618AGP0001',
+ )
+ manager.handle_tr069_message(ctx1, inform_msg)
+ status = get_single_enb_status('120200002618AGP0001', manager)
+ self.assertEquals(
+ status.connected,
+ SingleEnodebStatus.StatusProperty.Value('ON'),
+ 'Status should be connected.',
+ )
+ self.assertEquals(
+ status.configured,
+ SingleEnodebStatus.StatusProperty.Value('OFF'),
+ 'Status should be not configured.',
+ )
+
+ def test_get_enodeb_all_status(self):
+ manager = self._get_manager()
+
+ ##### Test Empty #####
+ enb_status_by_serial = get_all_enb_status(manager)
+ self.assertTrue(enb_status_by_serial == {}, "No eNB connected")
+
+ ##### Start session for the first IP #####
+ ctx1 = get_spyne_context_with_ip("192.168.60.145")
+ # Send an Inform message, wait for an InformResponse
+ inform_msg = Tr069MessageBuilder.get_inform(
+ '48BF74',
+ 'BaiBS_RTS_3.1.6',
+ '120200002618AGP0001',
+ )
+ manager.handle_tr069_message(ctx1, inform_msg)
+ enb_status_by_serial = get_all_enb_status(manager)
+ enb_status = enb_status_by_serial.get('120200002618AGP0001')
+ self.assertEquals(
+ enb_status.enodeb_connected,
+ SingleEnodebStatus.StatusProperty.Value('ON'),
+ 'Status should be connected.',
+ )
+
+ def _get_manager(self) -> StateMachineManager:
+ service = EnodebAcsStateMachineBuilder.build_magma_service()
+ return StateMachineManager(service)
diff --git a/tests/freedomfi_one_tests.py b/tests/freedomfi_one_tests.py
new file mode 100644
index 0000000..4d88496
--- /dev/null
+++ b/tests/freedomfi_one_tests.py
@@ -0,0 +1,805 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+import logging
+import os
+from unittest.mock import Mock, call, patch
+
+from lte.protos.mconfig import mconfigs_pb2
+from common.service import MagmaService
+from data_models.data_model_parameters import ParameterName
+from devices.device_map import get_device_handler_from_name
+from devices.device_utils import EnodebDeviceName
+from devices.freedomfi_one import (
+ FreedomFiOneConfigurationInitializer,
+ SASParameters,
+ StatusParameters,
+)
+from tests.test_utils.config_builder import EnodebConfigBuilder
+from tests.test_utils.enb_acs_builder import (
+ EnodebAcsStateMachineBuilder,
+)
+from tests.test_utils.enodeb_handler import EnodebHandlerTestCase
+from tests.test_utils.tr069_msg_builder import Tr069MessageBuilder
+from tr069 import models
+
+SRC_CONFIG_DIR = os.path.join(
+ os.environ.get('MAGMA_ROOT'),
+ 'lte/gateway/configs',
+)
+
+
+class FreedomFiOneTests(EnodebHandlerTestCase):
+
+ def _get_freedomfi_one_read_only_param_values_response(
+ self,
+ ) -> models.GetParameterValuesResponse:
+ msg = models.GetParameterValuesResponse()
+ param_val_list = []
+ param_val_list.append(
+ Tr069MessageBuilder.get_parameter_value_struct(
+ name='Device.X_000E8F_DeviceFeature.X_000E8F_NEStatus'
+ '.X_000E8F_Sync_Status',
+ val_type='string',
+ data='InSync',
+ ),
+ )
+ param_val_list.append(
+ Tr069MessageBuilder.get_parameter_value_struct(
+ name='Device.X_000E8F_DeviceFeature.X_000E8F_NEStatus'
+ '.X_000E8F_SAS_Status',
+ val_type='string',
+ data='SUCCESS',
+ ),
+ )
+ param_val_list.append(
+ Tr069MessageBuilder.get_parameter_value_struct(
+ name='Device.X_000E8F_DeviceFeature.X_000E8F_NEStatus'
+ '.X_000E8F_eNB_Status',
+ val_type='string',
+ data='SUCCESS',
+ ),
+ )
+ param_val_list.append(
+ Tr069MessageBuilder.get_parameter_value_struct(
+ name='Device.X_000E8F_DeviceFeature.X_000E8F_NEStatus'
+ '.X_000E8F_DEFGW_Status',
+ val_type='string',
+ data='SUCCESS',
+ ),
+ )
+ param_val_list.append(
+ Tr069MessageBuilder.get_parameter_value_struct(
+ name='Device.FAP.GPS.ScanStatus',
+ val_type='string',
+ data='SUCCESS',
+ ),
+ )
+ param_val_list.append(
+ Tr069MessageBuilder.get_parameter_value_struct(
+ name='Device.FAP.GPS.LockedLongitude',
+ val_type='int',
+ data='-105272892',
+ ),
+ )
+ param_val_list.append(
+ Tr069MessageBuilder.get_parameter_value_struct(
+ name='Device.FAP.GPS.LockedLatitude',
+ val_type='int',
+ data='40019606',
+ ),
+ )
+ msg.ParameterList = models.ParameterValueList()
+ msg.ParameterList.ParameterValueStruct = param_val_list
+ return msg
+
+ def _get_freedomfi_one_param_values_response(self):
+ msg = models.GetParameterValuesResponse()
+ param_val_list = []
+ msg.ParameterList = models.ParameterValueList()
+ msg.ParameterList.ParameterValueStruct = param_val_list
+
+ param_val_list.append(
+ Tr069MessageBuilder.get_parameter_value_struct(
+ name='Device.Services.FAPService.1.CellConfig.LTE.RAN.RF.EARFCNDL',
+ val_type='int',
+ data='56240',
+ ),
+ )
+ param_val_list.append(
+ Tr069MessageBuilder.get_parameter_value_struct(
+ name='Device.FAP.GPS.ScanOnBoot',
+ val_type='boolean',
+ data='1',
+ ),
+ )
+ param_val_list.append(
+ Tr069MessageBuilder.get_parameter_value_struct(
+ name='Device.Services.FAPService.1.FAPControl.LTE.AdminState',
+ val_type='boolean',
+ data='1',
+ ),
+ )
+ param_val_list.append(
+ Tr069MessageBuilder.get_parameter_value_struct(
+ name='Device.FAP.PerfMgmt.Config.1.Enable',
+ val_type='boolean',
+ data='1',
+ ),
+ )
+ param_val_list.append(
+ Tr069MessageBuilder.get_parameter_value_struct(
+ name='Device.Services.FAPService.1.FAPControl.LTE.Gateway.S1SigLinkServerList',
+ val_type='string',
+ data='10.0.2.1',
+ ),
+ )
+ param_val_list.append(
+ Tr069MessageBuilder.get_parameter_value_struct(
+ name='Device.Services.FAPService.1.FAPControl.LTE.X_000E8F_RRMConfig.X_000E8F_Cell_Number',
+ val_type='int',
+ data='2',
+ ),
+ )
+ param_val_list.append(
+ Tr069MessageBuilder.get_parameter_value_struct(
+ name='Device.Services.FAPService.1.CellConfig.LTE.EPC.TAC',
+ val_type='int',
+ data='1',
+ ),
+ )
+ param_val_list.append(
+ Tr069MessageBuilder.get_parameter_value_struct(
+ name='Device.FAP.PerfMgmt.Config.1.PeriodicUploadInterval',
+ val_type='int',
+ data='60',
+ ),
+ )
+ param_val_list.append(
+ Tr069MessageBuilder.get_parameter_value_struct(
+ name='Device.DeviceInfo.SoftwareVersion',
+ val_type='string',
+ data='TEST3920@210901',
+ ),
+ )
+ param_val_list.append(
+ Tr069MessageBuilder.get_parameter_value_struct(
+ name='Device.Services.FAPService.1.FAPControl.LTE.X_000E8F_SAS.UserContactInformation',
+ val_type='string',
+ data='M0LK4T',
+ ),
+ )
+ param_val_list.append(
+ Tr069MessageBuilder.get_parameter_value_struct(
+ name='Device.Services.FAPService.1.FAPControl.LTE.X_000E8F_SAS.ProtectionLevel',
+ val_type='string',
+ data='GAA',
+ ),
+ )
+ param_val_list.append(
+ Tr069MessageBuilder.get_parameter_value_struct(
+ name='Device.Services.FAPService.1.FAPControl.LTE.X_000E8F_SAS.CertSubject',
+ val_type='string',
+ data='/C=TW/O=Sercomm/OU=WInnForum CBSD Certificate/CN=P27-SCE4255W:%s',
+ ),
+ )
+ param_val_list.append(
+ Tr069MessageBuilder.get_parameter_value_struct(
+ name='Device.Services.FAPService.1.FAPControl.LTE.X_000E8F_SAS.HeightType',
+ val_type='string',
+ data='AMSL',
+ ),
+ )
+ param_val_list.append(
+ Tr069MessageBuilder.get_parameter_value_struct(
+ name='Device.Services.FAPService.1.FAPControl.LTE.X_000E8F_SAS.Category',
+ val_type='string',
+ data='A',
+ ),
+ )
+ param_val_list.append(
+ Tr069MessageBuilder.get_parameter_value_struct(
+ name='Device.FAP.GPS.ScanStatus',
+ val_type='string',
+ data='Success',
+ ),
+ )
+ param_val_list.append(
+ Tr069MessageBuilder.get_parameter_value_struct(
+ name='Device.ManagementServer.PeriodicInformInterval',
+ val_type='int',
+ data='60',
+ ),
+ )
+ param_val_list.append(
+ Tr069MessageBuilder.get_parameter_value_struct(
+ name='Device.Services.FAPService.1.CellConfig.LTE.RAN.RF.FreqBandIndicator',
+ val_type='unsignedInt',
+ data='48',
+ ),
+ )
+ param_val_list.append(
+ Tr069MessageBuilder.get_parameter_value_struct(
+ name='Device.Services.FAPService.1.CellConfig.LTE.RAN.Common.CellIdentity',
+ val_type='unsignedInt',
+ data='101',
+ ),
+ )
+ param_val_list.append(
+ Tr069MessageBuilder.get_parameter_value_struct(
+ name='Device.FAP.GPS.LockedLongitude',
+ val_type='string',
+ data='-105272892',
+ ),
+ )
+ param_val_list.append(
+ Tr069MessageBuilder.get_parameter_value_struct(
+ name='Device.FAP.GPS.LockedLatitude',
+ val_type='string',
+ data='40019606',
+ ),
+ )
+ param_val_list.append(
+ Tr069MessageBuilder.get_parameter_value_struct(
+ name='Device.Services.FAPService.1.FAPControl.LTE.X_000E8F_SAS.CPIEnable',
+ val_type='boolean',
+ data='0',
+ ),
+ )
+ param_val_list.append(
+ Tr069MessageBuilder.get_parameter_value_struct(
+ name='Device.Services.FAPService.1.FAPControl.LTE.X_000E8F_RRMConfig.X_000E8F_CA_Enable',
+ val_type='boolean',
+ data='1',
+ ),
+ )
+ param_val_list.append(
+ Tr069MessageBuilder.get_parameter_value_struct(
+ name='Device.FAP.GPS.ScanOnBoot',
+ val_type='boolean',
+ data='1',
+ ),
+ )
+ param_val_list.append(
+ Tr069MessageBuilder.get_parameter_value_struct(
+ name='Device.X_000E8F_DeviceFeature.X_000E8F_NEStatus.X_000E8F_Sync_Status',
+ val_type='string',
+ data='InSync',
+ ),
+ )
+ param_val_list.append(
+ Tr069MessageBuilder.get_parameter_value_struct(
+ name='Device.Services.FAPService.1.CellConfig.LTE.RAN.RF.PhyCellID',
+ val_type='string',
+ data='101,102',
+ ),
+ )
+ param_val_list.append(
+ Tr069MessageBuilder.get_parameter_value_struct(
+ name='Device.FAP.PerfMgmt.Config.1.URL',
+ val_type='string',
+ data=None,
+ ),
+ )
+ param_val_list.append(
+ Tr069MessageBuilder.get_parameter_value_struct(
+ name='Device.Services.FAPService.1.FAPControl.LTE.X_000E8F_SAS.Location',
+ val_type='string',
+ data='indoor',
+ ),
+ )
+ param_val_list.append(
+ Tr069MessageBuilder.get_parameter_value_struct(
+ name='Device.Services.FAPService.1.CellConfig.LTE.RAN.PHY.TDDFrame.SubFrameAssignment',
+ val_type='boolean',
+ data='2',
+ ),
+ )
+ param_val_list.append(
+ Tr069MessageBuilder.get_parameter_value_struct(
+ name='Device.Services.FAPService.1.CellConfig.LTE.EPC.PLMNList.1.IsPrimary',
+ val_type='boolean',
+ data='1',
+ ),
+ )
+ param_val_list.append(
+ Tr069MessageBuilder.get_parameter_value_struct(
+ name='Device.Services.FAPService.1.CellConfig.LTE.EPC.PLMNList.1.Enable',
+ val_type='boolean',
+ data='1',
+ ),
+ )
+ param_val_list.append(
+ Tr069MessageBuilder.get_parameter_value_struct(
+ name='Device.Services.FAPService.1.FAPControl.LTE.X_000E8F_SAS.Server',
+ val_type='string',
+ data='https://spectrum-connect.federatedwireless.com/v1.2/',
+ ),
+ )
+ param_val_list.append(
+ Tr069MessageBuilder.get_parameter_value_struct(
+ name='Device.X_000E8F_DeviceFeature.X_000E8F_WebServerEnable',
+ val_type='boolean',
+ data='1',
+ ),
+ )
+ param_val_list.append(
+ Tr069MessageBuilder.get_parameter_value_struct(
+ name='Device.Services.FAPService.1.CellConfig.LTE.EPC.PLMNList.1.CellReservedForOperatorUse',
+ val_type='boolean',
+ data='0',
+ ),
+ )
+ param_val_list.append(
+ Tr069MessageBuilder.get_parameter_value_struct(
+ name='Device.Services.FAPService.1.CellConfig.LTE.Tunnel.1.TunnelRef',
+ val_type='string',
+ data='Device.IP.Interface.1.IPv4Address.1.',
+ ),
+ )
+ param_val_list.append(
+ Tr069MessageBuilder.get_parameter_value_struct(
+ name='Device.Services.FAPService.1.REM.X_000E8F_tfcsManagerConfig.primSrc',
+ val_type='string',
+ data='GNSS',
+ ),
+ )
+ param_val_list.append(
+ Tr069MessageBuilder.get_parameter_value_struct(
+ name='Device.Services.FAPService.1.FAPControl.LTE.X_000E8F_SAS.Enable',
+ val_type='boolean',
+ data='1',
+ ),
+ )
+ param_val_list.append(
+ Tr069MessageBuilder.get_parameter_value_struct(
+ name='Device.ManagementServer.PeriodicInformEnable',
+ val_type='boolean',
+ data='1',
+ ),
+ )
+ param_val_list.append(
+ Tr069MessageBuilder.get_parameter_value_struct(
+ name='Device.Services.FAPService.1.CellConfig.LTE.EPC.PLMNListNumberOfEntries',
+ val_type='int',
+ data='1',
+ ),
+ )
+ param_val_list.append(
+ Tr069MessageBuilder.get_parameter_value_struct(
+ name='Device.Services.FAPService.1.CellConfig.LTE.RAN.PHY.TDDFrame.SpecialSubframePatterns',
+ val_type='int',
+ data='7',
+ ),
+ )
+ param_val_list.append(
+ Tr069MessageBuilder.get_parameter_value_struct(
+ name='Device.Services.FAPService.1.FAPControl.LTE.X_000E8F_RRMConfig.X_000E8F_CELL_Freq_Contiguous',
+ val_type='int',
+ data='0',
+ ),
+ )
+ param_val_list.append(
+ Tr069MessageBuilder.get_parameter_value_struct(
+ name='Device.Services.FAPService.1.FAPControl.LTE.Gateway.S1SigLinkPort',
+ val_type='int',
+ data='36412',
+ ),
+ )
+ return msg
+
+ def _get_service_config(self):
+ return {
+ "tr069": {
+ "interface": "eth1",
+ "port": 48080,
+ "perf_mgmt_port": 8081,
+ "public_ip": "192.88.99.142",
+ },
+ "reboot_enodeb_on_mme_disconnected": True,
+ "s1_interface": "eth1",
+ "sas": {
+ "sas_enabled": True,
+ "sas_server_url":
+ "https://spectrum-connect.federatedwireless.com/v1.2/",
+ "sas_uid": "M0LK4T",
+ "sas_category": "A",
+ "sas_channel_type": "GAA",
+ "sas_cert_subject": "/C=TW/O=Sercomm/OU=WInnForum CBSD "
+ "Certificate/CN=P27-SCE4255W:%s",
+ "sas_icg_group_id": "",
+ "sas_location": "indoor",
+ "sas_height_type": "AMSL",
+ },
+ }
+
+ def build_freedomfi_one_acs_state_machine(self):
+ service = EnodebAcsStateMachineBuilder.build_magma_service(
+ mconfig=EnodebConfigBuilder.get_mconfig(),
+ service_config=self._get_service_config(),
+ )
+ handler_class = get_device_handler_from_name(
+ EnodebDeviceName.FREEDOMFI_ONE,
+ )
+ acs_state_machine = handler_class(service)
+ return acs_state_machine
+
+ def test_provision(self) -> None:
+ """
+ Test the basic provisioning workflow
+ 1 - enodeb sends Inform, enodebd sends InformResponse
+ 2 - enodeb sends empty HTTP message,
+ 3 - enodebd sends get transient params, updates the device state.
+ 4 - enodebd sends get param values, updates the device state
+ 5 - enodebd, sets fields including SAS fields.
+ """
+ logging.root.level = logging.DEBUG
+ acs_state_machine = self.build_freedomfi_one_acs_state_machine()
+
+ inform = Tr069MessageBuilder.get_inform(
+ oui="000E8F",
+ sw_version="TEST3920@210901",
+ enb_serial="2006CW5000023",
+ )
+ resp = acs_state_machine.handle_tr069_message(inform)
+ self.assertTrue(
+ isinstance(resp, models.InformResponse),
+ 'Should respond with an InformResponse',
+ )
+
+ # Send an empty http request
+ req = models.DummyInput()
+ resp = acs_state_machine.handle_tr069_message(req)
+
+ # Expect a request for read-only params
+ self.assertTrue(
+ isinstance(resp, models.GetParameterValues),
+ 'State machine should be requesting param values',
+ )
+ for tr_69_nodes in StatusParameters.STATUS_PARAMETERS.values():
+ self.assertIn(tr_69_nodes.path, resp.ParameterNames.string)
+
+ req = self._get_freedomfi_one_read_only_param_values_response()
+ get_resp = acs_state_machine.handle_tr069_message(req)
+
+ self.assertTrue(
+ isinstance(get_resp, models.GetParameterValues),
+ 'State machine should be requesting param values',
+ )
+ req = self._get_freedomfi_one_param_values_response()
+ resp = acs_state_machine.handle_tr069_message(req)
+ self.assertTrue(
+ isinstance(resp, models.SetParameterValues),
+ 'State machine should be setting parameters',
+ )
+ self.assertIsNotNone(
+ resp.ParameterKey.Data,
+ 'ParameterKey should be set for FreedomFiOne eNB',
+ )
+
+ msg = models.SetParameterValuesResponse()
+ msg.Status = 1
+ get_resp = acs_state_machine.handle_tr069_message(msg)
+ self.assertTrue(
+ isinstance(get_resp, models.GetParameterValues),
+ 'We should read back all parameters',
+ )
+
+ req = self._get_freedomfi_one_param_values_response()
+ resp = acs_state_machine.handle_tr069_message(req)
+ self.assertTrue(
+ isinstance(resp, models.DummyInput),
+ 'Provisioning completed with Dummy response',
+ )
+
+ def test_manual_reboot_during_provisioning(self) -> None:
+ """
+ Test a scenario where a Magma user goes through the enodebd CLI to
+ reboot the Baicells eNodeB.
+
+ This checks the scenario where the command is sent in the middle
+ of a TR-069 provisioning session.
+ """
+ logging.root.level = logging.DEBUG
+ acs_state_machine = self.build_freedomfi_one_acs_state_machine()
+
+ # Send an Inform message, wait for an InformResponse
+ inform = Tr069MessageBuilder.get_inform(
+ oui="000E8F",
+ sw_version="TEST3920@210901",
+ enb_serial="2006CW5000023",
+ )
+ resp = acs_state_machine.handle_tr069_message(inform)
+ self.assertTrue(
+ isinstance(resp, models.InformResponse),
+ 'Should respond with an InformResponse',
+ )
+
+ # Send an empty http request to kick off the rest of provisioning
+ req = models.DummyInput()
+ resp = acs_state_machine.handle_tr069_message(req)
+
+ # Expect a request for an optional parameter, three times
+ self.assertTrue(
+ isinstance(resp, models.GetParameterValues),
+ 'State machine should be requesting param values',
+ )
+ req = Tr069MessageBuilder.get_fault()
+
+ # User uses the CLI tool to get eNodeB to reboot
+ acs_state_machine.reboot_asap()
+
+ resp = acs_state_machine.handle_tr069_message(req)
+ self.assertTrue(
+ isinstance(resp, models.Reboot),
+ 'In reboot sequence, state machine should send a '
+ 'Reboot message.',
+ )
+ req = Tr069MessageBuilder.get_reboot_response()
+ resp = acs_state_machine.handle_tr069_message(req)
+ self.assertTrue(
+ isinstance(resp, models.DummyInput),
+ 'State machine should end TR-069 session after '
+ 'receiving a RebootResponse',
+ )
+
+ def test_post_processing(self) -> None:
+ """ Test FreedomFi One specific post processing functionality"""
+
+ acs_state_machine = self.build_freedomfi_one_acs_state_machine()
+ cfg_desired = Mock()
+ acs_state_machine.device_cfg.set_parameter(
+ ParameterName.SERIAL_NUMBER,
+ "2006CW5000023",
+ )
+
+ cfg_init = FreedomFiOneConfigurationInitializer(acs_state_machine)
+ cfg_init.postprocess(
+ EnodebConfigBuilder.get_mconfig(),
+ self._get_service_config(), cfg_desired,
+ )
+ expected = [
+ call.delete_parameter('EARFCNDL'),
+ call.delete_parameter('DL bandwidth'),
+ call.delete_parameter('UL bandwidth'),
+ call.set_parameter(
+ 'tunnel_ref',
+ 'Device.IP.Interface.1.IPv4Address.1.',
+ ),
+ call.set_parameter('prim_src', 'GNSS'),
+ call.set_parameter('carrier_agg_enable', True),
+ call.set_parameter('carrier_number', 2),
+ call.set_parameter('contiguous_cc', 0),
+ call.set_parameter('web_ui_enable', False),
+ call.set_parameter('sas_enabled', True),
+ call.set_parameter(
+ 'sas_server_url',
+ 'https://spectrum-connect.federatedwireless.com/v1.2/',
+ ),
+ call.set_parameter('sas_uid', 'M0LK4T'),
+ call.set_parameter('sas_category', 'A'),
+ call.set_parameter('sas_channel_type', 'GAA'),
+ call.set_parameter(
+ 'sas_cert_subject',
+ '/C=TW/O=Sercomm/OU=WInnForum CBSD Certificate/CN=P27-SCE4255W:%s',
+ ),
+ call.set_parameter('sas_location', 'indoor'),
+ call.set_parameter('sas_height_type', 'AMSL'),
+ ]
+ self.assertEqual(cfg_desired.mock_calls.sort(), expected.sort())
+
+ # Check without sas config
+ service_cfg = {
+ "tr069": {
+ "interface": "eth1",
+ "port": 48080,
+ "perf_mgmt_port": 8081,
+ "public_ip": "192.88.99.142",
+ },
+ "reboot_enodeb_on_mme_disconnected": True,
+ "s1_interface": "eth1",
+ }
+ cfg_desired = Mock()
+ cfg_init.postprocess(
+ EnodebConfigBuilder.get_mconfig(),
+ service_cfg, cfg_desired,
+ )
+ expected = [
+ call.delete_parameter('EARFCNDL'),
+ call.delete_parameter('DL bandwidth'),
+ call.delete_parameter('UL bandwidth'),
+ call.set_parameter(
+ 'tunnel_ref',
+ 'Device.IP.Interface.1.IPv4Address.1.',
+ ),
+ call.set_parameter('prim_src', 'GNSS'),
+ call.set_parameter('carrier_agg_enable', True),
+ call.set_parameter('carrier_number', 2),
+ call.set_parameter('contiguous_cc', 0),
+ call.set_parameter('web_ui_enable', False),
+ ]
+ self.assertEqual(cfg_desired.mock_calls.sort(), expected.sort())
+
+ service_cfg['web_ui_enable_list'] = ["2006CW5000023"]
+
+ expected = [
+ call.delete_parameter('EARFCNDL'),
+ call.delete_parameter('DL bandwidth'),
+ call.delete_parameter('UL bandwidth'),
+ call.set_parameter(
+ 'tunnel_ref',
+ 'Device.IP.Interface.1.IPv4Address.1.',
+ ),
+ call.set_parameter('prim_src', 'GNSS'),
+ call.set_parameter('carrier_agg_enable', True),
+ call.set_parameter('carrier_number', 2),
+ call.set_parameter('contiguous_cc', 0),
+ call.set_parameter('web_ui_enable', False),
+ call.set_parameter('web_ui_enable', True),
+ ]
+ cfg_desired = Mock()
+ cfg_init.postprocess(
+ EnodebConfigBuilder.get_mconfig(),
+ service_cfg, cfg_desired,
+ )
+ print(cfg_desired.mock_calls)
+ print(type(cfg_desired.mock_calls))
+ self.assertEqual(cfg_desired.mock_calls.sort(), expected.sort())
+
+ @patch('magma.configuration.service_configs.CONFIG_DIR', SRC_CONFIG_DIR)
+ def test_service_cfg_parsing(self):
+ """ Test the parsing of the service config file for enodebd.yml"""
+ service = MagmaService('enodebd', mconfigs_pb2.EnodebD())
+ service_cfg = service.config
+ service_cfg_1 = self._get_service_config()
+ service_cfg_1['web_ui_enable_list'] = []
+ service_cfg_1[FreedomFiOneConfigurationInitializer.SAS_KEY][
+ SASParameters.SAS_UID
+ ] = "INVALID_ID"
+ service_cfg_1[FreedomFiOneConfigurationInitializer.SAS_KEY][
+ SASParameters.SAS_CERT_SUBJECT
+ ] = "INVALID_CERT_SUBJECT"
+ self.assertEqual(service_cfg, service_cfg_1)
+
+ def test_status_nodes(self):
+ """ Test that the status of the node is valid"""
+ status = StatusParameters()
+
+ # Happy path
+ n1 = {
+ StatusParameters.DEFAULT_GW: "SUCCESS",
+ StatusParameters.SYNC_STATUS: "InSync",
+ StatusParameters.ENB_STATUS: "Success",
+ StatusParameters.SAS_STATUS: "Success",
+ StatusParameters.GPS_SCAN_STATUS: "SUCCESS",
+ ParameterName.GPS_LONG: "1",
+ ParameterName.GPS_LAT: "1",
+ }
+ device_config = Mock()
+ status.set_magma_device_cfg(n1, device_config)
+ expected = [
+ call.set_parameter(param_name='RF TX status', value=True),
+ call.set_parameter(param_name='GPS status', value=True),
+ call.set_parameter(param_name='PTP status', value=True),
+ call.set_parameter(param_name='MME status', value=True),
+ call.set_parameter(param_name='Opstate', value=True),
+ call.set_parameter('GPS lat', '1'),
+ call.set_parameter('GPS long', '1'),
+ ]
+ self.assertEqual(expected, device_config.mock_calls)
+
+ n2 = n1.copy()
+ # Verify we can handle specific none params
+ n2[StatusParameters.DEFAULT_GW] = None
+ n3 = n1.copy()
+ n3[StatusParameters.SYNC_STATUS] = None
+ n4 = n1.copy()
+ n4[StatusParameters.ENB_STATUS] = None
+ n5 = n1.copy()
+ n5[StatusParameters.SAS_STATUS] = None
+ n6 = n1.copy()
+ n6[StatusParameters.GPS_SCAN_STATUS] = None
+ n7 = n1.copy()
+ n7[ParameterName.GPS_LONG] = None
+ n8 = n1.copy()
+ n8[ParameterName.GPS_LAT] = None
+
+ device_config = Mock()
+ expected = [
+ call.set_parameter(param_name='RF TX status', value=True),
+ call.set_parameter(param_name='GPS status', value=True),
+ call.set_parameter(param_name='PTP status', value=True),
+ call.set_parameter(param_name='MME status', value=False),
+ call.set_parameter(param_name='Opstate', value=True),
+ call.set_parameter('GPS lat', '1'),
+ call.set_parameter('GPS long', '1'),
+ ]
+ status.set_magma_device_cfg(n2, device_config)
+ self.assertEqual(expected, device_config.mock_calls)
+
+ device_config = Mock()
+ expected = [
+ call.set_parameter(param_name='RF TX status', value=True),
+ call.set_parameter(param_name='GPS status', value=True),
+ call.set_parameter(param_name='PTP status', value=False),
+ call.set_parameter(param_name='MME status', value=True),
+ call.set_parameter(param_name='Opstate', value=True),
+ call.set_parameter('GPS lat', '1'),
+ call.set_parameter('GPS long', '1'),
+ ]
+ status.set_magma_device_cfg(n3, device_config)
+ self.assertEqual(expected, device_config.mock_calls)
+
+ device_config = Mock()
+ expected = [
+ call.set_parameter(param_name='RF TX status', value=True),
+ call.set_parameter(param_name='GPS status', value=True),
+ call.set_parameter(param_name='PTP status', value=True),
+ call.set_parameter(param_name='MME status', value=True),
+ call.set_parameter(param_name='Opstate', value=False),
+ call.set_parameter('GPS lat', '1'),
+ call.set_parameter('GPS long', '1'),
+ ]
+ status.set_magma_device_cfg(n4, device_config)
+ self.assertEqual(expected, device_config.mock_calls)
+
+ device_config = Mock()
+ expected = [
+ call.set_parameter(param_name='RF TX status', value=False),
+ call.set_parameter(param_name='GPS status', value=True),
+ call.set_parameter(param_name='PTP status', value=True),
+ call.set_parameter(param_name='MME status', value=True),
+ call.set_parameter(param_name='Opstate', value=True),
+ call.set_parameter('GPS lat', '1'),
+ call.set_parameter('GPS long', '1'),
+ ]
+ status.set_magma_device_cfg(n5, device_config)
+ self.assertEqual(expected, device_config.mock_calls)
+
+ device_config = Mock()
+ expected = [
+ call.set_parameter(param_name='RF TX status', value=True),
+ call.set_parameter(param_name='GPS status', value=False),
+ call.set_parameter(param_name='PTP status', value=False),
+ call.set_parameter(param_name='MME status', value=True),
+ call.set_parameter(param_name='Opstate', value=True),
+ call.set_parameter('GPS lat', '1'),
+ call.set_parameter('GPS long', '1'),
+ ]
+ status.set_magma_device_cfg(n6, device_config)
+ self.assertEqual(expected, device_config.mock_calls)
+
+ device_config = Mock()
+ expected = [
+ call.set_parameter(param_name='RF TX status', value=True),
+ call.set_parameter(param_name='GPS status', value=True),
+ call.set_parameter(param_name='PTP status', value=True),
+ call.set_parameter(param_name='MME status', value=True),
+ call.set_parameter(param_name='Opstate', value=True),
+ call.set_parameter('GPS lat', '1'),
+ call.set_parameter('GPS long', None),
+ ]
+ status.set_magma_device_cfg(n7, device_config)
+ self.assertEqual(expected, device_config.mock_calls)
+
+ device_config = Mock()
+ expected = [
+ call.set_parameter(param_name='RF TX status', value=True),
+ call.set_parameter(param_name='GPS status', value=True),
+ call.set_parameter(param_name='PTP status', value=True),
+ call.set_parameter(param_name='MME status', value=True),
+ call.set_parameter(param_name='Opstate', value=True),
+ call.set_parameter('GPS lat', None),
+ call.set_parameter('GPS long', '1'),
+ ]
+ status.set_magma_device_cfg(n8, device_config)
+ self.assertEqual(expected, device_config.mock_calls)
diff --git a/tests/pm_file_example.xml b/tests/pm_file_example.xml
new file mode 100644
index 0000000..920d951
--- /dev/null
+++ b/tests/pm_file_example.xml
@@ -0,0 +1,1302 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<PmFile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="PmFileFormat.xsd">
+ <FileHeader>
+ <InfoModelReferenced>NanoCell-eNB-PM-V2.5.0</InfoModelReferenced>
+ <DnPrefix>CMCC</DnPrefix>
+ <SenderName>CMCC\\,SubNetwork=1\\,ManagementNode=1</SenderName>
+ <VendorName></VendorName>
+ <JobId>{}</JobId>
+ <BeginTime>2018-05-25T14:24:00+08:00</BeginTime>
+ <EndTime>2018-05-25T14:25:00+08:00</EndTime>
+ </FileHeader>
+ <Measurements>
+ <ObjectType>EutranCellTdd</ObjectType>
+ <PmName>
+ <N i="1">RRC.SetupTimeMean</N>
+ <N i="2">RRC.SetupTimeMax</N>
+ <N i="3">RRC.ConnMean</N>
+ <N i="4">RRC.ConnMax</N>
+ <N i="5">RRC.AttConnEstab</N>
+ <N i="6">RRC.AttConnEstab._Cause</N>
+ <N i="7">RRC.SuccConnEstab</N>
+ <N i="8">RRC.SuccConnEstab._Cause</N>
+ <N i="9">RRC.AttConnReestab</N>
+ <N i="10">RRC.AttConnReestab._Cause</N>
+ <N i="11">RRC.SuccConnReestab</N>
+ <N i="12">RRC.SuccConnReestab.NonSrccell</N>
+ <N i="13">RRC.SuccConnReestab._Cause</N>
+ <N i="14">RRC.ConnReleaseCsfb</N>
+ <N i="15">RRC.ConnRelease.RedirectTo2G</N>
+ <N i="16">RRC.ConnRelease.RedirectTo3G</N>
+ <N i="17">ERAB.NbrMeanEstab</N>
+ <N i="18">ERAB.NbrMeanEstab._Qci</N>
+ <N i="19">ERAB.EstabTimeMean</N>
+ <N i="20">ERAB.EstabTimeMax</N>
+ <N i="21">ERAB.NbrHoInc</N>
+ <N i="22">ERAB.NbrHoInc._Qci</N>
+ <N i="23">ERAB.NbrAttEstab</N>
+ <N i="24">ERAB.NbrAttEstab._Qci</N>
+ <N i="25">ERAB.NbrSuccEstab</N>
+ <N i="26">ERAB.NbrSuccEstab._Qci</N>
+ <N i="27">ERAB.NbrFailEstab</N>
+ <N i="28">ERAB.NbrFailEstab.CauseTransport</N>
+ <N i="29">ERAB.NbrFailEstab.CauseRadioResourcesNotAvailable</N>
+ <N i="30">ERAB.NbrFailEstab.CauseFailureInRadioInterfaceProcedure</N>
+ <N i="31">ERAB.NbrFailEstab._Cause</N>
+ <N i="32">ERAB.NbrReqRelEnb</N>
+ <N i="33">ERAB.NbrReqRelEnb.CauseUserInactivity</N>
+ <N i="34">ERAB.NbrReqRelEnb._Cause</N>
+ <N i="35">ERAB.NbrReqRelEnb._Qci</N>
+ <N i="36">ERAB.NbrReqRelEnb.Normal</N>
+ <N i="37">ERAB.NbrReqRelEnb.Normal._Qci</N>
+ <N i="38">ERAB.HoFail</N>
+ <N i="39">ERAB.HoFail._Qci</N>
+ <N i="40">ERAB.NbrLeft</N>
+ <N i="41">ERAB.NbrLeft._Qci</N>
+ <N i="42">CONTEXT.AttInitalSetup</N>
+ <N i="43">CONTEXT.AttInitalSetup.Csfb</N>
+ <N i="44">CONTEXT.SuccInitalSetup</N>
+ <N i="45">CONTEXT.SuccInitalSetup.Csfb</N>
+ <N i="46">CONTEXT.FailInitalSetup</N>
+ <N i="47">CONTEXT.FailInitalSetup._Cause</N>
+ <N i="48">CONTEXT.AttMod</N>
+ <N i="49">CONTEXT.AttMod.Csfb</N>
+ <N i="50">CONTEXT.SuccMod</N>
+ <N i="51">CONTEXT.SuccMod.Csfb</N>
+ <N i="52">CONTEXT.AttRelEnb</N>
+ <N i="53">CONTEXT.AttRelEnb._Cause</N>
+ <N i="54">CONTEXT.AttRelEnb.CauseUserInactivity</N>
+ <N i="55">CONTEXT.AttRelEnb.Normal</N>
+ <N i="56">CONTEXT.NbrLeft</N>
+ <N i="57">HO.AttOutInterEnbS1</N>
+ <N i="58">HO.AttOutInterEnbS1.1</N>
+ <N i="59">HO.PreSuccOutInterEnbS1</N>
+ <N i="60">HO.PreSuccOutInterEnbS1.1</N>
+ <N i="61">HO.ExecOutInterEnbS1</N>
+ <N i="62">HO.ExecOutInterEnbS1.1</N>
+ <N i="63">HO.SuccOutPrepInterEnbS1</N>
+ <N i="64">HO.SuccOutPrepInterEnbS1.1</N>
+ <N i="65">HO.AttOutExecInterEnbS1</N>
+ <N i="66">HO.AttOutExecInterEnbS1.1</N>
+ <N i="67">HO.SuccOutInterEnbS1</N>
+ <N i="68">HO.SuccOutInterEnbS1.1</N>
+ <N i="69">HO.AvgTimeInterEnbS1</N>
+ <N i="70">HO.AttOutInterEnbX2</N>
+ <N i="71">HO.AttOutInterEnbX2.1</N>
+ <N i="72">HO.SuccOutPrepInterEnbX2</N>
+ <N i="73">HO.SuccOutPrepInterEnbX2.1</N>
+ <N i="74">HO.AttOutExecInterEnbX2</N>
+ <N i="75">HO.AttOutExecInterEnbX2.1</N>
+ <N i="76">HO.SuccOutInterEnbX2</N>
+ <N i="77">HO.SuccOutInterEnbX2.1</N>
+ <N i="78">HO.AvgTimeInterEnbX2</N>
+ <N i="79">HO.FailOut</N>
+ <N i="80">HO.FailOut._Cause</N>
+ <N i="81">IRATHO.AttOutGeran</N>
+ <N i="82">IRATHO.SuccPrepOutGeran</N>
+ <N i="83">IRATHO.FailPrepOutGeran</N>
+ <N i="84">IRATHO.FailPrepOutGeran._Cause</N>
+ <N i="85">IRATHO.SuccOutGeran</N>
+ <N i="86">IRATHO.AvgTimeOutGeran</N>
+ <N i="87">IRATHO.AttOutUtran</N>
+ <N i="88">IRATHO.SuccPrepOutUtran</N>
+ <N i="89">IRATHO.FailPrepOutUtran</N>
+ <N i="90">IRATHO.FailPrepOutUtran._Cause</N>
+ <N i="91">IRATHO.SuccOutUtran</N>
+ <N i="92">PAG.PagReceived</N>
+ <N i="93">PAG.PagDiscarded</N>
+ <N i="94">PDCP.UpOctUl</N>
+ <N i="95">PDCP.UpOctUl._Qci</N>
+ <N i="96">PDCP.UpOctDl</N>
+ <N i="97">PDCP.UpOctDl._Qci</N>
+ <N i="98">PDCP.CpOctUl</N>
+ <N i="99">PDCP.CpOctDl</N>
+ <N i="100">PDCP.NbrPktUl</N>
+ <N i="101">PDCP.NbrPktUl._Qci</N>
+ <N i="102">PDCP.NbrPktLossUl</N>
+ <N i="103">PDCP.NbrPktLossUl._Qci</N>
+ <N i="104">PDCP.NbrPktDl</N>
+ <N i="105">PDCP.NbrPktDl._Qci</N>
+ <N i="106">PDCP.NbrPktLossDl</N>
+ <N i="107">PDCP.NbrPktLossDl._Qci</N>
+ <N i="108">PDCP.UpPktDelayDl</N>
+ <N i="109">PDCP.UpPktDelayDl._Qci</N>
+ <N i="110">PDCP.UpPktDiscardDl</N>
+ <N i="111">PDCP.UpPktDiscardDl._Qci</N>
+ <N i="112">RRU.DtchPrbAssnMeanUl</N>
+ <N i="113">RRU.DtchPrbAssnMeanDl</N>
+ <N i="114">RRU.PuschPrbTotMeanUl</N>
+ <N i="115">RRU.PdschPrbTotMeanDl</N>
+ <N i="116">RRU.PdcchCceUtilRatio</N>
+ <N i="117">RRU.PuschPrbMeanTot</N>
+ <N i="118">RRU.PdschPrbMeanTot</N>
+ <N i="119">RRU.TtiTotUl</N>
+ <N i="120">RRU.TtiTotDl</N>
+ <N i="121">RRU.DtchPrbAssnTotalUl.1</N>
+ <N i="122">RRU.DtchPrbAssnTotalDl.1</N>
+ <N i="123">MAC.NbrTbUl</N>
+ <N i="124">MAC.NbrTbUl.1</N>
+ <N i="125">MAC.NbrInitTbUl</N>
+ <N i="126">MAC.NbrInitTbUl.Qpsk</N>
+ <N i="127">MAC.NbrInitTbUl.16Qam</N>
+ <N i="128">MAC.NbrInitTbUl.64Qam</N>
+ <N i="129">MAC.NbrSuccInitTbUl</N>
+ <N i="130">MAC.NbrSuccInitTbUl.Qpsk</N>
+ <N i="131">MAC.NbrSuccInitTbUl.16Qam</N>
+ <N i="132">MAC.NbrSuccInitTbUl.64Qam</N>
+ <N i="133">MAC.NbrSuccInitTbUl.Qpsk.1</N>
+ <N i="134">MAC.NbrSuccInitTbUl.16Qam.1</N>
+ <N i="135">MAC.NbrSuccInitTbUl.64Qam.1</N>
+ <N i="136">MAC.NbrResErrTbUl</N>
+ <N i="137">MAC.NbrTbDl</N>
+ <N i="138">MAC.NbrTbDl.1</N>
+ <N i="139">MAC.NbrTbDl.Rank1</N>
+ <N i="140">MAC.NbrTbDl.Rank2</N>
+ <N i="141">MAC.NbrTbDl.Tm1</N>
+ <N i="142">MAC.NbrTbDl.Tm2</N>
+ <N i="143">MAC.NbrTbDl.Tm3</N>
+ <N i="144">MAC.NbrTbDl.Tm4</N>
+ <N i="145">MAC.NbrTbDl.Tm5</N>
+ <N i="146">MAC.NbrTbDl.Tm6</N>
+ <N i="147">MAC.NbrTbDl.Tm7</N>
+ <N i="148">MAC.NbrTbDl.Tm8</N>
+ <N i="149">MAC.NbrInitTbDl</N>
+ <N i="150">MAC.NbrInitTbDl.Qpsk</N>
+ <N i="151">MAC.NbrInitTbDl.16Qam</N>
+ <N i="152">MAC.NbrInitTbDl.64Qam</N>
+ <N i="153">MAC.NbrSuccInitTbDl</N>
+ <N i="154">MAC.NbrSuccInitTbDl.Qpsk</N>
+ <N i="155">MAC.NbrSuccInitTbDl.16Qam</N>
+ <N i="156">MAC.NbrSuccInitTbDl.64Qam</N>
+ <N i="157">MAC.NbrSuccInitTbDl.Qpsk.1</N>
+ <N i="158">MAC.NbrSuccInitTbDl.16Qam.1</N>
+ <N i="159">MAC.NbrSuccInitTbDl.64Qam.1</N>
+ <N i="160">MAC.NbrResErrTbDl</N>
+ <N i="161">PHY.NbrCqi0</N>
+ <N i="162">PHY.NbrCqi1</N>
+ <N i="163">PHY.NbrCqi2</N>
+ <N i="164">PHY.NbrCqi3</N>
+ <N i="165">PHY.NbrCqi4</N>
+ <N i="166">PHY.NbrCqi5</N>
+ <N i="167">PHY.NbrCqi6</N>
+ <N i="168">PHY.NbrCqi7</N>
+ <N i="169">PHY.NbrCqi8</N>
+ <N i="170">PHY.NbrCqi9</N>
+ <N i="171">PHY.NbrCqi10</N>
+ <N i="172">PHY.NbrCqi11</N>
+ <N i="173">PHY.NbrCqi12</N>
+ <N i="174">PHY.NbrCqi13</N>
+ <N i="175">PHY.NbrCqi14</N>
+ <N i="176">PHY.NbrCqi15</N>
+ <N i="177">PHY.ULMaxNL._PRB</N>
+ <N i="178">PHY.ULMeanNL._PRB</N>
+ <N i="179">PHY.CellMaxTxPower</N>
+ <N i="180">PHY.CellMeanTxPower</N>
+ <N i="181">S1SIG.ConnEstabSucc</N>
+ <N i="182">S1SIG.ConnEstabAtt</N>
+ </PmName>
+ <PmData>
+ <Pm Dn="CMCC,SubNetwork=1,ManagedElement=1,EnbFunction=1,EutranCellTdd=1" UserLabel="BJ01">
+ <V i="1">0</V>
+ <V i="2">0</V>
+ <V i="3">0</V>
+ <V i="4">0</V>
+ <V i="5">123</V>
+ <CV i="6">
+ <SN>RRC.AttConnEstab.Emergency</SN>
+ <SV>0</SV>
+ <SN>RRC.AttConnEstab.HI_PRIO_ACCESS</SN>
+ <SV>0</SV>
+ <SN>RRC.AttConnEstab.MT_ACCESS</SN>
+ <SV>0</SV>
+ <SN>RRC.AttConnEstab.MO_SIGNAL</SN>
+ <SV>0</SV>
+ <SN>RRC.AttConnEstab.MO_DATA</SN>
+ <SV>0</SV>
+ <SN>RRC.AttConnEstab.DeToAccess</SN>
+ <SV>0</SV>
+ </CV>
+ <V i="7">99</V>
+ <CV i="8">
+ <SN>RRC.SuccConnEstab.EMERGENCY</SN>
+ <SV>0</SV>
+ <SN>RRC.SuccConnEstab.HIGHPRIORITYACCES</SN>
+ <SV>0</SV>
+ <SN>RRC.SuccConnEstab.MTACCESS</SN>
+ <SV>0</SV>
+ <SN>RRC.SuccConnEstab.MOSIGNALLING</SN>
+ <SV>0</SV>
+ <SN>RRC.SuccConnEstab.MODATA</SN>
+ <SV>0</SV>
+ <SN>RRC.SuccConnEstab.DE_TO_ACCESS</SN>
+ <SV>0</SV>
+ </CV>
+ <V i="9">0</V>
+ <CV i="10">
+ <SN>RRC.AttConnReestab.RECONF_FAIL</SN>
+ <SV>654</SV>
+ <SN>RRC.AttConnReestab.HO_FAIL</SN>
+ <SV>321</SV>
+ <SN>RRC.AttConnReestab.OTHER</SN>
+ <SV>0</SV>
+ </CV>
+ <V i="11">0</V>
+ <V i="12">0</V>
+ <CV i="13">
+ <SN>RRC.SuccConnReestab.RECONF_FAIL</SN>
+ <SV>0</SV>
+ <SN>RRC.SuccConnReestab.HO_FAIL</SN>
+ <SV>0</SV>
+ <SN>RRC.SuccConnReestab.OTHER</SN>
+ <SV>0</SV>
+ <SN>RRC.SuccConnReestab.Sum</SN>
+ <SV>0</SV>
+ </CV>
+ <V i="14">0</V>
+ <V i="15">0</V>
+ <V i="16">0</V>
+ <V i="17">0</V>
+ <CV i="18">
+ <SN>ERAB.NbrMeanEstab.1</SN>
+ <SV>0</SV>
+ <SN>ERAB.NbrMeanEstab.2</SN>
+ <SV>0</SV>
+ <SN>ERAB.NbrMeanEstab.3</SN>
+ <SV>0</SV>
+ <SN>ERAB.NbrMeanEstab.4</SN>
+ <SV>0</SV>
+ <SN>ERAB.NbrMeanEstab.5</SN>
+ <SV>0</SV>
+ <SN>ERAB.NbrMeanEstab.6</SN>
+ <SV>0</SV>
+ <SN>ERAB.NbrMeanEstab.7</SN>
+ <SV>0</SV>
+ <SN>ERAB.NbrMeanEstab.8</SN>
+ <SV>0</SV>
+ <SN>ERAB.NbrMeanEstab.9</SN>
+ <SV>0</SV>
+ </CV>
+ <V i="19">0</V>
+ <V i="20">0</V>
+ <V i="21">0</V>
+ <CV i="22">
+ <SN>ERAB.NbrHoInc.1</SN>
+ <SV>0</SV>
+ <SN>ERAB.NbrHoInc.2</SN>
+ <SV>0</SV>
+ <SN>ERAB.NbrHoInc.3</SN>
+ <SV>0</SV>
+ <SN>ERAB.NbrHoInc.4</SN>
+ <SV>0</SV>
+ <SN>ERAB.NbrHoInc.5</SN>
+ <SV>0</SV>
+ <SN>ERAB.NbrHoInc.6</SN>
+ <SV>0</SV>
+ <SN>ERAB.NbrHoInc.7</SN>
+ <SV>0</SV>
+ <SN>ERAB.NbrHoInc.8</SN>
+ <SV>0</SV>
+ <SN>ERAB.NbrHoInc.9</SN>
+ <SV>0</SV>
+ </CV>
+ <V i="23">0</V>
+ <CV i="24">
+ <SN>ERAB.NbrAttEstab.1</SN>
+ <SV>0</SV>
+ <SN>ERAB.NbrAttEstab.2</SN>
+ <SV>0</SV>
+ <SN>ERAB.NbrAttEstab.3</SN>
+ <SV>0</SV>
+ <SN>ERAB.NbrAttEstab.4</SN>
+ <SV>0</SV>
+ <SN>ERAB.NbrAttEstab.5</SN>
+ <SV>0</SV>
+ <SN>ERAB.NbrAttEstab.6</SN>
+ <SV>0</SV>
+ <SN>ERAB.NbrAttEstab.7</SN>
+ <SV>0</SV>
+ <SN>ERAB.NbrAttEstab.8</SN>
+ <SV>0</SV>
+ <SN>ERAB.NbrAttEstab.9</SN>
+ <SV>0</SV>
+ </CV>
+ <V i="25">0</V>
+ <CV i="26">
+ <SN>ERAB.NbrSuccEstab.1</SN>
+ <SV>0</SV>
+ <SN>ERAB.NbrSuccEstab.2</SN>
+ <SV>0</SV>
+ <SN>ERAB.NbrSuccEstab.3</SN>
+ <SV>0</SV>
+ <SN>ERAB.NbrSuccEstab.4</SN>
+ <SV>0</SV>
+ <SN>ERAB.NbrSuccEstab.5</SN>
+ <SV>0</SV>
+ <SN>ERAB.NbrSuccEstab.6</SN>
+ <SV>0</SV>
+ <SN>ERAB.NbrSuccEstab.7</SN>
+ <SV>0</SV>
+ <SN>ERAB.NbrSuccEstab.8</SN>
+ <SV>0</SV>
+ <SN>ERAB.NbrSuccEstab.9</SN>
+ <SV>0</SV>
+ </CV>
+ <V i="27">0</V>
+ <V i="28">0</V>
+ <V i="29">0</V>
+ <V i="30">0</V>
+ <CV i="31">
+ <SN>ERAB.NbrFailEstab.InvalidQoSCombinations</SN>
+ <SV>0</SV>
+ <SN>ERAB.NbrFailEstab.MultipleERABIDInstances</SN>
+ <SV>0</SV>
+ <SN>ERAB.NbrFailEstab.NotSupportedQCIValue</SN>
+ <SV>0</SV>
+ <SN>ERAB.NbrFailEstab.S1IntraSystemHandoverTriggered</SN>
+ <SV>0</SV>
+ <SN>ERAB.NbrFailEstab.S1InterSystemHandoverTriggered</SN>
+ <SV>0</SV>
+ <SN>ERAB.NbrFailEstab.X2HandoverTriggered</SN>
+ <SV>0</SV>
+ </CV>
+ <V i="32">0</V>
+ <V i="33">0</V>
+ <CV i="34">
+ <SN>ERAB.NbrReqRelEnb.CauseRADIORESOURCESNOTAVAILABLE</SN>
+ <SV>0</SV>
+ <SN>ERAB.NbrReqRelEnb.CauseREDUCELOADINSERVINGCELL</SN>
+ <SV>0</SV>
+ <SN>ERAB.NbrReqRelEnb.CauseFAILUREINTHERADIOINTERFACEPROCEDURE</SN>
+ <SV>135</SV>
+ <SN>ERAB.NbrReqRelEnb.CauseRELEASEDUETOEUTRANGENERATEDREASONS</SN>
+ <SV>0</SV>
+ <SN>ERAB.NbrReqRelEnb.CauseRADIOCONNECTIONWITHUELOST</SN>
+ <SV>65537</SV>
+ <SN>ERAB.NbrReqRelEnb.CauseOAMINTERVENTION</SN>
+ <SV>0</SV>
+ </CV>
+ <CV i="35">
+ <SN>ERAB.NbrReqRelEnb.1</SN>
+ <SV>0</SV>
+ <SN>ERAB.NbrReqRelEnb.2</SN>
+ <SV>0</SV>
+ <SN>ERAB.NbrReqRelEnb.3</SN>
+ <SV>0</SV>
+ <SN>ERAB.NbrReqRelEnb.4</SN>
+ <SV>0</SV>
+ <SN>ERAB.NbrReqRelEnb.5</SN>
+ <SV>0</SV>
+ <SN>ERAB.NbrReqRelEnb.6</SN>
+ <SV>0</SV>
+ <SN>ERAB.NbrReqRelEnb.7</SN>
+ <SV>0</SV>
+ <SN>ERAB.NbrReqRelEnb.8</SN>
+ <SV>0</SV>
+ <SN>ERAB.NbrReqRelEnb.9</SN>
+ <SV>0</SV>
+ </CV>
+ <V i="36">0</V>
+ <CV i="37">
+ <SN>ERAB.NbrReqRelEnb.Normal.1</SN>
+ <SV>0</SV>
+ <SN>ERAB.NbrReqRelEnb.Normal.2</SN>
+ <SV>0</SV>
+ <SN>ERAB.NbrReqRelEnb.Normal.3</SN>
+ <SV>0</SV>
+ <SN>ERAB.NbrReqRelEnb.Normal.4</SN>
+ <SV>0</SV>
+ <SN>ERAB.NbrReqRelEnb.Normal.5</SN>
+ <SV>0</SV>
+ <SN>ERAB.NbrReqRelEnb.Normal.6</SN>
+ <SV>0</SV>
+ <SN>ERAB.NbrReqRelEnb.Normal.7</SN>
+ <SV>0</SV>
+ <SN>ERAB.NbrReqRelEnb.Normal.8</SN>
+ <SV>0</SV>
+ <SN>ERAB.NbrReqRelEnb.Normal.9</SN>
+ <SV>0</SV>
+ </CV>
+ <V i="38">0</V>
+ <CV i="39">
+ <SN>ERAB.HoFail.1</SN>
+ <SV>0</SV>
+ <SN>ERAB.HoFail.2</SN>
+ <SV>0</SV>
+ <SN>ERAB.HoFail.3</SN>
+ <SV>0</SV>
+ <SN>ERAB.HoFail.4</SN>
+ <SV>0</SV>
+ <SN>ERAB.HoFail.5</SN>
+ <SV>0</SV>
+ <SN>ERAB.HoFail.6</SN>
+ <SV>0</SV>
+ <SN>ERAB.HoFail.7</SN>
+ <SV>0</SV>
+ <SN>ERAB.HoFail.8</SN>
+ <SV>0</SV>
+ <SN>ERAB.HoFail.9</SN>
+ <SV>0</SV>
+ </CV>
+ <V i="40">0</V>
+ <CV i="41">
+ <SN>ERAB.NbrLeft.1</SN>
+ <SV>0</SV>
+ <SN>ERAB.NbrLeft.2</SN>
+ <SV>0</SV>
+ <SN>ERAB.NbrLeft.3</SN>
+ <SV>0</SV>
+ <SN>ERAB.NbrLeft.4</SN>
+ <SV>0</SV>
+ <SN>ERAB.NbrLeft.5</SN>
+ <SV>0</SV>
+ <SN>ERAB.NbrLeft.6</SN>
+ <SV>0</SV>
+ <SN>ERAB.NbrLeft.7</SN>
+ <SV>0</SV>
+ <SN>ERAB.NbrLeft.8</SN>
+ <SV>0</SV>
+ <SN>ERAB.NbrLeft.9</SN>
+ <SV>0</SV>
+ </CV>
+ <V i="42">0</V>
+ <V i="43">0</V>
+ <V i="44">0</V>
+ <V i="45">0</V>
+ <V i="46">0</V>
+ <V i="47">0</V>
+ <V i="48">0</V>
+ <V i="49">0</V>
+ <V i="50">0</V>
+ <V i="51">0</V>
+ <V i="52">0</V>
+ <CV i="53">
+ <SN>CONTEXT.AttRelEnb.Cause1</SN>
+ <SV>0</SV>
+ </CV>
+ <V i="54">0</V>
+ <V i="55">0</V>
+ <V i="56">0</V>
+ <V i="57">0</V>
+ <V i="58">0</V>
+ <V i="59">0</V>
+ <V i="60">0</V>
+ <V i="61">0</V>
+ <V i="62">0</V>
+ <V i="63">0</V>
+ <V i="64">0</V>
+ <V i="65">0</V>
+ <V i="66">0</V>
+ <V i="67">0</V>
+ <V i="68">0</V>
+ <V i="69">0</V>
+ <V i="70">0</V>
+ <V i="71">0</V>
+ <V i="72">0</V>
+ <V i="73">0</V>
+ <V i="74">0</V>
+ <V i="75">0</V>
+ <V i="76">0</V>
+ <V i="77">0</V>
+ <V i="78">0</V>
+ <V i="79">0</V>
+ <CV i="80">
+ <SN>HO.FailOut.1</SN>
+ <SV>0</SV>
+ <SN>HO.FailOut.2</SN>
+ <SV>0</SV>
+ <SN>HO.FailOut.3</SN>
+ <SV>0</SV>
+ <SN>HO.FailOut.4</SN>
+ <SV>0</SV>
+ <SN>HO.FailOut.5</SN>
+ <SV>0</SV>
+ <SN>HO.FailOut.6</SN>
+ <SV>0</SV>
+ <SN>HO.FailOut.7</SN>
+ <SV>0</SV>
+ <SN>HO.FailOut.8</SN>
+ <SV>0</SV>
+ <SN>HO.FailOut.9</SN>
+ <SV>0</SV>
+ </CV>
+ <V i="81">0</V>
+ <V i="82">0</V>
+ <V i="83">0</V>
+ <CV i="84">
+ <SN>IRATHO.FailPrepOutGeran.Cause1</SN>
+ <SV>0</SV>
+ </CV>
+ <V i="85">0</V>
+ <V i="86">0</V>
+ <V i="87">0</V>
+ <V i="88">0</V>
+ <V i="89">0</V>
+ <CV i="90">
+ <SN>IRATHO.FailPrepOutUtran.Cause1</SN>
+ <SV>0</SV>
+ </CV>
+ <V i="91">0</V>
+ <V i="92">0</V>
+ <V i="93">0</V>
+ <V i="94">1000</V>
+ <CV i="95">
+ <SN>PDCP.UpOctUl.1</SN>
+ <SV>0</SV>
+ <SN>PDCP.UpOctUl.2</SN>
+ <SV>0</SV>
+ <SN>PDCP.UpOctUl.3</SN>
+ <SV>0</SV>
+ <SN>PDCP.UpOctUl.4</SN>
+ <SV>0</SV>
+ <SN>PDCP.UpOctUl.5</SN>
+ <SV>0</SV>
+ <SN>PDCP.UpOctUl.6</SN>
+ <SV>0</SV>
+ <SN>PDCP.UpOctUl.7</SN>
+ <SV>0</SV>
+ <SN>PDCP.UpOctUl.8</SN>
+ <SV>0</SV>
+ <SN>PDCP.UpOctUl.9</SN>
+ <SV>0</SV>
+ </CV>
+ <V i="96">500</V>
+ <CV i="97">
+ <SN>PDCP.UpOctDl.1</SN>
+ <SV>0</SV>
+ <SN>PDCP.UpOctDl.2</SN>
+ <SV>0</SV>
+ <SN>PDCP.UpOctDl.3</SN>
+ <SV>0</SV>
+ <SN>PDCP.UpOctDl.4</SN>
+ <SV>0</SV>
+ <SN>PDCP.UpOctDl.5</SN>
+ <SV>0</SV>
+ <SN>PDCP.UpOctDl.6</SN>
+ <SV>0</SV>
+ <SN>PDCP.UpOctDl.7</SN>
+ <SV>0</SV>
+ <SN>PDCP.UpOctDl.8</SN>
+ <SV>0</SV>
+ <SN>PDCP.UpOctDl.9</SN>
+ <SV>0</SV>
+ </CV>
+ <V i="98">0</V>
+ <V i="99">0</V>
+ <V i="100">0</V>
+ <CV i="101">
+ <SN>PDCP.NbrPktUl.1</SN>
+ <SV>0</SV>
+ <SN>PDCP.NbrPktUl.2</SN>
+ <SV>0</SV>
+ <SN>PDCP.NbrPktUl.3</SN>
+ <SV>0</SV>
+ <SN>PDCP.NbrPktUl.4</SN>
+ <SV>0</SV>
+ <SN>PDCP.NbrPktUl.5</SN>
+ <SV>0</SV>
+ <SN>PDCP.NbrPktUl.6</SN>
+ <SV>0</SV>
+ <SN>PDCP.NbrPktUl.7</SN>
+ <SV>0</SV>
+ <SN>PDCP.NbrPktUl.8</SN>
+ <SV>0</SV>
+ <SN>PDCP.NbrPktUl.9</SN>
+ <SV>0</SV>
+ </CV>
+ <V i="102">0</V>
+ <CV i="103">
+ <SN>PDCP.NbrPktLossUl.1</SN>
+ <SV>0</SV>
+ <SN>PDCP.NbrPktLossUl.2</SN>
+ <SV>0</SV>
+ <SN>PDCP.NbrPktLossUl.3</SN>
+ <SV>0</SV>
+ <SN>PDCP.NbrPktLossUl.4</SN>
+ <SV>0</SV>
+ <SN>PDCP.NbrPktLossUl.5</SN>
+ <SV>0</SV>
+ <SN>PDCP.NbrPktLossUl.6</SN>
+ <SV>0</SV>
+ <SN>PDCP.NbrPktLossUl.7</SN>
+ <SV>0</SV>
+ <SN>PDCP.NbrPktLossUl.8</SN>
+ <SV>0</SV>
+ <SN>PDCP.NbrPktLossUl.9</SN>
+ <SV>0</SV>
+ </CV>
+ <V i="104">0</V>
+ <CV i="105">
+ <SN>PDCP.NbrPktDl.1</SN>
+ <SV>0</SV>
+ <SN>PDCP.NbrPktDl.2</SN>
+ <SV>0</SV>
+ <SN>PDCP.NbrPktDl.3</SN>
+ <SV>0</SV>
+ <SN>PDCP.NbrPktDl.4</SN>
+ <SV>0</SV>
+ <SN>PDCP.NbrPktDl.5</SN>
+ <SV>0</SV>
+ <SN>PDCP.NbrPktDl.6</SN>
+ <SV>0</SV>
+ <SN>PDCP.NbrPktDl.7</SN>
+ <SV>0</SV>
+ <SN>PDCP.NbrPktDl.8</SN>
+ <SV>0</SV>
+ <SN>PDCP.NbrPktDl.9</SN>
+ <SV>0</SV>
+ </CV>
+ <V i="106">0</V>
+ <CV i="107">
+ <SN>PDCP.NbrPktLossDl.1</SN>
+ <SV>0</SV>
+ <SN>PDCP.NbrPktLossDl.2</SN>
+ <SV>0</SV>
+ <SN>PDCP.NbrPktLossDl.3</SN>
+ <SV>0</SV>
+ <SN>PDCP.NbrPktLossDl.4</SN>
+ <SV>0</SV>
+ <SN>PDCP.NbrPktLossDl.5</SN>
+ <SV>0</SV>
+ <SN>PDCP.NbrPktLossDl.6</SN>
+ <SV>0</SV>
+ <SN>PDCP.NbrPktLossDl.7</SN>
+ <SV>0</SV>
+ <SN>PDCP.NbrPktLossDl.8</SN>
+ <SV>0</SV>
+ <SN>PDCP.NbrPktLossDl.9</SN>
+ <SV>0</SV>
+ </CV>
+ <V i="108">0</V>
+ <CV i="109">
+ <SN>PDCP.UpPktDelayDl.1</SN>
+ <SV>0</SV>
+ <SN>PDCP.UpPktDelayDl.2</SN>
+ <SV>0</SV>
+ <SN>PDCP.UpPktDelayDl.3</SN>
+ <SV>0</SV>
+ <SN>PDCP.UpPktDelayDl.4</SN>
+ <SV>0</SV>
+ <SN>PDCP.UpPktDelayDl.5</SN>
+ <SV>0</SV>
+ <SN>PDCP.UpPktDelayDl.6</SN>
+ <SV>0</SV>
+ <SN>PDCP.UpPktDelayDl.7</SN>
+ <SV>0</SV>
+ <SN>PDCP.UpPktDelayDl.8</SN>
+ <SV>0</SV>
+ <SN>PDCP.UpPktDelayDl.9</SN>
+ <SV>0</SV>
+ </CV>
+ <V i="110">0</V>
+ <CV i="111">
+ <SN>PDCP.UpPktDiscardDl.1</SN>
+ <SV>0</SV>
+ <SN>PDCP.UpPktDiscardDl.2</SN>
+ <SV>0</SV>
+ <SN>PDCP.UpPktDiscardDl.3</SN>
+ <SV>0</SV>
+ <SN>PDCP.UpPktDiscardDl.4</SN>
+ <SV>0</SV>
+ <SN>PDCP.UpPktDiscardDl.5</SN>
+ <SV>0</SV>
+ <SN>PDCP.UpPktDiscardDl.6</SN>
+ <SV>0</SV>
+ <SN>PDCP.UpPktDiscardDl.7</SN>
+ <SV>0</SV>
+ <SN>PDCP.UpPktDiscardDl.8</SN>
+ <SV>0</SV>
+ <SN>PDCP.UpPktDiscardDl.9</SN>
+ <SV>0</SV>
+ </CV>
+ <V i="112">0</V>
+ <V i="113">0</V>
+ <V i="114">0</V>
+ <V i="115">0</V>
+ <V i="116">0</V>
+ <V i="117">100</V>
+ <V i="118">100</V>
+ <V i="119">12000</V>
+ <V i="120">48002</V>
+ <V i="121">0</V>
+ <V i="122">0</V>
+ <V i="123">2</V>
+ <V i="124">0</V>
+ <V i="125">0</V>
+ <V i="126">0</V>
+ <V i="127">0</V>
+ <V i="128">0</V>
+ <V i="129">470</V>
+ <V i="130">0</V>
+ <V i="131">0</V>
+ <V i="132">0</V>
+ <V i="133">0</V>
+ <V i="134">0</V>
+ <V i="135">0</V>
+ <V i="136">2</V>
+ <V i="137">7456</V>
+ <V i="138">0</V>
+ <V i="139">0</V>
+ <V i="140">0</V>
+ <V i="141">0</V>
+ <V i="142">0</V>
+ <V i="143">0</V>
+ <V i="144">0</V>
+ <V i="145">0</V>
+ <V i="146">0</V>
+ <V i="147">0</V>
+ <V i="148">0</V>
+ <V i="149">7456</V>
+ <V i="150">0</V>
+ <V i="151">0</V>
+ <V i="152">0</V>
+ <V i="153">7456</V>
+ <V i="154">0</V>
+ <V i="155">0</V>
+ <V i="156">0</V>
+ <V i="157">0</V>
+ <V i="158">0</V>
+ <V i="159">0</V>
+ <V i="160">0</V>
+ <V i="161">0</V>
+ <V i="162">0</V>
+ <V i="163">0</V>
+ <V i="164">0</V>
+ <V i="165">0</V>
+ <V i="166">0</V>
+ <V i="167">0</V>
+ <V i="168">0</V>
+ <V i="169">0</V>
+ <V i="170">0</V>
+ <V i="171">0</V>
+ <V i="172">0</V>
+ <V i="173">0</V>
+ <V i="174">0</V>
+ <V i="175">0</V>
+ <V i="176">0</V>
+ <CV i="177">
+ <SN>PHY.ULMaxNL.1</SN>
+ <SV>-90</SV>
+ <SN>PHY.ULMaxNL.2</SN>
+ <SV>-94</SV>
+ <SN>PHY.ULMaxNL.3</SN>
+ <SV>-93</SV>
+ <SN>PHY.ULMaxNL.4</SN>
+ <SV>-92</SV>
+ <SN>PHY.ULMaxNL.5</SN>
+ <SV>-93</SV>
+ <SN>PHY.ULMaxNL.6</SN>
+ <SV>-93</SV>
+ <SN>PHY.ULMaxNL.7</SN>
+ <SV>-91</SV>
+ <SN>PHY.ULMaxNL.8</SN>
+ <SV>-94</SV>
+ <SN>PHY.ULMaxNL.9</SN>
+ <SV>-91</SV>
+ <SN>PHY.ULMaxNL.10</SN>
+ <SV>-90</SV>
+ <SN>PHY.ULMaxNL.11</SN>
+ <SV>-94</SV>
+ <SN>PHY.ULMaxNL.12</SN>
+ <SV>-93</SV>
+ <SN>PHY.ULMaxNL.13</SN>
+ <SV>-94</SV>
+ <SN>PHY.ULMaxNL.14</SN>
+ <SV>-94</SV>
+ <SN>PHY.ULMaxNL.15</SN>
+ <SV>-90</SV>
+ <SN>PHY.ULMaxNL.16</SN>
+ <SV>-93</SV>
+ <SN>PHY.ULMaxNL.17</SN>
+ <SV>-91</SV>
+ <SN>PHY.ULMaxNL.18</SN>
+ <SV>-90</SV>
+ <SN>PHY.ULMaxNL.19</SN>
+ <SV>-93</SV>
+ <SN>PHY.ULMaxNL.20</SN>
+ <SV>-94</SV>
+ <SN>PHY.ULMaxNL.21</SN>
+ <SV>-92</SV>
+ <SN>PHY.ULMaxNL.22</SN>
+ <SV>-90</SV>
+ <SN>PHY.ULMaxNL.23</SN>
+ <SV>-91</SV>
+ <SN>PHY.ULMaxNL.24</SN>
+ <SV>-90</SV>
+ <SN>PHY.ULMaxNL.25</SN>
+ <SV>-92</SV>
+ <SN>PHY.ULMaxNL.26</SN>
+ <SV>-94</SV>
+ <SN>PHY.ULMaxNL.27</SN>
+ <SV>-93</SV>
+ <SN>PHY.ULMaxNL.28</SN>
+ <SV>-90</SV>
+ <SN>PHY.ULMaxNL.29</SN>
+ <SV>-91</SV>
+ <SN>PHY.ULMaxNL.30</SN>
+ <SV>-94</SV>
+ <SN>PHY.ULMaxNL.31</SN>
+ <SV>-91</SV>
+ <SN>PHY.ULMaxNL.32</SN>
+ <SV>-91</SV>
+ <SN>PHY.ULMaxNL.33</SN>
+ <SV>-93</SV>
+ <SN>PHY.ULMaxNL.34</SN>
+ <SV>-91</SV>
+ <SN>PHY.ULMaxNL.35</SN>
+ <SV>-90</SV>
+ <SN>PHY.ULMaxNL.36</SN>
+ <SV>-91</SV>
+ <SN>PHY.ULMaxNL.37</SN>
+ <SV>-92</SV>
+ <SN>PHY.ULMaxNL.38</SN>
+ <SV>-91</SV>
+ <SN>PHY.ULMaxNL.39</SN>
+ <SV>-90</SV>
+ <SN>PHY.ULMaxNL.40</SN>
+ <SV>-93</SV>
+ <SN>PHY.ULMaxNL.41</SN>
+ <SV>-92</SV>
+ <SN>PHY.ULMaxNL.42</SN>
+ <SV>-92</SV>
+ <SN>PHY.ULMaxNL.43</SN>
+ <SV>-92</SV>
+ <SN>PHY.ULMaxNL.44</SN>
+ <SV>-91</SV>
+ <SN>PHY.ULMaxNL.45</SN>
+ <SV>-93</SV>
+ <SN>PHY.ULMaxNL.46</SN>
+ <SV>-94</SV>
+ <SN>PHY.ULMaxNL.47</SN>
+ <SV>-91</SV>
+ <SN>PHY.ULMaxNL.48</SN>
+ <SV>-92</SV>
+ <SN>PHY.ULMaxNL.49</SN>
+ <SV>-91</SV>
+ <SN>PHY.ULMaxNL.50</SN>
+ <SV>-91</SV>
+ <SN>PHY.ULMaxNL.51</SN>
+ <SV>-91</SV>
+ <SN>PHY.ULMaxNL.52</SN>
+ <SV>-93</SV>
+ <SN>PHY.ULMaxNL.53</SN>
+ <SV>-91</SV>
+ <SN>PHY.ULMaxNL.54</SN>
+ <SV>-92</SV>
+ <SN>PHY.ULMaxNL.55</SN>
+ <SV>-90</SV>
+ <SN>PHY.ULMaxNL.56</SN>
+ <SV>-93</SV>
+ <SN>PHY.ULMaxNL.57</SN>
+ <SV>-92</SV>
+ <SN>PHY.ULMaxNL.58</SN>
+ <SV>-93</SV>
+ <SN>PHY.ULMaxNL.59</SN>
+ <SV>-94</SV>
+ <SN>PHY.ULMaxNL.60</SN>
+ <SV>-90</SV>
+ <SN>PHY.ULMaxNL.61</SN>
+ <SV>-92</SV>
+ <SN>PHY.ULMaxNL.62</SN>
+ <SV>-92</SV>
+ <SN>PHY.ULMaxNL.63</SN>
+ <SV>-93</SV>
+ <SN>PHY.ULMaxNL.64</SN>
+ <SV>-90</SV>
+ <SN>PHY.ULMaxNL.65</SN>
+ <SV>-90</SV>
+ <SN>PHY.ULMaxNL.66</SN>
+ <SV>-93</SV>
+ <SN>PHY.ULMaxNL.67</SN>
+ <SV>-91</SV>
+ <SN>PHY.ULMaxNL.68</SN>
+ <SV>-92</SV>
+ <SN>PHY.ULMaxNL.69</SN>
+ <SV>-94</SV>
+ <SN>PHY.ULMaxNL.70</SN>
+ <SV>-94</SV>
+ <SN>PHY.ULMaxNL.71</SN>
+ <SV>-91</SV>
+ <SN>PHY.ULMaxNL.72</SN>
+ <SV>-91</SV>
+ <SN>PHY.ULMaxNL.73</SN>
+ <SV>-93</SV>
+ <SN>PHY.ULMaxNL.74</SN>
+ <SV>-90</SV>
+ <SN>PHY.ULMaxNL.75</SN>
+ <SV>-90</SV>
+ <SN>PHY.ULMaxNL.76</SN>
+ <SV>-91</SV>
+ <SN>PHY.ULMaxNL.77</SN>
+ <SV>-94</SV>
+ <SN>PHY.ULMaxNL.78</SN>
+ <SV>-93</SV>
+ <SN>PHY.ULMaxNL.79</SN>
+ <SV>-93</SV>
+ <SN>PHY.ULMaxNL.80</SN>
+ <SV>-90</SV>
+ <SN>PHY.ULMaxNL.81</SN>
+ <SV>-90</SV>
+ <SN>PHY.ULMaxNL.82</SN>
+ <SV>-92</SV>
+ <SN>PHY.ULMaxNL.83</SN>
+ <SV>-91</SV>
+ <SN>PHY.ULMaxNL.84</SN>
+ <SV>-93</SV>
+ <SN>PHY.ULMaxNL.85</SN>
+ <SV>-91</SV>
+ <SN>PHY.ULMaxNL.86</SN>
+ <SV>-91</SV>
+ <SN>PHY.ULMaxNL.87</SN>
+ <SV>-94</SV>
+ <SN>PHY.ULMaxNL.88</SN>
+ <SV>-93</SV>
+ <SN>PHY.ULMaxNL.89</SN>
+ <SV>-92</SV>
+ <SN>PHY.ULMaxNL.90</SN>
+ <SV>-90</SV>
+ <SN>PHY.ULMaxNL.91</SN>
+ <SV>-90</SV>
+ <SN>PHY.ULMaxNL.92</SN>
+ <SV>-94</SV>
+ <SN>PHY.ULMaxNL.93</SN>
+ <SV>-94</SV>
+ <SN>PHY.ULMaxNL.94</SN>
+ <SV>-93</SV>
+ <SN>PHY.ULMaxNL.95</SN>
+ <SV>-92</SV>
+ <SN>PHY.ULMaxNL.96</SN>
+ <SV>-94</SV>
+ <SN>PHY.ULMaxNL.97</SN>
+ <SV>-93</SV>
+ <SN>PHY.ULMaxNL.98</SN>
+ <SV>-93</SV>
+ <SN>PHY.ULMaxNL.99</SN>
+ <SV>-92</SV>
+ <SN>PHY.ULMaxNL.100</SN>
+ <SV>-93</SV>
+ </CV>
+ <CV i="178">
+ <SN>PHY.ULMeanNL.1</SN>
+ <SV>0</SV>
+ <SN>PHY.ULMeanNL.2</SN>
+ <SV>0</SV>
+ <SN>PHY.ULMeanNL.3</SN>
+ <SV>0</SV>
+ <SN>PHY.ULMeanNL.4</SN>
+ <SV>0</SV>
+ <SN>PHY.ULMeanNL.5</SN>
+ <SV>0</SV>
+ <SN>PHY.ULMeanNL.6</SN>
+ <SV>0</SV>
+ <SN>PHY.ULMeanNL.7</SN>
+ <SV>0</SV>
+ <SN>PHY.ULMeanNL.8</SN>
+ <SV>0</SV>
+ <SN>PHY.ULMeanNL.9</SN>
+ <SV>0</SV>
+ <SN>PHY.ULMeanNL.10</SN>
+ <SV>0</SV>
+ <SN>PHY.ULMeanNL.11</SN>
+ <SV>-104</SV>
+ <SN>PHY.ULMeanNL.12</SN>
+ <SV>-100</SV>
+ <SN>PHY.ULMeanNL.13</SN>
+ <SV>-101</SV>
+ <SN>PHY.ULMeanNL.14</SN>
+ <SV>-102</SV>
+ <SN>PHY.ULMeanNL.15</SN>
+ <SV>-100</SV>
+ <SN>PHY.ULMeanNL.16</SN>
+ <SV>-103</SV>
+ <SN>PHY.ULMeanNL.17</SN>
+ <SV>-104</SV>
+ <SN>PHY.ULMeanNL.18</SN>
+ <SV>-104</SV>
+ <SN>PHY.ULMeanNL.19</SN>
+ <SV>-102</SV>
+ <SN>PHY.ULMeanNL.20</SN>
+ <SV>-104</SV>
+ <SN>PHY.ULMeanNL.21</SN>
+ <SV>-101</SV>
+ <SN>PHY.ULMeanNL.22</SN>
+ <SV>-104</SV>
+ <SN>PHY.ULMeanNL.23</SN>
+ <SV>-101</SV>
+ <SN>PHY.ULMeanNL.24</SN>
+ <SV>-104</SV>
+ <SN>PHY.ULMeanNL.25</SN>
+ <SV>-104</SV>
+ <SN>PHY.ULMeanNL.26</SN>
+ <SV>-103</SV>
+ <SN>PHY.ULMeanNL.27</SN>
+ <SV>-101</SV>
+ <SN>PHY.ULMeanNL.28</SN>
+ <SV>-103</SV>
+ <SN>PHY.ULMeanNL.29</SN>
+ <SV>-103</SV>
+ <SN>PHY.ULMeanNL.30</SN>
+ <SV>-103</SV>
+ <SN>PHY.ULMeanNL.31</SN>
+ <SV>-103</SV>
+ <SN>PHY.ULMeanNL.32</SN>
+ <SV>-101</SV>
+ <SN>PHY.ULMeanNL.33</SN>
+ <SV>-104</SV>
+ <SN>PHY.ULMeanNL.34</SN>
+ <SV>-102</SV>
+ <SN>PHY.ULMeanNL.35</SN>
+ <SV>-104</SV>
+ <SN>PHY.ULMeanNL.36</SN>
+ <SV>-101</SV>
+ <SN>PHY.ULMeanNL.37</SN>
+ <SV>-104</SV>
+ <SN>PHY.ULMeanNL.38</SN>
+ <SV>-100</SV>
+ <SN>PHY.ULMeanNL.39</SN>
+ <SV>-102</SV>
+ <SN>PHY.ULMeanNL.40</SN>
+ <SV>-101</SV>
+ <SN>PHY.ULMeanNL.41</SN>
+ <SV>-103</SV>
+ <SN>PHY.ULMeanNL.42</SN>
+ <SV>-101</SV>
+ <SN>PHY.ULMeanNL.43</SN>
+ <SV>-103</SV>
+ <SN>PHY.ULMeanNL.44</SN>
+ <SV>-101</SV>
+ <SN>PHY.ULMeanNL.45</SN>
+ <SV>-101</SV>
+ <SN>PHY.ULMeanNL.46</SN>
+ <SV>-103</SV>
+ <SN>PHY.ULMeanNL.47</SN>
+ <SV>-100</SV>
+ <SN>PHY.ULMeanNL.48</SN>
+ <SV>-100</SV>
+ <SN>PHY.ULMeanNL.49</SN>
+ <SV>-104</SV>
+ <SN>PHY.ULMeanNL.50</SN>
+ <SV>-104</SV>
+ <SN>PHY.ULMeanNL.51</SN>
+ <SV>-101</SV>
+ <SN>PHY.ULMeanNL.52</SN>
+ <SV>-102</SV>
+ <SN>PHY.ULMeanNL.53</SN>
+ <SV>-103</SV>
+ <SN>PHY.ULMeanNL.54</SN>
+ <SV>-100</SV>
+ <SN>PHY.ULMeanNL.55</SN>
+ <SV>-102</SV>
+ <SN>PHY.ULMeanNL.56</SN>
+ <SV>-102</SV>
+ <SN>PHY.ULMeanNL.57</SN>
+ <SV>-103</SV>
+ <SN>PHY.ULMeanNL.58</SN>
+ <SV>-100</SV>
+ <SN>PHY.ULMeanNL.59</SN>
+ <SV>-103</SV>
+ <SN>PHY.ULMeanNL.60</SN>
+ <SV>-103</SV>
+ <SN>PHY.ULMeanNL.61</SN>
+ <SV>-100</SV>
+ <SN>PHY.ULMeanNL.62</SN>
+ <SV>-103</SV>
+ <SN>PHY.ULMeanNL.63</SN>
+ <SV>-104</SV>
+ <SN>PHY.ULMeanNL.64</SN>
+ <SV>-104</SV>
+ <SN>PHY.ULMeanNL.65</SN>
+ <SV>-101</SV>
+ <SN>PHY.ULMeanNL.66</SN>
+ <SV>-101</SV>
+ <SN>PHY.ULMeanNL.67</SN>
+ <SV>-103</SV>
+ <SN>PHY.ULMeanNL.68</SN>
+ <SV>-100</SV>
+ <SN>PHY.ULMeanNL.69</SN>
+ <SV>-101</SV>
+ <SN>PHY.ULMeanNL.70</SN>
+ <SV>-100</SV>
+ <SN>PHY.ULMeanNL.71</SN>
+ <SV>-103</SV>
+ <SN>PHY.ULMeanNL.72</SN>
+ <SV>-101</SV>
+ <SN>PHY.ULMeanNL.73</SN>
+ <SV>-103</SV>
+ <SN>PHY.ULMeanNL.74</SN>
+ <SV>-101</SV>
+ <SN>PHY.ULMeanNL.75</SN>
+ <SV>-102</SV>
+ <SN>PHY.ULMeanNL.76</SN>
+ <SV>-104</SV>
+ <SN>PHY.ULMeanNL.77</SN>
+ <SV>-101</SV>
+ <SN>PHY.ULMeanNL.78</SN>
+ <SV>-102</SV>
+ <SN>PHY.ULMeanNL.79</SN>
+ <SV>-101</SV>
+ <SN>PHY.ULMeanNL.80</SN>
+ <SV>-100</SV>
+ <SN>PHY.ULMeanNL.81</SN>
+ <SV>-103</SV>
+ <SN>PHY.ULMeanNL.82</SN>
+ <SV>-103</SV>
+ <SN>PHY.ULMeanNL.83</SN>
+ <SV>-102</SV>
+ <SN>PHY.ULMeanNL.84</SN>
+ <SV>-101</SV>
+ <SN>PHY.ULMeanNL.85</SN>
+ <SV>-100</SV>
+ <SN>PHY.ULMeanNL.86</SN>
+ <SV>-104</SV>
+ <SN>PHY.ULMeanNL.87</SN>
+ <SV>-101</SV>
+ <SN>PHY.ULMeanNL.88</SN>
+ <SV>-100</SV>
+ <SN>PHY.ULMeanNL.89</SN>
+ <SV>-101</SV>
+ <SN>PHY.ULMeanNL.90</SN>
+ <SV>-101</SV>
+ <SN>PHY.ULMeanNL.91</SN>
+ <SV>-103</SV>
+ <SN>PHY.ULMeanNL.92</SN>
+ <SV>-101</SV>
+ <SN>PHY.ULMeanNL.93</SN>
+ <SV>-104</SV>
+ <SN>PHY.ULMeanNL.94</SN>
+ <SV>-100</SV>
+ <SN>PHY.ULMeanNL.95</SN>
+ <SV>-103</SV>
+ <SN>PHY.ULMeanNL.96</SN>
+ <SV>-100</SV>
+ <SN>PHY.ULMeanNL.97</SN>
+ <SV>-103</SV>
+ <SN>PHY.ULMeanNL.98</SN>
+ <SV>-101</SV>
+ <SN>PHY.ULMeanNL.99</SN>
+ <SV>-102</SV>
+ <SN>PHY.ULMeanNL.100</SN>
+ <SV>-104</SV>
+ </CV>
+ <V i="179">-7</V>
+ <V i="180">-10</V>
+ <V i="181">0</V>
+ <V i="182">0</V>
+ </Pm>
+ </PmData>
+ </Measurements>
+ <Measurements>
+ <ObjectType>ManagedElement</ObjectType>
+ <PmName>
+ <N i="1">EQPT.MeanMeLoad</N>
+ <N i="2">EQPT.MaxMeLoad</N>
+ </PmName>
+ <PmData>
+ <Pm Dn="CMCC,SubNetwork=1,ManagedElement=1" UserLabel="BJ01">
+ <V i="1">0</V>
+ <V i="2">0</V>
+ </Pm>
+ </PmData>
+ </Measurements>
+ <Measurements>
+ <ObjectType>SctpAssoc</ObjectType>
+ <PmName>
+ <N i="1">SIG.SctpCongestionDuration</N>
+ <N i="2">SIG.SctpUnavailableDuration</N>
+ </PmName>
+ <PmData>
+ <Pm Dn="CMCC,SubNetwork=1,ManagedElement=1,SctpAssoc=1" UserLabel="BJ01">
+ <V i="1">0</V>
+ <V i="2">0</V>
+ </Pm>
+ </PmData>
+ </Measurements>
+</PmFile>
+
+
+
+<!--For reference, the XML schema for PM file uploads is:-->
+
+<!--<?xml version="1.0" encoding="UTF-8"?>-->
+<!-- 2011 rel. 2 sp1 (FoodHacker) use XMLSpy vCZTECH edit (http://www.altova.com) by -->
+<!--Telecom Network Management,Performance Management-->
+<!--Northbound Interface-->
+<!--Unified Performance Measurements File Format V1.0.0-->
+<!--Drafted by Li Jian, CMCC-->
+<!--Last Modified on 2012.02.08-->
+<!--
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0.0">
+ <xs:element name="PmFile">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="FileHeader">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="InfoModelReferenced" type="xs:string"/>
+ <xs:element name="DnPrefix" type="xs:string"/>
+ <xs:element name="SenderName" type="xs:string"/>
+ <xs:element name="VendorName" type="xs:string"/>
+ <xs:element name="JobId" type="xs:string" nillable="true" minOccurs="1"/>
+ <xs:element name="BeginTime" type="xs:dateTime"/>
+ <xs:element name="EndTime" type="xs:dateTime"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Measurements" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="ObjectType" type="xs:string"/>
+ <xs:element name="PmName">
+ <xs:complexType>
+ <xs:sequence minOccurs="0" maxOccurs="unbounded">
+ <xs:element name="N">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="i" type="xs:integer" use="required"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="PmData">
+ <xs:complexType>
+ <xs:sequence minOccurs="0" maxOccurs="unbounded">
+ <xs:element name="Pm">
+ <xs:complexType>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element name="V">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="i" type="xs:integer" use="required"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="CV">
+ <xs:complexType>
+ <xs:sequence minOccurs="0" maxOccurs="unbounded">
+ <xs:element name="SN" type="xs:string"/>
+ <xs:element name="SV" type="xs:string"/>
+ </xs:sequence>
+ <xs:attribute name="i" type="xs:integer" use="required"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:choice>
+ <xs:attribute name="Dn" type="xs:string" use="required"/>
+ <xs:attribute name="UserLabel" type="xs:string" use="required"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+</xs:schema>
+-->
diff --git a/tests/stats_manager_tests.py b/tests/stats_manager_tests.py
new file mode 100644
index 0000000..87d0177
--- /dev/null
+++ b/tests/stats_manager_tests.py
@@ -0,0 +1,126 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+from unittest import TestCase, mock
+from xml.etree import ElementTree
+
+import pkg_resources
+from enodebd import metrics
+from data_models.data_model_parameters import ParameterName
+from devices.device_utils import EnodebDeviceName
+from state_machines.enb_acs_manager import StateMachineManager
+from stats_manager import StatsManager
+from tests.test_utils.config_builder import EnodebConfigBuilder
+from tests.test_utils.enb_acs_builder import (
+ EnodebAcsStateMachineBuilder,
+)
+
+
+class StatsManagerTest(TestCase):
+ """
+ Tests for eNodeB statistics manager
+ """
+
+ def setUp(self) -> None:
+ service = EnodebConfigBuilder.get_service_config()
+ self.enb_acs_manager = StateMachineManager(service)
+ self.mgr = StatsManager(self.enb_acs_manager)
+ self.is_clear_stats_called = False
+
+ def tearDown(self):
+ self.mgr = None
+
+ def test_check_rf_tx(self):
+ """ Check that stats are cleared when transmit is disabled on eNB """
+ handler = EnodebAcsStateMachineBuilder \
+ .build_acs_state_machine(EnodebDeviceName.BAICELLS)
+ with mock.patch(
+ 'magma.enodebd.devices.baicells.BaicellsHandler.is_enodeb_connected',
+ return_value=True,
+ ):
+ handler.device_cfg.set_parameter(ParameterName.RF_TX_STATUS, True)
+ handler.device_cfg.set_parameter(
+ ParameterName.SERIAL_NUMBER,
+ '123454',
+ )
+ with mock.patch(
+ 'magma.enodebd.stats_manager.StatsManager'
+ '._clear_stats',
+ ) as func:
+ self.mgr._check_rf_tx_for_handler(handler)
+ func.assert_not_called()
+ handler.device_cfg.set_parameter(
+ ParameterName.RF_TX_STATUS,
+ False,
+ )
+ self.mgr._check_rf_tx_for_handler(handler)
+ func.assert_any_call()
+
+ def test_parse_stats(self):
+ """ Test that example statistics from eNodeB can be parsed, and metrics
+ updated """
+ # Example performance metrics structure, sent by eNodeB
+ pm_file_example = pkg_resources.resource_string(
+ __name__,
+ 'pm_file_example.xml',
+ )
+
+ root = ElementTree.fromstring(pm_file_example)
+ self.mgr._parse_pm_xml('1234', root)
+
+ # Check that metrics were correctly populated
+ # See '<V i="5">123</V>' in pm_file_example
+ rrc_estab_attempts = metrics.STAT_RRC_ESTAB_ATT.collect()
+ self.assertEqual(rrc_estab_attempts[0].samples[0][2], 123)
+ # See '<V i="7">99</V>' in pm_file_example
+ rrc_estab_successes = metrics.STAT_RRC_ESTAB_SUCC.collect()
+ self.assertEqual(rrc_estab_successes[0].samples[0][2], 99)
+ # See '<SV>654</SV>' in pm_file_example
+ rrc_reestab_att_reconf_fail = \
+ metrics.STAT_RRC_REESTAB_ATT_RECONF_FAIL.collect()
+ self.assertEqual(rrc_reestab_att_reconf_fail[0].samples[0][2], 654)
+ # See '<SV>65537</SV>' in pm_file_example
+ erab_rel_req_radio_conn_lost = \
+ metrics.STAT_ERAB_REL_REQ_RADIO_CONN_LOST.collect()
+ self.assertEqual(erab_rel_req_radio_conn_lost[0].samples[0][2], 65537)
+
+ pdcp_user_plane_bytes_ul = \
+ metrics.STAT_PDCP_USER_PLANE_BYTES_UL.collect()
+ pdcp_user_plane_bytes_dl = \
+ metrics.STAT_PDCP_USER_PLANE_BYTES_DL.collect()
+ self.assertEqual(pdcp_user_plane_bytes_ul[0].samples[0][1], {'enodeb': '1234'})
+ self.assertEqual(pdcp_user_plane_bytes_dl[0].samples[0][1], {'enodeb': '1234'})
+ self.assertEqual(pdcp_user_plane_bytes_ul[0].samples[0][2], 1000)
+ self.assertEqual(pdcp_user_plane_bytes_dl[0].samples[0][2], 500)
+
+ def test_clear_stats(self):
+ """
+ Check that stats of PMPM_FILE_TO_METRIC_MAP is cleared successfully
+ """
+ # Example performance metrics structure, sent by eNodeB
+ pm_file_example = pkg_resources.resource_string(
+ __name__,
+ 'pm_file_example.xml',
+ )
+
+ root = ElementTree.fromstring(pm_file_example)
+ self.mgr._parse_pm_xml('1234', root)
+
+ # Check that metrics were correctly populated
+ rrc_estab_attempts = metrics.STAT_RRC_ESTAB_ATT.collect()
+ self.assertEqual(rrc_estab_attempts[0].samples[0][2], 123)
+
+ self.mgr._clear_stats()
+ rrc_estab_attempts = metrics.STAT_RRC_ESTAB_ATT.collect()
+ # After clearing stats collection of metric should report 0
+ self.assertEqual(rrc_estab_attempts[0].samples[0][2], 0)
diff --git a/tests/test_utils/config_builder.py b/tests/test_utils/config_builder.py
new file mode 100644
index 0000000..f662b9f
--- /dev/null
+++ b/tests/test_utils/config_builder.py
@@ -0,0 +1,123 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+from lte.protos.mconfig import mconfigs_pb2
+from devices.device_utils import EnodebDeviceName
+
+
+class EnodebConfigBuilder:
+ @classmethod
+ def get_mconfig(
+ cls,
+ device: EnodebDeviceName = EnodebDeviceName.BAICELLS,
+ ) -> mconfigs_pb2.EnodebD:
+ mconfig = mconfigs_pb2.EnodebD()
+ mconfig.bandwidth_mhz = 20
+ # This earfcndl is actually unused, remove later
+ mconfig.earfcndl = 44490
+ mconfig.log_level = 1
+ mconfig.plmnid_list = "00101"
+ mconfig.pci = 260
+ mconfig.allow_enodeb_transmit = False
+ mconfig.tac = 1
+ if device is EnodebDeviceName.BAICELLS_QAFB:
+ # fdd config
+ mconfig.fdd_config.earfcndl = 9211
+ elif device is EnodebDeviceName.CAVIUM:
+ # fdd config
+ mconfig.fdd_config.earfcndl = 2405
+ else:
+ # tdd config
+ mconfig.tdd_config.earfcndl = 39150
+ mconfig.tdd_config.subframe_assignment = 2
+ mconfig.tdd_config.special_subframe_pattern = 7
+
+ return mconfig
+
+ @classmethod
+ def get_multi_enb_mconfig(
+ cls,
+ ) -> mconfigs_pb2.EnodebD:
+ mconfig = mconfigs_pb2.EnodebD()
+ mconfig.bandwidth_mhz = 20
+ mconfig.special_subframe_pattern = 7
+ # This earfcndl is actually unused, remove later
+ mconfig.earfcndl = 44490
+ mconfig.log_level = 1
+ mconfig.plmnid_list = "00101"
+ mconfig.pci = 260
+ mconfig.allow_enodeb_transmit = False
+ mconfig.subframe_assignment = 2
+ mconfig.tac = 1
+
+ # tdd config, unused because of multi-enb config
+ mconfig.tdd_config.earfcndl = 39150
+ mconfig.tdd_config.subframe_assignment = 2
+ mconfig.tdd_config.special_subframe_pattern = 7
+
+ id1 = '120200002618AGP0003'
+ #enb_conf_1 = mconfigs_pb2.EnodebD.EnodebConfig()
+ mconfig.enb_configs_by_serial[id1]\
+ .earfcndl = 39151
+ mconfig.enb_configs_by_serial[id1]\
+ .subframe_assignment = 2
+ mconfig.enb_configs_by_serial[id1]\
+ .special_subframe_pattern = 7
+ mconfig.enb_configs_by_serial[id1]\
+ .pci = 259
+ mconfig.enb_configs_by_serial[id1]\
+ .bandwidth_mhz = 20
+ mconfig.enb_configs_by_serial[id1] \
+ .tac = 1
+ mconfig.enb_configs_by_serial[id1] \
+ .cell_id = 0
+ mconfig.enb_configs_by_serial[id1]\
+ .transmit_enabled = True
+ mconfig.enb_configs_by_serial[id1]\
+ .device_class = 'Baicells Band 40'
+
+ id2 = '120200002618AGP0004'
+ #enb_conf_2 = mconfigs_pb2.EnodebD.EnodebConfig()
+ mconfig.enb_configs_by_serial[id2]\
+ .earfcndl = 39151
+ mconfig.enb_configs_by_serial[id2]\
+ .subframe_assignment = 2
+ mconfig.enb_configs_by_serial[id2]\
+ .special_subframe_pattern = 7
+ mconfig.enb_configs_by_serial[id2]\
+ .pci = 261
+ mconfig.enb_configs_by_serial[id2] \
+ .bandwidth_mhz = 20
+ mconfig.enb_configs_by_serial[id2] \
+ .tac = 1
+ mconfig.enb_configs_by_serial[id2] \
+ .cell_id = 0
+ mconfig.enb_configs_by_serial[id2]\
+ .transmit_enabled = True
+ mconfig.enb_configs_by_serial[id2]\
+ .device_class = 'Baicells Band 40'
+
+ return mconfig
+
+ @classmethod
+ def get_service_config(cls):
+ return {
+ "tr069": {
+ "interface": "eth1",
+ "port": 48080,
+ "perf_mgmt_port": 8081,
+ "public_ip": "192.88.99.142",
+ },
+ "reboot_enodeb_on_mme_disconnected": True,
+ "s1_interface": "eth1",
+ }
diff --git a/tests/test_utils/enb_acs_builder.py b/tests/test_utils/enb_acs_builder.py
new file mode 100644
index 0000000..75f55be
--- /dev/null
+++ b/tests/test_utils/enb_acs_builder.py
@@ -0,0 +1,92 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+import asyncio
+from typing import Dict
+from unittest import mock
+
+from lte.protos.mconfig import mconfigs_pb2
+from common.service import MagmaService
+from devices.device_map import get_device_handler_from_name
+from devices.device_utils import EnodebDeviceName
+from state_machines.enb_acs import EnodebAcsStateMachine
+from state_machines.enb_acs_manager import StateMachineManager
+from tests.test_utils.config_builder import EnodebConfigBuilder
+
+
+class EnodebAcsStateMachineBuilder:
+ @classmethod
+ def build_acs_manager(
+ cls,
+ device: EnodebDeviceName = EnodebDeviceName.BAICELLS,
+ ) -> StateMachineManager:
+ service = cls.build_magma_service(device)
+ return StateMachineManager(service)
+
+ @classmethod
+ def build_multi_enb_acs_manager(
+ cls,
+ ) -> StateMachineManager:
+ service = cls.build_multi_enb_magma_service()
+ return StateMachineManager(service)
+
+ @classmethod
+ def build_multi_enb_acs_state_machine(
+ cls,
+ device: EnodebDeviceName = EnodebDeviceName.BAICELLS,
+ ) -> EnodebAcsStateMachine:
+ # Build the state_machine
+ service = cls.build_multi_enb_magma_service()
+ handler_class = get_device_handler_from_name(device)
+ acs_state_machine = handler_class(service)
+ return acs_state_machine
+
+ @classmethod
+ def build_acs_state_machine(
+ cls,
+ device: EnodebDeviceName = EnodebDeviceName.BAICELLS,
+ ) -> EnodebAcsStateMachine:
+ # Build the state_machine
+ service = cls.build_magma_service(device)
+ handler_class = get_device_handler_from_name(device)
+ acs_state_machine = handler_class(service)
+ return acs_state_machine
+
+ @classmethod
+ def build_magma_service(
+ cls,
+ device: EnodebDeviceName = EnodebDeviceName.BAICELLS,
+ mconfig: mconfigs_pb2.EnodebD = None,
+ service_config: Dict = None,
+ ) -> MagmaService:
+ event_loop = asyncio.get_event_loop()
+ if not mconfig:
+ mconfig = EnodebConfigBuilder.get_mconfig(device)
+ if not service_config:
+ service_config = EnodebConfigBuilder.get_service_config()
+ with mock.patch('magma.common.service.MagmaService') as MockService:
+ MockService.config = service_config
+ MockService.mconfig = mconfig
+ MockService.loop = event_loop
+ return MockService
+
+ @classmethod
+ def build_multi_enb_magma_service(cls) -> MagmaService:
+ event_loop = asyncio.get_event_loop()
+ mconfig = EnodebConfigBuilder.get_multi_enb_mconfig()
+ service_config = EnodebConfigBuilder.get_service_config()
+ with mock.patch('magma.common.service.MagmaService') as MockService:
+ MockService.config = service_config
+ MockService.mconfig = mconfig
+ MockService.loop = event_loop
+ return MockService
diff --git a/tests/test_utils/enodeb_handler.py b/tests/test_utils/enodeb_handler.py
new file mode 100644
index 0000000..ef2b11f
--- /dev/null
+++ b/tests/test_utils/enodeb_handler.py
@@ -0,0 +1,39 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+from unittest import TestCase, mock
+
+import magma.enodebd.tests.test_utils.mock_functions as enb_mock
+
+
+class EnodebHandlerTestCase(TestCase):
+ """
+ Sets up test class with a set of patches needed for eNodeB handlers
+ """
+
+ def setUp(self):
+ self.patches = {
+ enb_mock.GET_IP_FROM_IF_PATH:
+ mock.Mock(side_effect=enb_mock.mock_get_ip_from_if),
+ enb_mock.LOAD_SERVICE_MCONFIG_PATH:
+ mock.Mock(
+ side_effect=enb_mock.mock_load_service_mconfig_as_json,
+ ),
+ }
+ self.applied_patches = [
+ mock.patch(patch, data) for patch, data in
+ self.patches.items()
+ ]
+ for patch in self.applied_patches:
+ patch.start()
+ self.addCleanup(mock.patch.stopall)
diff --git a/tests/test_utils/mock_functions.py b/tests/test_utils/mock_functions.py
new file mode 100644
index 0000000..59fb0c7
--- /dev/null
+++ b/tests/test_utils/mock_functions.py
@@ -0,0 +1,31 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+from typing import Any
+
+GET_IP_FROM_IF_PATH = \
+ 'magma.enodebd.device_config.configuration_init.get_ip_from_if'
+
+LOAD_SERVICE_MCONFIG_PATH = \
+ 'magma.enodebd.device_config.configuration_init.load_service_mconfig_as_json'
+
+
+def mock_get_ip_from_if(
+ _iface_name: str,
+ _preference: Any = None,
+) -> str:
+ return '192.168.60.142'
+
+
+def mock_load_service_mconfig_as_json(_service_name: str) -> Any:
+ return {}
diff --git a/tests/test_utils/spyne_builder.py b/tests/test_utils/spyne_builder.py
new file mode 100644
index 0000000..0717aad
--- /dev/null
+++ b/tests/test_utils/spyne_builder.py
@@ -0,0 +1,26 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+from unittest import mock
+
+from spyne.server.wsgi import WsgiMethodContext
+
+
+def get_spyne_context_with_ip(
+ req_ip: str = "192.168.60.145",
+) -> WsgiMethodContext:
+ with mock.patch('spyne.server.wsgi.WsgiApplication') as MockTransport:
+ MockTransport.req_env = {"REMOTE_ADDR": req_ip}
+ with mock.patch('spyne.server.wsgi.WsgiMethodContext') as MockContext:
+ MockContext.transport = MockTransport
+ return MockContext
diff --git a/tests/test_utils/tr069_msg_builder.py b/tests/test_utils/tr069_msg_builder.py
new file mode 100644
index 0000000..3dc0f64
--- /dev/null
+++ b/tests/test_utils/tr069_msg_builder.py
@@ -0,0 +1,1000 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+from typing import Any, List, Optional
+
+from tr069 import models
+
+
+class Tr069MessageBuilder:
+ @classmethod
+ def get_parameter_value_struct(
+ cls,
+ name: str,
+ val_type: str,
+ data: Any,
+ ) -> models.ParameterValueStruct:
+ param_value = models.ParameterValueStruct()
+ param_value.Name = name
+ value = models.anySimpleType()
+ value.type = val_type
+ value.Data = data
+ param_value.Value = value
+ return param_value
+
+ @classmethod
+ def get_fault(cls) -> models.Fault:
+ msg = models.Fault()
+ msg.FaultCode = 0
+ msg.FaultString = 'Some sort of fault'
+ return msg
+
+ @classmethod
+ def get_reboot_inform(cls) -> models.Inform:
+ msg = cls.get_inform()
+ events = []
+
+ event_boot = models.EventStruct()
+ event_boot.EventCode = '1 BOOT'
+ events.append(event_boot)
+
+ event_reboot = models.EventStruct()
+ event_reboot.EventCode = 'M Reboot'
+ events.append(event_reboot)
+
+ msg.Event.EventStruct = events
+ return msg
+
+ @classmethod
+ def get_qafb_inform(
+ cls,
+ oui: str = '48BF74',
+ sw_version: str = 'BaiBS_QAFB_1.6.4',
+ enb_serial: str = '1202000181186TB0006',
+ event_codes: Optional[List[str]] = None,
+ ) -> models.Inform:
+ if event_codes is None:
+ event_codes = []
+ msg = models.Inform()
+
+ # DeviceId
+ device_id = models.DeviceIdStruct()
+ device_id.Manufacturer = 'Unused'
+ device_id.OUI = oui
+ device_id.ProductClass = 'Unused'
+ device_id.SerialNumber = enb_serial
+ msg.DeviceId = device_id
+
+ # Event
+ msg.Event = models.EventList()
+ event_list = []
+ for code in event_codes:
+ event = models.EventStruct()
+ event.EventCode = code
+ event.CommandKey = ''
+ event_list.append(event)
+ msg.Event.EventStruct = event_list
+
+ # ParameterList
+ val_list = []
+ val_list.append(
+ cls.get_parameter_value_struct(
+ name='InternetGatewayDevice.DeviceInfo.HardwareVersion',
+ val_type='string',
+ data='VER.C',
+ ),
+ )
+ val_list.append(
+ cls.get_parameter_value_struct(
+ name='InternetGatewayDevice.DeviceInfo.ManufacturerOUI',
+ val_type='string',
+ data=oui,
+ ),
+ )
+ val_list.append(
+ cls.get_parameter_value_struct(
+ name='InternetGatewayDevice.DeviceInfo.SoftwareVersion',
+ val_type='string',
+ data=sw_version,
+ ),
+ )
+ val_list.append(
+ cls.get_parameter_value_struct(
+ name='InternetGatewayDevice.DeviceInfo.SerialNumber',
+ val_type='string',
+ data=enb_serial,
+ ),
+ )
+ val_list.append(
+ cls.get_parameter_value_struct(
+ name='InternetGatewayDevice.ManagementServer.ConnectionRequestURL',
+ val_type='string',
+ data='http://192.168.60.248:7547/25dbc91d31276f0cb03391160531ecae',
+ ),
+ )
+ msg.ParameterList = models.ParameterValueList()
+ msg.ParameterList.ParameterValueStruct = val_list
+
+ return msg
+
+ pass
+
+ @classmethod
+ def get_inform(
+ cls,
+ oui: str = '48BF74',
+ sw_version: str = 'BaiBS_RTS_3.1.6',
+ enb_serial: str = '120200002618AGP0003',
+ event_codes: Optional[List[str]] = None,
+ ) -> models.Inform:
+ if event_codes is None:
+ event_codes = []
+ msg = models.Inform()
+
+ # DeviceId
+ device_id = models.DeviceIdStruct()
+ device_id.Manufacturer = 'Unused'
+ device_id.OUI = oui
+ device_id.ProductClass = 'Unused'
+ device_id.SerialNumber = enb_serial
+ msg.DeviceId = device_id
+
+ # Event
+ msg.Event = models.EventList()
+ event_list = []
+ for code in event_codes:
+ event = models.EventStruct()
+ event.EventCode = code
+ event.CommandKey = ''
+ event_list.append(event)
+ msg.Event.EventStruct = event_list
+
+ # ParameterList
+ val_list = []
+ val_list.append(
+ cls.get_parameter_value_struct(
+ name='Device.DeviceInfo.HardwareVersion',
+ val_type='string',
+ data='VER.C',
+ ),
+ )
+ val_list.append(
+ cls.get_parameter_value_struct(
+ name='Device.DeviceInfo.ManufacturerOUI',
+ val_type='string',
+ data=oui,
+ ),
+ )
+ val_list.append(
+ cls.get_parameter_value_struct(
+ name='Device.DeviceInfo.SoftwareVersion',
+ val_type='string',
+ data=sw_version,
+ ),
+ )
+ val_list.append(
+ cls.get_parameter_value_struct(
+ name='Device.DeviceInfo.SerialNumber',
+ val_type='string',
+ data=enb_serial,
+ ),
+ )
+ val_list.append(
+ cls.get_parameter_value_struct(
+ name='Device.ManagementServer.ConnectionRequestURL',
+ val_type='string',
+ data='http://192.168.60.248:7547/25dbc91d31276f0cb03391160531ecae',
+ ),
+ )
+ msg.ParameterList = models.ParameterValueList()
+ msg.ParameterList.ParameterValueStruct = val_list
+
+ return msg
+
+ @classmethod
+ def get_qafb_read_only_param_values_response(
+ cls,
+ ) -> models.GetParameterValuesResponse:
+ msg = models.GetParameterValuesResponse()
+ param_val_list = []
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='InternetGatewayDevice.Services.FAPService.1.CellConfig.1.LTE.X_QUALCOMM_FAPControl.OpState',
+ val_type='boolean',
+ data='false',
+ ),
+ )
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='InternetGatewayDevice.Services.FAPService.1.CellConfig.1.LTE.X_QUALCOMM_FAPControl.OpState',
+ val_type='boolean',
+ data='false',
+ ),
+ )
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='InternetGatewayDevice.Services.FAPService.1.CellConfig.1.LTE.X_QUALCOMM_FAPControl.OpState',
+ val_type='boolean',
+ data='false',
+ ),
+ )
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='InternetGatewayDevice.FAP.GPS.latitude',
+ val_type='int',
+ data='0',
+ ),
+ )
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='InternetGatewayDevice.FAP.GPS.longitude',
+ val_type='int',
+ data='0',
+ ),
+ )
+ msg.ParameterList = models.ParameterValueList()
+ msg.ParameterList.ParameterValueStruct = param_val_list
+ return msg
+
+ @classmethod
+ def get_read_only_param_values_response(
+ cls,
+ ) -> models.GetParameterValuesResponse:
+ msg = models.GetParameterValuesResponse()
+ param_val_list = []
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='Device.Services.FAPService.1.FAPControl.LTE.OpState',
+ val_type='boolean',
+ data='false',
+ ),
+ )
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='Device.Services.FAPService.1.FAPControl.LTE.RFTxStatus',
+ val_type='boolean',
+ data='false',
+ ),
+ )
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='Device.DeviceInfo.X_BAICELLS_COM_GPS_Status',
+ val_type='boolean',
+ data='0',
+ ),
+ )
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='Device.DeviceInfo.X_BAICELLS_COM_1588_Status',
+ val_type='boolean',
+ data='0',
+ ),
+ )
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='Device.DeviceInfo.X_BAICELLS_COM_MME_Status',
+ val_type='boolean',
+ data='false',
+ ),
+ )
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='Device.FAP.GPS.LockedLatitude',
+ val_type='int',
+ data='0',
+ ),
+ )
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='Device.FAP.GPS.LockedLongitude',
+ val_type='int',
+ data='0',
+ ),
+ )
+ msg.ParameterList = models.ParameterValueList()
+ msg.ParameterList.ParameterValueStruct = param_val_list
+ return msg
+
+ @classmethod
+ def get_cavium_param_values_response(
+ cls,
+ admin_state: bool = False,
+ earfcndl: int = 2405,
+ num_plmns: int = 0,
+ ) -> models.GetParameterValuesResponse:
+ msg = models.GetParameterValuesResponse()
+ param_val_list = []
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='Device.Services.FAPService.1.CellConfig.LTE.RAN.RF.DLBandwidth',
+ val_type='string',
+ data='20',
+ ),
+ )
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='Device.Services.FAPService.1.CellConfig.LTE.RAN.RF.FreqBandIndicator',
+ val_type='string',
+ data='5',
+ ),
+ )
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='Device.ManagementServer.PeriodicInformInterval',
+ val_type='int',
+ data='5',
+ ),
+ )
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='Device.Services.FAPService.1.CellConfig.LTE.RAN.CellRestriction.CellReservedForOperatorUse',
+ val_type='boolean',
+ data='false',
+ ),
+ )
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='Device.Services.FAPService.1.CellConfig.LTE.RAN.RF.ULBandwidth',
+ val_type='string',
+ data='n100',
+ ),
+ )
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='Device.Services.FAPService.1.CellConfig.LTE.RAN.Common.CellIdentity',
+ val_type='int',
+ data='138777000',
+ ),
+ )
+ # MME IP
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='Device.Services.FAPService.1.FAPControl.LTE.Gateway.S1SigLinkServerList',
+ val_type='string',
+ data='"192.168.60.142"',
+ ),
+ )
+ # perf mgmt enable
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='Device.Services.FAPService.1.PerfMgmt.Config.1.Enable',
+ val_type='boolean',
+ data='true',
+ ),
+ )
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='Device.Services.FAPService.1.CellConfig.LTE.RAN.CellRestriction.CellBarred',
+ val_type='boolean',
+ data='false',
+ ),
+ )
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='Device.Services.FAPService.1.PerfMgmt.Config.1.PeriodicUploadInterval',
+ val_type='int',
+ data='600',
+ ),
+ )
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='Device.Services.FAPService.1.FAPControl.LTE.AdminState',
+ val_type='boolean',
+ data=admin_state,
+ ),
+ )
+ # Perf mgmt upload url
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='Device.Services.FAPService.1.PerfMgmt.Config.1.URL',
+ val_type='string',
+ data='http://192.168.60.142:8081/',
+ ),
+ )
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='Device.Services.FAPService.1.CellConfig.LTE.EPC.TAC',
+ val_type='int',
+ data='1',
+ ),
+ )
+ # PCI
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='Device.Services.FAPService.1.CellConfig.LTE.RAN.RF.PhyCellID',
+ val_type='int',
+ data='260',
+ ),
+ )
+ # MME port
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='Device.Services.FAPService.1.FAPControl.LTE.Gateway.S1SigLinkPort',
+ val_type='int',
+ data='36412',
+ ),
+ )
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='Device.IPsec.Enable',
+ val_type='boolean',
+ data='false',
+ ),
+ )
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='Device.Services.FAPService.1.CellConfig.LTE.RAN.RF.EARFCNDL',
+ val_type='int',
+ data='2405',
+ ),
+ )
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='Device.Services.FAPService.1.CellConfig.LTE.RAN.RF.EARFCNUL',
+ val_type='int',
+ data='20405',
+ ),
+ )
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='Device.Services.FAPService.1.Capabilities.LTE.DuplexMode',
+ val_type='string',
+ data='FDDMode',
+ ),
+ )
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='Device.Services.FAPService.1.Capabilities.LTE.BandsSupported',
+ val_type='string',
+ data='5',
+ ),
+ )
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='Device.ManagementServer.PeriodicInformEnable',
+ val_type='int',
+ data='5',
+ ),
+ )
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='Device.Services.FAPService.1.CellConfig.LTE.EPC.PLMNListNumberOfEntries',
+ val_type='int',
+ data=str(num_plmns),
+ ),
+ )
+ msg.ParameterList = models.ParameterValueList()
+ msg.ParameterList.ParameterValueStruct = param_val_list
+ return msg
+
+ @classmethod
+ def get_regular_param_values_response(
+ cls,
+ admin_state: bool = False,
+ earfcndl: int = 39250,
+ exclude_num_plmns: bool = False,
+ ) -> models.GetParameterValuesResponse:
+ msg = models.GetParameterValuesResponse()
+ param_val_list = []
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='Device.Services.FAPService.1.CellConfig.LTE.RAN.RF.DLBandwidth',
+ val_type='string',
+ data='n100',
+ ),
+ )
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='Device.Services.FAPService.1.CellConfig.LTE.RAN.RF.FreqBandIndicator',
+ val_type='string',
+ data='40',
+ ),
+ )
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='Device.ManagementServer.PeriodicInformInterval',
+ val_type='int',
+ data='5',
+ ),
+ )
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='Device.Services.FAPService.1.CellConfig.LTE.RAN.CellRestriction.CellReservedForOperatorUse',
+ val_type='boolean',
+ data='false',
+ ),
+ )
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='Device.Services.FAPService.1.CellConfig.LTE.RAN.RF.ULBandwidth',
+ val_type='string',
+ data='20',
+ ),
+ )
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='Device.Services.FAPService.1.X_BAICELLS_COM_LTE.EARFCNDLInUse',
+ val_type='string',
+ data=earfcndl,
+ ),
+ )
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='Device.Services.FAPService.1.CellConfig.LTE.RAN.PHY.TDDFrame.SpecialSubframePatterns',
+ val_type='int',
+ data='7',
+ ),
+ )
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='Device.Services.FAPService.1.CellConfig.LTE.RAN.Common.CellIdentity',
+ val_type='int',
+ data='138777000',
+ ),
+ )
+ # MME IP
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='Device.Services.FAPService.1.FAPControl.LTE.Gateway.S1SigLinkServerList',
+ val_type='string',
+ data='"192.168.60.142"',
+ ),
+ )
+ if not exclude_num_plmns:
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='Device.Services.FAPService.1.CellConfig.LTE.EPC.PLMNListNumberOfEntries',
+ val_type='int',
+ data='1',
+ ),
+ )
+ # perf mgmt enable
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='Device.FAP.PerfMgmt.Config.1.Enable',
+ val_type='boolean',
+ data='true',
+ ),
+ )
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='Device.Services.FAPService.1.CellConfig.LTE.RAN.CellRestriction.CellBarred',
+ val_type='boolean',
+ data='false',
+ ),
+ )
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='Device.FAP.PerfMgmt.Config.1.PeriodicUploadInterval',
+ val_type='int',
+ data='300',
+ ),
+ )
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='Device.Services.FAPService.1.FAPControl.LTE.AdminState',
+ val_type='boolean',
+ data=admin_state,
+ ),
+ )
+ # Local gateway enable
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='Device.DeviceInfo.X_BAICELLS_COM_LTE_LGW_Switch',
+ val_type='boolean',
+ data='0',
+ ),
+ )
+ # Perf mgmt upload url
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='Device.FAP.PerfMgmt.Config.1.URL',
+ val_type='string',
+ data='http://192.168.60.142:8081/',
+ ),
+ )
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='Device.Services.FAPService.1.CellConfig.LTE.EPC.TAC',
+ val_type='int',
+ data='1',
+ ),
+ )
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='Device.Services.FAPService.1.FAPControl.LTE.Gateway.X_BAICELLS_COM_MmePool.Enable',
+ val_type='boolean',
+ data='false',
+ ),
+ )
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='Device.Services.FAPService.1.CellConfig.LTE.RAN.PHY.TDDFrame.SubFrameAssignment',
+ val_type='int',
+ data='2',
+ ),
+ )
+ # PCI
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='Device.Services.FAPService.1.CellConfig.LTE.RAN.RF.PhyCellID',
+ val_type='int',
+ data='260',
+ ),
+ )
+ # MME port
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='Device.Services.FAPService.1.FAPControl.LTE.Gateway.S1SigLinkPort',
+ val_type='int',
+ data='36412',
+ ),
+ )
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='Device.Services.FAPService.Ipsec.IPSEC_ENABLE',
+ val_type='boolean',
+ data='false',
+ ),
+ )
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='Device.Services.FAPService.1.X_BAICELLS_COM_LTE.EARFCNULInUse',
+ val_type='int',
+ data='39150',
+ ),
+ )
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='Device.Services.FAPService.1.Capabilities.LTE.DuplexMode',
+ val_type='string',
+ data='TDDMode',
+ ),
+ )
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='Device.Services.FAPService.1.Capabilities.LTE.BandsSupported',
+ val_type='string',
+ data='40',
+ ),
+ )
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='Device.ManagementServer.PeriodicInformEnable',
+ val_type='int',
+ data='5',
+ ),
+ )
+ msg.ParameterList = models.ParameterValueList()
+ msg.ParameterList.ParameterValueStruct = param_val_list
+ return msg
+
+ @classmethod
+ def get_qafb_regular_param_values_response(
+ cls,
+ admin_state: bool = False,
+ earfcndl: int = 39250,
+ ) -> models.GetParameterValuesResponse:
+ msg = models.GetParameterValuesResponse()
+ param_val_list = []
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='InternetGatewayDevice.Services.FAPService.1.CellConfig.LTE.RAN.RF.DLBandwidth',
+ val_type='string',
+ data='20',
+ ),
+ )
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='InternetGatewayDevice.Services.FAPService.1.CellConfig.LTE.RAN.RF.FreqBandIndicator',
+ val_type='string',
+ data='40',
+ ),
+ )
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='InternetGatewayDevice.ManagementServer.PeriodicInformInterval',
+ val_type='int',
+ data='5',
+ ),
+ )
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='InternetGatewayDevice.Services.FAPService.1.CellConfig.LTE.RAN.CellRestriction.CellReservedForOperatorUse',
+ val_type='boolean',
+ data='false',
+ ),
+ )
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='InternetGatewayDevice.Services.FAPService.1.CellConfig.LTE.RAN.RF.ULBandwidth',
+ val_type='string',
+ data='20',
+ ),
+ )
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='InternetGatewayDevice.Services.FAPService.1.CellConfig.LTE.RAN.RF.ULBandwidth',
+ val_type='int',
+ data='1',
+ ),
+ )
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='InternetGatewayDevice.Services.FAPService.1.X_BAICELLS_COM_LTE.EARFCNDLInUse',
+ val_type='string',
+ data=earfcndl,
+ ),
+ )
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='InternetGatewayDevice.Services.FAPService.1.CellConfig.LTE.RAN.PHY.TDDFrame.SpecialSubframePatterns',
+ val_type='int',
+ data='7',
+ ),
+ )
+ # MME IP
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='InternetGatewayDevice.Services.FAPService.1.FAPControl.LTE.Gateway.S1SigLinkServerList',
+ val_type='string',
+ data='"192.168.60.142"',
+ ),
+ )
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='InternetGatewayDevice.Services.FAPService.1.CellConfig.LTE.EPC.PLMNListNumberOfEntries',
+ val_type='int',
+ data='1',
+ ),
+ )
+ # perf mgmt enable
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='InternetGatewayDevice.FAP.PerfMgmt.Config.1.Enable',
+ val_type='boolean',
+ data='true',
+ ),
+ )
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='InternetGatewayDevice.Services.FAPService.1.CellConfig.LTE.RAN.CellRestriction.CellBarred',
+ val_type='boolean',
+ data='false',
+ ),
+ )
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='InternetGatewayDevice.FAP.PerfMgmt.Config.1.PeriodicUploadInterval',
+ val_type='int',
+ data='300',
+ ),
+ )
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='InternetGatewayDevice.Services.FAPService.1.FAPControl.LTE.AdminState',
+ val_type='boolean',
+ data='false',
+ ),
+ )
+ # Local gateway enable
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='InternetGatewayDevice.DeviceInfo.X_BAICELLS_COM_LTE_LGW_Switch',
+ val_type='boolean',
+ data='0',
+ ),
+ )
+ # Perf mgmt upload url
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='InternetGatewayDevice.FAP.PerfMgmt.Config.1.URL',
+ val_type='string',
+ data='http://192.168.60.142:8081/',
+ ),
+ )
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='InternetGatewayDevice.Services.FAPService.1.CellConfig.LTE.EPC.TAC',
+ val_type='int',
+ data='1',
+ ),
+ )
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='InternetGatewayDevice.Services.FAPService.1.FAPControl.LTE.Gateway.X_BAICELLS_COM_MmePool.Enable',
+ val_type='boolean',
+ data='false',
+ ),
+ )
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='InternetGatewayDevice.Services.FAPService.1.CellConfig.LTE.RAN.PHY.TDDFrame.SubFrameAssignment',
+ val_type='int',
+ data='2',
+ ),
+ )
+ # PCI
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='InternetGatewayDevice.Services.FAPService.1.CellConfig.LTE.RAN.RF.PhyCellID',
+ val_type='int',
+ data='260',
+ ),
+ )
+ # MME port
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='InternetGatewayDevice.Services.FAPService.1.FAPControl.LTE.Gateway.S1SigLinkPort',
+ val_type='int',
+ data='36412',
+ ),
+ )
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='boardconf.ipsec.ipsecConfig.onBoot',
+ val_type='boolean',
+ data='false',
+ ),
+ )
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='InternetGatewayDevice.Services.FAPService.1.X_BAICELLS_COM_LTE.EARFCNULInUse',
+ val_type='int',
+ data='9212',
+ ),
+ )
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='boardconf.status.eepromInfo.div_multiple',
+ val_type='string',
+ data='02',
+ ),
+ )
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='boardconf.status.eepromInfo.work_mode',
+ val_type='string',
+ data='1C000400',
+ ),
+ )
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='InternetGatewayDevice.ManagementServer.PeriodicInformEnable',
+ val_type='int',
+ data='5',
+ ),
+ )
+ msg.ParameterList = models.ParameterValueList()
+ msg.ParameterList.ParameterValueStruct = param_val_list
+ return msg
+
+ @classmethod
+ def get_cavium_object_param_values_response(
+ cls,
+ num_plmns: int,
+ ) -> models.GetParameterValuesResponse:
+ msg = models.GetParameterValuesResponse()
+ param_val_list = []
+ for i in range(1, num_plmns + 1):
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='Device.Services.FAPService.1.CellConfig.LTE.EPC.PLMNList.%d.IsPrimary' % i,
+ val_type='boolean',
+ data='true',
+ ),
+ )
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='Device.Services.FAPService.1.CellConfig.LTE.EPC.PLMNList.%d.CellReservedForOperatorUse' % i,
+ val_type='boolean',
+ data='false',
+ ),
+ )
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='Device.Services.FAPService.1.CellConfig.LTE.EPC.PLMNList.%d.PLMNID' % i,
+ val_type='string',
+ data='00101',
+ ),
+ )
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='Device.Services.FAPService.1.CellConfig.LTE.EPC.PLMNList.%d.Enable' % i,
+ val_type='boolean',
+ data='true',
+ ),
+ )
+ msg.ParameterList = models.ParameterValueList()
+ msg.ParameterList.ParameterValueStruct = param_val_list
+ return msg
+
+ @classmethod
+ def get_object_param_values_response(
+ cls,
+ ) -> models.GetParameterValuesResponse:
+ msg = models.GetParameterValuesResponse()
+ param_val_list = []
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='Device.Services.FAPService.1.CellConfig.LTE.EPC.PLMNList.1.IsPrimary',
+ val_type='boolean',
+ data='true',
+ ),
+ )
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='Device.Services.FAPService.1.CellConfig.LTE.EPC.PLMNList.1.CellReservedForOperatorUse',
+ val_type='boolean',
+ data='false',
+ ),
+ )
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='Device.Services.FAPService.1.CellConfig.LTE.EPC.PLMNList.1.PLMNID',
+ val_type='string',
+ data='00101',
+ ),
+ )
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='Device.Services.FAPService.1.CellConfig.LTE.EPC.PLMNList.1.Enable',
+ val_type='boolean',
+ data='true',
+ ),
+ )
+ msg.ParameterList = models.ParameterValueList()
+ msg.ParameterList.ParameterValueStruct = param_val_list
+ return msg
+
+ @classmethod
+ def get_qafb_object_param_values_response(
+ cls,
+ ) -> models.GetParameterValuesResponse:
+ msg = models.GetParameterValuesResponse()
+ param_val_list = []
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='InternetGatewayDevice.Services.FAPService.1.CellConfig.LTE.EPC.PLMNList.1.IsPrimary',
+ val_type='boolean',
+ data='true',
+ ),
+ )
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='InternetGatewayDevice.Services.FAPService.1.CellConfig.LTE.EPC.PLMNList.1.CellReservedForOperatorUse',
+ val_type='boolean',
+ data='false',
+ ),
+ )
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='InternetGatewayDevice.Services.FAPService.1.CellConfig.LTE.EPC.PLMNList.1.PLMNID',
+ val_type='string',
+ data='00101',
+ ),
+ )
+ param_val_list.append(
+ cls.get_parameter_value_struct(
+ name='InternetGatewayDevice.Services.FAPService.1.CellConfig.LTE.EPC.PLMNList.1.Enable',
+ val_type='boolean',
+ data='true',
+ ),
+ )
+ msg.ParameterList = models.ParameterValueList()
+ msg.ParameterList.ParameterValueStruct = param_val_list
+ return msg
+
+ @classmethod
+ def get_reboot_response(cls) -> models.RebootResponse:
+ return models.RebootResponse()
diff --git a/tests/timer_tests.py b/tests/timer_tests.py
new file mode 100644
index 0000000..ad00232
--- /dev/null
+++ b/tests/timer_tests.py
@@ -0,0 +1,26 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+# pylint: disable=protected-access
+from unittest import TestCase
+
+from state_machines.timer import StateMachineTimer
+
+
+class StateMachineTimerTests(TestCase):
+ def test_is_done(self):
+ timer_a = StateMachineTimer(0)
+ self.assertTrue(timer_a.is_done(), 'Timer should be done')
+
+ timer_b = StateMachineTimer(600)
+ self.assertFalse(timer_b.is_done(), 'Timer should not be done')
diff --git a/tests/tr069_tests.py b/tests/tr069_tests.py
new file mode 100644
index 0000000..649fcb6
--- /dev/null
+++ b/tests/tr069_tests.py
@@ -0,0 +1,886 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+from datetime import datetime, timedelta, timezone
+from unittest import TestCase, mock
+from unittest.mock import Mock, patch
+
+import lxml.etree as ET
+from tests.test_utils.enb_acs_builder import (
+ EnodebAcsStateMachineBuilder,
+)
+from tr069 import models
+from tr069.rpc_methods import AutoConfigServer
+from tr069.spyne_mods import Tr069Application, Tr069Soap11
+from spyne import MethodContext
+from spyne.server import ServerBase
+
+
+class Tr069Test(TestCase):
+ """ Tests for the TR-069 server """
+ acs_to_cpe_queue = None
+ cpe_to_acs_queue = None
+
+ def setUp(self):
+ # Set up the ACS
+ self.enb_acs_manager = EnodebAcsStateMachineBuilder.build_acs_manager()
+ self.handler = EnodebAcsStateMachineBuilder.build_acs_state_machine()
+ AutoConfigServer.set_state_machine_manager(self.enb_acs_manager)
+
+ def side_effect(*args, **_kwargs):
+ msg = args[1]
+ return msg
+
+ self.p = patch.object(
+ AutoConfigServer, '_handle_tr069_message',
+ Mock(side_effect=side_effect),
+ )
+ self.p.start()
+
+ self.app = Tr069Application(
+ [AutoConfigServer],
+ models.CWMP_NS,
+ in_protocol=Tr069Soap11(validator='soft'),
+ out_protocol=Tr069Soap11(),
+ )
+
+ def tearDown(self):
+ self.p.stop()
+ self.handler = None
+
+ def _get_mconfig(self):
+ return {
+ "@type": "type.googleapis.com/magma.mconfig.EnodebD",
+ "bandwidthMhz": 20,
+ "specialSubframePattern": 7,
+ "earfcndl": 44490,
+ "logLevel": "INFO",
+ "plmnidList": "00101",
+ "pci": 260,
+ "allowEnodebTransmit": False,
+ "subframeAssignment": 2,
+ "tac": 1,
+ },
+
+ def _get_service_config(self):
+ return {
+ "tr069": {
+ "interface": "eth1",
+ "port": 48080,
+ "perf_mgmt_port": 8081,
+ "public_ip": "192.88.99.142",
+ },
+ "reboot_enodeb_on_mme_disconnected": True,
+ "s1_interface": "eth1",
+ }
+
+ def test_acs_manager_exception(self):
+ """
+ Test that an unexpected exception from the ACS SM manager will result
+ in an empty response.
+ """
+ self.enb_acs_manager.handle_tr069_message = mock.MagicMock(
+ side_effect=Exception('mock exception'),
+ )
+ # stop the patcher because we want to use the above MagicMock
+ self.p.stop()
+ server = ServerBase(self.app)
+
+ ctx = MethodContext(server, MethodContext.SERVER)
+ ctx.in_string = [b'']
+ ctx, = server.generate_contexts(ctx)
+
+ server.get_in_object(ctx)
+ self.assertIsNone(ctx.in_error)
+
+ server.get_out_object(ctx)
+ self.assertIsNone(ctx.out_error)
+
+ server.get_out_string(ctx)
+ self.assertEqual(b''.join(ctx.out_string), b'')
+
+ # start the patcher otherwise the p.stop() in tearDown will complain
+ self.p.start()
+
+ def test_parse_inform(self):
+ """
+ Test that example Inform RPC call can be parsed correctly
+ """
+ # Example TR-069 CPE->ACS RPC call. Copied from:
+ # http://djuro82.blogspot.com/2011/05/tr-069-cpe-provisioning.html
+ cpe_string = b'''
+ <soapenv:Envelope soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:cwmp="urn:dslforum-org:cwmp-1-0">
+ <soapenv:Header>
+ <cwmp:ID soapenv:mustUnderstand="1">0_THOM_TR69_ID</cwmp:ID>
+ </soapenv:Header>
+ <soapenv:Body>
+ <cwmp:Inform>
+ <DeviceId>
+ <Manufacturer>THOMSON</Manufacturer>
+ <OUI>00147F</OUI>
+ <ProductClass>SpeedTouch 780</ProductClass>
+ <SerialNumber>CP0611JTLNW</SerialNumber>
+ </DeviceId>
+ <Event soap:arrayType="cwmp:EventStruct[04]">
+ <EventStruct>
+ <EventCode>0 BOOTSTRAP</EventCode>
+ <CommandKey></CommandKey>
+ </EventStruct>
+ <EventStruct>
+ <EventCode>1 BOOT</EventCode>
+ <CommandKey></CommandKey>
+ </EventStruct>
+ <EventStruct>
+ <EventCode>2 PERIODIC</EventCode>
+ <CommandKey></CommandKey>
+ </EventStruct>
+ <EventStruct>
+ <EventCode>4 VALUE CHANGE</EventCode>
+ <CommandKey></CommandKey>
+ </EventStruct>
+ </Event>
+ <MaxEnvelopes>2</MaxEnvelopes>
+ <CurrentTime>1970-01-01T00:01:09Z</CurrentTime>
+ <RetryCount>05</RetryCount>
+ <ParameterList soap:arrayType="cwmp:ParameterValueStruct[12]">
+ <ParameterValueStruct>
+ <Name>InternetGatewayDevice.DeviceSummary</Name>
+ <Value xsi:type="xsd:string">
+ InternetGatewayDevice:1.1[] (Baseline:1, EthernetLAN:1, ADSLWAN:1, Bridging:1, Time:1, WiFiLAN:1)</Value>
+ </ParameterValueStruct>
+ <ParameterValueStruct>
+ <Name>InternetGatewayDevice.DeviceInfo.SpecVersion</Name>
+ <Value xsi:type="xsd:string">1.1</Value>
+ </ParameterValueStruct>
+ <ParameterValueStruct>
+ <Name>InternetGatewayDevice.DeviceInfo.HardwareVersion</Name>
+ <Value xsi:type="xsd:string">BANT-R</Value>
+ </ParameterValueStruct>
+ <ParameterValueStruct>
+ <Name>InternetGatewayDevice.DeviceInfo.SoftwareVersion</Name>
+ <Value xsi:type="xsd:string">6.2.35.0</Value>
+ </ParameterValueStruct>
+ <ParameterValueStruct>
+ <Name>InternetGatewayDevice.DeviceInfo.ProvisioningCode</Name>
+ <Value xsi:type="xsd:string"></Value>
+ </ParameterValueStruct>
+ <ParameterValueStruct>
+ <Name>InternetGatewayDevice.DeviceInfo.VendorConfigFile.1.Name</Name>
+ <Value xsi:type="xsd:string">MyCompanyName</Value>
+ </ParameterValueStruct>
+ <ParameterValueStruct>
+ <Name>InternetGatewayDevice.DeviceInfo.VendorConfigFile.1.Version</Name>
+ <Value xsi:type="xsd:string"></Value>
+ </ParameterValueStruct>
+ <ParameterValueStruct>
+ <Name>InternetGatewayDevice.DeviceInfo.VendorConfigFile.1.Date</Name>
+ <Value xsi:type="xsd:dateTime">0001-01-01T00:00:00</Value>
+ </ParameterValueStruct>
+ <ParameterValueStruct>
+ <Name>InternetGatewayDevice.DeviceInfo.VendorConfigFile.1.Description</Name>
+ <Value xsi:type="xsd:string">MyCompanyName</Value>
+ </ParameterValueStruct>
+ <ParameterValueStruct>
+ <Name>InternetGatewayDevice.ManagementServer.ConnectionRequestURL</Name>
+ <Value xsi:type="xsd:string">http://10.127.129.205:51005/</Value>
+ </ParameterValueStruct>
+ <ParameterValueStruct>
+ <Name>InternetGatewayDevice.ManagementServer.ParameterKey</Name>
+ <Value xsi:type="xsd:string"></Value>
+ </ParameterValueStruct>
+ <ParameterValueStruct>
+ <Name>InternetGatewayDevice.WANDevice.1.WANConnectionDevice.1.WANIPConnection.1.ExternalIPAddress</Name>
+ <Value xsi:type="xsd:string">10.127.129.205</Value>
+ </ParameterValueStruct>
+ </ParameterList>
+ </cwmp:Inform>
+ </soapenv:Body>
+ </soapenv:Envelope>
+ '''
+
+ server = ServerBase(self.app)
+
+ ctx = MethodContext(server, MethodContext.SERVER)
+ ctx.in_string = [cpe_string]
+ ctx, = server.generate_contexts(ctx)
+
+ if ctx.in_error is not None:
+ print('In error: %s' % ctx.in_error)
+ self.assertEqual(ctx.in_error, None)
+
+ server.get_in_object(ctx)
+
+ self.assertEqual(ctx.in_object.DeviceId.OUI, '00147F')
+ self.assertEqual(
+ ctx.in_object.Event.EventStruct[0].EventCode, '0 BOOTSTRAP',
+ )
+ self.assertEqual(
+ ctx.in_object.Event.EventStruct[2].EventCode, '2 PERIODIC',
+ )
+ self.assertEqual(ctx.in_object.MaxEnvelopes, 2)
+ self.assertEqual(
+ ctx.in_object.ParameterList.ParameterValueStruct[1].Name,
+ 'InternetGatewayDevice.DeviceInfo.SpecVersion',
+ )
+ self.assertEqual(
+ str(ctx.in_object.ParameterList.ParameterValueStruct[1].Value), '1.1',
+ )
+
+ def test_parse_inform_cavium(self):
+ """
+ Test that example Inform RPC call can be parsed correctly from OC-LTE
+ """
+ cpe_string = b'''<?xml version="1.0" encoding="UTF-8"?>
+ <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:cwmp="urn:dslforum-org:cwmp-1-0">
+ <SOAP-ENV:Header>
+ <cwmp:ID SOAP-ENV:mustUnderstand="1">CPE_1002</cwmp:ID>
+ </SOAP-ENV:Header>
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+ <cwmp:Inform>
+ <DeviceId>
+ <Manufacturer>Cavium, Inc.</Manufacturer>
+ <OUI>000FB7</OUI>
+ <ProductClass>Cavium eNB</ProductClass>
+ <SerialNumber>10.18.104.79</SerialNumber>
+ </DeviceId>
+ <Event xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="cwmp:EventStruct[1]">
+ <EventStruct>
+ <EventCode>0 BOOTSTRAP</EventCode>
+ <CommandKey></CommandKey>
+ </EventStruct>
+ </Event>
+ <MaxEnvelopes>1</MaxEnvelopes>
+ <CurrentTime>1970-01-02T00:01:05.021239+00:00</CurrentTime>
+ <RetryCount>2</RetryCount>
+ <ParameterList xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="cwmp:ParameterValueStruct[15]">
+ <ParameterValueStruct>
+ <Name>Device.DeviceInfo.HardwareVersion</Name>
+ <Value xsi:type="xsd:string">1.0</Value>
+ </ParameterValueStruct>
+ <ParameterValueStruct>
+ <Name>Device.DeviceInfo.SoftwareVersion</Name>
+ <Value xsi:type="xsd:string">1.0</Value>
+ </ParameterValueStruct>
+ <ParameterValueStruct>
+ <Name>Device.DeviceInfo.AdditionalHardwareVersion</Name>
+ <Value xsi:type="xsd:string">1.0</Value>
+ </ParameterValueStruct>
+ <ParameterValueStruct>
+ <Name>Device.DeviceInfo.AdditionalSoftwareVersion</Name>
+ <Value xsi:type="xsd:string">1.0</Value>
+ </ParameterValueStruct>
+ <ParameterValueStruct>
+ <Name>Device.DeviceInfo.ProvisioningCode</Name>
+ <Value xsi:type="xsd:string">Cavium</Value>
+ </ParameterValueStruct>
+ <ParameterValueStruct>
+ <Name>Device.ManagementServer.ParameterKey</Name>
+ <Value xsi:type="xsd:string"></Value>
+ </ParameterValueStruct>
+ <ParameterValueStruct>
+ <Name>Device.ManagementServer.ConnectionRequestURL</Name>
+ <Value xsi:type="xsd:string">http://192.88.99.253:8084/bucrhzjd</Value>
+ </ParameterValueStruct>
+ <ParameterValueStruct>
+ <Name>Device.ManagementServer.UDPConnectionRequestAddress</Name>
+ <Value xsi:type="xsd:string"></Value>
+ </ParameterValueStruct>
+ <ParameterValueStruct>
+ <Name>Device.ManagementServer.NATDetected</Name>
+ <Value xsi:type="xsd:boolean">0</Value>
+ </ParameterValueStruct>
+ <ParameterValueStruct>
+ <Name>Device.IP.Diagnostics.UDPEchoConfig.PacketsReceived</Name>
+ <Value xsi:type="xsd:unsignedInt">0</Value>
+ </ParameterValueStruct>
+ <ParameterValueStruct>
+ <Name>Device.IP.Diagnostics.UDPEchoConfig.PacketsResponded</Name>
+ <Value xsi:type="xsd:unsignedInt">0</Value>
+ </ParameterValueStruct>
+ <ParameterValueStruct>
+ <Name>Device.IP.Diagnostics.UDPEchoConfig.BytesReceived</Name>
+ <Value xsi:type="xsd:unsignedInt">0</Value>
+ </ParameterValueStruct>
+ <ParameterValueStruct>
+ <Name>Device.IP.Diagnostics.UDPEchoConfig.BytesResponded</Name>
+ <Value xsi:type="xsd:unsignedInt">0</Value>
+ </ParameterValueStruct>
+ <ParameterValueStruct>
+ <Name>Device.IP.Diagnostics.UDPEchoConfig.TimeFirstPacketReceived</Name>
+ <Value xsi:type="xsd:dateTime">1969-12-31T16:00:00.000000+00:00</Value>
+ </ParameterValueStruct>
+ <ParameterValueStruct>
+ <Name>Device.IP.Diagnostics.UDPEchoConfig.TimeLastPacketReceived</Name>
+ <Value xsi:type="xsd:dateTime">1969-12-31T16:00:00.000000+00:00</Value>
+ </ParameterValueStruct>
+ </ParameterList>
+ </cwmp:Inform>
+ </SOAP-ENV:Body>
+ </SOAP-ENV:Envelope>
+ '''
+
+ server = ServerBase(self.app)
+
+ ctx = MethodContext(server, MethodContext.SERVER)
+ ctx.in_string = [cpe_string]
+ ctx, = server.generate_contexts(ctx)
+
+ if ctx.in_error is not None:
+ print('In error: %s' % ctx.in_error)
+ self.assertEqual(ctx.in_error, None)
+
+ server.get_in_object(ctx)
+
+ self.assertEqual(ctx.in_object.DeviceId.OUI, '000FB7')
+ self.assertEqual(
+ ctx.in_object.Event.EventStruct[0].EventCode, '0 BOOTSTRAP',
+ )
+ self.assertEqual(ctx.in_object.MaxEnvelopes, 1)
+ self.assertEqual(
+ ctx.in_object.ParameterList.ParameterValueStruct[1].Name,
+ 'Device.DeviceInfo.SoftwareVersion',
+ )
+ self.assertEqual(
+ str(ctx.in_object.ParameterList.ParameterValueStruct[1].Value), '1.0',
+ )
+
+ def test_handle_transfer_complete(self):
+ """
+ Test that example TransferComplete RPC call can be parsed correctly, and
+ response is correctly generated.
+ """
+ # Example TransferComplete CPE->ACS RPC request/response.
+ # Manually created.
+ cpe_string = b'''
+ <soapenv:Envelope soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:cwmp="urn:dslforum-org:cwmp-1-0">
+ <soapenv:Header>
+ <cwmp:ID soapenv:mustUnderstand="1">1234</cwmp:ID>
+ </soapenv:Header>
+ <soapenv:Body>
+ <cwmp:TransferComplete>
+ <CommandKey>Downloading stuff</CommandKey>
+ <FaultStruct>
+ <FaultCode>0</FaultCode>
+ <FaultString></FaultString>
+ </FaultStruct>
+ <StartTime>2016-11-30T10:16:29Z</StartTime>
+ <CompleteTime>2016-11-30T10:17:05Z</CompleteTime>
+ </cwmp:TransferComplete>
+ </soapenv:Body>
+ </soapenv:Envelope>
+ '''
+ expected_acs_string = b'''
+ <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:cwmp="urn:dslforum-org:cwmp-1-0">
+ <soapenv:Header>
+ <cwmp:ID soapenv:mustUnderstand="1">1234</cwmp:ID>
+ </soapenv:Header>
+ <soapenv:Body>
+ <cwmp:TransferCompleteResponse>
+ </cwmp:TransferCompleteResponse>
+ </soapenv:Body>
+ </soapenv:Envelope>
+ '''
+
+ self.p.stop()
+ self.p.start()
+
+ server = ServerBase(self.app)
+
+ ctx = MethodContext(server, MethodContext.SERVER)
+ ctx.in_string = [cpe_string]
+ ctx, = server.generate_contexts(ctx)
+
+ if ctx.in_error is not None:
+ print('In error: %s' % ctx.in_error)
+ self.assertEqual(ctx.in_error, None)
+
+ server.get_in_object(ctx)
+ self.assertEqual(ctx.in_error, None)
+
+ server.get_out_object(ctx)
+ self.assertEqual(ctx.out_error, None)
+
+ output_msg = ctx.out_object[0]
+ self.assertEqual(type(output_msg), models.TransferComplete)
+ self.assertEqual(output_msg.CommandKey, 'Downloading stuff')
+ self.assertEqual(output_msg.FaultStruct.FaultCode, 0)
+ self.assertEqual(output_msg.FaultStruct.FaultString, '')
+ self.assertEqual(
+ output_msg.StartTime,
+ datetime(
+ 2016, 11, 30, 10, 16, 29,
+ tzinfo=timezone(timedelta(0)),
+ ),
+ )
+ self.assertEqual(
+ output_msg.CompleteTime,
+ datetime(
+ 2016, 11, 30, 10, 17, 5,
+ tzinfo=timezone(timedelta(0)),
+ ),
+ )
+
+ server.get_out_string(ctx)
+ self.assertEqual(ctx.out_error, None)
+
+ xml_tree = XmlTree()
+ match = xml_tree.xml_compare(
+ xml_tree.convert_string_to_tree(b''.join(ctx.out_string)),
+ xml_tree.convert_string_to_tree(expected_acs_string),
+ )
+ self.assertTrue(match)
+
+ def test_parse_empty_http(self):
+ """
+ Test that empty HTTP message gets correctly mapped to 'EmptyHttp'
+ function call
+ """
+ cpe_string = b''
+
+ server = ServerBase(self.app)
+
+ ctx = MethodContext(server, MethodContext.SERVER)
+ ctx.in_string = [cpe_string]
+ ctx, = server.generate_contexts(ctx)
+
+ if ctx.in_error is not None:
+ print('In error: %s' % ctx.in_error)
+
+ self.assertEqual(ctx.in_error, None)
+ self.assertEqual(ctx.function, AutoConfigServer.empty_http)
+
+ def test_generate_empty_http(self):
+ """
+ Test that empty HTTP message is generated when setting output message
+ name to 'EmptyHttp'
+ """
+ cpe_string = b''
+
+ server = ServerBase(self.app)
+
+ ctx = MethodContext(server, MethodContext.SERVER)
+ ctx.in_string = [cpe_string]
+ ctx, = server.generate_contexts(ctx)
+
+ server.get_in_object(ctx)
+ if ctx.in_error is not None:
+ raise ctx.in_error
+
+ server.get_out_object(ctx)
+ if ctx.out_error is not None:
+ raise ctx.out_error
+
+ ctx.descriptor.out_message.Attributes.sub_name = 'EmptyHttp'
+ ctx.out_object = [models.AcsToCpeRequests()]
+
+ server.get_out_string(ctx)
+
+ self.assertEqual(b''.join(ctx.out_string), b'')
+
+ def test_generate_get_parameter_values_string(self):
+ """
+ Test that correct string is generated for SetParameterValues ACS->CPE
+ request
+ """
+ # Example ACS->CPE RPC call. Copied from:
+ # http://djuro82.blogspot.com/2011/05/tr-069-cpe-provisioning.html
+ # Following edits made:
+ # - Change header ID value from 'null0' to 'null', to match magma
+ # default ID
+ expected_acs_string = b'''
+ <soapenv:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:cwmp="urn:dslforum-org:cwmp-1-0" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <soapenv:Header>
+ <cwmp:ID soapenv:mustUnderstand="1">null</cwmp:ID>
+ </soapenv:Header>
+ <soapenv:Body>
+ <cwmp:GetParameterValues>
+ <ParameterNames soap:arrayType="xsd:string[1]">
+ <string>foo</string>
+ </ParameterNames>
+ </cwmp:GetParameterValues>
+ </soapenv:Body>
+ </soapenv:Envelope>
+ '''
+
+ names = ['foo']
+ request = models.GetParameterValues()
+ request.ParameterNames = models.ParameterNames()
+ request.ParameterNames.arrayType = 'xsd:string[%d]' \
+ % len(names)
+ request.ParameterNames.string = []
+ for name in names:
+ request.ParameterNames.string.append(name)
+
+ request.ParameterKey = 'null'
+
+ def side_effect(*args, **_kwargs):
+ ctx = args[0]
+ ctx.out_header = models.ID(mustUnderstand='1')
+ ctx.out_header.Data = 'null'
+ ctx.descriptor.out_message.Attributes.sub_name = \
+ request.__class__.__name__
+ return AutoConfigServer._generate_acs_to_cpe_request_copy(request)
+
+ self.p.stop()
+ self.p = patch.object(
+ AutoConfigServer, '_handle_tr069_message',
+ side_effect=side_effect,
+ )
+ self.p.start()
+
+ server = ServerBase(self.app)
+
+ ctx = MethodContext(server, MethodContext.SERVER)
+ ctx.in_string = [b'']
+ ctx, = server.generate_contexts(ctx)
+
+ server.get_in_object(ctx)
+ if ctx.in_error is not None:
+ raise ctx.in_error
+
+ server.get_out_object(ctx)
+ if ctx.out_error is not None:
+ raise ctx.out_error
+
+ server.get_out_string(ctx)
+
+ xml_tree = XmlTree()
+ match = xml_tree.xml_compare(
+ xml_tree.convert_string_to_tree(b''.join(ctx.out_string)),
+ xml_tree.convert_string_to_tree(expected_acs_string),
+ )
+ self.assertTrue(match)
+
+ def test_generate_set_parameter_values_string(self):
+ """
+ Test that correct string is generated for SetParameterValues ACS->CPE
+ request
+ """
+ # Example ACS->CPE RPC call. Copied from:
+ # http://djuro82.blogspot.com/2011/05/tr-069-cpe-provisioning.html
+ # Following edits made:
+ # - Change header ID value from 'null0' to 'null', to match magma
+ # default ID
+ expected_acs_string = b'''
+ <soapenv:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:cwmp="urn:dslforum-org:cwmp-1-0" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <soapenv:Header>
+ <cwmp:ID soapenv:mustUnderstand="1">null</cwmp:ID>
+ </soapenv:Header>
+ <soapenv:Body>
+ <cwmp:SetParameterValues>
+ <ParameterList soap:arrayType="cwmp:ParameterValueStruct[4]">
+ <ParameterValueStruct>
+ <Name>InternetGatewayDevice.ManagementServer.PeriodicInformEnable</Name>
+ <Value xsi:type="xsd:boolean">1</Value>
+ </ParameterValueStruct>
+ <ParameterValueStruct>
+ <Name>InternetGatewayDevice.ManagementServer.ConnectionRequestUsername</Name>
+ <Value xsi:type="xsd:string">00147F-SpeedTouch780-CP0611JTLNW</Value>
+ </ParameterValueStruct>
+ <ParameterValueStruct>
+ <Name>InternetGatewayDevice.ManagementServer.ConnectionRequestPassword</Name>
+ <Value xsi:type="xsd:string">98ff55fb377bf724c625f60dec448646</Value>
+ </ParameterValueStruct>
+ <ParameterValueStruct>
+ <Name>InternetGatewayDevice.ManagementServer.PeriodicInformInterval</Name>
+ <Value xsi:type="xsd:unsignedInt">60</Value>
+ </ParameterValueStruct>
+ </ParameterList>
+ <ParameterKey xsi:type="xsd:string">SetParameter1</ParameterKey>
+ </cwmp:SetParameterValues>
+ </soapenv:Body>
+ </soapenv:Envelope>
+ '''
+
+ request = models.SetParameterValues()
+
+ request.ParameterList = \
+ models.ParameterValueList(arrayType='cwmp:ParameterValueStruct[4]')
+ request.ParameterList.ParameterValueStruct = []
+
+ param = models.ParameterValueStruct()
+ param.Name = 'InternetGatewayDevice.ManagementServer.PeriodicInformEnable'
+ param.Value = models.anySimpleType(type='xsd:boolean')
+ param.Value.Data = '1'
+ request.ParameterList.ParameterValueStruct.append(param)
+
+ param = models.ParameterValueStruct()
+ param.Name = 'InternetGatewayDevice.ManagementServer.ConnectionRequestUsername'
+ param.Value = models.anySimpleType(type='xsd:string')
+ param.Value.Data = '00147F-SpeedTouch780-CP0611JTLNW'
+ request.ParameterList.ParameterValueStruct.append(param)
+
+ param = models.ParameterValueStruct()
+ param.Name = 'InternetGatewayDevice.ManagementServer.ConnectionRequestPassword'
+ param.Value = models.anySimpleType(type='xsd:string')
+ param.Value.Data = '98ff55fb377bf724c625f60dec448646'
+ request.ParameterList.ParameterValueStruct.append(param)
+
+ param = models.ParameterValueStruct()
+ param.Name = 'InternetGatewayDevice.ManagementServer.PeriodicInformInterval'
+ param.Value = models.anySimpleType(type='xsd:unsignedInt')
+ param.Value.Data = '60'
+ request.ParameterList.ParameterValueStruct.append(param)
+
+ request.ParameterKey = models.ParameterKeyType()
+ request.ParameterKey.type = 'xsd:string'
+ request.ParameterKey.Data = 'SetParameter1'
+
+ def side_effect(*args, **_kwargs):
+ ctx = args[0]
+ ctx.out_header = models.ID(mustUnderstand='1')
+ ctx.out_header.Data = 'null'
+ ctx.descriptor.out_message.Attributes.sub_name = request.__class__.__name__
+ return request
+
+ self.p.stop()
+ self.p = patch.object(
+ AutoConfigServer, '_handle_tr069_message',
+ Mock(side_effect=side_effect),
+ )
+ self.p.start()
+
+ server = ServerBase(self.app)
+
+ ctx = MethodContext(server, MethodContext.SERVER)
+ ctx.in_string = [b'']
+ ctx, = server.generate_contexts(ctx)
+
+ server.get_in_object(ctx)
+ if ctx.in_error is not None:
+ raise ctx.in_error
+
+ server.get_out_object(ctx)
+ if ctx.out_error is not None:
+ raise ctx.out_error
+
+ server.get_out_string(ctx)
+
+ xml_tree = XmlTree()
+ NS_SOAP11_ENC = 'soap11enc'
+ NS_SOAP11_ENV = 'soap11env'
+ xml_str = b''.join(ctx.out_string)
+ # Get the namespaces and validate the soap enc and env prefix are right
+ nsmap = xml_tree.get_ns(xml_str)
+ self.assertTrue(NS_SOAP11_ENC in nsmap.keys())
+ self.assertTrue(NS_SOAP11_ENV in nsmap.keys())
+
+ match = xml_tree.xml_compare(
+ xml_tree.convert_string_to_tree(xml_str),
+ xml_tree.convert_string_to_tree(expected_acs_string),
+ )
+ self.assertTrue(match)
+
+ def test_parse_fault_response(self):
+ """ Tests that a fault response from CPE is correctly parsed. """
+ # Example CPE->ACS fault response. Copied from:
+ # http://djuro82.blogspot.com/2011/05/tr-069-cpe-provisioning.html
+ cpe_string = b'''
+ <soapenv:Envelope soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:cwmp="urn:dslforum-org:cwmp-1-0">
+ <soapenv:Header>
+ <cwmp:ID soapenv:mustUnderstand="1">1031422463</cwmp:ID>
+ </soapenv:Header>
+ <soapenv:Body>
+ <soapenv:Fault>
+ <faultcode>Client</faultcode>
+ <faultstring>CWMP fault</faultstring>
+ <detail>
+ <cwmp:Fault>
+ <FaultCode>9003</FaultCode>
+ <FaultString>Invalid arguments</FaultString>
+ <SetParameterValuesFault>
+ <ParameterName>InternetGatewayDevice.WANDevice.1.WANConnectionDevice.3.WANPPPConnection.1.Password</ParameterName>
+ <FaultCode>9003</FaultCode>
+ <FaultString>Invalid arguments</FaultString>
+ </SetParameterValuesFault>
+ <SetParameterValuesFault>
+ <ParameterName>InternetGatewayDevice.WANDevice.1.WANConnectionDevice.3.WANPPPConnection.1.Username</ParameterName>
+ <FaultCode>9003</FaultCode>
+ <FaultString>Invalid arguments</FaultString>
+ </SetParameterValuesFault>
+ </cwmp:Fault>
+ </detail>
+ </soapenv:Fault>
+ </soapenv:Body>
+ </soapenv:Envelope>
+ '''
+ server = ServerBase(self.app)
+
+ ctx = MethodContext(server, MethodContext.SERVER)
+ ctx.in_string = [cpe_string]
+ ctx, = server.generate_contexts(ctx)
+ server.get_in_object(ctx)
+ if ctx.in_error is not None:
+ raise ctx.in_error
+
+ # Calls function to receive and process message
+ server.get_out_object(ctx)
+
+ output_msg = ctx.out_object[0]
+ self.assertEqual(type(output_msg), models.Fault)
+ self.assertEqual(output_msg.FaultCode, 9003)
+ self.assertEqual(output_msg.FaultString, 'Invalid arguments')
+ self.assertEqual(
+ output_msg.SetParameterValuesFault[1].ParameterName,
+ 'InternetGatewayDevice.WANDevice.1.WANConnectionDevice.3.WANPPPConnection.1.Username',
+ )
+ self.assertEqual(output_msg.SetParameterValuesFault[1].FaultCode, 9003)
+ self.assertEqual(
+ output_msg.SetParameterValuesFault[1].FaultString,
+ 'Invalid arguments',
+ )
+
+ def test_parse_hex_values(self):
+ """
+ Test that non-utf-8 hex values can be parsed without error
+ """
+ # Example TR-069 CPE->ACS RPC call. Copied from:
+ # http://djuro82.blogspot.com/2011/05/tr-069-cpe-provisioning.html
+ cpe_string = b'''
+ <soapenv:Envelope soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:cwmp="urn:dslforum-org:cwmp-1-0">
+ <soapenv:Header>
+ <cwmp:ID soapenv:mustUnderstand="1">0_THOM_TR69_ID</cwmp:ID>
+ </soapenv:Header>
+ <soapenv:Body>
+ <cwmp:Inform>
+ <DeviceId>
+ <Manufacturer>THOMSON</Manufacturer>
+ <OUI>00147F</OUI>
+ <ProductClass>SpeedTouch 780</ProductClass>
+ <SerialNumber>CP0611JTLNW</SerialNumber>
+ </DeviceId>
+ <Event soap:arrayType="cwmp:EventStruct[04]">
+ <EventStruct>
+ <EventCode>0 BOOTSTRAP</EventCode>
+ <CommandKey></CommandKey>
+ </EventStruct>
+ <EventStruct>
+ <EventCode>1 BOOT</EventCode>
+ <CommandKey></CommandKey>
+ </EventStruct>
+ <EventStruct>
+ <EventCode>2 PERIODIC</EventCode>
+ <CommandKey></CommandKey>
+ </EventStruct>
+ <EventStruct>
+ <EventCode>4 VALUE CHANGE</EventCode>
+ <CommandKey></CommandKey>
+ </EventStruct>
+ </Event>
+ <MaxEnvelopes>2</MaxEnvelopes>
+ <CurrentTime>1970-01-01T00:01:09Z</CurrentTime>
+ <RetryCount>05</RetryCount>
+ <ParameterList soap:arrayType="cwmp:ParameterValueStruct[12]">
+ <ParameterValueStruct>
+ <Name>InternetGatewayDevice.DeviceSummary</Name>
+ <Value xsi:type="xsd:string">
+ \xff\xff\xff\xff\xff</Value>
+ </ParameterValueStruct>
+ </ParameterList>
+ </cwmp:Inform>
+ </soapenv:Body>
+ </soapenv:Envelope>
+ '''
+
+ server = ServerBase(self.app)
+
+ ctx = MethodContext(server, MethodContext.SERVER)
+ ctx.in_string = [cpe_string]
+ ctx, = server.generate_contexts(ctx)
+
+ if ctx.in_error is not None:
+ print('In error: %s' % ctx.in_error)
+ self.assertEqual(ctx.in_error, None)
+
+ server.get_in_object(ctx)
+
+
+class XmlTree():
+
+ @staticmethod
+ def convert_string_to_tree(xmlString):
+
+ return ET.fromstring(xmlString)
+
+ @staticmethod
+ def get_ns(xmlString):
+ return ET.fromstring(xmlString).nsmap
+
+ def xml_compare(self, x1, x2, excludes=None):
+ """
+ Compares two xml etrees
+ :param x1: the first tree
+ :param x2: the second tree
+ :param excludes: list of string of attributes to exclude from comparison
+ :return:
+ True if both files match
+ """
+ excludes = [] if excludes is None else excludes
+
+ if x1.tag != x2.tag:
+ print('Tags do not match: %s and %s' % (x1.tag, x2.tag))
+ return False
+ for name, value in x1.attrib.items():
+ if name not in excludes:
+ if x2.attrib.get(name) != value:
+ print(
+ 'Attributes do not match: %s=%r, %s=%r'
+ % (name, value, name, x2.attrib.get(name)),
+ )
+ return False
+ for name in x2.attrib.keys():
+ if name not in excludes:
+ if name not in x1.attrib:
+ print(
+ 'x2 has an attribute x1 is missing: %s'
+ % name,
+ )
+ return False
+ if not self.text_compare(x1.text, x2.text):
+ print('text: %r != %r' % (x1.text, x2.text))
+ return False
+ if not self.text_compare(x1.tail, x2.tail):
+ print('tail: %r != %r' % (x1.tail, x2.tail))
+ return False
+ cl1 = x1.getchildren()
+ cl2 = x2.getchildren()
+ if len(cl1) != len(cl2):
+ print(
+ 'children length differs, %i != %i'
+ % (len(cl1), len(cl2)),
+ )
+ return False
+ i = 0
+ for c1, c2 in zip(cl1, cl2):
+ i += 1
+ if c1.tag not in excludes:
+ if not self.xml_compare(c1, c2, excludes):
+ print(
+ 'children %i do not match: %s'
+ % (i, c1.tag),
+ )
+ return False
+ return True
+
+ def text_compare(self, t1, t2):
+ """
+ Compare two text strings
+ :param t1: text one
+ :param t2: text two
+ :return:
+ True if a match
+ """
+ if not t1 and not t2:
+ return True
+ if t1 == '*' or t2 == '*':
+ return True
+ return (t1 or '').strip() == (t2 or '').strip()
diff --git a/tests/transform_for_enb_tests.py b/tests/transform_for_enb_tests.py
new file mode 100644
index 0000000..bcc19fa
--- /dev/null
+++ b/tests/transform_for_enb_tests.py
@@ -0,0 +1,35 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+# pylint: disable=protected-access
+from unittest import TestCase
+
+from data_models.transform_for_enb import bandwidth
+
+
+class TransformForMagmaTests(TestCase):
+ def test_bandwidth(self) -> None:
+ inp = 1.4
+ out = bandwidth(inp)
+ expected = 'n6'
+ self.assertEqual(out, expected, 'Should work with a float')
+
+ inp = 20
+ out = bandwidth(inp)
+ expected = 'n100'
+ self.assertEqual(out, expected, 'Should work with an int')
+
+ inp = 10
+ out = bandwidth(inp)
+ expected = 'n50'
+ self.assertEqual(out, expected, 'Should work with int 10')
diff --git a/tests/transform_for_magma_tests.py b/tests/transform_for_magma_tests.py
new file mode 100644
index 0000000..4b76838
--- /dev/null
+++ b/tests/transform_for_magma_tests.py
@@ -0,0 +1,56 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+# pylint: disable=protected-access
+from unittest import TestCase
+
+from data_models.transform_for_magma import bandwidth, gps_tr181
+from exceptions import ConfigurationError
+
+
+class TransformForMagmaTests(TestCase):
+ def test_gps_tr181(self) -> None:
+ # Negative longitude
+ inp = '-122150583'
+ out = gps_tr181(inp)
+ expected = '-122.150583'
+ self.assertEqual(out, expected, 'Should convert negative longitude')
+
+ inp = '122150583'
+ out = gps_tr181(inp)
+ expected = '122.150583'
+ self.assertEqual(out, expected, 'Should convert positive longitude')
+
+ inp = '0'
+ out = gps_tr181(inp)
+ expected = '0.0'
+ self.assertEqual(out, expected, 'Should leave zero as zero')
+
+ def test_bandwidth(self) -> None:
+ inp = 'n6'
+ out = bandwidth(inp)
+ expected = 1.4
+ self.assertEqual(out, expected, 'Should convert RBs')
+
+ inp = 1.4
+ out = bandwidth(inp)
+ expected = 1.4
+ self.assertEqual(out, expected, 'Should accept MHz')
+
+ with self.assertRaises(ConfigurationError):
+ inp = 'asdf'
+ bandwidth(inp)
+
+ with self.assertRaises(ConfigurationError):
+ inp = 1234
+ bandwidth(inp)
diff --git a/tools/gen_prometheus_proto.py b/tools/gen_prometheus_proto.py
new file mode 100644
index 0000000..f0a0ec9
--- /dev/null
+++ b/tools/gen_prometheus_proto.py
@@ -0,0 +1,38 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+import os
+import sys
+
+from grpc.tools import protoc
+
+
+def gen_prometheus_proto_py(proto_file_dir, output_dir):
+ # Function For fb-internal build tools - open source should use this file
+ # as a script
+ protoc.main(
+ (
+ '',
+ '-I' + proto_file_dir,
+ '--python_out=' + output_dir,
+ '--grpc_python_out=' + output_dir,
+ os.path.join(proto_file_dir, 'metrics.proto'),
+ ),
+ )
+
+
+if __name__ == '__main__':
+ # ./gen_prometheus_proto.py <magma root> <output_dir>
+ magma_root, out_dir = sys.argv[1], sys.argv[2]
+ file_dir = os.path.join(magma_root, 'proto_files/orc8r/protos/prometheus')
+ gen_prometheus_proto_py(file_dir, out_dir)
+
diff --git a/tools/gen_protos.py b/tools/gen_protos.py
new file mode 100644
index 0000000..3468f9e
--- /dev/null
+++ b/tools/gen_protos.py
@@ -0,0 +1,106 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+import os
+import shutil
+import sys
+from typing import Iterable, List
+
+from grpc.tools import protoc
+
+
+def find_all_proto_files_in_dir(input_dir: str) -> List[str]:
+ """
+ Returns a list of filenames of .proto files in the given directory
+
+ Args:
+ input_dir: Directory to search in
+
+ Returns:
+ list(str): List of .proto filenames in the directory
+ """
+ proto_files = []
+ for root, _, names in os.walk(input_dir):
+ for name in names:
+ full_filename = os.path.join(root, name)
+ extn = os.path.splitext(name)[1]
+
+ # Recurse into subdirectories
+ if os.path.isdir(full_filename):
+ proto_files += find_all_proto_files_in_dir(full_filename)
+ if os.path.isfile(full_filename) and extn == '.proto':
+ # TODO: find a better way to exclude the prometheus proto
+ if not full_filename.endswith('prometheus/metrics.proto'):
+ proto_files.append(full_filename)
+ return proto_files
+
+
+def gen_bindings(
+ input_dir: str,
+ include_paths: Iterable[str],
+ proto_path: str,
+ output_dir: str,
+) -> None:
+ """
+ Generates python and Go bindings for all .proto files in input dir
+ @input_dir - input directory with .proto files to generate code for
+ @include_paths - a list of include paths to resolve relative imports in .protos
+ @output_dir - output directory to put generated code in
+ """
+ protofiles = find_all_proto_files_in_dir(input_dir)
+
+ inouts = [
+ '-I' + proto_path,
+ '--python_out=' + output_dir,
+ '--grpc_python_out=' + output_dir,
+ ]
+ # Only run mypy (dev dependency) when the protoc-consumed executable exists
+ if shutil.which('protoc-gen-mypy') is not None:
+ inouts.append('--mypy_out=' + output_dir)
+
+ protoc.main(
+ ('',) +
+ tuple('-I' + path for path in include_paths) +
+ tuple(inouts) +
+ tuple(f for f in protofiles),
+ )
+
+
+def main():
+ """
+ Default main module. Generates .py code for all proto files
+ specified by the arguments
+ """
+ if len(sys.argv) != 5:
+ print(
+ "Usage: ./gen_protos.py <dir containing .proto's> <include paths CSV> <proto_path for imports> <output dir>",
+ )
+ exit(1)
+ input_dir = sys.argv[1]
+ include_paths = sys.argv[2].split(',')
+ # The deprecated vagrant box image amarpad/magma_dev has grpc installed
+ # from source, with header files located at /usr/local/include. In the new
+ # box image amarpad/debian_jessie, grpc is installed from deb package, with
+ # headers located at /usr/include. Currently, only the magma_test vm uses
+ # amarpad/magma_dev.
+ #
+ # TODO: Migrate magma_test to amarpad/debian_jessie to to remove the
+ # '/usr/local/include'
+ include_paths.append('/usr/local/include')
+ proto_path = sys.argv[3]
+ output_dir = sys.argv[4]
+ gen_bindings(input_dir, include_paths, proto_path, output_dir)
+
+
+if __name__ == "__main__":
+ main()
+
diff --git a/tr069/__init__.py b/tr069/__init__.py
new file mode 100644
index 0000000..5c6cb64
--- /dev/null
+++ b/tr069/__init__.py
@@ -0,0 +1,12 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
diff --git a/tr069/models.py b/tr069/models.py
new file mode 100644
index 0000000..1f850c0
--- /dev/null
+++ b/tr069/models.py
@@ -0,0 +1,433 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+
+from spyne.model import ComplexModel
+from spyne.model.complex import XmlAttribute, XmlData
+from spyne.model.primitive import (
+ Boolean,
+ DateTime,
+ Integer,
+ String,
+ UnsignedInteger,
+)
+from spyne.util.odict import odict
+
+# Namespaces
+XSI_NS = 'http://www.w3.org/2001/XMLSchema-instance'
+SOAP_ENV = 'http://schemas.xmlsoap.org/soap/envelope/'
+SOAP_ENC = 'http://schemas.xmlsoap.org/soap/encoding/'
+CWMP_NS = 'urn:dslforum-org:cwmp-1-0'
+
+
+class Tr069ComplexModel(ComplexModel):
+ """ Base class for TR-069 models, to set common attributes. Does not appear
+ in CWMP XSD file. """
+ __namespace__ = CWMP_NS
+
+
+class anySimpleType(Tr069ComplexModel):
+ """ Type used to transfer simple data of various types. Data type is
+ defined in 'type' XML attribute. Data is handled as a string. """
+ _type_info = odict()
+ _type_info["type"] = XmlAttribute(String, ns=XSI_NS)
+ _type_info["Data"] = XmlData(String)
+
+ def __repr__(self):
+ """For types we can't resolve only print the datum"""
+ return self.Data
+
+
+# SOAP Header Elements
+
+
+class ID(Tr069ComplexModel):
+ # Note: for some reason, XmlAttribute/XmlData pairs MUST be ordered, with
+ # XmlAttribute coming first. This appears to be a spyne bug (something to do
+ # with spyne.interface._base.add_class())
+ _type_info = odict()
+ _type_info["mustUnderstand"] = XmlAttribute(String, ns=SOAP_ENV)
+ _type_info["Data"] = XmlData(String)
+
+
+class HoldRequests(Tr069ComplexModel):
+ _type_info = odict()
+ _type_info["mustUnderstand"] = XmlAttribute(String, ns=SOAP_ENV)
+ _type_info["Data"] = XmlData(Boolean)
+
+
+# SOAP Fault Extensions
+
+
+class SetParameterValuesFault(Tr069ComplexModel):
+ _type_info = odict()
+ _type_info["ParameterName"] = String
+ _type_info["FaultCode"] = UnsignedInteger
+ _type_info["FaultString"] = String
+
+
+class Fault(Tr069ComplexModel):
+ _type_info = odict()
+ _type_info["FaultCode"] = UnsignedInteger
+ _type_info["FaultString"] = String
+ _type_info["SetParameterValuesFault"] = SetParameterValuesFault.customize(
+ max_occurs='unbounded',
+ )
+
+
+# Type definitions used in messages
+
+
+class MethodList(Tr069ComplexModel):
+ _type_info = odict()
+ _type_info["string"] = String(max_length=64, max_occurs='unbounded')
+ _type_info["arrayType"] = XmlAttribute(String, ns=SOAP_ENC)
+
+
+class FaultStruct(Tr069ComplexModel):
+ _type_info = odict()
+ _type_info["FaultCode"] = Integer
+ _type_info["FaultString"] = String(max_length=256)
+
+
+class DeviceIdStruct(Tr069ComplexModel):
+ _type_info = odict()
+ _type_info["Manufacturer"] = String(max_length=64)
+ _type_info["OUI"] = String(length=6)
+ _type_info["ProductClass"] = String(max_length=64)
+ _type_info["SerialNumber"] = String(max_length=64)
+
+
+class EventStruct(Tr069ComplexModel):
+ _type_info = odict()
+ _type_info["EventCode"] = String(max_length=64)
+ _type_info["CommandKey"] = String(max_length=32)
+
+
+class EventList(Tr069ComplexModel):
+ _type_info = odict()
+ _type_info["EventStruct"] = EventStruct.customize(max_occurs='unbounded')
+ _type_info["arrayType"] = XmlAttribute(String, ns=SOAP_ENC)
+
+
+class ParameterValueStruct(Tr069ComplexModel):
+ _type_info = odict()
+ _type_info["Name"] = String
+ _type_info["Value"] = anySimpleType
+
+
+class ParameterValueList(Tr069ComplexModel):
+ _type_info = odict()
+ _type_info["ParameterValueStruct"] = ParameterValueStruct.customize(
+ max_occurs='unbounded',
+ )
+ _type_info["arrayType"] = XmlAttribute(String, ns=SOAP_ENC)
+
+
+class ParameterInfoStruct(Tr069ComplexModel):
+ _type_info = odict()
+ _type_info["Name"] = String(max_length=256)
+ _type_info["Writable"] = Boolean
+
+
+class ParameterInfoList(Tr069ComplexModel):
+ _type_info = odict()
+ _type_info["ParameterInfoStruct"] = ParameterInfoStruct.customize(max_occurs='unbounded')
+ _type_info["arrayType"] = XmlAttribute(String, ns=SOAP_ENC)
+
+
+class ParameterNames(Tr069ComplexModel):
+ _type_info = odict()
+ _type_info["string"] = String.customize(max_occurs='unbounded', max_length=256)
+ _type_info["arrayType"] = XmlAttribute(String, ns=SOAP_ENC)
+
+
+class ParameterKeyType(anySimpleType):
+ pass
+
+
+class AccessList(Tr069ComplexModel):
+ _type_info = odict()
+ _type_info["string"] = String.customize(max_occurs='unbounded', max_length=64)
+ _type_info["arrayType"] = XmlAttribute(String, ns=SOAP_ENC)
+
+
+class SetParameterAttributesStruct(Tr069ComplexModel):
+ _type_info = odict()
+ _type_info["Name"] = String(max_length=256)
+ _type_info["NotificationChange"] = Boolean
+ _type_info["Notification"] = Integer
+ _type_info["AccessListChange"] = Boolean
+ _type_info["AccessList"] = AccessList
+
+
+class SetParameterAttributesList(Tr069ComplexModel):
+ _type_info = odict()
+ _type_info["SetParameterAttributesStruct"] = SetParameterAttributesStruct.customize(
+ max_occurs='unbounded',
+ )
+ _type_info["arrayType"] = XmlAttribute(String, ns=SOAP_ENC)
+
+
+class ParameterAttributeStruct(Tr069ComplexModel):
+ _type_info = odict()
+ _type_info["Name"] = String(max_length=256)
+ _type_info["Notification"] = Integer
+ _type_info["AccessList"] = AccessList
+
+
+class ParameterAttributeList(Tr069ComplexModel):
+ _type_info = odict()
+ _type_info["ParameterValueStruct"] = ParameterAttributeStruct.customize(
+ max_occurs='unbounded',
+ )
+ _type_info["arrayType"] = XmlAttribute(String, ns=SOAP_ENC)
+
+
+class CommandKeyType(String.customize(max_length=32)):
+ pass
+
+
+class ObjectNameType(String.customize(max_length=256)):
+ pass
+
+
+# CPE messages
+
+
+class SetParameterValues(Tr069ComplexModel):
+ _type_info = odict()
+ _type_info["ParameterList"] = ParameterValueList
+ _type_info["ParameterKey"] = ParameterKeyType
+
+
+class SetParameterValuesResponse(Tr069ComplexModel):
+ _type_info = odict()
+ _type_info["Status"] = Integer
+
+
+class GetParameterValues(Tr069ComplexModel):
+ _type_info = odict()
+ _type_info["ParameterNames"] = ParameterNames
+
+
+class GetParameterValuesResponse(Tr069ComplexModel):
+ _type_info = odict()
+ _type_info["ParameterList"] = ParameterValueList
+
+
+class GetParameterNames(Tr069ComplexModel):
+ _type_info = odict()
+ _type_info["ParameterPath"] = String.customize(max_length=256)
+ _type_info["NextLevel"] = Boolean
+
+
+class GetParameterNamesResponse(Tr069ComplexModel):
+ _type_info = odict()
+ _type_info["ParameterList"] = ParameterInfoList
+
+
+class SetParameterAttributes(Tr069ComplexModel):
+ _type_info = odict()
+ _type_info["ParameterList"] = SetParameterAttributesList
+
+
+class SetParameterAttributesResponse(Tr069ComplexModel):
+ # Dummy field required because spyne does not allow 'bare' RPC function with
+ # no input parameters. This field is never sent by CPE.
+ _type_info = odict()
+ _type_info["DummyField"] = UnsignedInteger
+
+
+class GetParameterAttributes(Tr069ComplexModel):
+ _type_info = odict()
+ _type_info["ParameterNames"] = ParameterNames
+
+
+class GetParameterAttributesResponse(Tr069ComplexModel):
+ _type_info = odict()
+ _type_info["ParameterList"] = ParameterAttributeList
+
+
+class AddObject(Tr069ComplexModel):
+ _type_info = odict()
+ _type_info["ObjectName"] = ObjectNameType
+ _type_info["ParameterKey"] = ParameterKeyType
+
+
+class AddObjectResponse(Tr069ComplexModel):
+ _type_info = odict()
+ _type_info["InstanceNumber"] = UnsignedInteger
+ _type_info["Status"] = Integer
+
+
+class DeleteObject(Tr069ComplexModel):
+ _type_info = odict()
+ _type_info["ObjectName"] = ObjectNameType
+ _type_info["ParameterKey"] = ParameterKeyType
+
+
+class DeleteObjectResponse(Tr069ComplexModel):
+ _type_info = odict()
+ _type_info["Status"] = Integer
+
+
+class Download(Tr069ComplexModel):
+ _type_info = odict()
+ _type_info["CommandKey"] = CommandKeyType
+ _type_info["FileType"] = String(max_length=64)
+ _type_info["URL"] = String(max_length=256)
+ _type_info["Username"] = String(max_length=256)
+ _type_info["Password"] = String(max_length=256)
+ _type_info["FileSize"] = UnsignedInteger
+ _type_info["TargetFileName"] = String(max_length=256)
+ _type_info["DelaySeconds"] = UnsignedInteger
+ _type_info["SuccessURL"] = String(max_length=256)
+ _type_info["FailureURL"] = String(max_length=256)
+
+
+class DownloadResponse(Tr069ComplexModel):
+ _type_info = odict()
+ _type_info["Status"] = Integer
+ _type_info["StartTime"] = DateTime
+ _type_info["CompleteTime"] = DateTime
+
+
+class Reboot(Tr069ComplexModel):
+ _type_info = odict()
+ _type_info["CommandKey"] = CommandKeyType
+
+
+class RebootResponse(Tr069ComplexModel):
+ # Dummy field required because spyne does not allow 'bare' RPC function with
+ # no input parameters. This field is never sent by CPE.
+ _type_info = odict()
+ _type_info["DummyField"] = UnsignedInteger
+
+
+# ACS messages
+
+
+class Inform(Tr069ComplexModel):
+ _type_info = odict()
+ _type_info["DeviceId"] = DeviceIdStruct
+ _type_info["Event"] = EventList
+ _type_info["MaxEnvelopes"] = UnsignedInteger
+ _type_info["CurrentTime"] = DateTime
+ _type_info["RetryCount"] = UnsignedInteger
+ _type_info["ParameterList"] = ParameterValueList
+
+
+class InformResponse(Tr069ComplexModel):
+ _type_info = odict()
+ _type_info["MaxEnvelopes"] = UnsignedInteger
+
+
+class TransferComplete(Tr069ComplexModel):
+ _type_info = odict()
+ _type_info["CommandKey"] = CommandKeyType
+ _type_info["FaultStruct"] = FaultStruct
+ _type_info["StartTime"] = DateTime
+ _type_info["CompleteTime"] = DateTime
+
+
+class TransferCompleteResponse(Tr069ComplexModel):
+ # Dummy field required because spyne does not allow 'bare' RPC function with
+ # no input parameters. This field is never sent by ACS.
+ _type_info = odict()
+ _type_info["DummyField"] = UnsignedInteger
+
+
+class GetRPCMethods(Tr069ComplexModel):
+ _type_info = odict()
+ _type_info["DummyField"] = UnsignedInteger
+
+
+class GetRPCMethodsResponse(Tr069ComplexModel):
+ _type_info = odict()
+ _type_info["MethodList"] = MethodList
+
+
+#
+# Miscellaneous
+#
+
+class ParameterListUnion(Tr069ComplexModel):
+ """ Union of structures that get instantiated as 'ParameterList' in ACS->CPE
+ messages. This is required because AcsToCpeRequests can only have one
+ parameter named 'ParameterList', so that must also be a union """
+ _type_info = odict()
+
+ # Fields from ParameterValueList
+ _type_info["ParameterValueStruct"] = ParameterValueStruct.customize(
+ max_occurs='unbounded',
+ )
+ _type_info["arrayType"] = XmlAttribute(String, ns=SOAP_ENC)
+
+ # Fields from SetParameterAttributesList
+ _type_info["SetParameterAttributesStruct"] = \
+ SetParameterAttributesStruct.customize(max_occurs='unbounded')
+ # arrayType = XmlAttribute(String, ns=SOAP_ENC) - Already covered above
+
+
+class AcsToCpeRequests(Tr069ComplexModel):
+ """ Union of all ACS->CPE requests. Only fields for one request is populated
+ per message instance """
+ _type_info = odict()
+
+ # Fields for SetParameterValues
+ _type_info["ParameterList"] = ParameterListUnion # See ParameterListUnion for explanation
+ _type_info["ParameterKey"] = ParameterKeyType
+
+ # Fields for GetParameterValues
+ # _type_info["ParameterList"] = ParameterValueList - Already covered above
+
+ # Fields for GetParameterNames
+ _type_info["ParameterPath"] = String.customize(max_length=256)
+ _type_info["NextLevel"] = Boolean
+
+ # Fields for SetParameterAttributes
+ # _type_info["ParameterList"] = SetParameterAttributesList - Already covered above
+
+ # Fields for GetParameterAttributes
+ _type_info["ParameterNames"] = ParameterNames
+
+ # Fields for AddObject
+ _type_info["ObjectName"] = ObjectNameType
+ _type_info["ParameterKey"] = ParameterKeyType
+
+ # Fields for DeleteObject
+ # _type_info["ObjectName"] = ObjectNameType - Already covered above
+ # _type_info["ParameterKey"] = ParameterKeyType - Already covered above
+
+ # Fields for Download
+ _type_info["CommandKey"] = CommandKeyType
+ _type_info["FileType"] = String(max_length=64)
+ _type_info["URL"] = String(max_length=256)
+ _type_info["Username"] = String(max_length=256)
+ _type_info["Password"] = String(max_length=256)
+ _type_info["FileSize"] = UnsignedInteger
+ _type_info["TargetFileName"] = String(max_length=256)
+ _type_info["DelaySeconds"] = UnsignedInteger
+ _type_info["SuccessURL"] = String(max_length=256)
+ _type_info["FailureURL"] = String(max_length=256)
+
+ # Fields for Reboot
+ # _type_info["CommandKey"] = CommandKeyType - Already covered above
+
+
+class DummyInput(Tr069ComplexModel):
+ """ Dummy complex model. Used for 'EmptyHttp' function, because spyne Does
+ not handle 'bare' function with no inputs """
+ _type_info = odict()
+ _type_info["DummyField"] = UnsignedInteger
diff --git a/tr069/rpc_methods.py b/tr069/rpc_methods.py
new file mode 100644
index 0000000..aff0f30
--- /dev/null
+++ b/tr069/rpc_methods.py
@@ -0,0 +1,371 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+from logger import EnodebdLogger as logger
+from state_machines.enb_acs_manager import StateMachineManager
+from spyne.decorator import rpc
+from spyne.model.complex import ComplexModelBase
+from spyne.server.wsgi import WsgiMethodContext
+from spyne.service import ServiceBase
+
+from . import models
+
+# Allow methods without 'self' as first input. Required by spyne
+# pylint: disable=no-self-argument
+
+# RPC methods supported by ACS
+RPC_METHODS = ['Inform', 'GetRPCMethods', 'TransferComplete']
+RPC_RESPONSES = [method + 'Response' for method in RPC_METHODS]
+# RPC methods supported by CPE
+CPE_RPC_METHODS = [
+ 'SetParameterValues',
+ 'GetParameterValues',
+ 'GetParameterNames',
+ 'SetParameterAttributes',
+ 'GetParameterAttributes',
+ 'AddObject',
+ 'DeleteObject',
+ 'Download',
+ 'Reboot',
+]
+CPE_RPC_RESPONSES = [method + 'Response' for method in CPE_RPC_METHODS]
+# ACS RPC methods that are not explicitly described by the spec (hence shouldn't
+# be advertised by GetRPCMethods). Note: No responses for these
+PSEUDO_RPC_METHODS = ['Fault']
+# Top-level CWMP header elements. Namespaces should be preserved on these (since
+# they are not within other CWMP elements)
+TOP_LEVEL_HEADER_ELEMENTS = ['ID', 'HoldRequests']
+
+
+def fill_response_header(ctx):
+ """ Echo message ID from input header to output header, when responding to
+ CPE->ACS RPC calls """
+ ctx.out_header = models.ID(mustUnderstand='1')
+ ctx.out_header.Data = ctx.in_header.Data
+
+
+class AutoConfigServer(ServiceBase):
+ """ TR-069 ACS implementation. The TR-069/CWMP RPC messages are defined, as
+ per cwmp-1-0.xsd schema definition, in the RPC decorators below. These
+ RPC methods are intended to be called by TR-069-compliant customer
+ premesis equipment (CPE), over the SOAP/HTTP interface defined by
+ TR-069.
+
+ Per spyne documentation, this class is never instantiated, so all RPC
+ functions are implicitly staticmethods. Hence use static class variables
+ to hold state.
+ This also means that only a single thread can be used (since there are
+ no locks).
+ Note that staticmethod decorator can't be used in conjunction with rpc
+ decorator.
+ """
+ __out_header__ = models.ID
+ __in_header__ = models.ID
+ _acs_to_cpe_queue = None
+ _cpe_to_acs_queue = None
+
+ """ Set maxEnvelopes to 1, as per TR-069 spec """
+ _max_envelopes = 1
+
+ @classmethod
+ def set_state_machine_manager(
+ cls,
+ state_machine_manager: StateMachineManager,
+ ) -> None:
+ cls.state_machine_manager = state_machine_manager
+
+ @classmethod
+ def _handle_tr069_message(
+ cls,
+ ctx: WsgiMethodContext,
+ message: ComplexModelBase,
+ ) -> ComplexModelBase:
+ # Log incoming msg
+ if hasattr(message, 'as_dict'):
+ logger.debug('Handling TR069 message: %s', str(type(message)))
+ else:
+ logger.debug('Handling TR069 message.')
+
+ req = cls._get_tr069_response_from_sm(ctx, message)
+
+ # Log outgoing msg
+ if hasattr(req, 'as_dict'):
+ logger.debug('Sending TR069 message: %s', str(req.as_dict()))
+ else:
+ logger.debug('Sending TR069 message.')
+
+ # Set header
+ ctx.out_header = models.ID(mustUnderstand='1')
+ ctx.out_header.Data = 'null'
+
+ # Set return message name
+ if isinstance(req, models.DummyInput):
+ # Generate 'empty' request to CPE using empty message name
+ ctx.descriptor.out_message.Attributes.sub_name = 'EmptyHttp'
+ return models.AcsToCpeRequests()
+ ctx.descriptor.out_message.Attributes.sub_name = req.__class__.__name__
+ return cls._generate_acs_to_cpe_request_copy(req)
+
+ @classmethod
+ def _get_tr069_response_from_sm(
+ cls,
+ ctx: WsgiMethodContext,
+ message: ComplexModelBase,
+ ) -> ComplexModelBase:
+ # We want to blanket-catch all exceptions because a problem with one
+ # tr-069 session shouldn't tank the service for all other enodeB's
+ # being managed
+ try:
+ return cls.state_machine_manager.handle_tr069_message(ctx, message)
+ except Exception: # pylint: disable=broad-except
+ logger.exception(
+ 'Unexpected exception from state machine manager, returning '
+ 'empty request',
+ )
+ return models.DummyInput()
+
+ @staticmethod
+ def _generate_acs_to_cpe_request_copy(request):
+ """ Create an AcsToCpeRequests instance with all the appropriate
+ members set from the input request. AcsToCpeRequests is a union of
+ all request messages, so field names match.
+ """
+ request_out = models.AcsToCpeRequests()
+ for parameter in request.get_flat_type_info(request.__class__):
+ try:
+ setattr(request_out, parameter, getattr(request, parameter))
+ except AttributeError:
+ # Allow un-set parameters. If CPE can't handle this, it will
+ # respond with an error message
+ pass
+ return request_out
+
+ # CPE->ACS RPC calls
+
+ @rpc(
+ models.GetRPCMethods,
+ _returns=models.GetRPCMethodsResponse,
+ _body_style="bare",
+ _operation_name="GetRPCMethods",
+ _out_message_name="GetRPCMethodsResponse",
+ )
+ def get_rpc_methods(ctx, request):
+ """ GetRPCMethods RPC call is terminated here. No need to pass to higher
+ layer """
+ fill_response_header(ctx)
+ resp = AutoConfigServer._handle_tr069_message(ctx, request)
+ return resp
+
+ @rpc(
+ models.Inform,
+ _returns=models.InformResponse,
+ _body_style="bare",
+ _operation_name="Inform",
+ _out_message_name="InformResponse",
+ )
+ def inform(ctx, request):
+ """ Inform response generated locally """
+ fill_response_header(ctx)
+ resp = AutoConfigServer._handle_tr069_message(ctx, request)
+ resp.MaxEnvelopes = AutoConfigServer._max_envelopes
+ return resp
+
+ @rpc(
+ models.TransferComplete,
+ _returns=models.TransferCompleteResponse,
+ _body_style="bare",
+ _operation_name="TransferComplete",
+ _out_message_name="TransferCompleteResponse",
+ )
+ def transfer_complete(ctx, request):
+ fill_response_header(ctx)
+ resp = AutoConfigServer._handle_tr069_message(ctx, request)
+ resp.MaxEnvelopes = AutoConfigServer._max_envelopes
+ return resp
+
+ # Spyne does not handle no input or SimpleModel input for 'bare' function
+ # DummyInput is unused
+ # pylint: disable=unused-argument
+ @rpc(
+ models.DummyInput,
+ _returns=models.AcsToCpeRequests,
+ _out_message_name="EmptyHttp",
+ _body_style='bare',
+ _operation_name="EmptyHttp",
+ )
+ def empty_http(ctx, dummy):
+ # Function to handle empty HTTP request
+ return AutoConfigServer._handle_tr069_message(ctx, dummy)
+
+ # CPE->ACS responses to ACS->CPE RPC calls
+
+ @rpc(
+ models.SetParameterValuesResponse,
+ _returns=models.AcsToCpeRequests,
+ _out_message_name="MessageNameToBeReplaced",
+ _body_style='bare',
+ _operation_name="SetParameterValuesResponse",
+ )
+ def set_parameter_values_response(ctx, response):
+ return AutoConfigServer._handle_tr069_message(ctx, response)
+
+ @rpc(
+ models.GetParameterValuesResponse,
+ _returns=models.AcsToCpeRequests,
+ _out_message_name="MessageNameToBeReplaced",
+ _body_style='bare',
+ _operation_name="GetParameterValuesResponse",
+ )
+ def get_parameter_values_response(ctx, response):
+ return AutoConfigServer._handle_tr069_message(ctx, response)
+
+ @rpc(
+ models.GetParameterNamesResponse,
+ _returns=models.AcsToCpeRequests,
+ _out_message_name="MessageNameToBeReplaced",
+ _body_style='bare',
+ _operation_name="GetParameterNamesResponse",
+ )
+ def get_parameter_names_response(ctx, response):
+ return AutoConfigServer._handle_tr069_message(ctx, response)
+
+ @rpc(
+ models.SetParameterAttributesResponse,
+ _returns=models.AcsToCpeRequests,
+ _out_message_name="MessageNameToBeReplaced",
+ _body_style='bare',
+ _operation_name="SetParameterAttributesResponse",
+ )
+ def set_parameter_attributes_response(ctx, response):
+ return AutoConfigServer._handle_tr069_message(ctx, response)
+
+ @rpc(
+ models.GetParameterAttributesResponse,
+ _returns=models.AcsToCpeRequests,
+ _out_message_name="MessageNameToBeReplaced",
+ _body_style='bare',
+ _operation_name="GetParameterAttributesResponse",
+ )
+ def get_parameter_attributes_response(ctx, response):
+ return AutoConfigServer._handle_tr069_message(ctx, response)
+
+ @rpc(
+ models.AddObjectResponse,
+ _returns=models.AcsToCpeRequests,
+ _out_message_name="MessageNameToBeReplaced",
+ _body_style='bare',
+ _operation_name="AddObjectResponse",
+ )
+ def add_object_response(ctx, response):
+ return AutoConfigServer._handle_tr069_message(ctx, response)
+
+ @rpc(
+ models.DeleteObjectResponse,
+ _returns=models.AcsToCpeRequests,
+ _out_message_name="MessageNameToBeReplaced",
+ _body_style='bare',
+ _operation_name="DeleteObjectResponse",
+ )
+ def delete_object_response(ctx, response):
+ return AutoConfigServer._handle_tr069_message(ctx, response)
+
+ @rpc(
+ models.DownloadResponse,
+ _returns=models.AcsToCpeRequests,
+ _out_message_name="MessageNameToBeReplaced",
+ _body_style='bare',
+ _operation_name="DownloadResponse",
+ )
+ def download_response(ctx, response):
+ return AutoConfigServer._handle_tr069_message(ctx, response)
+
+ @rpc(
+ models.RebootResponse,
+ _returns=models.AcsToCpeRequests,
+ _out_message_name="MessageNameToBeReplaced",
+ _body_style='bare',
+ _operation_name="RebootResponse",
+ )
+ def reboot_response(ctx, response):
+ return AutoConfigServer._handle_tr069_message(ctx, response)
+
+ @rpc(
+ models.Fault,
+ _returns=models.AcsToCpeRequests,
+ _out_message_name="MessageNameToBeReplaced",
+ _body_style='bare',
+ _operation_name="Fault",
+ )
+ def fault(ctx, response):
+ return AutoConfigServer._handle_tr069_message(ctx, response)
+
+
+def on_method_return_string(ctx):
+ """
+ By default, spyne adds a namespace to every single XML element.
+ There isn't a way to change this behavior, and the spyne-recommended way
+ to fix this is by doing string manipulation. The TR-069 spec mandates that
+ only the top-level CWMP elements contain namespaces. Hence this
+ function is to remove namespaces from all elements except top-level CWMP
+ elements (e.g. RPC request/response names, header elements).
+ """
+ # Format strings for XML tags, corresponding to:
+ # 1) Normal start or end tag (without attribute)
+ # 2) Open and close tag (when no attributes or sub-structures exist)
+ # 3) Tag containing attributes
+ # We don't just look for 'cwmp:%s' (with no character after %s) because this
+ # would pick up all tags that start with the tag of interest (e.g
+ # cwmp:SetParameterAttributes would also match
+ # cwmp:SetParameterAttributesStruct)
+ XML_FORMAT_STRS = [
+ ["cwmp:%s>", "!!!TEMP_MOD!!!:%s>"],
+ ["cwmp:%s/>", "!!!TEMP_MOD!!!:%s/>"],
+ ["cwmp:%s ", "!!!TEMP_MOD!!!:%s "],
+ ]
+ fields_to_preserve_ns = list(RPC_METHODS) + list(RPC_RESPONSES) + \
+ list(CPE_RPC_METHODS) + list(CPE_RPC_RESPONSES) + \
+ list(PSEUDO_RPC_METHODS) + list(TOP_LEVEL_HEADER_ELEMENTS)
+ for field in fields_to_preserve_ns:
+ for formats in XML_FORMAT_STRS:
+ orig_str = formats[0] % field
+ temp_str = formats[1] % field
+ ctx.out_string[0] = ctx.out_string[0].replace(
+ orig_str.encode('ascii'), temp_str.encode('ascii'),
+ )
+
+ # Also preserve namespace inside strings, e.g. for arrayType="cwmp:..."
+ orig_str = "=\"cwmp:"
+ temp_str = "=\"!!!TEMP_MOD!!!:"
+ ctx.out_string[0] = ctx.out_string[0].replace(
+ orig_str.encode('ascii'), temp_str.encode('ascii'),
+ )
+ orig_str = "=\'cwmp:"
+ temp_str = "=\'!!!TEMP_MOD!!!:"
+ ctx.out_string[0] = ctx.out_string[0].replace(
+ orig_str.encode('ascii'), temp_str.encode('ascii'),
+ )
+
+ ctx.out_string[0] = ctx.out_string[0].replace(b'cwmp:', b'')
+ ctx.out_string[0] = ctx.out_string[0].replace(b'!!!TEMP_MOD!!!:', b'cwmp:')
+
+ # Special-case handling so that 'EmptyHttp' RPC will be called using
+ # completely empty HTTP request (not even containing a SOAP envelope), as
+ # per TR-069 spec.
+ if(ctx.descriptor.out_message.Attributes.sub_name == 'EmptyHttp'):
+ ctx.out_string = [b'']
+
+
+AutoConfigServer.event_manager.add_listener(
+ 'method_return_string',
+ on_method_return_string,
+)
diff --git a/tr069/server.py b/tr069/server.py
new file mode 100644
index 0000000..ecda15b
--- /dev/null
+++ b/tr069/server.py
@@ -0,0 +1,155 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+import _thread
+import socket
+from wsgiref.simple_server import (
+ ServerHandler,
+ WSGIRequestHandler,
+ WSGIServer,
+ make_server,
+)
+
+from common.misc_utils import get_ip_from_if
+from configuration.service_configs import load_service_config
+from logger import EnodebdLogger as logger
+from state_machines.enb_acs_manager import StateMachineManager
+from spyne.server.wsgi import WsgiApplication
+
+from .models import CWMP_NS
+from .rpc_methods import AutoConfigServer
+from .spyne_mods import Tr069Application, Tr069Soap11
+
+# Socket timeout in seconds. Should be set larger than the longest TR-069
+# response time (typically for a GetParameterValues of the entire data model),
+# measured at 168secs. Should also be set smaller than ENB_CONNECTION_TIMEOUT,
+# to avoid incorrectly detecting eNodeB timeout.
+SOCKET_TIMEOUT = 240
+
+
+class tr069_WSGIRequestHandler(WSGIRequestHandler):
+ timeout = 10
+ # pylint: disable=attribute-defined-outside-init
+
+ def handle_single(self):
+ """Handle a single HTTP request"""
+ self.raw_requestline = self.rfile.readline(65537)
+ if len(self.raw_requestline) > 65536:
+ self.requestline = ''
+ self.request_version = ''
+ self.command = ''
+ self.close_connection = 1
+ self.send_error(414)
+ return
+
+ if not self.parse_request(): # An error code has been sent, just exit
+ return
+
+ handler = ServerHandler(
+ self.rfile, self.wfile, self.get_stderr(), self.get_environ(),
+ )
+ handler.http_version = "1.1"
+ handler.request_handler = self # backpointer for logging
+
+ # eNodeB will sometimes close connection to enodebd.
+ # The cause of this is unknown, but we can safely ignore the
+ # closed connection, and continue as normal otherwise.
+ #
+ # While this throws a BrokenPipe exception in wsgi server,
+ # it also causes an AttributeError to be raised because of a
+ # bug in the wsgi server.
+ # https://bugs.python.org/issue27682
+ try:
+ handler.run(self.server.get_app())
+ except BrokenPipeError:
+ self.log_error("eNodeB has unexpectedly closed the TCP connection.")
+
+ def handle(self):
+ self.protocol_version = "HTTP/1.1"
+ self.close_connection = 0
+
+ try:
+ while not self.close_connection:
+ self.handle_single()
+
+ except socket.timeout as e:
+ self.log_error("tr069 WSGI Server Socket Timeout: %r", e)
+ self.close_connection = 1
+ return
+
+ except socket.error as e:
+ self.log_error("tr069 WSGI Server Socket Error: %r", e)
+ self.close_connection = 1
+ return
+
+ # Disable pylint warning because we are using same parameter name as built-in
+ # pylint: disable=redefined-builtin
+ def log_message(self, format, *args):
+ """ Overwrite message logging to use python logging framework rather
+ than stderr """
+ logger.debug("%s - %s", self.client_address[0], format % args)
+
+ # Disable pylint warning because we are using same parameter name as built-in
+ # pylint: disable=redefined-builtin
+ def log_error(self, format, *args):
+ """ Overwrite message logging to use python logging framework rather
+ than stderr """
+ logger.warning("%s - %s", self.client_address[0], format % args)
+
+
+def tr069_server(state_machine_manager: StateMachineManager) -> None:
+ """
+ TR-069 server
+ Inputs:
+ - acs_to_cpe_queue = instance of Queue
+ containing messages from parent process/thread to be sent to CPE
+ - cpe_to_acs_queue = instance of Queue
+ containing messages from CPE to be sent to parent process/thread
+ """
+ config = load_service_config("enodebd")
+
+ AutoConfigServer.set_state_machine_manager(state_machine_manager)
+
+ app = Tr069Application(
+ [AutoConfigServer], CWMP_NS,
+ in_protocol=Tr069Soap11(validator='soft'),
+ out_protocol=Tr069Soap11(),
+ )
+ wsgi_app = WsgiApplication(app)
+
+ try:
+ ip_address = get_ip_from_if(config['tr069']['interface'])
+ except (ValueError, KeyError) as e:
+ # Interrupt main thread since process should not continue without TR-069
+ _thread.interrupt_main()
+ raise e
+
+ socket.setdefaulttimeout(SOCKET_TIMEOUT)
+ logger.info(
+ 'Starting TR-069 server on %s:%s',
+ ip_address, config['tr069']['port'],
+ )
+ server = make_server(
+ ip_address,
+ config['tr069']['port'], wsgi_app,
+ WSGIServer, tr069_WSGIRequestHandler,
+ )
+
+ # Note: use single-thread server, to avoid state contention
+ try:
+ server.serve_forever()
+ finally:
+ # Log error and interrupt main thread, to ensure that entire process
+ # is restarted if this thread exits
+ logger.error('Hit error in TR-069 thread. Interrupting main thread.')
+ _thread.interrupt_main()
diff --git a/tr069/spyne_mods.py b/tr069/spyne_mods.py
new file mode 100644
index 0000000..0f0e918
--- /dev/null
+++ b/tr069/spyne_mods.py
@@ -0,0 +1,155 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+This file contains modifications of the core spyne functionality. This is done
+using child classes and function override to avoid modifying spyne code itself.
+Each function below is a modified version of the parent function. These
+modifications are required because:
+1) Spyne is not fully python3-compliant
+2) Not all parts of the TR-069 spec are possible through spyne APIs (e.g RPC
+ calls from server to client in HTTP responses)
+3) Minor enhancements for debug-ability
+"""
+
+from lxml import etree
+from logger import EnodebdLogger as logger
+from spyne.application import Application
+from spyne.interface._base import Interface
+from spyne.protocol.soap import Soap11
+from spyne.protocol.xml import XmlDocument
+
+
+class Tr069Interface(Interface):
+ """ Modified base interface class. """
+
+ def reset_interface(self):
+ super(Tr069Interface, self).reset_interface()
+ # Replace default namespace prefix (may not strictly be
+ # required, but makes it easier to debug)
+ del self.nsmap['tns']
+ self.nsmap['cwmp'] = self.get_tns()
+ self.prefmap[self.get_tns()] = 'cwmp'
+ # To validate against the xsd:<types>, the namespace
+ # prefix is expected to be the same
+ del self.nsmap['xs']
+ self.nsmap['xsd'] = 'http://www.w3.org/2001/XMLSchema'
+ self.prefmap['http://www.w3.org/2001/XMLSchema'] = 'xsd'
+
+
+class Tr069Application(Application):
+ """ Modified spyne application. """
+
+ def __init__(
+ self, services, tns, name=None, in_protocol=None,
+ out_protocol=None, config=None,
+ ):
+ super(Tr069Application, self).__init__(
+ services, tns, name, in_protocol, out_protocol, config,
+ )
+ # Use modified interface class
+ self.interface = Tr069Interface(self)
+
+
+class Tr069Soap11(Soap11):
+ """ Modified SOAP protocol. """
+
+ def __init__(self, *args, **kwargs):
+ super(Tr069Soap11, self).__init__(*args, **kwargs)
+ # Disabling type resolution as a workaround for
+ # https://github.com/arskom/spyne/issues/567
+ self.parse_xsi_type = False
+ # Bug in spyne is cleaning up the default XSD namespace
+ # and causes validation issues on TR-069 clients
+ self.cleanup_namespaces = False
+
+ def create_in_document(self, ctx, charset=None):
+ """
+ In TR-069, the ACS (e.g Magma) is an HTTP server, but acts as a client
+ for SOAP messages. This is done by the CPE (e.g ENodeB) sending an
+ empty HTTP request, and the ACS responding with a SOAP request in the
+ HTTP response. This code replaces an empty HTTP request with a string
+ that gets decoded to a call to the 'EmptyHttp' RPC .
+ """
+
+ # Try cp437 as default to ensure that we dont get any decoding errors,
+ # since it uses 1-byte encoding and has a 'full' char map
+ if not charset:
+ charset = 'cp437'
+
+ # Convert from generator to bytes before doing comparison
+ # Re-encode to chosen charset to remove invalid characters
+ in_string = b''.join(ctx.in_string).decode(charset, 'ignore')
+ ctx.in_string = [in_string.encode(charset, 'ignore')]
+ if ctx.in_string == [b'']:
+ ctx.in_string = [
+ b'<soap11env:Envelope xmlns:cwmp="urn:dslforum-org:cwmp-1-0" xmlns:soap11env="http://schemas.xmlsoap.org/soap/envelope/">/n'
+ b' <soap11env:Body>/n'
+ b' <cwmp:EmptyHttp/>/n'
+ b' </soap11env:Body>/n'
+ b'</soap11env:Envelope>',
+ ]
+
+ super(Tr069Soap11, self).create_in_document(ctx, charset)
+
+ def decompose_incoming_envelope(self, ctx, message=XmlDocument.REQUEST):
+ """
+ For TR-069, the SOAP fault message (CPE->ACS) contains useful
+ information, and should not result in another fault response (ACS->CPE).
+ Strip the outer SOAP fault structure, so that the CWMP fault structure
+ is treated as a normal RPC call (to the 'Fault' function).
+ """
+ super(Tr069Soap11, self).decompose_incoming_envelope(ctx, message)
+
+ if ctx.in_body_doc.tag == '{%s}Fault' % self.ns_soap_env:
+ faultstring = ctx.in_body_doc.findtext('faultstring')
+ if not faultstring or 'CWMP fault' not in faultstring:
+ # Not a CWMP fault
+ return
+
+ # Strip SOAP fault structure, leaving inner CWMP fault structure
+ detail_elem = ctx.in_body_doc.find('detail')
+ if detail_elem is not None:
+ detail_children = list(detail_elem)
+ if len(detail_children):
+ if len(detail_children) > 1:
+ logger.warning(
+ "Multiple detail elements found in SOAP"
+ " fault - using first one",
+ )
+ ctx.in_body_doc = detail_children[0]
+ ctx.method_request_string = ctx.in_body_doc.tag
+ self.validate_body(ctx, message)
+
+ def get_call_handles(self, ctx):
+ """
+ Modified function to fix bug in receiving SOAP fault. In this case,
+ ctx.method_request_string is None, so 'startswith' errors out.
+ """
+ if ctx.method_request_string is None:
+ return []
+
+ return super(Tr069Soap11, self).get_call_handles(ctx)
+
+ def serialize(self, ctx, message):
+ # Workaround for issue https://github.com/magma/magma/issues/7869
+ # Updates to ctx.descriptor.out_message.Attributes.sub_name are taking
+ # effect on the descriptor. But when puled from _attrcache dictionary,
+ # it still has a stale value.
+ # Force repopulation of dictionary by deleting entry
+ # TODO Remove this code once we have a better fix
+ if (ctx.descriptor and ctx.descriptor.out_message in self._attrcache):
+ del self._attrcache[ctx.descriptor.out_message] # noqa: WPS529
+
+ super(Tr069Soap11, self).serialize(ctx, message)
+
+ # Keep XSD namespace
+ etree.cleanup_namespaces(ctx.out_document, keep_ns_prefixes=['xsd'])
diff --git a/tr069/tests/models_tests.py b/tr069/tests/models_tests.py
new file mode 100644
index 0000000..faa76ff
--- /dev/null
+++ b/tr069/tests/models_tests.py
@@ -0,0 +1,74 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+import unittest
+
+from tr069.models import DeviceIdStruct
+from spyne import ComplexModelBase
+
+
+class DeviceIdStructTests(unittest.TestCase):
+ def test_as_dict_memory_leak(self):
+ """
+ Test to ensure as_dict() doesn't leak model instances
+ """
+ thing = DeviceIdStruct(
+ Manufacturer='abc',
+ OUI='def',
+ ProductClass='ghi',
+ SerialNumber='jkl',
+ )
+ res = thing.as_dict()
+ self.assertEqual(
+ {
+ 'Manufacturer': 'abc',
+ 'OUI': 'def',
+ 'ProductClass': 'ghi',
+ 'SerialNumber': 'jkl',
+ },
+ res,
+ )
+ # inspect the spyne.util.memoize object that wraps the staticmethod
+ self.assertEqual(1, len(ComplexModelBase.get_flat_type_info.memo))
+
+ # should produce a different result and not grow the size of memo
+ thing.OUI = 'aaaa'
+ res = thing.as_dict()
+ self.assertEqual(
+ {
+ 'Manufacturer': 'abc',
+ 'OUI': 'aaaa',
+ 'ProductClass': 'ghi',
+ 'SerialNumber': 'jkl',
+ },
+ res,
+ )
+ self.assertEqual(1, len(ComplexModelBase.get_flat_type_info.memo))
+
+ # use a different object this time. Again should not grow memo
+ thing = DeviceIdStruct(
+ Manufacturer='abc',
+ OUI='def',
+ ProductClass='ghi',
+ SerialNumber='jkl',
+ )
+ res = thing.as_dict()
+ self.assertEqual(
+ {
+ 'Manufacturer': 'abc',
+ 'OUI': 'def',
+ 'ProductClass': 'ghi',
+ 'SerialNumber': 'jkl',
+ },
+ res,
+ )
+ self.assertEqual(1, len(ComplexModelBase.get_flat_type_info.memo))