Permission flags can be added to each parameter in an XML provisioning file, to define whether that setting is read-only, read/write, or read/write-protected. Valid values for the permission flag are:


Permision flag options

  • perm="!": (defined in GRAPE as: 'Read & Remain') The configuration parameter can be changed by the user. In case the user changed the value from the default, the value will not be overwritten during provisioning.
    (perm="!" is not recommended for credential-related settings like http_pass or admin_mode_password, as the phone does not track the interface used for the first-time configuration. Because of this, any subsequent provisioning of those settings with new values will fail as the current values are considered as changed by the user. Please also see the hint related to this type of setting)

    NOTE: If administrators want to be able to overwrite user parameter definitions, they need to use perm="$". With perm="!", the settings can be changed by provisioning but only if the end-user did not make any changes to the configuration on the phone itself or on its web interface; if the user changed a parameter, it will not be overwritten by provisioning.


  • perm="&" or perm="R" or perm=" " (single blank): The configuration parameter becomes write-protected (defined in GRAPE as: 'Read-only').
  • perm="$" or perm="RW" or perm="" (empty string): The configuration parameter can be changed but will be overwritten the next time it's provisioned (defined in GRAPE as: 'Read & Write')
  • perm="V": The setting is volatile. This means the setting will not be saved to flash. Any setting so marked will revert to its default value after a reboot. This flag may be combined with other flags. Using the flag on its own makes the setting write-protected (defined in GRAPE as: 'Volatile')


Examples:

Provisioning parameter examples for ringtone:

Web-interface: Identity 1 - Audio - Ringtone

Device: Settings - Preferences - Audio - Ringer

perm="!"

<user_ringer idx="1" perm="!">Ringer7</user_ringer>

Result

User is able to change the ringtone, next provisioning run will NOT change the user setting.


perm="&" or perm="R" or perm=" " (single blank)

<user_ringer idx="1" perm="&">Ringer7</user_ringer>

Result

User is not able to change the ringtone as the value is Read-only.


Web-interface: The ringtone pulldown is not working

Device: Select other ringtone, will not be stored !!!


perm="$" or perm="RW" or perm="" (empty string)


<user_ringer idx="1" perm="$">Ringer7</user_ringer>

Result

User is able to change the ringtone but after next provisioning run, the ringtone will be changed back to the value in the provisioning file.