Greetings,
I believe the answer you will get from the gurus here, is there is no way. We have struggled with the same problem. Our facility, a non profit research lab, has over 40 buildings and in excess of 1200 extensions. It is a campus setting, just without a resident student population. Our administration wants to have a way to notify all staff in the case of an emergency, like, god forbid, a shooter on campus.
The Security department signed up with a service called SwiftReach (this is not an endorsement), which can notify people by phone, cell, email and text message. You can make multiple lists/groups such as a group to call all staff, a group to notify just one building, or a group to notify all the grounds guys to man the snow shovels. It is an offsite service who, when you press the send button calls each phone in your list.
One of the problems with such a system is that they can quickly overrun your trunks because they are capable of making hundreds of simultaneous calls. In our case, we have 2 PRIs which is 46 channels so for our test run we asked SwiftReach to throttle the calls to a max of 24 at any one time because we did not want to block to many normal calls. We then pared our phone list to 830 extensions, taking out faxs, conference room, alarms, etc. Our test run message ran 30 seconds and we asked the caller to listen to the entire message so we could time how long the process would take and we scheduled the test for 11:00am.
Watching the PRIs indicated that the 24 channels that SwiftReached used were 100% used and the remaining group did have idle channels so I did not have any blocking. However, in the case of a real emergency there has to be open lines to call out, so letting SwiftReach us all channels could also be a disaster. Bottom line. It took SwiftReach one hour and 15 minutes to call all all 830 extensions with a 30 second message.
To make this work we definitely have to get our staff to sign up using cell phones and text messages.
Hope this helps.