Archives

Home » Community » Asterisk Global Online Community » The Asterisk S-Prize: 10000 Call Legs, 1 Instance

The Asterisk S-Prize: 10000 Call Legs, 1 Instance

jtodd February 18th, 2009

Asterisk is becoming more and more a choice for larger installations, both in Enterprise as well as Carrier environments.  While SMB (small/medium business) continues to be the heart of the user base, it seems that many of the questions on the minds of the user and developer community have to do with scale, redundancy, and configuration issues which are relevant to larger installations.

To encourage the improvement and testing of larger-scale Asterisk systems, I’d like to repeat here what I mentioned today on the asterisk-dev mailing list:  I’m putting out a semi-official challenge in place.  The first person to get an Asterisk system moving 10,000 G.711 call legs through a single instance on a single machine will get a first-class steak dinner at Astricon.  And a great bottle of wine, if that is your preference.

This isn’t an X-prize, but the concept is the same – think of it as an S-prize.  ”S” means “Steak”.  Or maybe “Salad” if you’re a vegetarian. 

There are some serious hurdles here, for both software and hardware.  Ten thousand channels sounds like a lot, and it is.  But it can be done, and is already done with custom hardware from closed-source vendors.  Open Source Asterisk has not been (to my knowledge) tested at anywhere near that capacity, though attempts have been made in the thousands of channel level ranges with good successes.  However, there are significant “walls” to climb between ~2500 channels and 10000 channels, and this is not merely a linear application of processing power.  Just the throughput for this 10k challenge is pretty impressive: 500k packets per second per direction at 20ms, and 820mbps per direction.  Ethernet trunking/bonding may be required to overcome IRQ issues, or certainly very close administration of a gigabit interface.  Operating system tuning will be required in conjunction with Asterisk tuning (and probably patching.)  Documentation on how you achieve this will help everyone, and this is an “open” challenge.

I know that the Asterisk community is already headed in the direction of making these kinds of advances.  This is merely an incentive to speed up the process, and hopefully get some discussion going as to how people might solve the problems both in the Asterisk implementation as well as on the systems which are required to handle that kind of throughput.  Everyone benefits from the effort, and I think it can be done with some concentration and clever design.

Will there be some other platform that makes it there first, or has someone already reached that number?  Maybe!  I think any work done towards improving VoIP RTP throughput on Linux systems at these high packet-per-second rates will benefit everyone, especially if it’s an Open-Source solution that reaches the goal first.

Small print: one winner, even if a group effort – choose amongst yourselves. Group members may get secondary prizes.  Prize dinner will be at the following Astricon, in whatever city that is holds Astricon that year. Equipment must be “off-the-shelf” gear.  Software must be Asterisk from SVN, or patched with code that has been submitted to the bugtracker with a valid submission agreement for inclusion into Asterisk.  MOS of audio channels must be at least 3.2 or better (subjective.)  Calls must be standard G.711 with 20ms or 10ms sample intervals.  All RTP (RX,TX) for all channels must be routed through a single instance of Asterisk.  Methods must be documented and reproducible by other community members or Digium with the same equipment.  Winner will be publicly cheered.  Dinner to be at Mortons, Ruth’s Chris, or comparable venue.  10,000 call legs is equivalent to 5,000 “hairpin” calls, though 10,000 calls to “Echo()” would be acceptable.  Substitutions are possible.  SIP, IAX2, or H.323 are acceptable protocols.

About the Author

I'm the Asterisk Open Source Community Director. You can reach me at jtodd@digium.com. I try to work as a catalyst (yes, an over-used term) for getting ideas and code moving around in our large development community. I'm often as well a promoter, writer, encourager, and behind-the-scenes nag about all things Asterisk both in the community and w… more about jtodd

15 Responses to “The Asterisk S-Prize: 10000 Call Legs, 1 Instance”

  1. [...] Más información: http://blogs.digium.com/2009/02/18/s-prize/ [...]

  2. The Asterisk S-Prize - Team Forreston 19 Feb 2009 at 12:35 am

    [...] read more about the contest, check out the official post at [...]

  3. [...] John Todd announced an amazing little contest — The Asterisk S-Prize. Asterisk, the open source VoIP telephony software from Digium, finds itself in small / medium [...]

  4. [...] And a great bottle of wine, if that is your preference.”The rest of the blog post is here. Tags: astricon, Scalable Systems, Scaling Asterisk, G.711 Snap Voip Copyright © 2005-2008 [...]

  5. roderickmon 19 Feb 2009 at 5:28 pm

    Sounds interesting! Contestants might like to know How to test an Asterisk server using SIPp and How to achieve gigabit speeds with Linux. And that’s just for starters. There are all kinds of gems in the mailing list archives.

  6. anonymous cowardon 24 Feb 2009 at 11:43 am

    the answer is easy:

    diff -urN asterisk-1.6.5 freeswitch-1.0.3

    did I win the steak ?

  7. Michael S Collinson 25 Feb 2009 at 3:56 pm

    @anonymous coward

    While I love FreeSWITCH I don’t agree with your post. Even if you did win, how would they give you the steak since you remained anonymous?

    However, if you *do* get this up and running with FS I’d love to hear about. Until then please do more system building and less forum spamming.

    -MC

  8. Makhtaron 26 Feb 2009 at 10:03 am

    Well… I have tested Asterisk 1.4 with SIPP, and things were ok up to 200 simultaneous calls. So if I write a script that launchs in background mode 50 instances of SIPP that dial to a test extension , the homework will be done, right?

  9. [...] giorno fa in -dev e’ nata una simpatica competizione, in seguito  pubblicata anche sul sito digium, per la persona in grado di di fare 10.000 call legs con asterisk. La cosa [...]

  10. Eric Chouon 21 Apr 2009 at 1:58 pm

    Is the bandwidth calculation, ’500k packets per second per direction at 20ms, and 820mbps per direction’, correct? Here is my calculation:

    64 Kb per sample with 2 samples per payload = 1280 bits or 160 bytes per payload
    64 Kbps / 1280 bits = 50 packets per second

    Each packet size = 160 bytes + 58 bytes (40 bytes IP/UDP/RTP + 18 bytes Ethernet) = 218 bytes or 1744 bits

    1744 bits x 50 pps x 10000 calls = 872 Mbps

  11. [...] Digium Blog – The Asterisk S-Prize: 10000 Call Legs, 1 Instance [...]

  12. [...] surgió a partir de un premio que ofrecería Digium para ver quién sería el primero en lograr 10000 llamadas (5000 conversaciones) con un único [...]

  13. Kristijanon 30 Oct 2009 at 3:36 pm

    is there a winner meanwhile? because i want to run ~1000 concurrent calls, hoped for some tuning tipps

  14. jtoddon 30 Oct 2009 at 8:10 pm

    Kristijan – We’re fairly certain that someone has won the contest. Olle Johannson has discussed his achievement on the asterisk-dev list a month or so ago, and I further talked with him about it at AstriCon. He supplied some documentation, but honestly I haven’t gone through it all yet. We probably want to validate and verify the results, and we’re under way to getting the equipment to do this. Olle’s “secret” to winning (he says) is that he’s using HP G6 machines for the test, which have a very good IRQ management method, or at least that is my muddled interpretation of the reason. In any case, Olle was testing with 1.4 and said he achieved 11,000 channels or more between two systems, at which point the ethernet interfaces were overloaded or some other unknown limit was reached. The exact machine specs (sorry for acronyms) was “HP DL380 G6 E5530 3*2GB RDIMM P410i/256″ for Olle’s experiment, and simple ‘echo()’ was used on the test calls and I assume he was playing back a soundfile. I’m VERY interested in hearing if anyone else can reproduce it! I’ll fill in the details when we get the machines in-house to re-test.

    JT

  15. Patent Applicationon 26 Jan 2011 at 2:13 am

    The first person to get an Asterisk system moving 10,000 G.711 call legs through a single instance on a single machine will get a first-class steak dinner at Astricon.

Trackback URI | Comments RSS

Leave a Reply

Around the Web

Subscribe

Receive blog posts via email:

Have a Suggestion?

Think there is something we can work on? Tell Us!

Thousands of companies in more than 170 countries rely on Digium phone systems.

Google
Orbitz
Yahoo!
Ikea
Martha Stewart
IBM