Is it possible to have FreePBX output raw xml?

I have just started working on a module to allow an admin to associate a polycom phone with an extension by it’s MAC address. I would like to be able to have the module automatically generate the xml that the phone will require during boot to autoconfigure. I already have the phones booting with tftp but I am tired of having to manually edit files anytime something changes. I know how to generate the xml and have the phone autoconfigure via http, which I can write a separate web page to do but I would like to incorporate it into freepbx it’s self. So my question is: is there a way to have a module tell freepbx not to output all the other html and javascript associated with it’s interface and just output the xml I will generate? I’ve seen ways to do it in other systems such as Joomla but I don’t know if there is a way here.

If there is a way to do it could you tell me how, also if I am missing some documentation that tells me how please point me in the right direction.



The Endpoint Manager does exactly what you want and provides the interface right in FreePBX. It adds functionality to the extension module allowing you to enter the MAC address. Config files are written to the /tftpboot directory.

Tools let you manage buttons and templates.

Nevermind. I looked through the code and found that adding quietmode=true to the request then freepbx would only output my stuff.

I hope this helps someone else.

I am not sure I understand what you did. So I have several questions if you don’t mind.

1 - You are talking about provisioning the SIP lines and DSS/BLF keys on the phone, is this correct?

2 - Did you look at the integrated endpoint manager? It does exactly what you want.

3 - If you did look at the endpoint manager what does your code do that ours does not?

4 - If your code extends and improves FreePBX would you consider contributing it for review to the developers for possible inclusion in the next release?


I haven’t looked at the endpoint manager, can I assume that is a module? Sorry if I am asking dumb questions. I am pretty new to telephony and though I have our pbx working like it should for our needs, I wanted to integrate the automatic setup of the phones into freepbx so I won’t have to go back and forth between freepbx and the manually created and maintained boot files.

If the endpoint manager is something that already does this then that would be perfect. I’ll give it a try and see if it will work for my needs.



Since you did not even tell us what version of FreePBX and Asterisk you are running an on what OS you installed it I can’t make specific comments.

The Endpoint Manager does exactly what you say, it generates config’s for most SIP endpoints from SNOM, Cisco, Linksys, Yealink, Polycom and Aastra. For Aastra I prefer to use the Aastra XML scripts for auto provisioning.

I understand you are new to telephony, I made the assumption that if you had the ability to modify code to suit your requirements you would have looked at the code and functionality of the system that was already in place.

Sorry for the confusion, I am new telephony but not php or general linux system administration.

As for the version information, if it can help you make some suggestions here is my setup.

I am using;
CentOS release 5.5 (Final)
Freepbx 2.8.1

I am using a combination of polycom 501 and 601 phones, currently being autoconfigured via dhcp which points the phone at a tftp server running on the machine. In the tftp directory are all the polycom xml config files, bootroms and individual phone configurations required to get each phone going.

This all works well enough, I would however like to be able to stop adding/editing configuration files manually. I would like to be able to do all the configuration from within FreePBX. Which is why I asked my original question. I want to generate the xml on the fly when the phone requests it.
According to my understanding the phones can also boot from an http server as well as tftp, which would allow me to accomplish this.

Any further questions let me know.