Automatic Update for Mass Deployment

This example describes how to configure the Automatic Update feature for updating multiple devices (i.e., mass deployment) using an HTTP provisioning server. In this example, all the devices are configured to download the same "master" configuration file. This file serves as the configuration template and instructs the devices which files to download and how often to perform the Automatic Update process. In addition, the master file also instructs each device to download an ini configuration file whose file name contains the MAC address of the device.

The example scenario is as follows:

All devices download a "master" configuration file that contains the following:
Common configuration shared by all device's.
MAC Address Placeholder in Configuration File Name.
Device queries the provisioning server daily at 24:00 (midnight) for software, configuration and Auxiliary files.
HTTP-based provisioning server at www.company.com for storing the files.
DNS server at 80.179.52.100 for resolving the domain name of the provisioning server.
To set up automatic provisioning for mass provisioning (example):
1. Create a "master" configuration file template named "master_configuration.ini" or "master_startup.txt" with the following settings:
Common configuration for all devices:
ini file:
AutoUpdatePredefinedTime = '24:00'
CptFileURL = 'https://www.company.com/call_progress.dat'
AutoCmpFileUrl = 'https://www.company.com/sw.cmp'        
CLI:
# configure system           
(config-system)# automatic update (auto-update)# predefined-time 24:00 (auto-update)# call-progress-tones https://www.company.com/call_progress.dat (auto-update)# auto-firmware https://www.company.com/sw.cmp
Configuration per device based on MAC address:
ini file:
IniFileURL = 'http://www.company.com/config_<MAC>.ini'
CLI:
# configure system
(config-system)# automatic update
(auto-update)# cli-script https://company.com/files/cli_script_<MAC>.txt
(auto-update)# voice-configuration http://www.company.com/config_<MAC>.ini     
2. Copy the master configuration file that you created in Step 1 as well as the CPT and .cmp files to the HTTP-based provisioning server.
3. Configure each device with the following:
a. URL of the master configuration file:
ini File:
IniFileURL = 'http://www.company.com/master_configuration.ini'
CLI:
 # configure system
 (config-system)# automatic update
(auto-update)# voice-configuration http://www.company.com/master_configuration.ini
(auto-update)# cli-script https://company.com/files/master_startup.txt
a. Configure the device with the IP address of the DNS server for resolving the domain name (e.g., http://www.company.com) that is used in the URL for the provisioning server. This is done in the IP Interfaces table:
ini File:
[ InterfaceTable ]
FORMAT Index = ApplicationTypes, InterfaceMode, IPAddress, PrefixLength, Gateway, VlanID, InterfaceName, PrimaryDNSServerIPAddress, SecondaryDNSServerIPAddress, UnderlyingDevice;
InterfaceTable 0 = 6, 10, 10.15.7.95, 16, 10.15.0.1, 1, "Voice", 80.179.52.100, 0.0.0.0, "vlan 1";
[ \InterfaceTable ]        
CLI:
# configure network
(config-network)# interface network-if 0
(network-if-0)# primary-dns 80.179.52.100        
4. Power down and then power up the device.