The subject matter described herein relates to methods and systems for enabling short code dialing in a public communications network. More particularly, the subject matter described herein relates to methods and systems for providing ENUM or ENUM-like domain name service (DNS) service for communications directed to a called party short code in a public communications network environment.
In wireline telecommunications networks, private branch exchanges (PBXs) are scaled-down versions of central office switches owned by private organizations (versus a public telephone company). One feature provided by PBXs is to allow members of the subscriber group serviced by the PBX to dial shortened versions (referred to as short codes) of other member's full E.164 directory numbers. An E.164 formatted number is typically between 10 and 15 digits in length and may include a country code identifier component, a national destination code identifier component, and identification code component, and a subscriber number component, depending upon the particular network implementation. In the United States, these short dialing codes are typically the last four digits of the seven- or ten-digit E.164 telephone number. Using these short dialing codes eliminates the need for group members to remember full seven- or ten-digit E.164 telephone numbers in order to contact other group members. It will be appreciated that a PBX-based short code is relevant only within the context of the particular private branch exchange that hosts the corresponding full digit number. In other words, a call to the PBX-based short code could not be successfully completed if dialed by a subscriber who is being served by a public switched telephone network (PSTN) end office or mobile switching center.
Commonly assigned U.S. Pat. No. 7,072,678 discloses methods and systems for enabling short code dialing in a public communications network, such as a GSM or IS-41 wireless network. One key attribute of a short code that is used for mobile group dialing is that the short code is not necessarily a unique within a network. That is, subscriber A may define and a short code 111 that is associated with subscriber B, and subscriber C may define the same short code value, 111, to be associated with subscriber D. This is, of course, is not the case for conventional, public full-digit dialing/numbering plans, where each full-digit dialable number is uniquely associated with a single subscriber.
In recent years, the Internet Engineering Task Force (IETF) initiated the development of the E.164 Number Mapping (ENUM) system for facilitating the interconnection of communications networks that rely on telephone numbers with the communications networks that utilize the Domain Name System (DNS). A detailed description of ENUM service can be found in IETF RFC 3761, April 2004 The E.164 to Uniform Resource Identifiers (URI) Dynamic Delegation Discovery System (DDDS) Application (ENUM), the disclosure of which is incorporated herein by reference in its entirety. In particular, an ENUM system can map a particular number referred to as an E.164 number to one or more Uniform Resource Identifiers (URIs) in the DNS. URIs are strings of characters that identify resources such as documents, images, files, databases, e-mail addresses, websites or other resources or services in a common structured format. A URI can include a SIP URI, an instant messaging (IM) identifier, an e-mail address identifier, an Internet chat session identifier, and an IP address.
ENUM translations are based on the full directory number being dialed. Accordingly, an ENUM translation based on a short code would likely fail. In addition, because ENUM service translates public DNs into public URIs and because short codes typically only have meaning in private networks, short codes alone cannot be used where the called endpoint is identified by a public URI.
Accordingly, in light of these difficulties associated with short code dialing, there exists a need for improved methods and systems for providing short code dialing functionality in a communications network environment that includes ENUM translation service.
Methods, systems, and computer program products for enabling short code dialing in an ENUM environment are provided. According to one method, an ENUM query message that includes a calling party identifier and a called party short code identifier is received. An ENUM translation is performed to locate at least one URI corresponding to the calling party identifier and the called party short code identifier. The ENUM query message is responded to with the at least one URI.
According to one aspect of the subject matter described herein, a network element, such as a signaling system 7 (SS7) signal transfer point (STP), an SS7-Internet protocol (IP) signaling gateway (SG), or a flexible ENUM routing function (E-Flex) routes call signaling messages between entities in a communications network environment and receives or intercepts ENUM query messages that contain short dialing codes. The network element includes or has access to a short code resolution (SCR) function, which is adapted to examine a called party short code address value and a calling party address value contained in an ENUM query message. The SCR function is adapted to use the called party short code address and calling party address information to access a short code resolution database and resolve the called party short code address into a fully specified subscriber address (e.g., E.164 formatted telephone number). The resolved, fully specified subscriber address is inserted into the ENUM query message, and the ENUM query message is forwarded to an ENUM application for ENUM translation processing.
According to another aspect, the subject matter described herein includes an ENUM application that is adapted to receive an ENUM query message that contains a called party short code address value and a calling party address value. The ENUM application is adapted to use the called party short code address and calling party address information to access a short code resolution database and resolve the called party short code address into a fully specified subscriber address (e.g., E.164 formatted telephone number). The resolved, fully specified subscriber address is used by the ENUM application to perform ENUM translation processing.
According to yet another aspect, the subject matter described herein includes a short code-enabled ENUM application. In this embodiment, an ENUM query that includes a called party short code address value and a calling party address value is received by the ENUM application. The ENUM application is adapted to use the called party short code address and calling party address information to access short code-adapted ENUM translation data, and thereby resolve the called party short code address into one or more URI values, which are returned to the ENUM query originator.
The subject matter described herein for providing short code adapted ENUM service may be implemented using a computer program product comprising computer executable instructions embodied in a computer readable medium. Exemplary computer readable media suitable for implementing the subject matter described herein includes disk memory devices, programmable logic devices, and application specific integrated circuits. In one exemplary implementation, a computer program product that implements the subject matter described herein may include a memory accessible by a processor. The memory may store the above-referenced short code resolution function for resolving short codes and calling party numbers into full directory numbers and/or URIs. In addition, a computer readable medium that implements the subject matter described herein may be distributed across multiple physical devices and/or computing platforms.
Preferred embodiments of the subject matter described herein will now be described with reference to the accompanying drawings of which:
The subject matter described herein includes methods, systems, and computer program products for enabling short code dialing in an ENUM environment. Illustrated in
MGC element 102 is adapted to receive, process, and generate call signaling messages (e.g., signaling system 7 messages, Internet Engineering Task Force SIGTRAN messages, session initiation protocol messages, bearer independent call control signaling messages, etc.) and to control bearer path setup via one or more associated media gateway elements (not shown). For example, MGC 102 may receive an SS7 ISDN user part (ISUP) Initial Address Message (IAM) call signaling message and, in response to receipt of the IAM message, generate an associated ENUM query message. It will be appreciated that the subject matter described herein is not limited to network implementations that include an MGC element, and that in other embodiments of the subject matter described herein, the MGC element 102 shown in
E-Flex element 104 is adapted to receive, route, and in certain cases process ENUM query messages. More particularly, E-Flex element 104 includes a short code resolution (SCR) function 110, which is adapted to receive an ENUM query message and to determine whether the received ENUM query message is associated with a short code subscriber identifier. In response to determining that a received ENUM query message includes a short code subscriber identifier, SCR function 110 is adapted to access short code resolution database 106. In one embodiment, short code resolution database 106 includes data that maps a calling party identifier—called party short code tuple to a fully specified (e.g., E.164 formatted) called party identifier. Short code resolution database 106 may be co-located with E-Flex element 104 or may be implemented as a stand-alone element. In any event, SCR function 110 is adapted to access short code resolution database 106 using a calling party number—called party short code tuple and obtain a fully specified called party identifier. The fully specified, E.164 formatted, called party identifier value is then inserted into the ENUM query message, and the modified ENUM query message is transmitted to ENUM application 108 for ENUM translation processing.
Presented in
E-Flex element 104 also includes an application processor module, DSM 230 that is configured to host the short code resolution function 110. SCR function 110 is adapted to receive an ENUM query message from a communication interface module, such as DCMs 210 and 220, and to determine whether the ENUM query message is requesting ENUM translation service for a short code subscriber identifier. If SCR function 110 determines that the ENUM query message is requesting ENUM translation service for a short code subscriber identifier, then the SCR function is adapted to extract the short code subscriber identifier and a calling party subscriber identifier from the ENUM query message and temporarily store the ENUM query message in a message buffer 234. Message buffer 234 may be implemented in random access memory (RAM) or any other suitable data storage medium (e.g., a magnetic storage medium, an optical storage medium, etc.). SCR function 110 is then adapted to use the short code subscriber identifier and a calling party subscriber identifier to access short code resolution data.
In the embodiment illustrated in
SCR function 110 receives a called party E.164 subscriber identifier from the short code resolution database. SCR function 110 is adapted to access the ENUM query message in message buffer 234 and to insert the called party E.164 subscriber identifier into the ENUM query message. In one embodiment the called party short code value originally specified in the ENUM query message is discarded and replaced by the called party E.164 subscriber identifier value. In an alternate embodiment, the called party E.164 subscriber identifier value is included in the ENUM query message in addition to originally specified called party short code value.
In any event, the modified ENUM query message, which includes the E.164 subscriber identifier, is then routed from the E-Flex node via routing function 236 and a communication interface module, such as a DCM module. In one embodiment, routing function 236 is adapted to map a destination address (e.g., IP address, uniform resource identifier, SS7 point code, etc.) to a communications link, association, socket, or connection and associated outbound communication interface module.
Presented in
In response to receiving the IAM message, MGC 102 generates an ENUM query message (message 2). ENUM query message 2 includes the CgPN identifier value 9194611000 and the CdPSC identifier value 783, where the CdPSC identifier value is represented in a reverse-dotted format (i.e., 3.8.7.shortcode.arpa). ENUM query message 2 is transmitted to E-Flex node 104. Exemplary content of ENUM query message 2 is presented below:
E-Flex node 104 receives ENUM query message 2 via DCM communication module 210 and internally directs the message to DSM processor module 230, as illustrated in
Exemplary ENUM translation data is presented in Table 2. In this example, ENUM translation data includes a called party E.164 identifier and an associated a uniform resource identifier (URI).
Illustrated in
As shown in
In yet another embodiment of the subject matter described herein, an SCR function that is adapted to query an SCR database is integrated with an ENUM application. Illustrated in
SCR function 124 is adapted to receive an ENUM query message that includes a calling party identifier and to determine whether the ENUM query message is requesting ENUM translation service for a short code subscriber identifier. If SCR function 124 determines that the ENUM query message is requesting ENUM translation service for a short code subscriber identifier, then SCR function 124 is adapted to extract the short code subscriber identifier and the calling party subscriber identifier from the ENUM query message and temporarily buffer the ENUM query message in message buffer 234. SCR function 124 is then adapted to use the short code subscriber identifier and a calling party subscriber identifier to access short code resolution data. Exemplary short code resolution data is illustrated above in Table 1.
In the embodiment illustrated in
Beginning with message 1 shown in
In response to receiving the IAM message, MGC 102 generates an ENUM query message (message 2). ENUM query message 2 includes the CgPN identifier value 9194611000 and the CdPSC identifier value 783, where the CdPSC identifier value is represented in a reverse-dotted format (i.e., 3.8.7.shortcode.arpa). The ENUM query message 2 is transmitted to ENUM node 122. Exemplary content of ENUM query message 2 is presented below:
ENUM node 122 receives ENUM query message 2, via DCM communication module 210 and internally directs the message to DSM processor module 250, as illustrated in
In yet another embodiment, referred to herein as a short code adapted ENUM application embodiment, an ENUM application includes an integrated SCR database, as generally illustrated in
As in the examples described above, MGC 102 receives an ISUP IAM message (message 1) and subsequently generates an associated ENUM query message (message 2). Short code adapted ENUM application 262 is adapted to receive the ENUM query message (message 2) and to determine whether the ENUM query message includes a called party short code identifier. In response to determining that the ENUM query message includes a called party short code identifier, ENUM application 262 is adapted to extract the called party short code identifier and a calling party identifier from the ENUM query message and use those identifiers to locate a corresponding URI value(s).
In one embodiment, the called party short code identifier and a calling party identifier may first be resolved to an E.164 formatted identifier using SCR data similar to that illustrated above in Table 1. The resulting E.164 formatted identifier may then be used to locate a corresponding URI value(s) using ENUM translation data similar to that illustrated above in Table 2. The URI value(s) returned by short code adapted ENUM application 262 are included in an ENUM response message that is associated with the ENUM query message. Routing information contained in the ENUM query message (message 2) is used to address/route the ENUM response message (message 3) to the ENUM query originator, MGC 102.
In another embodiment, the called party short code identifier and a calling party identifier may be used by short code adapted ENUM application 262 to directly locate a corresponding URI value(s). That is, resolution of the called party short code identifier and a calling party identifier to an E.164 formatted identifier is not required. Instead, the called party short code identifier and a calling party identifier tuple may be mapped directly to one or more URI values. Such an exemplary short code adapted data structure is provided below in Table 3.
As in the embodiments described above, the URI value(s) returned by short code adapted ENUM application 262 are included in an ENUM response message that is associated with the ENUM query message. Routing information contained in the ENUM query message (message 2) is used to address/route the ENUM response message (message 3) to the ENUM query originator, MGC 102.
Although the examples described above relate to providing ENUM translations for voice communications where the called party is identified by a short code, the subject matter described herein is not limited to such embodiments. The methods, systems and computer program products described herein for providing ENUM translations may be used for any type of communications where the called party is identified by a short code. For example, the subject matter described herein may be used to perform ENUM translations for text, video, and/or audio messaging where the called party is identified using a short code.
It will be understood that various details of the subject matter described herein may be changed without departing from the scope of the invention. Furthermore, the foregoing description is for the purpose of illustration only, and not for the purpose of limitation, as the subject matter described herein is defined by the claims as set forth hereinafter.
This application claims the benefit of U.S. Provisional Patent Application Ser. No. 60/847,742, filed Sep. 28, 2006; the disclosure of which is incorporated herein by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
60847742 | Sep 2006 | US |