This description relates telecommunications, and more particularly to enabling media gateway selection in a distributed mobile switching center environment based on one or more target base stations.
Conventional cellular telecommunications networks include mobile switching centers (MSCs) each operating to route calls between base stations that include radio equipment for serving one or more cells in the cellular network and other MSCs or public switched telephone networks (PSTNs). Conventional MSCs handle both bearer traffic for transporting user information (e.g., voice or other data in an integrated services digital network (ISDN)) and signaling traffic for establishing and controlling call connections and managing the cellular network. The MSC exchanges signaling information with other MSCs and with other networks (e.g., PSTNs) for purposes of call set up, handovers, and coordinating call routing. In addition, the MSC directs the operations of base stations that support radio communications with mobile devices in individual cells of the cellular network.
Distributed MSCs (e.g., as can be used with 3GPP, Release 4) perform the same general functions as a conventional MSC but include an MSC server for handling signaling traffic and multiple media gateways for handling bearer traffic. The MSC server includes the intelligence and complexity of the distributed MSC, and the media gateways are controlled by the MSC server. The media gateways can be geographically distributed, can connect to multiple base stations, and serve to route bearer traffic under control of the MSC server.
In one general aspect, a directory number is assigned in a distributed gateway mobile switching center (GMSC) environment in response to receiving a request for routing information from an originating node in a telecommunication network. The GMSC handles signaling in a geographical area for geographically distributed switching nodes, and the request for routing information is associated with a call to a mobile station. A location of the mobile station is determined, and a pool of directory numbers associated with a particular node is identified. The particular node is associated with a portion of the geographical area that includes the location. A directory number from the pool of directory numbers is assigned for use in connecting the call to the mobile station.
Implementations can include one or more of the following features. The directory number is sent in response to the request, and the call is routed to the particular node. The node is one of multiple nodes associated with one of the geographically distributed switching nodes. The directory number is assigned based in part on an originating location for the call. The pool of directory numbers includes a backup pool used in response to a primary pool of directory numbers being unavailable. The pool of directory numbers and the assigned directory number are roaming numbers and/or handover numbers.
In another general aspect, a telecommunications system includes a distributed mobile switching center and a memory storing at least a portion of a set of directory numbers for allocation by the distributed mobile switching center. The distributed mobile switching center includes multiple media gateways, each having multiple associated base stations, and the server is operable to handle signaling for the media gateways. The directory numbers stored in the memory are segmented into pools of directory numbers. Each pool of directory numbers is associated with a particular node under control of the distributed mobile switching center. The particular node is associated with only a portion of a service area for the distributed mobile switching center. Directory numbers are allocated based, at least in part, on a location of a mobile station to be allocated a directory number.
Implementations can include one or more of the following features. The signaling handled by the server relates to controlling bearer traffic handled by the media gateways. Bach media gateway provides switching services for bearer traffic in only a portion of the service area. Each pool of directory numbers is associated with a media gateway or a base station. A pool index is associated with each pool of directory numbers and the pool index is used to identify directory numbers included in each pool. The server allocates a directory number from a pool of directory numbers in response to a request to provide a roaming number or a handover number. An allocated directory number enables a requesting node to selectively route a call connection to a media gateway in a portion of the service area that includes the mobile station.
The details of one or more implementations are set forth in the accompanying drawings and the description below. Other features will be apparent from the description and drawings, and from the claims.
Like reference symbols in the various drawings indicate like elements.
The media gateways 115 can be geographically distributed such that each media gateway 115 is associated with a number of base stations and/or base station systems (BSSs) 125 that serve different geographical areas, although, for convenience, only one base station system for each media gateway 115 is illustrated in
One or more of the media gateways 115 interface with a gateway mobile switching center (GMSC) and/or an anchor MSC 130. The GMSC and/or anchor MSC 130 further interfaces with a PSTN 145. In some implementations, a PSTN 145 can also or alternatively interface directly with one or more media gateways 115.
When a call is placed from a telephone 135 in a fixed network to a mobile station 140 in a cellular network served by the distributed MSC 105, the PSTN 145 routes the call to a gateway MSC 130. The gateway MSC 130 can be a conventional MSC or a distributed MSC. In some cases, a PSTN 145 can perform some or all of the same functions as are described as being performed by the gateway MSC 130. The gateway MSC 130 sends signaling data (e.g., a send routing information. (SRI) message) in, for example, a GSM MAP message 150 to a home location register (HLR) 160 (e.g., to determine if the mobile station 140 is currently located in the cellular network, is located in a different cellular network, or is unavailable), which is periodically updated through registration messages received from the mobile station 140. When the HLR 160 receives the SRI message, it sends signaling data (e.g., a provide roaming number (PRN) GSM MAP message) to the serving MSC server 110 that is indicated in the HLR data stored for that mobile station. This serving MSC server 110 can be the same MSC as the Gateway MSC server.
The serving MSC server 110 allocates a mobile station roaming number (MSRN) from an MSRN pool 175 associated with the distributed MSC 105, and the allocated MSRN is returned to the HLR 160 in a PRN response message and to the gateway MSC 130 in an SRI response message. The gateway MSC 130 uses the MSRN to route the call to the distributed serving MSC 105 or, more specifically, to a media gateway 115 of the distributed serving MSC 105. The serving MSC server 110 also sends signaling data to a base station system 125(2) serving an area in which the mobile station 140 is located to page and establish a radio connection 155 with the mobile station 140 for carrying the call.
A similar situation arises in cases of an inter-exchange handover. In particular, when a call to a mobile station 140 is initially connected through a particular MSC, that MSC becomes an anchor MSC 130 for the call. The anchor MSC 130 can be a conventional MSC or a distributed MSC. If the mobile station subsequently roams out of the region served by the anchor MSC 130 before the call is disconnected, the anchor MSC 130 attempts to find another cellular network and corresponding MSC to which the anchor MSC 130 can handoff the call. Generally, the anchor MSC 130 can determine a need to perform a handoff based on signal strength measurements and can identify a potential target MSC for the handoff based on a cell in which the mobile station 140 is located. The anchor MSC 130 sends signaling data 150 to the target MSC (e.g., the distributed MSC 105, in this example) to confirm that the mobile station 140 is entering an area served by the distributed MSC 105 (e.g., based on signal strength measurements by the distributed MSC 105) and to obtain a handover number (HON), which is allocated by the MSC server 110 from an HON pool 175 in much the same way as the allocation of an MSRN.
Depending on the MSRN/HON that is allocated, the gateway or anchor MSC 130 can route the call to different media gateways 115 of the distributed MSC 105. Generally, the gateway or anchor MSC 130 routes calls based on predefined data stored or retrieved by the gateway or anchor MSC 130. For example, if the allocated MSRN/HON includes an NPA associated with the Dallas-based geographical area 165, the gateway or anchor MSC 130 may route the call through an inter-exchange carrier (IXC) network 180 (e.g., MCI or AT&T) to the first media gateway 115(1). The MSC server 110 directs the first media gateway 115(1) to route the call through an interconnection 120 to the second media gateway 115(2) and directs the second media gateway 115(2) to route the call to the base station system 125(2) to establish a connection to the mobile station 140. This routing scenario is unnecessarily expensive in terms of actual expenses and/or resource costs because the cellular provider generally has to pay long distance fees for use of the inter-exchange carrier network 180 and allocate limited interconnection facilities 120 to the call. If the allocated MSRN/HON includes an NPA associated with the Austin-based geographical area 170, the gateway or anchor MSC 130 may route the call to the second media gateway 115(2). The MSC server 110 directs the second media gateway 115(2) to route the call to the base station system 125(2) to establish a connection to the mobile station 140.
To effectively control which media gateway 115 to which the gateway or anchor MSC 130 routes calls, the MSC server 110 selectively allocates from the MSRN/HON pool 175 a directory number associated with a selected target media gateway 115 and/or a target base station system 125. In addition, the MSC server 110 can allocate a directory number based at least in part on an originating location of a call (e.g., a gateway or anchor MSC or a subscriber station from which the call originates). For purposes of this description, directory numbers include temporarily assigned numbers, such as MSRNs and HONs, in addition to more conventional telephone numbers that are assigned to subscribers on a relatively permanent basis. In some implementations, each media gateway 115, base station system 125, base station, or other node that serves only a portion of an overall geographical area served by the MSC server 110 has a corresponding MSRN/HON pool. Accordingly, when the MSC server 110 receives a PRN message from gateway or anchor MSC 130, the MSC server 110 determines where the mobile station 140 corresponding to the dialed directory number is located using, for example, location data stored in a visitor location register (VLR) of the distributed MSC 105 that is periodically updated by registration messages from the mobile station 140. The location data can identify an absolute location, a relative location, a general vicinity, and/or one or more nodes (e.g., media gateways 115, base station systems 125, or base stations) that serve an area in which the mobile station 140 is located. Based on the location, the MSC server 110 selects a MSRN or HON from an MSRN/HON pool that corresponds to the location and returns the selected MSRN or HON to the gateway or anchor MSC 130 in response to the PRN or handover request message.
The MSRN/HON pools for different locations or nodes can be stored as an overall set. The overall set can be segregated into individually accessible pools or the pool corresponding to each number can be determined by adding an index or pool number that identifies to which pool the number belongs. In some implementations, MSRN/HON pools can be associated with multiple locations or nodes (e.g., nodes that serve adjacent and/or related areas). In other words, some nodes can share an MSRN/HON pool. In addition, a system-wide pool (i.e., for an entire gateway MSC 115 or an entire distributed MSC 105) can be used for handling situations in. which none of the numbers in a local pool are available. In some implementations, a hierarchy of MSRN/HON pools can be provided. For example, some pools are associated with individual nodes, some pools are associated with groups of nodes, and one or more pools are not limited to a particular node or area. The less geographically specific pools (e.g., those that serve a group of nodes or are system-wide) can be used for handling overflow, for areas with lower demand, or for instances in which a location of the mobile station 140 cannot initially be determined.
As an example of using a selectively allocated MSRN or HON, when a call is placed to a mobile station 140 from a fixed telephone 135 connected to a PSTN 145, the PSTN 145 routes the call to a gateway MSC 130 based on the directory number dialed from the fixed telephone 135. The gateway MSC 130 sends an SRI message 150 to the HLR 160 corresponding to the dialed directory number. The HLR 160 determines that the mobile station 140 is located in an area served by a distributed MSC 105 and sends a PRN message to an MSC server 110 of the distributed MSC 105. The MSC server 110 retrieves location data for the mobile station 140 from a VLR (e.g., contained within or co-located with the MSC server 110).
Based on the retrieved location data, the MSC server 110 determines that the mobile station 140 is located in an area served by a particular base station system 125(2), which is associated with a second media gateway 115(2) of the distributed MSC 105. The MSC server 110 further identifies, from a set of MSRN pools 175, an MSRN pool assigned to the particular base station system 125(2) and selects an MSRN from the identified MSRN pool. In this example, the mobile station 140 is located in a local access and transport area in an Austin-based area and thus within the “512” area code. As a result, the selected MSRN is a directory number that includes the “512” area code. The selected MSRN is then returned to the gateway MSC 130 for use in routing the call from the fixed telephone 135. In particular, the gateway MSC 130 analyzes the selected MSRN to determine that it includes the “512” area code. Using this information along with predefined routing data stored at or accessed by the gateway MSC 130, the gateway MSC 130 knows that the call is to be routed to the second media gateway 115(2) and routes the call through a trunk between the gateway MSC 130 and the second media gateway 115(2). The second media gateway 115(2), under control of the MSC server 110, routes the call through the base station system 125(2) and over a radio interface 155 to the mobile station 140.
Although the foregoing example illustrates a situation in which a call is placed from a fixed telephone 135 to a mobile station 140 is in a visited network, the described techniques can be used in situations other than that illustrated by the example. For instance, the techniques are not limited to calls placed from a fixed telephone 135 but can be used for calls from another mobile station. Moreover, a similar process to the above example can be used when a handover of a call involving a mobile station 140 is performed from an anchor MSC 130. In particular, the anchor MSC 130 may receive an HON that is allocated based on a location of the mobile station 140 to enable the anchor MSC 130 to route the call to an appropriate media gateway 115(2).
The techniques can also be used when the mobile station 140 is within a home network. For example, the mobile station 140 can have an assigned directory number that includes a “972” area code and that is therefore associated with the first media gateway 115(1). When the mobile station 140 is “roaming” in an Austin-based geographical area 170, the mobile station 140 may technically be in its home network because it is in an area served by the same distributed MSC 105 as its home Dallas-based geographical area 165. However, in responding to an SRI message received by the HLR 160, the MSC server 110 can assign an MSRN from an MSRN pool associated with a base station system 125(2) serving an area where the mobile station 140 is located.
A determination is made as to whether a temporary directory number from the identified pool is available (220). If so, an available temporary directory number is selected from the identified pool (225). The temporary directory number can be selected at random or in accordance with a selection algorithm. If a temporary directory number is not available from the identified pool (e.g., all of the temporary directory numbers from the identified pool have been allocated for other mobile stations), a backup temporary directory number pool is identified (230), if such a backup pool is available. The backup pool can be, for example, a temporary directory number pool associated with one or more adjacent or nearby base stations or media gateways or with a media gateway associated with the location data. The backup pool can also be identified using a backup pool number or index corresponding to the base station point code.
A determination is made as to whether a temporary directory number from the identified backup pool is available (235). If so, a temporary directory number is selected from the identified backup pool (240). If a temporary directory number is not available from the identified backup pool, a determination is made as to whether a temporary directory number from a system-wide pool is available (245). If not, a connection cannot be established with the mobile station, and the process 200 ends. In such a case, a message can be sent to the calling or other party. If a temporary directory number is available from the system-wide pool, a temporary directory number is selected from the system-wide pool (250).
Some implementations may not include a backup pool and a system-wide pool. In addition, in some situations, it may not be possible to locate the mobile station and identify a temporary directory number pool if, for example, a pool number is not assigned to the base station point code for the serving base station, the mobile station needs to be paged to determine its location within the network (e.g., if the available location data is expired), or location data from the HLR or VLR is unusable. In such a case, a temporary directory number may be automatically selected, if available, from the system-wide pool (as indicated at 255). Furthermore, some base stations may not have a separate pool assigned, in which case the system-wide pool can be used.
Once a temporary directory number is selected, a response to the request for a temporary directory number is sent (260). The response includes the selected temporary directory number. As a result, a call connection can be established with the mobile station by routing the call in connection with the selected temporary directory number (265). In particular, the selected temporary directory number can enable efficient routing to a media gateway and/or a base station serving the mobile station. Among other things, the present invention avoids a potential unavailability of or a relative cost associated with the use of interconnections 120 and inter-exchange carriers 180 that may be needed if temporary directory numbers are regularly allocated on an MSC-wide basis.
The invention and all of the functional operations described in this specification can be implemented in digital electronic circuitry, or in computer software, firmware, or hardware, including the structural means disclosed in this specification and structural equivalents thereof, or in combinations of them. The invention can be implemented as one or more computer program products, i.e., one or more computer programs tangibly embodied in an information carrier, e.g., in a machine readable storage device or in a propagated signal, for execution by, or to control the operation of, data processing apparatus, e.g., a programmable processor, a computer, or multiple computers. A computer program (also known as a program, software, software application, or code) can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a stand alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program does not necessarily correspond to a file. A program can be stored in a portion of a file that holds other programs or data, in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more modules, sub programs, or portions of code). A computer program can be deployed to be executed on one computer or on multiple computers at one site or distributed across multiple sites and interconnected by a communication network.
The processes and logic flows described in this specification, including the method steps of the invention, can be performed by one or more programmable processors executing one or more computer programs to perform functions of the invention by operating on input data and generating output. The processes and logic flows can also be performed by, and apparatus of the invention can be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application specific integrated circuit).
Processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer. Generally, the processor will receive instructions and data from a read only memory or a random access memory or both. The essential elements of a computer are a processor for executing instructions and one or more memory devices for storing instructions and data. Generally, a computer will also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto optical disks, or optical disks. Information carriers suitable for embodying computer program instructions and data include all forms of non volatile memory, including by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices; magnetic disks, e.g., internal hard disks or removable disks; magneto optical disks; and CD ROM and DVD-ROM disks. The processor and the memory can be supplemented by, or incorporated in, special purpose logic circuitry.
To provide for interaction with a user, the invention can be implemented on a computer having a display device, e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor, for displaying information to the user and a keyboard and a pointing device, e.g., a mouse or a trackball, by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback, e.g., visual feedback, auditory feedback, or tactile feedback; and input from the user can be received in any form, including acoustic, speech, or tactile input.
The invention can be implemented in a computing system that includes a back-end component, e.g., as a data server, or that includes a middleware component, e.g., an application server, or that includes a front-end component, e.g., a client computer having a graphical user interface or a Web browser through which a user can interact with an implementation of the invention, or any combination of such back-end, middleware, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication, e.g., a communication network. Examples of communication networks include a local area network (“LAN”) and a wide area network (“WAN”), e.g., the Internet.
The computing system can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.
A number of implementations have been described. Nevertheless, it will be understood that various modifications may be made. Accordingly, other implementations are within the scope of the following claims.
This application is related to and claims the benefit of co-pending provisional application Ser. No. 60/564,041, filed Apr. 21, 2004, which is incorporated herein by reference.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/US05/13827 | 4/21/2005 | WO | 00 | 10/17/2006 |
Number | Date | Country | |
---|---|---|---|
60564041 | Apr 2004 | US |