I’m having an issue that is a bit of a continuation of a topic brought up here but cannot find the answers that I need without getting a little confused. How do I restrict the amount of calls coming into a certain DID on a T1 PRI trunk?
A little bit more about the setup… This is for four radio stations with two, T1 PRI connections with 4 DIDs on a hunt style trunk into our FreePBX 14 (Asterisk 13) server, giving us a total of 46 available lines for listener call-ins.
Each radio station control room only has 10 lines to answer via SIP. This week, one of the stations is doing a giveaway that has surprisingly overloaded the system. All 10 lines into that control room fill up but the entire trunk of 46 lines between the two PRI’s jam up with callers and drive the CPU usage of the asterisk service on the server to 115%, causing stuttering and choppy audio of the phone calls across the entire plant. So I need to figure out how to handle spikes of call loads like this. We’ve been running this setup for several months, but this has suddenly popped up with this giveaway.
What I want to do is limit the number of calls per the four DIDs that are on that trunk to 10 channels. I see a couple of options but am not sure which is the best course of action.
First, restrict the “Maximum Channels” in the trunk settings to 10, but that only limits the outbound channels. Outbound calls are actually routed back out through our business Nortel PBX via a PRI on the first span of the four port Digium PRI card, so I’m not sure this would work because the tool tip says “Inbound calls are not counted against the maximum”.
Another way is to find a way to restrict the number of inbound channels per DID to 10 on the trunk, but I cannot find where this would be setup. Ideally, when call 11 comes in to that DID, it would be dropped. Is that even possible in this version of asterisk 13?
And then based on what I’ve seen recommended elsewhere, using a queue would do this as well, but does anyone have any insight on how I would set this up to work efficiently as possibly? By that, I mean certain settings to make sure this works how these calls flow now but without anything that would drive the server into the ground trying to process the queues because I’d have to enable this for all four radio stations. I have to pass the queue of calls into the control room and then dump anything beyond the first 10 callers as the rest of them come in.
What is the best way to do this?