Here’s the thing: I will probably hate FreePBX until the day I draw my last gasp of air (unless they relent and change the two things I really hate about that software*), so I really WANT to like one of the other software PBX alternatives. But, they sure don’t make it easy. If you saw my article Oh, FusionPBX, how you vex me (especially after I added the last two or three paragraphs), you know I have given up on trying to make FusionPBX work for the time being – it’s just not quite yet ready for new users, or people like me who think that installing a piece of software should not be like going on some kind of quest where you have to find all the pieces and make them fit together (using inadequate instructions) before it will work.
So, moving along, I tried installing blue.box (the other major GUI based on FreeSWITCH) yesterday. I did that even though I already know that their software is much more confusing to me than either FreePBX or FusionPBX — nothing there seems really intuitive compared to those other products, and yet I thought that if their ISO installation actually works (which it does, for the most part), that would be a big plus, and maybe I could get a grasp of how to use blue.box if I spent a little time with it. Alas, it was not to be. I discovered that, similar to my experience with FusionPBX, if you follow their installation instructions for the blue.box ISO, you get a botched install.
There were three problems in particular I noted. I’m guessing none of these are major issues, but they sure aren’t mentioned in the installation document:
1) After following the recommendation to change the Database password to improve system security, I got this error (note the password shown is not the actual one I used; at the time I was taking screenshots in case I wanted to do a full install walkthrough, so I put the entry shown there to indicate it should be changed):
2) There is a place where the instructions say, “ESL Auth – is the authentication string. The default value is ClueCon and we recommend that you change it to enhance your system security.”:
BUT if you do that, then at the end of the install you’ll get this error:
Now, let’s say you throw caution to the wind and don’t change either of these values. The installation will then proceed, but there’s one more pitfall you may encounter. You may see an error message such as this in your browser window:
Note that this error will be a bit different each time you attempt reinstallation – here are three variations I saw:
Fatal error: Maximum execution time of 30 seconds exceeded in /var/www/html/bluebox/bluebox/libraries/Package/Catalog.php on line 29
Fatal error: Maximum execution time of 30 seconds exceeded in /var/www/html/bluebox/bluebox/libraries/doctrine/lib/Doctrine/Query/Tokenizer.php on line 152
Fatal error: Maximum execution time of 30 seconds exceeded in /var/www/html/bluebox/bluebox/libraries/doctrine/lib/Doctrine/Query.php on line 996
In any case the install gets aborted and you are left with a failed installation.
I had high hopes for at least the installation part of blue.box, since the page detailing installation from an ISO seems at first glance to be very complete, as if they really took the time to cover all the bases. But still, it seems that maybe a few things got left out of either the instructions or the installation itself. I will also note that it’s a real feat to find these instructions in the first place, since they still haven’t been linked from the main 2600hz wiki. Had not someone told me after a previous post where to find the “old” blue.box wiki, I wouldn’t have had anything to go on (and by the way, for some reason that wiki works much better in Chrome or Opera than in Firefox, at least on my system). My guess is that there are easy fixes for these issues, but as I was going through all this I read that a new blue.box version 2.00 may be coming out in a week or so (see below), therefore I decided not to put any more effort into this until the new version appears.
* A quick note for anyone for anyone stumbling across this blog for the first time: The two things I truly loathe about FreePBX is that they changed the method of entering Outbound Route Dial Patterns and Trunk Dial Rules, going from a super-easy way to a method that is truly a royal pain in the ass, for NO good reason whatsoever, and also that they will not allow users to do certain things that are perfectly valid in Asterisk, but that for some reason aren’t allowed by FreePBX. The latter is a rather broad category that includes things like checking that only certain characters are allowed in certain fields, when in fact Asterisk allows a wider rage of options, or not allowing a problem trunk to be specified twice in the same outbound route, in case you want to automatically retry it once before giving up and failing the call. The point is that if the user knows what they are doing and why they want to do it, the software shouldn’t get in their way or act like some kind of bully that stops users from achieving their goals. Would it be so hard to include a master switch in the General Settings that effectively turns off all syntax checking and similar checks, or at least turns them into warnings that can be bypassed rather that actual restrictions that fight tooth-and-nail to stop the user from doing something that the FreePBX developers might have never considered might actually be valid when they designed the software?
Speaking of the FreePBX developers, I used to make a distinction between the “good” developers and the “bad” developers; the guys who mostly worked in the background and got things done vs. the more vocal few that are carrying FreePBX in the direction THEY want to take it, without consulting users or seeming to care one bit how much misery they have introduced into the lives of long time users. But now my attitude is, to paraphrase a 60′s saying, “If you are part of the FreePBX development team you are part of the problem.” Either you are one of the a—holes making these bad decisions, or you are going along with them, perhaps even against your better judgment (though if you are still on that team I suspect you have long since buried your own voice of conscience). All I will say is that if someone wants to be a hero, go back to maybe FreePBX 2.7, fork it there, apply any important security fixes and update it to work with the new versions of Asterisk, remove any syntax or error checking that cannot be bypassed by the user (or make it an option to turn it off), and ASK YOUR USERS WHAT THEY THINK before making any major changes in functionality. Don’t just wake up bored one morning and decide you are going to make this neat change to the software and that eventually everyone will see that it was for the best. Oh, and don’t make changes that break third-party modules if you can possibly avoid it.
I’m sure the above will fall on deaf ears because at this point it’s likely a case of I hate them (for taking a formerly great piece of software and ruining it) and they hate me (for my unrelenting criticism of their now crappy software), and each of us at times probably wishes the other would die in a fire (well, maybe nothing quite THAT bad, but I’d certainly rejoice if several of the current developers decided to quit the project and find lives outside of FreePBX). However, I know they think that because I’m one of the few people still actively complaining about the Outbound Route Dial Patterns and Trunk Dial Rules, that everyone else has learned to accept and live with the new crappy method. It’s really more that people just give up and stop complaining when they think their complaints are falling on deaf ears. The FreePBX developers have made it pretty clear that they have no intention of going back to the old, easy entry method no matter how many people they have inconvenienced, and most users have received the message and decided to just shut up about it. Well, I’d shut up about it too if I could find something else that would be an adequate substitute for FreePBX, and I could never touch FreePBX again for the rest of my life, but so far my efforts are being thwarted at the installation stage.
In concept, I really like FusionPBX, and if ever they can get their act together and produce a decent ISO that actually installs without issues I will be more than willing to give them another try, but I am not a developer nor a coder so I really can’t help them fix their issues. I do have a lot of sympathy for their situation because it appears that it is really only one guy that is doing all the coding work on FusionPBX, and just from a couple of conversations I had with him in IRC, I get the sense that on some days he’s seriously overextending himself and perhaps running on too little sleep. But he doesn’t put together the ISO, nor does it appear that he really does much with documentation. If he had as many people on his team as the FreePBX people have on theirs (and assuming they were nice folks who actually considered the impact of changes on users) I think he could have a really great piece of software that could win the support of the user community. But one guy just can’t do it all. He can’t code, AND write documentation, AND chase bugs and other issues, AND develop the ISO, AND maintain and/or moderate an online forum (one of my main criticisms is that they don’t have a forum where solutions to problems are searchable), AND… well you get the idea.
The problem I have with FusionPBX is that when you hit a roadblock the only real way to get help is in IRC, and most of the time when I have a problem there is no one around that can help, or they are too busy to help. Or, they give short, terse answers that assume a lot of knowledge on my part that I don’t possess. Questions and answers, and clarifications on those answers play out much better in forum threads, where people have time to consider their responses and type full replies, plus you get the benefit of being able to search for and reference previous threads that may touch on your problem. As it is, I always feel like I am trying the patience of the existing users with my new-user questions (particularly when they assume my experience level is much higher than it really is or that my memory is much better than it is, and therefore do things like telling me to edit a file without specifying the path, so I have to ask about that). My memory is REALLY bad – one reason I have documented certain things so extensively in this blog is that it helps ME remember how I did something, even if it was something I did only a week ago!
As for blue.box, there is this tantalizing note in their bug tracker:
But I have no idea if that date (a week from today!) is an actual firm release date, or just a goal that someone set months ago. In any case, if a massive upgrade is in the works, I only hope that it is slightly more intuitive and easy to use than the previous version, and I hope that the installation instructions will be updated and moved to the new wiki where people can find them!
There is one thing that gives me slight pause about investing time and energy into trying blue.box, and that is that I know they originally split from FreePBX (blue.box started out as FreePBX version 3) but I don’t know if the two projects are still affiliated in any way. When I criticize FreePBX and its developers, do the blue.box developers take as criticism of their friends, or do they perhaps feel some of the same feelings that I do about the FreePBX version 2 team? I’m not looking for an answer to that; I’m just saying that the fact that they used to have ties to FreePBX is one of the things that has caused me to shy away from blue.box just a little. I do NOT have anything whatsoever against the blue.box developers, in fact the few times I’ve had contact with any of them, they have been extremely helpful. So, I guess I’ll just wait and see what blue.box version 2.0 brings.