Create Configuration File

Use case

How to create a new config file:

The Provisioning module of NMS Prime lets you create new configuration files for CM, MTA and TR-69, which can later be assigned to cable modems and mtas.

The GUI for the creation of new config files is located in the left sidebar under Provisioning → Configfiles.

A recursive Configfile tree is now displayed.

Overview of existing configfiles for cable modems and mtas

If you click on an existing configuration or click on "Create Configfile" at the top left, you will see the following page:

Edit page example for editing config files in nms prime

Treeview in Overview-Page explained:

The configuration files are built by going down the items in the treeview. This means that you are able to input general configurations for each vendor and then creating sub-items (or sub-configs) that are specific to each product of this vendor.
This makes updating configfiles easy, because if you want to update something for on vendor, you just have to edit the topmost configfile and affect all underlying ones automatically.

Tipps for creating and editing a configuration file:

If the "Public Use" field is set to "No" you are not able to select this configfile when registering a new modem or mta. Configurations with Public Use set to "No" can be used to structure the treeview. The Config file parameters will still be used for all sub-configs.
When creating or editing the config-file interpreter for cable modems and mtas will always check for validity if you click on save. In case of errors you will get a warning message.
If you have multiple firmware uploaded in one tree-structure only the last one found will be used. The same goes for the certificate.
All fields, except the name, are optional. If you upload a firmware, then a certificate file must be uploaded too.

All modem types are supported. Common types are Fritzbox, Thomson, Arris, Technicolor, ...


Best practice for easy updates


To always have a clean configfile tree and be able to update almost all modems of your customers by a view clicks please follow these simple steps!

  1. Always have one general configfile with the latest firmware for each modem type!
  2. When a new firmware is released then add a new configfile with the new firmware and name it like the version. Then assign this firmware to one or more modems to test if it works properly.
  3. When it does you can set this firmware in the general configfile what leads to all modems getting the new firmware on restart.
  4. To keep the tree clean just delete the configfile you added to test the new firmware. Be aware that you have to set the configfile of the modems you used to test the firmware to the general one.
  5. If you want some modems to keep the old firmware just add a new configfile named after the old version and set the appropriate firmware. You can then assign this configfile to these modems.


EXAMPLE - AVM FritzBox

You e.g. have 500 customers with a FritzBox 6591. Of course you don't want to set the firmware for every modem manually.

  1. So therefore you just have one configfile named 'AVM FritzBox 6591' that is assigned to all the FritzBox modems of your customers. In the configfile the latest firmware is set - e.g. version 7.00.
  2. Now AVM releases version 7.10. Before rolling it out to all customers you should test it at your lab or only some specific customers. Just add a new configfile named 'AVM FritzBox 6591 version 7.10'. Now you assign this configfile to the chosen test modems.
  3. When everything goes well you can set the firmware in 'AVM FritzBox 6591' from 7.00 to 7.10 and all customers will get 7.10 on restart.
  4. Then just reassign 'AVM FritzBox 6591' to the test modems again and delete the configfile 'AVM FritzBox 6591 version 7.10'.


Note: Currently scheduling modem restarts or firmware updates is not yet implemented, but it's planned to integrate it. Until then you need to schedule it via cron jobs or contact our support team if you have a professional support package.

Working with parameter substitution in DOCSIS configfiles / TR-069 provisions

To avoid creating various duplicated configfiles / provisions e.g. only differing in provisioned datarates or phonenumer credentials, NMS Prime provides a templating system with variable substitution. While building a configfile / provision the variables are replaced by the values of the modem, for which the configfile / provision is being built. Besides simple variable substitution one can perform simple calculations, default value replacements or substr operations with the variables at hand.


variable substiution
MaxRateSustained {qos.us_rate_max_help.0};

SnmpMibObject docsDevNmAccessCommunity.10 String "{provbase.ro_community.0}";
SnmpMibObject docsDevNmAccessCommunity.20 String "{provbase.rw_community.0}";

SnmpMibObject enterprises.872.1.4.3.1.4.1 String "{phonenumber.username.1}";
SnmpMibObject enterprises.872.1.4.3.1.5.1 String "{phonenumber.password.1}";

set;InternetGatewayDevice.WANDevice.1.WANConnectionDevice.1.WANPPPConnection.1.Username;{modem.ppp_username.0}
set;InternetGatewayDevice.WANDevice.1.WANConnectionDevice.1.WANPPPConnection.1.Password;{modem.ppp_password.0}
simple variable calculation (addition, substraction, multiplication and division supported as of now)
MaxTrafficBurst {{qos.us_rate_max_help.0},*,0.1875};
default value replacement, i.e. it was not possible to retrieve the value of the variable and thus, it is replaced by a default value
SnmpMibObject ifAdminStatus.9 Integer {{phonenumber.active.1},?,2};
substr operation (assuming {phonenumber.prefix_number.1} == 09496)
{{phonenumber.prefix_number.1},-1}
6

{{phonenumber.prefix_number.1},-4}
9496

{{phonenumber.prefix_number.1},-4,1}
9

{{phonenumber.prefix_number.1},-4,2}
94

{{phonenumber.prefix_number.1},0,1}
0

{{phonenumber.prefix_number.1},0,2}
09