Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
COMMERCIAL MOBILE ALERT SYSTEM
Document Type and Number:
WIPO Patent Application WO/2010/006246
Kind Code:
A1
Abstract:
A system and method for facilitating the distribution of emergency alert messages to electronic devices via a communications network, such as a commercial mobile wireless network. The system includes a commercial mobile service provider (CMSP) gateway that is in communication with an alert gateway and the communications network. The CMSP gateway has a commercial mobile alert system (CMAS) interface, such as an application programming interface (API), that is configured to receive an emergency alert message from the alert gateway. The emergency alert message includes elements that have been mapped from a corresponding emergency alert message that was issued by an alert initiator. The CMAS interface is further configured to process the emergency alert message into a format suitable for distribution to electronic devices that are in communication with the communications network. The emergency alert message is then distributed to the appropriate electronic devices via the communications network.

Inventors:
DALY BRIAN KEVIN (US)
SENNETT DEWAYNE ALLAN (US)
Application Number:
PCT/US2009/050227
Publication Date:
January 14, 2010
Filing Date:
July 10, 2009
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
AT & T MOBILITY II LLC (US)
DALY BRIAN KEVIN (US)
SENNETT DEWAYNE ALLAN (US)
International Classes:
H04W4/90
Foreign References:
EP1209886A22002-05-29
US20020004705A12002-01-10
Other References:
3GPP: "3rd Generation Partnership Project;Technical Specification Group Services and System Aspects;Study for requirements for a Public Warning System (PWS) Service (Release 8)", 3GPP DRAFT; 22_968V200, 3RD GENERATION PARTNERSHIP PROJECT (3GPP), MOBILE COMPETENCE CENTRE ; 650, ROUTE DES LUCIOLES ; F-06921 SOPHIA-ANTIPOLIS CEDEX ; FRANCE, vol. TSG SA, no. Puerto Vallarta, Mexico; 20080131, 31 January 2008 (2008-01-31), XP050210454
Attorney, Agent or Firm:
ARENA, Christopher, M. et al. (Cira Centre 12th Floor,2929 Arch Stree, Philadelphia PA, US)
Download PDF:
Claims:
What is Claimed:

1. A system for facilitating the distribution of emergency alert messages to electronic devices via a communications network, the system comprising: a commercial mobile service provider (CMSP) gateway configured to communicate with an alert gateway, wherein the CMSP gateway includes a commercial mobile alert system (CMAS) interface that is configured to: receive an emergency alert message from the alert gateway, the emergency alert message including a plurality of elements that have been mapped from a corresponding emergency alert message issued by an alert initiator; process the emergency alert message into a format suitable for distribution to a plurality of electronic devices via a wireless network; and send the emergency alert message to the wireless network for distribution to the plurality of electronic devices.

2. The system of claim 1, wherein the emergency alert message from the alert gateway is in the format of a commercial mobile alert C interface (CMAC) message.

3. The system of claim 1 , wherein the corresponding emergency alert message issued by the alert initiator is in the format of a common alerting protocol (CAP) message.

4. The system of claim 1, wherein the CMAS interface is configured to process the emergency alert message from the alert gateway into a commercial mobile alert E interface (CMAE) message.

5. The system of claim 1, wherein the CMSP gateway is further configured to receive a keep alive message from the alert gateway.

6. The system of claim 5, wherein the CMSP gateway is configured to send at least one of a keep alive acknowledgement or an error condition message to the alert gateway in response to the keep alive message.

7. The system of claim 1, wherein the CMSP gateway is configured to acknowledge receipt of the emergency alert message from the alert gateway.

8. The system of claim 1, wherein the CMSP gateway is configured to periodically issue a keep alive message to the alert gateway.

9. The system of claim 8, wherein the CMSP gateway is configured to receive at least one of a keep alive acknowledgement or an error condition message from the alert gateway in response to the keep alive message.

10. The system of claim 1, wherein the CMSP gateway is configured to send a message to the alert gateway indicating that the CMSP gateway is unable to retrieve additional information from the alert gateway.

11. The system of claim 1 , wherein the CMSP gateway is configured to inform the alert gateway of at least one of a maintenance or error situation during which the CMSP gateway is unable to receive any messages from the alert gateway.

12. The system of claim 11, wherein the CMSP gateway is configured to send a first transmission control message to the alert gateway instructing the alert gateway to cease message traffic destined for the CMSP gateway.

13. The system of claim 12, wherein the CMSP gateway is configured to send a second transmission control message to the alert gateway instructing the alert gateway to resume message traffic destined for the CMSP gateway.

14. The system of claim 1, wherein the CMAS interface includes an application programming interface (API).

15. The system of claim 1, wherein the emergency alert message includes a geocode for identifying a geographical region that is to receive the emergency alert message.

16. A method for facilitating the distribution of emergency alert messages to electronic devices via a communications network, the method comprising: receiving an emergency alert message from an alert gateway, the emergency alert message including a plurality of elements that have been mapped from a corresponding emergency alert message issued by an alert initiator; processing the emergency alert message into a format suitable for distribution to a plurality of electronic devices via a wireless network; and sending the emergency alert message to the wireless network for distribution to the plurality of electronic devices.

17. The method of claim 16, wherein the emergency alert message from the alert gateway is in the format of a commercial mobile alert C interface (CMAC) message.

18. The method of claim 16, wherein the corresponding emergency alert message issued by the alert initiator is in the format of a common alerting protocol (CAP) message.

19. The system of claim 16, wherein the CMAS interface is configured to process the emergency alert message from the alert gateway into a commercial mobile alert E interface (CMAE) message.

20. The method of claim 16, further comprising receiving a keep alive message from the alert gateway.

21. The method of claim 20, further comprising sending at least one of a keep alive acknowledgement or an error condition message to the alert gateway in response to the keep alive message.

22. The method of claim 16, further comprising acknowledging receipt of the emergency alert message from the alert gateway.

23. The method of claim 16, further comprising periodically issuing a keep alive message to the alert gateway.

24. The method of claim 23, further comprising receiving at least one of a keep alive acknowledgement or an error condition message from the alert gateway in response to the keep alive message.

25. The method of claim 16, further comprising sending a message to the alert gateway indicating that the CMSP gateway is unable to retrieve additional information from the alert gateway.

26. The method of claim 16, further comprising informing the alert gateway of one of a maintenance or error situation during which messages can not be received from the alert gateway.

27. The method of claim 26, further comprising sending a first transmission control message to the alert gateway instructing the alert gateway to cease message traffic.

28. The method of claim 27, further comprising sending a second transmission control message to the alert gateway instructing the alert gateway to resume message traffic.

29. The method of claim 16, wherein the emergency alert message includes a geocode for identifying a geographical region that is to receive the emergency alert message.

Description:
COMMERCIAL MOBILE ALERT SYSTEM

CROSS-REFERENCE TO RELATED APPLICATIONS

[0001] This application claims benefit of U.S. Provisional Application No. 61/079,982, filed July 11, 2008, and Non-Provisional U.S. Patent Application No. 12/274,667, filed November 20, 2008, each of which are incorporated by reference herein in their entirety.

BACKGROUND

[0002] The Emergency Alert System (EAS) enables federal, state, and/or local governments to provide timely messages and alerts to the public regarding various types of emergencies. For example, the public may receive messages pertaining to weather conditions, disasters, AMBER alerts (America's Missing: Broadcast Emergency Response), and the like. EAS supersedes the Emergency Broadcast System (EBS), and is jointly administered by the Federal Communications Commission (FCC), the Federal Emergency Management Agency (FEMA), and the National Weather Service (NWS).

[0003] EAS alert messages may be issued nationally (i.e., across the entire United States) or within a specific geographic region within the United States. For example, an EAS alert message may be issued for a specific area affected by a natural disaster, such as a hurricane or a flood. The area covered by the alert may span a portion of one or more states, and may cover tens or even hundreds of square miles depending on the type and severity of the emergency. [0004] EAS alert messages are generally communicated to an affected area via radio and television broadcasts. However, other types of communication mediums (e.g., cellular networks, local wireless networks, the Internet, cable networks, etc.) have become more prevalent over the years. In addition, such mediums generally offer advanced capabilities and features, such as targeted advertising and/or messaging. Such features help to ensure that a particular message or communication is delivered to an appropriate audience.

SUMMARY

[0005] The disclosed embodiments facilitate the distribution of alert messages via communication networks, such as cellular networks, local wireless networks, the Internet, cable networks, and the like. In particular, one or more of the disclosed embodiments may include a commercial mobile alert system (CMAS) interface that enables communications between an alert gateway and a commercial mobile service provider (CMSP) gateway connected to the communications network.

[0006] In one embodiment, the CMAS interface may be an application programming interface (API) that may be executed by the alert gateway, the CMSP gateway, or both. The CMAS interface may enable the alert gateway to process alert messages from one or more alert initiators into a format that can be accommodated by the CMSP gateway. The CMAS interface may also enable the CMSP gateway to process the reformatted messages from the alert gateway into a format that is suitable for distribution to appropriate electronic devices via a commercial wireless network, for example.

[0007] In another embodiment, the CMAS interface may enable the alert gateway and the CMSP gateway to exchange various types of messages with one another, such as acknowledgment, "heartbeat," and/or error condition messages.

BRIEF DESCRIPTION OF THE DRAWINGS

[0008] FIG. 1 is a diagram of a system in which aspects of one or more embodiments may be implemented.

[0009] FIG. 2 is a diagram of a process for mapping common alerting protocol (CAP) elements to commercial mobile alert C interface (CMAC) elements.

[0010] FIG. 3 is a diagram of an exemplary object model of CMAC alert segments and CMAC alert elements.

[0011] FIGs. 4 A and 4B are flow diagrams of an exemplary method for communicating with an alert gateway. [0012] FIG. 5A - 5C are flow diagrams of an exemplary method for communicating with an alert initiator and a commercial mobile service provider (CMSP) gateway.

[0013] FIG. 6 is a diagram of an exemplary packet-based mobile cellular network environment, such as a GPRS network, in which aspects of one or more embodiments may be implemented.

[0014] FIG. 7 is a diagram of an exemplary architecture of a GPRS network segmented into four groups.

DETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS

[0015] For purposes of illustration, various embodiments are described herein in connection with the Global System for Mobile Communication (GSM). The references to GSM are not exclusive, however, as it should be appreciated that one or more embodiments may be implemented in connection with any type of wired or wireless access system, such as an intranet, the Internet, a local area network (LAN), a wide area network (WAN), a Public Switched Telephone Network (PSTN), a Code Division Multiple Access (CDMA) network, a Voice Over Internet Protocol (VoIP) network, and the like.

[0016] GSM is one of the most widely-used wireless access systems in today's fast growing communication systems. GSM provides circuit-switched data services to subscribers, such as mobile telephone or computer users. General Packet Radio Service (GPRS), which is an extension to GSM technology, introduces packet switching to GSM networks. GPRS uses a packet-based wireless communication technology to transfer high and low-speed data and signaling in an efficient manner. GPRS optimizes the use of network and radio resources, thus enabling the cost effective and efficient use of GSM network resources for packet mode applications.

[0017] The disclosed embodiments generally facilitate the distribution of alert messages, such as Emergency Alert System (EAS) messages or Commercial Mobile Alert System (CMAS) messages, via communication networks, such as a GSM wireless network. In particular, the disclosed embodiments may include a CMAS interface that enables communications between an alert gateway and a commercial mobile service provider (CMSP) gateway. The alert gateway and the CMSP gateway may each be connected to the GSM network. The CMAS interface may be an application programming interface (API) that may be executed by the alert gateway and/or the CMSP gateway. The API may be implemented using any suitable messaging protocol, such as Hypertext Transfer Protocol (HTTP) or Transmission Control Protocol (TCP). The API may also be implemented using any suitable mark-up language, such as extended Markup Language (XML) or HyperText Markup Language (HTML).

[0018] The CMAS interface may enable the alert gateway to process alerts messages from one or more alert initiators into a format that can be accommodated by the CMSP gateway. The CMAS interface may also enable the CMSP gateway to process the reformatted messages from the alert gateway into a format that is suitable for distribution to appropriate electronic devices via a wireless network, for example. Distribution of Alert Messages

[0019] FIG. 1 depicts an exemplary system 10 in which aspects of one or more embodiments may be implemented. As shown FIG. 1, communications devices 100a, 100b, 100c may be in communication with a base station subsystem (BSS) 102, which may include a base transceiver station (BTS) 104 and a base station controller (BSC) 106. The communications devices 100a, 100b, 100c may include various types of mobile communications devices, such as cellular telephones, laptops, personal digital assistants (PDAs), and the like. The BSS 102 may be in communication with a wireless network 108. The wireless network 108 may be in communication with other networks, such as a public switched telephone network (PSTN) 110, a fixed-end system (FES) or Internet 112, and a cable network 124. The Internet 112 and the cable network 124 may be in communication with other types of electronic devices, such as personal computers 114a, 114b, 114c and televisions 126a, 126b, 126c, respectively. The televisions 126a, 126b, 126c may be connected to the cable network 124 via set-top boxes (not shown). Though the Internet 112 and the cable network 124 are depicted as separate, individual networks, it will be appreciated that the two networks may share some or all of the same network components.

[0020] The system 10 may be configured to distribute alert messages to various types of electronic devices, such as the communications devices 100a, 100b, 100c, the PCs 114a, 114b, 114c, and/or the televisions 126a, 126b, 126c. To facilitate the distribution of such messages, the wireless network 108 may be in communication with a CMSP gateway 122. The CMSP gateway 122 may be in communication with an alert gateway 120, which may be in communication with an alert aggregator 118. The alert aggregator 118 may be in communication with an alert initiator 116. The CMSP gateway 122 may be part of a private entity, such as a commercial wireless carrier. The alert gateway 120 and the alert aggregator 118 may be part of a public entity, such as the Federal Emergency Management Agency (FEMA). Similarly, the alert initiator 116 may be part of a public entity, such as the National Weather Service (NWS). However, it will be appreciated that the CMSP gateway 122, the alert gateway 120, the alert aggregator 118, and the alert initiator 116 may each be part of a public or private entity.

[0021] The CMSP gateway 122 may generally be responsible for providing the interconnection between the alert gateway 120 and the CMSP infrastructure to be used for the broadcast of the CMAS alert message. The alert gateway 120 may generally be responsible for providing the connection point between the alert aggregator 118 functions for federal, state, local, and/or tribal alert initiators 116 and the various commercial service providers.

[0022] In an embodiment, an alert message (e.g., a flash flood warning) may be initiated by the alert initiator 116 and sent to the alert aggregator 118. The alert aggregator 118 may evaluate the alert message to determine if and how the alert should be broadcast to the public. If the alert aggregator 118 determines that the alert message should be broadcast to the public, the alert aggregator 118 may pass the alert message to the alert gateway 120. The alert gateway 120 may receive and process the alert message for transmission to the CMSP gateway 122. The CMSP gateway 122 may then receive and process the alert message for distribution to the appropriate electronic devices via the wireless network 108. After receiving the alert message, the electronic devices (e.g., the communications devices 100a, 100b, 100c) may then display the alert message to the corresponding users.

[0023] The alert initiator 116 may initiate the alert message using a common alerting protocol (CAP), though it will be appreciated that the alert message may be initiated in any suitable data format. However, the wireless network 108 may not be able to process CAP alerts (or whichever data format is being used by the alert initiator 116). Thus, as noted above, a CMAS interface may be provided between the alert gateway 120 and the CMSP gateway 122 to enable the wireless network 108 to receive and process various types of alert messages that may be initiated by the alert initiator 116. For example, as shown in FIG. 1, the alert gateway 120 and/or the CMSP gateway 122 may include and/or execute a CMAS interface 130, which may be an application programming interface (API) that is implemented by way of an XML program or schema. An exemplary XML schema for the CMAS interface 130 is shown in Appendix I.

[0024] The CMAS interface 130 may enable the alert gateway 120 to process the alert message from the alert initiator 116 into another data format, such as a commercial mobile alert C interface (CMAC) message. The alert gateway 120 may then send the CMAC message to the CMSP gateway 122. The CMSP gateway 122 may then process the CMAC message for distribution to the appropriate electronic devices. For example, the CMSP gateway 122 may process the CMAC message into another format (e.g., a commercial mobile alert E interface (CMAE) message) that may be distributed via the wireless network 108 and the BSS 102 to one or more of the communications devices 100a, 100b, 100c. The reformatted message may also be transmitted to the PCs 114a, 114b, 114c and the televisions 126a, 126b, 126c via the Internet 112 and the cable network 124, respectively.

[0025] To illustrate an embodiment, the alert initiator 116 (e.g., the NWS) may issue the following CAP alert:

<cap:alert xmlns:cap="http://www.incident.com/cap/l .0">

<cap:identifier>NO AA-NWS-ALERTS Arizona 2007-08-0 IT 18:22: 17-

04 : 00</cap :identifier>

<cap : sender>w-nws . webmaster@noaa. gov</cap : sender>

<cap:sent>2007-08-01T18:22:17-04:00</cap:sent> ;

<cap : status> Actual</cap : status>

<cap :msgType>Alert</cap :msgType>

<cap:scope>Public</cap:scope>

<cap:note>Current Watches, Warnings and Advisories for Arizona Issued by the

National Weather Service</cap:note>

<cap :references>http ://www. weather, gov/alerts/az .html</cap :references> <cap:info>

<cap : category>Met</cap : category>

<cap:event>Flash Flood Warning</cap:event>

<cap :urgency>Expected</cap :urgency>

<cap : severity>Severe</cap : severity>

<cap : certainty>Likely</cap : certainty>

<cap:effective>2007-08-01T22: 11 :00</cap:effective>

<cap:expires>2007-08-01T23:15:00</cap:expires> ;

<cap:headline>Flash Flood Warning</cap:headline>

<cap:description>FLASH FLOOD WARNING AZC005-012315- BULLETIN - EAS ACTIVATION REQUESTED FLASH FLOOD WARNING NATIONAL WEATHER SERVICE FLAGSTAFF AZ 311 PM MST WED AUG 1 2007 THE NATIONAL WEATHER SERVICE IN FLAGSTAFF HAS ISSUED A * FLASH FLOOD WARNING FOR . . . SOUTH CENTRAL COCONINO COUNTY IN NORTH CENTRAL ARIZONA . . . * UNTIL 415 PM MST * AT 306 PM MST . . . NATIONAL WEATHER SERVICE DOPPLER RADAR INDICATED FLASH FLOODING FROM A THUNDERSTORM OVER THE WARNED AREA. * LOCATIONS IN THE WARNING INCLUDE HIGHWAY 89 THROUGH OAK CREEK CANYON BETWEEN SLIDE ROCK STATE PARK AND MIDGELY BRIDGE. THE HEAVY RAINS WILL LIKELY TRIGGER LIFE-THREATENING ROCKSLIDES . . . MUDSLIDES . . . AND DEBRIS FLOWS NEAR THE BRINS FIRE BURN AREA IN OAK CREEK CANYON . . . AS WELL AS FLOODING OF CREEKS . . . ROADS . . . AND NORMALLY DRY WASHES. DO NO ATTEMPT TO DRIVE THROUGH THIS AREA UNTIL THE THREAT HAS DIMINISHED. LAT . . . LON 3488 11177 3489 11169 3499 11169 3498 11177 $$ DB</cap:description>

<cap : web>http ://www.weather.gov/alerts/AZ.html#AZC005.FGZFFWFGZ.221100< ;/cap :web>

<cap:area>

<cap:areaDesc>Kaibab Plateau, Marble, Glen Canyons, Grand Canyon Country, Coconino Plateau, Northeast Plateaus, Mesas Hwy, Little Colorado River Valley in, Western Mogollon Rim, Eastern Mogollon Rim, Oak Creek, Sycamore Canyons, Northeast Plateaus, Mesas Sou (Arizona)</cap:areaDesc> <cap : geocode>004005</cap : geocode> </cap:area> </cap:info> </cap:alert>

[0026] Using the CMAS interface 130, the alert gateway 120 may construct a CMAC message from the CAP alert as follows:

<?xml version = "1.0" encoding = "UTF-8"?> <CMAC_alert xmlns = "urn:xxx:xxx:xx:xxx:cmac:1.0">

<CMAC_protocol_version>1.0</ CMAC_protocol_version > <CMAC_sending_alert_gateway_id>http ://cmas_alert_gateway . gov</

CMAC_sending_alert_gateway_id >

<CMAC_message_identifier> 1056</CMAC_message_identifier> <CMAC_sender> w-nws.webmaster@noaa.gov </CMAC_sender> <CMAC_sent_date_time>2003 -06- 17T 14 : 57 : 00-07 : 00</CMAC_sent_date_time> <CMAC_status>Actual</CMACstatus> <CMAC_message_type>Alert</CMAC_message_type> <CMAC_alert_info>

<CMAC_category>Met</CMAC_category>

<CMAC_severity>Severe</CMAC_severity>

<CMAC_urgency>Expected</CMAC_urgency> <CMAC_certainty>Likely</CMAC_certainty> <CMAC_expires_date_time>2007-08-

01 T23 : 15 : 00</CMAC_expires_date_time> <CMAC_text_language>English</ CMAC_text_language > <CMAC_text_encoding>IS 0-6739-2</ CMAC_text_encoding> <CMAC_text_message_length>75</ CMAC_text_message_length> <CMAC_message>Severe Weather Warning until 4:15pm MST National

Weather Service Flagstaff</ CMAC_message> <CMAC_area>

<CMAC_area_description>Kaibab Plateau, Marble, Glen Canyons, Grand Canyon Country, Coconino Plateau, Northeast Plateaus, Mesas Hwy, Little Colorado River Valley in, Western Mogollon Rim, Eastern Mogollon Rim, Oak Creek, Sycamore Canyons, Northeast Plateaus, Mesas Sou (Arizona)</CMAC_area_description> <CMAC_geocode>004005</CMAC_geocode> </CMAC_area> </CMAC_alert_info> </CMAC_alert>

[0027] After receiving the CMAC message from the alert gateway 120, the CMSP gateway 122 may process the CMAC message (e.g., format the CMAC message into a CMAE message) so that it may be distributed via the wireless network 108 and received by the appropriate electronic devices. Thus, continuing with the foregoing example, the CMSP gateway 122 may send the CMAE message to the wireless network 108 for broadcast to the communications devices 100a, 100b, 100c as "Severe Weather Warning until 4:15pm MST National Weather Service Flagstaff."

[0028] The CAP alert and the CMAC message may each have a number of elements. For example, as shown in FIG. 2, the CAP alert may include one or more mandatory elements 202 and one or more optional elements 204. The CMAC message may have one or more CMAC elements 206. Thus, the CMAS interface 130 may map the CAP alert's mandatory elements 202 and optional elements 204 into the CMAC elements 206. It will be appreciated that, in other embodiments, some or all of the mandatory elements 202 shown in FIG. 2 may be designated as optional elements 204, and some or all of the optional CAP elements may be designated as mandatory elements 202. [0029] Each CMAC message may also define a number of segments. For example, each CMAC message may include a CMAC alert attributes segment 302, a CMAC alert information segment 304, a CMAC alert area segment 306, and a CMAC alert resource segment 308. Each of the CMAC elements 206 may be associated with at least one of the CMAC alert segments 302, 304, 306, 308. FIG. 3 depicts an exemplary object model of the CMAC alert segments 302, 304, 306, 308 and CMAC elements 206. In a preferred embodiment, the CMAC message may include one CMAC alert attributes segment 302, one or more CMAC alert information segments 304, and one or more CMAC alert area segments 306. In the preferred embodiment, the CMAC resource segment 308 may be optional, and may be reserved for future use in streaming audio, streaming video, and/or multimedia commercial mobile alerts (CMAs).

[0030] While multiple CMAC alert information segments 304 may be included within the CAP alert from the alert initiator 116, each CMAC alert information segment 304 may be a separate commercial mobile alert message (CMAM) from the alert gateway 120. Thus, each CMAC alert information segment 304 may be sent as a separate CMAM with a unique message identifier. In addition, a separate CMAC alert information segment 304 with associated CMAC elements 206 may be created for the CMA messages to be given to commercial wireless providers for broadcast via the CMSP selected technologies consistent with the regulatory requirements and procedures.

[0031] The CMAC elements 206 associated with the CMAC alert segments 302, 304, 306, 308 may be defined in any suitable manner. Appendix II lists an exemplary scheme for mapping CAP elements to CMAC elements, and CMAC elements to CMAE elements. Tables I- IV below list exemplary definitions of the CMAC alert elements 206 within each of the CMAC alert segments 302, 304, 306, 308.

[0032] The CMAC cmas geocode element (defined above in Table III) associated with the CMAC alert area segment 306 may include five characters. The first two characters may identify the state or region associated with the particular CMAC message. The last three characters may identify the specific counties, regions, or equivalent entities.

[0033] For example, the CMAC cmas geocode indication for a specific county may be defined in accordance with the Federal Information Processing Standard 6-4 (FIPS 6-4), entitled "Counties and Equivalent Entities of the United States, Its Possessions, and Associated Areas," dated August 31, 1990, the content of which is incorporated by reference herein. The CMAC cmas geocode indication for an entire state may be the two digit FIPS State Numeric Code as defined in Federal Information Processing Standard 5-2 (FIPS 5-2), entitled "Codes for the Identification of the States, the District of Columbia and the Outlying Areas of the United States, and Associated Areas," dated May 28, 1987, the content of which is incorporated by reference herein, followed by three zeroes (000). The CMAC cmas geocode indication for the entire United States, including all states, the District of Columbia, possessions, and associated areas, may be US000. It will be appreciated that alerts may be targeted for specific regions of the United States (e.g., the Gulf States). Thus, the CMAC_cmas_geocode may include values for regional areas, such as FEMA regions or NWS regions. The FEMA regions may be assigned values in the format of USOxx and the NWS regions may be assigned values in the format of USl xx. Table V below lists exemplary definitions of assigned CMAC_cmas_geocode values.

Messaging Between the Alert Gateway and the CMSP Gateway

[0034] The CMAS interface 130 may provide other features and/or functionality for facilitating communications between the alert gateway 120 and the CMSP gateway 122. For example, the CMAS interface 130 may enable the alert gateway 120 to periodically issue a keep alive (e.g., a "heartbeat") message to the CMSP gateway 122. The keep alive message may be used by the alert gateway 120 to check on the status of the CMSP gateway 122. In an embodiment, the keep alive message may be a CMAC message that only includes the CMAC alert attributes segment 302. The keep alive message may be indicated by a CMAC_status element value of "System" and a CMAC_message_type element value of "Heartbeat." The alert gateway 120 may indicate the time the message was initiated in the CMAC_sent_date_time element. The alert gateway 120 may assign a unique message identifier to the keep alive message, specified in the CMAC_message_identifier element, to send "heartbeat" messages to the CMSP gateway 122. Table VI below summarizes the particular CMAC elements 206 that may be used for an alert gateway-initiated keep alive message.

[0035] The following is an exemplary format for a keep alive message initiated from the alert gateway 120 and sent to the CMSP gateway 122: <?xml version = "1.0" encoding = "UTF-8"?> <CMAS_Alert_Attributes xmlns = "urn:xxx:xxx:xx:xxx:cmac:1.0"> <CMAC_protocol_version> 1.0</CMAC_protocol_version> <CMAC_sending_alert_gateway_id>http://cmas_federal_ale rt_gateway_uri </CMAC_sending_alert_gateway_id >

<CMAC_message_identifier> 1056</CMAC_message_identifier> <CMAC_sent_dateJime>2008-06-25T14:50:00-07:00</CMAC _sent_date_time> <CMAC_status>System</CMAC_status> <CMAC_message_type>Heartbeat</CMAC_message_type> </CMAC_Alert_Attributes>

[0036] Upon receipt of the alert gateway-initiated keep alive message, the CMSP gateway 122 may send an acknowledgement of successful receipt or indicate an error condition. In an embodiment, the keep alive acknowledgement may be a CMAC message that only includes the CMAC alert attributes segment 302. A successful keep alive acknowledgement may be indicated by a CMAC_status element value of "System," a CMAC_message_type element value of "Ack," and a CMAC Response Code 502 in the CMAC_note element. The CMSP gateway 122 may indicate the time the message was acknowledged in the CMAC_sent_date_time element. The CMSP gateway 122 may use the same message identifier in the acknowledgment as was specified in the CMAC_message_identifϊer element of the received keep alive message. Table VII below summarizes the particular CMAC elements 206 that may be used for a CMSP gateway acknowledgement of an alert gateway-initiated keep alive message.

[0037] The following is an exemplary format of a CMSP keep alive acknowledgement message from the CMSP gateway 122 to the alert gateway 120: <?xml version = "1.0" encoding = "UTF-8"?> <CMAS_Alert_Attributes xmlns = "urn:xxx:xxx:xx:xxx:cmac:1.0"> <CMAC_protocol_version> 1.0</CMAC_protocol_version> <CMAC_sending_alert_gateway_id>http://cmas_cmsp_gatewa y_uri </CMAC_sending_alert_gateway_id >

<CMAC_message_identifier> 1056</CMAC_message_identifier> <CMAC_sent_dateJime>2008-06-25T14:50:05-07:00</CMAC _sent_date_time> <CMAC_status>System</CMAC_status> <CMAC_message_type>Ack</CMAC_message_type> <CMAC_note>CMAC_Resp_502</CMAC_note> </CMAC_Alert_Attributes>

[0038] The CMSP gateway 122 may also indicate an error condition as a result of receiving an alert gateway-initiated keep alive message. An error condition may be indicated by the CMAC_message_type element including "Error" and with one or more CMAC response codes in the CMAC note element. The remaining fields may include the values specified in the acknowledgement. Table VIII below summarizes the particular CMAC elements 206 that may be used for a CMSP gateway error indication of an alert gateway-initiated keep alive message.

[0039] The following is exemplary format of a keep alive error message, with multiple error conditions reported, sent from the CMSP gateway 122 to the alert gateway 120: <?xml version = "1.0" encoding = "UTF-8"?> <CMAS_Alert_Attributes xmlns = "urn:xxx:xxx:xx:xxx:cmac:1.0"> <CMAC_protocol_version> 1.0</CMAC_protocol_version> <CMAC_sending_alert_gateway_id>http://cmas_cmsp_gatewa y_uri </CMAC_sending_alert_gateway_id >

<CMAC_message_identifϊer> 1056</CMAC_message_identifier> <CMAC_sent_date_time>2008-06-25T14:50:05-07:00</CMA C_sent_date_time> <CMAC_status>System</CMAC_status> <CMAC_message_type>Error</CMAC_message_type> <CMAC_note>CMAC_Resp_500, CMAC_Error_300</CMAC_note> </CMAC_Alert_Attributes>

The CMSP gateway 122 may use the foregoing message to request that the alert gateway 120 discontinue transmission of alert messages, and to indicate that there is insufficient storage on the CMSP gateway 122.

[0040] In another embodiment, the CMAS interface 130 may enable the CMSP gateway 122 to acknowledge receipt of a CMAC alert, update, or cancel message from the alert gateway 120. More specifically, upon receipt and validation of the CMAC alert, update, or cancel message, the CMSP gateway 122 may send an acknowledgement to the alert gateway 120 from which the CMSP gateway 122 received the message. In an embodiment, the acknowledgement from the CMSP gateway 122 may be a CMAC message that only includes a CMAC alert attributes segment 302. In the acknowledgement, the CMSP Gateway may provide an identifier of the CMSP gateway 122 in the CMAC_sending_alert_gateway_id element, and indicate the time the message is acknowledged in the CMAC sent date time element. The CMAC_message_identifϊer may include the identifier of the message that is being acknowledged. The CMAC_status element may indicate that the acknowledgment is a "system" message. Table IX below summarizes the particular CMAC elements 206 that may be used to acknowledge a CMAC alert, update, or cancel message.

[0041] The following is an exemplary format of a CMSP acknowledgment in responseving a CMAC alert, update, or cancel message from the alert gateway 120: <?xml version = "1.0" encoding = "UTF-8"?> <CMAS_Alert_Attributes xmlns = "urn:xxx:xxx:xx:xxx:cmac:1.0"> <CMAC_protocol_version>1.0</ CMAC_protocol_version > <CMAC_sending_alert_gateway_id>http ://cmas_alert_gateway . gov</

CMAC_sending_alert_gateway_id >

<CMAC_message_identifier> 1056</CMAC_message_identifier> <CMAS_sender> w-nws.webmaster@noaa.gov </CMAS_sender> <CMAC_sent_dateJime>2003-06-17T14:57:00-07:00</CMAC _sent_date_time> <CMAC_status>Actual</CMACstatus> <CMAC_message_type>Alert</CMAC_message_type> <CMAC_original_cap_alert_uri >http://cmas_alert_gateway.gov/CMAM1056 </CMAC_original_cap_alert_uri > <CMAC_Alert_Info>

<CMAC_category>Met</CMAC_category>

<CMAC_severity>Severe</CMAC_severity>

<CMAC_urgency>Expected</CMAC_urgency>

<CMAC_certainty>Likely</CMAC_certainty>

<CMAC_exρires_date_time>2007-08-

01 T23 : 15 :00</CMAC_expires_date_time> <CMAC_text_language>English</ CMAC_text_language > <CMAC_text_encoding>UTF-8</ CMAC_text_encoding> <CMAC_text_message_length>56</ CMAC_text_message_length> <CMAC_message>Severe Weather Warning in this area until 4:15pm

MST NWS</ CMAC_message> <CMAC_Alert_Area>

<CMAC_area_description>Kaibab Plateau, Marble, Glen Canyons, Grand Canyon Country, Coconino Plateau, Northeast Plateaus, Mesas Hwy, Little Colorado River Valley in, Western Mogollon Rim, Eastern Mogollon Rim, Oak Creek, Sycamore Canyons, Northeast Plateaus, Mesas Sou (Arizona)</CMAC_area_description> <CMAC_cmas_geocode>004005</CMAC_cmas_geocode> </CMAC_Alert_Area>

</CMAC_Alert_Info> </CMAC_Alert_Attributes>

[0042] In addition to, or in lieu of, providing an acknowledgment to the alert gateway 120, the CMSP gateway 122 may also indicate a received message error or other error condition as a result of receiving an alert gateway-initiated alert, update or cancel message. An error condition may be indicated by the CMAC message type element including "Error" with one or more CMAC response codes in the CMAC note element. The remaining fields may include values as specified in the CMSP acknowledgement. Table X below summarizes the particular CMAC elements 206 that may be used for an error indication of an alert gateway-initiated alert, update or cancel message.

[0043] The following is an exemplary format of a "keep alive" error message, with multiple error conditions reported, sent from the CMSP gateway 122 to the alert gateway 120: <?xml version = "1.0" encoding = "UTF-8"?> <CMAS_Alert_Attributes xmlns = "urn:xxx:xxx:xx:xxx:cmac:1.0">

<CMAC_protocol_version> 1.0</CMAC_protocol_version> <CMAC_sending_alert_gateway_id>http://cmas_cmsp_gatewa y_uri </CMAC_sending_alert_gateway_id >

<CMAC_message_identifier> 1056</CMAC_message_identifier>

<CMAC_sent_dateJime>2008-06-25T14:50:05-07:00</C MAC_sent_date_time>

<CMAC_status>System</CMAC_status>

<CMAC_message_type>Error</CMAC_message_type> <CMAC_note>CMAC_Error_201 </CMAC_note>

</CMAC_Alert_Attributes>

The foregoing example indicates that the CMSP gateway 122 received the alert or update message after the message expiration time.

[0044] In addition to acknowledgments and error messages, the CMSP gateway 122 may periodically issue a keep alive (e.g., a "heartbeat") message to the alert gateway 120 via the CMAS interface 130. The CMSP gateway 122 may use the keep alive message to check on the status of the alert gateway 120. In an embodiment, the keep alive message from the CMSP gateway 122 may be a CMAC message that only includes the CMAC alert attributes segment 302. The keep alive message may be indicated by a CMAC_status element value of "System" and a CMAC_message_type element value of "Heartbeat." The CMSP gateway 122 may indicate the time the message was initiated in the CMAC_sent_date_time element. The CMSP gateway 122 may assign a unique message identifier to the keep alive message that may be specified in the CMAC message identifier element. Table XI below summarizes the particular CMAC elements 206 that may be used for a CMSP gateway-initiated keep alive message.

[0045] The following is an exemplary format for a keep alive message initiated from the CMSP gateway 122 and sent to the alert gateway 120:

<?xml version = "1.0" encoding = "UTF-8"?>

<CMAS_Alert_Attributes xmlns = "urn:xxx:xxx:xx:xxx:cmac:1.0"> <CMAC_protocol_version> 1.0</CMAC_protocol_version>

<CMAC_sending_alert_gateway_id>http://cmas_cmsp_gat eway_uri </CMAC_sending_alert_gateway_id >

<CMAC_message_identifier> 1056</CMAC_message_identifier> <CMAC_sent_dateJime>2008-06-25T14:50:00-07:00</CMAC _sent_date_time> <CMAC_status>System</CMAC_status> <CMAC_message_type>Heartbeat</CMAC_message_type> </CMAC_Alert_Attributes>

[0046] Upon receipt of the CMSP gateway-initiated keep alive message, the alert gateway may send an acknowledgement of successful receipt or indicate an error condition. The keep alive acknowledgement from the alert gateway 120 may be a CMAC message that only includes a CMAC alert attributes segment 302. The keep alive acknowledgement may be indicated by a CMAC_status element value of "System," a CMAC_message_type element value of "Ack," and a CMAC Response Code 502 in the CMAC_note element. The alert gateway 120 may indicate the time the message was acknowledged in the CMAC_sent_date_time element. The alert gateway 120 may use the same message identifier in the acknowledgment as was specified in the CMAC_message_identifier element of the received keep alive message from the CMSP gateway 122. Table XII below summarizes the particular CMAC elements 206 that may be used for an alert gateway acknowledgement of a CMSP gateway-initiated keep alive message.

[0047] The following is an exemplary format of a CMSP keep alive acknowledgement message from the alert gateway to the CMSP gateway 122: <?xml version = "1.0" encoding = "UTF-8"?> <CMAS_Alert_Attributes xmlns = "urn:xxx:xxx:xx:xxx:cmac:1.0">

<CMAC_protocol_version> 1.0</CMAC_protocol_version> <CMAC_sending_alert_gateway_id>http://cmas_federal_ale rt_gateway_uri </CMAC_sending_alert_gateway_id >

<CMAC_message_identifier> 1056</CMAC_message_identifier>

<CMAC_sent_dateJime>2008-06-25T14:50:05-07:00</C MAC_sent_date_time>

<CMAC_status>System</CMAC_status>

<CMAC_message_type>Ack</CMAC_message_type>

<CMAC_note>CMAC_Resp_502</CMAC_note> </CMAC_Alert_Attributes>

[0048] The alert gateway 120 may also indicate an error condition as a result of receiving the CMSP gateway-initiated keep alive message. The error condition may be indicated by the CMAC_message_type element including "Error" and with one or more CMAC Response Codes in the CMAC note element. The remaining fields may include the values that were specified in the acknowledgement. Table XIII below summarizes the particular CMAC elements 206 that may be used for an alert gateway error indication of a CMSP gateway-initiated keep alive message.

[0049] The following is an exemplary format of a keep alive error message, with an error condition reported, that may be sent from the alert gateway 120 to the CMSP gateway 122: <?xml version = "1.0" encoding = "UTF-8"?> <CMAS_Alert_Attributes xmlns = "urn:xxx:xxx:xx:xxx:cmac:1.0"> <CMAC_protocol_version> 1.0</CMAC_protocol_version> <CMAC_sending_alert_gateway_id>http://cmas_federal_ale rt_gateway_uri </CMAC_sending_alert_gateway_id >

<CMAC_message_identifϊer> 1056</CMAC_message_identifϊer> <CMAC_sent_date_time>2008-06-25T14:50:05-07:00</CMA C_sent_date_time> <CMAC_status>System</CMAC_status> <CMAC_message_type>Error</CMAC_message_type> <CMAC_note>CMAC_Error_300</CMAC_note> </CMAC_Alert_Attributes>

The alert gateway 120 may use the foregoing message to indicate an error due to insufficient storage on the alert gateway 120. [0050] The CMSP gateway 122 may have the option of receiving additional information from the alert gateway 120. This additional information may include the original CAP message that the alert gateway 120 used to create the CMAM. In the event the CMSP gateway 122 is unable to retrieve this additional information, an error message may be sent by the CMSP gateway 122 to the alert gateway 120 to indicate the failure to retrieve this additional information.

[0051] The error message is a separate message from the acknowledgement of an alert, update or cancel message sent by the CMSP gateway 122 to the alert gateway 120, and may be sent upon failure to retrieve additional information associated with the alert, update or cancel message. Thus, this error indication is generally not an indication of an error with the original alert, update, or cancel message.

[0052] When the CMSP gateway 122 is unable to retrieve the additional information from the alert gateway 120 using the URI specified either by the CMAC original cap alert uri or in the CMAC resource segment 308 in the original alert, update or cancel message, the CMSP gateway 122 may send a CMAC message to the alert gateway 120 indicating its inability to retrieve the additional information. The CMAC message may only include a CMAC alert attributes segment 302. Upon receipt of this error indication, the alert gateway 120 may log the error. Table XIV below summarizes the particular CMAC elements 206 that may be used for a CMSP gateway error indication of upon failure to retrieve additional information.

[0053] The following is an exemplary format of an error message for failure to retrieve additional information that may be sent from the CMSP gateway 122 to the alert gateway 120: <?xml version = "1.0" encoding = "UTF-8"?> <CMAS_Alert_Attributes xmlns = "urn:xxx:xxx:xx:xxx:cmac:1.0"> <CMAC_protocol_version> 1.0</CMAC_protocol_version> <CMAC_sending_alert_gateway_id>http://cmas_federal_ale rt_gateway_uri </CMAC_sending_alert_gateway_id >

<CMAC_message_identifϊer> 1056</CMAC_message_identifϊer>

<CMAC_sent_date_time>2008-06-25T14:50:05-07:00</ CMAC_sent_date_time>

<CMAC_status>System</CMAC_status>

<CMAC_message_type>Error</CMAC_message_type>

<CMAC_note>CMAC_Error_200</CMAC_note> </CMAC_Alert_Attributes>

[0054] The CMSP gateway 122 may be configured to inform the alert gateway 120 of maintenance or other error situations during which period the CMSP gateway 122 cannot receive any messages from the alert gateway 120. This action may be requested via an error response code as a result of a keep alive message being received by the alert gateway 120. In addition, the CMSP gateway 122 may also request transmissions be ceased via a maintenance command on the CMSP gateway 122 or internal error processing, whereby the CMSP gateway 122 may be configured to initiate a message to the alert gateway 120 to cease transmissions. All transmissions, including the keep alive message, may be stopped as a result of this command. [0055] Upon a maintenance command or other error condition at the CMSP gateway 122, the CMSP gateway 122 may issue a transmission control message to the alert gateway 120 via the CMAS interface 130 to cease message traffic destined for the CMSP gateway 122. The transmission control message may be a CMAC message that only includes the CMAC alert attributes segment 302. The transmission control message may be indicated by a CMAC_status element value of "System" and a CMAC_message_type element value of "Error," with the CMAC note element indicating "CMAC_Resp_500" for a transient error on the CMSP gateway 122 with a request to discontinue transmission of alerts. The CMSP gateway 122 may indicate the time the message was initiated in the CMAC_sent_date_time element. The CMSP gateway 122 may assign a unique message identifier to the transmission control message that is specified in the CMAC_message_identifier element. Table XV below summarizes the particular CMAC elements 206 that may be used for a CMSP gateway-initiated transmission control message that ceases transmissions from the alert gateway 120.

[0056] The following is an exemplary format for a transmission control message, initiated from the CMSP gateway 122 and sent to the alert gateway 120, that ceases transmissions:

<?xml version = "1.0" encoding = "UTF-8"?> <CMAS_Alert_Attributes xmlns = "urn:xxx:xxx:xx:xxx:cmac:1.0"> <CMAC_protocol_version> 1.0</CMAC_protocol_version> <CMAC_sending_alert_gateway_id>http://cmas_cmsp_gatewa y_uri </CMAC_sending_alert_gateway_id >

<CMAC_message_identifier> 1056</CMAC_message_identifier> <CMAC_sent_dateJime>2008-06-25T14:50:00-07:00</CMAC _sent_date_time> <CMAC_status>System</CMAC_status> <CMAC_message_type>Error</CMAC_message_type> <CMAC_message_type>CMAC_Resp_500</CMAC_message_type > </CMAC_Alert_Attributes>

[0057] After the maintenance or error condition is cleared, the CMSP gateway 122 may inform the alert gateway 120 that the transmission of messages may resume using a transmission control message indicated by a CMAC_status element value of "System," a CMAC_message_type element value of "Error," and a CMAC_note element indicating "CMAC_Resp_501" to resume transmission of alerts to CMSP gateway 122. The CMSP gateway 122 may indicate the time the message was initiated in the CMAC_sent_date_time element. The CMSP gateway 122 may use the same unique message identifier in the transmission control message as was used in the original message to cease transmissions (either the transmission control message or the response to the keep alive message). The unique message identifier may be specified in the CMAC_message_identifϊer element. Table XVI below summarizes the particular CMAC elements 206 that may be used for a CMSP gateway- initiated transmission control message that resumes transmissions.

[0058] The following is an exemplary format for a transmission control message, initiated from the CMSP gateway 122 and sent to the alert gateway 120, that resumes transmissions:

<?xml version = "1.0" encoding = "UTF-8"?> <CMAS_Alert_Attributes xmlns = "urn:xxx:xxx:xx:xxx:cmac:1.0"> <CMAC_protocol_version> 1.0</CMAC_protocol_version> <CMAC_sending_alert_gateway_id>http://cmas_cmsp_gatewa y_uri </CMAC_sending_alert_gateway_id >

<CMAC_message_identifϊer> 1056</CMAC_message_identifier> <CMAC_sent_dateJime>2008-06-25T14:55:00-07:00</CMAC _sent_date_time> <CMAC_status>System</CMAC_status> <CMAC_message_type>Error</CMAC_message_type> <CMAC_message_type>CMAC_Resp_501 </CMAC_message_type> </CMAC_Alert_Attributes> Exemplary Communications Between the Alert Gateway and the CMSP Gateway

[0059] FIGs. 4A and 4B are flow diagrams of an exemplary method 400 for communicating with an alert gateway 120 (from the perspective of the CMSP gateway 122). At 405, the CMSP gateway 122 may receive an alert message from the alert gateway 120. The alert message may be in the format of a CMAC message. At 410, the CMSP gateway 122 may determine whether there is an error condition associated with the CMSP gateway 122 itself and/or with the message received from the alert gateway 120. For example, the CMSP gateway 122 may determine that it has insufficient storage to store messages from the alert gateway 120. Alternatively, the CMSP gateway 122 may determine that the message was received after the expiration time of the alert message, i.e., after the time period specified in the alert message had expired. [0060] If the CMSP gateway 122 determines that there is an error condition, the CMSP gateway 122 may send a CMAC error message to the alert gateway 120 at 415. The CMAC error message may include one or more CMAC elements 206, as illustrated in Table X above, for example. In the absence of an error condition, the CMSP gateway 122 may acknowledge receipt of the alert message at 420. For example, the CMSP gateway 122 may send a CMAC acknowledgment message to the alert gateway 120. The CMAC acknowledgment message may include one or more CMAC elements 206, as illustrated in Table IX above, for example.

[0061] At 425, the CMSP gateway 122 may process the alert message, using the CMAS interface 130, into a suitable format for distribution to various electronic devices, such as communications devices 100a, 100b, 100c. For example, the CMSP gateway 122 may process the alert message into a CMAE message. An exemplary scheme for mapping CMAC elements to CMAE elements is shown in Appendix II. At 430, the CMSP gateway 122 may send the reformatted alert message to the wireless network 108 for distribution to the communications devices 100a, 100b, 100c, for example.

[0062] As noted above, the CMAS interface 130 may facilitate the exchange of various messages between the CMSP gateway 122 and the alert gateway 120. Thus, at 435, the CMSP gateway 122 may receive a keep alive message from the alert gateway 120. The keep alive message from the alert gateway 120 may include one or more CMAC elements 206, as illustrated in Table VI above, for example. At 440, the CMSP gateway 122 may then determine whether there is an error condition associated with the CMSP gateway 122 itself and/or with the keep alive message. If the CMSP gateway 122 determines that an error condition exists (e.g., there is insufficient storage space at the CMSP gateway 122), the CMSP gateway 122 may indicate the error condition to the alert gateway 120 at 445. For example, the CMSP gateway 122 may send a CMAC error message to the alert gateway 120. The CMAC error message may include one or more CMAC elements 206, as illustrated in Table VIII above, for example. In the absence of an error condition, the CMSP gateway 122 may acknowledge receipt of the keep alive message at 450. For example, the CMSP gateway 122 may send a CMAC acknowledgement message to the alert gateway 120. The CMAC acknowledgment message may include one or more CMAC elements 206, as illustrated in Table VII above, for example.

[0063] Continuing with FIG. 4B, the CMSP gateway 122 may send other types of messages to the alert gateway. For example, at 455, the CMSP gateway 122 may send a keep alive message to the alert gateway 120. The keep alive message from the CMSP gateway 122 may be a CMAC message having one or more CMAC elements 206, as illustrated in Table XI above, for example. At 460, the CMSP gateway 122 may receive an indication of an error condition and/or an acknowledgment from the alert gateway 120 in response to the keep alive message. For example, the CMSP gateway 122 may receive a CMAC error message having one or more CMAC elements 206, as illustrated in Table XIII above. Alternatively, the CMSP gateway 122 may receive a CMAC acknowledgment message having one or more CMAC elements 206, as illustrated in Table XII. At 465, the CMSP gateway 122 may inform the alert gateway 120 that it is unable to retrieve additional information from the alert gateway 120. For example, the CMSP gateway 122 may send a CMAC message having one or more CMAC elements 206, as illustrated in Table XIV above.

[0064] In some situations, the CMSP gateway 122 may be unable to receive or exchange message traffic with the alert gateway 120. For example, at 470, the CMSP gateway 122 may inform the alert gateway 120 of a maintenance and/or error situation. In such instances, at 475, the CMSP gateway 122 may send the alert gateway 120 a transmission control message instructing the alert gateway 120 to cease message traffic to the CMSP gateway 122. The transmission control message may include on or more CMAC elements 206, as illustrated in Table XV above, for example. After the maintenance is complete, or the error situation has been addressed, the CMSP gateway 122 may send the alert gateway 120 another transmission control message instructing the alert gateway 120 to resume message traffic to the CMSP gateway 122. This transmission control message may include one or more CMAC elements 206, as illustrated in Table XVI above, for example.

[0065] It will be appreciated that one or more of the elements depicted in FIGs. 4 A and 4B may be omitted from the method 400 while remaining consistent with an embodiment. In addition, the sequence of the elements depicted in FIGs. 4 A and 4B are for illustrative purposes only. Thus, other suitable sequences are also consistent with an embodiment. For example, the CMSP gateway 122 may inform the alert gateway 120 of a maintenance or error situation, as depicted at 470, prior to issuing a keep alive message to the alert gateway 120, as depicted at 455.

[0066] FIGs. 5A-5C are flow diagrams of an exemplary method 500 for communicating with an alert initiator 116 and the CMSP gateway 122 (from the perspective of the alert gateway 120). At 505, the alert gateway 120 may receive an alert message from the alert initiator 116. In one embodiment, the alert message from the alert initiator 116 may be in a CAP format. At 510, the alert gateway 120 may process the alert message, using the CMAS interface 130, into a suitable format for distribution to the CMSP gateway 122. For example, the alert gateway 120 may process the alert message into a CMAC message. An exemplary scheme for mapping CAP elements to CMAC elements is shown in Appendix II. At 515, the alert gateway 120 may send the reformatted alert message to the CMSP gateway 122. In response, at 520, the alert gateway may receive a acknowledgment (e.g., a message having one or more CMAC elements 206 shown in Table IX above) and/or an error indication (e.g., a message having one or more CMAC elements 206 shown in Table X above) from the CMSP gateway 122.

[0067] As noted above, the CMAS interface 130 may facilitate the exchange of various types of messages between the alert gateway 120 and the CMSP gateway 122. For example, at 525, the alert gateway 120 may send a keep alive message to the CMSP gateway 122. The keep alive message may include one or more CMAC elements 206, as illustrated in Table VI above, for example. After the keep alive message is sent, the alert gateway 120 may receive an acknowledgement and/or one or more error conditions from the CMSP gateway 122 at 530 in response to the keep alive message. The acknowledgement from the CMSP gateway 122 may include one or more CMAC elements 206, as illustrated in Table VII above, for example. The error condition(s) indicated by the CMSP gateway 122 may include one or more CMAC elements 206, as illustrated in Table VIII above, for example.

[0068] Continuing with FIG. 5B, at 535, the alert gateway 120 may also periodically receive keep alive messages from the CMSP gateway 122. In response to the keep alive message from the CMSP gateway 122, the alert gateway 120 may determine whether there is one or more error conditions at 540 (e.g., the alert gateway 120 may determine if it has insufficient storage). If the alert gateway 120 determines that there is an error condition, the alert gateway 120 may indicate the error condition to the CMSP gateway 122 at 545. The error condition indicated by the alert gateway 120 may include one or more CMAC elements 206, as illustrated in Table XIII above , for example. In the absence of an error condition, the alert gateway 120 may send an acknowledgement to the CMSP gateway 122 that the keep alive was message received at 550. The acknowledgment from the alert gateway 120 may include one or more CMAC elements 206, as illustrated in Table XII above, for example. At 555, the alert gateway 120 may receive an indication that the CMSP gateway 122 is unable to retrieve additional information from the alert gateway 120. The indication that the CMSP gateway 122 is unable to retrieve additional information may be a CMAC message having one or more CMAC elements 206, as illustrated in Table XIV above, for example.

[0069] Continuing with FIG. 5C, the alert gateway 120 may receive an indication from the CMSP gateway 122 of a maintenance and/or error situation at 560. In such instances, at 565, the alert gateway 120 may receive a transmission control message from the CMSP gateway 122 instructing the alert gateway 120 to cease message traffic to the CMSP gateway 122. The transmission control message may include on or more CMAC elements 206, as illustrated in Table XV above, for example. In response to the transmission control message at 565, the alert gateway 120 may stop sending message traffic to the CMSP gateway 122 at 570. After the maintenance is complete, or the error situation has been addressed, the alert gateway 120 may receive another transmission control message from the CMSP gateway 122 instructing the alert gateway 120 to resume message traffic at 575. This transmission control message may include one or more CMAC elements 206, as illustrated in Table XVI above, for example. In response to the transmission control message at 575, the alert gateway 120 may resume sending message traffic to the CMSP gateway 122 at 580.

[0070] It will be appreciated that one or more of the elements depicted in FIGs. 5 A - 5C may be omitted from the method 500 while remaining consistent with an embodiment. In addition, the sequence of the elements depicted in FIGs. 5A - 5C are for illustrative purposes only. Thus, other suitable sequences are also consistent with an embodiment. For example, the alert gateway 120 may receive a keep alive message from the CMSP gateway 122, as depicted at 535, prior to sending a keep alive message to the CMSP gateway 122, as depicted at 525. Description of an Exemplary Wireless Network

[0071] FIG. 6 depicts an overall block diagram of an exemplary packet-based mobile cellular network environment, such as a GPRS network, in which aspects of one or more embodiments may be implemented. In an example configuration, the wireless network 108 may be encompassed by the network environment depicted in FIG. 6. In such an environment, there may be a plurality of Base Station Subsystems ("BSS") 600 (only one is shown), each of which comprises a Base Station Controller ("BSC") 602 serving a plurality of Base Transceiver Stations ("BTS"), such as BTSs 604, 606, and 608. The BTSs 604, 606, 608 are the access points where users of packet-based mobile devices (e.g., the communications device 100) become connected to the wireless network 108.

[0072] In exemplary fashion, the packet traffic originating from one or more user devices (e.g., the communication device 100) may be transported via an over-the-air interface to the BTS 608, and from the BTS 608 to the BSC 602. Base station subsystems, such as the BSS 600, may be part of an internal frame relay network 610 that may include a Service GPRS Support Nodes ("SGSN") such as SGSNs 612, 614. As shown in FIG. 6, the SGSN 614 may be connected to an internal packet network 620 through which the SGSN 614 may route data packets to and from a plurality of gateway GPRS support nodes (GGSNs), such as GGSNs 622, 624, 626. As illustrated, the SGSN 614 and the GGSNs 622, 624, 626 may be part of the internal packet network 420. The GGSNs 622, 624, 626 typically provide an interface to external Internet Protocol ("IP") networks such as a Public Land Mobile Network ("PLMN") 650, corporate intranets 640, or a Fixed-End System ("FES") or the public Internet 630. As illustrated, a corporate network 640 may be connected to the GGSN 624 via a firewall 632 and the PLMN 650 may be connected to the GGSN 624 via a boarder gateway router 634. A Remote Authentication Dial-In User Service ("RADIUS") server 642 may be used for caller authentication when a user of a mobile cellular device, such as communications device 100, calls the corporate network 640.

[0073] Generally, there may be four different cell sizes in a GSM network, referred to as macro, micro, pico, and umbrella cells. The coverage area of each cell is different in different environments. Macro cells may be regarded as cells in which the base station antenna is installed in a mast or a building above average rooftop level. Micro cells may be cells whose antenna height is under average rooftop level. Micro-cells may typically be used in urban areas. Pico cells may include small cells having a diameter of a few dozen meters. Pico cells may be used mainly indoors. On the other hand, umbrella cells may be used to cover shadowed regions of smaller cells and/or fill in gaps in coverage between those cells.

[0074] FIG. 7 illustrates an architecture of a typical GPRS network as segmented into four groups: users 702, a radio access network 704, a core network 706, and an interconnect network 708. In an example configuration, the wireless network 108, shown in FIG. 1, may include the core network 706. The users 702 may include a plurality of end users (though only a single mobile subscriber 710 is shown in FIG. 7). In an example embodiment, the device depicted as the mobile subscriber 710 may include the communications device 100.

[0075] The radio access network 704 may include a plurality of BSSs, such as a BSS 712, which may include a BTS 714 and a BSC 716. The core network 706 may have a host of various network elements. As shown in FIG. 7, the core network 706 may have a Mobile Switching Center ("MSC") 718, a Service Control Point ("SCP") 720, a gateway MSC 722, a SGSN 728, a Home Location Register ("HLR") 724, an Authentication Center ("AuC") 726, a Domain Name Server ("DNS") 732, and a GGSN 730. The interconnect network 708 may also include a host of various networks and network elements. For example, the interconnect network 708 may include a Public Switched Telephone Network ("PSTN") 734, a Fixed-End System ("FES") or Internet 736, a firewall 738, and a corporate network 740.

[0076] The MSC 718 may be connected to a large number of BSCs. At the MSC 718, for instance, depending on the type of traffic, the traffic may be separated in that voice may be sent to the PSTN 734 through the GMSC 722, and/or data may be sent to the SGSN 728, which then sends the data traffic to the GGSN 730 for further forwarding. [0077] When the MSC 718 receives call traffic, for example, from the BSC 712, the MSC 718 may send a query to a database hosted by the SCP 720. The SCP 720 may process the request and issues a response to the MSC 718 so that the MSC 718 may continue call processing as appropriate.

[0078] The HLR 724 often is a centralized database for subscribers to register to the GPRS network. The HLR 724 may store static information about each subscriber, such as the International Mobile Subscriber Identity ("IMSI"), subscribed services, and a key for authentication. The HLR 724 may also store dynamic subscriber information such as the subscriber's current location. Associated with the HLR 724 is the AuC 726. The AuC 726 may be a database that contains the algorithms for authenticating subscribers and includes the associated keys for encryption to safeguard the user input for authentication.

[0079] In the following, depending on context, the term "mobile subscriber" sometimes refers to the end user and sometimes to the actual portable device, such as the communications device 100, used by an end user of the mobile cellular service. When a mobile subscriber turns on his or her communications device 100, the device 100 typically goes through an attach process by which the device 100 attaches to a SGSN of the GPRS network, such as the SGSN 728 shown in FIG. 7. When mobile subscriber 710 initiates the attach process by turning on the network capabilities of the communications device, an attach request may be sent by the device 100 to the SGSN 728. The SGSN 728 may then query another SGSN (not shown), to which the mobile subscriber 710 was attached before, for the identity of the mobile subscriber 710. Upon receiving the identity of the mobile subscriber 710 from the other SGSN, the SGSN 728 may request more information from the mobile subscriber 710. This information is used to authenticate the mobile subscriber 710 to the SGSN 728 by the HLR 724. Once verified, the SGSN 728 may send a location update to the HLR 724 indicating the change of location to a new SGSN, in this case the SGSN 728. The HLR 724 may notify the old SGSN, to which mobile subscriber 710 was attached before, to cancel the location process for the mobile subscriber 710. The HLR 724 may then notify the SGSN 728 that the location update has been performed. At this time, the SGSN 728 may send an Attach Accept message to the communications device 100 associated with the mobile subscriber 710. The communications device 100 may send an Attach Complete message to the SGSN 728.

[0080] After attaching itself with the network, the mobile subscriber 710 may then go through the authentication process. In the authentication process, the SGSN 728 may send the authentication information to the HLR 724, which may send information back to the SGSN 728 based on the subscriber's profile that was part of the subscriber's initial setup. The SGSN 728 may then send a request for authentication and ciphering to the communications device 100 associated with the mobile subscriber 710. The communications device 100 may use an algorithm to send the user identification (ID) and password to the SGSN 728. The SGSN 728 may use the same algorithm and compare the result. If a match occurs, the SGSN 728 typically authenticates the mobile subscriber 710.

[0081] Next, the communications device 100 may establish a user session with the destination network, such as the corporate network 740, by going through a Packet Data Protocol ("PDP") activation process. Briefly, in the process, the communications device 100 may request access to an Access Point Name ("APN"), such as UPS.com. The SGSN 728 may receive the activation request from the communications device 100. The SGSN 728 may then initiate a Domain Name Service ("DNS") query to learn which GGSN node has access to the UPS.com APN. The DNS query may be sent to the DNS server 732 in the core network 706, which may be provisioned to map to one or more GGSN nodes in the core network 706. Based on the APN, the mapped GGSN 730 may access the requested corporate network 740. The SGSN 728 may then send to the GGSN 730 a Create Packet Data Protocol ("PDP") Context Request message that contains necessary information. The GGSN 730 may send a Create PDP Context Response message to the SGSN 728, which may then send an Activate PDP Context Accept message to the communications device 100 associated with the mobile subscriber 710.

[0082] Once activated, data packets of the call made by the mobile subscriber 710 may then go through the radio access network 704, the core network 706, and the interconnect network 708, in the particular fixed-end system or Internet 736 and the firewall 738 to reach corporate network 740.

[0083] Thus, network elements that can invoke the functionality of sending and/or receiving EAS messages and alerts may include, but are not limited to, Gateway GPRS Support Node tables, Fixed End System router tables, firewall systems, VPN tunnels, and any number of other network elements as required by the particular digital network.

[0084] While example embodiments have been described in connection with various computing devices, the underlying concepts can be applied to any computing device or system capable of processing EAS alerts. The various techniques described herein can be implemented in connection with hardware or software or, where appropriate, with a combination of both. Thus, the methods and apparatus for implementing aspects of one or more embodiments may take the form of program code (i.e., instructions) embodied in tangible media, such as floppy diskettes, CD-ROMs, hard drives, or any other machine-readable storage medium, wherein, when the program code is loaded into and executed by a machine, such as a computer, the machine becomes an apparatus for selectively processing a broadcast message. In the case of program code execution on programmable computers, the computing device will generally include a processor, a storage medium readable by the processor (including volatile and nonvolatile memory and/or storage elements), at least one input device, and at least one output device. The program(s) may be implemented in assembly or machine language, if desired. In any case, the language may be a compiled or interpreted language, and combined with hardware implementations .

[0085] The methods and apparatus for the methods and apparatus for implementing aspects of one or more embodiments may also be practiced via communications embodied in the form of program code that is transmitted over some transmission medium, such as over electrical wiring or cabling, through fiber optics, or via any other form of transmission, wherein, when the program code is received and loaded into and executed by a machine, such as an EPROM, a gate array, a programmable logic device (PLD), a client computer, or the like, the machine becomes an apparatus for selectively processing a broadcast message. When implemented on a general- purpose processor, the program code combines with the processor to provide a unique apparatus that operates to process EAS alerts. Additionally, any storage techniques used in connection with processing EAS alerts can invariably be a combination of hardware and software.

[0086] While the disclosed embodiments have been described in connection with the various figures, it is to be understood that other similar embodiments can be used or modifications and additions can be made to the disclosed embodiments for performing the same function(s) without deviating therefrom. For example, one skilled in the art will recognize that various instructions, not specifically disclosed herein, for interfacing an alert gateway to a CMSP gateway may be utilized. Further, one skilled in the art will recognize that the embodiments disclosed herein may apply to any environment, whether wired or wireless, and may be applied to any number of devices connected via a communications network and interacting across the network. Therefore, the embodiments should be construed in breadth and scope in accordance with the appended claims. APPENDIX I

<?xml version = "1.0" encoding = "UTF-8"?> <schema xmlns = "http://www.w3.org/2001/XMLSchema" targetNamespace = "cmac:1.0" xmlnsxmac = "cmac:1.0" xmlns:xs = "http://www.w3.org/2001/XMLSchema" elementFormDefault = "qualified" attributeFormDefault = "unqualified"> <element name = "CMAC_Alert_Attributes"> <annotation>

<documentation>CMAC Alert Message (version 1.0)</documentation> </annotation> <complexType> <sequence>

<element name = "CMAC_protocol_version" type = "string"/> <element name = "CMAC_sending_alert_gateway_id" type = "anyURI"/> <element name = "CMAC_message_identifier" type = "string"/> <element name = "CMAC referenced message identifier" type = "string" minOccurs "0" />

<element name = "CMAC_special_handling"> <simpleType> Restriction base = "string"> Enumeration value = "Presidential"/> <enumeration value = "Child Abduction"/> <enumeration value = "No Special Handling"/> </restriction> </simpleType> </element>

<element name = "CMAC_sender" type = "string"/> <element name = "CMAC_sent_date_time" type = "dateTime"/> <element name = "CMAC_status"> <simpleType> Restriction base = "string"> <enumeration value = "Actual"/> Enumeration value = "Exercise"/> <enumeration value = "System"/> <enumeration value = "Test"/> </restriction> </simpleType> </element>

<element name = "CMAC_message_type"> <simpleType> Restriction base = "string"> <enumeration value = "Alert"/> <enumeration value = "Update"/> <enumeration value = "Cancel"/> <enumeration value = "Ack"/> Enumeration value = "Error"/> </restriction> </simpleType>

<element name = "CMAC cancel error note" type = "string" minOccurs = "0"/> <element name = "CMAC original cap alert uri" type = "anyURI"/> </element>

<element name = "CMAC alert info" minOccurs = "0"> <complexType> <sequence>

<element name = "category" maxOccurs = "unbounded"> <simpleType> Restriction base = "string"> <enumeration value = "Geo"/> <enumeration value = "Met"/> <enumeration value = "Safety"/> <enumeration value = "Security"/> Enumeration value = "Rescue"/> <enumeration value = "Fire"/> <enumeration value = "Health"/> <enumeration value = "Env"/> <enumeration value = "Transport"/> Enumeration value = "Infra"/> <enumeration value = "CBRNE"/> <enumeration value = "Other"/> </restriction> </simpleType> </element>

<element name = "CMAC event code" minOccurs = "0" maxOccurs = "unbounded"> <complexType> <sequence>

<element ref = "cmac:valueName"/> <element ref = "cmac:value"/> </sequence> </complexType> </element>

<element name = "CMAC responseType" maxOccurs = "unbounded"> <simpleType> Restriction base = "string"> <enumeration value = "Shelter"/> <enumeration value = "Evacuate"/> <enumeration value = "Prepare"/> Enumeration value = "Execute"/> <enumeration value = "Monitor"/> <enumeration value = "Assess"/> <enumeration value = "None"/> </restriction> </simpleType> </element>

<element name = "CMAC_severity"> <simpleType> Restriction base = "string"> Enumeration value = "Extreme"/> <enumeration value = "Severe"/> </restriction> </simpleType> </element>

<element name = "CMAC_urgency"> <simpleType> Restriction base = "string"> <enumeration value = "Immediate"/> <enumeration value = "Expected"/> </restriction> </simpleType> </element>

<element name = "CMAC_certainty"> <simpleType> Restriction base = "string"> <enumeration value = "Observed"/> <enumeration value = "Likely" /> </restriction> </simpleType> </element>

<element name = "CMAC expires date time" type = "dateTime" minOccurs = "0"/> <element name = "CMAC sender name" type = "string" minOccurs = "0"/> <element name = "CMAC_text_language" /> <simpleType> Restriction base = "string"> Enumeration value = "English"/> <enumeration value = "Spanish"/> <enumeration value = "French"/> <enumeration value = "Other"/> </restriction> </simpleType

<element name = "CMAC_text_encoding" /> <simpleType> Restriction base = "string"> <enumeration value = "GSM-7 bit"/> <enumeration value = "ISO-639-2"/> <enumeration value = " UCS-2"/> <enumeration value = " UTF-16 "/> </restriction> </simpleType </element>

<element name = "CMAC_text_alert_message_length" type = "string" /> <element name = "CMAC_text_alert_message" type = "string" /> Element name = "CMAC web" type = "anyURI" minOccurs = "0"/> <element name = "CMAC alert resource" minOccurs = "0" maxOccurs = "unbounded" > <complexType> <sequence> <element name = "CMAC_resource_desciption" type = "string"/> <element name = "CMAC mime type" type = "string" minOccurs = "0"/> <element name = "CMAC resource size" type = "integer" minOccurs = "0"/> <element name = "CMAC resource uri" type = "anyURI" minOccurs = "0"/> <element name = "CMAC digest" type = "string" minOccurs = "0"/> </sequence> </complexType> </element>

<element name = "area" minOccurs = "0" maxOccurs = "unbounded"> <complexType> <sequence>

<element name = "CMAC_area_description" type = "string"/> <element name = "CMAC_polygon" type = "string" minOccurs = "0" maxOccurs = "unbounded"/>

<element name = "CMAC circle" type = "string" minOccurs = "0" maxOccurs = "unbounded"/>

<element name = "CMAC cmac geocode" type="string" maxOccurs = "unbounded">

<element name = "CMAC gnis" type = "string" minOccurs = "0" maxOccurs = "unbounded"/> </element> </sequence> </complexType> </element> </sequence> </complexType> </element> </sequence> </complexType> </element>

<element name = "valueName" type = "string"/> <element name = "value" type = "string"/> </schema>

APPENDIX II