Session initiation protocol (SIP) router

Information

  • Patent Grant
  • 10469541
  • Patent Number
    10,469,541
  • Date Filed
    Monday, September 12, 2016
    7 years ago
  • Date Issued
    Tuesday, November 5, 2019
    4 years ago
Abstract
Systems and methods for a Session Initiation Protocol (SIP) router are described. In one aspect, the SIP router receives a SIP INVITE for an incoming call to a target mobile subscriber. Responsive to receiving the SIP INVITE, the SIP router identifies, via a Send Routing Information for Short Message (SRI/SM) request to a Home Location Register, a first address of a serving switch in a circuit-switched mobile network; a mobile telephony device associated with the target mobile subscriber is currently location-updated on the serving switch. The SIP router maps the first address to a second address for the serving switch; the second address being a SIP address. Using the SIP address, the SIP router sends the received SIP INVITE to a SIP interface of the serving switch. The serving switch being configured to process the received SIP INVITE and the incoming call to the target mobile subscriber.
Description
BACKGROUND

The increasing use of data communication networks is creating an increased use of Voice over Internet Protocol (VoIP) calls between users. These VoIP calls often are routed among different types of data communication networks, such as the Internet, Local Area Networks (LANs), mobile communication networks, and so forth. Users of mobile networks may connect to the network through any number of different mobile switching centers. When routing calls to mobile device users in mobile networks, the system must locate the user's mobile device within the mobile network to properly communicate the call to the user.


Existing systems that attempt to route a VoIP call to a user in a mobile network often route the call through multiple mobile switching centers until the mobile device associated with the call recipient is located. This multiple routing of calls destined for a user in a mobile network is inefficient and costly due to the increased usage of network resources such as switches and voice ports. Therefore, it is desirable to provide more efficient systems and methods for routing VoIP calls to mobile device users in a mobile network.





BRIEF DESCRIPTION OF THE DRAWINGS

In the Figures, the left-most digit of a component reference number identifies the particular Figure in which the component first appears.



FIG. 1 shows an exemplary environment capable of implementing session initiation protocol SIP INVITE routing systems and methods, according to one embodiment.



FIG. 2 is a block diagram showing various components of an exemplary Session Initiation Protocol (SIP) router, according to one embodiment.



FIG. 3 shows an exemplary procedure for routing a SIP INVITE to a serving switch in a circuit-switched mobile network on which a target subscriber associated with a telephony device is currently registered, according to one embodiment.





DETAILED DESCRIPTION

Overview


The described systems and methods identify an appropriate serving switch for processing an incoming Global System for Mobile Communications (GSM) call directed to a subscriber. More specifically, and responsive to receiving a SIP INVITE associated with a GSM call, the systems and methods described herein send a Send Routing Information (SRI) for Short Message (SM) for receipt by a Home Location Register (HLR) to identify the appropriate serving switch in the mobile telecommunications network to process the incoming call. The appropriate serving switch is the center to which the subscriber's mobile device is currently location-updated in the mobile communication network. After identifying the appropriate mobile switching center, the systems and methods map the SIP address of the serving switch to an IP Address or Fully Qualified Domain Name (FQDN). The systems and methods then send the SIP INVITE directly to the mapped address for processing of the incoming call by the identified serving switch. In this manner, the described systems and methods avoid the routing of calls through multiple mobile switching centers, and thereby reduce the network resources necessary to handle VoIP calls in a mobile communication network.


Particular embodiments described herein communicate data using the Session Initiation Protocol (SIP). SIP supports the calling features of conventional telephone systems through a peer-to-peer protocol. SIP is not limited to voice-related applications—SIP is also useful as a general-purpose protocol for any type of multimedia communication session.


Although particular examples discussed herein relate to a SIP router, the systems and methods described herein are applicable to any type of data communication device, for example, a Breakout Gateway Control Function (BGCF) or a SIP proxy device that has been modified to implement the systems and methods described herein. The specific devices, components, systems and communication links discussed herein are provided for purposes of discussion and to provide an exemplary implementation of session initiation protocol routing systems and methods. The described systems and methods are applicable to any type of data received from any type of device in any operating environment.


Additionally, particular examples discussed herein relate to incoming VoIP calls. However, the present SIP router systems and methods can be applied to any type of circuit-switched (CS) call that a Mobile Switching Center (MSC) could process (e.g., GSM calls such as a CS video call, a CS data call, a CS voice call, etc.) that is communicated to (or communicated within) a mobile communication network.


An Exemplary System



FIG. 1 shows an exemplary environment 100 capable of implementing SIP router systems and methods described herein, according to one embodiment. Environment 100 includes a peer network 102 coupled to a session border controller 104. Peer network 102 includes any number of peer systems that communicate, for example, incoming voice calls and other types of calls to session border controller 104. Session border controller 104 controls the flow of information between peer network 102 and other systems and components shown in FIG. 1. For example, session border controller 104 may perform functions that manage quality of service, accept certain data streams and manage data security.


Session border controller 104 is operatively coupled to Session Initiation Protocol (SIP) router 106, media gateway(s) 108, and Media Gateway Controller Function(s) (MGCF(s))/call server component(s) 110. SIP router 106 performs various call routing (and data routing) functions, such as the functions described herein. For example, SIP router 106, responsive to receiving a SIP INVITE pertaining to an incoming GSM call (e.g., “incoming call”), efficiently identifies a serving switch (a respective MGCF/call server 110) to process an incoming call to a target subscriber device 112 in the mobile communication network, wherein the serving switch represents the switch where the target mobile subscriber is currently registered. In another example, SIP router 106 is capable of identifying a serving switch to process VoIP calls directed to a subscriber of a mobile device 112 coupled to a mobile communication network.


Media gateway(s) 108 performs the translations, conversions or other functions necessary to communicate digital media streams (e.g., VoIP streams, etc.) to formats used in a mobile communication network.


In particular implementations, the mobile communication network is a circuit-switching network, such as a Global System for Mobile Communications (GSM) network or Public Switched Telephone Network (PSTN). MGCF/call server 110 is SIP-enabled so the call server to communicate in the IMS domain. MGCF/call server 110 manages connections with multiple mobile devices 112 located within a particular geographic region proximate the respective MGCF/call server. Mobile devices 112 include, for example, cellular phones, smart phones, and/or other devices that include a software client to emulate a mobile phone. Although three mobile devices 112 are shown in FIG. 1, particular implementations may include any number of mobile devices coupled to MGCF(s)/call server(s) 110. The example of FIG. 1 illustrates a MGCF/call server 110 coupled to SIP router 106. In specific implementations, SIP router 106 is coupled to multiple MGCFs/call servers 110, each of which covers a particular geographic region


SIP router 106 is coupled to an Electronic Number Mapping (ENUM) database 114 and a Home Location Register (HLR) 116. ENUM database 114, for example, maps an E.164 address to a SIP URI utilizing Domain Name System (DNS) technology. E.164 defines a public telecommunication-numbering plan used in a PSTN and other data networks. SIP Uniform Resource Identifier (URI) is an addressing technique that defines a user's “SIP phone number”. A SIP URI has the format “sip:username@domain”, where “username” is associated with a particular user and “domain” identifies a particular domain name.


SIP router 106 uses information contained in ENUM database 114 to determine whether a particular incoming call (e.g., a voice call, etc.) is destined for a mobile communication network accessible to SIP router 106. Home location register 116 contains information related to the specific serving MGCF/call server address (e.g., a Global Title Address, etc.) for users/subscribers of the mobile communication network. A Global Title Address is the address used to communicate with an MGCF/call server in a SS7 network.


Although environment 100 shows various individual systems and components, any two or more of these systems and components can be combined into a single system or component. For example, ENUM database 114 and/or home location register 116 may be contained within SIP router 106 in particular embodiments.



FIG. 2 is a block diagram showing various components of exemplary SIP router 106, according to one embodiment. SIP router 106 includes one or more processors 202 operatively coupled to memory 204. Memory 204 includes program modules 206 and program data 208. Program modules 206 include, for example, communication module 210, interface(s) 212, SIP INVITE router module 214, and other program modules (not shown, such as an operating system, etc.). Processor 202 executes various computer program instructions in the program modules 206 to implement the functions described herein.


Communication module 210 allows SIP router 106 to communicate with other devices, components and systems, such as the devices, components and systems discussed above with respect to FIG. 1. Communication module 210 allows SIP router 106 to communicate using wired or wireless communication links utilizing any type of communication protocol. Interface(s) module 212 enable the router 106 to connect with other devices, components and systems. SIP INVITE router module 214, responsive to receiving a SIP INVITE associated with an incoming call (as shown in FIG. 1 or otherwise), sends a SRI/SM 216 for receipt by HLR 116. A respective SIP INVITE is shown as respective portion of other program data 218. SIP INVITE router module 214 receives from the HLR a response 220 to the SRI/SM request 216. The response indicates a serving MGCF/call server address (i.e., a respective one of the MGCF(s)/call server(s) 110 of FIG. 1). Responsive to receiving the response 220, module 214 utilizes the SIP interface address-mapping table 222 to identify the IP address or FQDN (224) that is mapped to the received serving switch address. Table 208 contains information to map a serving MGCF/call server address to an IP address or FQDN. SIP INVITE routing module 214 communicates the received SIP INVITE (received at operation 302) to the identified serving switch via the mapped IP address or FQDN. This implementation is very different from traditional processes to identify serving switches to process an incoming call wherein resources of at least two MGCFs/call servers are typically tied up to determine an address of the serving switch.


An Exemplary Procedure for Routing Data



FIG. 3 shows an exemplary procedure 300 for determining a serving switch (a respective MGCF/call server 110 of FIG. 1) to process an incoming call to a subscriber in a mobile communication network, according to one embodiment. At block 302, the SIP INVITE router receives a SIP INVITE message pertaining to a GSM call to a target subscriber on the mobile communication network. A GSM call includes but is not limited to a circuit-switched (CS) video call, a CS data call, a CS voice call, or any kind of CS call that a MGCF/call server could process. In one implementation, the call originated in a VoIP peer network 102 (FIG. 1) destined for a MSISDN in a mobile communication network. A MSISDN is a number uniquely identifying a subscription in a GSM or a UMTS mobile network.


In a particular embodiment, the SIP router uses information received from an ENUM database (e.g., ENUM database 114 in FIG. 1) to determine whether a particular incoming call is destined for a mobile network associated with the SIP router. For example, the SIP router queries the ENUM database to retrieve the service provider ID (SPID) that is used to route the VoIP call to its destination. In other embodiments, the determination of the destination mobile network for an incoming call is determined without use of an ENUM database, which can be omitted in this embodiment.


Procedure 300 continues at block 304, where the SIP INVITE router sends a query message for receipt by a home location register. Use of SRI/SM to route incoming calls by identifying a serving switch in a circuit-switched mobile network on which a target mobile subscriber is currently registered is novel. MAP_SEND_ROUTING_INFO_FOR_SM is part of the MAP (Mobile Application Part) Specification in 3GPP TS 09.02.


In this embodiment, procedure 300 does not use a “standard” SRI for voice to query the home location register. This “standard” SRI for voice invokes certain processing in the mobile switching center and in the home location register. This processing (e.g., determining call forwarding information) is not necessary for the implementation of procedure 300. System resources in the mobile switching center and the home location register are conserved using this approach. Instead of using “standard” SRI for voice, SRI-SM is used to query the home location register. This SRI-SM query causes the home location register to generate a response indicating the switch associated with the call destination, without the unnecessary call forwarding information and other details.


Referring again to FIG. 3, at block 306 and in response to the query message received from the SIP router (i.e., the SIP INVITE router), the home location register identifies an address of a serving MGCF/call server to process the received incoming call. The identified serving switch is the switch where the MSISDN of the target mobile subscriber is currently location update on. The appropriate mobile switching center to handle a particular call may change over time as the subscriber's mobile device moves to different geographic locations that are served by different mobile switching centers. Thus, the determination as to the appropriate mobile switching center is made upon receipt of each call to determine the current location of the user's mobile device.


At block 308, the home location register then responds to the SIP router's query by communicating the MGCF/call server address to the SIP router. At block 310, the SIP router receives the serving switch address from the home location register and maps the received MGCF/call server address to the IP address or FQDN associated with the incoming call using a SIP interface address-mapping table. In one implementation, the address-mapping table is a static table. As an example, MGCF/call server address 14044558018 is mapped to IP address 10.161.187.84. It could also be a FQDN like MSC1.networka.com. So if someone was calling at XXX-345-6789 and the SIP Router got a response from the SRI-SM with a MSC SCCP address of 14044558018 the sip router would match that address to IP 10.161.187.84 and send out a SIP INVITE message to URI sip:+13456789;npdi@10.161.187.84:5060;user=phone or if it was mapped it to a FQDN sip:+13456789;npdi@ MSC1.networka.com:5060;user=phone. At block 312, the SIP router uses the information contained in the routing tables to send the received SIP INVITE (block 302) to the identified serving switch so that the serving switch can process the call.


As discussed above, use of SRI-SM to identify the serving switch avoids the unnecessary use of mobile switching center and home location register resources. Additionally, the use of SRI-SM allows the existing mobile switching centers, home location registers and other components/systems to operate without modification. By having a single SIP-enabled mobile switching center (e.g., a respective MGCF/call server 110 in FIG. 1) perform the “standard” SRI message for an incoming call, the incoming call is handled by the single mobile switching center instead of being routed through multiple switching centers. The embodiment discussed above also eliminates the need for a separate gateway switch to process an incoming call.


Specific embodiments discussed herein receive communications from one or more peer networks. In alternate embodiments, the systems and procedures discussed herein are used to route communications between any number of devices in various environments. These alternate embodiments include mobile-to-mobile Inter-MSC Trunking (IMT) traffic (this is MSC to MSC traffic), mobile-to-PSTN communications, mobile-to-voicemail signaling, IP Multimedia Subsystem (IMS)-to-PSTN traffic, and IMS-to-GSM mobile communications. Other embodiments may use the systems and procedures discussed herein to communicate any type of communications between devices or components in any network environment.


CONCLUSION

Although the systems and methods for a SIP router have been described in language specific to structural features and/or methodological operations or actions, it is understood that the implementations defined in the appended claims are not necessarily limited to the specific features or actions described. Rather, the specific features and operations of routing data are disclosed as exemplary forms of implementing the claimed subject matter.

Claims
  • 1. A computer-implemented method for processing a call, the method comprising: receiving a SIP INVITE for an incoming call to a target mobile device;transmitting a Send Routing Information for Short Message (SRI/SM) request to a home location register (HLR) associated with a serving switch in a circuit-switched network, wherein the serving switch is associated with the target mobile device, andwherein the serving switch has a different address than the target mobile device;receiving, from the HLR, a Global Title (GT) Address that uniquely identifies the serving switch, wherein the HLR determines the GT address of the serving switch based on the transmitted SRI/SM request without communicating with the serving switch, and without determining call forwarding information;determining, based on the GT address of the serving switch, a second address of the serving switch; andsending, using the second address, the SIP INVITE to a SIP interface of the serving switch for processing the incoming call to the target mobile device, wherein the sending of the SIP INVITE to the serving switch for processing the incoming call is the first transmission to the serving switch associated with the incoming call.
  • 2. The method of claim 1 wherein the SIP INVITE is destined for termination in a circuit-switched mobile environment.
  • 3. The method of claim 1 wherein the incoming call is a packet-switched call that a Media Gateway Control Function (MGCF)/call server can process.
  • 4. The method of claim 1 wherein the second address is a Fully Qualified Domain Name (FQDN).
  • 5. The method of claim 1 wherein the second address is an IP address.
  • 6. The method of claim 1 wherein the GT Address is part of a Signalling Connection Control Part (SCCP) address, and wherein the method further comprises translating the GT address to an IP-address equivalent code that uniquely identifies the serving switch.
  • 7. A tangible computer-readable medium comprising computer-program instructions executable by a processor for performing operations comprising: receiving a SIP INVITE for an incoming call to a target mobile device;identifying a first address that uniquely identifies a serving switch in a circuit-switched network by: transmitting a Send Routing Information for Short Message (SRI/SM) request to a home location register (HLR) associated with the serving switch; andreceiving the first address from the HLR, wherein the HLR determines the first address of the serving switch based on the transmitted SRI/SM request without communicating with the serving switch, and without determining call forwarding information,wherein the first address is a Global Title (GT) Address,wherein the serving switch is associated with the target mobile device,wherein the target mobile device is currently location-updated on the serving switch, andwherein the serving switch has a different address than the target mobile device;determining, based on the first address of the serving switch, a second address of the serving switch; andsending, using the second address, the SIP INVITE to a SIP interface of the serving switch for processing the incoming call to the target mobile device, wherein the sending of the SIP INVITE to the serving switch for processing the incoming call is the first transmission to the serving switch associated with the incoming call.
  • 8. The tangible computer-readable medium of claim 7 wherein the SIP INVITE is destined for termination in a circuit-switched mobile environment.
  • 9. The tangible computer-readable medium of claim 7 herein the incoming call is a packet-switched call that a Media Gateway Control Function (MGCF)/call server can process.
  • 10. The tangible computer-readable medium of claim 7 wherein the second address is an IP address or a Fully Qualified Domain Name (FQDN).
  • 11. An apparatus comprising: a processor; anda memory coupled to the processor, the memory comprising computer-executable instructions that when executed by the processor performing operations including: receiving a SIP INVITE for an incoming call to a target mobile device;identifying a first address that uniquely identifies a serving switch in a circuit-switched network by:transmitting a Send Routing Information for Short Message (SRI/SM) request to a home location register (HLR) associated with the serving switch; andreceiving the first address from the HLR, wherein the HLR determines the first address of the serving switch based on the transmitted SRI/SM request without communicating with the serving switch, and without determining call forwarding information,wherein the first address is a Global Title (GT) Address,wherein the serving switch is associated with the target mobile device,wherein the target mobile device is currently location-updated on the serving switch, andwherein the serving switch has a different address than the target mobile device;determining, based on the first address of the serving switch, a second address of the serving switch; andsending, using the second address, the SIP INVITE to a SIP interface of the serving switch for processing the incoming call to the target mobile device, wherein the sending of the SIP INVITE to the serving switch for processing the incoming call is the first transmission to the serving switch associated with the incoming call.
  • 12. The apparatus of claim 11 wherein the SIP INVITE is destined for termination in a circuit-switched mobile environment.
  • 13. The apparatus of claim 11 herein the incoming call is a packet-switched call that a Media Gateway Control Function (MGCF)/call server can process.
  • 14. The apparatus of claim 11 wherein the second address is an IP address or a Fully Qualified Domain Name (FQDN).
CROSS-REFERENCES TO RELATED APPLICATIONS

This application is a continuation application of U.S. patent application Ser. No. 12/877,091, filed on Sep. 9, 2010, and entitled “SESSION INITIATION PROTOCOL (SIP) ROUTER,” now U.S. Pat. No. 9,444,854, which is hereby incorporated herein in its entirety by reference.

US Referenced Citations (96)
Number Name Date Kind
5838782 Lindquist Nov 1998 A
6078575 Dommety et al. Jun 2000 A
6181937 Joensuu Jan 2001 B1
6216005 Agrawal Apr 2001 B1
6222829 Karlsson Apr 2001 B1
6253072 Verdonk Jun 2001 B1
6327267 Valentine Dec 2001 B1
6408182 Davidson Jun 2002 B1
6757552 Garcia-Martin Jun 2004 B1
6963635 Jones Nov 2005 B1
7096023 Eikkula Aug 2006 B1
7450565 Suotula Nov 2008 B2
7502339 Pirkola Mar 2009 B1
7929683 Tran Apr 2011 B1
7941171 Vempati May 2011 B2
7945262 Elkarat May 2011 B2
7991394 Gonen Aug 2011 B2
8199727 Bienn Jun 2012 B1
8811954 Mahdi Aug 2014 B1
9444854 Piscopo Sep 2016 B2
20020024943 Karaul et al. Feb 2002 A1
20020068575 Agrawal Jun 2002 A1
20020183081 Elizondo Alvarez Dec 2002 A1
20030013464 Jean Henry-Labordere Jan 2003 A1
20030083078 Allison May 2003 A1
20030169768 Bienn Sep 2003 A1
20040180678 Smith Sep 2004 A1
20040185836 Pelaez Sep 2004 A1
20050002407 Shaheen Jan 2005 A1
20050003805 Zaffino Jan 2005 A1
20050014481 Chin Jan 2005 A1
20050070282 Hinz Mar 2005 A1
20050075106 Jiang Apr 2005 A1
20050192005 Blom Sep 2005 A1
20050192035 Jiang Sep 2005 A1
20060077957 Reddy Apr 2006 A1
20060079236 Del Pino Apr 2006 A1
20060092925 Svensson et al. May 2006 A1
20060142011 Kallio Jun 2006 A1
20060199597 Wright Sep 2006 A1
20060276226 Jiang Dec 2006 A1
20070049281 Chen Mar 2007 A1
20070060124 Kalavade Mar 2007 A1
20070149166 Turcotte Jun 2007 A1
20070153766 Bienn et al. Jul 2007 A1
20070184860 Jansson Aug 2007 A1
20070197213 Weintraub Aug 2007 A1
20070207784 Ewert Sep 2007 A1
20070233861 Cai Oct 2007 A1
20070254648 Zhang Nov 2007 A1
20070263599 Itzkovitz Nov 2007 A1
20070281718 Nooren Dec 2007 A1
20070291733 Doran Dec 2007 A1
20080039104 Gu Feb 2008 A1
20080064391 Cai et al. Mar 2008 A1
20080096597 Vempati Apr 2008 A1
20080117893 Witzel May 2008 A1
20080130663 Fridman Jun 2008 A1
20080144494 Casey Jun 2008 A1
20080144615 Casey Jun 2008 A1
20080153490 Lee et al. Jun 2008 A1
20080261565 Kunz Oct 2008 A1
20080280617 Aguilar et al. Nov 2008 A1
20080292074 Boni et al. Nov 2008 A1
20080309557 Mailaender Dec 2008 A1
20090036146 Lamba Feb 2009 A1
20090103520 Begall Apr 2009 A1
20090111489 Wilson Apr 2009 A1
20090129578 Zhou May 2009 A1
20090221310 Chen Sep 2009 A1
20100004006 Guo Jan 2010 A1
20100041379 Yu Feb 2010 A1
20100062751 Russell Mar 2010 A1
20100062807 Yao Mar 2010 A1
20100085937 Pressley Apr 2010 A1
20100098241 Laster Apr 2010 A1
20100128685 Jiang May 2010 A1
20100153246 D'Englere Jun 2010 A1
20100158201 Vijay Marathe Jun 2010 A1
20100190492 Jiang Jul 2010 A1
20100220667 Noldus Sep 2010 A1
20100222089 Russell Sep 2010 A1
20100250662 Agarwal Sep 2010 A1
20100272096 Witzel Oct 2010 A1
20100330960 Ravishankar Dec 2010 A1
20100330987 Lee Dec 2010 A1
20100331023 Cai Dec 2010 A1
20110021216 Pudney Jan 2011 A1
20110110298 Yi et al. May 2011 A1
20110134843 Noldus Jun 2011 A1
20110249666 Holbrook Oct 2011 A1
20110263247 Smelov Oct 2011 A1
20110302289 Shaikh Dec 2011 A1
20110310884 Arauz-Rosado Dec 2011 A1
20120088528 Zhong Apr 2012 A1
20120258743 Kurokawa Oct 2012 A1
Foreign Referenced Citations (4)
Number Date Country
1501720 Jun 2004 CN
101573996 Nov 2009 CN
2005104574 Nov 2005 WO
2008055913 May 2008 WO
Non-Patent Literature Citations (2)
Entry
European Patent Office, European Search Report, EP Patent Application 11823991, dated Feb. 20, 2014, 6 pages.
International Searching Authority, International Search Report, PCT Application PCT/US2011/050463, dated Jan. 4, 2012, 2 pages.
Related Publications (1)
Number Date Country
20170070544 A1 Mar 2017 US
Continuations (1)
Number Date Country
Parent 12877091 Sep 2010 US
Child 15263191 US