I am simply trying to understand how this is all meant to work because it has changed from what I previously experienced. We initially provisioned our phones by hand using the web admin i/F provided by each phone. Then we obtained the CEPM module to ease the administration of changes. With the initial version of CEPM that we used I do not recall ever running across the need to employ MAC addresses but my lack of recollection does not mean that that feature was not available. In any case we did not use it as our requirements for phone provisioning basically came down to simply setting the BLF labels and actions which were the same across all phones of the same model.
For that reason a single model specific configuration file was all that seemed necessary. A single universal provisioning file also seemed to me to be the simplest solution. So that is what we used, without difficulty. At least up until the AJAX rewrite of the CEPM. Since then I have been confused by the, to me, inexplicable behaviour of the revised version.
I understand the use case for device specific provisioning files and now that it is explained to me I can see where my assumptions led me astray. However, our employment of phones would not really benefit from this form of provisioning. It would simply result twenty or so identical provisioning files each tied to a MAC address.
In our earlier setup using the earlier version of CEPM when we added a phone we simply used the devices setup interface to set the Setting URL:
field in the Advanced Settings
tab to: http://192.168.6.9:83
, pressed Apply
followed by Reboot
and the phone was provisioned. There was seldom, if ever, any need to go into CEPM to add a new phone. All that was required was entries in the Device and User modules.
That prior experience is what I have been attempting to duplicate. it seemed the simplest solution that met our needs when we first used CEPM.
However, it seems impossible to do this with the present version of CEPM. If I enter this in the model.htm
page:
File: setting-files
Perm:
Parm: file url="http://192.168.8.9:83/snom870-.htm"
Data:
Then this is what ends up in the /tftpboot/snom-870.htm
file that is generated:
<!--# Created on 2017/05/30 10:53:29
#Configuration automatically generated via the EndPoint Module
#DO NOT HAND MODIFY THIS FILE!-->
<?xml version="1.0" encoding="utf-8"?>
<setting-files>
<file url="http://192.168.8.9:83/snom870-.htm" perm=""></file url="http://192.168.8.9:83/snom870-.htm">
</setting-files>
This appears to me to be invalid xml and the test phone evidently will not process it. However. when I hand modify the file to contain <file url="http://192.168.8.9:83/snom870.htm"/>
instead then it seems that the test phone provisioning fails and the network and user account settings disappear.
It seems to me that the model.htm configuration method in CEPM simply does not work and cannot be made to do so by any action that I can apply through the module itself. I think this a bug but the comments I received regarding my chosen approach indicates that this may be the intended behaviour.
I can proceed from this point by either going down the MAC route of having separate provisioning files for each and every phone, all of which will be identical. This seems to be the way FreePBX is coercing me but which is contrary to the way we have done this to date. Or I can append a local file name to the provisioning address in each phone and logically link that file name to /tftpboot/snom870-.htm
. I know that this works because I have tested it with the existing files and the test phone.
In any case I have learned a great deal from this experience.