Galveston County spans an area of the Gulf Coast of Texas that requires its emergency services to be prepared to respond without a glitch should emergencies such as Hurricane Katrina strike. Galveston County Emergency Communications District (GCECD) took a proactive approach and answered the call with a MetroEthernet Network that connects all Public Safety Answering Points (PSAP), which handle incoming 911 calls, through two Emergency Operations Centers. The PSAP network consists of 8 PSAPs, two of which are co-located at the new Criminal Justice Center, located on Galveston Island.
PSAP operators can be hundreds of miles away in a safe location without delaying the processing of a single 911 call. They can bridge a call between police, fire, and medical personnel to coordinate rescue and service efforts.
In a combined effort, AT&T, TCI, and Avaya, designed and implemented a solution used to connect GCECD's disparate systems in eight of the county's public safety departments through two centralized operations centers. Some departments with new facilities, such as the Galveston County Criminal Justice Center, and the Emergency Operations Center (EOC) migrated to Avaya's cutting-edge communications technologies that went well with the TCI product suite. TCI's product, Synapse, is a package that specializes in software development and implementation of 911 call processing solutions. Other locations required the solution providers to enable existing communications systems, such as those in some local police departments, to communicate with the Emergency Operations Center. All centers were installed using Avaya Voice over Internet Protocol (VoIP) phones, such as the 4625 deskset with the EU24 expansion modules. Today, each of the 8 locations receives and dispatches calls using the Avaya VoIP technology and TCI's Synapse product.
TCI's Synapse product is developed around Avaya's Application Programming Interfaces (APIs). TCI, which is an Avaya DeveloperConnection program member, routinely uses Avaya APIs to develop their software solutions for use with the Avaya Communications Manager systems. For Galveston County, TCI used the Avaya Application Enablement Services (AES) Device, Media, and Call Control API and Push API. We'll look closer at the APIs later. Let's first go through the architecture used to migrate Galveston County's Emergency Communications District, and then we'll get into some of the details of how TCI implemented it.
The Architecture
The Galveston County Emergency Communication District (GCECD) PSAPs traditionally functioned as independent, stand-alone locations, each with separate communications solutions. They were maintained separately and were not connected with any previous WAN (wide area network) solution.
The GCECD migration configuration consists of a pair of Avaya S8710 Media Servers and Avaya Media Gateways, two Avaya AE (Application Enablement) servers, Avaya IP Telephones, Avaya EU24 Expansion modules, two TCI Synapse servers, a pair of TCI 911 CAMA Trunk Cages, and a varying number of TCI Synapse Workstations, which PSAP dispatchers use to process their 911 calls. The TCI Synapse Solution supplies Galveston with a complete secure IP-based solutionstarting at the entrance of the center to the use of the TCI 911 CAMA trunk cage, all the way through to the Avaya IP Endpoint Devices.
The Synapse Workstation provides dispatchers with a graphical user interface (GUI) allowing them to operate the IP telephone, view Automatic Number Identification (ANI) and view location information of the 911 caller obtained from an Automatic Location Identification (ALI) database. ALI databases, provided typically by local telephone companies or database providers, correlate listed directory numbers with name and address information.
Here's how it all comes together:
At the Galveston Emergency Operations Facility, Avaya Communications Manager (CM) runs on the S8710 Media Server. Since redundancy is key in emergency operations centers, two Avaya Application Enablement Services (AES) servers provide backup for one another should one of the TCI Synapse Workstations lose connectivity to one of the AES Systems. As a result, administration and maintenance is redundantly located and controlled from two locations; the Criminal Justice Center and the Galveston County Emergency Operations Facility.
The TCI Trunk Cages at these locations receive 911 calls from the telephone tandem office over Centralized Automatic Message Accounting (CAMA) 911 trunks, and forwards the 911 calls to the Avaya Gateways over analog trunks.
Avaya Communication Manager (CM) then routes the inbound 911 calls to PSAP stations. The dispatchers' Avaya 4625SW IP telephones are configured with bridged call appearances of the line appearances, so dispatchers then can answer the inbound 911 calls from any location. When dispatchers answer 911 calls, or bridge onto an active 911 call answered by another dispatcher, the TCI Synapse server located at the Galveston County EOC provides the Synapse Workstation with the 911 callers' location information. Dispatchers also may conference in external parties using TCI's Admin lines, which are public trunks to the public-switched telephone network (PSTN). Inbound calls using the Admin lines are also routed to other line appearances, which are configured as bridged call appearances on the dispatchers' telephones as well.
The Galveston County EOC consists of the Avaya S8710 Media Server and G700 Media Gateway running Avaya CM and the equipment required for TCI's Synapse Solution. The Criminal Justice Center, which serves as the second operations center, consists of the Avaya G700 LSP Media Gateway. Each of the remote Synapse locations consists of the Avaya G350 Media Gateway and the Harmonic 9101 Media Converter. All media gateways run with Local Survivable Processor (LSP) mode enabled.
TCI, after developing the applications that provide the functionality GCECD requested, installed and configured the Avaya Communication Manager to work in this environment. Next, TCI configured the analog trunks of the TCI Trunk Cage for inbound 911 calls and the T1 Integrated Services Digital Network (ISDN) trunks to the public-switched telephone network to set up the Admin lines. Next, the physical Avaya VoIP stations controlled by the Synapse Workstations were configured with bridged call appearances of the line appearances. Then, TCI set the system parameters in the Avaya environment to work with the environment. Finally, TCI set up the Synapse Workstations, customizing the interface for Avaya's communications equipment and GCECD's requirements.
Now that we've established the architecture and how it was set up, let's talk about the Avaya APIs that TCI used to develop the applications for GCECD.
The Avaya Device, Media and Call Control API
The Application Enablement Services Device, Media and Call Control API Software Development Kit (SDK) contains the XSD files that developers need to reference as they write their applications.
Download the Application Enablement Services Device, Media, and Call Control XML API SDK here, or access Avaya's Web site at www.devconnectprogram.com. Next, select Member Login, and log in with your email address and password. Click the Avaya Product Information/Documentation/SDKs link. Then, click the Premium DevConnect Content link. Click the Communication Manager link. On the Avaya Communication Manager Developers page, download the SDK (cmapixml-sdk-3_1_x.zip). Once you've downloaded the SDK, expand the file and save its contents. All of the SDK files are placed in a directory named cmapisdk.
TCI used the Device, Media, and Call Control API to allow Synapse Workstations to share control of physical telephones and receive the same terminal and first party call control information received by the physical telephones. Using this API in this capacity requires shared control mode. Shared control mode gives control to both the telephone and the application, and it must be used by applications that need to monitor and control a physical telephone, such as at GCECD. The Device and Media Control API uses the extensible Markup Language (XML) protocol message types, sending XML requests from the client application, or the PSAPs, to one of the two AES servers. The AES server sends a response back to the client application. With a Communication Manager Extension, Avaya CM sends an H.323-based message back to the AES server, which then sends XML events back to the client application.
The Device, Media, and Call Control API also allows developers to use Java or XML to write its client applications, however, at GCECD, TCI used the XML portion of the API. Developers can use various API services, such as Physical Devices Services for physical device control. The control allows an application to manipulate and monitor the physical aspects of a device, including buttons, lamps, the display and the ringer. The services simulate manual action on a device as well as provide the ability to request status of physical elements. The events provide notification of changes to the physical elements of the device.
TCI used the Call Control Services part of the Device, Media, and Call Control API. Call Control Services provide single step conferencing capabilities to allow an application to add a device into an existing call. This provides the functionality for PSAP dispatchers to bridge a call between numerous emergency personnel in the event of an emergency requiring real-time communication between them.
The Call Control Services uses the TSAPI Service on the AES server, and it requires developers to set up the connection and Computer Telephony Integration (CTI)-link between the AES server and Communication Manager.
The Push API
The Push API allows an external application to spontaneously send data to an Avaya IP telephone, allowing developers to use the IP phone in a proactive way. The Push API allows a simple text message, an entire WML application, or an audio stream to be sent to the phone. It allows PSAP dispatchers to use applications to proactively reach out and contact emergency personnel by sending information to them during an emergency. For example, if an EOC is lost in an emergency situation, the IP phones can be used to push automatic location identification (ALI) information about a caller to the dispatcher or other emergency personnel, to the dispatcher's location. Further, the Push API allows public safety agencies in Galveston County to provide interdepartmental communications, pushing important internal messages to all IP phones.
To access the Push API, you will need to write a few lines of XML code and use the HTTP POST command using any language like ASP.NET, JavaScript, or PHP that allows the HTTP POST request to be sent.
Here's how it works. A Push Message sent using the Push API is a multiple step operation. Once a Push Message is received from the Push Initiator, the Push Agent parses the Push Message XML for validation and for mismatched tag errors. Next, the Push Agent verifies that the URL in the Push Message is a Trusted Push Server, returning the result upon validation to the Push Initiator. The Push Agent requests the Push Content from the Trusted Push Server using the HTTP GET request to the URL, and then displays the results.
All Push Messages consist of a few lines of standard XML codes that are packaged in an HTTP POST command and sent to the phone. The HTTP POST address (URL) for the IP telephone to which a Push request is sent is http://<IP_Address_of_the_telephone>/forms/push. <IP_Address_of_the_telephone> is the IP Address of the telephone, in the dotted-decimal format, to which the push is to be sent.
The Push Agent processes all POST methods received by the phone's HTTP server that contain the URL. All HTTP POST requests must be sent to this URL only. All XML messages are sent in the HTTP POST pre-defined variable called "XMLData."
The Push API includes various types, including the Display Push, Topline Push, Audio Push, and Subscribe Push. The Display Push is used to push information out to various emergency personnel. The Display Push type is used to send an entire WML Deck to the phone's display, and is used when developers want to send information to the entire display, such as a conference call reminder with a WTAI Click-to-Dial link or a full-blown WML application.
The Display Push type's Push Content, or the URL referenced in the <go> tag, should be a WML file. This file can contain any of the Web browser elements and features. The Display Push type is one of the Push types TCI used for GCECD.
Although Galveston County Emergency Communication District already functioned with the expertise expected of its emergency response teams, its antiquated and disparate systems were a hindrance to its future success. With two central Emergency Operations Centers (each providing redundancy for the other) and all other county public safety agencies connected and using IP phones, the GCECD serves as an example of cutting-edge emergency 911 services. Galveston County now is prepared for whatever disaster the Gulf of Mexico may deliver.