[Asterisk-Users] 911/Emergency calls + Caller ID
Adam Goryachev
mailinglists at websitemanagers.com.au
Mon Jun 23 19:20:11 MST 2003
> Problem: 911 calls placed through Asterisk are associated with the
> physical location of where the CO trunks terminate. This is not really a
> problem when all extensions are located in the same building, but when
> Asterisk is used in a campus-like or otherwise networked environment, it
> can get messy.
>
> A common solution is to install a few analog lines at each location, for
> emergency calls only. But by making clever use of Caller ID (and adding
> a 'location' field to extensions.conf), it should be possible to
> properly identify the location of the caller:
>
> exten => 1001,1,John Doe,1223 Bell Ave. Room 51
>
> For this to work, you would have to be able to apply rules to the 911
> context in a dial plan, to replace the *name* portion with the
> *location* portion.
>
> A similar rule could be defined to drop other calls if 911 is dialed and
> all lines are busy (e.g. drop the lobby phone but not the front desk, or
> drop local vs. long distance, caller ID calls vs. non-identified calls,
> etc.).
>
> Getting lengthy, better stop.
>
> Dylan.
This is all quite interesting to me, as I have been somewhat concerned about
it, though have never quite bumped into it directly yet. It would be 'nice'
to be able to forcibly hangup on some rule based channel if a certain dial
'priority' is set. Perhaps you could do something like this:
exten => 911,1,SetVar(priority,911)
exten => 911,2,Dial,Zap/g2:911
(Ignore the likely invalid syntax/parameters, but you should get the right
idea)
Then in another config file:
[911]
On,Busy,Drop,Zap/1
On,Busy,Drop,Zap/g2
On,Busy,Drop,any
So, we might initially try hanging up on Zap/1, but for some reason, we
can't release the channel, so we now try each line in Zap/g2 successively,
if we still can't get a channel to become available, then try any other
line, (heck, drop all of them and pickup the first available).
You could also use this so that just before your boss's dialout, it sets the
priority to 666, the first thing it does is try to disconnect the line your
extension is using (because you only ever talk to your friend and spend all
day chatting instead of working, but don't want your boss to realise you
were on the phone again...)
Yes, it is possible to use SoftHangup to do this, it can be done as an AGI,
but I think the importance of this is such that the level of peer review and
correctness is rather high! Imagine you get it wrong and all it does is hang
up on the caller when they dial 911.
Also, it isn't very easy to 'test' either, as the staff at the 911 call
centre won't appreciate your testing, and at least in Australia, it is some
sort of criminal<?>/illegal offence to call emergency for non-emergency
situations.
PS, also keep in mind that different countries use different codes for
emergency. Personally, when setting up these codes, I have tried to
accomodate for all the ones I know of:
911 - North America
000 - Australia
112 - Emergency from Mobile Phones in Australia
I'm not sure what the number is in other countries, but perhaps we should
allow this to be somewhat flexible enough that it can be used anywhere.
Just some additional lengthy comments to add to the list :)
Regards,
Adam
More information about the asterisk-users
mailing list