During a recent project, I was asked to configure a Linksys SPA942 4-Line IP Telephone to work with Asterisk in an medium-sized office environment. Since this phone was going to be one of many used in a corporate environment, I decided I would need one master configuration, and then individual configurations for each phone. This would allow the VoIP Administrator to make global changes to all phones simply by changing the master configuration file, while leaving individual phone settings (SIP username / password, etc.) unchanged.
To get the master configuration file started, I first needed to download a complete phone configuration from a working device. The following
wget handled that:
$ wget http://phone_hostname/admin/spacfg.xml
I trimmed out the aforementioned phone specific settings and had a working master configuration within minutes. I set the provisioning rules to reload the master configuration daily and left it at that.
Unfortunately, after the first day, I started hearing complaints that user settings such as handset volume and ring tone were being reset. What could cause this?
Apparently, my master configuration contained default values for those settings, and the daily configuration sync was causing the phones to lose their customized settings. Removing the offending settings from the master configuration file resolved the issue.