Abstract:
A system and method for generating and transmitting emergency messages and for maintaining real-time emergency communications sessions between users and emergency dispatch centers. A system receives data transmitted from a user device and constructs an emergency message related to a specific type of emergency scenario as well as the location, meta-data and background information of the user. The generated emergency message is transmitted via a communications network and delivered to an appropriate emergency dispatch center. The method enables the user to deliver a detailed request for help regardless of his or her location or, in another instance, delivers the basic emergency response related information for the user. The generated emergency message is universally compatible with emergency communications center infrastructure so long as the communications centers possess basic voice call equipment.

Description:
CROSS-REFERENCE TO RELATED APPLICATION 
       [0001]    This application claims the benefit of priority to U.S. Provisional Patent Application Ser. No. 62/052,606 titled “SYSTEM AND METHOD FOR IMPLEMENTING AND MAINTAINING EMERGENCY COMMUNICATION SESSIONS” filed on Sep. 19, 2014, which is hereby incorporated herein by reference in its entirety for all purposes. 
     
    
     BACKGROUND OF INVENTION 
       [0002]    1. Field of Invention 
         [0003]    Aspects and embodiments disclosed herein are generally directed to systems and methods for the management of emergency calls, and for the enablement of emergency calls to be placed from mobile communications devices through communication channels other than public switched telephone network or cellular voice calls. 
         [0004]    2. Discussion of Related Art 
         [0005]    People in emergencies may request help via a designated emergency number, such as a three-digit number like 911 or direct local access telephone numbers (i.e., numbers tied to a specific emergency dispatch center). Increasingly, communications to emergency dispatch centers (“EDCs”), such as Public Safety Answering Points (“PSAPs”), are made via mobile wireless devices and smart devices (e.g., smartphones, tablets, laptops, wearable smart devices, etc.), rather than land-based telephone lines. A majority of PSAPs and EDCs are incapable of receiving non-voice data from these mobile wireless and smart devices. A system and method to facilitate communication of non-voice data to EDCs and PSAPs is needed. 
       SUMMARY OF INVENTION 
       [0006]    Given the varying capabilities of dispatch centers to receive different forms of communications (e.g., voice, SMS, email, etc.), it has been found desirable in accordance with one or more embodiments that mobile devices incorporate a standard platform that is universally compatible with dispatch centers while also offering the ability for users to utilize additional features enabled by mobile and smart devices, such as text messaging, location services, and video capture features to fulfill a request for emergency response. 
         [0007]    Historically, a user has not been able to make non-voice network calls, or voice calls over data networks such as those using Internet Protocol (IP), also referred to as Voice of IP (VoIP) calls, to an overwhelming majority of EDCs (fewer than 1% of PSAPs in United States today can accept non-voice and VoIP calls). Accordingly, a user wishing to deliver a text message, video feed, image, or some other non-voice message to an EDC could not be assured that his/her message would be received by the intended recipient. Moreover, in many instances, the user could not even be assured that he/she would receive confirmation of receipt or lack thereof from the EDC, thereby causing the user to remain unsure as to whether his/her request for help was being fulfilled. 
         [0008]    A great number of personal communication devices, for example, some tablet and laptop computers, are enabled to send and receive messages over data communication channels, such as the Internet, however, are not configured to send and receive phone calls. These devices also do not have a way for an EDC to call back in case such a need arises in the process of providing emergency response service to the end user. Accordingly it would be desirable to provide a method of provisioning telephone numbers through which non-voice enabled personal communication devices may be called back. 
         [0009]    Given the current infrastructure constraints of the vast majority of dispatch centers, it has been found desirable to provide a system and associated method that enables users to utilize more advanced features of today&#39;s phones, such as text, location services, video, and images, to deliver voice and non-voice messages to EDCs, regardless of the physical infrastructure constraints of the EDC. It has been found desirable to provide a system to update the caller by receiving updates of whether or not the EDC personnel are able to respond to the request for help and the status of their emergency response. Further, it has been found desirable to provide a method to initialize and manage such communication using a data network such as the Internet as a communication platform. 
         [0010]    Various aspects and embodiments disclosed herein include methods and systems which fulfill one or more of these needs. 
         [0011]    In accordance with one aspect, there is provided a method of facilitating a reliable and persistent communication between a user of an application client, also referred to herein as a user communication device, and an emergency response dispatch center. The method comprises receiving an emergency alert from the user communication device at an emergency messaging system, constructing an emergency message that is based on the emergency alert and that includes at least one of an audio file, an interactive voice response (IVR) message, a Short Message Service (SMS) text message, a Multimedia Messaging Service (MMS) message, an e-mail message, an Instant Messaging (IM) message, and a message otherwise formatted for communication over the Internet, establishing a first communication link, the first communication link including at least one of a communication link between the emergency messaging system and an emergency response dispatch center, a link between the emergency messaging system and a Routing Service Provider (RSP) and a communication link between the RSP and the dispatch center, and a communication link between the emergency response dispatch center and a first gateway and a communication link between the first gateway and the emergency messaging system, establishing a second communication link, the second communication link including at least one of a communication link between the emergency messaging system and the user communication device, and a communication link between the emergency messaging system and a second gateway and between the second gateway and the user communication device, bridging the first communication link and the second communication link, routing the emergency message from the emergency messaging system to the dispatch center over the first communications link, and actively managing the first and second communication links until a termination signal is received from the user communication device. 
         [0012]    In some embodiments the user communication device contains an application client, implemented in software, to generate and transmit an emergency alert as well as receive information from EMS information about the emergency alert. 
         [0013]    In some embodiments, the method comprises communicating between the user communication device and the dispatch center via text messages. 
         [0014]    In some embodiments, the method comprises communicating between the user communication device and the dispatch center via e-mail exchanges. 
         [0015]    In some embodiments, the user communication device contains an application client and the user uses the application client to interact with the user communication device. 
         [0016]    In some embodiments, constructing the IVR message includes generating an audio message from alert metadata and user information of the user stored in a user database of the emergency messaging system. 
         [0017]    In some embodiments, the emergency messaging system sends a push notification to the user communication device notifying the user of an attempted connection with the dispatch center. 
         [0018]    In some embodiments, the emergency messaging system sends an SMS message to the user communication device notifying the user of an attempted connection with the dispatch center. 
         [0019]    In some embodiments, the emergency messaging system continuously attempts to initiate a voice connection with the dispatch center until success or termination by request by one of the user and a session controller of the emergency messaging system. 
         [0020]    In some embodiments, the emergency messaging system maintains the first communication link if the second communication link fails and maintains the second communication link if the first communication link fails. The emergency messaging system may re-establish the first communication link responsive to failure of the first communication link and re-establish the second communication link responsive to failure of the second communication link. 
         [0021]    In some embodiments, the emergency messaging system determines whether a reliable data connection to the dispatch center is available, implements a VoIP session between the dispatch center and the user communication device responsive to a determination that a reliable data connection to the dispatch center is available, implements a cellular phone call between the dispatch center and the user communication device responsive to a determination that a reliable data connection to the dispatch center is not available and that a reliable cellular connection between the user communication device and the dispatch center is available, and implements a PSTN phone call between the dispatch center and the user communication device responsive to a determination that a reliable data connection to the dispatch center is not available and that a cellular phone call between the user communication device and the dispatch center failed to initiate and that a PSTN telephone connection is between the user communication device and the dispatch center is available. 
         [0022]    In some embodiments, the first communication link includes multiple TCP or UDP sessions and the second communication link includes multiple TCP or UDP sessions. 
         [0023]    In some embodiments, the first gateway is configured to generate, transmit, receive and interpret multimedia Session Initiation Protocol (SIP) messages. In some embodiments, the first gateway is configured to generate, transmit, receive and interpret H.323 signaling messages. 
         [0024]    In some embodiments, the second gateway is configured to generate, transmit, receive and interpret multimedia Session Initiation Protocol (SIP) messages. In some embodiments, the second gateway is configured to generate, transmit, receive and interpret H.323 signaling messages. 
         [0025]    In accordance with another aspect, there is provided a method for providing emergency communication with an emergency messaging system. The method comprises provisioning and maintaining a pool of direct inward dial telephone numbers at one or more gateways, receiving, at a server of the emergency messaging system (EMS) remote from the user communication device, a transmission from the user communication device that indicates that a user of the user communication device is in an emergency, receiving, at the EMS, metadata containing information regarding a location of the user communication device sent from the user communication device, using information regarding the location of the user communication device to determine an Emergency Dispatch Center (EDC) to which to transmit an emergency message, selecting a telephone number from the pool of direct inward dial telephone numbers, associating the telephone number with the user communication device, associating the telephone number with the location of the user communication device in real-time using an emergency service provisioning application programming interface (API), and utilizing the telephone number to provision emergency service for the user from the EDC. 
         [0026]    In some embodiments, the emergency messaging system sends location information metadata to one of a number of APIs exposed by third-party Routing Service Providers (RSPs) and, in response to sending the location information metadata, receives, from the one of the number of APIs, an identity of an EDC and identifying information associated with the EDC, including location, infrastructure capabilities, and responder availability of the EDC. The emergency messaging system may include the location information in a request for provisioning of emergency services for the user utilizing the telephone number, and the third-party RSP may update an automatic location identification (ALI) database of the emergency messaging system to associate the location information with the telephone number. 
         [0027]    In some embodiments, the emergency messaging system determines if communications between the user communication device and the EDC have been successfully established utilizing the telephone number and a third-party RSP and, responsive to communications between the user communication device and the EDC having not been successfully established, attempts to establish communication between the user communication device and the EDC using a different third-party RSP and associated telephone number. The emergency messaging system may originate a telephone call to the EDC through one of the one or more gateways. 
         [0028]    In accordance with another aspect, there is provided an emergency management system (EMS) containing a communications system comprising at least one first input/output (I/O) system configured to receive a request for assistance from a user communication device, the request including metadata providing an indication of a location of the user communication device and a type of emergency reported by a user of the user communication device and at least one processing unit in communication with the at least one first I/O system. The at least one processing unit is configured to receive an indication of the request from the at least one first I/O system and interpret the metadata transmitted from the user communication device, communicate with at least one server of the EMS housing a memory unit including personal information associated with the user via a communications network of the EMS, and read the personal information from the memory unit, generate an emergency message related to an emergency category associated with the type of emergency reported by the user, the emergency message including information associated with the emergency category, an indication of the location of the user communication device, and the personal information of the user, determine, based upon knowledge of the capabilities of a plurality of emergency dispatch centers and based upon the location of the user communication device, an emergency dispatch center that is equipped to receive the alert and whether the emergency dispatch center is configured to receive non-voice calls, responsive to a determination that the emergency dispatch center is configured to receive non-voice calls and to a determination that the emergency message is in a non-voice format, to transmit the emergency message in the non-voice format to the emergency dispatch center, and responsive to a determination that the emergency dispatch center is not configured to receive non-voice calls and to a determination that the emergency message is in a non-voice format, to convert the emergency message to a voice format and transmit the emergency message via a non-IP communication link to the emergency dispatch center. 
         [0029]    In some embodiments, the at least one processing unit is further configured to communicate the emergency message to at least one Routing Service Provider (RSP) over a communications network via at least one second I/O system of the EMS. The RSP may be configured to communicate the emergency message to a network address of one of the plurality of emergency dispatch centers based on the emergency category, each of the plurality of emergency dispatch centers being different. The one of the plurality of emergency dispatch centers may be a police station. The one of the plurality of emergency dispatch centers may be a fire house. 
         [0030]    In some embodiments, the RSP is configured to communicate the emergency message to a network address of a one of the plurality of emergency dispatch centers selected based on the emergency category and the location of the user communication device. The one of the plurality of emergency dispatch centers may be a university-affiliated emergency dispatch center. The one of the plurality of emergency dispatch centers may be one of a corporate emergency dispatch center and a private emergency dispatch center. 
         [0031]    In some embodiments, the user communication device is configured to transmit the request for assistance to the at least one first I/O system in one of text, speech-to-text, voice, and voice-to-text format, based upon a selection made by the user, and the at least one first I/O system is configured to receive and process the request for assistance in any of the text, speech-to-text, voice, and voice-to-text formats. 
         [0032]    In some embodiments, the EMS includes an application programming interface (API) configured to create a communications bridge between the user communication device and the emergency dispatch center. 
         [0033]    In accordance with another aspect, there is provided a user communications device configured to request emergency assistance from an emergency management system. The user communications device comprises a user interface, a location determination module configured to determine a location of the user communication device, a communications module configured to send and receive messages over a communications network, and a processor. The processor is configured to display a plurality of user-selectable emergency message indicators in the user interface, each of the plurality of user-selectable emergency message indicators indicative of a different type of emergency situation, receive an indication of the location of the user communication device from the location determination module, receive an indication of a selection of one of the user-selectable emergency message indicators by a user, responsive to receiving the indication of the selection, generate a message including an indication of the selected one of the user-selectable emergency message indicators and an indication of the location of the user communication device, transmit the message via the communications module to the emergency management system, establish a communications link to an emergency dispatch center through the emergency management system, and receive a real-time response to the message from the emergency dispatch center via the emergency management system. 
         [0034]    In some embodiments, the user interface comprises a touch screen and wherein each user-selectable emergency message indicator comprises a soft-button selectable by touching the touch screen in an area defined by a respective one of the soft-buttons. 
         [0035]    In some embodiments, the user communications device is further configured to request a verification of the location of the user communication device from the user and to receive an input from the user one of confirming the location of the user communication device and selecting a location other than the location determined by the location determination module. The indication of the location of the user communication device may be included in the message is the location other than the location determined by the location determination module. 
         [0036]    In some embodiments, the user communications device is further configured to present a sub-menu of characterizations of the emergency situation, the sub-menu selected based on the selected one of the user-selectable emergency message indicators, the sub-menu of characterizations including characterizations of the emergency situation that contain more specific information than the type of emergency situation indicated by the selected one of the user-selectable emergency message indicators. 
         [0037]    In some embodiments, the user communications device is further configured to include an indication of a characterization of the emergency situation selected from the sub-menu by the user in the message. 
         [0038]    In some embodiments, the user communications device is further configured to receive additional information from the user and include the additional information in the message. 
         [0039]    In some embodiments, the user communications device is configured to receive the additional information from the user in the form of one of touch, voice, and a gesture. 
         [0040]    In some embodiments, the user communications device is configured to receive the additional information from the user in the form of one of an image and a video message. 
         [0041]    In some embodiments, the user communications device, comprises a portable electronic device selected from the group consisting of a smart phone, a tablet computer, a laptop computer, and a wearable smart device or other form of Internet enabled portable electronic device. 
         [0042]    In some embodiments, the user communications device is configured to receive the response to the message from the emergency dispatch center in any of a text message, an e-mail message, a voice message, an image, and a video message. 
         [0043]    In some embodiments, the communications network is a wireless communications network. 
         [0044]    In some embodiments, the user communications device is configured to receive a message from the emergency management system re-establishing the communications link between the user communications device and the emergency dispatch center responsive to a failure of the communications link. 
         [0045]    In some embodiments, the user communications device is configured to transmit the message over any of a plurality of communication channels, to determine a communications channel among the plurality of communication channels most suitable for the communications link, and to transmit the message over the determined communications channel. 
         [0046]    In some embodiments, the user communications device is configured to switch the communications link from a first communications channel to a second communications channel responsive to a command from the emergency management system. 
         [0047]    In some embodiments, the user communications device is configured to receive session status updates regarding the communications link from the emergency management system and display the session status updates in the user interface. 
         [0048]    In some embodiments, the user communications device is configured to re-transmit the message responsive to not receiving an indication of a successful establishment of the communications link from the emergency management system. 
         [0049]    In some embodiments, the user communications device is configured to dial a conventional emergency response number responsive to not receiving an indication of a successful establishment of the communications link from the emergency management system after a pre-determined number of iterations of re-transmitting the message. 
     
    
     
       BRIEF DESCRIPTION OF DRAWINGS 
         [0050]    The accompanying drawings are not intended to be drawn to scale. In the drawings, each identical or nearly identical component that is illustrated in various figures is represented by a like numeral. For purposes of clarity, not every component may be labeled in every drawing. In the drawings: 
           [0051]      FIG. 1  is an illustration of one embodiment of an environment for generating and communicating a partially preformatted emergency voice message to an emergency dispatch center (“EDC”); 
           [0052]      FIG. 2  illustrates communication channels between an EMS and a user communication device and between the EMS and an EDC and the bridging of the two communication channels so as to allow the user communication device and the EDC to communicate with each other; 
           [0053]      FIG. 3  outlines one embodiment of implementation of communication sessions and bridging of the communication sessions over the communication channels illustrated in  FIG. 2 ; 
           [0054]      FIG. 4  outlines the hardware components that comprise an embodiment of an EMS and an embodiment of an architectural layout of the same; 
           [0055]      FIG. 5  illustrates details of one embodiment of a process by which a communication session may be setup between a user communication device and an EDC; 
           [0056]      FIG. 6  illustrates an embodiment of a user interface of a user communication device configured to communicate an emergency message such that the user can select one of a plurality of emergency situations; 
           [0057]      FIG. 7  illustrates another embodiment of a user interface of a user communication device configured to communicate an emergency message wherein the user interface allows the user to confirm the location of the user communication device, add detail to the selected emergency situation, cancel the request, call 911 through Cellular or PSTN network or view a communication log between the user communication device and the EDC; 
           [0058]      FIG. 8  illustrates another embodiment of a user interface of a user communication device configured to communicate an emergency message wherein the user interface allows the user to view a communication log or cancel the request using a “Hang Up” button; 
           [0059]      FIG. 9  illustrates another embodiment of a user interface of a user communication device configured to communicate an emergency message wherein the user interface allows the user to send additional information about the alert, view a communication log or cancel the alert; 
           [0060]      FIG. 10  illustrates another embodiment of a user interface of a user communication device configured to communicate an emergency message wherein the user interface allows the user to select further categories that describe the emergency situation better, or cancel the alert all together; 
           [0061]      FIG. 11  illustrates another embodiment of a user interface of a user communication device configured to communicate an emergency message wherein the user interface allows the user to select a specific location on a geographic map; 
           [0062]      FIG. 12A  illustrates another embodiment of a user interface of a user communication device configured to communicate an emergency message wherein the user interface allows the user to select a specific location on a geographic map including selecting a predefined location and confirm the selected location; 
           [0063]      FIG. 12B  illustrates another embodiment of a user interface of a user communication device configured to communicate an emergency message wherein the user interface allows the user to select a specific location on a geographic map including selecting a predefined location and confirm the selected location; 
           [0064]      FIG. 13A  illustrates another embodiment of a user interface of a user communication device configured to communicate an emergency message wherein the user interface allows the user to select a specific location on a geographic map including selecting a predefined location and confirm the selected location; 
           [0065]      FIG. 13B  illustrates another embodiment of a user interface of a user communication device configured to communicate an emergency message wherein the user interface allows the user to select a specific location on a geographic map including selecting a predefined location and confirm the selected location; 
           [0066]      FIG. 14A  illustrates another embodiment of a user interface of a user communication device configured to communicate an emergency message wherein the user interface allows the user to select a specific location on a geographic map including selecting a predefined location and confirm the selected location; 
           [0067]      FIG. 14B  illustrates another embodiment of a user interface of a user communication device configured to communicate an emergency message wherein the user interface allows the user to select a specific location on a geographic map including selecting a predefined location and confirm the selected location; 
           [0068]      FIG. 15  is a flow chart of an embodiment of a method by which a request for emergency assistance may be communicated to an emergency dispatch center; and 
           [0069]      FIG. 16  is a flow chart of another embodiment of a method by which a request for emergency assistance may be communicated to an emergency dispatch center. 
       
    
    
     DETAILED DESCRIPTION 
       [0070]    Aspects and embodiments disclosed herein are not limited to the details of construction and the arrangement of components set forth in the following description or illustrated in the drawings. Aspects and embodiments disclosed herein are capable of being practiced or of being carried out in various ways. Also, the phraseology and terminology used herein is for the purpose of description and should not be regarded as limiting. The use of “including,” “comprising,” “having,” “containing,” “involving,” and variations thereof herein is meant to encompass the items listed thereafter and equivalents thereof as well as additional items. 
         [0071]    Aspects and embodiments disclosed herein provide for a method for initiation and management of emergency call sessions, including use of the many features provided by wireless mobile and smart devices, such as delivery of a multimedia message from a user communication device to an EDC in real-time, routed via at least one of many servers of an emergency management system (EMS) housed in the Internet. Also disclosed herein are aspects and embodiments of a method of provisioning a direct in-ward dial (DID) telephone number (TN) to a user communication device for the purpose of emergency response. 
         [0072]    To deliver a message to an emergency dispatch center (“EDC”), such as a Public Safety Answering Point (“PSAP”), an interactive voice message (“IVM”) may be generated from metadata including, but not limited to, name, health records, emergency contact persons, geographic location, call-back number, type of emergency and current status of the response received from a user communication device and same or other details stored in servers remote to the user communication device contained within an EMS placed in a computer network. This metadata may be communicated via multiple modes of transmission, including IP and Short Message Services (“SMS” or “text message”), to these remote servers where it may be combined into an audio file with interactive voice response (“IVR”) capabilities. The IVM thus generated is then communicated via a communications network to a VoIP gateway, for example, a Session Initiation Protocol (SIP) Trunking device (SIP trunking is the use of voice over IP (VoIP) to facilitate the connection of a private branch exchange (PBX) to the Internet. In effect, the Internet replaces the conventional telephone trunk, allowing an enterprise to communicate with fixed and mobile telephone subscribers. SIP is an Internet Engineering Task Force (IETF) standard for initiating interactive multimedia user sessions; a trunk is a line or link that can carry many signals at once, connecting major switching centers or nodes in a communications system), or a H.323 trunking device (H.323 is signaling and control protocol developed by International Telecommunications Union (ITU) for initiating interactive multimedia user sessions), and subsequently optionally to a routing service provider (RSP) for transmission to a PSAP or other EDC (e.g. university or corporate dispatch center) or transmitted directly to the EDC using a communication network such as the Internet. Aspects and embodiments disclosed herein encompass a system of delivering IVMs to emergency call centers regardless of advance knowledge of a user&#39;s location, as the generated audio file is ultimately converted to a traditional voice format, such as via time-division multiplexing (“TDM”), and therefore compatible with any EDC, regardless of the original form of the communication from the user communication device (e.g., SMS, VoIP messages, etc.). Other aspects and embodiments disclosed herein relate to a system of delivering IVMs via IP to those dispatch centers that have been identified as capable of receiving IP-based messages. Still another aspects and embodiments disclosed herein relate to a process of repeating the IVMs either on a periodic basis or on request by the EDC. 
         [0073]    Moreover, aspects and embodiments disclosed herein enable the establishment and maintenance of a live session between a user of a mobile communication device and emergency dispatcher at the EDC. This includes the setting up of a communication link between an EMS, which contains one or more computing machines each housing a server, a database or other networked computer, placed in the network and the user communication device, and another communication link between the EMS and the EDC, where each link is initiated and managed by the EMS. In a single session the user and dispatcher may communicate continuously and in real-time via text-to-speech, speech-to-text, as well as traditional voice or another form of Internet based communication capable of transmission of multimedia messages. Text-to-text and video/photo sharing is also enabled if the emergency dispatch center possesses an IP connection to the Internet. One embodiment of a method for constructing such messages includes, after receiving a prompt from a user, generating an emergency message related to the respective emergency category. The generated emergency message may then be communicated over a communications network, such as the Internet. Another embodiment relates to a system that dynamically selects the fastest and/or most secure method route to transmit the message, whether via cellular connection, data connection over the Internet using SIP, SMS, Bluetooth, WiFi, etc. Such connection can then be continually or periodically sampled or monitored and adjusted based on the connection strength and channel quality based on industry accepted measures such as goodput, throughput, congestion status, queue length at servers, availability of certain routers and switches along the communication channels between the user communication device and the EMS and vice-versa and the EMS and the EDC and vice-versa. 
         [0074]    Aspects and embodiments disclosed herein further provide for a number of DID TNs to be provisioned for the purpose of emergency response. These DID TNs are assigned to a user communication device on provisioning of the first communication link between the EMS and the user communication device and the assignment is maintained for a period of time until after the first communication link between the EMS and the user communication device is terminated. The assigned DID TN is communicated by the EMS to the EDC over a second communication link and can be used by the EDC in order to re-establish a call back to the user communication device or to provision other network communication resources. 
         [0075]    In accordance with one embodiment, there is provided a process of setting up a communication link, using an EMS as a trunking or routing mechanism, between a user communication device and an EDC such as a PSAP. This communication link is used for transmission of partially preformatted emergency voice message, SMS, speech-to-text, voice-to-text, VoIP packets, SIP control messages, and/or other multimedia messages between the user communication device and the EDC via the EMS. 
         [0076]      FIG. 1  is an illustration of one embodiment of an environment for generating and communicating a multimedia message such as a partially preformatted emergency voice message, Short Message Service (“SMS”) message, e-mail, or another form of a multimedia message that can be sent over the Internet, by a hardware device such as user communication device  101 , to an emergency dispatch center (“EDC”) such as a Public Safety Answering Point (“PSAP”). A user  100  wishes to place an emergency call to an emergency service, for example to 911. The user  100  may request assistance by activating an alerts feature on his or her user communication device  101 , hardware specification details of which are as described below. This alert may include meta-data identifying the user&#39;s location and/or the nature of the emergency. Using a user communication channel  107 , such as a wireless link to one of a WiFi router, a cellular network, a bluetooth device or any other form of wireless or wired communication, the user communication device transmits this meta-data to an emergency messaging system (“EMS”)  103  capable of initializing and managing VoIP calls over a communication network such as the Internet. The EMS can comprise any appropriate network entity, such as, for example, a Short Message Service Center (“SMSC”) for sending Short Message Service (“SMS”) messages, an Application Programming Interface (API)  116  (see  FIG. 4 ) for receiving control messages, such as SIP messages, and multimedia messages from the user and management of communication sessions, a PBX for setting up and hosting VoIP and Analog phone calls, databases for user and phone number, fileservers, routers, load balancers and network address translators (NAT) or any other form of hardware device capable of transmission, reception and storage of information over the Internet. The user communications device  101  may select the appropriate mechanism of transmission by selecting an appropriate user communication channel (e.g. a link to a WiFi, cellular, SMS, or Voice network or device) based on one or more variables, for example, network availability, bandwidth constraints, security, and any other metric as suitable to assess communication link quality. Once the EMS receives this meta-data the EMS combines the data received with information about the user already stored on the servers within the system (such as the user&#39;s medical history) and then, in one embodiment, transmits, using a provider communication channel  106  which can be any form of communication channel used over the Internet, for example, a fiber optic channel, a microwave channel, a copper cable, or other form of communication medium, a bundled emergency message with Interactive Voice Response (“IVR”) capabilities  109  to a RSP  104 . The RSP then transmits the emergency message to an EDC  105  (e.g., university dispatch center, corporate dispatch center, PSAP etc.) over communication channel  108 . Communications channel  108  may include a public switched telephone network (“PSTN”) channel or a cellular network channel Alternately, in another embodiment the EMS  103  transmits either the bundled emergency message directly to the EDC  105  or sends the meta-data received from the user in the same form as received from the user over an IP channel after a determination that the selected EDC  105  has the capabilities to receive digitally formatted data messages such as SMS, MMS, e-mail message or any other form of multimedia message. The EMS  103  then bridges the user communication channel and the provider communication channel so that selected communication on one channel can be accessed by the other channel. 
         [0077]      FIG. 2  describes one embodiment of bridging of the two sessions, 1) from EMS  103  to user communication device  101  (i.e., the user communication session) and 2) from EMS  103  to EDC  105  (i.e. the provider communication session).  FIG. 2  also illustrates one embodiment of the bridging of these two sessions for purpose of communication between user communication device  101  of user  100  and EDC  105 . After receiving a request for assistance  110  either as an IVR  109 , SMS, VoIP call, MMS or any other form of Internet based communication from the user communication device  101 , the EMS  103  establishes two separate communication sessions via the user communication channel  107  and the provider communication channel  106  as described above. These sessions can be VoIP sessions set up using Session Initiation Protocol (SIP), VoIP sessions not setup using SIP, a phone call using a cellular network, a phone call using analog cellular communication, or a combination of these methods or another form of a multimedia communication session over the Internet. Once both of these communication sessions are set up the EMS then creates a communications bridge  102  bridging together the two sessions such that selected messages sent from the user communication device to the EMS are forwarded to the EDC and selected messages from the EDC to the EMS are forwarded to the user communication device. 
         [0078]      FIG. 3  illustrates one embodiment of the setup and configuration process of the user communication session and provider communication session using a private branch exchange (PBX) telephone system  120 , which is a part of the EMS  103 . In this particular embodiment, the PBX  120  initiates a connection with the user communication device  101  using “User communication channel”  107  and a connection with EDC using “provider communication channel”  106 . The connect bridge  102  bridges the two channels using a pre-defined bridging process implemented either in software or hardware. Messages played on connect bridge  102  are audible by the user  100  using the user communication device  101  and the EDC  105 , enabling communication between user  100  and EDC  105 . Messages  149  from the EDC  105  are played only for the user  100  on user play bridge  112  and text messages  147 , converted to IVR in real-time, from user  100  and IVR/IVMs  148 , pre-recorded using metadata of the user, are played to the EDC  105  on EDC play bridge  111 . The presence of new messages from user  100  are detected by the EMS  103  using Dual Tone—Multi Frequency (“DTMF”) signals  113  and are played back for the EDC  105 . These events are based on either a request by the user  100  or the EDC  105  or by a system event such as receipt of SMS, MMS, e-mail or other form of messages over the Internet by the EMS  103  on the user communication channel  107  or the provider communication channel  106 .  FIG. 3  further illustrates a subset of the software subroutines used to initiate and maintain communication between the EMS  103  and the user communication device  101 , and the EDC  105 . 
         [0079]      FIG. 4  illustrates one embodiment of the hardware layout of the EMS  103 . EMS  103  includes at least one Application Programming Interface (“API”)  116 , an embodiment of which is implemented in software for purposes of setting up and configuring voice or audio sessions. The API  116  software is capable of receiving a request for assistance from the user  100 , and from the nature of the request, allocating resources from the EMS to respond to the request for assistance. The API  116  communicates with a user database  117  to verify and manage information about the user  100 , such as meta-data and any other data received from the user  100  either during an active communication session over the user communication channel  107  or preset for the user  100  by the EMS  103 . The API  116  also communicates with at least one PBX  120 , also a sub-system of the EMS  103 , for initiating and managing the communication on the user communication channel  107  and provider communication channel  106 . The PBX  1120  maintains a PBX database (“PBX DB”)  118  containing a set of numbers each of which can be used for placing a voice call over the Internet using Internet Protocol (e.g. VoIP). The API  116  communicates with the user communication device  101  using a “load balancer”  115 . The load balancer  115  is configured to distribute communications among the various APIs  116  so that no one API  116  becomes overloaded. The API  116  manages the communication between the user communication device  101  and the EDC  105 , including re-establishment of communication on the user communication channel  107  and provider communication channel  106  in case either or both of these communication sessions disconnect due to any reason. The voice/audio connection to the EDC  105  is made via the PBX  120  and may be completed via an end-to-end VoIP session or a partial voice over IP session and, in some embodiments, is combined with a cellular call or a PSTN call, between the PBX  120  and the EDC  105 . The PBX  120  communicates with the EDC  105  and the user communication device  101  using end-to-end VoIP sessions as the main communication link if such a communications link is available, and uses a partial VoIP session combined with a cellular call or a PSTN session as a secondary option. In instances where a full VoIP session cannot be established using protocols such as SIP, partial trunking over the cellular network/PSTN network is accomplished by PBX  120  by sending a VoIP session request to a edge router (such as session border controllers, gateway or a SIP server or a SIP trunking device as illustrated in  FIG. 5  below), which may or may not be included within the EMS  103 . The edge router in turn trunks the VoIP call over a cellular network/PSTN. The user communication device  101  also has ability to communicate with the API  116  via a separate channel  114  using SMS and other short messaging services in instances when the VoIP session may not be able to deliver multimedia messages from the user communication device  101  to the EMS  103  or when a separate communication session is needed. Additional security and reliability is achieved for the management of the communications between the user communication device  101  and the EMS  103  by employing virtual private clouds 119—on demand configurable pools of shared computing resources allocated within a public cloud environment, providing isolation between the different organizations using the resources. 
         [0080]      FIG. 5  illustrates details of one embodiment of a process by which a communication session may be setup between a user communication device  101  and an EDC  105 .  FIG. 5  also illustrates one embodiment of a process by which a communication device  101  is assigned a fixed landline phone number, DID TN, for the duration of a communication session for the purpose of call backs to the user communication device  101  when the user communication device  101  does not have a assigned TN, for example, when the user communication device is an iPad® tablet computer or other tablet computer, a wearable device, a sensor for example, a wearable device including a watch or an environment sensor including temperature sensors for homes, or another Internet enabled end device not having an assigned telephone number. The user  100  requests assistance by sending a request for assistance  110  using internet protocols such as HTTP, to the API  116  of the EMS  103 . The API  116  initiates the setup of a first communication link, which can be an end-to-end VoIP session  188  or a partial VoIP session  192  combined with a cellular call or a PSTN call  190 , using the user communication channel  107  (which can be a combination of a IP channel  192  and a PSTN channel  161  or a complete VoIP channel performing a VoIP call  188 ) between the user communication device  101  and the EMS  103  and a second communication link, an end-to-end VoIP session  189  or a partial VoIP session  191  combined with a cellular call or a PSTN call  108 , using the provider communication channel  106  (which can be a combination of a IP channel  191  and a PSTN channel  108  or a IP channel  193  and a PSTN channel  108  or an end-to-end IP channel  189 ), between the EMS  103  and EDC  105  using a sequence of control channels used to carry call setup and maintenance information  128  between the API  116 , RSP  104 , PBX  120  and DID DB  127  and other components of the EMS  103  and the Internet used to setup the user communication channel and the provider communication channel The EMS  103  bridges the first and second communication links so that the user  100  and the EDC  105  can communicate in real-time using voice, text-to-speech, speech-to-text, SMS, MMS, e-mail or other forms of multimedia messages. In one embodiment, bridging of the first and second communication links is accomplished using software in certain implementations of a PBX, for example, an Asterisk™ telephony switching and private branch exchange service, where multiple software subroutines, each corresponding to one data channel carrying voice packets, are used to conference these data channels together such that voice packets on one channel are multicast on all other data channels on the conference bridge. 
         [0081]    The PBX assigns a DID TN to the user communication device  101  from the direct in-ward dial database (“DID DB”)  127  which is a hardware device capable of storing a pool of DID TNs that are pre-allocated for use by the EMS  103  for the purpose of communicating with a user communication device  101 , such that a phone call can be established to the communication device using a cellular network/PSTN using this DID TN as the identifier, and the user communication device can use the DID TN to make a cellular or PSTN call if the hardware on the user communication device is capable of initiating and maintaining such a call. When a user communication device  101  sends a request  110  to initiate an emergency response to an EMS  103 , the EMS  103  assigns a DID TN to the communication device. Once the API  116  of the EMS  103  assigns a DID TN to the user communication device  101 , the DID TN, along with stored meta-data of the user  100 , is sent to the RSP  104  which then inserts this information in the automatic location identification database (“ALI DB”)  123  for reference by the EDC  105  or other network devices. Once the two sessions, 1) the user communication session and 2) the provider communication session are setup, the EMS  103  assigns the DID TN to these two sessions. These two sessions can each be individually setup by either a) a direct end-to-end VoIP call or b) a SIP call trunked via a cellular network/PSTN using a Gateway  2   125 , capable of trunking SIP calls, a RSP  104 , or a combination of a cellular and a PSTN network  161 , which includes a PSTN network  108  and a cellular access point  122 , Gateway  1   126 , also capable of trunking SIP calls. The EDC  105  may use this same telephone number, the DID TN, to re-establish a communication session via Gateway  2   125  with the EMS  103  in case the session from the EMS  103  to the EDC  105  is terminated for any reason. The EDC  105  may re-establish a communication session with the EMS  103  to receive text messages  147  from user or IVR/IVMs  148  created from meta-data for and about the user  100  or to communicate in real-time with the user communication device  101 . The DID TN is also useful in re-establishing a communication link with a user communication device  101  in circumstances where the user communication device  101  is not assigned a phone number, for example, when the user communication device is an iPad® tablet computer or other tablet computer, a wearable device, a sensor, or another Internet enabled end device not having an assigned telephone number. The EDC  105  uses one of many options to re-establish the session with the EMS  103  such as a end-to-end VoIP session or a partial VoIP session combined with a cellular call or a PSTN call. The DID TN can be assigned based on the location information provided by the user communication device  101 , or on a non-location specific basis. The EMS  103  further maintains the association of the assigned DID TN with the two sessions, the user communication session and the provider communication session, for a suitable amount of time for the sake of re-establishment of communication sessions even after the two sessions are terminated. 
         [0082]      FIG. 6  through  FIG. 10  display several embodiments of a user interface  129  for a user communications device  101 . Embodiments of the user interface  129  are capable of receiving an input from a user  100  either by touch (for example, through a touch screen, external keyboard, mouse, or other pointing device), voice, gesture or other form of interaction of a user  100  with a hardware or software entity hosted on the user communications device  101 , and transforming the interaction into a message, such as an SMS, MMS, speech-to-text, voice-to-text, and other forms of Internet multimedia messages capable of being transmitted over the Internet. The user interface  129  is further capable of reporting to the hardware mechanism of the user communication device  101  an indication of an interaction of the user  100  with the user interface  129 , including providing an indication of a selection of one of a plurality of soft-buttons  130 ,  131 ,  132 ,  133  by the user  100 . The selection of one of a plurality of soft-buttons  130 ,  131 ,  132 ,  133  by the user  100  may be performed by one or more of touch, voice, or another form of interaction between the user  100  and the user communication device  101 . Responsive to receiving the indication of the selection of one of the plurality of soft-buttons  130 ,  131 ,  132 ,  133  by the user  100 , the user communication device  101  can transmit an associated message, via the user communication channel  107 , to the EMS  103  indicating the selection of the specific one of a plurality of soft-buttons selected by the user  100 . The user interface  129  is further capable of continuing to receive additional information from the user  100  and providing information about the interaction to the hardware mechanism of the user communication device  101  in a form that can be transmitted over the Internet by the user communication device  101  to the EMS  103 . 
         [0083]      FIG. 6  is an illustration of one embodiment of the user interface  129  on a user communications device  101  configured to generate a multimedia message such as a SMS, MMS, e-mail, speech-to-text, text-to-speech or other form of multimedia message capable of being communicated over the Internet. The multimedia message includes an indication of selection of one of a plurality of soft-buttons  130 ,  131 ,  132 ,  133  by the user  100 . The user communications device  101  communicates the multimedia message via the user communication channel  107 , to the EMS  103 . The user communication device  101  may include a user interface  129  for communicating visual data, such as text, to a user  100 . In the particular embodiment illustrated in  FIG. 6 , the user interface  129  depicts a touch enabled display containing a number of fields used in populating a preformatted multimedia message. This particular embodiment illustrates soft-buttons representing preformatted messages for fire  132 , medical  130 , or police  133  assistance, as well as for assistance in a car crash  131 . One skilled in the art would readily understand that various other soft-buttons signifying other types of emergencies could be utilized. In various embodiments, the emergency message may be communicated to the EDC  105  in the form of a voice message, e-mail, text, or some other form of multimedia messages. 
         [0084]      FIG. 7  illustrates another embodiment of a user interface  129  on an user communications device  101  in which the user  100  is prompted to confirm his/her location  134  or insert additional details  135  about the nature of his/her emergency, including selection one of the many modes of communication, such as text using SMS  160 , or instant messaging. The user  100  may also utilize the user interface  129  to directly call an EDC  105  using either a cellular network or PSTN. 
         [0085]      FIG. 8  illustrates another embodiment of a user interface  129  such that a “communication log”  138 , containing a time-stamped sequence of status update messages  137 , correlating to information in selected messages from the multimedia sessions between the user  100  and the EDC  105 , SMS messages, SIP packets, VoIP packets or other forms of messages sent over the user communication channel or the provider communication channel or messages generated by the EMS  103  or the user communication device  101 . The communications log  138  is displayed to the user  100  through the user interface  129  hosted on the user communication device  101 . The user interface  129  is further capable of updating the status messages in the communication log  138  in real-time as multimedia messages are generated and transmitted by the user communication device  101  in response to the user  100  interacting with the user communication device  101  via the user interface  129  or when messages are received by the EDC  105  sent in response to the emergency request  110  initiated by the user  100 , or when the user communication device  101  receives updates from the cellular network/PSTN such as location from GPS, proximity to a resource of interest such as an EDC  105  from the EMS  103 , or other information about the device, or any other multimedia message is received by the user communication device  101  in response to the initiation of an request for emergency assistance  110  by the user  100 . 
         [0086]      FIG. 9  illustrates another embodiment of a user interface  129  that provides for the user  100  to insert his/her own freeform (i.e., un-preformatted) message in a message field  160  by interacting with the user interface  129 , either by touch, voice, gesture, or other form of interaction of a user  100  with a hardware or software entity of the user communication device  101 , as well as to receive session status updates  137  via a Communication Log  138 . 
         [0087]      FIG. 10  illustrates another embodiment of a user interface  129  on an user communication device  101  in which the user  100  is enabled to specify information in addition to the preformatted message sent by the user communication device  101  in response to the user  100  selecting one of a plurality of soft-buttons displayed by the user interface  129 . In this embodiment, the options presented for selection of a pre-formatted message relate to vehicle accidents, such as whether the accident is life-threatening  139 , involves multiple vehicles  140 , involves commercial vehicles  141  or a motorcycle  142  or if other hazards, such as a fire  143  or hazardous materials  144 , are involved. One skilled in the art would readily understand that such granular detail could be extended to other types of accidents and thus additional or alternative additional detail selectors could be provided on the user interface. 
         [0088]      FIG. 11  illustrates another embodiment of a user interface  129  that shows the use of location services on the user communication device  101  to define pre-set geographic locations  145 , for example, place of employment, home location, or other geographic places of interest by the user  100  where the pre-set location is stored in user DB  117  and used by the EMS  103  in selecting messages to send over the user communication channel to the user communication device  101 . Further, in this embodiment the user interface  129  capable of displaying the status updates  137  to the user  100  on a real-time basis. 
         [0089]      FIGS. 12A and 12B  illustrate two separate instances of another embodiment of a user interface  129  wherein the user  100  is able to specify and confirm his or her location in additional detail, if the user  100  chooses to do so, on a real-time basis. In this particular instance, as illustrated in  FIG. 12A , the user  100  has a choice to select a pre-defined location  150  or to select a geographic location  158  provided by a location service on the user communication device  101 . The geographic location  158  is in some embodiments provided to the location service of the user communication device  101  by, for example, a GPS receiver of the user communication device  101 . The user  100  may alternatively choose a specific location identified by the user  100  by interacting with the location service on the user communication device  101  via the user interface  129 , illustrated in  FIG. 12A  as a software implemented location indicator  155  within the location service hosted in the user communication device  101 . The location indicated by the software implemented location indicator is show in the location service using a text box  156  for the benefit of the user  100 . The specific embodiment illustrated in  FIGS. 12A and 12B  includes a “confirmation button”  152  implemented in software that allows the user to confirm a user selected location with the location service on the user communication device  101 . The embodiment illustrated in  FIGS. 12A and 12B  further includes a “confirmation indicator”  153  that provides an indication to the user  100  of the user communication device  101  that the user selected location is received by the location service on the user communication device  101 . The embodiment illustrated in  FIGS. 12A and 12B  further includes a digital illustration  151  that provides an indication to the user  100  of the user communication device  101  of the selected geographic location. The geographic location may be selected by the user  100  of the user communication device  101  by selecting one of either a pre-defined location  150  or geographic location provided by a location service  158  on the user communication device  101 . The geographic location may be edited by the user  100  by interacting with the location service. The user interface  129  may further provide an indication to the user  100  that a choice has not been made by the user  100  of the geographic location of the user communication device  101 , for example, by providing the “Press to Confirm” button  152 . 
         [0090]      FIGS. 13A and 13B  show two instances of an embodiment of a user interface  129  showing a location service, where the user  100  is able to interact with the location services showing, in real-time, a location sensitive map of the geographic location the user communication device  101  is placed in, and through which the user may select a location to be transmitted to the EMS  103 . The user  100  can change the location to be transmitted, shown in real-time instantly by the software implemented location indicator  155 , by interaction with the location service on the user communication device  101  by one or more of touch, voice, gesture, or other form of interaction of a user  100  with a hardware or software entity of the user communication device  101 . 
         [0091]      FIGS. 14A and 14B  show two instances of an embodiment of a user interface  129  showing a location service, where the user  100  is able to interact with the location service and confirm a location. The user  100  is able to confirm a location by choosing the geographic location indicated by the software implemented location indicator  155  and by interacting with the confirmation button  152  displayed in the user interface  129  by the location service. The selected location is confirmed by the location service to the user  100  of the user communication device  101  by a confirmation indicator  153 . 
         [0092]      FIG. 15  is a flow chart illustrating one embodiment of a method by which a request for emergency assistance may be communicated, either from a user communication device  101  or from any other source, to an EDC  105  according to the principles disclosed herein. In this embodiment of the process to request for emergency assistance, a request for assistance alert  110  is initiated by the user communication device  101  of the user  100  (act  188 ) and sent to the EMS  103 . In some embodiments, the request for assistance alert includes a selection of a most appropriate means of transmission of information between the user communication device  101  and EMS  103  and/or EDC  105  (acts  170 ,  169  and  168 ). The user communication device  101  first tries to send the emergency assistance message to the EDC  105  using a data connection (act  171 ), such as wi-fi, cellular data, or any other method by which IP-based communications can take place. Should a data connection not be available (act  170 ) as determined by the user communication device  101  by either continually or periodically sampling the connection strength and channel quality of various data communication channels available to the user communication device (cellular, SIP, SMS, etc.) based on industry accepted measures such as goodput, throughput, congestion status, queue length at servers, availability of certain routers and switches along the communication channels between the user communication device  101  and the EMS  103  and vice-versa and/or between the EMS  103  and the EDC  105  and vice-versa, data can also be communicated through the system via SMS  114  (act  172 ) as a second option if a reliable cellular connection is detected (act  169 ). In the event that a cellular connection is unavailable, as determined by the user communication device  101 , by continually or periodically sampling industry accepted channel quality measures of a cellular connection, the user communication device  101  of the user  100  will continue attempting to send data until a connection is established or the user  100  manually cancels the alert  162  (acts  168 ,  167 ). Once data is successfully transmitted, the user communication device  101  waits for confirmation that the IVR/IVMs  148 , or other form of the message containing the emergency information such as SMS  147 , will be successfully generated, routed, and transmitted to the EDC  105  by the EMS  103 . Upon successful confirmation (act  165 ), the system on the user communication device  101  may wait for system status updates  137  communicated by the EMS  103  or EDC  105  or another device on the Internet via the EMS  103 , messages from the EDC  105 , incoming voice/video calls, or user action (including entering text or speaking into the device) (act  166 ). If the EMS  103  responds with a negative confirmation or no confirmation is received within a certain pre-defined time period as indicated by the industry defined “Time-out” parameter of standard communication protocols such as TCP, SIP, ARQ and other reliable point-to-point or end-to-end communication protocols, the user communication device  101  tries sending the data a number of times, this number defined by the standard communication protocols and customizable by the user  100  or the EMS  103 , and upon reaching the defined number of unsuccessful transmission attempts (act  163 ), finally falling back to a traditional 911 call through a cellular network or a PSTN using a native dialer of the using the user communication device  101  (act  164 ). 
         [0093]      FIG. 16  illustrates an embodiment of a method by which the EMS  103  receives metadata from the user communication device  101  and initiates an emergency call session the emergency communication session with an EDC  105 . In act  173  alert data is received at the EMS  103  from the user communication device  101 . In one embodiment, location information is received from the user communication device  101 , either in a request for assistance  110  or in another form of communication between EMS  103  and user communication device  101 , and then generation of an IVR (act  185 ) and emergency service provisioning (act  186 ) are performed in parallel. The IVR is partially pre-created for each unique set of emergency conditions, correlated to an indication of a selection of one of a plurality of soft-buttons of the user communication device  101 , that could be sent in the form of metadata from the user communication device  101 , with only user location audio files created on-the-fly (audio for pre-defined user content such as user name, demographics, and other info is pre-generated at the time of user account creation). Location information about the user communication device  101  is verified with a RSP  104 , selected from a list of RSPs (act  183 ), to locate an EDC to route the call for emergency assistance (act  182 ). The EMS then checks if the RSP  104  is able to find an EDC  105  in the specific location of the user communication device  101  (act  181 ). If the RSP  104  is able to locate an EDC  105  to which the call for emergency assistance can be routed to then the EMS  103  generates an IVR (act  185 ) for the user  100  to be routed to this EDC  105 . In the case the RSP  104  is unable to locate a EDC  105  that services the location given by the user communication device  101 , then the EMS  103  chooses another RSP from the list of RSPs (act  183 ) and continues to do so until the EMS  103  is able to find an RSP  104  that can locate an EDC  105  that services the location provided by the user communication device  101 . In case no RSP  104  is able to find a EDC  105  to which the call for emergency assistance can be routed to in the location provided by the user communication device  101  and the EMS  103  has exhausted the list of RSPs to choose one RSP from (act  180 ), then the EMS  103  sends a negative confirmation to the user communication device  101  indicating that the call for emergency assistance failed (act  179 ). A direct inward dialing (“DID”) telephone number (“TN”) controlled by the system is specified as the originating call number (act  184 ) to facilitate callbacks from the emergency dispatch center, as described above with reference to  FIG. 12 . The EMS  103  maintains a pool of these resources, and assigns them to the alerts generated by the user communication device  101  by associating the DID TNs to the user communication channel and provider communication channel (act  186 ) as needed, leaving them associated with the alert for a certain amount of time after the two alert sessions, the first communication link from EMS  103  to user communication device  101  and the second communication link from EMS  103  to EDC  105  have been terminated. If all DID TNs in the DID DB  127  pool controlled by the EMS  103  are already assigned to an alert, the EMS  103  automatically provisions new DID TNs from a Trunking Provider (“TP”) (act  174 ) and selects one DID TN for the current alert (act  184 ). After successfully provisioning the DID TN the EMS  103  sends a positive confirmation, if there are no failures in generating the IVR (acts  185 ,  178 ), to the user communication device  101  indicating that the DID TN has been provisioned (act  177 ). Once emergency service provisioning and IVR generation is complete (act  185 ), EMS  103  automatically determines if the EDC  105  is IP-enabled (act  187 ) before initiating a VoIP call session (act  176 ) using the provisioned DID TN as the callback number. If the EDC  105  is not IP-enabled, VoIP call sessions are sent to the RSP  104  for conversion to TDM  108  and routing to the EDC  105  (act  175 ). If the EDC  105  is IP-enabled, VoIP call sessions are sent over IP directly to the EDC  105  (act  176 ). In this case, any additional information that the EDC  105  can receive is also transmitted over IP using any NG911 API provided (act  176 ). 
         [0094]    In the  FIGS. 1-16  wherever a user communication device is shown it implies a device with a hardware memory and a central processing unit with associated I/O machine and a user interface that one can use to communicate with the central processing unit and/or access information stored in the memory of the device. Further, this device has a user interface with identifiable buttons on a touch screen, in one embodiment, where the touch of these buttons can initiate a transmission of a specific message, either predefined or defined in real-time, to the EMS or another remote device. In some embodiments, the EMS includes a collection of hardware devices, each with a at least one hardware memory and a at least one central processing unit with at least one associated I/O machine and a user interface that one can use to communicate with the at least one central processing unit and/or access information stored in the at least one memory of the device and the ability to set up communication with each other and with the user communication device and the EDC. The EMS in some embodiments contains a