- Details
- Category: Technology
Music on hold (MoH) is the stream you listen to when you are being transferred, or when you are in a queue. If my understanding is right, it happens that MoH is continuously reviewed and played within the FreeSWITCH. A single server with many MoH queues will be using/wasting your CPU. Here is what I have figured out to work around this situation.
If you have a cluster with many tenants (aka domains), and each user can upload its music on hold you soon will realize that your CPU's utilization starts growing like crazy. I used to have one server in which the FreeSWITCH daemon was reported to use 30% of CPU constantly even without 1 extension registered. If I unload the mod_local_stream module, FreeSWITCH CPU utilization drops to 1%. Insane right? But it tells me it has to be with MoH. Of course, I was loading 99 queues.
Here is what I did.
Read more: When the FusionPBX/FreeSWITCH Music on Hold keeps holding on your CPU
- Details
- Category: Technology
So, suppose you are lucky to have a FusionPBX VoIP cluster and you are sort of paranoid about the availability of your service. In that case, you may consider the ultimate countermeasure to mitigate an unavailability risk. Your answer is the deployment of a DRP.
A Disaster Recovery Plan is more than just having an emergency server. But in this article, I will describe just the technical part of deploying this emergency server.
I always deploy my FusionPBX Clusters with a MariaDB Galera cluster on the back. Then, I will write about it.
- Details
- Category: Technology
Just another beautiful day to have database issues. This time, I have a beautiful MariaDB Galera Cluster running as a backend of a FreeSWITCH Cluster. It seems that the operation does not take a single rest and it keeps adding new extensions. New extensions mean more calls, which can be translated into more database queries and connections.
The issue here is not changing the max_connection value in the database configuration file. The issue, as I see it, is that doing that will waste memory that could be used somewhere else. Therefore, the value needs to increase gradually; at some point, this will not be enough and more tunings, including database register cleaning, might be done. For now, just let's configure an alert that will tell us when it is a good time to start thinking about what to do.
Read more: Monitoring the MySQL/MariaDB Maximum Connection Cap with Nagios
- Details
- Category: Technology
FusionPBX has a click-to-call application that is not very easy to find, but it is not hidden at all. The click-to-call capability allows the linking between endpoints from an HTTP event. To be more clear, a perfect click-to-call example is the one that bank pages have on their pages, where you put your phone number, click the button and after a moment you get a call from the bank.
- Details
- Category: Technology
Now that I am managing some clusters with a lot of activity, one of the most common issues is when a user does a change he wants it right away. This is almost true for most of the things, but there are some things, such as music on hold or call centers. The thing here is that to take the new settings, FreeSWITCH requires a module reload; sadly, the module cannot be reloaded if it is being used.
I wrote the following script to help system managers to deal with this.
Read more: Reloading a module in a heavy used FreeSWITCH server

