VoIP Call Center Issue – Phone Freezing Due to High Traffic

Dear all,

I am experiencing an issue with a VoIP call center setup. I have a FreePBX server with ample resources, and CPU/RAM usage never exceeds 20%. This FreePBX server is connected to a VoIP provider via a trunk, which offers me an Italian number with virtually unlimited channels. In theory, I can receive as many concurrent calls as needed, though I estimate the practical limit to be around 300.

My ring strategy is very basic: all extensions ring simultaneously through a ring group when a call arrives. If everyone is busy or no one answers, the call is routed to a queue, which continues ringing all extensions simultaneously while playing a waiting message to the caller.

I have around 40 extensions on the same network as the FreePBX server, consisting of older Fanvil X4G phones with limited memory. The issue arises when there is high incoming call traffic, let’s say when 30 extensions are talking and 20 client are in the queue. At this point, some phones start lagging, likely due to memory exhaustion. Symptoms include unresponsiveness, frozen displays, and, in some cases, the need for a manual reboot. Occasionally, the phones recover on their own.

I suspect this occurs because each SIP INVITE puts stress on the phones, even if they are already busy or just ringing. FreePBX itself remains stable, so the issue seems to be related to the memory limitations of the extensions.

Reducing the max callers parameter in the queue is not fixing the issue, I assume this does not have an impact since incoming calls do not stop due to the nature of the work, so no matter how much I reduce the queue, calls will keep coming in.

Do you have any suggestions to mitigate this problem without replacing the phones with more powerful models? Could I optimize network traffic in some way? Since company policy requires all phones to ring simultaneously, would it be possible to use multicast for the ringing strategy?

Thank you.

1 Like

Do all of the phones have BLF keys programmed on them where they are suppose to monitor each other? I have ran into issues many times where if you have every phone in a ring group and they are all monitoring each other, it will cause a lot of traffic causing the phones to lag due to the high quality of SIP NOTIFY requests. The best fix is to convert the BLFs into speed dials. You could also mitigate the amount of line keys to one, so that you don’t receive a high amount of SIP INVITE requests on the backend while the agents are on a call. Depending on the model/manufacturer, there are some quality control settings in the local GUI.

2 Likes

Howdy! Welcome to the forums.

Great point on reducing SIP NOTIFY message flooding. :slight_smile:

There are certainly different choices to consider when scaling in this type of situation:

Other business questions to consider that others in your organization might be able to help answer:

  • Does everyone need to be answering the phone right now ?
  • Is it possible to separate the agents into primary, secondary, tertiary, etc., queues ?
  • What is the customer hearing when they dial in during peak times eg. make some test calls ?

I think you may have another issue with the logic in your call routing. Not that this will cause the issue but may be more of a customer service issue.

call comes into the ring group, not answered, goes to queue…
more calls come into the ring group, get answered… First call still in queue…

The point of a queue is to allow a few agents to handle a large number of calls, IN THE ORDER they were received…

If you have a ring group preceding your queue you are affectively letting later callers “jump the line” ahead of callers already in the queue.

Why have the ring group at all? What real purpose does it serve?

1 Like