从手机号码获取最新的MCC / MNC

时间:2014-05-27 11:32:35

标签: gsm phone-number telephony cellular-network

我想知道如何从英国手机号码中找到“当前”的MNC?

我向公司发出了一系列数字,他们还退回了“原始的MCC / MNC”& “当前的MCC / MNC”代码,都检查完好。

我想知道这是怎么做到的?它很容易找到原始的MCC / MNC代码,但我在使用当前的MCC / MNC时遇到了问题。

2 个答案:

答案 0 :(得分:3)

要获取手机号码的当前MCC / MNC(或NWC - 移动网络代码),您可以采取多种方法。根据您的评论,我还将结合一些背景信息。

获取原始MCC / MNC

只要您拥有可靠的数据来源,这就相对容易了。 MCC的处理相对简单,因为MCC并未经常改变。 MCC是ITU-T指定的移动国家代码。跨国公司更棘手,因为它们可以随着时间的推移而改变。 ITU-T还分发这些分配并定期发布更新,或者我应该说GSMA会这样做。

获取当前的MCC / MNC

您需要考虑许多因素。其中一个你已经提到过。以下是一些可能性:

  • 移动移植 - 将移动电话号码从一个运营商转移到另一个运营商
  • 漫游 - 手机号码目前已注册在"外国"移动网络

这两个因素都意味着仅使用手机号码不是查找当前MCC / MNC的选项。这真的是一个问题,即您需要信息的准确程度。当然,你要花多少钱才能找到它。

所以最后到原来的问题。简而言之,您无需成为国际电联成员即可访问此信息。答案很长,您需要访问国际电联的出版物。我记得以下是获取所需信息的方法:

  1. GSMA(GSM协会)定期以文件形式发布NWC(移动网络代码)的更新。这与使用GSM网络的每个国家的编号方案一起使用。
  2. Neustar(http://www.neustar.biz)提供了一个API,您可以查询当前注册的(非漫游)手机号码。它们还提供可移植性信息,根据国家和运营商的不同,以不同的速率更新。实际上,它们是GSMA所有可移植性信息的根源。
  3. 一些移动运营商,例如德国的Deutsche Telekom提供API,以获取整个德国的每日更新的可移植性信息。
  4. 具有SS7连接的公司(基本上是移动运营商互操作的GSM云)可以实时查询当前网络注册的手机号码。这还包括手机号码是否在漫游。
  5. 对于许多公司而言,这些信息是无价的,GSMA正确地确保只有负责任地管理这些信息的公司和人才能获得。

答案 1 :(得分:0)

您可以使用此 nuget package

示例代码:

 var IsViablePhoneNumber = PhoneNumberUtil.IsViablePhoneNumber("989123456789");
 var MCC_MNC = PhoneNumberUtil.GetMCCMNC("989123456789");
 var Operator = PhoneNumberUtil.GetOperator("989123456789"); 
 var Brand = PhoneNumberUtil.GetBrand("989123456789");
 var OperatorStatus = PhoneNumberUtil.GetOperatorStatus(232 ,10);
 var OperatorType = PhoneNumberUtil.GetOperatorType(232 ,10);