Polycoms
...Guilty as charged
Sam was quite tricksey when he wrote the provisioning sub-system, particularly in the area of extensibility. Upshot is, you can provision more than one file at a time from the provisioning window. I had forgotten this over time, because it is very rarely used. However, we did indeed use it for the Polycoms (which you had obviously spotted and I had forgotten about).
Here is the default Polycom provisioning window...
["$mac.cfg"
<?xml version="1.0" standalone="yes"?>
<!-- $Revision: 1.14 $ $Date: 2005/07/27 18:43:30 $ -->
<APPLICATION APP_FILE_PATH="sip.ld" CONFIG_FILES="$mac-phone.cfg, polycom-locals.cfg, phone1.cfg, sip.cfg" MISC_FILES="" LOG_FILE_DIRECTORY="" OVERRIDES_DIRECTORY="" CONTACTS_DIRECTORY=""/>
]
["$mac-phone.cfg"
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!-- $Revision: 1.73.6.2 $ $Date: 2006/07/17 21:46:42 $ -->
<phone$ext>
<reg
reg.1.displayName="$desc"
reg.1.address="$ext"
reg.1.label="$ext"
reg.1.auth.userId="$ext"
reg.1.auth.password="$password"/>
<reg
</phone$ext>
]
["$mac-directory.xml"
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!-- $Revision: 1.2 $ $Date: 2004/12/21 18:28:05 $ -->
<directory>
<item_list>
<item>
<ln>Doe</ln>
<fn>John</fn>
<ct>1001</ct>
<sd>1</sd>
<rt>3</rt>
<dc/>
<ad>0</ad>
<ar>0</ar>
<bw>0</bw>
<bb>0</bb>
</item>
</item_list>
</directory>
]
It provisions {$mac}.cfg, phone.{$ext} and {$mac}-directory.xml, all in one go. Now, this is pretty smart as provisioning systems go, but it does mean that these files get rebuilt at each commit. So... You have a whole series of choices; you can disable local directory provisioning at the phone and just do everything centrally in the provisioning window of each extension, safe in the knowledge that the directory will get built correctly after each commit; or, you can remove the directory xml from the provisoning window (either at the individual phone level or globally by modifying the ip320/330 device entry in IP Devices). In this way, each user will manage her own directory entries using the phone touchpad.
The way the provisioning parser works is that it will start a new file between [ ] brackets and it expects the substitional files name (e.g. $mac-directory.xml) in double quotes, immediately after the [. So, to delete/suppress a file simply remove the entry from [ to ].
Up to you really, but it's nice to know we can do these things without needing to change any of the SAIL code so maybe the time Sam put into designing it was well spent after all.
Kind Regards
S