A method for providing emergency communication by an emergency management system, EMS, the method comprising: provisioning and maintaining a pool of direct inward dial telephone numbers at a direct inward dial database of the EMS; receiving, at a server of the EMS remote from a 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, wherein the metadata is received through a user communication channel selected by the user communication device based on a metric for assessing communication link quality of a plurality of user communication channels between the user communication device and the EMS; using, by the EMS, information regarding the location of the user communication device to determine an Emergency Dispatch Center, EDC, to which to transmit an emergency message; selecting, by the EMS, a telephone number from the pool of direct inward dial telephone numbers; associating, by the EMS, 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, by the EMS, the telephone number to provision emergency service for the user from the EDC, wherein provisioning the emergency service comprises: determining whether an end-to-end Voice over Internet Protocol, VoIP, session is available for communication with the user communication device; and upon determining that said end-to-end VoIP is not available, sending a VOIP session request to a gateway capable of trunking SIP calls, and establishing, by the gateway, a partial VoIP session that is combined with a call over a second network connecting the gateway to the user communication device, wherein the second network is a Public Switched Telephone Network, PSTN, or a cellular network. provisioning and maintaining a pool of direct inward dial telephone numbers at a direct inward dial database of the EMS; receiving, at a server of the EMS remote from a 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, wherein the metadata is received through a user communication channel selected by the user communication device based on a metric for assessing communication link quality of a plurality of user communication channels between the user communication device and the EMS; using, by the EMS, information regarding the location of the user communication device to determine an Emergency Dispatch Center, EDC, to which to transmit an emergency message; selecting, by the EMS, a telephone number from the pool of direct inward dial telephone numbers; associating, by the EMS, 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, by the EMS, the telephone number to provision emergency service for the user from the EDC, wherein provisioning the emergency service comprises: determining whether an end-to-end Voice over Internet Protocol, VoIP, session is available for communication with the user communication device; and upon determining that said end-to-end VoIP is not available, sending a VOIP session request to a gateway capable of trunking SIP calls, and establishing, by the gateway, a partial VoIP session that is combined with a call over a second network connecting the gateway to the user communication device, wherein the second network is a Public Switched Telephone Network, PSTN, or a cellular network. determining whether an end-to-end Voice over Internet Protocol, VoIP, session is available for communication with the user communication device; and upon determining that said end-to-end VoIP is not available, sending a VOIP session request to a gateway capable of trunking SIP calls, and establishing, by the gateway, a partial VoIP session that is combined with a call over a second network connecting the gateway to the user communication device, wherein the second network is a Public Switched Telephone Network, PSTN, or a cellular network.