We migrated our legacy telephony system one year ago. Now, we are planning to grow and I’m not sure that our system is able to keep the pace.
Our System architecture is as follows:
We have two servers, one in Europe and one in USA. Both are running Asterisk and FreePBX and they are connected to each other, acting as a “just-one” PBX (device-state distribution, queues sharing agents from both boxes, unique reports, etc.)
On the busiest box, we can get 20 simultaneous calls. With new business strategy, numbers can grow up to four times.
Right now, we are relying on FreePBX for management and it has worked great. However, yesterday I talked to someone that had went without FreePBX because it was overloading their System. He noticed that principal cause of problems was FreePBX generated dialplan being too long. He built up his own dialplan and things went much more smooth.
This is worrying me a lot, as we have to make a decision before hand so that we have enough time to set things up (dialplan, front-end, etc.).
I’m not sure what approach to take as I didn’t experience myself any performance issues with FreePBX.
Any advice will be very useful.
Thank you very much in advance.
Borja Gª de Vinuesa
The limits of FreePBX although real should not affect your specific deployment, Start worrying at 200 concurrent calls and above , in which case start to look into a SIP proxy to divide the load. Otherwise FreePBX is more than adequate and if you need PBX like functions it is probably your best choice.
We run FreePBX Servers with over a thousand concurrent calls with no issues. Whoever told you this is full of it or they had something seriously wrong with their setup. Some of the largest companies in the US use FreePBX with thousands of extensions and well over 1000 concurrent calls.
FreePBX Dialplan is just Asterisk dialplan. It would not cause some magical call limitation.
FreePBX has long been critiqued for it’s extensive dialplan. However that dialplan provides numerous features and interfaces and hooks that you won’t find in plain asterisk without doing some heavy dialplan lifting (And I’m talking weeks if not months). Its always good to learn dialplan though and the development team (all 5-6 of us) are actively trying to make this all smoother, so if you do run into issues please report a bug. We do listen and we are going through and trying to clean this all up and fix it and make the overall experience better.
In Asterisk 12 the sip interface has been replaced. So you could theoretically go well above whatever the max concurrent calls was in Asterisk 11 and below. When we officially support 12 I will be curious to see how high we can go. At the same time as we move to 12 we will be cleaning up major portions of the dialplan. So we are actively trying to reduce the bloat. But you can only do it so much. My advice is that you should remove any modules you aren’t using to remove extra dialplan.
Also everything Dicko said is correct as well.
Hearing from the experts is very soothing. Thank you for the replies.
Everyday I come up with new ideas to implement what (IMHO) I think will improve FreePBX as are features that we miss. That said, I’m so greatful for the work that has been done, and I want to congratulate all the people that has contributed to it in any way.
I would love to start giving back something useful. The biggest barrier I find is to understand everything is going on in source code. I’m starting to improve my PHP skills so that I can be useful and contribute as many others. However, I miss someone that guides me through the enormous work that it’s already been done. I live in Europe and is hard to find or assist somewhere where they explain things to you. Could I talk to some of you, maybe once a week, to start being introduced?
Please, really, if there is anything I can do contact to me. I’ll be very happy to help.
Borja García de Vinuesa
There is a small organization on Github of FreePBX/Asterisk coders that strives to promote and help enthusiasts who are trying to get started, and we maintain a number of useful 3rd party modules that would otherwise probably just die. Check it out at:
There is also an IRC channel devoted to FreePBX development (freepbx-dev) which may be able to give you pointers as well.
As Lorne (lgatez) said the best way to contact us is through IRC at #freepbx-dev. A good starting place is what we call ‘POSSA’ and the hope is that in the future that will be more of a starting place for newer developers as we start to flush out our development docs more. Lgatez is a prime example of someone who wanted something extra in FreePBX and took it upon himself to learn some coding, in which he and I now run POSSA which is a collection of abandoned FreePBX modules we have found throughout the web.
In regards to IRC you can ping tm1000 or gamegamer43 Monday through Friday from 9am EST to 5pm PST
We also have some documentation up at: http://wiki.freepbx.org/display/DC/Developer+Corner+Home
In the next 4-5 months Bryan and I are going to be re-writing large swashes of freepbx backend and move to git, during that time we will also be bringing in Asterisk 12. It will be a lot of work but it will be a time where I hope to flush out more documentation for future developers as I believe one of the biggest hurdles right now is lack of documentation.
If that doesn’t work you can email one of us at info (at) freepbx (dot) org.
Thanks both (lgaetz, tm1000) for the advice. This week I’ll take a look to all POSSA and try to dive into it.