It depends on how much resources your virtual machine has. It seems to be small pbx and they would be fine on a virtual machine. I would recommend Xen over Vmware because of performance, check virtualization on the Elastix Wiki.
yes, there are issues with asterisk and timing on vm's. you are probably better putting it on a spare box and testing it.
you don't need much of one to run it and at least you can count out the vm side if you do run into sound issues etc
I got a branch office setup with a dedicated Elastix server that connects to our main office Asterisk PBX.
I need to setup another branch office for 4 staff and terminate 1-2 POTS lines to that office for local call access. I also need a Windows server at the branch, but can't afford to put an extra machine in. Can I run a VM manager on top of Elastix. What is the recommended?
What about the other way, if I run Elastix in a VM, how can Elastix in the VM access a Wildcard TDM400P Board?
Or, returning back to the question of tfunk; what are the options to terminate a POTS line externally and feed it into Elastix?
Just so that this thread does not have a "VMWARE does not work" flavour to it, just thought I would pass some further information.
VMWare is usable, however, this is based on using Elastix on Workstation VMWARE and Server VMware, not ESX.
You need to use external POTS/E1/T1/GSM units to function with VmMare.
Next the main sound issue with VMWare particularly comes down to the hardware. There is no manual which tells you what does and doesn't work. As are not placing any Digium/Sangoma/pika etc hardware into the box, we are relying on ZTdummy timing. What this means is that in some cases, some hardware cannot provide a reliable timing source for ZTDummy, so what chance has VMware got with its extra abstraction layer. However now that I have said that, their is quite a lot of hardware that works well. My test systems works well with no sound issues, but have tried it on other boxes with issues. It does not always relate to the more you pay for the board, the better your chance either. It can also depend on the drive controllers, the IRQ chip etc etc.
If you want to be absolutely sure about your IP PBX, provide it with a dedicated box and card. It is important that you don't have any doubts or concerns either in its current form or with future upgrades, especially as this is a customer facing system. Like most companies, they can handle outages, but as soon as that outage becomes able to be seen by the public, like most companies it is of the utmost importance.
I think the discussion is still talking about running Elastix in a VM. I was wondering if I can use the CentOS / Elastix box as a VM host, so I can run the Windows server as a VM guest. Is this viable? How would it affect performance of Elastix?
Since I have only limited Linux knowledge but thorough Windows knowledge, I am looking for pointers how I would set this up..
I think running Windows Server as a VM guest is not a good idea.
You would have to install and run full X-Windows, and this would take a lot of resources.
You can try using the boot options I've just commented in the vmware machine.
The clock=pit should fix the timing issues with ztdummy.
I have done this using VirtualBox, and it works great, Elastix host, Windows vm.
VirtualBox manual is very nice and complete.
You even don't need to install full X-Windows, you can manage VirtualBox VM's from the console, and connect to the VM at boot time using any RDP client.
I think Xen -already integrated in Elastix- has better performance, but you might loose some hardware compatibility (Xorcom Astribanks, for example), as drivers need to be Xen enabled, because you run a special Xen kernel.
From personal experience I am happy with VMware, with a custom kernel it works extremely well both with 1.3 and 1.5 , you need to recompile zap/dahdi however to suit. The chance of using hardware on the PCI bus is of course zero but if you add redfone, Rad or other similar network based TDMoe/TDMoIP hardware given enough bandwidth/CPU cycles it just works. as a caveat I would never attempt this in a production environment but as a proof of concept the virtual machine sells itself to the client.
I don't have any USB hardware but I believe it should work, othet high speed usb devices do, (manufacturers, send me samples and I will test them )
Our in-house tests on both VMware ESX and XEN have shown that any flavor of Asterisk is just not production quality to run in a virtualized environment. We've been able to connect a T1/E1 to the virtualized host using our Redfone foneBRIDGE2 gear but the results are just too inconsistent to guarantee production quality voice.
Our theory is that the microkernel that sits between the hard OS, the real hardware and the host OS just introduces too much latency to provide good voice quality. The latency also affects the signaling channel which obviously can break your entire T or E.
As somebody mentioned before it is a great environment to demo to a customer but again, not quiet ready for prime time. Of course if anybody has any tricks or tweaks on getting Xen or VMWare hosts to communicate more directly with the underlying Ethernet hardware there may be an opportunity to get this combination to work. We have a few customers that are getting away with it but I think it's more luck than anything else and their call volume isn't too high to begin with.
Hello, I don't know if anyone is still wondering about this, but I have some info I would like to pass on. We are actually in the process of setting up elastix on a vm that will run in a leased server at a data center. So far it seems to be working just fine, here are some things we found out:
1) you should disable dahdi, it can't be used anyway in a vm.
chkconfig dahdi off
2) you need to get vm kernels, here is what we do for our x86_64 elastix 1.5.2 install: