twenty thousands (20, 000) users, which asterisk and how many servers

Home » Asterisk Users » twenty thousands (20, 000) users, which asterisk and how many servers
Asterisk Users 5 Comments

the solution lies in kamailio/opensips‘s despatcher module.

Sent from my iPhone

On 23 maj 2012, at 20:46, bilal ghayyad wrote:

> Dear;
> So it is a hardware issue and not software?
> I am afraid that asterisk software it self is not able to support 20 000 users and 2000 concurrent calls.
> About the high availability: is there a method that if the first asterisk server down, then the call will stay connected and failover to second asterisk server?
> Regards
> Bilal
> ————–
>> 20.000 users is really a big number, as big as 2000
>> concurrent calls.
>> As previously stated on this list, it depends… it depends
>> by the type of
>> calls for example. If all media is offloaded from the server
>> letting the
>> phones to reinvite each other, than your server CAN support
>> the call
>> volume. If instead even a tiny portion of the call volume
>> uses service on
>> the pbx, like IVR, music on hold, conferences, queues or
>> even worst,
>> transcoding, then the server is obviously underpowered. From
>> my point of
>> view, servicing 20.000 users with a single piece of hardware
>> is highly
>> risky. It can broke in the middle of the day, leaving all
>> your users
>> without service. I think a better approach will be to have
>> more less
>> powered servers working all together to serving your users.
>> If a day one or
>> two of them broke, you have not to worry because the other
>> will continue to
>> serve your users and nobody notice the little decrease in
>> power.
>> There are a lots of way to achieve the high availability,
>> load sharing,
>> each with its pros and cons.
>> Right now I am building a pbx with high availability and
>> load sharing in
>> mind, for a client who wants to achieve numbers you have
>> just said. Let’s
>> see how it works in few months.
>> Leandro
>> 2012/5/23 bilal ghayyad
>>> Hi All;
>>> I need to use Asterisk for 20 000 users, so which
>> asterisk version to be
>>> used? Is there asterisk version that supports 20,000
>> users on one hardware
>>> machine?
>>> Can I use one strong hardware server i7 with 64 GB RAM
>> and fast hard desk
>>> to handle 20 000 users, and concurrent calls 2000? Or I
>> need multiple
>>> servers, how much?
>>> If I am going to use multiple servers (until now I do
>> not know how much,
>>> and I do not know if the barrier will be the asterisk
>> software or the
>>> hardware), then do I have to use special SIP proxy or I
>> have to use load
>>> balancer)? In this case, I have to use asterisk
>> Database (so all the
>>> servers will read/write from the database)?
>>> What about AsteriskNow, can it support?
>>> Regards
>>> Bilal
> —
> _____________________________________________________________________
> — Bandwidth and Colocation Provided by
> New to Asterisk? Join us for a live introductory webinar every Thurs:
> asterisk-users mailing list
> To UNSUBSCRIBE or update options visit:

5 thoughts on - twenty thousands (20, 000) users, which asterisk and how many servers

  • Thanks for all for the help and kindly reply.

    One last point that will help me alot:

    I am thinking to have 4 Servers running Asterisk and 2 Servers to be for database. The load to be distributed on the 4 Asterisk Servers with ability to be redundant (using any redundancy technique). The 4 Asterisk Servers to take the configuration from the Database Server and actually because there is 2 Database servers, then it will be redundant to each other (in case one database failed, the other will take over).

    My question is:

    Is it really possible to have the asterisk configuration in the database server instead of having it in conf files? HOW? I am asking this because what I noticed in AsteriskNow and in A2Billing and Vicidial or Goautodial that whatever I do configuration in the GUI, then the configuration will be generated in the conf files, so Asterisk will read from the conf files and not from the database directly. Is it right or I am confused and there is something else?

    If there is a method to let the configuration to be taken from the database (and not from the configuration), then HOW? Because even in AsteriskNow, the configuration will be generated in a conf files.

    Special thanks for the advise.


  • Hi Bilal,

    You want to look the Asterisk realtime configuration features if you
    want to run your configuration from a database rather than configuration

    This should point you in the right direction and get you started:

    It should be noted that if you’re wanting to use AsteriskNow (which
    relies on FreePBX for its gui configuration features), then Asterisk
    realtime configuration will not work as it is not compatible at this
    time. Other web gui’s might work, but I am not familiar with them.
    FreePBX’s sentiment on the subject is shared here:


  • Am 24.05.12 23:46, schrieb bilal ghayyad:

    Hi Bilal,

    Without talking about the Gui, i dont think you will be happy using
    realtime for this kind of load you were talking about. Asterisk using
    realtime is much slower than using config files, cause there is a big
    difference if you ask a database for any kind of data or if you allready
    have it in memory loaded from a config file.

    When you want to serve 20k peers with 2000 concurrent calls, even spread
    over 4 servers you still need all users accessable from every asterisk
    server, which means to find one peer you allways have to check all entries.

    i have on my systems around 4000 peers spread about three servers with a
    sip proxy in front but i still use generated config files cause realtime
    cant take the load. BTW i have also a mysql cluster setup with two
    master and two slave servers and the load is spread about them.

    maybe you should think about doing a split load balancing like server 1
    and server 2 can do failover and load balancing but only for the half of
    your peers and the same for server 3 and server 4.

    another big point when it comes to realtime with this amount of peers is
    that asterisk will update the contact data with every register it
    receives into the database. 20k peers means atleast 6 registrations
    every second and one register normally means 3 or 4 database request
    (finding the peer to see if there is a secret set, if yes send a 401
    back and when the reregister comes also checks the pass for this peer.
    if every thing is correct then update the contact data).

    its not so easy at all to build a system for such a big bunch of peers
    and calls.

    best regards


  • Asterisk Realtime is better for administration.

    Performance, IMHO is the same issue. I’m not lucky to made large
    implementations to test these.