PBX interfaces

Salvete! I am making a fresh install of Asterisk 1.8 on the latest version of CentOS. In the past I have not used any interface - I just did everything through the config files with a text editor. But I am considering something new. Can anyone recommend something for me? We have about 20 users in our office. Elastix looks interesting. What about BlueBox or FreePBX? Suggestions, anyone?

AsteriskNow is great . Elastix is interesting if you need fax , instant messaging , email , … as well .

I was looking at AsteriskNOW, but somebody told me that it was simplified - that is, I wouldn’t get as fine-tuned of a setup as I could get manually. Elastix looks elaborate - which I like, and I do want the fax, and email is interesting. Have you used Elastix?

Yes . I used it for some projects .It is good enough . Of-course I prefer pure asterisk installation .

If I use AsteriskNow, could I still manually change the conf files (with macros and such, too) without messing up asterisknow? In other words, can I do both?

In both of them you can add your custom dialplan . For example in elastix , you should write your own dialplan in extensions _custom.conf instead of extensions.conf . Elastix has an active forum . You can ask your question about it there .

You say they are “good enough” - do you have a recommendation? I’ve never been to this position before. I want to set up something (for free) that works well and is versatile. I’m not adverse to managing everything manually, but I’d like to set up something for another person (besides me) to be able to manage the basics.

While I like to deal directly with the code, I am not the only one managing our systems, therefore we use FreePBX with Asterisk. This gives me the flexibility to write custom code and provides a web interface for my employee’s to manage the system without having to edit code. Also, FreePBX provides a wide variety of ‘PBX features’ that I would take longer to develop myself. This allows for 95% of the work to be done with the Web GUI and the special things thant need to be done are written by hand.

AsteriskNow and PBX In a Flash (PIAF) distributions both provide FreePBX out of the box, or you can build from scratch depending on your choices.

Pardon me for asking so many questions like this, but I am trying to get my bearings before proceeding. Is there any advantage to installing Centos and Asterisk 1.8 manually rather than using AsteriskNOW ?

That’s kind of like asking which is better, Ford of Chevy, hamburger or cheeseburger, vi or emacs :wink:

If you are the kind of person that likes to roll up your sleeves, build a system from the ground up and understand everything that goes into making it work, then the advantage goes to building your own.

If you are the kind of person who would rather answer a few questions and let the system install while you do something else. When you come back you have a system ready for configuration, then go with a distro such as AsteriskNow.

Okay, I sympathize with your cheesburger comment. However, I am the kind of guy who wants to use an installer to install everything and make it work together, and then come back later and tweak the tar out of it. I’m not opposed to doing it “from the ground up” - I just assembled the actual dev machine from barebones, but I don’t want to get stuck with a bunch of problems to solve just for installation. Also, I am asking questions here in order to decide if I want to use a GUI interface, such as FreeBPX or Elastix. In the end, I want something quite advanced, and I want custom code that I will write and understand. I just don’t want to take a month to get it running.

The advantages are that you will have a much more flexible system and you will be able to debug it when it goes wrong. (When I’ve looked into the Asterisk GUI forums, I see lots of unanswered questions, because debugging the problem requires understanding what is going on under the hood, a skill which fellow GUI users don’t have.)

Okay, here is what I am going to do: I already installed CentOS 6.2. Next I am going to install Asterix 1.8, and then I will install some sort of GUI on top so some of my non-tech users can manage a few things. Can I install Elastix or FreePBX over top an existing Asterisk installation and make it work, or do I need to let those applications install Asterisk their way?

Yes, you can install FreePBX into a from source build of Asterisk. That is actually what it is designed to do. AsteriskNow and PIAF just do it for you and package it with an OS installed and some other features.

I agree with David, if you build your own code, you can debug it easier. With that said, in my organization, there are several people who need to make MACs to the PBX, but have no desire to understand dialplan code. Therefore FreePBX is a good tool. Since I do like to write dialplan code and we need some features that are beyond the FreePBX standard functionality, or even different from that functionality, I write custom or override code. FreePBX had that capability built in. The tool is still there for the MACs, but how it is implemented in code is different.

Granted, I have a lot more work to do when it comes time to verify a FreePBX update to make sure all the custom code still works. That’s what test networks are for though, right?

Thanks, Mr. Dale. That sounds promising, and after all that I have read, I think I will adopt that as my plan. I really like code, but I need to get started sooner than I can learn it. It sounds like FreePBX will give me a jumpstart. And, as you say, I do have my test computer.

Since you mentioned test network, what should I do to test my setup before I install it on the server? I have the new CentOS installed on a new machine, and will soon install Asterisk and FreePBX. Can I test with just one phone plugged into the network port? What do I do?

My advise on what to test and how to test is this.

Test features you are expecting to use and make sue they work. Then test the features that you may not use, but will remain turned on, trust me, someone will decide to try them at some point.

Also, if you can simulate inbound and outbound call flow, that would be great. Make sure the inbound and outbound routes work because if they do not, your users will not be happy.

Can you test with a single endpoint? You could, but it would be best if you have more than one. That way you can test things like hold, transfer, call forward and group pickup. Features that are likely to be used a lot.

I feel it is important to have your test network include the same equipment that you will be deploying. You can test Asterisk features with any device or softphone, but some of the features may work differently on different endpoints. Do you want to use DND on the device or the FreePBX code? The only way to know for sure is to try them both out using the equipment you are deploying.

The test network can also be the training network. You can learn about the system and try new things without damaging the production system. Want to try out a new feature, try it o the test network. If it involves training of the users, train them on the test network as well.

I hope that helps.


The only way I know of to create a test network is to power down my primary phone server, and replace my dev server with the same ip address (the primary phone server is also the network’s dhcp server). That means my phone system will be basically down during testing.

I don’t see how to set up an alternate phone network. We have about 20 offices, each with a phone, and we also have phones in the bedrooms to serve as intercoms for visitors. I could do testing on a Saturday and Sunday, however.

Or, I can hook up a single phone, or maybe two to a little switch and plug the switch into my dev machine.

You can have your test and production servers on the same physical network if you want. You could also have them be completely separate. The idea is to run the same version of software on the development network as on the production. Then you can test new features or even investigate issues reported by the end users.

Ideally, if you use vendor X hardphones as your end points, you should have some for use on the test network as well. Perhaps you could sell the idea of having spares if you don’t have any extra to use on the test network. Another option is that if your phones support multiple lines to multiple servers, setup the second ( or third or fourth) line to the test server. (This can also be useful if the production machine is down. If you have critical sets with access to the development server, you may still be able to make calls, at least internally.

Simulating trunking could be another problem. If you use sip trunking, you could get a second account from your provider. I use ISDN PRI, so having a test circuit from the provider is not an option. So I have a PC setup as the PSTN end that I can use to generate inbound and to accept outbound calls. Not a perfect simulation of the real world, but it works well enough.

While it is ideal to have your server hardware as close to the production hardware, it is not absolutely necessary. If you are looking to test new dial plan code, you only need the software to match. It doesn’t even need to be a high end machine. A desktop PC may be entirely sufficient. I often use semi-retired PCs for testing purposes. (My home development box is a 1Ghz Celeron, it works fine for testing code.)


Thanks for y’all’s comments; I appreciate the advice and insight.

Hey, Fellas, I’m back to this! I never did install the GUI (I just configured Asterisk 1.8 via codefiles), but I am going to now.

I’ve decided to use the official FreePBX Distro.

Now, I am going to install this on a vmware virtual server, and am following the directions here.

The directions say to use the default, which is a RAID 1 configuration. But do I want/need to do that on a virtual machine?