Skip to main content

Configuration Push Guide

Pushing configuration changes to Nokia AirScale base stations via RAN Monitor


Overview

RAN Monitor can push configuration changes to Nokia AirScale base stations using the NE3S Bulk Operations protocol. Configuration is expressed as an SCF (Site Configuration File) in RAML 2.1 XML format. The push follows a three-step process on the BTS: download (stage the plan), validate (check for errors), and activate (apply changes). RAN Monitor handles all three steps automatically.

A configuration push can be a full SCF containing every managed object on the BTS, or a partial update targeting only the specific parameters you want to change. Partial updates are the recommended approach for operational changes because they are faster, lower risk, and avoid triggering unnecessary BTS reboots.


SCF XML Format

All configuration files use the RAML 2.1 XML schema. The basic structure is:

<?xml version="1.0" encoding="UTF-8"?>
<raml xmlns="raml21.xsd" version="2.1">
<cmData type="actual" scope="all" domain="ALL">
<header>
<log dateTime="2026-03-21T00:00:00+00:00" action="created"></log>
</header>

<!-- Managed objects go here -->

</cmData>
</raml>

Each managed object is represented as a <managedObject> element:

<managedObject class="NOKLTE:LNBTS" distName="MRBTS-256/LNBTS-256" operation="update">
<p name="enbName">MY-SITE-NAME</p>
</managedObject>

Key Attributes

AttributeDescription
classNokia object class identifier (e.g. NOKLTE:LNCEL, com.nokia.srbts.tnl:IPIF)
distNameDistinguished name — the object's path in the managed object tree
operationcreate for full SCF push, update for partial changes

Distinguished Name Format

The distName follows a hierarchical path:

MRBTS-{bts_id}                                    # BTS root
MRBTS-{bts_id}/LNBTS-{bts_id} # LTE eNodeB
MRBTS-{bts_id}/LNBTS-{bts_id}/LNCEL-{cell_id} # LTE Cell
MRBTS-{bts_id}/GNBTS-{gsm_id} # GSM BTS
MRBTS-{bts_id}/GNBTS-{gsm_id}/GNCEL-{cell_id} # GSM Cell
MRBTS-{bts_id}/MNL-1/MNLENT-1/PMCADM-1 # PM Administration
MRBTS-{bts_id}/EQM-1/APEQM-1 # Equipment Management

Full SCF Push vs Partial Update

Full SCF Push

A full SCF contains every managed object on the BTS (typically 100-200 objects). It uses operation="create" on each object. This replaces the entire configuration.

When to use: Initial provisioning, disaster recovery, or restoring a known-good configuration from backup.

Risk: High. A full SCF typically contains transport/IP objects that will trigger a BTS reboot, taking the site offline for 3-5 minutes.

Partial Update

A partial SCF contains only the objects and parameters you want to change. It uses operation="update" and only includes the specific <p> elements being modified.

When to use: Operational parameter changes, cell tuning, feature activation, PM configuration.

Risk: Low to none, provided you avoid reboot-triggering object classes.

Key Differences

Full SCFPartial Update
Operation attributeoperation="create"operation="update"
Objects includedAll managed objectsOnly objects being changed
Parameters includedAll parameters per objectOnly parameters being changed
Reboot riskAlmost certainDepends on object classes
Typical use caseInitial provisioningDay-to-day changes

Reboot Impact by Object Class

Objects That Trigger a BTS Reboot

Changing any of these object classes will cause the BTS to restart. The site will be offline for 3-5 minutes during the reboot.

CategoryObject Classes
Transport / IPTNL, ETHIF, ETHLK, IPIF, IPADDRESSV4, IPRT, IPRTV6, VLANIF, L2SWI, BRGPRT, IBRGPRT, IPNO, ETHSVC, TNLSVC, IPSECC, FIREWALL
System / HardwareMRBTS, SMOD, BBMOD
Management PlaneMPLANENW, CLOCK, SYNC, NTP
Security / CertificatesSECADM, CERTH, CERTHENT, CMP, CMPECDSA, CMPFH

Objects Safe to Change Without Reboot

These object classes can be updated without triggering a restart. Some radio parameter changes will cause a brief cell outage (seconds) as the cell reconfigures.

CategoryObject ClassesNotes
LTE RadioLNCEL, LNCEL_FDD, LNBTS, LNBTS_FDDSome parameters cause brief cell reconfiguration
GSM RadioGNBTS, GNCEL, GNBCF
Performance MonitoringPMCADM, PMMNL, PMCCP, PMPLM, PMRNL, PMTNLINT
FeaturesFEATCADM, FEATGADM, FEATLADM
ANR / Neighbour RelationsANR, ANRPRL
RRC / DRXDRX, SDRX, SIB
S1 / TransportSCTP, TRSNW, LNMME
OtherALARMSUPP, REDRT, CAGENB, CADPR, QOS

Runtime Objects (Read-Only)

Object classes ending in _R are runtime objects generated automatically by the BTS. They cannot be pushed and are stripped automatically by RAN Monitor before upload. Examples: EQM_R, APEQM_R, LNCEL_R, TNL_R, ETHIF_R.


Partial Update Examples

Changing the eNB Name

No reboot. Takes effect immediately.

<?xml version="1.0" encoding="UTF-8"?>
<raml xmlns="raml21.xsd" version="2.1">
<cmData type="actual" scope="all" domain="ALL">
<header>
<log dateTime="2026-03-21T00:00:00+00:00" action="created"></log>
</header>
<managedObject class="NOKLTE:LNBTS" distName="MRBTS-256/LNBTS-256" operation="update">
<p name="enbName">NICK-LAB-AIRSCALE</p>
</managedObject>
</cmData>
</raml>

Changing the Cell Name

No reboot. Takes effect immediately.

<?xml version="1.0" encoding="UTF-8"?>
<raml xmlns="raml21.xsd" version="2.1">
<cmData type="actual" scope="all" domain="ALL">
<header>
<log dateTime="2026-03-21T00:00:00+00:00" action="created"></log>
</header>
<managedObject class="NOKLTE:LNCEL" distName="MRBTS-256/LNBTS-256/LNCEL-256" operation="update">
<p name="cellName">TRI-B5-1</p>
</managedObject>
</cmData>
</raml>

Changing the Physical Cell ID

No reboot. The cell will briefly reconfigure.

<?xml version="1.0" encoding="UTF-8"?>
<raml xmlns="raml21.xsd" version="2.1">
<cmData type="actual" scope="all" domain="ALL">
<header>
<log dateTime="2026-03-21T00:00:00+00:00" action="created"></log>
</header>
<managedObject class="NOKLTE:LNCEL_FDD" distName="MRBTS-256/LNBTS-256/LNCEL-256/LNCEL_FDD-256" operation="update">
<p name="physCellId">120</p>
</managedObject>
</cmData>
</raml>

Changing EARFCN and Bandwidth

No reboot, but the cell will be briefly unavailable (seconds) as it reconfigures to the new frequency.

<?xml version="1.0" encoding="UTF-8"?>
<raml xmlns="raml21.xsd" version="2.1">
<cmData type="actual" scope="all" domain="ALL">
<header>
<log dateTime="2026-03-21T00:00:00+00:00" action="created"></log>
</header>
<managedObject class="NOKLTE:LNCEL_FDD" distName="MRBTS-256/LNBTS-256/LNCEL-256/LNCEL_FDD-256" operation="update">
<p name="earfcnDL">1400</p>
<p name="dlChBw">10 MHz</p>
</managedObject>
</cmData>
</raml>

Changing PM Collection Interval

No reboot. Takes effect on the next collection cycle.

<?xml version="1.0" encoding="UTF-8"?>
<raml xmlns="raml21.xsd" version="2.1">
<cmData type="actual" scope="all" domain="ALL">
<header>
<log dateTime="2026-03-21T00:00:00+00:00" action="created"></log>
</header>
<managedObject class="com.nokia.srbts.mnl:PMCADM" distName="MRBTS-256/MNL-1/MNLENT-1/PMCADM-1" operation="update">
<p name="rTPmCollInterval">60s</p>
</managedObject>
</cmData>
</raml>

Changing Multiple Parameters Across Objects

Multiple objects can be included in a single SCF. This example changes the eNB name and a cell parameter in one push:

<?xml version="1.0" encoding="UTF-8"?>
<raml xmlns="raml21.xsd" version="2.1">
<cmData type="actual" scope="all" domain="ALL">
<header>
<log dateTime="2026-03-21T00:00:00+00:00" action="created"></log>
</header>
<managedObject class="NOKLTE:LNBTS" distName="MRBTS-256/LNBTS-256" operation="update">
<p name="enbName">NICK-LAB-AIRSCALE</p>
</managedObject>
<managedObject class="NOKLTE:LNCEL" distName="MRBTS-256/LNBTS-256/LNCEL-256" operation="update">
<p name="cellName">TRI-B5-1</p>
<p name="pMax">331</p>
</managedObject>
</cmData>
</raml>

Changing an IP Address (Triggers Reboot)

Changing transport/IP objects will reboot the BTS. The site will be offline for 3-5 minutes.

<?xml version="1.0" encoding="UTF-8"?>
<raml xmlns="raml21.xsd" version="2.1">
<cmData type="actual" scope="all" domain="ALL">
<header>
<log dateTime="2026-03-21T00:00:00+00:00" action="created"></log>
</header>
<managedObject class="com.nokia.srbts.tnl:IPADDRESSV4" distName="MRBTS-256/TNL-1/IPNO-1/IPIF-1/IPADDRESSV4-1" operation="update">
<p name="localIpAddr">10.7.15.66</p>
</managedObject>
</cmData>
</raml>

Pushing Configuration via the Web UI

  1. Navigate to BTS Status in the control panel
  2. Click Config Ops on the target device
  3. Select your partial SCF XML file (drag and drop or browse)
  4. Click Push Configuration to Device
  5. RAN Monitor automatically strips runtime objects, then performs download, validate, and activate
  6. Monitor the result message for success or errors

For more control, expand the Advanced: Manual download/validate/activate steps section to stage a plan without activating it, then validate and activate separately.


Pushing Configuration via the API

PUT /api/ne3s/function/provision
Content-Type: application/json

{
"airscale_name": "ons-Lab-Airscale",
"config_file": "/path/to/partial-config.xml"
}

The config_file path must exist on the RAN Monitor server. Copy the file to the server first if necessary.

Response on success:

{
"status": "success",
"operation": "provision",
"plan_id": "plan_1774041772721652742",
"data": "<activateResponse>...</activateResponse>"
}

Response on failure:

{
"status": "error",
"code": "PROVISION_FAILED",
"message": "validate failed: Validation error details..."
}

API Parameters

ParameterTypeRequiredDefaultDescription
airscale_nameStringYes-Registered device name in RAN Monitor
config_fileStringYes-Absolute path to SCF XML file on the RAN Monitor server

Best Practices

  1. Always download a backup first. Use the Web UI "Download Config" button or the API to save the current configuration before making changes.

  2. Use partial updates for operational changes. Only include the objects and parameters you need to change. This minimises risk and avoids reboots.

  3. Use operation="update" for partial changes. The operation="create" attribute is for full SCF replacements and will overwrite all parameters on the object.

  4. Check the object class before pushing. If your SCF includes any transport, system, management, or security objects, the BTS will reboot. Plan a maintenance window accordingly.

  5. Verify the distName matches your target BTS. The MRBTS ID, LNBTS ID, and cell IDs must match the target device. Push the wrong distName and the BTS will reject the config with a validation error.

  6. One change at a time for critical parameters. When changing radio parameters that affect service (EARFCN, bandwidth, PCI), make one change per push so you can isolate any issues.


Troubleshooting

Validation Failed: Duplicated Object

Symptoms: Push fails with Duplicated object MRBTS-256/EQM_R-1

Cause: The SCF contains runtime (_R) objects. These are auto-generated by the BTS and cannot be pushed.

Resolution: RAN Monitor strips _R objects automatically. If you see this error, verify you are pushing through RAN Monitor and not directly to the BTS.

Activation Failed: Operation Conflict

Symptoms: Push fails with Operation could not execute because of operation conflict, RequestOperationType = {activate}, OngoingOperationType = {validate}

Cause: The activate was sent before validation completed. The BTS processes each step asynchronously.

Resolution: RAN Monitor waits for async completion between steps automatically. If this occurs, retry the push. If it persists, check that no other management system (NetAct, WebLM) is simultaneously pushing configuration to the same BTS.

BTS Rebooted Unexpectedly

Symptoms: BTS goes offline after config push, ping fails for 3-5 minutes.

Cause: The pushed configuration included transport/IP, system, or security objects that trigger a reboot.

Resolution: The BTS will come back on its own after 3-5 minutes. To avoid this in future, use a partial update that only includes the specific parameters you want to change, avoiding the reboot-triggering object classes listed above.

Plan File Not Found

Symptoms: Activate fails with Processing of attachment detail property file failed in agent

Cause: Internal BTS error reading the staged plan file. Can occur when multiple config operations overlap.

Resolution: Wait 30 seconds and retry the push. If the error persists, restart the NE3S session by using the "Force Reconnect" button in the Web UI before retrying.