Method, system, and computer-readable medium for performing a speed check for an outbound subscriber roaming to a neighboring country

The method and system at the network gateway use geographic reference locations and the haversine formula to estimate transit time, addressing false positives in speed checks for subscribers roaming to neighboring countries, ensuring legitimate messages are validated to the home location register, thereby enhancing security and reliability in mobile communication networks.

JP7787909B2Active Publication Date: 2025-12-17ORACLE INT CORP
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2023569946
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2021-05-12
Filing Date
2022-04-26
Publication Date
2025-12-17
Estimated Expiration
2042-04-26

AI Technical Summary

Technical Problem

Current mobile communication networks fail to accurately perform speed checks for subscribers roaming to neighboring countries, leading to false positives due to incorrect distance calculations between neighboring countries, which results in legitimate messages being discarded.

Method used

Implement a method and system that utilize a network gateway to perform speed checks by determining geographic reference locations using cell identifiers and country codes, applying the haversine formula to estimate transit time, and comparing it with location elapsed time to validate ingress signaling messages.

Benefits of technology

Accurately validates signaling messages from neighboring countries, reducing false positives and ensuring legitimate messages are forwarded to the home location register, thereby enhancing security and reliability in mobile communication networks.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007787909000001
    Figure 0007787909000001
  • Figure 0007787909000002
    Figure 0007787909000002
  • Figure 0007787909000003
    Figure 0007787909000003
Patent Text Reader

Abstract

A method for performing a speed check for an outbound subscriber roaming to a neighboring country includes receiving, by a network gateway associated with a home country, an ingress signaling message for a mobile device roaming in the neighboring country from an MSC associated with the neighboring country, sending a query request message to an HLR in the home country containing a mobile subscriber identifier, and receiving a query response message containing location elapsed time information and cell identifier information corresponding to the mobile subscriber identifier. The method further includes determining two latitude-longitude locations utilizing the cell identifier information and a country code identifier included in the ingress signaling message, determining an estimated transit time of the mobile device using the two latitude-longitude reference locations, and comparing the location elapsed time information to the estimated transit time to determine whether the ingress signaling message should be forwarded to the HLR.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] Priority claims This application claims the benefit of priority to U.S. Patent Application No. 17 / 319,023, filed May 12, 2021, the disclosure of which is incorporated by reference in its entirety herein.

[0002] Technical Field The subject matter described herein relates to fraud prevention in mobile communication networks. More particularly, the subject matter described herein relates to a method, system, and computer-readable medium for performing speed checks for outbound subscribers roaming to neighboring countries. Summary of the Invention [Problem to be solved by the invention]

[0003] background Mobile communication networks are expanding and utilize a multitude of technologies and interconnections to carry signaling messages used to establish communications across the network. Home network elements of the core network are typically not connected to foreign or visited networks. In some cases, speed checks are utilized to determine whether a subscriber has been unable to travel between two locations within a specified period of time; currently, the origin and destination of a subscriber's travel can be identified using the latitude and longitude of the country's capital, identified by the country code in the global title address. However, such methods can result in false positives (e.g., inaccurate assignment of suspicious ingress messages by traditional speed checks) when neighboring countries allow for false registrations within the network. Therefore, speed checks are typically not performed when neighboring countries are involved. Separate databases of neighboring countries are maintained on many network gateways, and thus, when a message is received from one of the listed neighboring countries, traditional speed check algorithms are disabled, thereby allowing messages from the neighboring country to enter the home network without any validation or checks. As an example, if a subscriber is in Punjab, India, and then travels to Lahore, Pakistan, the distance between these two cities is approximately 50 kilometers, which can be traveled in less than 60 minutes. However, networks are currently configured to use logic that would currently calculate the distance between Delhi, India, and Islamabad, Pakistan to be approximately 450 kilometers. Notably, this 450-kilometer distance cannot be traveled in less than 60 minutes. Therefore, current systems would evaluate this distance and subsequently discard received messages. Therefore, in scenarios involving neighboring countries, even though the distance traveled between the borders may be small and the time required is shorter, legitimate messages may be discarded if the existing / current speed check logic is applied. False positives, especially those involving neighboring countries, are a major concern for all firewall and gateway vendors on the market today.

[0004] Therefore, what is needed is a method, system, and computer-readable medium for performing speed checks for subscribers roaming to neighboring countries. [Means for solving the problem]

[0005] overview The subject matter described herein includes methods, systems, and computer-readable media for performing a speed check for an outbound subscriber roaming to a neighboring country. One method includes receiving, by a network gateway associated with a home network located within the home country, from a mobile switching center (MSC) associated with a visited network located within a foreign country neighboring the home country, an ingress signaling message regarding a mobile device roaming in the visited network, sending a query request message to a home location register (HLR) in the home network, the query request message including a mobile subscriber identifier associated with the mobile device, and receiving a query response message including age of location information and cell identifier information corresponding to the mobile subscriber identifier. The method further includes determining a first geographic reference location using the cell identifier information and determining a second geographic reference location using a country code identifier included in the ingress signaling message; determining an estimated transit time of the mobile device using the first geographic reference location and the second geographic reference location; comparing the location elapsed time information with the estimated transit time; and determining whether the ingress signaling message should be forwarded to the HLR.

[0006] In at least one embodiment of the method of the present disclosure, the ingress signaling message comprises a location update message or a send authentication identification (SAI) message.

[0007] In at least one embodiment of the method of the present disclosure, the interrogation request message is a mobile application part (MAP) AnyTimeInterrogation message (ATI) request message and the interrogation response message is a MAP ATI response message.

[0008] In at least one embodiment of the method of the present disclosure, the estimated transit time is determined by using the first geographic reference location and the second geographic reference location as inputs to a haversine formula.

[0009] In at least one embodiment of the method of the present disclosure, in response to determining that the estimated transit time value is less than the location elapsed time information, the ingress signaling message is forwarded by the network gateway to the HLR.

[0010] In at least one embodiment, the method of the present disclosure includes rejecting, by the network gateway, the ingress signaling message in response to determining that the estimated transit time value is greater than the location elapsed time information.

[0011] In at least one embodiment, the method of the present disclosure includes transmitting, by the network gateway, a warning message to a network operator in response to determining that the estimated transit time value is greater than the location elapsed time information.

[0012] A system for performing a speed check for an outbound subscriber roaming to a neighboring country includes a network gateway including at least one processor, the network gateway being associated with a home network located within the home country, and the system further includes a location mapping database for storing geographically referenced position data mapped to a plurality of cell identifiers. The system further includes a speed check engine in the network gateway implemented with at least one processor, the speed check engine for receiving an ingress signaling message from an MSC associated with a visited network located in a foreign country adjacent to the home country regarding a mobile device roaming in the visited network; sending a query request message to an HLR in the home network, the query request message including a mobile subscriber identifier associated with the mobile device; receiving a query response message including elapsed time of location information and cell identifier information corresponding to the mobile subscriber identifier; determining a first geographic reference location using the cell identifier information and a second geographic reference location using a country code identifier included in the ingress signaling message; determining an estimated transit time of the mobile device using the first geographic reference location and the second geographic reference location; and determining whether the ingress signaling message should be forwarded to the HLR by comparing the elapsed time of location information with the estimated transit time.

[0013] In at least one embodiment of the disclosed system, the ingress signaling message comprises a location update message or a transmission authentication identification (SAI) message.

[0014] In at least one embodiment of the system of the present disclosure, the inquiry request message is a Mobile Application Part (MAP) AnyTimeInterrogation Message (ATI) request message and the inquiry response message is a MAP ATI response message.

[0015] In at least one embodiment of the system of the present disclosure, the estimated transit time is determined by using the first geographic reference location and the second geographic reference location as inputs to a haversine formula.

[0016] In at least one embodiment of the system of the present disclosure, in response to determining that the estimated transit time value is less than the location elapsed time information, the ingress signaling message is forwarded by the network gateway to the HLR.

[0017] In at least one embodiment of the system of the present disclosure, the network gateway is configured to reject the ingress signaling message in response to determining that the estimated transit time value is greater than the location elapsed time information.

[0018] In at least one embodiment of the system of the present disclosure, the network gateway is configured to send a warning message to the network operator in response to determining that the estimated transit time value is greater than the location elapsed time information.

[0019] The subject matter described herein may be implemented in the form of hardware, software, firmware, or any combination thereof. Thus, the terms “function,” “node,” or “engine,” as used herein, refer to hardware, which may also include software and / or firmware components, for implementing the described features. In one exemplary implementation, the subject matter described herein may be implemented using a non-transitory computer-readable medium on which computer-executable instructions are stored that, when executed by a computer processor, 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, computer-readable media implementing the subject matter described herein may be located on a single device or computing platform or distributed across multiple devices or computing platforms.

[0020] To describe the subject matter described herein for performing speed checks for outbound subscribers roaming to neighboring countries, the following terminology is used: ● Outbound roaming subscriber: A home network subscriber who is roaming within a foreign network (eg, a visited or foreign network).

[0021] ● Inbound roaming subscriber: A foreign network mobile subscriber who is roaming into the home network of a mobile network operator (MNO).

[0022] ● Home network: The network operated by the mobile network operator with which the mobile subscriber has a subscriber subscription.

[0023] ● Visited network: A foreign network located within the foreign country in which the visiting mobile subscriber is roaming.

[0024] Location Update (LU): A Mobile Application Part (MAP) signaling message used to update the subscriber's location in the HLR.

[0025] Send Authentication Information (SAI) Request: A MAP signaling message used to authenticate a subscriber using HLR information.

[0026] ● International Mobile Subscriber Identity (IMSI): A unique identification of a mobile subscriber. [Brief explanation of the drawings]

[0027] [Figure 1] 1 is an image of an exemplary map of two bordering countries according to one embodiment of the subject matter described herein. [Figure 2] FIG. 1 is a block diagram illustrating an example network for performing speed checks for outbound subscribers roaming to neighboring countries using a network gateway according to one embodiment of the subject matter described herein. [Figure 3A] 1 is a signaling diagram illustrating communication of messages for performing a speed check for an outbound subscriber roaming to a neighboring country according to one embodiment of the subject matter described herein. [Figure 3B] 1 is a signaling diagram illustrating communication of messages for performing a speed check for an outbound subscriber roaming to a neighboring country according to one embodiment of the subject matter described herein. [Figure 4]FIG. 2 is a block diagram of a cell identifier mapping database table utilized to perform speed checks for outbound subscribers roaming to neighboring countries according to one embodiment of the subject matter described herein. [Figure 5] 1 is a flowchart illustrating an exemplary process for performing a speed check for an outbound subscriber roaming to a neighboring country in accordance with one embodiment of the subject matter described herein. DETAILED DESCRIPTION OF THE INVENTION

[0028] Detailed Description A method, system, and computer-readable medium are disclosed for implementing speed check security measures for mobile subscribers roaming into neighboring countries. Specifically, the subject matter of this disclosure presents methods and systems for implementing improved speed check security measures that are implemented at network gateway and / or firewall nodes when a mobile subscriber roams outside of a home network and into a visited network located within a neighboring country.

[0029] As described herein, an improved speed check includes a security measure used to mitigate the occurrence of false positives that occur when a user equipment (e.g., a mobile device) owned by a mobile subscriber roams from a first home country to a second neighboring country. In some embodiments, the speed check (e.g., a time-distance check) is a security measure that determines whether a mobile subscriber physically has the ability to travel or roam from a first country (i.e., the country associated with the mobile subscriber's home network) to a second neighboring country (i.e., a foreign country adjacent to the home country) within an estimated transit time (i.e., a predetermined amount of transit time determined to be likely or possible). Specifically, the speed check security measure may be applied to outbound roaming mobile subscribers leaving their home network within their home country and is configured to use a cell identifier of the most recent cell or cell tower that can be compared with a capital location corresponding to the current country in which the mobile subscriber is actually located. The speed check security measure further determines whether the mobile subscriber is physically capable of traveling from the most recent cell location to the current capital location within the estimated amount of time. In some embodiments, the determination may be accomplished by maintaining a location mapping database within the network gateway (or firewall) that maps geographic reference locations (e.g., longitude and latitude reference locations) to cell identifiers. Specifically, if a mobile subscriber travels from a first country to a second neighboring country and the estimated transit time is found to be less than the location elapsed time information (as described below), then the network gateway will detect and mark the current ingress signaling message (e.g., SAI / LU message) from the visited network within the neighboring foreign country as potentially suspicious.

[0030] For example, after the speed check engine calculates that the minimum estimated transit time required for a mobile subscriber to travel from reference point A (in the home network within the home country) to reference point B (in the visited network within the neighboring country) is 2 hours (i.e., 120 minutes), the speed check engine then determines whether the minimum estimated transit time is greater than a location age parameter that represents the value of the duration of the subscriber's last known activity within the home network (and home country). For example, if a SAI / LU message is received by a network gateway from a visited location at 10:00 AM and the location age (as indicated in the ATI response received by the network gateway) is determined to be 30 minutes (which means that, according to the home VLR, the mobile subscriber was last active within the home network approximately 30 minutes ago), then a problem is detected when it is determined that the SAI / LU message was received from a location (e.g., a capital city) that takes at least 2 hours to travel from reference point A. Ideally, the mobile subscriber should have started traveling from reference point A in the home network before 8:00 AM to reach reference point B according to the minimum travel time requirement. However, because the subscriber likely left reference point A in the home network 30 minutes ago, and because the location elapsed time (i.e., 30 minutes) is significantly less than the estimated transmit time of 2 hours, the SAI / LU message would be designated as invalid. In contrast, if the time value of the location elapsed time (i.e., the time elapsed since the last detected activity in the home network) was greater than the estimated transit time elapsed to traverse between reference point A and reference point B (e.g., a location in the visited network's capital city), the SAI / LU message would have been valid and accepted within the home network.

[0031] As an example, FIG. 1 shows a map 100 of two exemplary neighboring countries, India (i.e., home country) and Pakistan (i.e., adjacent foreign country). As used herein, "neighboring countries" or "neighboring countries" are two nations or countries that share a geographic boundary. As shown in FIG. 1, map 100 includes two Indian cities: Delhi (see pin marker 101) and Amritsar (see pin marker 102). Similarly, map 100 in FIG. 1 shows two Pakistani cities: Lahore (see pin marker 103) and Islamabad (see pin marker 104). Notably, some conventional speed checks / methods utilize both the longitude-latitude location information of the home country's capital city (e.g., reference point A) and the adjacent foreign country's capital city (e.g., reference point B) when determining the estimated transit time between two networks. Functioning in this manner would result in a significant number of false positives (e.g., inaccurate identification of suspicious ingress signaling messages (e.g., authentication and / or registration messages) by traditional speed checks). For example, if a mobile subscriber is registered and located in a home network in Amritsar 102 and then roams / travels to Lahore 103, the actual distance traveled between the two cities would be approximately 50 kilometers, which can be traversed in less than 60 minutes. However, the logic utilized in most existing speed check systems would instead calculate the distance between Delhi 101 and Islamabad 104 (i.e., the capitals of neighboring countries) to be approximately 450 kilometers, regardless of the mobile subscriber's actual and / or approximate location. Notably, this approximately 450-kilometer distance between the capitals cannot be traveled in less than 60 minutes. Therefore, conventional systems would improperly discard the first received SAI / LU request message. Therefore, in a neighboring country scenario, legitimate Sending Authentication Information (SAI) request messages and / or Location Update (LU) request messages may be discarded (if existing speed check logic is applied), even though the distance traveled between the borders may be small and the time taken may be shorter.

[0032] 2 is a block diagram illustrating an exemplary communication system 200 configured to facilitate communication of Signaling System No. 7 (SS7) or Global System for Mobile Communications (GSM)-based signaling messages between its network nodes. As shown in FIG. 2, communication system 200 includes a home network 201 located within a first country (e.g., home country X) and a visited network 202 (e.g., a "foreign network" or "non-home network") located within a second country (e.g., neighboring foreign country Y). Home network 201 includes user equipment (UE) 212, base stations 203, a mobile switching center (MSC) 204, a home location register (HLR) 206, and a network gateway 208 (e.g., a signal transfer point (STP), firewall node, and the like).

[0033] In some embodiments, user equipment 212 may include any device directly utilized by a mobile subscriber end-user to receive or transmit data, such as a handheld smartphone, a GSM mobile station, a laptop computer equipped with a mobile broadband adapter, or any other similar device or user entity. In some embodiments, user equipment 212 is initially roaming within home network 201 in country X and is communicatively connected (e.g., attached) to MSC 204 via base station 203. For example, user equipment 212 may utilize an air interface to establish a wireless connection with base station 203, which in turn is connected to MSC 204. As used herein, base station 203 may include a base station subsystem (BSS), a base station controller (BSC), a base transceiver station (BTS), a UTMS terrestrial radio access network (UTRAN), and / or the like.

[0034] In some embodiments, the MSC 204 serves as a control node for a third-generation (3G) access network (e.g., the home network 201) and manages the network switching subsystem elements of the home network 201. For example, the MSC 204 is responsible for monitoring and managing UE attachment and detachment processes. In particular, the MSC 204 is responsible for selecting a network gateway to serve the user equipment 212 at initial attachment and during intra-network handover. The MSC 204 is also responsible for authenticating the mobile subscriber associated with the user equipment 212 (e.g., by interacting with the HLR 206). Specifically, the MSC 204 is communicatively coupled to the HLR 206, which comprises a master subscription database for the subscriber user's home network 201. The HLR 206, among other things, maintains a record of user equipment devices registered with the home network 201. In some embodiments, the HLR 206 serves as the primary subscriber database used within the 3G network and is configured to provide mobile subscriber details to other entities within the communication system 200. The use of the HLR 206 allows the network to grant or deny user access to different services depending on the mobile subscriber's status. As described below, the HLR 206 may be configured to store cell identifiers and location age information that is mapped to mobile subscriber identifiers.

[0035] In some embodiments, both the MSC 204 and the HLR 206 are communicatively coupled to a network gateway 208. The network gateway 208 may include a router device or element (e.g., an STP) and / or a firewall node configured to relay signaling messages into or out of the home network 201. In particular, the network gateway 208 is configured to receive Mobile Application Part (MAP) messages, including Transmission Authentication Information (SAI) request messages and Location Update (LU) request messages, Any Time Interrogation (ATI) request messages, and the like. The network gateway 208 is further configured to send Transaction Capabilities Application Protocol (TCAP) error messages to the MSC or VLR in the visited network 202 in the foreign country Y.

[0036] 2 further shows visited network 202 located in a foreign country (i.e., a country separate and distinct from country A) and includes an MSC / VLR 210 and a base station 215. MSC 210 may be similar in form and general functionality to MSC 204 (except that it serves visited network 202 instead of home network 201). Similarly, base station 215 is similar in form and function to base station 203 and is configured to establish wireless connections with UEs roaming into visited network 202 (e.g., roaming UE 212′).

[0037] As used herein, the term "location update request message" refers to a signaling message for updating a mobile subscriber's location within a telecommunications network. The "location update request message" is intended to include an SS7-based Location Update (LU) message or any other signaling message or packet for updating a telecommunications network mobile subscriber's location. In some embodiments, the location update request message is a message used between an MSC and an HLR for the purpose of updating the location of a mobile subscriber's user equipment 212 within the home network 201. The MSC 210 can also direct a location update request message to the network gateway 208 in response to the user equipment 212 roaming within a visited network 202. Similarly, the SAI message is intended to include a MAP-based subscriber authentication information request information message or any other signaling message for authenticating a mobile subscriber. In some embodiments, the SAI message is used between an MSC and a network gateway 208 for the purpose of authenticating a mobile subscriber's user equipment 212 as it activates or enters the visited network 202.

[0038] Notably, the location update request message and the SAI message each include an identifier, such as an IMSI, a Mobile Station International Subscriber Directory Number (MSISDN), and / or an International Mobile Equipment Identity (IMEI), that identifies the user equipment 212 and / or its mobile subscriber. The location update request message and the SAI message may also include a VLR global title (GT) address identifier that identifies the visited network VLR supporting the message source. Additionally, a mobile country code (MCC) identifier, which identifies the country associated with the foreign MSC / VLR, may be extracted by the network gateway 208 from the VLR GT address identifier included in the location update request or SAI message. In some embodiments, the location update request message and the SAI message may also include a mobile network code (MNC) identifier.

[0039] As shown in FIG. 2, network gateway 208 may include one or more processors 214, such as a central processing unit (e.g., single core or multiple processing cores), microprocessor, microcontroller, network processor, application-specific integrated circuit (ASIC), or the like. Network gateway 208 may also include memory 216. Memory 216 may include random access memory (RAM), flash memory, magnetic disk storage drives, and the like. In some embodiments, memory 216 may be configured to store speed check engine 218 and location mapping database 220. In particular, speed check engine 218 in memory 216, when executed by one or more processors 214, can perform various monitoring, management, and / or repair functionality for network gateway 208. In some embodiments, location mapping database 220 may reside locally within network gateway 208, as shown in FIG. 1. Alternatively, location mapping database 220 may be contained in a separate and distinct database host that may be accessed by network gateway 208. In some embodiments, location mapping database 220 contains geographic location dates that are mapped to cell identifiers, thereby providing accuracy up to a 3-5 kilometer radius.

[0040] In some embodiments, the speed check engine 218 may include algorithms and / or software components responsible for extracting the VLR GT address and / or country code from the LU message and / or SAI message received by the network gateway 208. As described in more detail below, the network gateway 208 may receive an ingress SAI / LU message from the MSC / VLR 210 in response to the user equipment 212′ entering or being activated within the visited network 202 in neighboring country B. For purposes of this example, it is understood that the user equipment 212 was originally located in country X (e.g., attached to the home network 201) at some point before entering the visited network 202 in neighboring country Y.

[0041] In response to receiving the SAI / LU message, the network gateway 208 invokes the speed check engine 218, which is configured to extract the VLR GT address from the received message and then obtain the MCC from the VLR GT address information. The speed check engine 218 may be further configured to use the MCC to determine whether the source MSC / VLR is located in a foreign country (e.g., by comparing the MCC with a country code associated with the home network 201). If the speed check engine 218 determines that the source MSC / VLR is located in a neighboring country, the speed check engine 218 may determine the latitude and longitude location of the neighboring country's capital city (e.g., by referencing a database containing a mapping of country codes and latitude and longitude location data). The speed check engine 218 is then configured to generate an ATI request message including the IMSI corresponding to the source mobile subscriber user equipment. In particular, the IMSI may be included in the SAI / LU message originally received by the network gateway 208.

[0042] In response to receiving the ATI request message from the network gateway 208, the HLR 206 is configured to generate an ATI response message that includes stored cell ID information and elapsed location information associated with the user equipment 212. In some embodiments, the elapsed location information is a value measured in minutes (and / or seconds) that represents the amount of time that has elapsed since the last activity performed by the mobile subscriber and / or mobile device (e.g., a location update caused by roaming into a visited network). In some embodiments, the HLR 206 is configured with a location update time (i.e., an elapsed location parameter) that defines the mobile subscriber's last received location update message and / or last known activity. This elapsed location value must be greater than the estimated time required to travel to the visited network (as described in more detail below). The HLR 206 may then transmit the generated ATI response message containing the cell identifier information and elapsed location information to the network gateway 208.

[0043] In response to receiving the ATI response message, network gateway 208 (and / or speed check engine 218) extracts cell identifier information from the ATI response message and then accesses location mapping database 220 to obtain corresponding / mapped geographically referenced location information, such as latitude and longitude location information (as described in more detail below). Additionally, network gateway 208 (and / or speed check engine 218) can use the country code identifier to access a database containing geographically referenced location information corresponding to the capital cities of neighboring countries. Using these two geographical reference points as inputs to an algorithm (e.g., a haversine formula), a distance value is determined. Network gateway 208 (and / or speed check engine 218) is configured to determine an estimated transit time (as described further below).

[0044] Once the estimated transit time is calculated, the rate check engine 218 can access the location mapping database 220 and compare the estimated transit time value to the location elapsed time parameter / value included in the ATI response message. If the rate check engine 218 determines that the estimated transit time is less than the location elapsed time value, the rate check engine 218 can designate or tag the ingress SAI / LU signaling message received from the MSC 210 as potentially suspicious. In contrast, if the rate check engine 218 determines that the estimated transit time is greater than or equal to the location elapsed time value, the rate check engine 218 can designate or tag the ingress SAI / LU signaling message received from the MSC 210 as safe, and can then forward the ingress signaling message to the HLR 206.

[0045] 3A and 3B show signaling diagrams illustrating communication of messages for performing a speed check for an outbound subscriber roaming to a neighboring country according to one embodiment of the subject matter described herein. Referring to FIG. 3A, a user equipment (e.g., a mobile device) may enter or be activated within an associated mobile subscriber's home network (e.g., within the home country). In response, the user equipment sends an attachment request message to the home network MSC 204 via a base station (not shown) (e.g., see block 302). After receiving the attachment request message, the home network MSC 204 generates and sends a location update message 304 to the HLR 206 in the home network (located within the home country).

[0046] After sending the LU message 304 to the HLR 206, the MSC 204 records when the LU message 304 was sent and / or the timestamp of the UE's attachment (see block 306). Similarly, the HLR 206 generates a record indicating the MSC 204 as the MSC serving the attached user equipment (i.e., stores the MSC identification and / or address information mapped to the user equipment identifier).

[0047] At some future point after the user equipment's attachment within the home network, the user equipment enters a second country (e.g., neighboring foreign country Y) adjacent to the home country containing the home network. For example, the mobile subscriber roams into a visited network that is located separately from the mobile subscriber's home network (e.g., in home country "X") but associated with neighboring country Y. In a similar manner as described above, the user equipment sends an attachment request message to the foreign MSC / VLR 210 via a base station (not shown). In response to receiving the attachment request message, the visited MSC / VLR 210 (which may also be embodied as a separate MSC and / or VLR) generates an SAI and / or LU message as part of the authentication and location update procedure. Further, the foreign MSC / VLR 210 may then send the generated SAI / LU message 305 to the network gateway 208 (which has a local mapping database provisioned with travel time information; see box 303). After receiving the SAI / LU message 305, the network gateway 208 parses the SAI / LU message 305 and extracts (and stores) the contained VLR GT address information and mobile subscriber identity information (e.g., IMSI information) (see block 312). In particular, the network gateway 208 (and / or the speed check engine) first obtains a Mobile Country Code (MCC) from the VLR GT address contained in the received SAI / LU message 305 to identify the foreign country in which the UE is located. In some embodiments, the network gateway 208 can utilize the speed check engine to compare the extracted MCC with a predefined home country code value (i.e., corresponding to the country hosting the network gateway) to determine whether the visited foreign country is a neighbor country with respect to the home network's country. If the visited foreign country is determined to be a neighbor country, the speed check engine performs the following improved speed check:

[0048] In block 314, the network gateway 308 detects that the user equipment has roamed from the home network to a visited network located in neighbor country Y. In response, the network gateway 208 is configured to initiate and send an ATI request message 316 to the HLR 206. In some embodiments, the network gateway 308 inserts a mobile subscriber identifier (e.g., IMSI) associated with the roaming UE and / or mobile subscriber into the ATI request message 316. In some embodiments, the network gateway 208 obtains address or identity information associated with the HLR 206 by extracting data from the received ingress SAI / LU message. In some embodiments, the SAI / LU message includes an IMSI parameter or a called party address (CdPA) parameter that can be used to access the mapped HLR identity. After receiving the ATI request message 316, the HLR 206 uses the mobile subscriber identity (e.g., IMSI) information included in the ATI request message 316 to locate stored cell identifier information associated with the most recent serving cell and / or cell tower (see block 317). Additionally, the HLR 206 may use the IMSI information to obtain location elapsed time information corresponding to the roaming UE.

[0049] After obtaining the cell identifier information and location age information, the HLR 206 may then provide the obtained information to the network gateway 208 via an ATI response message 318 .

[0050] Referring to FIG. 3B, network gateway 208 can extract cell identifier information and location age information from ATI response message 318 (see block 319) and query a location mapping database. In some embodiments, the location mapping database (not shown) resides locally on and / or is accessible by network gateway 208. One exemplary location mapping database accessible by network gateway 208 and / or speed check engine 218 is shown as database table 400 in FIG. 4. Referring to FIG. 4, local mapping database table 400 is represented as a grid table having columns 401-408. Although database table 400 is shown as having eight columns, any number of columns may be used in the database without departing from the scope of the subject matter of this disclosure. As shown in FIG. 4, column 401 is a "sample schema" or city list column. Column 402 is an MCC column. Columns 403-404 are MMC and LAC columns, respectively. Column 405 contains cell identifier information. Additionally, columns 406-407 each contain longitude and latitude information that is mapped to the corresponding cell identifier in column 405. In particular, the cell identifier information contained in column 405 is mapped to the longitude and latitude location information in columns 406-407. Finally, column 408 contains last update information (e.g., a time value indicating when the database was last updated). While only two cities are shown in database table 400, additional cities and neighboring countries may be shown without departing from the scope of the subject matter of this disclosure. It is understood that network gateway 208 may also be configured to utilize a separate database containing capital city latitude-longitude information mapped to MCC, MNC, and / or other country codes when estimating the geographic location of the source of original SAI / LU message 305.

[0051] Returning to FIG. 3B, network gateway 208 (and / or its speed check engine) cross-references entries in a location mapping database using the cell identifier contained within ATI response message 318. In particular, the cell identifier is compared to entries in column 405 (as shown in FIG. 4) until a matching cell identifier value is found. If a matching cell identifier is found, the speed check engine is configured to obtain corresponding mapped geographic location data, such as longitude and latitude location data contained within columns 406-407 (see, e.g., block 320). After obtaining the longitude and latitude location data, the speed check engine is configured to designate this combination of location data as "Reference Point A."

[0052] In addition to determining this first reference point, network gateway 208 is also configured to determine a second reference point (e.g., "reference point B") that corresponds to the latitude-longitude position location of the capital city of the neighboring country into which the user equipment has roamed. For example, network gateway 208 is configured to determine the identity of the neighboring country using the MCC in the initially received SAI / LU request message 305. Using the MCC code, network gateway 208 will access a database of capital city locations (not shown) and obtain the corresponding longitude and latitude location information that is mapped to the MCC. In particular, network gateway 208 is configured to designate the longitude and latitude location information associated with the capital city of the neighboring country as "reference point B."

[0053] Once both reference point A and reference point B are specified, network gateway 208 is configured to use these two reference points as inputs for a haversone formula (which may be executed by a speed check engine). After processing the two reference points, the speed check engine returns the distance (e.g., miles or kilometers) that exists between the two reference points. The network gateway may then be configured to determine an estimated transit time between the two reference points. The estimated transit time may represent the shortest amount of time (e.g., in minutes and / or hours) that a mobile subscriber (and UE) can reasonably and / or likely travel from one reference point to the other. In some embodiments, network gateway 208 is configured to access pre-defined average speed values ​​(e.g., miles / hour, kilometers / hour, etc.) stored locally on network gateway 208 (e.g., a local database) and / or on a non-local database accessible by network gateway 208. For example, the network gateway (and / or speed check engine) may be configured to query a local database or another network element to request a vSTPSccpOptions managed object (MO) parameter that includes an average speed parameter (e.g., a default and / or standard air travel speed). This obtained average speed parameter may be used in conjunction with the previously determined distance to calculate an estimated travel / transit time.

[0054] After the estimated transit time value is calculated, the speed check engine is configured to compare the estimated transit time with the location elapsed time information obtained from the ATI response message (e.g., see block 322). If the speed check engine determines that the estimated transit time is less than or equal to the location elapsed time information, then the speed check engine will confirm that the speed check is successful (e.g., see block 325). In response to the speed check engine determining that the speed check is successful, the network gateway 208 and / or the speed check engine are configured to forward a SAI / LU request message 326 (i.e., a message identical to the original SAI / LU message 305) to the HLR 206.

[0055] If the speed check engine instead determines that the estimated transit time is greater than the location elapsed time information, then the speed check engine will establish that the speed check failed (e.g., see block 328). In response to the speed check engine determining that the speed check failed, the network gateway 208 and / or its speed check engine is configured to reject, reject, and / or block the originally received SAI / LU request message 305. In some embodiments, the network gateway 208 may be configured to send a TCAP error message 330 to the MSC / VLR 210 in the neighboring country that originally sent the SAI / LU request message 305. Additionally, the network gateway 208 may also be configured to send a warning message to the network operator or some other security network element in the home network.

[0056] 5 is a flow chart illustrating an exemplary process or method 500 for performing a speed check for an outbound subscriber roaming to a neighboring country in accordance with one embodiment of the subject matter described herein. In some embodiments, the method 500 illustrated in FIG. 5 is an algorithm stored in memory that, when executed by a hardware processor, performs steps 501-506. In block 501, an ingress signaling message is received for the mobile subscriber from an MSC located in a visited network in the neighboring foreign country. In some embodiments, the ingress signaling message received from the MSC is an SAI message or an LU message.

[0057] In block 502, a query request message containing a mobile subscriber identifier associated with the mobile subscriber is sent to an HLR located in the mobile subscriber's home network. In some embodiments, the network gateway accesses an internal database to determine the HLR serving the roaming mobile subscriber. The network gateway may determine an address for identifying the HLR by extracting the mobile subscriber identifier, such as the IMSI, from an ingress signaling message received from the foreign network MSC. The network gateway can then generate an ATI request message containing the mobile subscriber identifier (e.g., the IMSI). The network gateway can also utilize the mobile subscriber identifier to determine the identity or address of the HLR. Using this address information, the network gateway can direct the ATI request message to the HLR in the mobile subscriber's home network.

[0058] In block 503, an inquiry response message is received by the network gateway. In response to receiving the ATI request message, the HLR uses the mobile subscriber identifier to identify the cell (and / or cell tower) that most recently provided support to the mobile subscriber's UE in the home network. The HLR also obtains location elapsed time information corresponding to the UE. After obtaining the above cell identifier information and location elapsed time information, the HLR generates an ATI response message including this information. The HLR then sends the ATI response message to the network gateway.

[0059] At block 504, the cell identifier information is utilized to determine a first geographic reference location (e.g., a first latitude-longitude reference location) and a second geographic reference location (e.g., a latitude-longitude reference location). In some embodiments, the speed check engine extracts this cell identifier from the ATI response message and cross-references the cell identifier with latitude-longitude values ​​contained in a location mapping database. The speed check engine may also use a country code identifier contained in the original ingress SAI / LU message to obtain latitude-longitude data corresponding to the capital city of a neighboring country into which the mobile device has roamed. In particular, the speed check engine may be configured to designate the location corresponding to the cell identifier as the first geographic reference location and the location corresponding to the capital city of the neighboring country as the second geographic reference location.

[0060] In block 505, the first geographic reference location and the second geographic reference location are used to determine an estimated transit time for the mobile device. In some embodiments, the speed check engine uses the first and second geographic reference locations as inputs for a haversine formula that outputs a distance. The speed engine further utilizes the calculated distance and a movement-speed value from the vSTPSccpOptions MO (e.g., a speed algorithm) to calculate an estimated transit time between the two geographic reference locations.

[0061] In block 506, the ingress signaling message is compared with the estimated transit time to determine whether it should be forwarded to the HLR. In some embodiments, the rate engine is configured to compare the location elapsed time information obtained from the ATI response message with the estimated transit time. If the rate engine determines that the location elapsed time value is greater than the estimated transit time, then the network gateway will forward the original SAI / LU message to the HLR. In contrast, if the rate engine determines that the location elapsed time value is less than the estimated transit time, then the network gateway will designate the original ingress SAI / LU message as a suspicious ingress message. If the ingress signaling message is designated as a suspicious ingress message, the rate check engine and / or the network gateway can reject or discard the ingress signaling message, thereby preventing any potentially fraudulent activity. Furthermore, if the ingress signaling message is designated as a suspicious ingress message, the rate check engine can also issue a warning signal or message to the network operator. The velocity engine and / or network gateway may also send a TCAP error message to the MSC that originally sent the ingress signaling message to the network gateway.

[0062] It will be understood that various details of the presently disclosed subject matter may be changed without departing from the scope of the presently disclosed subject matter. Further, the foregoing description is for purposes of illustration only, and not limitation.

Claims

1. 1. A method for performing a speed check for an outbound subscriber roaming to a neighboring country, the method comprising: receiving, by a network gateway associated with a home network located within a home country, from a mobile switching center (MSC) associated with a visited network located within a foreign country adjacent to the home country, an ingress signaling message regarding a mobile device roaming within the visited network; sending a query request message to a home location register (HLR) in the home network, the query request message including a mobile subscriber identifier associated with the mobile device; receiving a query response message containing location elapsed time information and cell identifier information corresponding to the mobile subscriber identifier; determining a first geographic reference location using the cell identifier information and a second geographic reference location using a country code identifier included in the ingress signaling message; determining an estimated transit time of the mobile device using the first geographic reference location and the second geographic reference location; comparing the location elapsed time information to the estimated transit time to determine whether the ingress signaling message should be forwarded to the HLR.

2. The method of claim 1 , wherein the ingress signaling message comprises a location update message or a send authentication identification (SAI) message.

3. 2. The method of claim 1, wherein the inquiry request message is a mobile application part (MAP) AnyTimeInterrogation (ATI) request message and the inquiry response message is a MAP ATI response message.

4. The method of claim 1 , wherein the estimated transit time is determined by using the first geographic reference location and the second geographic reference location as inputs to a haversine formula.

5. 2. The method of claim 1, further comprising forwarding, by the network gateway, the ingress signaling message to the HLR in response to determining that the estimated transit time value is less than the location elapsed time information.

6. 2. The method of claim 1, further comprising: rejecting, by the network gateway, the ingress signaling message in response to determining that the estimated transit time value is greater than elapsed time information for the location.

7. 2. The method of claim 1, comprising sending, by the network gateway, a warning message to a network operator in response to determining that the estimated transit time value is greater than elapsed time information for the location.

8. 1. A system for performing a speed check for an outbound subscriber roaming to a neighboring country, the system comprising: a network gateway including at least one processor, the network gateway being associated with a home network located within a home country; The system comprises: a location mapping database for storing geographically referenced location data mapped to a plurality of cell identifiers; a speed check engine within the network gateway implemented using the at least one processor; the speed check engine is for receiving an ingress signaling message for a mobile device roaming in a visited network from a mobile switching center (MSC) associated with a visited network located in a foreign country adjacent to the home country; sending a query request message to a home location register (HLR) in the home network, the query request message including a mobile subscriber identifier associated with the mobile device; receiving a query response message including elapsed time of location information and cell identifier information corresponding to the mobile subscriber identifier; determining a first geographic reference location using the cell identifier information and a second geographic reference location using a country code identifier included in the ingress signaling message; determining an estimated transit time of the mobile device using the first geographic reference location and the second geographic reference location; and determining whether the ingress signaling message should be forwarded to the HLR by comparing the elapsed time of location information with the estimated transit time.

9. The system of claim 8 , wherein the ingress signaling message comprises a location update message or a send authentication identification (SAI) message.

10. 9. The system of claim 8, wherein the inquiry request message is a mobile application part (MAP) AnyTimeInterrogation message (ATI) request message and the inquiry response message is a MAP ATI response message.

11. The system of claim 8 , wherein the estimated transit time is determined by using the first geographic reference location and the second geographic reference location as inputs to a haversine formula.

12. The system of any one of claims 8 to 11, wherein in response to determining that the estimated transit time value is less than the location elapsed time information, the ingress signaling message is forwarded by the network gateway to the HLR.

13. The system of any one of claims 8 to 11, wherein the network gateway is configured to reject the ingress signaling message in response to determining that the estimated transit time value is greater than elapsed time information for the location.

14. The system of any one of claims 8 to 11, wherein the network gateway is configured to send a warning message to a network operator in response to determining that the estimated transit time value is greater than the elapsed time information for the location.

15. A computer program which, when executed by a processor of a computer, controls the computer to perform a method according to any one of claims 1 to 7.

Citation Information

Patent Citations

  • Method, system, and computer-readable medium for implementing time-distance security measures for downstream roaming subscribers using Diameter edge agents

    JP2021534633A