Sangoma Asterisk cards test drive

Tom Keating : VoIP & Gadgets Blog
Tom Keating
| VoIP & Gadgets blog - Latest news in VoIP & gadgets, wireless, mobile phones, reviews, & opinions

Sangoma Asterisk cards test drive

Sangoma Technologies, a publicly traded on the TSX Venture Exchange (TSXV:STC ), has been designing WAN and telecom/telephony hardware for over 20 years. While Sangoma is well-known as a world leader in support of ATM, Frame Relay, SS7, X.25, PPP, BiSync, HDLC, and SDLC, all popular WAN-related protocols, Sangoma has been quietly making some inroads in providing analog and T1/E1 hardware to open-source PBX solutions such as Asterisk, Yate, and FreeSwitch. They manufacture a range of PCI based cards with T3/E3, T1/E1 TDM, Analog voice and data, ADSL and serial interfaces. Used as a TDM voice gateway, wanpipe router or with their APIs, their cards can turn a server into voice or data gateway. Their voice and data solutions and communications toolkits are available for all popular operating systems including Linux, Windows, Netware, FreeBSD, OpenBSD , NetBSD, SCO Unix and Sun Solaris.

Today, Asterisk is one of the most well-known open-source telephony solutions, which has a strong any loyal community following and is supported by the for-profit organization Digium, which sells telephony hardware to run on the Asterisk platform. Since Digium provides telephony hardware for the open-source Asterisk platform, the obvious next question is "How does the Digium hardware and Sangoma hardware stack up?"

Well, to answer that question, I needed to meet and visit with both Digium and Sangoma. I visited Digium in Huntsville, Alabama back in August 2005 and met with Asterisk guru Mark Spencer, so it was only fair that I also visit with Sangoma Technologies, which is Digium’s primary competitor. So I headed up to Toronto, Canada to meet with Sangoma’s CEO, David Mandelstam, as well as Doug Vilim, Vice President of Sales and Marketing, and Nenad Corbic, Software Manager, Senior Linux Engineer to find out just how their hardware stacked up against Digium’s product line.

Sangoma's offices

I should actually amend that statement that my sole purpose of visiting Sangoma was to compare/contrast them with Digium’s hardware since Sangoma’s hardware is also designed to work on other open-source telephony platforms, including YATE, and FreeSwitch. So this article isn’t simply designed to compare Digium vs. Sangoma running on the Asterisk platform. The Sangoma hardware has some interesting applications on other open-source platforms that merit analysis within this article.

YATE is an interesting open-source solution (coded in C++) that for quite some time was solely developed by Diana Cionoiu, a Romanian programmer who I heard is a "perfectionist" when it comes to coding. For instance, I’ve heard stories about people in the YATE community suggest she simply use OpenH323 or other open-source telephony components and she’d often respond with something to the effect that "they’re crap" and that she’d rather code it herself. Wow, now that’s one confident programmer! :) Also, since YATE is written in C++ you can compile it in both Linux and Windows. It has some distinct advantages over Asterisk including a built-in prepaid calling card platform, billing (including RADIUS) with full CDR.

Sangoma got the ball rolling by first "fueling me up" with some caffeine from their renowned espresso machine.

Sangoma's Espresso Machine

I say renowned, because the night before Sangoma and I went out for dinner and for 5 minutes all they could argue about was who made the best espresso. :D

Anyway, with some Sangoma engineers and my cup of espresso in tow, we headed to their lab area. With the Sangoma engineers watching, I installed YATE on a Windows XP PC to test Sangoma’s echo cancellation capabilities and to test YATE’s ability to detect and use the Sangoma hardware. After installing YATE (a simple Windows installer), it asked us what kind of hardware we were using and we simply checked the box for Sangoma. Similar to Asterisk, there is text-based config file that had to be edited to map the extensions to the Sangoma hardware. I launched YATE and was immediately able to start making calls. I was pretty impressed with the hardware compression built into the Sangoma cards, which feature a 128ms tail for echo cancellation using algorithms from Octasic. I first disabled echo cancellation on the cards and made a test call from a YATE server to an Asterisk box over a PRI connection and there was noticeable echo on the call. I repeated the call after enabling the echo cancellation and the echo was gone.

Sangoma's A104d Qual T1/E1

For my next test, I wanted to see how easy it was to install Sangoma hardware on an Asterisk server. Sangoma provides an install Wiki that takes you step-by-step through the installation process, which I used as my install guide. The Wiki explains that I can do an automatic or manual.configuration of the Sangoma wanpipe drivers which "tie into" the Zaptel driver.

For automatic, it was simply doing these steps:

The wancfg utility is able to create wanpipe config files based on /etc/zaptel.conf. Once zaptel.conf is created wanpipe config files will automatically be generated.

1. Create your zaptel.conf file based on the hardware in your machine.
2. Create your wanpipe configuraton files based on zaptel.conf
/usr/sbin/wancfg zaptel

Wancfg will create wanpipe config files based on spans chans defined in zaptel and update your /etc/wanpipe/wanrouter.rc startup file.

3. To start wanpipe:
wanrouter start
4. Start zaptel:
ztcfg -vvv
5. Start asterisk run:
asterisk -p

That’s it. You now have an Asterisk server with Sangoma hardware! :D

The manual configuration can also be done. You’ll need to do a manual configuration if for instance you define the Sangoma analog trunks before the Sangoma PRI or T1/E1 trunk lines in the zaptel.conf file. The automatic configuration utility is expecting a certain order of hardware that messes it up. I believe the PRI or T1/E1 trunks have to be defined before the analog trunks or the automatic configuration utility can’t figure out the settings. You can either edit the zaptel.conf file and correct the order or you can do a manual installation to manually configure the settings for the installed Sangoma hardware. Actually, I did do a manual installation and selected each board just to see how hard it would be. It was surprisingly easy to do.

Hardware Overview
Sangoma's Voice drivers take advantage of their AFT (Advanced Flexible Telecommunication) technology to substantially reduce the processing required to handle voice calls by the host CPU. This reduces the CPU's workload; resulting in fewer dropped calls, less jitter, and better voice quality.

Sangoma also stressed a key competitive advantage in that their AFT technology enables them to not only field upgrade the device driver code, but also the card's FPGA firmware. Digium hardware is not firmware upgradeable. In addition, Sangoma's cards are self sensing for 3.3v and 5v PCI slots and software configurable for T1/E1 or J1. According to Sangoma, they share interrupts properly between themselves and other PCI compatible devices, supporting unlimited numbers of cards per PC chassis.

I know I have heard about some horror stories getting Digium boards to work on certain PC hardware due to hardware interrupt issues. Digium is very picky what kind of PC hardware you use. A lot of issues are reported with motherboards that share interrupts on a single PCI slot, with the Digium hardware. Better quality motherboards allow BIOS specification of the IRQ to a PCI slot to avoid interrupt issues but it certainly requires you do your "homework" before going out to buy Digium boards. Sangoma on the other hand told me they do not have any interrupt issues, their boards will work on any PC hardware and even offer a guarantee that they can get their board to work or they will refund your money.

The AFT series cards all conform to the 2U form factor specification, both in height and length, allowing you to install many cards in a 2U chassis so as to maximize your server capacity. Relatedly, Sangoma ships a 1U bracket free of charge with each board in case you want to mount the card in a 1U chassis. Sangoma’s boards are not full-length, so they unlike some cards they don’t have issues of being blocked by the processor, heat sink or other motherboard components.

Optional Bracket is included

One nice feature with their analog cards is that they support removable FXO and FXS daughter cards that are completely interchangeable. Thus say you have one of Sangoma’s four port analog cards - you can start off with the analog card having 4 FXS ports, then change one daughter card to FXO and now you have an analog card with three FXS ports and one FXO port. This definitely enables a lot of flexibility and lets you retain your existing investment in the analog cards you purchased. You'll notice from this picture of a 24-port analog FXO/FXS card that you don't see the PCI pins. That's because it only uses one PCI slot for data communications and all the other cards interconnect and share the data connectivity via a connector in the back.

Sangoma 24 port FXS or FXO - Front

Below is a better photo demonstrating this. You'll also notice that since one single PCI slot cannot handle so many cards that Sangoma actually has a power connector in the back that uses the power supply to meet the cards' power needs. The benefit of this architecture is that you only need a single IRQ shared by all of the boards.
Sangoma 24 port FXS or FXO - Back

Sangoma’s original core strength was in the WAN market, so I should point out that in mixed voice/data installations, the data streams are separated out in hardware and handled completely independently of the voice channels by Sangoma’s standard Wanpipe data handlers. Only the voice related traffic gets diverted to the Asterisk system.

Here’s a comparison chart between Sangoma and Digium hardware. Note that sometimes Digium is more expensive and sometimes Sangoma is more expensive. You’ll have to weigh not only cost, but features, warranty, and "brand loyalty" before buying either brand. Digium certainly has built a lot of brand loyalty since their founder Mark Spencer founded the Asterisk open source PBX. Nevertheless, this chart should be a good guide to use when picking hardware for the Asterisk platform.

 Digital T1/E1 hardware 
model #A101TE110P
descriptionsingle port T1/E1/J1single port T1/E1
warranty5 year2 year
price$599 $595
model #A102TE210P/TE205P
descriptiondual port T1/E1/J1dual port T1/E1
compliance3.3V/5VTE210P=3.3V, TE205P=5V
warranty5 year2 year
price$999 $990
model #A104TE410P/TE405P
descriptionfour port T1/E1/J1four port T1/E1
compliance3.3V/5VTE410P=3.3V, TE405P=5V
warranty5 year2 year
price$1,699 $1,495
model #A104dTE411P/TE406P
descriptionfour port T1/E1/J1 with HW ECfour port T1/E1 with HW EC
HW echo canceller128ms echo tail across all DS0's64ms echo tail on 1st 32 DS0's, 16ms after 32 DS0's
compliance3.3V/5VTE411P=3.3V, TE406P=5V
warranty5 year2 year
price$2,699 $2,495
 analog FXO/FXS hardware  
 Sangoma Digium
model #A20002 TDM400P
description4 port FXO 4 port FXO
compliance3.3V/5V 3.3V/5V
warranty5 year 2 year
price$360 $421
model #A21200dTDM2460E
description24 port FXS with HW EC24 port FXS with HW EC
warranty5 year2 year
price$2,034 $2,095
model #A20606dTDM2433E

Sangoma has some other interesting tricks up its sleeve. In addition to supporting open-source PBX systems, they also support open-source routers. Yep, that's right, a home-brewed DIY (Do It Yourself) router that you can build using a PC. For instance, users can build a Vyatta router by downloading a CD image from their website and installing it on a PC with the appropriate hardware. XORP, or extensible open router platform, is their flexible open-source software that is just as adept at being your home WiFi router as it is your enterprise business router. Vyatta works Sangoma T1 and T3 WAN hardware, but they plan to add other partners as well. Om Malik has an excellent overview of Vyatta which he wrote in Business 2.0 and repurposed for his blog, making note of the fact that Vyatta can be 1/5th the cost of a comparable Cisco router. Imagine if Vyatta does to the data router network what Asterisk has done - and is doing - to the voice switching network!

The one thing that I admired about my visits to both Digium and Sangoma is their corporate atmosphere and culture. Both were very laid back with more engineers that you could shack a stick at. My kind of people. Both companies seem to really enjoy technology and have made it their passion.

I was also impressed with Sangoma when they told me that many of their engineers, including their Senior Linux Engineer, Nenad Corbic, actually make themselves readily available to their customers via Microsoft MSN Messenger, a popular instant messaging (IM) client. Putting the irony of a company with strong Linux roots using Microsoft’s IM client aside, Nenad told me his buddy list is hundreds long filled with customers and that he is always eager to help. Giving your personal IM username to customers? - Now that’s customer service!

Finally, as I’ve already stated, I was impressed with the audio quality of the Sangoma boards installed in both YATE and Asterisk, especially with hardware echo cancellation turned on. If you are evaluating YATE or Asterisk, you should give careful consideration to Sangoma hardware.

Related Articles to 'Sangoma Asterisk cards test drive'

Featured Events