(Edit: Corrected version number and date of Elastix download).
I have a rather sad story to tell. Up until about two weeks ago, our FreePBX and asterisk system worked great. We were running Asterisk 1.2 something or other, FreePBX 2.3, and some version of Centos that was at least a year old. Everything worked great, the few users of the system (family and a couple of friends) loved it, and the sun was shining and the birds were singing.
Then, for whatever reason, we decided to upgrade (“we” means me and the other member of my family that actually owns the box that the system runs on). This system had started out as a Asterisk@Home box and at the time we last upgraded, Trixbox 1.0 had just come out! There really weren’t any other choices back then, so we went with that, but really never used the Trixbox components much. Anyway, we didn’t really want to go with Trixbox again given recent events, so it was a tossup between PBX in a Flash and Elastix. We’d heard good reports about both so it was sort of a coin toss as to which to try first.
The first thing we tried was Elastix, specifically version 1.1-2 as released on July 10, 2008 (keep in mind we downloaded this version less than two weeks ago). And we couldn’t get anything to work. Extensions couldn’t place calls to each other, trunks wouldn’t register, and basically nothing worked. We couldn’t figure out why and batted our heads against a wall for several hours, until we finally gave up. That night, I decided to check into the Elastix IRC channel, where I saw this (or some very similar message) as the channel topic:
There is a fix for the latest bug in elastix, if you are having problems with extensions not registering, etc try http://www.voipcoop.org/viewtopic.php?t=78
It turns out that the problem is that Elastix was shipped ON JULY 10 with bad sip.conf, iax.conf, extensions.conf and extensions.conf.orig files (or at least a bad extensions.conf, depending on which post you believe). We downloaded the ISO file during the first days of AUGUST. Didn’t the Elastix folks think maybe it might be a good idea to fix the MAJOR BUG in their ISO distribution sometime during, say, the month of JULY? Apparently not. I’m told that a new Elastix BETA has come out in the last few days; I’m not sure if the stable version still has the bad files. Heck, even if they’d just put a notice next to the download link (“after downloading please go see this message”), that would have been helpful. At that point I sort of decided that I didn’t much like Elastix and then when I couldn’t get my trunks to work, that more or less signaled the demise of Elastix on that box. We downloaded and installed PBX in a Flash.
I wish I could tell you that after that all was joy and sunshine, but alas, it was not to be. For one thing, the PBX in a Flash installation was anything but - compared to Elastix’s installation time, one could be forgiven for thinking that the “in a Flash” portion of the name was inspired in a moment of high sarcasm. But okay, we didn’t care that much how long it took to install (okay, so maybe we did), we just wanted it to work, and initially extension to extension calling seemed to work okay. The problem came, once again, when we tried to set up trunks. Using the EXACT same configuration we had used on the old system, the trunks wouldn’t work. After playing around with trunk options we discovered that by removing any references to codecs, the trunks started working. Later we’d learn that in Asterisk 1.4, if you have a disallow=all statement in a trunk configuration, it must come BEFORE any allow= statements. It would be really great if the FreePBX trunk module would check for that and spit out a helpful error message if you try to create a trunk and disallow=all comes AFTER any allow= statements.
At that point we realized that we may have bailed on Elastix prematurely, however we were frankly SO pissed off about having spent all that time trying to get it to work when all along they had known about the MAJOR bug in their distribution, and neither fixed it nor made any mention of it on their download page, that we were going to try to make PBX in a Flash work for us no matter what. And in one way we wanted to like it, because it’s very easy to upgrade - but therein also lies a flaw. Apparently when you use their scripts to upgrade, it fixes permissions on certain files, but also breaks the permissions on other files. So you run their scripts and you have no idea what they are doing; what they are fixing and what (just maybe) they are breaking. But that wasn’t the real problem (at least I don’t think so).
The real problem now is that the system is having trouble completing calls (extension to extension), and we don’t know why. A typical symptom will be that you dial another extension, and you hear dead silence but the other person’s phone rings. They may pick up and answer, but you still hear nothing. It doesn’t happen every time and there seems to be no rhyme nor reason as to why it happens (you can hang up, place the same call again, and often it will work on the second attempt). Another variant is that you call someone, and maybe 20-25 seconds later their phone starts to ring (but again, you never know when that will happen). It’s not excessive CPU usage; the TOP command never shows any process even coming close to pushing the CPU hard. And keep in mind, this is a system that worked just about flawlessly under Asterisk’s 1.2 branch and FreePBX’s 2.3 branch.
So we are trying to decide what to do next. Here are the possible options as I see them:
- Try to revert to the old system. We have a backup that was made using the following command in a batch file:
tar --exclude /var/spool/mail/admin -czf /backup/fullbackup.tgz /usr /var /etc /bin /dev /home /sbin /lib /root /tftpboot /boot
The trouble is that I’m not enough of a Linux geek to know how to actually expand this file and use it to replace the current system, and I fear I may really screw something up. How do I use the above backup to overwrite what’s now on the hard drive?
-
Give Elastix another chance. I’ve pretty much gotten over their botched files, but my fear here is that if these are issues caused by Asterisk 1.4 (or a newer version of CentOS, or whatever) then simply moving laterally to another distribution won’t fix the problem. The old system worked so wonderfully that everyone is really disappointed in the way this one is working, and I’d hate to prolong the agony while we work through any Elastix issues we might encounter.
-
Try the Elastix 1.2 beta. That should fix the incorrect files issues, but will it fix the other problems? Or did Elastix never have those problems to start with? Plus I’m sure we’d still be dealing with Asterisk 1.4.
-
Try some other distribution. I know there are others that use FreePBX and Asterisk.
-
Try an older/different distribution that still uses Asterisk 1.2. Do such even exist? I can always upgrade FreePBX - I don’t think it has anything to do with these issues.
Or ???
I’m looking for suggestions, where do we go from here?