从手机号码获取当前的MCC/MNC



我想知道如何从英国手机号码中找到"当前"的跨国公司?

我给了公司一组数字,他们退回了"原始MCC/MNC"&"当前MCC/MNC"代码,全部检查无误。

我想首先知道这是怎么做到的?很容易找到原始的MCC/MNC代码,但我对当前的MCC/MNC有麻烦。

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

获取原始MCC/MNC

只要有可靠的数据源,这就相对容易。MCC相对来说比较容易处理,因为MCC不会经常改变。MCC是ITU-T指定的移动国家代码。跨国公司的情况更棘手,因为它们会随着时间的推移而变化。ITU-T还负责分配这些分配并定期发布更新,或者我应该说由GSMA负责。

获取当前MCC/MNC

这里有许多因素需要考虑。其中一个你已经提到过了。下面是一些更多的可能性:

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

这两个因素都意味着仅仅使用手机号码并不能找到当前的MCC/MNC。这实际上是一个你需要的信息有多准确的问题。当然还有你想花多少钱来找到它。

最后回到最初的问题。简短的答案是否定的,您不必成为国际电联的成员才能获得这些信息。长话短说,你需要访问国际电联的出版物。我记得以下是获得你需要的信息的方法:

    GSMA (GSM协会)定期以文件形式发布NWC(移动网络代码)的更新。这与使用GSM网络的每个国家的编号方案一起。
  1. Neustar (http://www.neustar.biz)提供了一个API,您可以查询当前已注册(非漫游)的手机号码。它们还提供可携性信息,根据国家和运营商的不同,这些信息会以不同的费率更新。实际上,它们是GSMA所有可移植性信息的根源。
  2. 一些移动运营商,例如德国的德国电信提供了一个API来获取整个德国的每日更新的可移植性信息。
  3. 拥有SS7连接(基本上是移动运营商互操作的GSM云)的公司可以实时查询手机号码当前的网络注册情况。这也包括手机号码是否在漫游。

这些信息对许多公司来说是无价的,GSMA理所当然地确保只有能够负责任地管理这些信息的公司和人员才能获得这些信息。

您可以使用这个nuget包。

示例代码:

 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);

最新更新