I am in the VOIP Voice wholesale business, my old switch has run out of capacity, and we have started to use Asterisk with A2billing as our voice wholesale switch. Calls would be authenticated by IP addresses in the customer table, check the sell rate tables, buy rate tables and calls routed by Least Cost. During our testing stage, we are able to support close to 1,000 concurrent calls, but when calls start to come in fast, we run into a problem that the switch will become very slow, it will take a long time for calls to setup. We estimate that the maximum set up calls per second is now around 20 to may be 25, we need that to be higher, we have added more CPU, more RAM, but it just does not improve, I desperately need assistance please.
first you have to look to database performance. If the problem not is the database you have to put OpenSIPs or Kamailio in front using this configuration:
one server with OpenSIPs or Kamailio
one server with the web part of a2billing
two or more servers with Asterisk
From OpenSIPs or Kamailio balancing the calls between Asterisk Servers.
Look at load_balancer module of OpenSIPs or Dispatcher module of Kamailio
Hello, Annusfictus, thanks for your response. I don’t think it is a database performance, as during that period, we tried to access the database and it was not that slow. We are using postgresql, I wonder if you know of any parameters that we need to adjust in order to be able to support at least over 1,000 channels with more than 100-200 Calls Per second coming in?
It seems the bottleneck is the Asterisk itself, I would prefer not to use load balancer and having too many servers if possible, Hence, I wonder if anyone would know how we could configure Asterisk/A2billing/postgresql in order to have the Asterisk being able to support that kind of volume.