Max BLF subscriptions

Our reception phone has 100 or so BLF subscriptions. According to Asterisk, this is too many. When someone pages out to all ext’s, Reception lights up like a christmas tree, but when the page ends, the lights slowly go out but some are always stuck on or stuck flashing (ringing). As far as I can tell, this is due to Asterisk limiting the number of notifications any given user can request within the timeframe N.
That said, BLF notifications seem to be very slow and generally just the wrong way of doing things. Applications like FOP2 clearly do it right, as they can show BLF status updates to all 100ext’s instantly, and they clear instantly as well.

So I suppose I have three questions.

  1. How do I increase the notification limit for a given user, or for all users, so that our reception phone doesn’t lose it’s mind when all 100 ext’s ring simultaneously?
  2. Is there a better way to accomplish this?
  3. Is there any way to disable BLF updates for paging/intercom? We really don’t care to see that every extension is currently being paged.

NOTE: In “full” log, I see this whenever a phone hits it’s notification limit:

[2014-07-02 08:02:44] VERBOSE[8864] chan_sip.c: == Extension Changed 999[ext-local] new state Ringing for Notify User 226
[2014-07-02 08:02:44] VERBOSE[8864] chan_sip.c: == Extension Changed 999[ext-local] new state Ringing for Notify User 249
[2014-07-02 08:02:44] VERBOSE[8864] chan_sip.c: == Extension Changed 999[ext-local] new state Ringing for Notify User 222
[2014-07-02 08:02:44] VERBOSE[8864] chan_sip.c: == Extension Changed 999[ext-local] new state Ringing for Notify User 335
[2014-07-02 08:02:44] VERBOSE[8864] chan_sip.c: == Extension Changed 999[ext-local] new state Ringing for Notify User 328
[2014-07-02 08:02:44] VERBOSE[8864] chan_sip.c: == Extension Changed 999[ext-local] new state Ringing for Notify User 307
[2014-07-02 08:02:44] VERBOSE[8864] chan_sip.c: == Extension Changed 999[ext-local] new state Ringing for Notify User 320
[2014-07-02 08:02:44] VERBOSE[8864] chan_sip.c: == Extension Changed 999[ext-local] new state Ringing for Notify User 228
[2014-07-02 08:02:44] VERBOSE[8864] chan_sip.c: == Extension Changed 999[ext-local] new state Ringing for Notify User 405
[2014-07-02 08:02:44] VERBOSE[8864] chan_sip.c: == Extension Changed 999[ext-local] new state Ringing for Notify User 220 (queued)

Followed usually by another 5-6 queued messages, and whichever notifications are queued, coincide with the BLF’s that never update.

Paging 100 phones at the same time puts a lot of stress on the system, you might need to adjust your ulimits on bigger systems.

How do larger organizations handle this? I’ve worked in environments where we’d page >1000 extensions simultaneously (Asterisk based) without issue. I unfortunately, wasn’t around during the setup and have no idea how it was all handled.

Is ulimit really the problem? Asterisk isn’t cacking out, it’s just queuing notifications as per spec. I recall there was a patch added to mainline quite a while back which intentionally added a limit to the number of notifications allowed to a single user, but haven’t been able to find an option to increase that limit.

Either way, I think I’d rather just disable BLF notifications for pages anyway. There’s really no sense in showing all exts as busy, simply because they are receiving a page. There must be a way to disable BLF changes when certain conditions are met?

Maybe set up your paging for multicast paging?

BF

As Bill says, multicast paging , if your phones support it, would not make them flash.

(and reduce the load on your system when paging by 99% :slight_smile: )

I also agree with multicast paging. that is something we were hoping to get into FreePBX 12, but it hasn’t happened yet

So, the answer is multicast paging, which isn’t possible until FPBX 12?

Multicast paging is not possible in 12, you have to do some manual dialplan manipulations in custom files at this time.

It IS however the solution to your problem.

Hadn’t fooled with 12 yet. Didn’t realize that multicast was passe.

I’ve been faced with that a couple of times. I think the best solution, if possible, is to put in an overhead paging system.

BF

Got it. Multicast works fine.
Modified extensions_custom.conf with:

exten => 8997,1,Dial(MulticastRTP/basic/225.3.15.13:32000)
exten => 8998,1,Page(MulticastRTP/basic/225.3.15.13:32000)

reloaded asterisk, and MRTP works perfect.

Just added the RTP address to our phone config (EPM - Multicast address 0), and rebooted. All works as expected.

Thanks all.

Let us know how it works over time, it is definitely something I would like to add to FreePBX in the page module