Methods, systems, and computer program products for using an E.164 number (ENUM) database for message service message routing resolution among 2G and subsequent generation network systems

Information

  • Patent Grant
  • 7889716
  • Patent Number
    7,889,716
  • Date Filed
    Thursday, December 1, 2005
    19 years ago
  • Date Issued
    Tuesday, February 15, 2011
    13 years ago
Abstract
Methods, systems, and computer program products for using an E.164 number (ENUM) database for message service message routing resolution among 2G and subsequent generation network systems are disclosed. According to one method, a message including message service message content is received. The message may include a 2G message recipient identifier. An ENUM database may be queried. A response from the ENUM database is received. Based on the response, unavailability of a subsequent generation network address for the recipient is determined. In response to the unavailability, the message service message content is attempted to be delivered to the recipient via a 2G network.
Description
TECHNICAL FIELD

The subject matter described herein relates to providing E.164 number (ENUM) mapping service in a communications network. More particularly, the subject matter described herein relates to methods, systems, and computer program products for using an ENUM database for message service message routing resolution among 2G and subsequent generation network systems.


BACKGROUND

Cellular communications networks have evolved over time such that there are now a variety of network technologies available in the marketplace. As technology advances, newer systems are deployed. However, older legacy systems cannot be made immediately obsolete. Older legacy systems require maintenance for a variety of reasons. For example, the cost of upgrading equipment may be prohibitive. As well, an installed customer base may rely on installed equipment and resist expenditures for newer technology.


Two such presently deployed network technologies are second generation (2G) cellular systems and third generation (3G) cellular systems. 3G networks are the newer generation of the two and provide many existing 2G services as well as adding additional services. Examples of 2G networks include interim standard-41 (IS-41) and global system for mobile communications (GSM) networks. Examples of 3G networks include session initiation protocol (SIP)-based networks, Internet protocol (IP) multimedia subsystem (IMS) networks and cellular internet access networks.


One service that is available in both systems is short message service (SMS). Short message service (SMS), which was first introduced by European wireless network operators in 1991, enables mobile subscribers to easily send and receive text messages via wireless handsets. Although specifications and industry standards related to SMS are constantly evolving and being modified, SMS messages have traditionally been used to convey readable text information, where the text may include any combination of characters that may be entered via a keypad or keyboard. Multimedia message service (MMS) extends the basic SMS concept to include a variety of message content types, including text, still images, video, and audio.


SMS delivery service provides a mechanism for transmitting messages to and from SMS capable terminals (e.g., wireless handsets, personal computers, etc.) via a signaling component of the wireless communication network. With particular regard to the sending and receiving of SMS messages by a wireless handset, a signaling network provides the transport facilities necessary to communicate short messages between a store-and-forward network element, known as a short message service center (SMSC), and a wireless handset.


In contrast to earlier text message transmission services, such as alphanumeric paging, SMS technology is designed to provide guaranteed delivery of an SMS message to a destination. That is, if a temporary network failure or the unavailability of a message recipient prohibits the immediate delivery of an SMS message, then the SMS message is stored in the network (i.e., at an SMSC) until the destination/intended message recipient becomes available. Another of the key and distinguishing characteristics of SMS service, with respect to previously available message communication services, is that an active mobile handset is able to send or receive a short message at any time, regardless of whether or not a voice or data call is in progress.


Internet engineering task force (IETF) request for comments number 2916 (RFC 2916) describes an 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). In particular, the 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 among other things a SIP URI, an instant messaging (IM) identifier, an e-mail address identifier, an Internet chat session identifier, and an IP address.


To assist with the routing of SMS messages in a 3G network, the ENUM system may be used to find a delivery address of an SMS message recipient. However, improper provisioning of the ENUM database or the absence of a 3G delivery address for the SMS message may result in the SMS message being undeliverable even when the intended message recipient is reachable via a 2G network address. Accordingly, there exists a need for improved methods, systems, and computer program products for using an E.164 number (ENUM) database for message service message routing resolution among 2G and 3G network systems.


SUMMARY

According to one aspect, the subject matter described herein comprises methods, systems, and computer program products for messaging service message routing resolution among 2G and subsequent generation network systems. One method includes receiving a message service message including message service content and a 2G message recipient identifier associated with a messaging service message recipient. An ENUM database is queried using the 2G message recipient identifier. A response is received from the ENUM database. Based on the response, unavailability of a subsequent generation network address for the recipient is determined. In response to the unavailability, delivery of the message service content to the recipient is attempted via a 2G network.


As used herein, a subsequent generation network includes a third generation (3G) network, a fourth generation (4G) network, and any later generation network. Accordingly, all subsequent generation networks after 2G are considered within the scope of the subject matter described herein. The term “message service message” is intended to refer to a message that carries non-call media content between subscribers of 2G and subsequent generation networks. Examples of message service messages include SMS messages, MMS messages, and instant messages.


The subject matter described herein providing message service message routing resolution among 2G and 3G network systems 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 include disk memory devices, programmable logic devices, application specific integrated circuits, and downloadable electrical signals. In addition, a computer readable medium that implements the subject matter described herein may be distributed across multiple physical devices and/or computing platforms.





BRIEF DESCRIPTION OF THE DRAWINGS

Preferred embodiments of the subject matter described herein will now be explained with reference to the accompanying drawings of which:



FIG. 1 is a block diagram of an exemplary communications network including functionality for using ENUM service to perform routing resolution for message service messages according to an embodiment of the subject matter described herein;



FIG. 2 is a message flow diagram illustrating exemplary messages exchanged in delivering a message service message to a 3G delivery address according to an embodiment of the subject matter described herein;



FIG. 3 is a block diagram of an exemplary communications network illustrating delivery of a message service message to a 2G delivery address for a subscriber when an ENUM database lacks a 3G delivery address for the subscriber according to an embodiment of the subject matter described herein;



FIG. 4 is a message flow diagram illustrating exemplary messages exchanged in delivering a message service message to a 2G delivery address for a subscriber when an ENUM database lacks an entry for the subscriber according to an embodiment of the subject matter described herein;



FIG. 5 is a block diagram of an exemplary communications network illustrating an example where an ENUM database queries a presence database to select an available delivery address according to an embodiment of the subject matter described herein;



FIG. 6 is a flow chart illustrating exemplary steps in delivering a message service message to a 2G or a 3G network based on a subscriber delivery preference according to an embodiment of the subject matter described herein; and



FIG. 7 is a block diagram of a message service gateway for a recipient for providing 2G/3G message service message routing resolution according to an embodiment of the subject matter described herein.





DETAILED DESCRIPTION

According to one aspect of the subject matter described herein, a method for message service message routing resolution among 2G and 3G networks is provided. FIG. 1 illustrates an exemplary communications network 100 including functionality for using ENUM service to perform routing resolution for message service messages according to an embodiment of the subject matter described herein. In FIG. 1, mobile switching center/visitor location register (MSC/VLR) 102 performs media stream switching and signaling functions for mobile telephone calls. MSC/VLR 102 may also perform location register functions for roaming subscribers. MSC/VLR 102 generates signaling messages for delivering message service messages originated by mobile subscribers. A 2G/3G message service gateway 104 performs routing resolution for delivering message service messages to 2G network 106 and 3G network 108. In one exemplary implementation, 2G/3G message service gateway 104 includes a 2G/3G message service routing resolution application 110 for communicating with an ENUM database 112 to perform the routing resolution.


2G/3G message service routing resolution application 110 may query ENUM database 112 to obtain the delivery address for a message service message received by 2G/3G message service gateway 104. If a 3G delivery address is provisioned for an intended recipient in ENUM database 112, 2G/3G message service routing resolution application 110 may insert that address in the message and attempt to deliver the message to 3G network 108. If, however, a 3G delivery address is not provisioned for the intended recipient in ENUM database 112, 2G/3G message service routing resolution application 110 may attempt to deliver the message based on a 2G delivery address contained in the message. Detailed message flow examples for both of these cases will be described below.


In the illustrated example, 2G network 106 includes IS-41 network 114 and GSM network 116. Similarly, 3G network 108 includes IMS network 118, SIP network 120, and Internet 122. It should be understood that the 2G and 3G network examples illustrated in FIG. 1 are shown for illustrative purposes only and that 2G network 106 and 3G network 108 may use different or additional protocols.


In the message flow example illustrated in FIG. 1, MSC 102 originates an IS-41 short message delivery point-to-point (SMDPP) message 122 and forwards the message to 2G/3G message service message gateway 104. Gateway 104 formulates a query 124 including a message recipient identifier and sends the query to ENUM database 112. The message recipient identifier may be a 2G message recipient identifier extracted or derived from the SMDPP message. For example, the message recipient identifier may be any one of a short code address, a mobile identification number, a mobile subscriber ISDN number, an E.164 number, a North American numbering plan (NANP) number, or an IP-based short message peer-to-peer (SMPP) address.


In one embodiment, gateway 104 may be adapted to re-format the message recipient identifier into an E.164 form for use with ENUM database 112. For instance, an E.212 formatted message recipient identifier may be re-formatted to an E.164 form prior to querying of the ENUM database 112. In this example, it is assumed that ENUM database 112 has a 3G delivery address corresponding to the message recipient identifier. Accordingly, ENUM database 112 performs a lookup based on the message recipient identifier and returns an NAPTR record including one or more 3G delivery addresses for the intended recipient. 2G/3G message service message gateway 104 receives the message including the NAPTR record for the subscriber and formulates a SIP message (e.g., SIP MESSAGE or SIP INFO message) for delivering the message service message to 3G network 108.



FIG. 2 is a message flow diagram illustrating in more detail exemplary messages associated with delivering a message service message to a 3G delivery address using an ENUM database according to an embodiment of the subject matter described herein. Referring to FIG. 2, in line 1 of the message flow diagram, MSC/VLR 102 formulates an IS-41 SMDPP message and sends the SMDPP message to gateway 104. In line 2 of the message flow diagram, gateway 104 formulates a lookup subdomain message including a recipient identifier and forwards the lookup subdomain message to ENUM database 112. In line 3 of the message flow diagram, ENUM database returns a response to gateway 104 including the 3G delivery address for the intended recipient.


In line 4 of the message flow diagram, 2G/3G message service message gateway formulates a SIP MESSAGE message including the message service message content and forwards the message to a SIP session server 200. In line 5 of the message flow diagram, 2G/3G message service message gateway 104 sends an IS-41 response message indicating that the SMDPP message in line 1 has been delivered to the 3G network.


In line 6 of the message flow diagram, SIP session server 200 formulates a SIP MESSAGE message and sends the message to message application server 202. In line 7 of the message flow diagram, message application server 202 formulates a 200 OK message and sends the message to SIP session server 200. It should be noted that message application server 202 may perform operations on the SIP message and may modify the SIP message prior to delivery. Accordingly, in line 8 of the message flow diagram, message application server 202 formulates a SIP MESSAGE message and sends the message to SIP session server 200. In line of the message flow diagram, SIP session server 200 formulates a SIP MESSAGE message including the message service message content and forwards the message to mobile SIP client 204. In line 10 of the message flow diagram, mobile SIP client 204 sends a 200 OK message to SIP session server 200. In line 11 of the message flow diagram, SIP session server 200 sends a 200 OK message to message application server 202. In line 12 of the message flow diagram, SIP session server 200 sends a 200 OK message to message service message gateway 104 concluding the message delivery transaction.



FIG. 3 is a network diagram of network 100 illustrated in FIG. 1 illustrating the case where ENUM database 112 does not include a 3G delivery address for a subscriber. Referring to FIG. 3, MSC/VLR 102 formulates an IS-41 SMDPP message and sends the message to 2G/3G message service message gateway 104. 2G/3G message service message gateway 104 queries ENUM database 112 for a 3G delivery address for the subscriber. In this case, ENUM database 112 does not include a 3G delivery address for the subscriber. Accordingly, ENUM database 112 responds indicating that a 3G delivery address is not provisioned for the intended recipient.


In response to receiving the message indicating that a 3G address is not provisioned for the subscriber, 2G/3G message service message gateway 104 attempts to deliver the message via 2G network 106. In the illustrated example, 2G/3G message service message gateway may extract a 2G message service message delivery address from the message and deliver the message to the appropriate 2G network. In this example, the subscriber is located in GSM network 116. Accordingly, 2G/3G message service message gateway sends a GSM forward short message message to GSM network 116.



FIG. 4 is a message flow diagram illustrating in more detail exemplary messages exchanged between the entities associated with the 2G delivery example illustrated in FIG. 3. Referring to FIG. 4, in line 1, MSC/VLR 102 formulates an IS-41 SMDPP message and sends the message to 2G/3G message service gateway 104. In line 2 of the message flow diagram, 2G/3G message service gateway 104 sends a lookup subdomain message to ENUM database 112. In line 3 of the message flow diagram, ENUM database 112 responds with a message indicating that a 3G delivery address was not provisioned for the destination mobile subscriber.


Accordingly, in 2G/3G MS gateway 104 may attempt to deliver the message via the 2G network. In line 4 of the message flow diagram, 2G/3G MS gateway formulates and sends an IS-41 SMDPP message to the short message service center associated with the destination mobile subscriber. In this example, the destination mobile subscriber is referred to as mobile station A or MS_A. The address of the message center serving the mobile subscriber may be determined by performing a global title translation on the SMS destination address stored in the MAP portion of the SMDPP message. In line 5 of the message flow diagram, IS-41 SMSC 400 sends an SMS request message to IS-41 HLR 402 to determine the system that is currently serving mobile station A. In line 6 of the message flow diagram, IS-41 HLR 402 responds with the SMS address of the serving MSC. In line 7 of the message flow diagram, IS-41 SMSC 400 sends an SMDPP message including the short message content to IS-41 MSC 404.


In lines 8 and 9 of the message flow diagram, IS-41 MSC 404 delivers the message service message to mobile station A 406 and receives acknowledgement from mobile station A 406. In lines 10 and 11 of the message flow diagram, acknowledgement of delivery of the message service message is communicated to IS-41 SMSC 400 and 2G/3G message service gateway 104.


Although the examples in FIGS. 3 and 4 relate to using the ENUM database and attempting to deliver a message service message to an IS-41 subscriber, the subject matter described herein is not limited to delivering messages to IS-41 2G subscribers. In an alternate implementation, 2G/3G message service gateway 104 may deliver messages to 2G GSM subscribers using ENUM database 112. For example, referring back to FIG. 3, the SMDPP message received by 2G/3G message service message gateway 104 may be a GSM forward short message message. Similarly, once 2G/3G message service gateway determines that a 3G network address is not provisioned for the subscriber, 2G/3G message service message gateway 104 may formulate a GSM forward short message message and forward the message to the SMSC or other entity in GSM network 116 for delivery to a GSM subscriber.


In yet another alternate implementation, 2G/3G message service gateway 104 may store information for subscribers with dual mode handsets capable of operating in IS-41 and GSM networks. In such an implementation, 2G/3G message service message gateway may store information indicating the type of network in which the subscriber is currently registered and use that information to formulate the appropriate message to IS-41 network 114 or GSM network 116. Detailed examples of methodology suitable for deriving IS-41 or GSM registration information and storing that information in a signaling message routing node is described in commonly-assigned, co-pending U.S. Patent Application Publication No. US2004/0219935 A1, the disclosure of which is incorporated herein by reference in its entirety.


The subject matter described herein is not limited to attempting to deliver a message to a 2G subscriber in response to determining that a record for the subscriber is not provisioned in ENUM database 112. For example, a message service gateway according to an embodiment of the subject matter described herein may also attempt to deliver a message to a subscriber via the 2G network when ENUM database 112 determines that the subscriber is not available via any of the subscribers provisioned 3G delivery addresses based on presence information. FIG. 5 illustrates this scenario. In FIG. 5, MSC/VLR 102 sends an IS-41 SMDPP message to 2G/3G message service message gateway 104. In response, 2G/3G message service gateway 104 queries ENUM database 112 for a 3G delivery address for the subscriber. ENUM database 112 queries presence database 500 to determine whether the subscriber is reachable via any of the 3G addresses located in its internal database lookup. In step 4, it is assumed that presence database 500 returns a response indicating that the subscriber is not available at any of the 3G addresses. Accordingly, in step 5, ENUM database responds to 2G/3G message service gateway 104 indicating that all of the 3G network delivery addresses are unavailable or with a null record that does not indicate any 3G delivery addresses. In step 6, 2G/3G message service gateway 104 attempts to deliver the message to the subscriber via 2G network 106. The detailed message flow for such delivery may be similar to that illustrated in FIG. 4.


The subject matter described herein is not limited to having the ENUM database query the presence database. In an alternate implementation, gateway 104 may query an internal or external presence database to determine the 3G address availability.


In yet another enhancement of the subject matter described herein, 2G/3G message service message gateway may store preference data indicative of whether a subscriber desires to have messages delivered via 3G network 108, 2G network 106, or both. FIG. 6 is a flow chart illustrating exemplary steps that may be performed by 2G/3G message service gateway 104 in using subscriber preference information and/or ENUM information in determining whether to deliver a message to a subscriber via 2G network 106 or 3G network 108 according to an embodiment of the subject matter described herein. Referring to FIG. 6, in step 600, gateway 104 receives a message service message. In step 602, gateway 104 may determine the destination subscriber delivery preference. If the destination subscriber delivery preference is 2G only, control proceeds to step 604 where gateway 104 attempts to deliver the message via 2G network 106 without querying the ENUM database.


Returning to step 602, if the subscriber's delivery preference is determined to be 3G only, control proceeds to step 606 where gateway 104 queries ENUM database 112. In step 608, gateway 104 receives a response from ENUM database 112. In step 610, it is determined whether the response indicates an available 3G delivery address. If the response indicates an available 3G delivery address, control proceeds to step 612 where the message is forwarded to the 3G delivery address returned by ENUM database 112. In step 610, if the response does not indicate an available 3G delivery address, the ENUM database may be queried a predetermined number of times until an available delivery address is provisioned or an address that is currently unavailable becomes available. Accordingly, in step 614, it is determined whether the maximum number of retries has been exceeded. If the maximum number of retries has not been exceeded, steps 606-610 are repeated until the message can be delivered. If the maximum number of retries is exceeded, control proceeds to step 616 where a 3G delivery failure is indicated.


Returning to step 602, if it is determined that the subscriber delivery preference is other than 2G only or 3G only, control proceeds to step 618 where ENUM database 112 is queried. In step 620, a response is received. In step 622, it is determined whether the response indicates an available 3G delivery address. If the response does not indicate an available 3G delivery address, control returns to step 604 where the message is attempted to be delivered via the 2G network. If the message contains an available 3G delivery address, control proceeds to step 624 where the message is attempted to be delivered via the 2G and/or the 3G network in accordance with subscriber preferences. For example, if 2G and 3G delivery addresses are available, the subscriber may prefer 3G delivery addresses, and the message may be delivered via the 3G network. In another example, a subscriber may prefer 2G addresses over 3G addresses and delivery may be attempted via the 2G network. In yet another example, a subscriber may prefer to receive messages via both the 2G and 3G networks for maximum reliability.



FIG. 7 is a block diagram illustrating an exemplary internal architecture of 2G/3G message service gateway 104 according to an embodiment of the subject matter described herein. In FIG. 7, gateway 104 includes a high speed inter-processor message transport (IMT) communications bus 702. A number of distributed processing modules or cards may be coupled to IMT bus 702. In FIG. 7, these processing modules or cards include a pair of maintenance and administration subsystem processors (MASP) 704, a signaling system 7 (SS7) link interface module (LIM) 706, a IP-capable DCM 708, and a 2G/3G database services module (DSM) 710. These modules may be physically connected to the IMT bus 702 such that signaling and other types of messages may be routed internally between active cards or modules. The distributed, multi-processor architecture of 2G/3G SMG 104 may facilitate the deployment of multiple LIM, DCM, DSM and other cards, all of which may be simultaneously connected to and communicating via IMT bus 702.


MASP pair 704 implements a maintenance and administration subsystem function that is not particularly relevant to a discussion of the 2G/3G message service message routing of the present disclosure. Accordingly, a detailed discussion of their function is not provided herein.


LIM 706 interfaces with one or more external signaling links. LIM 706 may have a number of sub-components. In FIG. 7, these sub-components include an SS7 MTP level 1 & 2 function 712, an SS7 MTP level 3 layer message discrimination function 714, message distribution function 716, and a routing function 718. MTP level 1 and 2 function 712 provides facilities to send and receive digital data over a particular physical medium, as well as to provide error detection, error correction and sequenced delivery of SS7 messages.


MTP level 3 discrimination function 714 may receive signaling messages from the lower processing layers and perform discrimination operations, which may include determining whether a received message (e.g., an SS7 message) is to be allowed into gateway 104 and determining whether the received message packet requires processing by an internal processing subsystem or is simply to be through switched (i.e., routed on to another node in the network). Examples of received SS7 messages that may require internal processing include signaling connection control part messages in need of global title translation (GTT) and signaling network management messages. By providing this discrimination functionality, discrimination function 714 may effectively provide 2G/3G message service gateway 104 with a network firewall. Discrimination function 714 may examine received message parameters, including message transfer part (MTP) routing label parameters, signaling connection control part (SCCP) layer parameters, transaction capabilities application part (TCAP) layer parameters, and mobile application part (MAP) layer parameters. Exemplary discrimination parameters include origination point code (OPC)/destination point code (DPC) parameters, a service indicator (SI) parameter, SCCP called and calling party address parameters, an SCCP subsystem (SSN) parameter, a translation type (TT) parameter, a MAP operation code (OpCode) parameter, and others. Discrimination based on these parameters enables function 714 to determine whether internal processing is required.


For signaling connection control part (SCCP) messages that require GTT or other processing by 2G/3G DSM 710, message distribution function 716 may receive such messages from discrimination function 714 and direct the messages to 2G/3G DSM 710 via IMT bus 702.


For messages that contain message service message content, discrimination function 714 may identify such messages and forward these messages to distribution function 716. Distribution function 716 may distribute such messages to one of a plurality of identically provisioned DSM modules 710. This type of internal distribution of messages within 2G/3G message service message gateway 104 should not be confused with message routing, which refers to selecting an external signaling link over which a received message may be forwarded.


Routing function 718 is responsible for examining an incoming message and determining on which outbound linkset and link the message is to be transmitted. Unlike conventional MTP routing functions that select routes based only in DPC and route cost, routing function 718 may utilize origination or source entity information associated with non-adjacent nodes (e.g., an OPC value, a source IP address, a calling party dialed number, etc.) during route selection process. As such, messages addressed to the same destination point code but sent from different origins may be forwarded over different routes to the same destination independently of the intermediate network between the signaling message origin and 2G/3G message service gateway 104. Once route selection is made, routing function 718 may ensure that the message is directed internally to the appropriate communication module (e.g., SS7 LIM, DCM, 2G/3G DSM, etc.) for outbound transmission.


DCM 708 includes an IP transport function 720, a signaling protocol adaptation/translation function 722, a discrimination function 724, a distribution function 726, and a routing function 728. IP transport function 720 includes hardware and software for implementing OSI layers 1-3. For example, IP transport function may implement a physical layer protocol, such as Ethernet, a network layer protocol, such as IP, and a transport layer protocol, such as transmission control protocol (TCP), user datagram protocol (UDP), and/or stream control transmission protocol (SCTP). According to one exemplary embodiment of the subject matter disclosed herein, adaptation and translation function 722 may receive a signaling message from an IP network that is formatted according to a first signaling protocol (e.g., M3UA), and adapt or reformat the message into a second signaling protocol (e.g., MTP). It will be appreciated by those skilled in the art that M3UA is considered to be a protocol for adapting native SS7 signaling messages for transport via an IP communication link. According to another exemplary mode of operation, adaptation and translation function 722 may receive a signaling message, such as a SIP message, and translate the SIP message into an equivalent SS7 or SS7-adaptation protocol message, and vice-versa. These adaptation and translation processing operations may be performed on in-bound and out-bound signaling messages. In yet another embodiment of the subject matter disclosed herein, an adaptation and translation function similar to function 722 may be located on LIM and high speed link (HSL) communication modules, thereby enabling signaling message adaptation and translation operations to be performed on some or all LIM and HSL interfaces in an SMG routing node.


Discrimination function 724 performs discrimination operations similar to those described above with respect to discrimination function 714, and as such discrimination function 724 may provide 2G/3G message service gateway 104 with a network firewall. In addition to the SS7 and SS7-adaptation protocol discrimination parameters described above, discrimination function 724 may also examine received SIP message parameters including a To parameter, a From parameter, a Via parameter, a source IP address parameter, a destination IP address parameter, and others. Discrimination based on these parameters enables function 724 to determine whether screening or internal processing is required. According to one embodiment, discrimination function 724 may copy a received signaling message, such that the original message may be routed to the target destination and the message copy may be processed by one or more processing subsystems associated with the SMG.


Distribution function 726 handles the internal routing of message packets that require additional processing prior to final routing. Such messages may include signaling messages associated with message service messages such as SMS, MMS, and IM services (e.g., SIP INFO message, SIP MESSAGE message, SIP INVITE message, etc.), as well as mobility management messages. Routing function 728 is adapted to access network routing rule information, which may include SS7 and IP network routing rules, and apply these routing rules to messages that require routing.


DSM 710 may include 2G/3G message service routing resolution application 110 described above. In addition, DSM 710 may include one or more databases 734, 736, and 738 for processing message service messages. In the illustrated example, database 734 stores subscriber preferences indicating whether a subscriber prefers 2G or 3G delivery. Database 736 is a message buffer for buffering message service messages or parameters for messages while ENUM and/or presence database is being queried. Database 738 stores ENUM and/or presence information. For example, ENUM database 112 may reside entirely within gateway 104. In such an implementation, database 738 may perform the functions of ENUM database 112 described above. Similarly, presence information may be stored on DSM 710. In such an implementation, database 738 may include presence information for global communications subscribers. In yet another alternate implementation, database 738 may cache ENUM and/or presence information received from responses to external queries to presence and/or ENUM databases.


In the example illustrated in FIG. 7, the dashed line arrow labeled “FROM 2G NETWORK” on LIM 610 represents a message service message that is received from an external network. The message may be forwarded by discrimination function to distribution function 716. Distribution function 716 may forward the message via IMT bus 702 to 2G/3G messaging service routing resolution application 110. 2G/3G messaging service message application 110 may query an internal or external ENUM database and attempt to deliver the message via 2G network or 3G network, depending on subscriber preferences and address availability. The dash line from application 110 through DCM 708 represents delivery of a message to the 3G network. Similarly, the dashed line from application 710 through LIM 706 indicates delivery of the message via the 2G network.


It will be understood that various details of the subject matter described herein may be changed without departing from the scope of the subject matter described herein. 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.

Claims
  • 1. A method for messaging service message routing resolution among second generation (2G) and subsequent generation network systems, the method comprising: receiving a message including message service message content and a 2G message recipient identifier;querying an E.164 number (ENUM) database using the 2G message recipient identifier; andreceiving a response from the ENUM database, wherein the response includes an indicator indicating availability of a recipient at one or more network delivery addresses;determining, based on the response, unavailability of the recipient at the subsequent generation network delivery address provisioned for the recipient in the ENUM database or unavailability of the recipient via any subsequent generation network delivery addresses provisioned for the recipient in the ENUM database; andin response to determining the unavailability of a subsequent generation network delivery address provisioned for the recipient in the ENUM database or the unavailability of the recipient any subsequent generation network delivery addresses provisioned for the recipient in the ENUM database, attempting to deliver the message service content to the recipient via a 2G network.
  • 2. The method of claim 1 wherein receiving a message includes receiving a short message service (SMS) message.
  • 3. The method of claim 1 wherein receiving a message includes receiving a multimedia message service (MMS) message.
  • 4. The method of claim 1 wherein the 2G message recipient identifier includes an identifier selected from a group including short code address, a mobile identification number, a mobile subscriber ISDN number, an E.164 number, a North American numbering plan (NANP) number, and an IP-based short message peer-to-peer (SMPP) address.
  • 5. The method of claim 1 wherein receiving a response from the ENUM database includes receiving a response including a null value for a 3G network address.
  • 6. The method of claim 1 wherein receiving a response from the ENUM database includes receiving a response including a 3G network address wherein the indicator indicates that the recipient is currently unavailable at the 3G network address.
  • 7. The method of claim 1 wherein attempting to deliver the message service message content to the recipient via the 2G network includes translating a short message service center entity address in a mobile application part (MAP) portion of the message to a point code corresponding to a short message service center serving the recipient, formulating a message service message delivery message including the message service message content, and forwarding the message service message delivery message to the short message service center.
  • 8. The method of claim 1 wherein attempting to deliver the message service message content to the recipient via the 2G network includes formulating an IS-41 message service message delivery message including the message service message content and forwarding the IS-41 message service message delivery message to an IS-41 network.
  • 9. The method of claim 1 wherein attempting to deliver the message service message content to the recipient via the 2G network includes formulating a GSM message service message delivery message including the message service message content and forwarding the GSM message service message delivery message to the GSM network.
  • 10. The method of claim 1 wherein determining, based on the response, unavailability of a subsequent generation network delivery address for the recipient includes querying a presence database using a 3G address returned by the ENUM database.
  • 11. A method for message service message routing resolution among second generation (2G) and subsequent generation network systems, the method comprising: receiving a message including message service content and a 2G message recipient identifier;determining whether subscriber preference information regarding delivery of the message via a 2G network or a subsequent generation network exists;querying an ENUM database, wherein a response to the query includes an indicator indicating availability of a subscriber at one or more network delivery addresses, and determining that both 2G and subsequent generation network delivery addresses are available for the subscriber, determining that both 2G and subsequent generation network delivery addresses are available for the subscriber includes determining that the subsequent generation network address is provisioned in the ENUM database and that the recipient is currently available at the 2G and subsequent generation network delivery addresses; andin response to determining that the subscriber preference information exists, delivering the message service content to a recipient via at least one of the 2G and the subsequent generation network in accordance with the subscriber preference information, wherein delivering the message service content in accordance with the subscriber preference information includes delivering the subscriber content via the 2G network if the subscriber preference information indicates that the subscriber prefers 2G delivery over 3G delivery.
  • 12. A system for messaging service message routing resolution among second generation (2G) and subsequent generation network systems, the system comprising: an E.164 Number (ENUM) database for storing information for translating 2G subscriber identifiers to 3G addresses, wherein the ENUM database is configured to respond to queries with a response including an indicator indicating availability of a subscriber at one or more network delivery addresses; anda 2G and subsequent generation message service gateway operatively associated with the ENUM database for receiving message including message service content and a 2G recipient identifier, for querying the ENUM database using the 2G recipient identifier, for receiving a response from the ENUM database, for determining, based on the response, unavailability of a subsequent generation network delivery address for the recipient or unavailability of the recipient via any subsequent generation network delivery address provisioned for the recipient with the ENUM database, and for attempting, in response to determining the unavailability of a subsequent generation network delivery address for the recipient in the ENUM database or the unavailability of the recipient via any subsequent generation network delivery addresses provisioned for the recipient in the ENUM database, attempting to deliver delivering the message service content to the recipient via a 2G network.
  • 13. The system of claim 12 wherein the message comprises a short message service (SMS) message.
  • 14. The system of claim 12 wherein the message comprises a multimedia message service message.
  • 15. The system of claim 12 wherein the message recipient identifier includes an identifier selected from a group including a short code address, a mobile identification number, a mobile subscriber ISDN number, an E.164 number, a North American numbering plan (NANP) number, and an IP-based short message peer-to-peer (SMPP) address.
  • 16. The system of claim 12 wherein the 2G and subsequent generation message service gateway is adapted to attempt to deliver the message service content via an IS-41 network.
  • 17. The system of claim 12 wherein the 2G and subsequent generation message service gateway is adapted to attempt to deliver the message service content via a GSM network.
  • 18. The system of claim 12 wherein the ENUM database is adapted to query a presence database to determine availability of a 3G address corresponding to the recipient.
  • 19. The system of claim 12 wherein the 2G and subsequent message service message gateway is adapted to query a presence database to determine availability of a 3G address corresponding to the recipient.
  • 20. A 2G and subsequent generation message service gateway comprising: at least one communications module for receiving a message including message service message content and a message recipient identifier; anda second 2G and subsequent generation message service routing resolution application for receiving the message, for querying an E.164 numbering (ENUM) database using the message recipient identifier, wherein the ENUM database replies to the query with a response including an indicator indicating availability of a recipient at one or more network delivery addresses, for receiving a response and determining, based on the response, unavailability of the recipient at a subsequent generation network delivery address provisioned in the ENUM database for the recipient or unavailability of the recipient via any subsequent generation delivery addresses provisioned for the recipient in the ENUM database, and for, in response to determining the unavailability of a subsequent generation network delivery addresses provisioned in the ENUM database for the recipient or the unavailability of the recipient via any subsequent generation delivery addresses provisioned for the recipient in the ENUM database, attempting to deliver the message service content to the recipient via a 2G network.
  • 21. The second generation/subsequent generation message service gateway of claim 20 wherein the at least one communications module includes an SS7 communications module for sending and receiving SS7 messages including message service content.
  • 22. The second generation/subsequent generation message service gateway of claim 20 wherein the at least one communications module includes an Internet protocol (IP) communications module for sending and receiving IP messages including message service content.
  • 23. The second generation/subsequent generation message service gateway of claim 20 wherein the second generation/subsequent generation message service routing resolution application is adapted to attempt to deliver the message service content to the recipient via an IS-41 network.
  • 24. The second generation/subsequent generation message service gateway of claim 20 wherein the second generation/subsequent generation message service routing resolution application is adapted to attempt to deliver the message service content to the recipient via a GSM network.
  • 25. The second generation/subsequent generation message service gateway of claim 20 wherein the second generation/subsequent generation message service message routing resolution application is adapted to translate the recipient identifier into a 2G node address.
  • 26. The second generation/subsequent generation message service gateway of claim 20 wherein the second generation/subsequent generation message service message routing resolution application is adapted to query a presence database to determine unavailability of a 3G address for the recipient.
  • 27. The second generation/subsequent generation message service gateway of claim 20 wherein the second generation/subsequent generation message routing resolution application is adapted to access stored preference information for the recipient and to attempt to deliver the message service content to the recipient in accordance with the stored preference information.
  • 28. A non-transitory computer program product comprising computer-executable instructions embodied in a computer-readable medium for performing steps comprising: receiving a message including message service message content and a 2G message recipient identifier;querying an E.164 number (ENUM) database using the 2G message recipient identifier;receiving a response from the ENUM database, wherein the response includes an indicator indicating availability of the recipient at one or more network delivery addresses;determining, based on the response, unavailability of the recipient at a subsequent generation network delivery address provisioned for the recipient in the ENUM database or unavailability of the recipient via any subsequent generation network delivery addresses provisioned for the recipient in the ENUM database; andin response to determining the unavailability of a subsequent generation network delivery address provisioned for the recipient in the ENUM database or the unavailability of the recipient any subsequent generation network delivery addresses provisioned for the recipient in the ENUM database, attempting to deliver the message service content to the recipient via a 2G network.
  • 29. A non-transitory computer program product comprising computer-executable instructions embodied in a computer-readable medium for performing steps comprising: receiving a message including message service content and a 2G message recipient identifier;determining whether subscriber preference information regarding delivery of the message via a 2G network or a subsequent generation network exists;querying an ENUM database, wherein a response to the query includes an indicator indicating the availability of a subscriber one or more network delivery addresses, and determining that both 2G and subsequent generation network delivery addresses are available for the subscriber, determining that both 2G and subsequent generation network delivery addresses are available for the subscriber includes determining that the subsequent generation network address is provisioned in the ENUM database and that the recipient is currently available at the 2G and subsequent generation network delivery addresses; andin response to determining that the subscriber preference information exists, delivering the message service content to a recipient via at least one of the 2G and the subsequent generation network in accordance with the subscriber preference information, wherein delivering the message service content in accordance with the subscriber preference information includes delivering the subscriber content via the 2G network if the subscriber preference information indicates that the subscriber prefers 2G delivery over 3G delivery.
US Referenced Citations (199)
Number Name Date Kind
4310727 Lawser Jan 1982 A
4754479 Bicknell et al. Jun 1988 A
5089954 Rago Feb 1992 A
5237604 Ryan Aug 1993 A
5247571 Kay et al. Sep 1993 A
5251248 Tokunaga et al. Oct 1993 A
5400390 Salin Mar 1995 A
5420916 Sekiguchi May 1995 A
5422941 Hasenauer et al. Jun 1995 A
5423068 Hecker Jun 1995 A
5430719 Weisser, Jr. Jul 1995 A
5442683 Hoogeveen Aug 1995 A
5455855 Hokari Oct 1995 A
5457736 Cain et al. Oct 1995 A
5475732 Pester, III Dec 1995 A
5481603 Gutierrez et al. Jan 1996 A
5502726 Fischer Mar 1996 A
5504804 Widmark et al. Apr 1996 A
5526400 Nguyen Jun 1996 A
5579372 Åström Nov 1996 A
5590398 Matthews Dec 1996 A
5594942 Antic et al. Jan 1997 A
5623532 Houde et al. Apr 1997 A
5689548 Maupin et al. Nov 1997 A
5706286 Reiman et al. Jan 1998 A
5711002 Foti Jan 1998 A
5812639 Bartholomew et al. Sep 1998 A
5819178 Cropper Oct 1998 A
5822694 Coombes et al. Oct 1998 A
5832382 Alperovich Nov 1998 A
5841854 Schumacher et al. Nov 1998 A
5852660 Lindquist et al. Dec 1998 A
5854982 Chambers et al. Dec 1998 A
5862481 Kulkarni et al. Jan 1999 A
5867788 Joensuu Feb 1999 A
5878347 Joensuu et al. Mar 1999 A
5878348 Foti Mar 1999 A
5889849 Ban et al. Mar 1999 A
5890063 Mills Mar 1999 A
5953662 Lindquist et al. Sep 1999 A
5953663 Maupin et al. Sep 1999 A
5983217 Khosravi-Sichani et al. Nov 1999 A
6006098 Rathnasabapathy et al. Dec 1999 A
6011803 Bicknell et al. Jan 2000 A
6014557 Morton et al. Jan 2000 A
6018657 Kennedy, III et al. Jan 2000 A
6038456 Colby et al. Mar 2000 A
6049714 Patel Apr 2000 A
6094578 Purcell et al. Jul 2000 A
6097960 Rathnasabapathy et al. Aug 2000 A
6115463 Coulombe et al. Sep 2000 A
H1895 Hoffpauir et al. Oct 2000 H
6128377 Sonnenberg Oct 2000 A
6134441 Äström et al. Oct 2000 A
6137806 Martinez Oct 2000 A
6138007 Bharatia Oct 2000 A
6138016 Kulkarni et al. Oct 2000 A
6138017 Price et al. Oct 2000 A
6138023 Agarwal et al. Oct 2000 A
6144857 Price et al. Nov 2000 A
6148204 Urs et al. Nov 2000 A
6175743 Alperovich et al. Jan 2001 B1
6178181 Glitho Jan 2001 B1
6192242 Rollender Feb 2001 B1
6205210 Rainey et al. Mar 2001 B1
6208870 Lorello et al. Mar 2001 B1
6226517 Britt et al. May 2001 B1
6236365 LeBlanc et al. May 2001 B1
6263212 Ross et al. Jul 2001 B1
6292669 Meuronen et al. Sep 2001 B1
6298232 Marin et al. Oct 2001 B1
6308075 Irten et al. Oct 2001 B1
6324279 Kalmanek et al. Nov 2001 B1
6327350 Spangler et al. Dec 2001 B1
6338140 Owens et al. Jan 2002 B1
6356529 Zarom Mar 2002 B1
6363431 Hammer et al. Mar 2002 B1
6377674 Chong et al. Apr 2002 B1
6377807 Iparrea et al. Apr 2002 B1
6411632 Lindgren et al. Jun 2002 B2
6424832 Britt et al. Jul 2002 B1
6434127 Ha Aug 2002 B1
6453174 Cunningham et al. Sep 2002 B1
6463055 Lupien et al. Oct 2002 B1
6493551 Wang et al. Dec 2002 B1
6505046 Baker Jan 2003 B1
6512926 Henry-Labordere Jan 2003 B1
6515997 Feltner et al. Feb 2003 B1
6519242 Emery et al. Feb 2003 B1
6519468 Donovan et al. Feb 2003 B1
6529524 Liao et al. Mar 2003 B1
6535746 Yu et al. Mar 2003 B1
6539077 Ranalli et al. Mar 2003 B1
6560216 McNiff et al. May 2003 B1
6560456 Lohtia et al. May 2003 B1
6574481 Rathnasabapathy et al. Jun 2003 B1
6577723 Mooney Jun 2003 B1
6594258 Larson et al. Jul 2003 B1
6611516 Pirkola et al. Aug 2003 B1
6615037 Bharatia et al. Sep 2003 B1
6625461 Bertacchi Sep 2003 B1
6643511 Rune et al. Nov 2003 B1
6662017 McCann et al. Dec 2003 B2
6683881 Mijares et al. Jan 2004 B1
6684073 Joss et al. Jan 2004 B1
6697620 Lamb et al. Feb 2004 B1
6731926 Link, II et al. May 2004 B1
6738636 Lielbriedis May 2004 B2
6745041 Allison et al. Jun 2004 B2
6748057 Ranalli et al. Jun 2004 B2
6795701 Baker et al. Sep 2004 B1
6801781 Provost et al. Oct 2004 B1
6819932 Allison et al. Nov 2004 B2
6826397 Vasa Nov 2004 B1
6836477 West, Jr. et al. Dec 2004 B1
6850768 Foll Feb 2005 B2
6865191 Bengtsson et al. Mar 2005 B1
6873849 de la Red et al. Mar 2005 B2
6885872 McCann et al. Apr 2005 B2
6912389 Bright et al. Jun 2005 B2
6917612 Foti et al. Jul 2005 B2
6950441 Kaczmarczyk et al. Sep 2005 B1
6993038 McCann Jan 2006 B2
7035239 McCann et al. Apr 2006 B2
7039037 Wang et al. May 2006 B2
7043002 Delaney et al. May 2006 B2
7079524 Bantukul et al. Jul 2006 B2
7079853 Rathnasabapathy et al. Jul 2006 B2
7085260 Karaul et al. Aug 2006 B2
7092505 Allison et al. Aug 2006 B2
7113800 Linkola Sep 2006 B2
7145875 Allison et al. Dec 2006 B2
7181194 McCann et al. Feb 2007 B2
7190959 Palmer et al. Mar 2007 B2
7221952 Cho et al. May 2007 B2
7257401 Dizdarevic et al. Aug 2007 B1
7274683 Segal Sep 2007 B2
7286839 McCann et al. Oct 2007 B2
7366530 McCann et al. Apr 2008 B2
7397773 Qu et al. Jul 2008 B2
7551608 Roy Jun 2009 B1
7746864 Asawa et al. Jun 2010 B1
20010006897 Kang et al. Jul 2001 A1
20010029182 McCann et al. Oct 2001 A1
20010030957 McCann et al. Oct 2001 A1
20010040957 McCann et al. Nov 2001 A1
20010046856 McCann Nov 2001 A1
20020132636 Stockhusen Sep 2002 A1
20020147845 Sanchez-Herrero et al. Oct 2002 A1
20020173320 Aitken et al. Nov 2002 A1
20020176382 Madour et al. Nov 2002 A1
20030003930 Allison et al. Jan 2003 A1
20030007482 Khello et al. Jan 2003 A1
20030016684 Prasad et al. Jan 2003 A1
20030026289 Mukherjee et al. Feb 2003 A1
20030032432 Red et al. Feb 2003 A1
20030054844 Anvekar et al. Mar 2003 A1
20030061234 Ali et al. Mar 2003 A1
20030065788 Salomaki Apr 2003 A1
20030081754 Esparza et al. May 2003 A1
20030109271 Lewis et al. Jun 2003 A1
20030128693 Segal Jul 2003 A1
20030157938 Haase et al. Aug 2003 A1
20030193967 Fenton et al. Oct 2003 A1
20030227899 McCann Dec 2003 A1
20040076126 Qu et al. Apr 2004 A1
20040081206 Allison et al. Apr 2004 A1
20040082332 McCann et al. Apr 2004 A1
20040087300 Lewis May 2004 A1
20040125925 Marsot Jul 2004 A1
20040142707 Midkiff et al. Jul 2004 A1
20040198351 Knotts Oct 2004 A1
20040202187 Kelly et al. Oct 2004 A1
20040219935 McCann et al. Nov 2004 A1
20040246965 Westman et al. Dec 2004 A1
20040264674 Delaney et al. Dec 2004 A1
20050003838 McCann et al. Jan 2005 A1
20050119017 Lovell, Jr. et al. Jun 2005 A1
20050238048 Delaney et al. Oct 2005 A1
20050286531 Tuohino et al. Dec 2005 A1
20060034256 Addagatla et al. Feb 2006 A1
20060067338 Hua et al. Mar 2006 A1
20060098621 Plata Andres et al. May 2006 A1
20060136557 Schaedler et al. Jun 2006 A1
20060281492 Jiang Dec 2006 A1
20070061397 Gregorat et al. Mar 2007 A1
20070066326 Agarwal et al. Mar 2007 A1
20070104184 Ku et al. May 2007 A1
20070121879 McGary et al. May 2007 A1
20070203909 Marathe Aug 2007 A1
20070207802 Palmer et al. Sep 2007 A1
20070286379 Wiatrowski et al. Dec 2007 A1
20080019356 Marsico Jan 2008 A1
20080130856 Ku et al. Jun 2008 A1
20080248820 Lohtia Oct 2008 A1
20080311917 Marathe et al. Dec 2008 A1
20090043704 Bantukul et al. Feb 2009 A1
20090103707 McGary et al. Apr 2009 A1
20090227276 Agarwal et al. Sep 2009 A1
Foreign Referenced Citations (38)
Number Date Country
0 512 962 Nov 1992 EP
0 788 283 Aug 1997 EP
0 936 825 Aug 1999 EP
0 944 276 Sep 1999 EP
1 558 004 Jul 2005 EP
1 742 452 Jan 2007 EP
1 950 942 Jul 2008 EP
10-2004-0107271 Dec 2004 KR
WO 9512292 May 1995 WO
WO 9611557 Apr 1996 WO
WO 9733441 Sep 1997 WO
WO 9818269 Apr 1998 WO
WO 9856195 Dec 1998 WO
WO 9911087 Mar 1999 WO
WO 9957926 Nov 1999 WO
WO 0016583 Mar 2000 WO
WO 0060821 Oct 2000 WO
WO 0147297 Jun 2001 WO
WO 0148981 Jul 2001 WO
WO 0154444 Jul 2001 WO
WO 02060192 Aug 2002 WO
WO 03005664 Jan 2003 WO
WO 03021982 Mar 2003 WO
WO 03105382 Dec 2003 WO
WO 2004006534 Jan 2004 WO
WO 20040087686 Jan 2004 WO
WO 2004075507 Sep 2004 WO
WO 2004102345 Nov 2004 WO
WO 2005002311 Jan 2005 WO
WO 2005013538 Feb 2005 WO
WO 2006072473 Jul 2006 WO
WO 2007045991 Apr 2007 WO
WO 2007092205 Aug 2007 WO
WO 2007095379 Aug 2007 WO
WO 2007146257 Dec 2007 WO
WO 2008011101 Jan 2008 WO
WO 2008157213 Dec 2008 WO
WO 2009023573 Feb 2009 WO
Related Publications (1)
Number Date Country
20070133574 A1 Jun 2007 US