SYSTEM AND METHOD OF CONTROLLING DISCOVERY OF A CALL-CONTROL SERVER IN A PACKET DATA NETWORK
PRIORITY STATEMENT UNDER 35 U.S.C. § 119(e) & 37 C.F.R. § 1.78
This nonprovisional application claims priority based upon the prior U.S. provisional patent application entitled, "Method of Provisioning a Gatekeeper for Use in a General Packet Radio Service (GPRS) Network", application number 60/153, 191 , filed September 10, 1999, in the names of David Sugirtharaj, Hung Tran, and Suhail Hasan.
BACKGROUND OF THE INVENTION
Technical Field of the Invention
This invention relates to telecommunication systems and, more particularly, to a system and method of controlling discovery of a call-control server when a mobile terminal places a Voice-Over-Internet-Protocol (VOIP) call within a packet data network.
Description of Related Art
When a mobile terminal places a VOIP call within an existing packet data network such as a General Packet Radio Service (GPRS) network, Universal Mobile Telecommunication System (UMTS) network, or Code Division Multiple Access
(CDMA) network, the mobile terminal and the network perform a gatekeeper discovery procedure in order to locate an available gatekeeper to perform call control functions for the mobile terminal. The mobile terminal sends a gatekeeper request message to a Gateway GPRS Service Node (GGSN) which then multicasts the request to all gatekeepers that are accessible over the Internet. In CDMA, this role would be played by a Packet Data Service Node (PDSN). Essentially, any gatekeeper in the world can answer the gatekeeper request message and take over the call control functionality.
Sometimes the gatekeeper discovery procedure results in the choice of a gatekeeper that is not optimal, and this may lead to inconsistent service behavior
towards the terminal entity. For example, the responding gatekeeper may be outside the Public Land Mobile Network (PLMN), and as a result, the gatekeeper may not be able to supply the same quality of service provided by PLMN gatekeepers.
In order to overcome the disadvantage of existing solutions, it would be advantageous to have a system and method of controlling the gatekeeper discovery procedure in a way that ensures that quality of service is maintained. The present invention provides such a system and method.
SUMMARY OF THE INVENTION In one aspect, the present invention is a network in which an H.323 gatekeeper discovery message, or a Session Initiation Protocol (SIP) server discovery message are directed to a preferred gatekeeper/server. The network includes a mobile terminal for generating the gatekeeper discovery message, and a service node within the operator's network for receiving the gatekeeper discovery message and directing the message to the preferred gatekeeper. The service node includes a Server Discovery Agent (SDA) comprising a lookup table comprising a list of preferred gatekeepers, and means for selecting the preferred gatekeeper from the list and directing the gatekeeper discovery message to the selected preferred gatekeeper. The SDA may also include signaling means for receiving a confirmation message from the preferred gatekeeper, a timer for measuring a maximum time period for receiving the confirmation message, and means for selecting another gatekeeper from the list if the timer expires before the confirmation message is received. Alternatively, the SDA may multicast the gatekeeper discovery message to a plurality of gatekeepers if the timer expires before the confirmation message is received. In another aspect, the present invention is a service node for directing a gatekeeper discovery message from a mobile terminal to a preferred gatekeeper. The service node includes a switching system for receiving the gatekeeper discovery message from the mobile terminal and directing the message to the preferred gatekeeper, the switching system including a connection for the mobile terminal and a connection for one or more preferred gatekeepers. The service node also includes an SDA connected to the switching system. The SDA includes a lookup table
comprising a list of preferred gatekeepers, and means for selecting the preferred gatekeeper from the list and directing the gatekeeper discovery message to the selected preferred gatekeeper.
In yet another aspect, the present invention is a method of directing a gatekeeper discovery message from a mobile terminal to a preferred gatekeeper. The method is performed in a service node in a telecommunications network and includes the steps of receiving the gatekeeper discovery message in a switching system, and intercepting the message with an SDA connected to the switching system, the SDA including a lookup table comprising a list of preferred gatekeepers. This is followed by selecting the preferred gatekeeper from the list, and directing the message to the selected preferred gatekeeper.
In still another aspect, the present invention is a method of directing a gatekeeper discovery message from a mobile terminal to a preferred gatekeeper in a network containing a plurality of mobile terminals, a service node, and a plurality of gatekeepers. The method begins by sending the gatekeeper discovery message from the mobile terminal to the service node. The message comprises a plurality of packets, and each packet includes a header with a Time-to-Live (TTL) field specifying how many routers the packet can pass through before being dropped. The message is intercepted with an SDA connected to the service node. The SDA includes a TTL Modifier that modifies the TTL field to a value that limits the propagation of the message to gatekeepers in a predefined area. This is followed by multicasting the message with the modified TTL field over the network to a plurality of gatekeepers within the predefined area, and receiving, by the mobile terminal, a confirmation message from a responding gatekeeper, the confirmation message including an address for the responding gatekeeper.
In yet another aspect, the present invention is a method of directing a gatekeeper discovery message from a mobile terminal to a preferred gatekeeper. The method is performed in a service node in a telecommunications network, and begins by receiving the gatekeeper discovery message in a switching system. The message comprises a plurality of packets, and each packet includes a header with a TTL field specifying how many routers the packet can pass through before being dropped. This
is followed by intercepting the message with an SDA connected to the switching system. The SDA includes a TTL Modifier for modifying the TTL field to a value that limits the propagation of the message to gatekeepers in a predefined area. The message is then multicasted with the modified TTL field over the network to a plurality of gatekeepers within the predefined area.
BRIEF DESCRIPTION OF THE DRAWINGS
The invention will be better understood and its numerous objects and advantages will become more apparent to those skilled in the art by reference to the following drawings, in conjunction with the accompanying specification, in which:
FIG. 1 (Prior Art) is a message flow diagram illustrating the flow of messages in the existing gatekeeper discovery procedure in a GPRS network;
FIG. 2 is a message flow diagram illustrating the flow of messages in a first embodiment of the gatekeeper discovery procedure of the present invention; FIG. 3 is a message flow diagram illustrating the flow of messages in a second embodiment of the gatekeeper discovery procedure of the present invention;
FIG. 4 is a message flow diagram illustrating the flow of messages in a third embodiment of the gatekeeper discovery procedure of the present invention; and
FIG. 5 is a simplified block diagram of a Gateway GPRS Service Node (GGSN) implemented with a Server Discovery Agent (SDA) in the system of the present invention.
DETAILED DESCRIPTION OF EMBODIMENTS
The present invention is a system and method of controlling SIP server or gatekeeper discovery when a mobile terminal places a VOIP call within a
GPRS/UMTS/CDMA network. The invention is applicable to any wireless access network, but is described in terms of a GPRS network. In the case of GPRS and H.323, the system ensures consistent service behavior by choosing a gatekeeper during the gatekeeper discovery procedure that either belongs to the GPRS network operator or some other sub-network with whom the GPRS network operator has an agreement.
The invention is applicable to both the International Telecommunications Union-
Telecommunications Standardization Sector (ITU-T) H.323 protocol and the Internet Engineering Task Force (LETF) Session Initiation Protocol (SIP). In the H.323 environment, the invention ensures that subscribers in a GPRS Public Land Mobile Network (PLMN) always go through a PLMN gatekeeper for the purposes of Registration, Admission, and Status (RAS) signaling, Q.931 call signaling, and H.245 control channel routing. Since the gatekeeper plays a fundamental role in servicing calls, specifying bandwidth, and quality of service (QoS) provisioning, choosing a PLMN gatekeeper enables the PLMN operator to retain full control of all calls in the PLMN. To this end, the present invention creates a Server Discovery Agent (SDA) in the GGSN (the gateway between the GPRS network and outside networks). The SDA intercepts the Gatekeeper Request Query (GRQ) multicast message from the client (mobile terminal) and finds a gatekeeper in a more consistent, deterministic manner to ensure service quality toward the terminal. In H.323, the SDA assists with the location of a gatekeeper, while in SIP, the SDA assists in locating a SIP proxy server.
Additionally, the description herein refers to a Call State Control Function
(CSCF). The CSCF is a Third Generation Internet Protocol (3GIP) call control protocol that incorporates both H.323 gatekeepers and SIP proxy servers. The present invention ensures that only a preferred gatekeeper such as a PLMN-owned gatekeeper, SIP server, or CSCF is the one that provides call control services to the terminal. Most operators, if they could choose to go to a particular gatekeeper, would keep all the call control within their network, in order to provide their users with consistently high quality of service. By keeping the call control within their own network, several advantages are realized. There are fewer hops, more control, and simplified timing issues. In addition, the operator can scale the network gatekeepers for expected or desired traffic loads that are allocated to VOIP services versus other services.
FIG. 1 is a message flow diagram illustrating the flow of messages in the existing gatekeeper discovery procedure in a GPRS network. The network includes a mobile terminal which is shown as an H.323 client 11, a GGSN 12, an Internet Service Provider (ISP) 13 symbolizing routing over the Internet, and a Gatekeeper 14.
The mobile terminal sends a gatekeeper discovery message such as a Gatekeeper
Request Query (GRQ) 15 in a multicast format to the GGSN 12 which acts as a switching system to broadcast the discovery message to gatekeepers worldwide. The GGSN multicasts the GRQ over the Internet at 16 where it can be received by any gatekeeper. A responding Gatekeeper 14 unicasts a Gatekeeper Confirm (GCF) message 17 to the mobile terminal. The mobile terminal then unicasts a Registration
Request Query (RRQ) 18 to the responding Gatekeeper, and call setup is completed normally. As previously noted, the responding gatekeeper may be outside the Public Land Mobile Network (PLMN), and as a result, the gatekeeper may not be able to supply the same quality of service provided by PLMN gatekeepers. FIG. 2 is a message flow diagram illustrating the flow of messages in a first embodiment of the gatekeeper discovery procedure of the present invention. The network includes a mobile terminal which is shown as an H.323 client 21, although the terminal may also be a SIP-compliant end terminal. A GGSN 22 is modified to include a Server Discovery Agent (SDA) 23 and a list 28 of preferred gatekeepers. The network also includes an ISP 13 symbolizing routing over the Internet, and a
Preferred Gatekeeper 24. A new binary counter, N-gk 55 (see FIG. 5), is implemented as part of the Packet Data Protocol (PDP) Context stored in the GGSN. The N-gk counter can only have the values of 0 and 1, and the initial value is 0. When N-gk is 0, the SDA filters all mobile-originated packets whose IP address is 224.0.1.41 (for H.323) and whose port number is 1718.
During the PDP Context Activation process, a gatekeeper discovery message such as a GRQ multicast message 25 is sent from the mobile terminal 21 to the GGSN 22 which acts as a switching system to direct the message to one or more gatekeepers. The message is intercepted in the GGSN by the SDA 23. The SDA checks the gatekeeper identifier string in the GRQ message. The mobile terminal can utilize the identifier string to specify a preferred gatekeeper or a preferred group of gatekeepers. If a preferred gatekeeper or group of gatekeepers is identified, the GGSN sends the GRQ message to the identified gatekeeper. If the identifier is null, however, the process takes the following steps. The SDA checks the list of preferred gatekeepers and selects one to perform the call control functions. The preferred gatekeeper may be one within the terminal's
own network or some other preferred gatekeeper that is connected to the terminal's ISP. The SDA constructs a Gatekeeper Confirm (GCF) message 26 and inserts the IP addess of the preferred gatekeeper 24 in the rasAddress field. The N-gk counter is incremented to 1 , and all filtering is stopped for that PDP Context, thus ensuring better throughput. The SDA then sends the unicast GCF message 26 back to the terminal with the IP address of the selected Preferred Gatekeeper 24. The terminal then sends a Registration Request Query (RRQ) message 27 directly to the Preferred Gatekeeper, and call setup is completed normally. When the call is completed, the SDA changes the N-gk counter back to 0. Generally, non-PLMN CSCFs are not included on the SDA's list of gatekeepers, and therefore, a PLMN CSCF is chosen as the Preferred Gatekeeper. This prevents the terminal from registering with non-PLMN gatekeepers unless there is an agreement between the PLMN operator and another network operator. The scope of preferred gatekeepers is variable, and may be determined by individual operator preferences. A PLMN gatekeeper is only one example of a preferred gatekeeper. The
SDA's list may be a statically administered list, or may be dynamically maintained by having gatekeepers periodically register with the agent, or register when they become available.
An Update Server List (USL) message 29 may be exchanged between CSCF gatekeepers and the SDA for this purpose. At a minimum, the USL message includes an IP address for the gatekeeper, the protocol supported by the gatekeeper such as SIP or H.323, capabilities/services of the gatekeeper, and some type of PLMN operator identifier (such as the gatekeeper identifier string in the H.323 GRQ message) to validate the gatekeeper's home domain. In this manner, only CSCF gatekeepers within the GGSN' s home domain can add record entries to the SDA. The preferred approach is for the SDA to have a list of IP addresses of preferred call-control servers owned by the PLMN, and indicating whether each server is a SIP server or H.323 gatekeeper.
The SDA can perform load balancing by varying which gatekeeper is chosen from the list according to any suitable algorithm such as a simple round robin procedure. The gatekeeper may provide in the USL message, an indication of how many calls per second the gatekeeper can handle, and the number that are currently
being handled. Alternatively, if the capacity of a particular gatekeeper exceeds a predetermined value such as 80 percent, the gatekeeper can include an alarm indication that it is becoming congested. The SDA can then consider these factors in its determination of a preferred gatekeeper. FIG. 3 is a message flow diagram illustrating the flow of messages in a second embodiment of the gatekeeper discovery procedure of the present invention. The network includes the mobile terminal which is shown as an H.323 client 21, although the terminal may also be a SEP-compliant end terminal. The GGSN 22 is modified to include the SDA 23 and a TTL Modifier 30 which changes the value of the Time-to- Live (TTL) field in the IP datagram header to a specified value. The network also includes an ISP 13 symbolizing routing over the Internet, and a PLMN Gatekeeper 31.
The discovery process starts when the terminal sends a GRQ message 32 to the
GGSN 22. In the GGSN, the SDA intercepts the message and utilizes the TTL modifier to modify the TTL value. The GRQ message is multicast from the GGSN over the Gi interface at 33, but the TTL field 34 is modified in order to limit the propagation of the multicast message to gatekeepers within a definable area such as the operator's PLMN. The TTL value represents how many hops each packet in the message is allowed to take before the packet is dropped (i.e., how many routers the packet is allowed to pass through). A typical default TTL value is 32 hops. Each time a multicast packet passes a router, its TTL value is decremented. When the TTL value reaches zero (0), the packet is dropped. Therefore, by reducing the TTL value, the packet is limited to passing through a smaller number of routers.
When the GRQ message 32 is initially sent from the terminal, the TTL value could be set at the default value, or could be set at any other value selected at the application level. Since the application does not know the location of the terminal at that time, the TTL value could be widely variable.
With proper control of the TTL value, the propagation of the multicast message can be limited to the particular network in which the terminal is operating. Since the terminal is mobile, the terminal does not know where it is. The GGSN, however, is a fixed entity in the network, and it knows the surrounding sub-networks and where potential gatekeepers might be. Therefore, within each GGSN, the TTL can be
adjusted to limit the multicast propagation to cover only a certain area. For example, a GGSN near the border of an ISP's network may set the TTL to a value of only one or two hops, and as a result, packets will only propagate one or two routers away. A GGSN near the center of the ISP's network, on the other hand, may set a much larger TTL value.
When a PLMN Gatekeeper 31 receives the GRQ message 33, it responds by unicasting a GCF message 35 to the mobile terminal 21. The terminal then sends an RRQ message 36 directly to the PLMN Gatekeeper, and call setup is completed normally. The N-gk counter is also utilized in this embodiment, and the SDA changes the N-gk counter back to 0 when the call is completed.
This embodiment allows a plurality of gatekeepers in a controlled area to respond to the terminal rather than assigning a preferred gatekeeper as in the first embodiment. Further control may be incorporated to pool the accessible gatekeepers and load-share between them. In fact, limiting the multicast propagation by adjusting the TTL implements an automatic load-sharing function since the least busy gatekeeper in the area is most likely to respond to the GRQ message. Additionally, a calculation can be made of the number of hops between the GGSN and a preferred gatekeeper, and the TTL value is then set to that number. Then, the multicast message will never go beyond the preferred gatekeeper. If there are many gatekeepers in the network within the range of the TTL, the system performs an automatic load sharing function between them.
FIG. 4 is a message flow diagram illustrating the flow of messages in a third embodiment of the gatekeeper discovery procedure of the present invention. The network includes the mobile terminal which is shown as an H.323 client 21, although the terminal may also be a SIP-compliant end terminal. The GGSN 22 is modified to include the SDA 23 which includes the preferred gatekeeper list 28 and a timer 37 which measures a predetermined time period in which a gatekeeper confirmation message must be received by the SDA. The network also includes an ISP 13 symbolizing routing over the Internet, and a PLMN Gatekeeper 31. The discovery process starts when the terminal sends a GRQ message 41 to the
GGSN 22. In the GGSN, the SDA intercepts the message, selects a preferred PLMN
gatekeeper, and starts the timer 37 when the GRQ message 42 is sent to the selected PLMN Gatekeeper 31. Similar to the first embodiment, the GRQ message in this embodiment is unicast from the GGSN to the preferred gatekeeper such as the PLMN Gatekeeper 31. The PLMN Gatekeeper responds by unicasting a GCF message 43 to the mobile terminal 21. The PLMN Gatekeeper also unicasts a GCF message 44 to the GGSN/SDA. The terminal then sends an RRQ message 45 directly to the PLMN Gatekeeper, and call setup is completed normally. The N-gk counter is also utilized in this embodiment, and the SDA changes the N-gk counter back to 0 when the call is completed. To preclude service being dropped in the event the preferred PLMN gatekeeper does not respond to the unicast GRQ message, the SDA puts a time limit 46 on the GRQ message. If the timer expires without receiving a GCF message, the SDA may unicast the message to another gatekeeper. Alternatively, the SDA may propagate the original multicast GRQ message, recognizing that its own network may be having problems.
FIG. 5 is a simplified block diagram of a GGSN 22 implemented with an SDA 23 in the system of the present invention. The SDA is shown to communicate with either a CSCF H.323 Gatekeeper 51 or a CSCF SIP Server 52. The SDA may be incorporated on the defined Gm interface. When the N-gk counter 53 is equal to 0, a routing table 54 in the GGSN routes any mobile-originated PDP message with a destination address of 224.0.1.41 to the H.323 Gatekeeper 51, while any mobile- originated PDP message with a destination address of 224.0.1.75 is routed to the SIP Server 52. The SDA also includes the preferred gatekeeper list 55 which is implemented as a lookup table in the SDA. It is thus believed that the operation and construction of the present invention will be apparent from the foregoing description. While the method, apparatus and system shown and described has been characterized as being preferred, it will be readily apparent that various changes and modifications could be made therein without departing from the scope of the invention as defined in the following claims.