K12 Education Ray Baums Compliance.... Care to share solutions and ideas?

Hello All,

I am grateful to see an Education Category and hope to be able to contribute and assist at times here.

I am curious to see what others in the K12 space are doing to meet/maintain/audit Ray Baum’s Compliance.

I am aware of Clearly IPs E911 solutions, and if by the wave of a wand I could utilize many of the services and products they offer I would.

That being said I am currently using a DID based solution as we currently have a lot for most of our districts. In efforts to maintain, essentially I made a spreadsheet with all the extensions as well as the respective Emergency DID and E911 information that was last uploaded.

I wrote a pretty simple macro for asterisk that essentially is to be used by the end user. The Macro is then tied to a Misc App which I am calling “S-O-S test” via dialing 767. Upon dialing it the user is routed through a specific trunk and also dials 933(Common SIP Carrier e911 location test) after the location announcement is terminated by carrier, I then pull the call into an internal survey which asks the caller if the location was correct or not. The answer is given via the phone’s dial pad. 1=Correct 2=Incorrect. From there I have the users answer emailed to a dedicated email for pbx services. The inbox is then scraped using GAM. GAM is programmed to take the latest result code and update the spreadsheet mentioned earlier. I also built in aging into one of the columns representing days since last test. From there how different districts choose to maintain the records varies.

If there is interest, I am happy to share the specifics as to what I am doing to make this work within Asterisk and FreePBX.

I am also open to any feedback or ideas for improvement.

6 Likes

Thank you for kicking off this category and for your helpful post! This is exactly the kind of discussion we aim to cultivate here.

1 Like

I am interested in seeing how you have this set up and if it would be of any benefit for my situation. I just recently set up a FreePBX system in our district this summer. It handles approximately 200 phones. I have outbound routes set up with extension routing to direct phones through specific “emergency DIDs” when dialing 911, 988, and 933. This allows me to group phones together based on location for the E911 dispatchable location.

Ultimately, I would love to see Dynamic E911 PIDF-LO more widely used and configurable in FreePBX so we can report location using SIP headers instead of having all these DIDs. I am still in the process of learning a lot of of the intricacies of Asterisk and SIP telephony in general.

Thanks!

2 Likes

@ajgreenawalt sure thing! I will do my best to explain, and please if you have ideas or suggestions please share.

So I chose to split all three of those into separate routes. Big in part because we use the notifications and I wanted to be able to do test 933 calls without scaring admin into thinking an emergency was occuring. I would also love to see a dynamic solution.

Ok here is what I wrote in: /etc/asterisk/extensions_custom.conf

[macro-sos-test1]
exten => s,1,Set(CALLERID(all)=${AMPUSERCIDNAME} <${AMPUSER}>) 
exten => s,n,answer()
exten => s,n,Dial(Local/933@outrt-15,,g)
exten => s,n,Goto(macro-sos-test2,s,1)

[macro-sos-test2]
exten => s,1(question1),Read(answer1,/var/lib/asterisk/sounds/en/custom/sossurvey,1,,1,2)
exten => s,n,GotoIf($[ ${answer1} < 3 ]?finish:question1)
exten => s,n(finish),set(answer=${answer1})
exten => s,n,Set(CDR(userfield)=${answer})
exten => s,n,system(echo 'Call from ${CALLERID(number)} answered ${answer}' | mail -s "SOS Survey ${CALLERID(name)} ${CALLERID(number)} ${answer}" [email protected] <<< "${answer} Test" < /dev/null)
exten => s,n,playback(/var/lib/asterisk/sounds/en/custom/sosconclusion)
exten => s,n,Return()
exten => s,n,Hangup()

A few notable items:
exten => s,1,Set(CALLERID(all)=${AMPUSERCIDNAME} <${AMPUSER}>)
I did this to overide extensions using SIP alias.
exten => s,n,Dial(Local/933@outrt-15,,g)
This forces 933 over specified outbound route see: /etc/asterisk/extensions_additional.conf

Also be sure you do a dialplan reload in asterisk prior to attempting to utilize.

On FreePBX make sure to build an association in Admin>Custom Destination. After that you can utulize Misc app module to point to it.

Let me know your thoughts on this, or if you have any questions!

Out of curiosity and you can answer privately, what are your hurdles here that would require a magic wand?

1 Like

Hi James,

I will reach out to you.

:slight_smile:

One of the advantages with specific DIDs at this scale is that they are usually part of a block and therefore a) don’t cost extra and b) are readily available and c) don’t confuse the situation by showing a random caller ID number to the PSAP that the caller doesn’t recognize as even being in their NPA NXX, or perhaps even more confusing is making it a random dynamic call back to save a few pennies for what are, ultimately, static locations eg. class rooms.

Noted, and agreed. There was a lot of great Geolocation integration work in Asterisk by @gjoseph that needs to find its way into the FreePBX GUI.

1 Like

One of the advantages with specific DIDs at this scale is that they are usually part of a block and therefore a) don’t cost extra and b) are readily available and c) don’t confuse the situation by showing a random caller ID number to the PSAP that the caller doesn’t recognize as even being in their NPA NXX, or perhaps even more confusing is making it a random dynamic call back to save a few pennies for what are, ultimately, static locations eg. class rooms.

@penguinpbx, I really appreciate you weighing in on this. You are correct, honestly the DID rates we get are so spectacular it makes doing this very cheap, compared to other solutions I have investigated. Where this does get complicated for my situation: in Oregon State, we happen to still have a lot of independent Telco’s as ILECs, thus sole proprietors of respective town/area rate centers. Several of my School districts fall into being in this sort of territory.

Interestingly, well-prior to my time in my role, somehow my organization was able to port a select few priority DIDs for these schools respectively. I may have mentioned to you but I actually came from the independent Telecom world, and this baffles me as to how this was even accomplished.
ILECS do not generally port out DIDs nor will a receiving carrier “pull in” DIDs from a foreign rate center without plant being “built out” to area or being in CLEC territory. One FCC granted exception to this, the cellular carriers can take ANY DID from ANY communications carrier on behalf of a customer.

For the current strategy I employ this ultimately feels defeating, my messy solution outside of that for theses schools is a DID from the closest available rate center.

I’m with @ajgreenawalt a Dynamic-esque solution(shoot, any clean all encompassing solution) would be fantastic.

I wish PIDF-LO was reliable way to handle 911. For example, both Intrado and Bandwidth state that if you use PIDF-LO and if the values your provide can not be verified by them at call time that they will ignore your PIDF-LO and send you to the national 911 center at 75.00-95.00 per call.

Bandwidth own documentation states the following. Basically you need to validate the PIDF-LO info before you ever use it for each address using their API and hope from when you validated it last, to when you make a 911 call they have not changed their validation which we have seen happen numerous times.

Important: Regardless of whether you’re using Location by Value in PIDF-LO or Location by Reference in the Geolocation header, all geolocations must be prevalidated and added to the Bandwidth App before you make a call.

Important: Ignoring case, the standardized address you pass to Bandwidth in the PIDF mime attachment must match exactly what Bandwidth returns when the address is validated in the Bandwidth App or the API call. If Bandwidth doesn’t find an exact match, the call will be routed to the emergency call center as an unprovisioned call.

@tonyclewis I appreciate you sharing this information.

I have it even worse. My enterprise is spread over no less than 4 counties and in my state 911 is handled though counties. I can’t find a carrier that’s willing to route 911 calls on a PRI to a different county than the one that they originate their trunk from - so I have individual POTS lines at each site. And to add to that, PRI delivery is regulated in my state while SIP trunk delivery is not - so phone lines on a SIP trunk cost 2x what lines on a PRI cost.