Wednesday, December 3, 2008

One of things I love most about 3CX is the simplicity of the management interface. 3CX has done a great job making it very easy and intuitive for administrators to command and control our IP PBXs.

But what about managing our IP Phones?

As many of you know I am a big fan of the Aastra family of XML enabled IP phones. I really love the balance of usability, function and cost that Aastra has managed to achieve (especially with the 5xi family). As well, I am also a big proponent of leveraging the use of XML control that is available in today's IP phones.

While there are a whole host of things we can do with XML scripting on our IP phones, I have become specifically interested in the topic of config management.
If any of you manage a network with more than about 25 IP phones, then you know that managing config files can sometimes become a little bit on the painstaking side. Sure, the use of centralized, tftp based, config distribution definitely makes it easier to "centrally" manage our IP phone config files. It helps us avoid having to make changes on individual IP phones via web interfaces.

There are a few drawbacks to this approach. First, we are still managing a lot of separate files (both global and mac specific files). Second, if we do need to institute changes to subgroups of phones then we may not be able to do this via global.cfg files and will need to edit several files manually. Third, changes made to cfg files are not applied to the IP phone until it reboots and requests it config via tftp.

So, while serving up our config files via tftp is far superior to managing a large amount of phones via web interfaces, it still is not the perfect solution. So, I decided to go in search of some other possibilities and, of course, I love anything than can be done via XML :)

Introducing the AastraIPPhoneConfiguration element...

After some review of the Aastra XML specifications, I came across this little shining gem. The AastraIPPhoneConfiguration XML element allows us to do exactly what we would want, send config parameters/values to an IP Phone as an XML data structure.

What could this mean for config management?

This capability opens the door for users to begin storing phone configuration in a database and serving configs back to the phones via XML push. As well, changes could be made centrally and pushed to phones in real-time rather than requiring reboot (now, the caveat is that certain changes on IP phones always require reboot).

What would this solution look like?

An Aastra IP phone can be configured to request a web application at boot time. A simple front end web application could be created to send back the proper XML data structure based on the MAC address of the phone through a simple database query. Furthermore, the web application could offer a simple admin front-end via which an administrator could make configuration changes to a phone and push those changes in real-time. Effectively, we would be creating a centralized phone configuration management application.

You have to love the power and flexibility that XML controls give us over our IP Phones, I sure do. Wouldn't it be great to have a phone management utility that has us spoiled as the 3CX admin interface? I think it's possible!

Happy 3CXing!!!!