Embodiments of the present disclosure include methods, computer readable media, and systems for routing calls and/or messages in communication networks. One method embodiment includes receiving a request to a Home Location Register (HLR) for a number for mobile user equipment (UE), receiving a status of the mobile user equipment to the HLR, and using the HLR to process an availability of the mobile user UE, based on the status.
Embodiments of the present disclosure and features thereof can be performed by software, firmware, hardware, application modules, and the like. These embodiments can use instructions resident on and/or executable by circuits such as Application Specific Integrated Circuits (ASICs), devices, systems, or networks shown herein or otherwise.
The embodiments of the present disclosure are not limited to any particular operating environment or to instructions written in any particular programming language. Software, firmware, and/or processing modules, suitable for carrying out embodiments of the present disclosure, can be resident on one or more devices in one or more locations.
Wireless networks 100 include one or more mobile switching centers (MSCs). For example,
A MSC 112/118 is a telephone switch used for wireless and mobility support. A MSC 112/118 performs various functions, including mobility management, call handoffs, call admission, call control, resource allocation, and so forth. A call and/or other data can be relayed from the MSC 112/118 to base stations 108 and vice-versa. This relay can be via a wireless communication interface to the mobile device 105 according to various interface protocol standards, e.g., according to an american national standards institute (ANSI), a global systems for mobile (GSM), or other standards interface, etc.
In the embodiment of
A SMSC is used to provide the actual routing to the user equipment device 105, to which the communication is directed, i.e. the called number. The network 100 illustrated in
In various embodiments, an MSC, e.g., 112 and 118, can also serve as a service switching point (SSP). A SSP directs requests for communication and/or application services, e.g., “service requests,” through the network 100. For example, a service request can be sent from a mobile device 105, or a service application located elsewhere on the network, e.g., a Parlay application. The SSP's function embodied within the GMSC 112 and SMSC 118 will execute program instructions to receive, process and appropriately route the service request, e.g., to another wireless/wireline and/or service application. When a service request is received, the SSP opens a dialogue with a service control point (SCP) 117 embodied within another media platform, e.g., a service control gateway (SCG) or service capability server (SCS), and exchanges protocol messages, e.g., embedded within SS7 protocol messages, with the SCP 117.
For example, the SCP 117 can receive a service request from a mobile device 105 or wireline device, e.g., through the PSTN 110, via the SMSC 118 or GMSC 112. The SCP 117 can then instantiate a program, e.g., a service logic program (SLP), to handle a subsequent message exchange with the SCP 117.
The network 100 illustrated in
The HLR 114 and the other physical components of the network 100 can include access to processor and memory resources, as the same are known and understood in the art. Such memory resources can include instructions, e.g., program instructions, executable by the processor to handle a message exchange and call routing.
In various embodiments of the present disclosure, and as described in greater detail below in connection with
As mentioned earlier the GSM 3GPP includes standards which have defined a message called Provide Subscriber Information (PSI) as part of a so termed “Optimized Routing” feature. Such a message may be used in a Customized Applications for Mobile Enhanced Logic (CAMEL) standard for GSM networks and can be implemented in networks such as network 100 illustrated in
Thus, implementing a GSM 3GPP defined PSI feature involves modifying various network components including GMSCs, HLRs, and SMCs, among other network components. Modifying even fewer network components while further increasing the cost effectiveness and efficiency created by avoiding routing calls to unavailable subscribers would be beneficial to network providers/operators and mobile subscribers. For example, an operator network, e.g., network 100 may include several GMSCs 112 that are supported by a single HLR 114. According to various embodiments described herein, process logic, e.g., executable instructions are provided to the HLR 114 such that the HLR 114 can process the results of the reply PSI message directly on the HLR 114. Such an implementation may be further cost effective and/or more efficient to call routing since implementing this capability can be achieved by involving updates to HLR 114 without having to update the several GMSCs 112 supported thereby.
The network 200 includes a HLR 214 and a SMSC/VLR 228 that can perform processing to determine the status of a user equipment 205 and/or to route a call to user equipment 205. In this embodiment, the SMSC/VLR 228 includes a VLR integrated with the SMSC, however, embodiments are not so limited, e.g., the SMSC and VLR can be separate as shown in
In the embodiment illustrated in
In various embodiments, the HLR 214 executes instructions to process and determine whether the subscriber 205 is available based on the PSI response 225 from the SMSC/VLR 228. If the subscriber 205 is available the HLR 214 executes instructions to process the PSI information rather than forwarding this information to the GMSC 212 for processing. In such embodiments, the HLR 214 executes instructions to then transmit a message (MSG) 227, e.g., a Provide Roaming Number (PRN) request message, to the SMSC/VLR 228. That is, the HLR 214 executes instructions to initiate the PRN message from the HLR 214 to the SMSC/VLR 228. According to various embodiments the HLR 214 can then receive a PRN response from the SMSC/VLR 228 and can provide the temporary number (MSRN) contained therein to the GMSC 212 in a SRI response 223 as per GSM standards, e.g., GSM Mobile Application Part (MAP) standards.
In cases in which the HLR 214 determines that the subscriber 205 is currently busy or unavailable based on the PSI response 225 from the SMSC/VLR 228, the HLR 214 can execute instructions to provide a Call Forwarding Number (CFN), if one is available, to the GMSC 212 in the SRI response 223 from the HLR 214. The GMSC 212 can then route the call to the number provided by the HLR 214 in the SRI response 223 while remaining unaware of the PSI processing that has been performed by the HLR 214. As discussed herein, the additional processing, e.g., determining the availability of the subscriber 205, initiating a PRN request, etc., performed by the HLR 214, is different than that currently provided according to GSM 3GPP standard protocol.
In various embodiments, the HLR 214 is configured, e.g., includes executable instructions, to determine if the subscriber 205 and/or the SMSC/VLR 228 is in a foreign network. In such embodiments, the HLR 214 can execute instructions, e.g., program instructions, to perform the additional processing when the subscriber 205 and/or the SMSC/VLR 228 is in a different network than the HLR 214. In some embodiments, the HLR 214 determines whether the SMSC/VLR 228 is in a foreign network and then executes instructions to perform the additional processing, e.g., transmitting the PSI 225, transmitting a PRN, etc., only if the SMSC/VLR 228 is in a foreign network.
Since the GMSC 212 remains unaware of the PSI processing performed by the HLR 214, modification of one or more GMSCs 212 associated with the HLR 214 can be avoided. Implementing hardware, software, and/or firmware changes to the HLR 214 to allow it to perform the additional PSI processing, may be less cost and resource intensive than the initial effort with implementing the GSM 3GPP standard defining the PSI message feature since implementation of the present embodiments can be performed without having to implement changes to both the HLR 214 and GMSC 212. Again, in some instances, a single HLR may serve multiple GMSCs. In such instances, it can be more efficient and/or cost effective to modify the single HLR rather than the HLR and the several GMSCs.
In the call flow illustrated in
The SMSC/VLR 318 responds with the status of the subscriber in a PSI acknowledge (ACK) 358 to the HLR 314. The information contained in the PSI ACK 358, e.g., whether the subscriber is available or not, is forwarded for processing by the GMSC 312 from the HLR 314 in a SRI ACK 359. That is, the HLR 314 does not modify its processing based on the contents of the PSI ACK 358. The GMSC 312 then processes the result of the SRI ACK 359 to determine if the subscriber is in a busy or unavailable state. If the subscriber is in an available state, then the call set up can continue with the GMSC 312 sending a second SRI request 362 (without the suppress-T-CSI parameter) such that the HLR 314 transmits a PRN (as opposed to a PSI) request 363 to the SMSC/VLR 318. The SMSC/VLR 318 transmits a temporary number (MSRN) to the HLR 314 in a PRN ACK 364. The HLR 314 then sends the temporary number contained in the PRN ACK 364 to the GMSC 312 in the SRI ACK 366. Once again, in this example, the HLR does not modify its processing as it forwards the MSRN to the GMSC 312. The GMSC 312 then uses the MSRN to route the call to the SMSC/VLR 318 as call setup continues 368 according to GSM standards processing.
As illustrated in the call flow diagram of
In various embodiments, and as shown in the call flow of
Since the HLR 414 determines that the subscriber is available in this embodiment (based on the PSI ACK 458), the HLR 414 communicates a PRN request 462 to the SMSC/VLR 418. That is, instructions can be executed such that the HLR 414 itself issues the PRN request 462. The SMSC/VLR 418 can process the PRN request 462 according to GSM standards and can provide a temporary number for the subscriber, e.g., a MSRN, in the PRN ACK 464. The call flow continues with the HLR 414 being configured to provide the temporary number for the subscriber in the SRI ACK 466 sent to the GMSC 412. The call setup can then continue as per GSM standards with the GMSC 412 using the MSRN to route the call to the subscriber via the SMSC 418 as shown at 468.
If the HLR 414 determines that the subscriber is unavailable or busy after receiving the PSI ACK 458, then instructions can be executed to determine, by using the HLR 414, appropriate numbers for those cases. For instance, the HLR 414 can check to determine a call forwarding number (CFN) is available for the specific case, e.g., to forward the call to a third party such as a voicemail or attendant. If a CFN is available, then the number corresponding to the CFN can be included in the SRI ACK 466 from the HLR 414 to the GMSC 412 and GSM standards processing can continue as the GMSC 412 can route the call to the appropriate number.
As shown at block 520, the method can include sending an inquiry from the HLR for a status of the user equipment. The inquiry can be associated with the status of the user equipment as related to a current SMSC, i.e., whether the user equipment currently has a SMSC and/or whether the currently serving SMSC supports certain GSM standard features such as a PSI message. The inquiry can also be associated with whether a user equipment, which is currently served by a SMSC that does support PSI messages, is available to take a call, unavailable to take a call, or busy.
As shown at block 530, the method can include receiving the status of the user equipment to the HLR. The status can be received in the form of a message from a SMSC, e.g., a PSI acknowledge response as shown in
As described herein, various embodiments of the present disclosure can reduce the amount of components impacted in a GSM network implementing a GSM 3GPP standard defining the PSI message feature since implementation of the present embodiments can be performed without having to implement changes to both the HLR 214 and GMSC 212. For example, according to various embodiments, an HLR can determine whether a mobile subscriber is currently served by a SMSC that supports PSI messages. The HLR can then initiate a PRN request in response to a PSI acknowledge without the information in the PSI acknowledge being sent back to the GMSC for processing. Avoiding the transmission of the PSI response to the GMSC can reduce/eliminate the need to modify the GMSC to process the PSI response. Additionally, the various embodiments may improve the network cost effectiveness and efficiency by reducing and/or preventing calls from being routed to subscribers having unavailable or busy status. As noted, routing calls to subscribers having an unavailable or a busy status may be particularly costly when the GMSC and subscriber and/or SMSC are located in separate networks. Various embodiments of the present disclosure include an HLR which is configured to determine whether the SMSC is in a foreign network, and to perform additional PSI processing, e.g., PSI processing on the HLR to determine the status of the subscriber, initiating a PRN request, etc., only when the SMSC is in a foreign network.
Although specific embodiments have been illustrated and described herein, those of ordinary skill in the art will appreciate that an arrangement calculated to achieve the same techniques can be substituted for the specific embodiments shown. This disclosure is intended to cover all adaptations or variations of various embodiments of the present disclosure.
It is to be understood that the above description has been made in an illustrative fashion, and not a restrictive one. Combination of the above embodiments, and other embodiments not specifically described herein will be apparent to those of skill in the art upon reviewing the above description.
The scope of the various embodiments of the present disclosure includes other applications in which the above structures and methods are used. Therefore, the scope of various embodiments of the present disclosure should be determined with reference to the appended claims, along with the full range of equivalents to which such claims are entitled.
In the foregoing Detailed Description, various features are grouped together in a single embodiment for the purpose of streamlining the disclosure. This method of disclosure is not to be interpreted as reflecting an intention that the embodiments of the present disclosure require more features than are expressly recited in each claim.
Rather, as the following claims reflect, inventive subject matter lies in less than all features of a single disclosed embodiment. Thus, the following claims are hereby incorporated into the Detailed Description, with each claim standing on its own as a separate embodiment.