ENUM provisioning check for migrated phone numbers

An automated method for maintaining and updating ENUM databases addresses provisioning errors in mobile number portability, enhancing call connectivity by removing erroneous entries and ensuring accurate number mappings.

WO2026008914A1PCT designated stage Publication Date: 2026-01-08ELISA OYJ
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
PCT/FI2025/050317
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-07-01
Filing Date
2025-06-13
Publication Date
2026-01-08

AI Technical Summary

Technical Problem

Provisioning mistakes during mobile number portability can lead to failed phone calls between mobile operators due to human error or software bugs, necessitating an automated solution for detecting and rectifying these errors.

Method used

A computer-implemented method that maintains an ENUM database, compares transferred phone numbers to stored entries, and removes erroneous entries to ensure accurate number mapping and call connectivity.

Benefits of technology

Automated detection and rectification of provisioning mistakes in ENUM databases enhance call connectivity by ensuring correct phone number mappings across mobile operators.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure FI2025050317_08012026_PF_FP_ABST
    Figure FI2025050317_08012026_PF_FP_ABST
Patent Text Reader

Abstract

Initially, a plurality of ENUM entries comprising a plurality of phone numbers are maintained, in an E.164 number mapping, ENUM, database of a first mobile operator. Then, set of phone numbers which have been transferred between two different mobile operators is obtained. The set of phone numbers excludes any phone numbers which have been most recently transferred to the first mobile operator. The set of phone numbers is compared to the plurality of phone numbers comprised in the plurality of ENUM entries. Based on the comparing, any ENUM entries comprising any phone number found in the set of phone numbers are removed from the plurality of ENUM entries stored in the ENUM database. Use the ENUM entries in the ENUM database for handling the ENUM queries.
Need to check novelty before this filing date? Find Prior Art

Description

ENUM PROVISIONING CHECK FOR MIGRATED PHONE NUMBERSTECHNICAL FIELD

[0001] Various example embodiments relate to mobile communications.BACKGROUND

[0002] When a subscriber of a mobile operator decides to change their mobile operator, it is often possible to migrate or transfer the current phone number of the subscriber to the new mobile operator. Such a phone number migration service, known also as mobile number portability (MNP), is typically a national (or, in some cases, multinational) service. MNP is widely (though not universally) available across the globe. Examples of countries where an MNP service is available comprise, for example, all countries belonging to the European Union, United States, Canada, United Kingdom, China and Japan. The MNP process comprises, e.g., updating an E.164 number mapping (ENUM) database of the old and new mobile operators. When a phone number of a subscriber of a mobile operator is migrated to a new mobile operator, there is always a chance that a provisioning mistake occurs (due, e.g., to a human error or a software bug) leading to a problem where phone calls between mobile operators may not work for that subscriber. Namely, any calls originating from the mobile operator from which the subscriber has migrated may fail in such a case. There is a need for an automated solution for detecting and rectifying such provisioning mistakes.SUMMARY

[0003] According to some aspects, there is provided the subject-matter of the independent claims. Some embodiments are defined in the dependent claims. The scope of protection sought for various embodiments of the invention is set out by the independent claims. The embodiments, examples and features, if any, described in this specification that do not fall under the scope of the independent claims are to be interpreted as examples useful for understanding various embodiments of the invention.

[0004] According to a first aspect, there is provided a computer-implemented method comprising: maintaining, in an E.164 number mapping, ENUM, database of a first mobile operator, a plurality of ENUM entries comprising a plurality of phone numbers; obtaining a set of phone numbers which have been transferred between two different mobile operators, wherein the set of phone numbers excludes any phone numbers whose most recent transfer is directed to the first mobile operator; comparing the set of phone numbers to the plurality of phone numbers comprised in the plurality of ENUM entries stored in the ENUM database; and based on the comparing, removing, from the plurality of ENUM entries stored in the ENUM database, any ENUM entries comprising any phone number found in the set of phone numbers.

[0005] According to a second aspect, there is provided an apparatus comprising means for performing the computer-implemented method of the first aspect.

[0006] According to a third aspect, there is provided a computer program which, when the computer program is executed by a computing device, causes the computing device to carry out the computer-implemented method of the first aspect.BRIEF DESCRIPTION OF THE DRAWINGS

[0007] FIG. 1 illustrates an exemplary system according to embodiments;

[0008] FIGs. 2 and 3 illustrate processes according to embodiments; and

[0009] FIG. 4 illustrates an apparatus according to embodiments.DETAILED DESCRIPTION OF SOME EMBODIMENTS

[0010] The following embodiments are only presented as examples. Although the specification may refer to “an”, “one”, or “some” embodiment(s) and / or example(s) in several locations of the text, this does not necessarily mean that each reference is made to the same embodiment(s) or example(s), or that a particular feature only applies to a singleembodiment and / or example. The verbs “to comprise” and “to include” are used in this document as open limitations that neither exclude nor require the existence of also un-recited features. Single features of different embodiments and / or examples may also be combined to provide other embodiments and / or examples.

[0011] In FIGs. 1 to 4 to be discussed below, dashed lines are used for indicating optional features.

[0012] In the following, different exemplifying embodiments will be described using, as an example of an access architecture to which the embodiments may be applied, a radio access architecture which may be based on long term evolution advanced (LTE Advanced, LTE-A) or new radio (NR, 5G), without restricting the embodiments to such an architecture, however. It is obvious for a person skilled in the art that the embodiments may also be applied to other kinds of communication networks having suitable means by adjusting parameters and procedures appropriately. Some examples of other options for suitable systems are 6G, the universal mobile telecommunications system (UMTS) radio access network (UTRAN or E-UTRAN), long term evolution (LTE, the same as E-UTRA), wireless local area network (WLAN or WiFi), worldwide interoperability for microwave access (WiMAX), Bluetooth®, personal communications services (PCS), ZigBee®, wideband code division multiple access (WCDMA), systems using ultra- wideband (UWB) technology, sensor networks, mobile ad-hoc networks (MANETs), Internet Protocol multimedia subsystems (IMS), rebel SIM (R-SIM) for code division multiple access (CDMA) technologies such as lx and lx evolution data optimized (IxEV-DO), global system for mobile communications (GSM) or any combination thereof.

[0013] The term “terminal device” refers herein to a (typically portable) computing device comprising a subscriber identification module (SIM) and being capable of wireless communication in one or more wireless communication networks. A terminal device may be, for example, a mobile station (mobile phone), a smartphone, a laptop, a table computer, a mobile hotspot, an Internet of Things device, a smartwatch or a wearable device. The terminal device may also be called a user device, a user terminal or user equipment (UE).

[0014] The term “mobile operator” refers herein to a mobile (tele)communications company or organization that provides mobile communications services for mobile device users (i.e., to terminal devices of users). The operator provides a SIM card to the customer who inserts it into the mobile device to gain access to said services. A mobile operator maybe equally called a mobile phone operator, a wireless provider or a carrier. The mobile operator(s), in embodiments, may be a mobile network operator (MNO), that is, a mobile operator which owns the underlying network and spectrum assets required to run the provided service.

[0015] The E.164 number format is an international standard for telephone numbers. An E.164 number comprises or consists of the following components: a country code (CC) having 1 to 3 digits for identifying the country or a specific region within a country, a national destination code (NDC) for identifying a geographic area, a network provider, or a specific service within the country and a subscriber number (SN) for identifying a subscriber within the designated NDC area. Additionally, an E.164 number may comprise an international dialing prefix represented by ‘+’ to signify that it is an international format. In technical contexts or internal databases, E.164 numbers are typically written without spaces or separators (e.g., +442079460958). The maximum length for an E.164 number is 15 digits (excluding the international dialing prefix). For example, in an E.164 number +44 20 7946 0958, “+” indicates an international number, “44” is a country code for the United Kingdom, “20” is a national destination code for London and “7946 0958” is a subscriber number. The same phone number may be written as 020 7946 0958 in a national dialing format.

[0016] A general architecture of a system 100 according to embodiments is shown in FIG. 1. FIG. 1 illustrates a simplified system architecture only showing some elements and functional entities. It is apparent to a person skilled in the art that the system may also comprise other functions and structures. At least some of the elements (namely, elements 102, 103) may be logical elements which may be implemented using a variety of different physical means (e.g., using one or more network nodes and / or computing devices).

[0017] FIG. 1 illustrates a system 100 for maintaining and using an E.164 number mapping (ENUM) database according to some embodiments. The system 100 comprises a mobile operator network 101 of a first mobile operator, a mobile operator network 110 of a second mobile operator, one or more Internet Protocol (IP) networks 120 and a system 130 of an MNP central authority. Both the mobile operator network 110 of the second mobile operator and the one or more IP networks 120 are connected to the mobile operator network 101 of the first mobile operator. The system 130 of the MNP central authority may be connected to both of the mobile operator networks 101, 110 or at least to the mobile operator network 101 of the first mobile operator.

[0018] The mobile operator network 101 of the first mobile operator comprises at least a core network 102, a radio access network (RAN) 105 connected to the core network 102 and a plurality of terminal devices 106, 107 (corresponding to mobile subscribers of the first mobile operator) connected (wirelessly) to the RAN 105. The RAN 105 may comprise one or more access nodes serving the plurality of access nodes 106, 107 and optionally one or more relay nodes. The one or more access nodes of the RAN 105 may comprise one or more non-distributed access nodes and / or one or more distributed access nodes. The core network 102 comprises at least an operator call processing entity 104 and an ENUM database (DB) 103 connected to the operator call processing entity 102. Though not explicitly shown in FIG. 1, the mobile operator network 110 of the second mobile operator may have substantially the same composition as the operator network 101 of the first mobile operator.

[0019] The operator call processing entity 104 may be implemented using one or more interconnected apparatuses (e.g., one or more servers or other computing devices). The operator call processing entity 104 may be configured to carry out various call processing functionalities of the first mobile operator. Said functionalities may comprise, e.g., call setup, call routing, call termination, number translation and mapping, mobility management (e.g., location tracking for the terminal devices 106, 107), handover support, phone number translation and mapping, service integration (e.g., for voice over IP and multimedia services) and / or security and authentication functionalities. In embodiments, said functionalities of the operator call processing entity 104 may comprise at least number translation and mapping which comprises, e.g., ENUM query handling and mobile number portability (MNP).

[0020] The ENUM query handling performed by the operator call processing entity 104 involves translating phone numbers of subscribers of the first mobile operator to a format which may be used on IP networks 120, e.g., for utilizing a VoIP service. Said format may be a (reverse) domain name system (DNS) format or specifically an ENUM domain format (which may, e.g., be a specific type of reversed DNS format). An ENUM query may be equally called a DNS query. For performing the ENUM query handling (and associated functions), the operator call processing entity 104 may comprise, e.g., an ENUM server (equally called a DNS server, an ENUM DNS server, an ENUM resolver, a DNS resolver or an ENUM DNS resolver).

[0021] The ENUM query handling employs the ENUM database 103. The ENUM database 103 stores a plurality of ENUM entries for a plurality of phone numbers of subscribers of the mobile operator network 101 of the first mobile operator. Each of the plurality of ENUM entries may comprise at least a phone number in an ENUM domain format and a naming authority pointer (NAPTR) record.

[0022] A phone number given in an E.164 number format (or in other conventional phone number format such as a national dialing format) may be converted into the ENUM domain format, for example, by reversing the phone number, separating the numbers with dots and appending the reversed “dotted” phone number with a pre-defined ENUM domain suffix. The International Telecommunication Union (ITU) ENUM allocates a specific zone, namely "el64.arpa", for use with ENUM E.164 numbers on the IP side of the network. Thus, said appended pre-defined ENUM domain suffix is “el64.arpa” in the case of the standard ENUM format. This standard form of ENUM is sometimes called public ENUM. For example, the phone number +358 50 1234567 may be written using the public or standard ENUM domain format as 7.6.5.4.3.2.1.0.5.8.5.3.el64.arpa.In some embodiments, an alternative ENUM domain format using an ENUM domain suffix differing from “el64arpa” may be employed. In aspects other than the suffix, these alternative ENUM domain formats may correspond to the standard ENUM domain format. Such an alternative format may be called, in general, a private (or commercial) ENUM domain format. One special case of such an alternative ENUM domain format is the carrier ENUM domain format where the ENUM domain suffix has the form “el64enum.net”. The carrier ENUM is a type of private ENUM used by carriers (i.e., mobile operators). For example, the phone number +358 50 1234567 may be written using the carrier ENUM domain format as 7.6.5.4.3.2.1.0.5.8.5.3. el64enum.net, where “el64enum.net” is the carrier ENUM domain suffix. In the following discussion, the term “ENUM domain format” may refer to either the standard or public ENUM domain format (with the suffix “el64arpa”) or to any private (or commercial) ENUM domain format (with any suffix other than “el64arpa”), depending on the embodiments. In some embodiments, the term “ENUM domain format” may refer particularly to the carrier ENUM domain format (which may be considered a special case of the private ENUM domain format).

[0023] The NAPTR record of an ENUM entry comprises one or more rules (or user preferences) for rewriting the phone number into one or more uniform resource identifiers (URIs) such as session initiation protocol (SIP) URIs, email addresses and / or web uniformresource locators (URLs). The ENUM entries may be defined as described in the RFC 3764 standard.

[0024] The handling of an ENUM queries by the operator call processing entity 104 (or an ENUM server therein) using the ENUM database 103 may comprise, for example, at least some or all of the following steps. First, the ENUM query is received, at the operator call processing entity 104, from a subscriber of the first mobile operator. The ENUM query may comprise a phone number of the subscriber in the E.164 number format or in a national dialing format. The operator call processing entity 104 may convert the phone number to the ENUM domain format (as described above) and query the ENUM database based on the converted phone number. Based on the query, an NAPTR record mapped to the converted phone number (i.e., belonging to the same ENUM entry) is obtained. The NAPTR record provides the necessary information to resolve the phone number into the appropriate Internet address or service endpoint (e.g., for VoIP call routing). Thus, the operator call processing entity 104 (or the ENUM server therein) may cause or trigger communication with one of the one or more IP networks 120 based on the NAPTR record.

[0025] The mobile number portability (MNP) refers to a process for migrating a phone number of a subscriber (or user) from one mobile operator to another. In other words, mobile number portability enables a subscriber to retain their mobile phone number when switching between different mobile operators. The MNP may involve, in addition to mobile operator networks of the involved mobile operators, an MNP central authority. The MNP central authority may be a national authority (e.g., Numpac in Finland) or a multinational authority (e.g., a number portability administration center, NPAC, in the United States and Canada). As indicated above, the MNP central authority may be associated with a system 130 for performing MNP functionalities. Said system 130 may comprise, e.g., one or more servers (and / or other computing devices) and / or one or more databases associated with the MNP central authority.

[0026] The MNP process may comprise functionalities such as initiation of the MNP by the subscriber via porting request, processing the porting request at the new mobile operator, coordinating between old and new operators for number transfer (possible via the system 130 of the MNP central authority), carrying out the number transfer (e.g., releasing the phone number at old mobile operator and allocating it to the new mobile operator, e.g., via the system 130 of the MNP central authority), notifying subscriber of the transfer (e.g.,by the system 130 of the MNP central authority), ensuring service continuity, and transitioning billing and services to the new mobile operator.

[0027] The aforementioned MNP process may comprise also steps of updating ENUM databases 103 of the old and new mobile operators. Namely, an ENUM entry associated with the phone number to be transferred should be removed from the ENUM database of the old mobile operator and added to the ENUM database of the new mobile operator. As was described above, when a phone number of a subscriber of a mobile operator is migrated to a new mobile operator, there is always a chance that a provisioning mistake occurs, e.g., due to a human error or a software bug. Namely, the ENUM databases 103 of the old and new mobile operators or one of them may not be updated or may be updated incorrectly. For example, the ENUM entry associated with the phone number to be transferred may erroneously not be removed from the ENUM database of the old mobile operator. This may lead to a problem where phone calls between mobile operators may not work for the subscriber. Namely, any calls originating from the mobile operator from which the subscriber has migrated may fail in such a case. The embodiments seek to rectify this issue, as will be described in more detail below.

[0028] As mentioned above, the operator call processing entity 104 as shown in FIG. 1 may be a logical element which may be implemented in multiple different ways (i.e., using multiple different technical means). In general, the operator call processing entity 104 may be implemented using a single computing device (e.g., a server) or multiple computing devices (e.g., servers). For example, the operator call processing entity 104 may be implemented in practice using an Internet Protocol (IP) Multimedia Subsystem (IMS) application server. Thus, the IMS application server may be configured to implement both the operator call processing entity 104, at least in some embodiments. To give another example, the operator call processing entity 104 may be implemented using a telephone exchange or switch. As mentioned above, the functionalities pertaining to the ENUM query handling and updating (or managing) of the operator call processing entity 104 may be carried out by an ENUM server comprised in (or connected to) the operator call processing entity 104.

[0029] FIG. 2 illustrates a process according to embodiments for performing an ENUM provisioning check. The process of FIG. 2 may be implemented using a computing device or a set of interconnected computing devices located in an operator network of a firstmobile operator. In other words, the process of FIG. 2 may be implemented using one or more nodes of the mobile operator network of the first mobile operator. The process of FIG. 2 may be carried out, for example, by a laptop or desktop computer, a server computer or a cloud computing system or platform. The apparatus may correspond to the call processing entity 104 of FIG. 1 (e.g., an IMS application server or a telephone exchange or switch) or a part thereof (e.g., an ENUM server) or an apparatus (e.g., an ENUM server) connected thereto. In some embodiments, the process of FIG. 2 may be executed using a (dedicated) virtual server. In the following, the entity carrying out the process is called simply an apparatus.

[0030] Referring to FIG. 2, the apparatus is initially assumed to maintain, in block 201, in an ENUM database of the first mobile operator, a plurality of ENUM entries for a plurality of phone numbers. The plurality of ENUM entries may comprise, respectively, the plurality of phone numbers which may be given, e.g., in an ENUM domain format. The ENUM domain format may correspond to the public (or standard) ENUM domain format or to any private ENUM domain format including a carrier ENUM domain format. The ENUM database and the plurality of ENUM entries stored therein may be defined as described in connection with the ENUM database 103 of FIG. 1. Thus, each of the plurality of ENUM entries may comprise at least a phone number in an ENUM domain format and an NAPTR record.

[0031] The apparatus obtains, in block 202, a set of phone numbers which have been transferred between two different mobile operators. The set of phone numbers may comprise phone numbers which have been transferred from a plurality of different source mobile operators to a plurality of different target mobile operators. However, in this embodiment, it is assumed that the obtained set of phone numbers already excludes any phone numbers which have been most recently transferred to the first mobile operator, that is, phone numbers which are currently associated with (or specifically managed by) the first mobile operator and which, thus, should be found in the ENUM database. In other words, the obtained set of phone numbers comprises no phone numbers whose most recent transfer (i.e., most recent migration) has targeted the first mobile operator. The set of phone numbers may comprise one or more phone numbers who have been transferred from a second mobile operator to the first mobile operator and, subsequently, transferred back to the second mobile operator or to some third mobile operator. Thus, in an ideal world where phone number migrations are always carried out perfectly without errors, the set of phone numbers obtainedin block 202 should comprise only phone numbers for which no ENUM entries exist in the ENUM database. However, due to software and / or human errors relating to ENUM provisioning occurring during phone number migrations, this may not always be the case in practice.

[0032] In some embodiments, the obtaining in block 202 may comprise receiving the set of phone numbers via an interface (of the apparatus) from another apparatus or retrieving the set of phone numbers from an external database (connected to the apparatus). For example, said another apparatus (e.g., a server) and / or the external database may be associated with a (national or multinational) central authority for mobile number portability (e.g., an NPAC in the United States and Canada or Numpac in Finland). Said another apparatus and / or the external database may form a part of the system 130 of FIG. 1.

[0033] In some embodiments, the obtaining in block 202 may comprise, first, obtaining a first set of phone numbers which have been transferred between any two different mobile operators and, then, removing, from the first set of phone numbers, any phone numbers which have been most recently transferred to the first mobile operator to form a second set of phone numbers (corresponding to the set of phone numbers mentioned earlier), as will be discussed in further detail in connection with FIG. 3.

[0034] In some embodiments, the set of phone numbers obtained in block 202 may correspond to phone numbers which have been transferred between different mobile operators at least once within a pre-defined past time interval (e.g., within the past month).

[0035] In some embodiments, the plurality of ENUM entries stored in the ENUM database comprise a plurality of correct ENUM entries for phone numbers currently managed by the first mobile operator and one or more erroneous ENUM entries for one or more phone numbers no longer managed by the first mobile operator, and the set of phone numbers obtained in block 202 comprises at least said one or more phone numbers no longer managed by the first mobile operator.

[0036] The apparatus compares, in block 203, the (obtained) set of phone numbers to phone numbers comprised in the plurality of ENUM entries stored in the ENUM database.

[0037] In some embodiments, the phone numbers in the set obtained in block 202 may be in a different format compared to the plurality of phone numbers included in the plurality of ENUM entries. For example, the phone numbers in the set obtained in block 202 may usean E.164 number format or a national dialing format while the plurality of phone number included in the plurality of ENUM entries may use an ENUM domain format (or equally a DNS format). To account for this difference, the comparing in block 203 may comprise, first, converting the obtained set of phone numbers to use the ENUM domain format used by the ENUM database and, then, comparing the converted set of phone numbers having the ENUM domain format to the phone numbers comprised in the plurality of ENUM entries and having the ENUM domain format. Alternatively, the comparing in block 203 may comprise, first, forming (or generating) a plurality of phone numbers having a non-ENUM- domain format (e.g., the E.164 number format or a national dialing format) used by the obtained set of phone numbers based on the plurality of phone numbers comprised in the plurality of ENUM entries, and, then, comparing the formed plurality of phone numbers having said non-ENUM-domain format to the set of phone numbers obtained in block 202 having said non-ENUM-domain format.

[0038] In other embodiments, the phone numbers in the set obtained in block 202 may be in the same format as the plurality of phone numbers included in the plurality of ENUM entries. In this case, the two sets of phone numbers may be compared directly.

[0039] Based on the comparing (i.e., based on whether the obtained phone numbers match phone numbers in ENUM entries stored in the ENUM database), the apparatus removes (or filters out), in block 204, from the plurality of ENUM entries stored in the ENUM database, any ENUM entries comprising any phone number found in the set of phone numbers. In other words, any phone number (in any format) which corresponds to a phone number in the set obtained in block 202 may be removed from the ENUM database along with other part(s) (e.g., the NAPTR record) of the associated ENUM entry. The one or more removed ENUM entries are erroneous ENUM entries which should have been removed already earlier during an associated earlier MNP process.

[0040] Following the removing of any ENUM entries (e.g., at least one ENUM entry) comprising any phone number found in the set of phone numbers, the apparatus may use, in block 205, the remaining plurality of ENUM entries stored in the ENUM database for handling one or more ENUM queries. Each ENUM query may comprise a phone number in the (public or private) ENUM domain (or DNS) format used by the ENUM database. Each ENUM query may request a NAPTR record based on the phone number, in the (public orprivate) ENUM domain format, comprised in the ENUM query. The ENUM query handling may be carried out as described in connection with FIG. 1.

[0041] The process of FIG. 2 (or at least the process of blocks 201 to 204) may be repeated periodically (e.g., daily) or regularly according to a pre-defined period or schedule.

[0042] FIG. 3 illustrates a process according to embodiments for performing an ENUM provisioning check. The process of FIG. 3 may be implemented using a computing device or a set of interconnected computing devices located in an operator network of a first mobile operator. In other words, the process of FIG. 3 may be implemented using one or more nodes of the operator network of the first mobile operator. The process of FIG. 3 may be carried out, for example, by a laptop or desktop computer, a server computer or a cloud computing system or platform. The apparatus may correspond to the call processing entity 104 of FIG. 1 (e.g., an IMS application server or a telephone exchange or switch) or a part thereof (e.g., an ENUM server) or an apparatus (e.g., an ENUM server) connected thereto. In some embodiments, the process of FIG. 3 may be executed using a (dedicated) virtual server. In the following, the entity carrying out the process is called simply an apparatus.

[0043] The process of FIG. 3 corresponds to a large extent to the process of FIG. 2. Thus, any of the features and definitions provided in connection with FIG. 2 may apply, mutatis mutandis, also for the process of FIG. 3.

[0044] Similar to block 201 of FIG. 2, the apparatus is initially assumed to maintain, in block 301, in an ENUM database of the first mobile operator, a plurality of ENUM entries for a plurality of phone numbers. The ENUM database and the plurality of ENUM entries stored therein may be defined as described in connection with the ENUM database 103 of FIG. 1 and / or block 201 of FIG. 2.

[0045] The apparatus obtains, in block 302, a first set of phone numbers which have been transferred between any two different mobile operators. The first set of phone numbers may comprise phone numbers which have been transferred from a plurality of different source mobile operators to a plurality of different target mobile operators. In contrast to block 202 of FIG. 2, no further assumptions are made here regarding the target mobile operators of the transfers (i.e., the first set of phone number may comprise also phone numbers which have been most recently transferred to the first mobile operator). Each phone number in the first set of phone numbers may, for example, use an E.164 number format, anational or local dialing format (i.e., a national phone number format used in a particular country) or an ENUM domain (or DNS) format (or specifically the same public or private ENUM domain format as used by the ENUM database).

[0046] In some embodiments, the first set of phone numbers may correspond to phone numbers which have been transferred between different mobile operators at least once within a pre-defined past time interval (e.g., within the past month).

[0047] In some embodiments, the apparatus may further obtain, in block 302, mobile operator information for the first set of phone numbers. The mobile operator information may comprise, for each phone number in the first set, at least identifying information on a current mobile operator of a phone number. In other words, the identifying information identifies the current mobile operator of the phone number (i.e., the mobile operator currently managing the phone number). The identifying information for a given mobile operator may comprise, e.g., an identifier, a name or an abbreviated name of the mobile operator. The mobile operator information may be obtained along with the first set of phone numbers (i.e., substantially at the same time) or separately from it. For example, the obtaining in block 302 may comprise obtaining (or receiving) a list where each entry of the list comprises at least a phone number and identifying information on a current mobile operator of the phone number (i.e., a mobile operator to which the phone number has been most recently transferred). In general, the mobile operator information may comprise, for each transfer or at least the latest transfer associated with each phone number in the first set, identifying information on a target mobile operator of the transfer and optionally also a source mobile operator of the transfer.

[0048] In some embodiments, the obtaining in block 302 may comprise receiving the first set of phone number (and optionally the mobile operator information) via an interface (of the apparatus) from another apparatus (e.g., a server) or retrieving the first set of phone numbers (and optionally the mobile operator information) from an external database (connected to the apparatus). For example, said another apparatus and / or the external database may be associated with a central authority for mobile number portability (e.g., an NPAC in the United States and Canada or Numpac in Finland). Said another apparatus and / or the external database may form a part of the system 130 of FIG. 1.

[0049] The apparatus removes (or filters out), in block 303, from the first set of phone numbers, any phone numbers which have been most recently transferred to the first mobileoperator (i.e., whose most recent transfer is directed to or targeting the first mobile operator) to form a second set of phone numbers. In other words, the apparatus removes (or filters out), in block 303, from the first set of phone numbers, any phone numbers which are currently managed by the first mobile operator. Thus, the second set is a subset of the first set. In some embodiments, at least one phone number may be removed in block 303 (i.e., the second set may be a proper subset of the first set).

[0050] In some embodiments, the removing in block 303 may be performed based on the obtained mobile operator information for the first set of phone numbers. In other words, the phone number(s) to be removed from the first set of phone numbers may be identified based on the obtained mobile operator information for the first set of phone numbers (and known identifying information on the first mobile operator).

[0051] The subsequent steps described in blocks 304 to 306 may correspond, mutatis mutandis, to steps of block 203 to 205. Thus, the apparatus compares, in block 304, the second set of phone numbers to the plurality of phone numbers comprised in the plurality of ENUM entries stored in the ENUM database and, based on the comparing, removes, in block 305, from the plurality of ENUM entries stored in the ENUM database, any ENUM entries (e.g., at least one ENUM entry) comprising any phone number found in the second set of phone numbers. Subsequently, the apparatus may use, in block 306, ENUM entries still stored in the ENUM database for handling one or more ENUM queries.

[0052] The process of FIG. 3 (or at least the process of blocks 301 to 305) may be repeated periodically (e.g., daily) or regularly according to a pre-defined period or schedule

[0053] The blocks, related functions, and information exchanges described above by means of FIGs. 2 and 3 are in no absolute chronological order, and some of them may be performed simultaneously or in an order differing from the given one. Other functions can also be executed between them or within them, and other information may be sent, and / or other rules applied. Some of the blocks or part of the blocks or one or more pieces of information can also be left out or replaced by a corresponding block or part of the block or one or more pieces of information.

[0054] FIG. 4 provides an apparatus 401 according to some embodiments. Specifically, FIG. 4 may illustrate a computing device 401 configured to carry out at least some of the functions described above. The computing device 401 may be, for example, aserver or a desktop computing device. The apparatus 401 may correspond to the operator call processing entity 104 or a part thereof (e.g., an ENUM or DNS server). The apparatus 401 may be associated with a first mobile operator.

[0055] The apparatus 401 may comprise one or more communication control circuitry 420, such as at least one processor, and at least one memory 430, including one or more algorithms 431, such as a computer program code (software) wherein the at least one memory 430 and the computer program code (software) are configured, with the at least one processor, to cause the apparatus 401 to carry out any one of the exemplified functionalities of the apparatus described above.

[0056] Said at least one memory 430 may also comprise at least one database 432. Said at least one database 432 may comprise an ENUM database such as the ENUM database 103 of FIG. 1. Alternatively, the ENUM database (e.g., the ENUM database 103) may be connected to the apparatus 401 via at least one interface 410.

[0057] When the one or more control circuitry 420 comprises more than one processor, the apparatus 401 may be a distributed device wherein processing of tasks takes place in more than one physical unit. Each of the at least one processor may comprise one or more processor cores. A processing core may comprise, for example, an Intel Core Ultra 9 processing core, a Cortex- A8 processing core manufactured by ARM Holdings or a Zen processing core designed by Advanced Micro Devices Corporation. The one or more control circuitry 420 may comprise at least one Qualcomm Snapdragon and / or Intel Atom processor. The one or more control circuitry 420 may comprise at least one application-specific integrated circuit (ASIC). The one or more control circuitry 420 may comprise at least one field-programmable gate array (FPGA).

[0058] Referring to FIG. 4, the one or more control circuitry 420 of the apparatus 401 is configured to carry out functionalities described above by means of any of elements of FIGs. 2 and 3 using one or more individual circuitries.

[0059] Referring to FIG. 4, the apparatus 401 may further comprise different interfaces 410 such as one or more communication interfaces comprising hardware and / or software for realizing communication connectivity according to one or more communication protocols. Specifically, the one or more communication interfaces 410 may comprise, for example, interfaces providing connection to an ENUM database (if the ENUM database isnot a part of the apparatus 401 itself), a RAN, one or more IP networks, one or more mobile operator networks and / or a system of a (national or multinational) central authority for MNP.

[0060] Referring to FIG. 4, the memory 440 may be implemented using any suitable data storage technology, such as semiconductor based memory devices, flash memory, magnetic memory devices and systems, optical memory devices and systems, fixed memory and removable memory.

[0061] According to an embodiment, there is provided an apparatus (e.g., an ENUM server of a first mobile operator) comprising: at least one processor; and at least one memory storing instructions that, when executed by the at least one processor, cause the apparatus at least to perform: maintaining, in an E.164 number mapping, ENUM, database of a first mobile operator, a plurality of ENUM entries comprising a plurality of phone numbers; obtaining a set of phone numbers which have been transferred between two different mobile operators, wherein the set of phone numbers excludes any phone numbers whose most recent transfer is directed to the first mobile operator; comparing the set of phone numbers to the plurality of phone numbers comprised in the plurality of ENUM entries stored in the ENUM database; and based on the comparing, removing, from the plurality of ENUM entries stored in the ENUM database, any ENUM entries comprising any phone number found in the set of phone numbers.

[0062] As used in this application, the term ‘circuitry’ may refer to one or more or all of the following: (a) hardware-only circuit implementations, such as implementations in only analog and / or digital circuitry, and (b) combinations of hardware circuits and software (and / or firmware), such as (as applicable): (i) a combination of analog and / or digital hardware circuit(s) with software / firmware and (ii) any portions of hardware processor(s) with software, including digital signal processor(s), software, and memory(ies) that work together to cause an apparatus, such as a terminal device or an access node, to perform various functions, and (c) hardware circuit(s) and processor(s), such as a microprocessor(s) or a portion of a microprocessor(s), that requires software (e.g. firmware) for operation, but the software may not be present when it is not needed for operation. This definition of ‘circuitry’ applies to all uses of this term in this application, including any claims. As a further example, as used in this application, the term ‘circuitry’ also covers animplementation of merely a hardware circuit or processor (or multiple processors) or a portion of a hardware circuit or processor and its (or their) accompanying software and / or firmware.

[0063] In an embodiment, at least some of the processes described in connection withFIGS. 2 and 3 may be carried out by an apparatus comprising corresponding means for carrying out at least some of the described processes. Some example means for carrying out the processes may include at least one of the following: detector, processor (including dualcore and multiple-core processors), digital signal processor, controller, receiver, transmitter, encoder, decoder, memory, RAM, ROM, software, firmware, display, user interface, display circuitry, user interface circuitry, user interface software, display software, circuit, filter (low-pass, high-pass, bandpass and / or bandstop), sensor, circuitry, inverter, capacitor, inductor, resistor, operational amplifier, diode and transistor. In an embodiment, the at least one processor, the memory, and the computer program code form processing means or comprises one or more computer program code portions for carrying out one or more operations according to any one of the embodiments of FIGs. 2 and 3 or operations thereof. In some embodiments, at least some of the processes may be implemented using discrete components.

[0064] Embodiments as described may also be carried out, fully or at least in part, in the form of a computer process defined by a computer program or portions thereof. Embodiments of the methods described in connection with FIGs. 2 and 3 may be carried out by executing at least one portion of a computer program comprising corresponding instructions. The computer program may be provided as a computer readable medium comprising program instructions stored thereon or as a non-transitory computer readable medium comprising program instructions stored thereon. The computer program may be in source code form, object code form, or in some intermediate form, and it may be stored in some sort of carrier, which may be any entity or device capable of carrying the program. For example, the computer program may be stored on a computer program distribution medium readable by a computer or a processor. The computer program medium may be, for example but not limited to, a record medium, computer memory, read-only memory, electrical carrier signal, tele-communications signal, and software distribution package, for example. The computer program medium may be a non-transitory medium. Coding of software for carrying out the embodiments as shown and described is well within the scope of a person of ordinary skill in the art.

[0065] The term “non-transitory”, as used herein, is a limitation of the medium itself (that is, tangible, not a signal) as opposed to a limitation on data storage persistency (for example, RAM vs. ROM).

[0066] Reference throughout this specification to one embodiment or an embodiment means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Thus, appearances of the phrases “in one embodiment” or “in an embodiment” in various places throughout this specification are not necessarily all referring to the same embodiment.

[0067] As used herein, a plurality of items, structural elements, compositional elements, and / or materials may be presented in a common list for convenience. However, these lists should be construed as though each member of the list is individually identified as a separate and unique member. Thus, no individual member of such list should be construed as a de facto equivalent of any other member of the same list solely based on their presentation in a common group without indications to the contrary. In addition, various embodiments and example of the present invention may be referred to herein along with alternatives for the various components thereof. It is understood that such embodiments, examples, and alternatives are not to be construed as de facto equivalents of one another, but are to be considered as separate and autonomous representations of the present invention.

[0068] Even though embodiments have been described above with reference to examples according to the accompanying drawings, it is clear that the embodiments are not restricted thereto but can be modified in several ways within the scope of the appended claims. Therefore, all words and expressions should be interpreted broadly and they are intended to illustrate, not to restrict, the embodiment. It will be obvious to a person skilled in the art that, as technology advances, the inventive concept can be implemented in various ways. Further, it is clear to a person skilled in the art that the described embodiments may, but are not required to, be combined with other embodiments in various ways.INDUSTRIAL APPLICABILITY

[0069] At least some embodiments of the present invention find industrial application in mobile communications.

Claims

CLAIMS1. A computer-implemented method comprising: maintaining, in an E.164 number mapping, ENUM, database of a first mobile operator, a plurality of ENUM entries comprising a plurality of phone numbers; obtaining a set of phone numbers which have been transferred between two different mobile operators, wherein the set of phone numbers excludes any phone numbers whose most recent transfer is directed to the first mobile operator; comparing the set of phone numbers to the plurality of phone numbers comprised in the plurality of ENUM entries stored in the ENUM database; and based on the comparing, removing, from the plurality of ENUM entries stored in the ENUM database, any ENUM entries comprising any phone number found in the set of phone numbers.

2. The computer-implemented method of claim 1, wherein the set of phone numbers is a second set of phone number, and the obtaining of the second set of phone numbers comprises: obtaining a first set of phone numbers which have been transferred between any two different mobile operators; and removing, from the first set of phone numbers, any phone numbers whose most recent transfer is directed to the first mobile operator to form the second set of phone numbers.

3. The computer-implemented method of claim 2, wherein each phone number in the first set of phone numbers uses an E.164 number format, a national dialing format, or a public or private ENUM domain format.

4. The computer-implemented method according to any of claims 2 to 3, comprising: obtaining mobile operator information for the first set of phone numbers, the mobile operator information comprising, for each phone number in the first set, at least identifying information on a current mobile operator of a phone number;wherein the removing of any phone numbers whose most recent transfer is directed to the first mobile operator is performed based at least on the mobile operator information.

5. The computer-implemented method of claim 4, wherein the obtaining of the first set of phone numbers and the mobile operator information for the first set of phone numbers comprises: receiving the first set of phone numbers and the mobile operator information for the first set of phone numbers via an interface from a server; or retrieving the first set of phone numbers and the mobile operator information for the first set of phone numbers from an external database.

6. The computer-implemented method of claim 1, wherein the obtaining of the set of phone numbers comprises: receiving the set of phone numbers via an interface from a server; or retrieving the set of phone numbers from an external database.

7. The computer-implemented method of claim 5 or 6, wherein the server or the external database is a server or an external database of a national or multinational central authority for mobile number portability.

8. The computer-implemented method according to any preceding claim, wherein each of the plurality of ENUM entries stored in the ENUM database comprises at least a phone number in an ENUM domain format and a naming authority pointer, NAPTR, record, the ENUM domain format being a public or private ENUM domain format.

9. The computer-implemented method of claim 8, further comprising: following the removing of any ENUM entries comprising any phone number found in the set of phone numbers, using remaining ENUM entries stored in the ENUM database for handling one or more ENUM queries, wherein each ENUM query of the one or more ENUM queries requests an NAPTR record based on a phone number in the ENUM domain format included in the ENUM query.

10. The computer-implemented method of claim 8 or 9, wherein each phone number in the set of phone numbers uses an E.164 number format, the comparing of the set of phone numbers to the phone numbers comprised in the plurality of ENUM entries comprising either: forming a plurality of phone numbers having the E.164 number format based on the plurality of phone numbers comprised in the plurality of ENUM entries, and comparing the formed plurality of phone numbers having the E.164 number format to the set of phone numbers having the E.164 number format; or converting the set of phone numbers to use the ENUM domain format, and comparing the converted set of phone numbers having the ENUM domain format to the plurality of phone numbers comprised in the plurality of ENUM entries and having the ENUM domain format.

11. The computer-implemented method according to any preceding claim, wherein the plurality of ENUM entries stored in the ENUM database of the first mobile operator comprise a plurality of correct ENUM entries for phone numbers currently managed by the first mobile operator and one or more erroneous ENUM entries for one or more phone numbers no longer managed by the first mobile operator, and the obtained set of phone numbers comprises at least said one or more phone numbers no longer managed by the first mobile operator.

12. The computer-implemented method according to any preceding claim, wherein the computer-implemented method is carried out by an ENUM server of the first mobile operator.

13. An apparatus comprising means for performing the computer-implemented method according to any preceding claim.

14. The apparatus of claim 13, wherein the means comprise at least one processor and at least one memory storing instructions that, when executed by the at least one processor, cause the apparatus to perform the computer-implemented method.

15. A computer program which, when the computer program is executed by a computing device, causes the computing device to carry out the computer-implemented method of any of claims 1 to 12.

Citation Information

Patent Citations

  • Method of managing a peering database in a telecommunications network

    EP2375771A1

  • Systems and methods to verify ownership of a telephone number and to track ownership reassignments

    US20180131667A1