Help with an Asterisk implementation

Hello,
I’m a new asterisk user and I’m studying to obtain the right implemantation for my business scenario.
Doing that I need your help to consider both:

  • hardware implementation:

    • Server hardware configuration
    • PCI/PCI-X Digium’s card to use
    • Gateway VOIP eventually to use
    • GSM box to handle 2 or more SIM card
  • some “unified comunication” capabilities

    • Outlook integration
    • “presence status” software and IM integration

We have three bases with 2 or more ISDN in each of them and they are all connected with a VPN.
The VPN is implemented on a Dell server with proxy and filtering services (OpenVPN and Squid+Dansguardian in two Proxmox separate VMs)
The Dell server has an Intel E7500 (2.93GHz) CPU, 4GB DDR2 RAM, 2xHD Sata Raid1, 4 Ethernet Port 10/100/1000.

My head quarter (the base with the most users and TE) has this situation:

3 ISDN BRI
1 Siemens PBX
25 digital and analogic phone
10 analog cordless dect
2 analog Fax machine on two PSTN lines

Cordless need to stay analogic.

Is the Dell Hardware enough to run a dedicated asterisk VM for the head quarter?
Which configuration you suggest to implement asterisk for my case?
Thank you in advance,

Marco

If you are going to use PCI cards, you have to run Asterisk on a dedicated server.

If you will connect all the legacy things to Asterisk via gateways, than you can run Asterisk as VM, but it is not recommended.

My proposition would be:

  • use a dedicated server for Asterisk (current Dell server is more than enough)
  • use VoIP gatewas to connect legacy equipment to Asterisk
  • connect remote location phones to the central Asterisk server via VPN tunnel

Hi dejanst, thank you fot the suggestions.

[quote=“dejanst”]If you are going to use PCI cards, you have to run Asterisk on a dedicated server.

If you will connect all the legacy things to Asterisk via gateways, than you can run Asterisk as VM, but it is not recommended.
[/quote]

What are problems running asterisk as VM?
If it’s a performance problem I can upgrade the hardware server.

What problems I might encounter usign a gateway?
The idea was to use a hybrid configuration using the PCI card for IP phones and the gateway for the rest of legacy equipments.

[quote=“dejanst”]
My proposition would be:

  • use a dedicated server for Asterisk (current Dell server is more than enough)
  • use VoIP gatewas to connect legacy equipment to Asterisk
  • connect remote location phones to the central Asterisk server via VPN tunnel[/quote]

The aim is to make each location indipendent of each other.
Then each site should have its own server (even if costs of total hardware will be greater).

In the case where the VM is not a good idea at all, could you recommend an embedded hardware with cluster capabilities?

Thank you.

VoIP has some hard real time constraints. VM systems are not generally designed for such systems and may fail to allocate CPU in time, or swap out critical pages to let other guests run. They also tend to play tricks with the time, running the apparent system time faster or slower than real time.

I believe, if you make sure that other guests impose negligible load and you commit enough dedicated memory to Asterisk, it is possible to run Asterisk, but when run on heavily loaded VMs in a test environment one gets audio breaking up and big pauses in voice announcements.

So I understand it’s not a solution for a production machine unless you consider an accurate testing to make it work.

[quote=“david55”]
You need to have plenty of resources at about the 20ms scale. Bascically, several CPUs need to become free within that sort of timescale. Anything generating a bursty loads with bursts of 100ms+ is likely to cause audio breakup during the burst.[/quote]

And you know how to test this 20ms scale accurance?

Anyway I’m considering to buy some embedded hardware where to install asterisk.
Can you suggest me anything about it?
Thank you.

The main issue with running Asterisk these days is addressing hardware (i.e. PCI cards, etc) which you can’t do.

I am running a couple of Asterisk servers under VMware ESXi 4.1 and they run absolutely fine (no jitter or latency problems). These run on HP Proliant DL360 G4 with dual 3.6Ghz Xeon processors.

There used to be issues under VMware 3 with hardware timing but I have not experienced any such issues under ESXi 4.1.

Therefore if you are using external SIP or IAX2 connected gateways to address analogue and digital connections including ISDN then I see no reason why you could not run Asterisk as a VM.

As far as I know with a cpu supporting VT-d (Intel) or IOMMU (AMD) you can obtain a direct I/O access to peripherals like PCI/PCI-E cards, ethernet controller, etc…
Moreover I find the usefull utilities taskset (in KVM virtualization) which allows setting the cpu affinity of a process using taskset.

With this two features maybe an implemantion of Astersisk with Proxmox VM can be done more efficiently.

[quote=“leemason”]
I am running a couple of Asterisk servers under VMware ESXi 4.1 and they run absolutely fine (no jitter or latency problems). These run on HP Proliant DL360 G4 with dual 3.6Ghz Xeon processors.

There used to be issues under VMware 3 with hardware timing but I have not experienced any such issues under ESXi 4.1.

Therefore if you are using external SIP or IAX2 connected gateways to address analogue and digital connections including ISDN then I see no reason why you could not run Asterisk as a VM.[/quote]

It’s possibile you are using the VT-d capabilities of your Xeon processors and this is why you run well with your asterisk VMs.
Can you confirm this?