FreePBX under VMware

Just because it works does not mean it is the right thing to do.

I would never consider presenting it as an option to a customer.

What do you do when you have to reboot the host PC? I can’t begin to count the possible ways this will bite you in the ass.

This is the down side to free software, you simply have no control over who calls themselves an “integrator” and installs the software.

Let me ask you this. If this is such a great idea and saver off hardware I will make you a deal. If you get Cisco, Nortel/Avaya, Mitel. Shortel or any of the other popular closed source vendors to install their servers on a VMWARE in a production environment I will change my mind.

@Tony,

I’m not crazy. Asterisk and FreePBX work great in a VMware Player box, if you use the right hardware and you follow VMWare’s published timekeeping best practices for guest systems. I don’t know what your configuration was when you tested it, but I suggest you try again with modern equipment, the latest VMWare (I believe that ESXi is an older evoluation of VMware), and a properly configured guest OS.

Why don’t you give it a try? If you need help setting it up, you can message me and I’ll call you and walk you through it.

@SkyKing,

It doesn’t just work. It works perfectly. I’m a perfectionist - I’m the kind of guy that won’t accept anything unless its working perfectly. So, if I say its perfect, I don’t mean that it is acceptable. I mean that its perfect.

I’m not an integrator. I’m a hobbyist, and I’ve only installed this at my home and for personal friends, so you have no need to worry that I’m somehow ruining the brand. My doctor friend can’t stop telling me how great his new phone system is, and I’m incredibly happy with the system in my home office.

If I want to reboot the PC, I take the mouse, click on “Start”, click the arrow to the right of “Shut down,” select “reboot.” I don’t see how this is so difficult that it could bite me in the ass.

I can’t count the ways in which having the machine running on VMWare has made the installation and management process easier. No more burning ISOs. I can make configuration changes on any machine, anywhere on the planet, without disrupting the running machine. A simple copy process has made making changes and upgrades completely risk-free. When deploying the PBX at the second, third, and fourth office, we just made a copy of the first VM machine and made some minor changes to the trunk and inbound route configurations. If a Hard drive or CPU fan starts to make too much noise - a 1 minute copy operation and we’re up and running on a fresh machine.

These upsides are HUGE. If I were an integrator, running in VMWare would dramatically improve the efficiency of the process, and eliminate the occasional linux driver issues (new network card, anyone?). The only real downside would be if it didn’t work reliably. In my application, that hasn’t been a problem.

The great thing is everyone can have an opinion. My opinion is Tony’s opinion is significant.

I am fairly sure that Tony has the largest installed base of Asterisk/FreePBX systems in the world, we are talking thousands.

My company manages over 2000 extensions of Asterisk/FreePBX based systems.

To top it off Tony has a working virtual server infrastructure, it involves complex Kernel changes to insure proper timing to all of the virtual clients.

My personal concern is running it on top of another operating system, especially Windows.

SkyKingOH: I agree that Tony’s opinion is significant. Heck, you’ve been around so long and contributed so much that your opinion is significant, also.

That’s why I’m trying to convince both of you to reevaluate your opinions. :slight_smile:

I can’t possibly get over the fact that layering on top of Windows is a good idea. If you even have DAHDI running, what is the output of dahdi_test, here is a brand new server with a proper timing source:

Opened pseudo dahdi interface, measuring accuracy... 99.999% 99.995% 99.998% 99.998% 99.998% 99.998% 99.998% 99.998% 99.998% 99.997% 99.998% 99.998% 99.998% --- Results after 13 passes --- Best: 99.999 -- Worst: 99.995 -- Average: 99.997816, Difference: 99.997816 [root@localhost ~]#

The only evidence you offer is the empirical “it works for me”. As you point out this is a five user system. You also make incredibly incorrect statements that show you don’t even understand what Vmware player is and how it fits into the entire Vmware product portfolio.

If one was to make an argument for virtualization at least start with the enterprise product.

Vmware’s own web site FAQ does not even mention player as a solution for production servers:

The following statement was made by admhominem:

You don’t even understand the Vmware product portfolio and the recommended usages. ESXi is hardly old versions. It is the stand alone Hypervisor running Linux as the core host OS.

If you want to virtualize you Asterisk/FreePBX system at least recommend an Enterprise Hypervisor such as ESXI or Xen.

I don’t have any easy way to paste the results right now, so I’ll just type out the summary:

Best: 99.982 – Worst: 99.617 – Average 99.877536, Difference: 99.965235.

None of my systems are five user systems, and I never said that they were.

The only evidence you seem to offer is “I can’t imagine it working” and “its not a good idea.” You may well be right, but my evidence (it actually works) clearly proves that your opinion is wrong. It works, at least in my application. It may not work in a large application, but I’m not saying that it will.

I understand the VMWare product portfolio quite well. ESXi is indeed an older evolution of the VMWare product portfolio. The VMWare Player runs VMWare images that are compatible with workstation versions 6.5-7.x. ESXi uses an older version of the VMWare images. I have no way of knowing whether that makes any meaningful difference. I’m just pointing out the facts.

This discussion seems to have devolved into ad hominem attacks instead of reasoned, intelligent discussion, and so I’ll be moving on after this message. Please don’t take my failure to respond to any subsequent posts by you as agreement with anything you might say.

With Adhominem not participating I wanted to close out and remind anyone it’s never personal. Principals before personalities is the rule in open forum discussions. We don’t know anything about the poster.

I will clearly list my top 5 reasons why running Dom 1 systems for a real time system is a risky approach.

1 - Windows is not known for long term stability. Updates will require reboots and client reinitialization

2 - Hardware Abstraction leads to inconsistent timing behavior

3 - Disk and Network systems have lower performance

4 - Desktop class equipment utilized instead of server class (objection specific to the deployment being discussed)

5 - Non-native file system, the file system is emulated, placing more risk by using the Windows file system

Clearly snap shot imaging is useful. There are other ways to accomplish this without running on a desktop OS environment.

It was a lively debate, too bad the it was taken personally.

AdHominem, you are not familiar with VMware at all.
ESXi use workstation version 7. After installing ESXi with the free license you can actually buy a commercial license, put that in and you have a full blown, fully supported version of VSphere.

[quote]
Upgrading from VMware vSphere Hypervisor to more advanced editions of VMware vSphere is as simple as adding a license file.[/quote]
From http://www.vmware.com/products/vsphere-hypervisor/overview.html

My opinion, as a professional senior consultant, is that you never ever run VMware Server or any version of VMware on Windows OS in a production environment.
Those versions are for testing purposes.

Consider this scenario:
An emergency call is made to the doctors office, but the phone system does not pick it up. It turns out that the Windows computer that runs the phone system did a Windows Update and rebooted.

I am sure that in US this would have been a scenario that had resulted in someone being sued their pants off.

AdHominem, there is no need to be offended by other posters. You have provided services to a doctors office in a unsuitable solution, that was attacked quite heavily, as it should be.

Thew bottom line is that the just about any pc, even one one from the surplus room shelf will run Free/PBX/Asterisk better than running it under a virtual machine.

All I needed to see was this.

Best: 99.982 – Worst: 99.617 – Average 99.877536, Difference: 99.965235.

The worst tells me everything I need. The worst your should be seeing to run a production system on is 99.97x it should never drop below that. If it does you will have lots of voice quality issues as anyone who understands how the test works knows.

I know, I said I wouldn’t, but the conversation has turned back to intellectual discourse, and so I will briefly respond:

Bill: You’re certainly right about that. There’s no doubt that adding the additional layers causes the system to run slower, and thus, requires that you utilize faster CPUs.

SkyKingOH: Concerns about Windows stability are certainly legitimate. Every link in the chain, i.e. Windows, VMWare, Asterisk, FreePBX, etc., increases the risk of a failure. Even without Windows and VMWare, there’s always the risk of a hardware failure (CPU, Hard Disk, cooling fan, power supply), and Asterisk 1.8 has experienced bugs. I found and reported a bug in FreePBX that could have caused persons dialing 911 to have the wrong DID sent (the Emergency DID field didn’t reset when you changed it to blank - Phillipe fixed it within 4 hours).

No system made by humans is every failproof, including Asterisk and FreePBX.

Mikael: There are so many fallacies in your example that I’m not sure where to start.

First, windows can easily be configured to not do automatic updates, and thus not to reboot automatically.

Second, no physician guarantees that he will be reachable 24 hours a day. There are numerous reasons why the “after-hours” non-emergency option offered by some doctors might not work, including that the doctor might be sleeping, might have his cellular phone off, might be out of range, battery might have died, hardware might have failed, lines might be down, etc. That’s why every doctor’s office IVR begins with a message to the effect of “If this is a medical emergency, please hang-up and dial 911.”

Third, if any patient has a true medical emergency, he would call 911. I don’t think that anybody has argued that 911 centers should use FreePBX in VMWare.

Tony: I have great faith in you, Bill, and Mikhael, but I’ve been using this system for several hundred hours without any audio quality issues. When SkyKingOH and Mikhael didn’t make a similar claim to the one you made, I thought the discussion on timing was over.

No just google zttest and dahdi_test to learn more about it but that is a horrible result and you will see lots of problems. Take the advice from people who know better and really listen and research. What you are doing is wrong and will cause problems and give us all a bad reputation. Those test results are really scary and I guarantee you there are voice quality issues in certain circumstances. Mainly Conf Bridge and paging.

I was not going to beat a dead horse on the quality issue.

You would not see it on extension to extension or extension to trunk. It would manifest itself in voicemail, call recordings and conferences.

If you are not using those features so be it, just realize that your environment is reducing functionality.

Scott

Also system prompts like from a IVR or any paging.

I can see how dead against virtual Asterisk servers running under vmware you are, is that the same for proxmox ? I have been testing one out on a production box for my office (which I can replace real quick if needed) I have had no problems at all for 2 months now. this is a kvm install and has the following test results.

root@pbx:~ $ dahdi_test
Opened pseudo dahdi interface, measuring accuracy…
99.993% 99.971% 99.992% 99.993% 99.993% 99.993% 99.993% 99.994%
99.993% 99.990% 99.993% 99.994% 99.993% 99.993% 99.993% 99.994%
99.910% 99.909% 99.993% 99.993% 99.994% 99.993% 99.993% 99.993%
99.993%
— Results after 25 passes —
Best: 99.994 – Worst: 99.909 – Average: 99.985457, Difference: 99.999990
root@pbx:~ $

So is it your opinion that all virtual setups are a bad idea or just vmware.

Gary.

You can achieve some success with Dom 0 type virtual servers such as Proxmox. In fact if you read the thread it’s not even about vmware.

The OP advocated using Player on a Windows workstation that is used for general office tasks.

Looks like you have the timing right, must be running Asterisk 1.8. VM servers such as Xen, ESXi, Proxmox etc. is a different discussion.

Thanks SkykingOH for your insight, I am running Proxmox and Asterisk 1.8, looks like I MAY be on the right path for my test system.

Gary

You are on the right path. 1.8 has the new timing driver. It may eliminate the need for the Kernel hacks that had to be done for the Schmooze hosted platform.

My company caters to folks who want dedicated servers. We use HP e class Blade PC’s in our data center for our hosted customers.

I’ve used the setup I described with IVR, Voicemail, and paging without issues.

I’ve never said that the box was being used for general office tasks. All the machines that I described are dedicated to the purpose of being a PBX.

Those are impressive results. I’m using Asterisk on ESXI 4.1, can you please tell me what you are using for your timing? Is it another hardware? Brief details about your settings will be greatly appreciated.

I’m having a problem with my company dedicating a hardware to Asterisk because of this big push towards virtualization. I want to try all possibilities first before i write off VMware.

Thanks,
nievz