Unique per-device values in AP Groups using User-defined Overrides

There may be scenarios when using AP Group-based configuration where you want to apply unique values to devices for parameters that are not supported as Overrides.  This article will explain how to accomplish this using User-defined Overrides and provide examples at the end for common use-cases.

User-defined Overrides are partial device templates that can be attached to an AP Group.  Any configuration entered here is given preference over any values set in the AP Group.  Like templates they support replacement variable in the format of ${VARIABLE_NAME} or ${VARIABLE_NAME=Optional default value}.  Not providing a default value will force you to set a value per device before pushing the AP Group.

The process for creating your own configuration template for use as User-defined Overrides is:

  1. On a test device configure the parameters you are interested in overriding with values that will be easy to search for. This can be done either directly on the device web UI or via a cnMaestro AP Group.
  2. Export the device configuration. Via cnMaestro this is done by navigating to Configure -> Devices, selecting the device in the left-hand tree and then clicking the View Device Configuration link. This can also be done via the device web GUI, typically in the Administration or Operations section where there will be an Export button for configuration.
  3. View the configuration file in a text editor like Notepad++ and search for the values you entered in step 1. You can also search for the parameter name to try to find the correct lines.
  4. Copy and paste the relevant lines into a new file.
  5. Replace the values with replacement variable text. This will allow you to set the value per device.

Once you have this partial template it can be copied into the User-defined Overrides section and saved.  Before pushing an AP Group to a device you will need to enter unique values for the replacement variables unless a default value is defined.  This can be done by clicking the gear icon in the higher level table views or by navigating directly the device in the left-hand tree.  An AP Group must be selected before the User-Defined Overrides section will appear at the bottom.

Any values entered here will replace the corresponding replacement variable in the partial template you created when the AP Group is pushed to the device.  If no value is entered the Default value will be used.

Examples

Below are some common configurations for the cnPilot R-series.  They can be combined or used partially in the User-defined Overrides section.

SSID Names and Passwords

Remove any SSIDs you do not require for your template if you don’t use all SSIDs.  Dual-band radios use SSID* for 2.4GHz and RTDEV_SSID* for 5GHz.  Single-band radios only use SSID*.  Consider this when creating your template.

When exporting configuration the passwords will be encrypted.  Passwords are sent to the devices as plain text within the template.  Note that the connection between cnMaestro and device is encrypted.  Any other related parameters such as Security Mode, WPA Algorithm and Key Renewal Interval will still need to be configured in the Profile.

SSID1=${SSID1=2.4G_Name}
SSID2=${SSID2=2.4G_Name2}
SSID3=${SSID3=2.4G_Name3}
SSID4=${SSID4=2.4G_Name4}
WPAPSK1=${SSID_PASSWORD1=default}
WPAPSK2=${SSID_PASSWORD2=default}
WPAPSK3=${SSID_PASSWORD3=default}
WPAPSK4=${SSID_PASSWORD4=default}
RTDEV_SSID1=${5G_SSSID1=5G_Name}
RTDEV_SSID2=${5G_SSSID2=5G_Name2}
RTDEV_SSID3=${5G_SSSID3=5G_Name3}
RTDEV_SSID4=${5G_SSSID4=5G_Name4}
RTDEV_WPAPSK1=${5G_SSID_PASSWORD1=default}
RTDEV_WPAPSK2=${5G_SSID_PASSWORD2=default}
RTDEV_WPAPSK3=${5G_SSID_PASSWORD3=default}
RTDEV_WPAPSK4=${5G_SSID_PASSWORD4=default}

FXS1 -> SIP Account -> Subscriber Information

DBID_SIP_PASSWORD=${PASSWORD}
DBID_SIP_DIS_NAME=${SIP_DISPLAY_NAME}
DBID_SIP_PHONE_NUM=${SIP_PHONE_NUMBER}
DBID_SIP_ACCOUNT=${SIP_ACCOUNT}

FXS1 and FXS2 -> SIP Account -> Subscriber Information

If you want to configure both FXS1 and FXS2 Subscriber Information, they are combined on a single line using tab to delimit between FXS1 (which is first) and FXS2.  Please note that you must manually enter the tab character if you copy and paste the below example.  The forum converted tabs to space here.

DBID_SIP_PASSWORD=${PASSWORD} ${FXS2_PASSWORD}
DBID_SIP_DIS_NAME=${SIP_DISPLAY_NAME} ${FXS2_SIP_DISPLAY_NAME}
DBID_SIP_PHONE_NUM=${SIP_PHONE_NUMBER} ${FXS2_SIP_PHONE_NUMBER}
DBID_SIP_ACCOUNT=${SIP_ACCOUNT} ${FXS2_SIP_ACCOUNT}
5 Likes

Hard coded values can also be included for configuration parameters that are not included in the cnMaestro UI without using the replacement variable conventions.  For example:

DBID_SIP_DIALMODE=0

For cnPilot R-Series devices, if you are setting SSIDs, passwords, ect. for any SSIDs after the first, it is important that you set up that SSID in the WLAN UI when adding overrides to User-Defined Overrides.  Setting up an SSID in the WLAN sets a variety of values that are required for enabling the SSID.  If you don't set up the SSID in the WLAN, sending the SSID in User-Defined Overrides will not result in the SSID being turned on in the device.

As an example, some of the parameters that would need to be set up independently if not done through the WLAN UI include:

For 2.4G:
"EncrypType",
"AuthMode",
"TxRate",
"WmmCapable",
"NoForwarding",
"HideSSID",
"IEEE8021X",
"PreAuth",
"DefaultKeyID",
"Key1Type",
"Key2Type",
"Key3Type" ,
"Key4Type",
"HT_MCS" ,
"RADIUS_Server",
"RADIUS_Port"
For 5G:
prepend RTDEV_ to all params above, e.g. RTDEV_EncrypType

 "BssidNum" will also need to be set to the number of SSIDs configured.