国际移动用户识别码(IMSI:International Mobile Subscriber Identification Number)是区别移动用户的标志,储存在SIM卡中,可用于区别移动用户的有效信息。其总长度不超过15位,同样使用0~9的数字。其中MCC是移动用户所属国家代号,占3位数字,中国的MCC规定为460;MNC是移动网号码,由两位或者三位数字组成,中国移动的移动网络编码(MNC)为00;用于识别移动用户所归属的移动通信网;MSIN是移动用户识别码,用以识别某一移动通信网中的移动用户。

简介

国际移动用户识别码(IMSI) international mobile subscriber identity
国际上为唯一识别一个移动用户所分配的号码。
从技术上讲,IMSI可以彻底解决国际漫游问题。但是由于北美目前仍有大量的AMPS系统使用MIN号码,且北美的MDN和MIN采用相同的编号,系统已经无法更改,所以目前国际漫游暂时还是以MIN为主。其中以0和1打头的MIN资源称为IRM(International Roaming MIN),由IFAST (International Forum on ANSI-41 Standards Technology)统一管理。目前联通申请的IRM资源以09打头。可以看出,随着用户的增长,用于国际漫游的MIN资源将很快耗尽,全球统一采用IMSI标识用户势在必行.

结构组合

IMSI共有15位,其结构如下:
MCC+MNC+MSIN
MCC:Mobile Country Code,移动国家码,MCC的资源由国际电联(ITU)统一分配和管理,唯一识别移动用户所属的国家,共3位,中国为460;
MNC:Mobile Network Code,移动网络码,2~3位,中国移动系统使用00、02、07,中国联通GSM系统使用01、06,中国电信CDMA系统使用03、05,中国铁通系统使用20,一个典型的IMSI号码为460030912121001;
MSIN:Mobile Subscriber Identification Number, 移动用户识别号码,共有10位,其结构如下:
EF+M0M1M2M3+ABCD
其中的M0M1M2M3和MDN号码中的H0H1H2H3可存在对应关系,ABCD四位为自由分配。
可以看出IMSI在NMSI号码前加了MCC,可以区别出每个用户的来自的国家,因此可以实现国际漫游。在同一个国家内,如果有多个移动网络运营商,可以通过MNC来进行区别.
IMSI与手机号码绑定关系,在网络侧网元HLR(Home Location Register)内定义。
================================
区别于IMEI:International Mobile Equipment Identity (国际移动设备标识)
国际移动用户识别码与开源项目
OpenBTS是基于软件的 GSM 接入口,它提供标准的GSM兼容的移动手机,不需使用现成的电话提供商的接口,来拨打现有电话系统的接口。OpenBTS是以第一个基于开源软件的工业标准的GSM协议栈而闻名。OpenBTS 使用的是国际移动用户识别码(IMSI) international mobile subscriber identity 。OpenBTS 和 OpenBSC 提供了在一个较低的层次上了解更多关于 GSM 网络的技术的开源平台。
 
http://www.cnblogs.com/kuili/p/3439069.html
 

MCC:  移动国家码,三个数字,如中国为 460

MNC:移动网号,两个数字,如中国移动的MNC为00(联通是01,移动159新号段是02,更多在此

MSIN:移动客户识别号,在某一PLMN中移动台的唯一识别码,MSIN=H0H1H2H3(S)XXXXXX(共11位)

中国移动网络编号:46000、46002、46007 (国家码+网号)

中国移动网络段号:
段号代码    手机段号      网络标识
    0            159             46002
    1            158             46002
    2            150             46002
    3            151             46002
    4            1340-1348   46002
    5            135             46000
    6            136             46000
    7            137             46000
    8            138             46000
    9            139             46000
    A            157             46007
    B            188             46007
    C            152             46002
    D            187             46007
    E            147             46007

中国移动SIM卡制造商列表:

制造商代码                 制造商名称
      0         法国斯伦贝谢
      1          法国金普斯    
        2           德国欧伽
      3          江西捷德    
        4          东信和平    
        5          大唐电信    
        6          航天九洲通    
        7          北京握奇    
        8          东方英卡    
        9          北京华虹    
        A          上海柯斯

中国移动卡性质: 0:普通单模卡    5:远程卡  E:预付费卡

[中国联通、中国电信]
示例IMSI号码: 46001  2 024 007697 T
匹配正则表达式:(01|03)(\d{2})(\w{1})(\w{1})(\d{3})(\d{6})(\w{1})
中国国际字冠(+86) + 国际网络运营商识别码 + 卡发行年 + 段号 + 段后地区识别码 + 所属城市区号 + 卡编号 + 卡制造商

中国联通、电信国际字冠:+86
中国联通、电信网络编号:46001(中国联通) 46003(中国电信)
中国联通、电信网络段号:

段号代码      手机段号            网络标识

0                  130                46001
1            131      46001
2            132      46001
3            133      46003
4            1349      46003
5            155      46001
6            156      46001
7            180      46003
8            153      46003
9            189      46003          
          

中国联通、电信SIM卡制造商列表:
制造商代码        制造商名称
A          东方英卡    
B          布尔公司    
C          上海柯斯    
D          欧贝特    
E          东信和平    
G          法国金普斯    
H          北京华虹    
J          江西捷德    
S          法国斯伦贝谢    
T          大唐电信    
W          北京握奇    
Y          武汉天喻
附:省份代码表
01:北京 02:天津 03:河北 04:山西 05:内蒙古 06:辽宁 07:吉林 08:黑龙江 09:上海 10:江苏 11:浙江 12:安徽 13:福建 14:江西 15:山东 16:河南 17:湖北  18:湖南 19:广东 20:广西 21:海南 22:四川 23:贵州  24:云南 25:西藏  26:陕西 27:甘肃 28:青海 29:宁夏 30:新 疆 31:重庆

IMSI的更多相关文章

  1. android 获取IMSI信息(判断是移动,联通,电信手机卡)

    首先我们需要知道手机IMSI号前面3位460是国家,紧接着后面2位00 02是中国移动,01是中国联通,03是中国电信.那么第一步就是先获取手机IMSI号码:代码如下 /** *获取IMSI信息 * ...

  2. Android中获取IMSI和IMEI

    TelephonyManager mTelephonyMgr = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); Str ...

  3. [Android Pro] 通过IMSI判断手机是移动、联通、电信

    TelephonyManager telManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); /** 获取 ...

  4. (三)获取iphone的IMSI

    今天的任务是 iPhone上怎样获取 imsi 信息 来判断所属运营商,资料找了很久!总体有两种方案,但是其中一种好像不行 这里我都记录下来吧: 1: 这是使用coreTelephony.framew ...

  5. android平台获取手机IMSI,IMEI ,序列号,和 手机号的方法

    1)获取运营商sim卡imsi号, String IMSI =android.os.SystemProperties.get( android.telephony.TelephonyPropertie ...

  6. msisdn与imsi简介

    =======================================imsi========================================1 定义:imsi=MCC+MNC ...

  7. android 点滴记录 ICCID IMSI IMEI MEID 关系 和 区别,相关参数在什么情况下可以获取...

    1:ICCID:Integrate circuit card identity 集成电路卡识别码(固化在手机SIM卡中) ICCID为IC卡的唯一识别号码,共有20位数字组成,其编码格式为:XXXXX ...

  8. Android获取IMSI和IMEI

    IMSI是一个 唯一的数字, 标识了GSM和UMTS 网络里的唯一一个用户. 它 存储 在手机的SIM卡里,它会通过手机发送到网络上. IMEI也是一串唯一的数字, 标识了 GSM 和 UMTS网络里 ...

  9. 关于android各种双卡手机获取imei,imsi的处理(mtk,展讯,高通等)

    目前国内对于双卡智能手机的需求还是很大的,各种复杂的业务会涉及到双卡模块:而android标准的api又不提供对双卡的支持.导致国内双卡模块标准混乱,各个厂商各玩各的.目前我知道的双卡解决方案就有:m ...

  10. 【Android】设备标识简介(imei imsi mac地址)

    IMEI: 1- 意义: 参考http://zh.wikipedia.org/zh-cn/IMEI  国际移动设备辨识码 ,共15位,和厂商,产地等有关. 2- 获取: 直接查看设备信息,设置-关于手 ...

随机推荐

  1. ES6自我总结笔记(阮一峰ES6入门)

    [let和const命令] 1.var的作用域是函数体内,不是块级作用域 2.let是更完美的var,let的变量的作用是块级作用域 3.let声明的全局变量不是全局对象属性,不可以通过window. ...

  2. android app主程序启动前加载图片

    android app加载启动图片需要新创建一个activity,在主activity先加载图片activity,展示过程结束后,显示主activity.具体流程如下: 一.创建图片activity的 ...

  3. Luogu3119 草鉴定-Tarjan+Topsort

    Solution 简单的$Tarjan$题. 有大佬现成博客 就不写了 → 传送门 Code #include<cstdio> #include<cstring> #inclu ...

  4. struts2遇到的一个问题。

    2018-09-12 好几年没配过struts2了,今天想用最新版的配一下,一直不成功,后来才知道,一堆红色输出里面有这样一句 ERROR StatusLogger No log4j2 configu ...

  5. String 常用函数

    判断字符串是否包含指定字符str.contains("string"); 查找指定字符索引str.indexOf("s"'); 查找最后出现的字符索引str.i ...

  6. 【git】仓库目录下文件不加入版本控制

    如果文件未做过提交操作,在文件所在目录或上级目录新建.gitignore文本文件,将文件的相对路径写入,再将该文本文件提交,则目标文件将被git忽略. 补一个gitignore文件书写规范 2.至于已 ...

  7. MongoDB学习记录(一) - 安装、启动与建立数据库

    简要说明一个基本概念:MongoDB中的三要素:数据库(database).集合(collection)和文档(document). 文档:类似于JSON对象,由字段(field)和值(value)组 ...

  8. 【NIFI】 Apache NiFI 之 ExecuteScript处理(二)

    本例介绍NiFI ExecuteScript处理器的使用,使用的脚本引擎ECMScript 接上一篇[NIFI] Apache NiFI 之 ExecuteScript处理(一) ExecuteScr ...

  9. 2019.03.04 bzoj5308: [Zjoi2018]胖(二分答案+st表)

    传送门 想题5分钟调题两小时系列 其实还是我tcl 读完题之后自然会知道一个关键点能够更新的点是一段连续的区间,于是我们对于每个点能到的左右区间二分答案,用ststst表维护一下查询即可. 代码: # ...

  10. JAVA 8 主要新特性 ----------------(三)新功能Lambda表达式入门

    一.简述       Java为了扩充匿名方法在1.8中新追加的特性.本身Java之前的版本是没有匿名方法的,只有匿名对象. 二.使用        Java中使用匿名方法必须要对应接口中的一个抽象方 ...