Android 系统应用-通信应用-MCC、MNC和IMSI的介绍以及运营商标识码对应表

一、前言

如何获取当前卡的运营商?

得到运营商之后有什么用途?

二、基础介绍

MCC 移动国家码(Mobile Country Code)

由于MCC是全球通用的一个标准码,所以它是由国际电联组织ITU(International Telecommunication Union)统一分配与管理的,其作用就是用于标识移动用户所属的国家或地区。

MCC码共3位。中国大陆的MCC是460。

中国香港:454(454, "Hong Kong", "HK", "香港")

中国澳门:455

中国大陆:460(460, "China", "CN", "中国")

中国台湾:466(466, "Taiwan", "TW", "台湾")

注意:一个国家也可以分配多个MCC。如美国的MCC:310, 311和316共三个。

MNC 移动网络码(Mobile Network Code)

由于在很多国家或地区进行电信运营的电信运营商及其运营的移动网络有多个,因此为了区别其电信运营商及其移动网络,所以制定了MNC,用以标识各运营商的所有移动网络。

MNC码共2位。(后续新的运营商入网后,会更新MNC)

中国移动:00,02,04,07,08,20,99

中国联通:01,06,09

中国电信:03,05,11,12,13

一般MCC与MNC是搭配在一起使用的,其又称 HNI 归属网络识别码(Home Network Identity)HNI = MCC + MNC,用于标识用户所归属的网络(注:此处的网络等同于PLMN)

具体举例如下:

46000, "CHINA MOBILE", "CN"      中国移动

46001, "CHN-CUGSM", "CN"         中国联通

46002, "CHINA MOBILE", "CN"      中国移动

46003, "CHINA TELECOM", "CN"  中国电信

45400, "CSL", "HK"                  香港电讯

45401, "NEW WORLD", "HK"  香港新世界

45404, "Orange", "HK"             香港Orange

46692, "Chunghwa", "TW"       中华电讯

46697, "TWN GSM", "TW"       台湾大哥大

三、IMSI 扩展介绍

IMSI 国际移动用户识别码(International Mobile Subscriber Identity)

国际上唯一识别一个用户所分配的号码。IMSI的用途是为了彻底解决国际间的通话问题。但是由于一些国家地区使用的老的技术标准,导致无法兼容,目前还是以老的技术标准为主,不过老的技术标准劣势明显,全面启用IMSI已经是板上钉钉了。(这里的一些国家地区,目前就是北美地区,当前分为北美网络和北美以外的网络)

关于漫游的相关介绍看后续补充,这一块牵扯的实在太多了。

回到IMSI

不管是在北美网络或者是在非北美网络里,IMSI的组成格式都一样:IMSI = MCC + MNC + MSIN,两个网络最重要的差异就是,其生成的全球标题不一致,导致两个网络进行通话时,需进一步进行全球标题格式转换。北美以外的网络的全球标题 = CC(国家码E.123标准) + NC(网络码E.123标准) + MSIN北美网络的全球标题 = IMSI = MCC + MNC + MSIN(其全球标题与IMSI一致)这里又冒出来了个MSIN的东西。

MSIN 移动订户识别代码(Mobile Subscription Identification Number)

MSIN是由运营商自行分配的,共10位十进制数字。它的构成也有它的一套规则在里面,此处不再详细介绍了,因为越扯概念越多。

如此,各个国家的手机用户之间便能拨打国际漫游电话了。

四、如何在代码中获取IMSI等,并使用它们(注:由于当前没有相关代码,多卡获取IMSI的情况后续更新,下列代码可作为参考)

TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);

String imsi = tm.getSubscriberId();

if (null != imsi) {

    if (imsi.startsWith("46000") || imsi.startsWith("46002") || imsi.startsWith("46004")) {//中国移动

    } else if (imsi.startsWith("46001")) {//中国联通

    } else if (imsi.startsWith("46003")) {//中国电信

    }

}

五、获取运营商的意义

最直接的应用环境,就是对CTA入网要求以及入库要求定制。

当然还有其他的一些需求定制需要,也会用到。

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
MCCMNC是移动网络中的两个重要编码。MCC移动国家代码(Mobile Country Code),用于唯一标识一个国家或地区的移动网络。MNC移动网络代码(Mobile Network Code),用于唯一标识一个具体的移动网络运营商。 根据提供的引用的例子,可以看出中国移动的MCC是460,MNC是00。而其他运营商MCCMNC则可能不同。具体的MCCMNC对应可以在相关的移动通信标准组织或相关官方网站上找到。这些对应会列出各个国家或地区的MCC和各个运营商MNC。不同的国家和地区会有不同的MCC范围,而每个运营商MNC则会根据其所在的国家或地区有所不同。 需要注意的是,根据引用中提到的全球标题格式转换,北美以外的网络的全球标题是由国家码CC、网络码NC和MSIN组成,而北美网络的全球标题则是由MCCMNC和MSIN组成。所以在不同网络之间进行通话时,需要进行相应的全球标题格式转换。 综上所述,MCCMNC是移动网络中用于标识国家和移动网络运营商的重要编码,具体的对应可以在相关的标准组织或官方网站上找到。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [MCCMNC国家/地区码与运营商对应关系](https://download.csdn.net/download/weixin_41464806/83762345)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Android 系统应用-通信应用-MCCMNCIMSI介绍以及运营商标识码对应](https://blog.csdn.net/johnwang7/article/details/124461505)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值