Ticket #2582 (new Feature Requests)

Opened 4 years ago

Last modified 2 years ago

- Global Bandwith Control for Trunks - according to WAN link bandwith limits -

Reported by: olivier1010 Assigned to: p_lindheimer
Priority: major Milestone: Undetermined
Component: Core - Trunks/Routing Version:
Keywords: Cc:
Confirmation: Confirmed SVN Revision (if applicable):
Backend Engine: All Backend Engine Version:

Description

It would be interesting to monitor the global active channels number for all trunks.

We have actually a maximum channels limit for each trunk, but for most professional setups we have more than one trunk. At least one RTC provider trunk, one RTC backup provider trunk, one or more private trunks, and one Enum trunk.

To avoid bandwith saturation on the Wan, we need to restrict the number of calls. This is not done efficiently by the actual method because the sum of calls on each trunk need to be lower than the maximum global number of calls.

If we had a maximum number of calls setting for all trunk, we could put a higher maximum for each trunk.

This should work as soon as we are using the same Codec for all trunks. (in a professional setup, we use most of the time G711).

Restricting the number of calls is quite an unprofessional method of controlling bandwith. Using RSVP or a similar bandwith allocation method, wa can mimic traditional telephony ATM bandwith control. This is a better way. But unfortunately hardware supporting RSVP is expensive.

Without RSVP, an alternative way could be to compute the total bandwith from the bandwith sum of all active calls, and authorize or decline new calls.

Then we would just have to give the WAN bandwith, and the asterisk system would stay below. This seems quite an acceptable method, as soon as the WAN link is dedicated to only one Asterisk server traffic. (most companies setup should be in this situation, because even if they have a backup server, it does not run normally at the same time).

Asterisk and FreePBX seems to be quite mature as of today, but they miss a basic bandwith management method.

Change History

12/23/07 16:13:23 changed by p_lindheimer

  • confirmation changed from Unreviewed to Confirmed.
  • version deleted.

controlling aggregate bandwidth across calls would be nice, however it's not usually acceptable to drop incoming calls and they take up bandwidth as well assuming VoIP. If you want to do the overall control, you can use the pre-dial hook to do it. Also you will find that most organizations have one main provider they use. The alternates are either for backup/redundancy or because the primary providers limit the number of calls.

07/17/10 14:19:30 changed by olivier1010

This is not always the case. More and more organisations are using internal IP trunks, for inter agency communications.

In this context, as they often have a single WAN link, they need to limit the total call number, shared betweeen the provider trunk and internal trunks, to avoid WAN saturation.

There is two solutions to do this : full RSVP interaction with the router (complex to do) and limit globaly the number of calls on all trunks.

This function is named call acceptance in the TDM telephony world.

This need to be implemented inside IPBXs because IP is more and more used today for trunks.

07/18/10 03:23:03 changed by olivier1010

Some functions we could have for call admittance :

for each trunk :

- guaranted call number

- maximum call number

eventually a separate setting for inbound / outbound

for all trunks using the same WAN link :

- maximum call number

Call priority :

Another usefull function, is call priority : actually, if an urgency call is needed, and the WAN link is full, there is no way to establish the call.

With a call priority function, it would be possible to drop another non urgency call, so that the urgency call can establish on the wan link.

Actually we have implemented call priority using TDM ISDN interfaces, but we would be happy to do this directly inside FreePBX, as the futur is IP, not TDM.

Call priority is a necessity for urgency phones to be in conformity. Before VoIP, it was simple : using an analog phone with a line seizure module.