Abstract:
The subject matter described herein includes methods, systems, and computer readable media for providing foreign routing address information to a telecommunications network gateway. According to one aspect, the method includes, at a call signaling message routing node in a first telecommunications network, intercepting a call setup message that includes a called party number identifier and is directed towards a network gateway connected to at least one foreign telecommunications network. The method also includes accessing a foreign routing information database using an ENUM formatted query message to obtain foreign routing address information associated with the at least one foreign telecommunications network, modifying the call setup message to include the address information, and routing the modified call setup message towards the network gateway.

Description:
PRIORITY CLAIM 
     This application claims the benefit of U.S. Provisional Patent Application Ser. No. 61/243,014, filed Sep. 16, 2009; the disclosure of which is incorporated herein by reference in its entirety. 
    
    
     TECHNICAL FIELD 
     The subject matter described herein relates to network gateways and obtaining routing address information associated with a foreign telecommunications network. More particularly, the subject matter described herein relates to methods, systems, and computer readable media for providing foreign routing address information to a telecommunications network gateway. 
     BACKGROUND 
     Number portability gives telephone service subscribers the ability to change service providers without changing their directory numbers. Accordingly, service provider networks, such as carrier telecommunications networks and hub provider networks, are configured to route calls to called party devices whose telephone number has be ported to another network. The ported from network may include a network element (e.g., a gateway element) that maintains number portability data, such as a local routing numbers (LRN), that is associated with a switch device that is servicing the ported called party number in the ported to network. The number portability information is forwarded to the ported to network in order for a call session involving the called party device to be established. In many cases, however, the established call session is still trunked through the original network to the ported to network. Similarly, subsequent signaling messages associated with the established call session may also be hairpinned via the original ported from network as well. As a consequence, call setup times are increased and network resources are being unnecessarily allocated in the original network to establish a call session with a former called party subscriber. 
     Accordingly, there exists a need for improved methods, systems, and computer readable media for providing foreign routing address information to a telecommunications network gateway. 
     SUMMARY 
     The subject matter described herein includes methods, systems, and computer readable media for providing foreign routing address information to a telecommunications network gateway. In one embodiment, the method includes, at a call signaling message routing node in a first telecommunications network, intercepting a call setup message that includes a called party number identifier and is directed towards a network gateway connected to at least one foreign telecommunications network. The method also includes accessing a foreign routing information database using an E.164 number mapping (ENUM) formatted query message to obtain foreign routing address information associated with the at least one foreign telecommunications network, modifying the call setup message to include the address information, and routing the modified call setup message towards the network gateway. 
     The subject matter described herein for providing foreign routing address information to a telecommunications network gateway may be implemented in hardware in combination with software and/or firmware. As such, the terms “function” or “module” as used herein refer to hardware in combination with software and/or firmware for implementing the feature being described. In one exemplary implementation, the subject matter described herein may be implemented using a non-transitory computer readable medium having stored thereon computer executable instructions that when executed by the processor of a computer control the computer to perform steps. Exemplary computer readable media suitable for implementing the subject matter described herein include non-transitory computer-readable media, such as disk memory devices, chip memory devices, programmable logic devices, and application specific integrated circuits. In addition, a computer readable medium that implements the subject matter described herein may be located on a single device or computing platform or may be distributed across multiple devices 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 network diagram illustrating an exemplary system for providing foreign routing address information to a network gateway according to an embodiment of the subject matter described herein; 
         FIG. 2  is a flow chart illustrating an exemplary method providing foreign routing address information to a network gateway according to an embodiment of the subject matter described herein; 
         FIG. 3  is an exemplary call flow diagram for using an ENUM query to obtain number portability information according to an embodiment of the subject matter described herein; 
         FIG. 4  is an exemplary call flow diagram for using a DIAMETER query to obtain number portability information according to an embodiment of the subject matter described herein; 
         FIG. 5  is an exemplary call flow diagram for using an ENUM query to obtain least cost routing information according to an embodiment of the subject matter described herein; and 
         FIG. 6  is an exemplary call flow diagram for using ENUM queries to obtain both number portability information and least cost routing information according to an embodiment of the subject matter described herein. 
     
    
    
     DETAILED DESCRIPTION 
       FIG. 1  depicts an exemplary telecommunications network  100  that includes at least one call signaling message routing node (e.g., a signal transfer point (STP) or a DIAMETER signaling router (DSR)  106 ) (hereinafter, “STP  106 ”) that is provisioned with a triggerless service broker module (TSBM)  116 . In one embodiment, network  100  may include an entire carrier network or a hub provider network. Likewise, TSBM  116  may be a software application that is executed by a processor or CPU in STP  106  that enables STP  106  to intercept call signaling messages and request foreign routing address information associated with a called party number (CdPN) contained in an intercepted message from one or more servers (e.g., servers  107 - 109 ) in network  100 . TSBM  116  may also be configured to modify the original call signaling message with the requested foreign routing address information and provide modified call signaling message to a network gateway  110  that is linked to one or more foreign telecommunications networks  111  and  112 . In one embodiment, gateway  110  may includes an international gateway, which may comprise a tandem switching office, a soft switch, a media gateway controller (MGC), or a gateway mobile switching center (GMSC) configured to route calls to one or more international telecommunications networks. Namely, gateway  110  may be provided with foreign routing address information that can be used to efficiently route calls originating in network  100  and destined for foreign telecommunications networks (e.g., networks, carriers, and hub providers that are distinct from telecommunications network  100 ), such as a first foreign telecommunications network  111  and a second foreign telecommunications network  112 . As used herein, a foreign telecommunications network includes any telecommunications network that is distinct and separate from network  100 . For example, a foreign telecommunications network may include a telecommunications network based in a country that is different than the country in which network  100  is based. Also, a foreign telecommunications network may be based in the same country or state as network  100 , but is instead managed and/or operated by a separate and distinct carrier provider or hub provider. 
     An exemplary method  200  in which TSBM  116  provides the foreign routing address information to gateway  110  is described by  FIG. 2  in conjunction with the depicted system of  FIG. 1 . In block  202  of  FIG. 2 , a call setup message directed toward a network gateway is intercepted. In one embodiment, STP  106  intercepts an ISUP IAM call signaling message sent from end office  104  (e.g., a service switching point (SSP) or like network element) and directed towards gateway  110 . For example, end office  104  first receives an off-hook signal from a calling device  102  that indicates (i.e., via dialed numbers) that calling device  102  is requesting a call session (e.g., an international call) with destination device  114 . In one embodiment, calling device  102  and destination device  114  may each be a landline phone, a mobile phone, a SIP phone, or like device that can initiate or receive a call. Although  FIG. 1  depicts calling device  102  and end office  104  as being separate from network  100 , calling device  102  and end office  104  may be part of network  100  without departing from the scope of the present subject matter (e.g., network  100  may be a carrier network instead of a hub provider network). 
     Upon receiving the indication from calling device  102 , end office  104  generates a call signaling message (e.g., an ISUP IAM) that includes the called party number associated with destination device  114 . End office  104  may recognize that destination device  114  is located in a foreign network and may therefore send the call signaling message to gateway  110 . While in transit towards gateway  110 , the original call signaling message is intercepted by STP  106 . 
     In block  204 , a query message for requesting foreign routing address information is generated. In one embodiment, TSBM  116  in STP  106  extracts the called party number in the call signaling message and generates a query message to be sent to at least one server that contains foreign routing address information associated with the called party number in the original call signaling message. Depending on the embodiment, the query message may include a TCAP message, an E.164 number mapping standard (ENUM) message, a DIAMETER message, or the like. 
     In block  206 , the query message is sent to the foreign routing address server requesting foreign address information associated with the called party number in the intercepted call signaling message. Foreign routing address information may include foreign number portability information, such as an LRN of a switch device in a foreign network. The foreign routing address information may also include least cost routing (LCR) information (e.g., routing number information, switch identifier information, switch address information, carrier identification information, service profile identifier (SPID) information, etc.) pertaining to a switch device in a foreign network. In one embodiment, LCR information may include addressing data that does not include switch-related information. For example, a gateway may be configured, after a certain time (e.g., time of day, day of week, etc.), to route all calls to a specific carrier network using a carrier identifier that is not specific to a particular switch or called party number. 
     In one embodiment, STP  106  is communicatively coupled to a plurality of servers located in network  100 , such as an ENUM-based NP server  107 , a DIAMETER-NP server  108 , and an ENUM-based LCR server  109 . In one embodiment, TSBM  116  sends an ENUM query message to ENUM-based NP server  107  to request an LRN of a switch in a foreign network (see  FIG. 3 ). In another embodiment, TSBM  116  sends a DIAMETER query message to DIAMETER-based NP server  108  to request an LRN of a switch in a foreign network (see  FIG. 4 ). In yet another embodiment, TSBM  116  sends an ENUM query message to an ENUM-based LCR server to request a routing number based of a switch in a foreign network in accordance with least cost routing parameters (see  FIG. 5 ). In yet another embodiment, TSBM  116  sends a TCAP query message to an LNP server to request an LRN of a switch in a foreign network. In one embodiment, the query message may be sent to a local foreign routing address information database  126  located within STP  106 . Specifically, the query message may be an internal signaling message and is not sent toward external servers  107 - 109 . Thus, local database  126  may contain number portability data and least cost routing data that is associated with a switch device servicing called party number associated with a foreign network (e.g., foreign networks  111 - 112 ) 
     Returning to  FIG. 2 , a response message including foreign routing address information is received in block  208 . In one embodiment, TSBM  116  receives an ENUM response message containing the LRN of the foreign switch that is serving destination device  114 . In alternative embodiments, TSBM  116  is configured to receive ENUM and DIAMETER response messages containing the requested RN or LRN of foreign switches serving destination device  114 . Notably, these response messages contain foreign routing address information that is obtained from at least one database in servers  107 - 109 . For example, ENUM-based NP server  107  may include a local database  117  that contains number portability information that can be accessed using an ENUM query message. For example, the ENUM-based NP database  117  may be provisioned with number portability data (e.g., local routing numbers (LRNs)) that are respectively associated with a plurality of E.164 called party numbers. Thus, instead of providing a URI that corresponds to an E.164 telephone number when queried, database  117  may instead supply an LRN of a foreign switch device serving destination device  114 . In an alternate embodiment, database  117  may contain both URI and number portability information that is associated with E.164 telephone numbers. In this scenario, the ENUM query message generated by TSBM  116  may need to include a flag to indicate which of the two types of information is being requested. In an alternate embodiment, ENUM-based NP server  107  may simply receive the ENUM query message from TSBM  116  and provide both a URI and LRN in an ENUM response message. 
     Similarly, DIAMETER-based NP server  108  may include a local database  118  that contains number portability information that can be accessed using a DIAMETER query message. In one embodiment, DIAMETER-based NP server  108  may provide the requested number portability data and/or DIAMETER data in the manner set forth above with respect to ENUM-based NP server  107 . Likewise, ENUM-based LCR server  109  may include a local database  119  that contains least cost routing information that can be accessed using an ENUM query message. In one embodiment, DIAMETER-based NP server  108  may provide the requested LCR data and/or URI data in the manner not unlike ENUM-based NP server  107 . Although  FIG. 1  depicts databases  117 - 119  being local to servers  107 - 109 , each of databases  117 - 119  may be located external to servers  107 - 109 , respectively. 
     Returning to  FIG. 2 , the call setup message is modified in block  210 . In one embodiment, TSBM  116  extracts the foreign routing address information from the response message and modifies the ISUP IAM to include the routing address information along with the called party number. 
     In block  212 , the modified call setup message is routed towards the border gateway. In one embodiment, TSBM  116  sends the modified ISUP IAM message, which includes both the called party number and a RN, to gateway  110 . Notably, the ISUP IAM is sent to the same gateway that the original ISUP IAM was initially directed towards, but is now modified with foreign routing address information to be used for more efficient routing in a foreign network. 
     As indicated in the description of method  200  above, there are several different types of query and response messages that can be used by TSBM  116 . Similarly, there are several different types of routing address information servers and databases that may be accessed prior to routing an ISUP IAM to a foreign network via gateway  110 . Accordingly, select exemplary embodiments of the present subject matter are depicted in call flow diagrams set forth in  FIGS. 3-6 . 
     For example,  FIG. 3  depicts an exemplary call flow diagram of an ENUM based triggerless number portability service conducted by TSBM  116 . In one embodiment of the present subject matter, end office  104  receives a call indication from calling device  102  to establish a call with destination device  114 . As shown in  FIG. 1 , destination device  114  may be communicatively connected to and serviced by second foreign network  112 . In one embodiment, destination device  114  was formerly subscribed to network  111  (as indicated by the dashed line in  FIG. 1 ) but has since had its called party number ported from foreign network  111  to foreign network  112 . 
     Upon receiving the indication from user device  102 , end office (EO)  104  generates an ISDN user part (ISUP) initial address message (IAM) that includes the called party number (CdPN), or some other called party identifier. The ISUP IAM is launched from end office  104  toward network gateway  110  which is connected to the foreign network  111  (i.e., the ported from network that previously serviced destination device  114 ). 
     Instead of routing the ISUP IAM to gateway  110  with the called party number, STP  106  may be configured to modify the ISUP IAM so that gateway  110  can forward the ISUP IAM to the proper ported to network (e.g., network  112 ) while avoiding the ported from network (e.g., network  111 ). In order to obtain the number portability information needed by gateway  110 , STP  106  may send a query message to access an appropriate number portability database. In one embodiment, TSBM  116  in STP  106  generates and sends an ENUM query message containing the CdPN to ENUM server  107 . The ENUM query message may be used by TSBM  116  to request number portability information associated with the CdPN contained in the original ISUP IAM. In one embodiment, ENUM-based NP server  107  may include an international ENUM-based NP server configured to receive ENUM query messages and contain number portability information that is associated with one or more foreign gateways. 
     Upon receiving the ENUM NP query message, ENUM BASED ENUM-based NP server  107  uses the CdPN identifier to search ENUM-based NP database  117  in order to retrieve a local routing number (LRN) corresponding to a telephone switch (not shown) that is responsible for routing calls to the ported CdPN of destination device  114 . After obtaining the LRN number from ENUM-based NP database  117 , ENUM-based NP server  107  sends an ENUM response message containing the LRN to TSBM  116 . 
     Upon receiving the ENUM response message, TSBM  116  modifies the ISUP IAM to include the acquired LRN information. In one embodiment, the digits that TSBM  116  inserts in the modified ISUP IAM may be steering or override type of data, and need not just be an LRN. TSBM  116  then routes the modified ISUP IAM to network gateway  110 . After receiving the modified ISUP IAM, network gateway  110  extracts the LRN and uses the LRN information to route the call. Namely, gateway  110  uses the extracted information to determine that the modified ISUP IAM is to be routed to network  112 . For example, the modified ISUP IAM may contain an LRN associated with a telephone switch located in network  112 . Notably, the present subject matter enables the modified ISUP IAM to be directed to the destination device  114  in network  112  while completely avoiding the ported from network  111 . Thus, network  111  is bypassed and does not need to allocate network resources to process the call intended for ported destination device  114 . 
     In one embodiment, TSBM  116  is configured to perform a uniform resource identifier (URI)-to-valid routing number/steering digit format translation. Namely, additional logic can be provided by the STP/TSBM to enhance the capability based on the return result of the ENUM dip. For example, TSBM  116  may formulate an ENUM query for requesting NP information associated with destination device  114 . TSBM  116  may then receive a response message to the ENUM query that includes NP information (e.g., data other than an LRN) associated with destination device  114 . TSBM  116  is configured to extract the NP information from the ENUM response message and to re-format the NP information (e.g., routing number, etc.) as necessary so that at least some of the NP information may be included in the modified ISUP IAM. For example, ENUM server  107  may include the routing number/ported-to switch or gateway routing information in a URI format. TSBM  116  may be configured to extract the URI information from the ENUM response message and parse the URI information in order to obtain and/or derive a valid routing number or LRN. TSBM  116  then modifies the ISUP IAM to include the valid routing number or LRN. TSBM  116  subsequently routes the modified ISUP IAM to gateway  110  or tandem switching office. 
       FIG. 4  depicts an exemplary call flow diagram of a DIAMETER based triggerless number portability service conducted by TSBM  116 . In one embodiment of the present subject matter, end office  104  receives a call indication from calling device  102  to establish a call with destination device  114 . Upon receiving the indication from calling device  102 , end office  104  generates an ISUP IAM that includes the called party number, or some other called party identifier. The ISUP IAM is launched from end office  104  toward network gateway  110  which is connected to the foreign network  111  (i.e., the ported from network that previously serviced destination device  114 ). 
     Instead of routing the ISUP IAM to gateway  110  with the called party number, STP  106  may be configured to modify the ISUP IAM so that gateway  110  can forward the ISUP IAM to the proper ported to network (e.g., network  112 ) while avoiding the ported from network (e.g., network  111 ). In order to obtain the number portability information needed by gateway  110 , STP  106  may send a query message to access an appropriate number portability database. In one embodiment, TSBM  116  in STP  106  generates and sends a DIAMETER-based query message containing the CdPN to DIAMETER-based NP server  108 . Although  FIG. 4  depicts using a DIAMETER Location-Information-Request (LIR) query message, any other DIAMETER query message may be used to request number portability information. 
     The DIAMETER LIR query message may be used by TSBM  116  to request number portability information associated with the CdPN contained in the original ISUP IAM. In one embodiment, DIAMETER-based NP server  108  may include an international DIAMETER-based NP server is configured to receive DIAMETER query messages and contains number portability information that is associated with one or more foreign gateways. 
     Upon receiving the DIAMETER LIR query message, DIAMETER-based NP server  108  uses the CdPN identifier to search DIAMETER-NP database  118  in order to retrieve a LRN corresponding to a telephone switch (not shown) that is responsible for routing calls to the ported CdPN of destination device  114 . After obtaining the LRN number from DIAMETER-based NP database  118 , DIAMETER-based NP server  108  sends a DIAMETER-based response message containing the LRN to TSBM  116 . Although  FIG. 4  depicts using a DIAMETER Location-Information-Answer (LIA) response message, any other DIAMETER response message may be used to provide number portability information to STP  106 . 
     Upon receiving the DIAMETER LIA response message, TSBM  116  modifies the ISUP IAM to include the acquired LRN information. TSBM  116  then routes the modified ISUP IAM to network gateway  110 . After receiving the modified ISUP IAM, network gateway  110  extracts the LRN and uses the LRN information to route the call. Namely, gateway  110  uses the extracted information to determine that the modified ISUP IAM is to be routed to network  112 . For example, the modified ISUP IAM may contain an LRN associated with a telephone switch located in network  112 . 
     In one embodiment, TSBM  116  is configured to perform a uniform resource identifier (URI)-to-valid routing number/steering digit format translation as explained above. In one embodiment, additional logic can be provided by the STP/TSBM to enhance the capability based on the return result of the DIAMETER server/database dip. For example, TSBM  116  may formulate a DIAMETER query message to request NP information (e.g., URI information) associated with destination device  114 . Upon receiving the DIAMETER response message, TSBM  116  may be configured to extract the URI information and parse the URI information to obtain and/or derive a valid routing number or LRN. TSBM  116  then modifies the ISUP IAM to include the valid routing number or LRN. TSBM  116  subsequently routes the modified ISUP IAM to gateway  110 . 
       FIG. 5  depicts an exemplary call flow diagram of an ENUM based triggerless least cost routing (LCR) service conducted by TSBM  116 . In one embodiment of the present subject matter, end office  104  receives a call indication from calling device  102  to establish a call with destination device  114 . Upon receiving the indication from calling device  102 , end office  104  generates an ISUP IAM that includes the called party number, or some other called party identifier. The ISUP IAM is launched from end office  104  toward network gateway  110  which is connected to the foreign network  111  (i.e., a network that includes an inefficient or costly route to destination device  114 ). 
     Instead of routing the ISUP IAM to gateway  110  with the called party number, STP  106  may be configured to modify the ISUP IAM so that gateway  110  can forward the ISUP IAM to the efficient network (e.g., network  112 ) while avoiding the inefficient network (e.g., network  111 ). In order to obtain the LCR information needed by gateway  110 , STP  106  may send a query message to access an appropriate LCR database. In one embodiment, TSBM  116  in STP  106  generates and sends an ENUM-based query message containing the CdPN to ENUM server  108 . 
     The ENUM query message may be used by TSBM  116  to request LCR information associated with the CdPN contained in the original ISUP IAM. In one embodiment, ENUM-based NP server  108  may include an ENUM-BASED LCR server is configured to receive ENUM query messages and contains LCR information that is associated with one or more foreign gateways. 
     Upon receiving the ENUM query message, ENUM-based NP server  108  uses the CdPN identifier to search ENUM-based LCR database  118  in order to retrieve a RN corresponding to a telephone switch (not shown) that is responsible for routing calls to the CdPN of destination device  114 . After obtaining the RN from ENUM-based LCR database  118 , ENUM-based LCR server  108  sends an ENUM-based response message containing an RN associated with the called party number to TSBM  116 . 
     Upon receiving the ENUM response message, TSBM  116  modifies the ISUP IAM to include the acquired routing number information. TSBM  116  then routes the modified ISUP IAM to network gateway  110 . After receiving the modified ISUP IAM, network gateway  110  extracts the RN information and uses the RN information to route the call. Namely, gateway  110  determines that the modified ISUP IAM is to be routed to network  112 . For example, the modified ISUP IAM may contain an RN associated with a telephone switch located in network  112 . 
     In one embodiment, TSBM  116  is configured to perform a uniform resource identifier (URI)-to-valid routing number/steering digit format translation. Namely, additional logic can be provided by the STP/TSBM to enhance the capability based on the return result of the ENUM dip. For example, TSBM  116  may formulate an ENUM query for requesting LCR information associated with destination device  114 . TSBM  116  may then receive a response message to the ENUM query that includes LCR information (e.g., data indicating an optimal route or link) associated with destination device  114 . TSBM  116  is configured to extract the LCR information from the ENUM response message and to re-format the LCR information (e.g., routing number, etc.) as necessary so that at least some of the LCR information may be included in the modified ISUP IAM. For example, ENUM server  107  may include a routing number or gateway routing information in a URI format. TSBM  116  may be configured to extract the URI information from the ENUM response message and parse the URI information in order to obtain and/or derive a valid routing number. TSBM  116  then modifies the ISUP IAM to include the valid routing number. TSBM  116  subsequently routes the modified ISUP IAM to gateway  110  or tandem switching office. 
       FIG. 6  depicts an exemplary call flow diagram of an ENUM based triggerless number portability service combined with LCR service conducted by TSBM  116 . In one embodiment, end office  104  receives a call indication from calling device  102  to establish a call with destination device  114 . Upon receiving the indication from user device  102 , end office (EO)  104  generates an ISDN user part (ISUP) initial address message (IAM) that includes the called party number (CdPN), or some other called party identifier. The ISUP IAM is launched from end office  104  toward network gateway  110 , which is connected to the foreign network  111  (i.e., the ported from network that previously serviced destination device  114 ), and intercepted by STP  106 . Instead of routing the ISUP IAM to gateway  110  with the called party number, STP  106  may be configured to modify the ISUP IAM to include both number portability information and LCR information. For example, TSBM  116  may generate and send a first ENUM query message containing the CdPN to ENUM server  107  and a second ENUM query message containing the CdPN to ENUM-based LCR server  109 . In the manner explained above with regard to  FIGS. 3 and 5 , TSBM  106  may receive an a first ENUM response message containing an LRN from ENUM-based NP server  107  and a second ENUM response message containing a RN from ENUM-based LCR server  109 . 
     Upon receiving the ENUM response messages, TSBM  116  modifies the ISUP IAM to include both the acquired LRN information and LCR information (e.g., a RN). In one embodiment, the digits that TSBM  116  inserts in the modified ISUP IAM may be steering or override type of data, and need not just be an LRN. TSBM  116  then routes the modified ISUP IAM to network gateway  110 . After receiving the modified ISUP IAM, network gateway  110  extracts the LRN and RN and uses the extracted information to route the call. 
     In one embodiment, TSBM  116  is configured to perform a uniform resource identifier (URI)-to-valid routing number/steering digit format translation. Namely, additional logic can be provided by the STP/TSBM to enhance the capability based on the return result of the ENUM dips. 
     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.