FusionPBX for ex-Trixbox users

This blog is intended to be read in sequential order as it is a series of steps that I followed to build a fully functioning fusionpbx phone system. However you might just need to find out how to do a particular thing so you might want to use the search box below to find that specific step. Please give feedback - if you know a better way to do something share it!

Wednesday, December 15

FusionPBX in a virtual machine

I've been playing around with virtual machines.  Ideally I'd like to try it with Proxmox VE or Vmware ESX however I don't have a machine with Hyper-Threading capability (see See which processors are supported on Intel's website) available to play with.  So I've been playing with VirtualBox.  More on that shortly.

Why would I want to do this?
- virtualisation is good for the environment - ok, I'm only half serious expressing it this way, but it is true, if I can virtualise my servers I can use less physical machines and therefore use less electricity.  I can also use less space for them.
- virtualisation gives you the capability of making snapshots - this is an image of your entire server at a moment in time.  This gives you somewhere to roll back to easily (someone is going to hate me for saying this, but it is a bit like using Windows System Restore and creating restore points).
- virtualisation makes backups easier - you can backup the harddrive container and you've backed up the entire server

So what did I do?
I installed TinyCoreLinux (TinyCoreLinux website) on my harddrive as it is a really stripped down version of linux.  Then I installed VirtualBox on top of that (VirtualBox OSE is available as a package to automatically install on TinyCore) and then I created a harddrive image of FusionPBX by installing the Centos ISO version of FusionPBX (see my first blog entry for the download link) into a virtual server in VirtualBox.  Note that if you use the Centos ISO you really should give it a minimum of 384Mb of RAM or you'll probably have issues with response time and sound quality.  I also set it up using a bridged ethernet adapter rather than the default NAT adapter as this will simplify life.

Then I copied the fusionpbx and freeswitch directories (and all their subdirectories) from my live FusionPBX server into the virtual server in order to give myself a real situation to test it with.  And then I turned off my live FusionPBX server and changed the IP address on the virtual server so that it was using the IP address of the real server and then I could use it with all my existing phones and configuration without any more work.

But does it work?
Would I be telling you this if it didn't?  (Actually I probably would tell you so that you wouldn't waste time trying the same thing)  The good news is that it works.  My usage of this is for a home VOIP phone system and it does this well.  I probably wouldn't use it in VirtualBox running on TinyCore for a real production phone system, but I'd be willing to try it on a PC that supported Hyper-Threading using Proxmox VE or Vmware ESX.

6 comments:

  1. HI. it sounds good to have snapshots ready to go for virtualization.
    It is possible to have one centos image with the freeswitch and fusionpbx ?
    so people can download the image ready to go and only make the phone system confifuration ?
    I bet this would be a nice solution for the fusionpbx community

    thanks
    hope this can be done

    ReplyDelete
  2. Jose,

    Yes, certainly that was the case back when the ISO was first released, but it has aged now. There is a new release of FusionPBX due in the next week as I understand it (there have been many point releases between the ISO and now, but this is a major release) and my understanding is that a new Centos ISO is planned to follow this release - that will bring both FreeSWITCH and FusionPBX up to date. A scripted install for Ubuntu is also being prepared (it is available in sourceforge at the moment but not fully released as some final bugs are being worked on) - the advantage of a scripted install over an ISO is that it doesn't age as fast. This will be a very complete release too (using fail2ban and iptables rules to stop denial of service attacks etc). Stay tuned, I expect we'll see a number of ready to roll installations released following the major FusionPBX release.

    ReplyDelete
  3. Here is a link to the Ubuntu install that I referred to (http://wiki.fusionpbx.com/index.php?title=Easy_Ubuntu_10.04). It is effectively an ISO that installs the latest builds from a script, rather than being an image from a point in time. There is a link there to the sourceforge page there as well. It sounds like it is generally testing well so you could have a play if you are interested, but it isn't yet complete to the developer's satisfaction.

    ReplyDelete
  4. Coming late to the party for this post. Were I work we have been using both trixbox/pbxinaflash and Freeswitch on Proxmox quite successfully.

    I think our peak usage with Freeswitch has been around the 500 concurrent call and 30 Call setups per second. We didn't get above that as our upstream supplier crashed at that point.

    No audio issues at all with proxmox for voice that is generated on the box or transcoded etc.

    ReplyDelete
  5. Great work steve. I been gone through the documentation installation steps and cant wait to setup my server.

    Please keep the good work

    ReplyDelete
  6. Thanks for your comments. Unfortunately I'm now living in a part of the world with an appallingly bad internet connection. As a result I've had to stop my playing with FusionPBX for the time being. I am hoping that things will improve to the point that I can go back to it though because I know that FusionPBX has continued to develop far beyond the point it was a year ago and it has so many more features now.

    ReplyDelete