Many locations that have implemented VOIP solutions require that there be a telephone line local to each physical location, through which callers can access 911. In the example system’s case, all of a location’s 911 calls will be routed through a specific trunk-group, which has a single POTS line member. That gets the caller to 911. But what happens if the PSAP doesn’t get the address, or the caller hangs up before speaking to the 911 call taker? Generally, the 911 call taker will attempt a return call to the same number.

Because a single POTS line is associated with an entire location – think office building – there isn’t necessarily a specific telephone number to which that we can route the inbound call from 911. Or, on the flip-side, it might be a location where there’s a front-desk guard, who should receive such calls. This vector and announcement takes care of both cases:

  • If there is a telephone number that the call can be routed to, first play an announcement indicating the street address of the facility, and then optionally transfer to someone if the 911 call taker presses zero.
  • If there is no telephone number that the call can be routed to, repeatedly play a message that provides the address of the facility.

The reason I’ve done this rather than directly sending inbound calls using that trunk-group to an extension, when there is one that it can be routed to, is because sometimes 911 calls are made after-hours, and transferring the inbound call to an extension that may not be attended 247 could potentially significantly slow the response time from 911, if a true emergency should arise.

display vector 312                                              Page   1 of   6
                                  CALL VECTOR

    Number: 312              Name: in-911-assoc
Multimedia? n      Attendant Vectoring? n    Meet-me Conf? n           Lock? n
     Basic? y   EAS? y   G3V4 Enhanced? y   ANI/II-Digits? y   ASAI Routing? y
 Prompting? y   LAI? y  G3V4 Adv Route? y   CINFO? y   BSR? y   Holidays? y
 Variables? y   3.0 Enhanced? y
01 wait-time    2   secs hearing ringback
02 collect      1    digits after announcement V1       for none
03 goto step    5             if digits           =      0
04 goto step    2             if unconditionally
05 #    callers will be forwarded
06 goto step    9             if V2               <>     ????
07 route-to     number V2               with cov y if unconditionally
08 stop
09 #    no person available
10 announcement 61131
11 goto step    2             if unconditionally
12
display announcement 61131

                       ANNOUNCEMENTS/AUDIO SOURCES

  Extension: 61131                           COR: 1
  Annc Name: in-911-repeat                    TN: 1
  Annc Type: integrated                    Queue? y
Group/Board: 003V9
  Protected? n                              Rate: 64

Script for 61131: “No further information is available at this time, and the system is unable to transfer you to a person. This message will repeat.”

display vdn 3179                                                Page   1 of   3
                            VECTOR DIRECTORY NUMBER

                             Extension: 3179
                                 Name*: in-911-dept1
                           Destination: Vector Number        312
                   Attendant Vectoring? n
                  Meet-me Conferencing? n
                    Allow VDN Override? n
                                   COR: 1
                                   TN*: 1
                              Measured: none


        VDN of Origin Annc. Extension*:
                            1st Skill*:
                            2nd Skill*:
                            3rd Skill*:



* Follows VDN Override Rules
display vdn 3179                                                Page   2 of   3
                            VECTOR DIRECTORY NUMBER

                            AUDIX Name:
                   Return Destination*:
               VDN Timed ACW Interval*:      After Xfer or Held Call Drops*? n
                      BSR Application*:
         BSR Available Agent Strategy*: 1st-found      Used for BSR Polling? n
                     BSR Tie Strategy*: system

               Observe on Agent Answer? n

  Send VDN as Called Ringing Name Over QSIG? n

              Display VDN for Route-To DAC*? n
            VDN Override for ASAI Messages*: no

                       BSR Local Treatment*? n

              Reporting for PC or POM Calls? n
           Pass Prefixed CPN to VDN/Vector*? system
* Follows VDN Override Rules
display vdn 3179                                                Page   3 of   3
                            VECTOR DIRECTORY NUMBER

                                VDN VARIABLES*

                    Var  Description       Assignment
                    V1   announcement      61130
                    V2   forward-to        3225
                    V3
                    V4
                    V5
                    V6
                    V7
                    V8
                    V9

                    VDN Time-Zone Offset*: + 00:00
                    Daylight Saving Rule*: system
 Use VDN Time Zone For Holiday Vectoring*? n
    Apply Ringback for Auto Answer calls*? y

* Follows VDN Override Rules

Create a VDN, pointing to that vector. Set V1 to the announcement number that you have created specific to that physical location. Set V2 to the extension number that the call should be routed to if the caller dials zero. Note that if you do not set V2, the system will just keep repeating the announcement in V1, regardless of the caller pressing zero.

display announcement 61130

                       ANNOUNCEMENTS/AUDIO SOURCES

  Extension: 61130                           COR: 1
  Annc Name: in-911-dept1                     TN: 1
  Annc Type: integrated                    Queue? y
Group/Board: 011V9
  Protected? n                              Rate: 64

Script for 61130: “This is a telephone line for outgoing 911 calls, located at [building name], [full street address]. If you would like to attempt to reach the front desk, press zero. Otherwise, this message will repeat shortly.”

And then, to make this all effective, assign that VDN as the incoming destination for the trunk-group.

display trunk-group 8                                           Page   1 of  22
                                TRUNK GROUP

Group Number: 8                    Group Type: co            CDR Reports: y
  Group Name: XXXX Analog/911             COR: 95       TN: 1        TAC: 170
   Direction: two-way        Outgoing Display? n
 Dial Access? n              Busy Threshold: 255  Night Service:
Queue Length: 0    Country: 1              Incoming Destination: 3179
   Comm Type: voice                 Auth Code? n   Digit Absorption List:
    Prefix-1? y                   Trunk Flash? n         Toll Restricted? y

         Trunk Type: loop-start

As a side note, I recommend that you leave maintenance tests enabled for all trunk-groups used for emergency services egress:

display trunk-group 8                                           Page   3 of  22
TRUNK FEATURES
[...]
                                                          Maintenance Tests? y
[...]

If you disable maintenance tests, you aren’t likely to know if something happens to that line and it goes out-of-service, until it’s too late (and an emergency call fails to complete).