A couple months ago Digium announced their new firmware version for the TE4XXP series of T1 cards(TE405P/TE410P) as well as announcing the new dual port cards(TE205P/TE211P) and the echo-canceller cards(TE406P/TE411P). After several weeks of asking for a test TE406P card, I was able to get Digium to put an echo-canceller daughter card on to a TE405P, that I was sending in for a firmware upgrade anyway, so that I could test it for a couple weeks.
I received the card a couple weeks after sending it in, and it is just the same as a TE405P except that it has a daughter card with several little green LEDs on it connected to the expansion ports on the card. I was only able to run the card on CVS_HEAD or 1.2 beta 1 because the 1.0.X code tree didn't work properly with the echo-canceller portion of the card. After getting the card working I ran some tests and everything ran just fine so I placed the system in production. After one day of complaints about dropping audio I ran some more tests and upgraded to the current CVS_HEAD per suggestions from Digium for day 2. The second day started with a lot of complaints of audio drops again, so at mid-day I turned the server off, removed the echo-daughtercard from the TE405P and restarted with no config changes. After that there were no audio drop problems. I posted on the user list and found that many other people are using the TE406P with no audio drop problems and Digium logged into my machine and said everything looked right. It might just be that in our setup we do a lot of Zap -> meetme <- Zap calls and the echo canceller is having problems with that. It is now three weeks later and still no fix from Digium, I do get emails from them periodically saying that they are trying to figure out a good way of diagnosing the problem. So that is my excuse for why I do not have any good benchmarks for the Digium Echo-canceller card, maybe it'll be fixed by the time I have a test Sangoma echo-card to pit it against in a few weeks. Now onto the new firmware.
The first half-day of running the TE405Pv2 card I noticed right away that Digium had drastically improved the new firmware over version 1 because the load seemed to be about the same as on my Sangoma card systems. Now that it seemed that the new firmware was more of a match for the Sangoma a104u quad card it was time to compare them directly in a live production environment.
First a little about the test systems:
- Asus Motherboard with Intel P4(HT enabled) 3.4 GHz 1MB cache
- 2GB DDR2 RAM
- 2 x 160GB SATA hard drives
- 3 x RBS T1s and 1 x PRI T1
- Slackware Linux 10.1 with custom 2.4.29 SMP kernel
- Asterisk 1.2 beta 1
(Sangoma a104 card uses the wanpipe-beta13m-2.3.3 drivers)
(Digium TE405Pv2 card uses zaptel built-in drivers)
- astGUIclient suite 1.1.6
(for client apps and stats generation)
- We ran each of the cards in each system to ensure conclusive load results.
- The load numbers on the graph represent 200 = 100% load
- The stats generator in astGUIclient now also grabs CPU usage %(user/system/idle)
The results after one week(3 days of each card in each system) were very interesting. Under smaller loads, less than 30 conversations(60 channels) the Sangoma card has slightly better performance than the Digium card, about 2-5% on average. And under higher channel loads the Digium card has slightly better performance, about 2-8% on average. This is a dramatic change from the performance tests I did a few months ago
and shows that Digium has really done a lot to improve their firmware. The Digium card does still consistently have a few random load spikes that are always higher than the random load spikes with the Sangoma card as well as higher and more consistent user CPU usage spikes than the Sangoma system, but these don't seem to have much effect on overall system load.
One side note to these tests, I do run a Sangoma card on a system with all PRIs and I did test the Digium card with this kind of setup as well and there was virtually no difference in performance between the two for the day I tested them. That shows that the difference between the two seems to be limited to how they handle RBS T1 spans. A call to Sangoma confirmed that they do handle RBS circuits differently than Digium does and that they are in the process of writing some optimizations into their drivers to make their RBS handling more efficient.
In conclusion, I congratulate Digium on their new firmware as a giant leap forward that slightly edges out Sangoma in our performance tests. It also should be mentioned that over the last few months Asterisk as a whole has become more stable and efficient reducing load on almost all Asterisk setups. As for Quad T1 cards, I would recommend both Digium and Sangoma cards for production environments with these notes:
- Digium cards have slightly better performance with RBS circuits under higher load than Sangoma cards
- Digium cards are easier to install and configure than Sangoma cards
- Sangoma cards have a 5 year warranty(while Digium only has a 2 year warranty)
- Sangoma quad T1/E1 cards can fit upright in a 2U case and are shipped with 4 x T1/E1 cables
- Sangoma cards work in both 5v and 3v PCI slots.
- Sangoma cards are guaranteed to work with all x86 Intel/AMD-based motherboards(Digium cards are not)
- Both manufacturer's cards are FCC certified, although Digium is not currently placing their FCCID[LINDDNANWCTE410P] on their cards but will start with their next production run.
Both companies are dedicated to Asterisk development and offer free hardware setup support with the purchase of a new card.
I should be receiving a Sangoma echo-canceller card to test in the next couple months and I hope to be able to compare it to the TE406P if its issues get resolved by then.