国际移动用户识别码(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. Springboot学习06-Spring AOP封装接口自定义校验

    Springboot学习06-Spring AOP封装接口自定义校验 关键字 BindingResult.Spring AOP.自定义注解.自定义异常处理.ConstraintValidator 前言 ...

  2. Java15-java语法基础(十四)抽象类

    Java15-java语法基础(十四)抽象类 一.抽象类的作用 三个类都有"执行任务"的方法,分别在这三个类中进行定义,因此需要重复编写代码,降低了程序开发效率,且增加了程序出现错 ...

  3. 一 分析easyswoole源码(启动服务)

    分析easyswoole源码 1以启动为例 //检查是否已经安装 installCheck();//检查锁文件是否存在,不存在结束 //启动服务 serverStart showLogo();//显示 ...

  4. 设计模式学习心得<单利模式 Singleton>

    概述 意图 保证一个类仅有一个实例,并提供一个访问它的全局访问点. 主要解决 一个全局使用的类频繁地创建与销毁. 何时使用 当您想控制实例数目,节省系统资源的时候. 如何解决 判断系统是否已经有这个单 ...

  5. Calendar类常用需求方法

    经常处理一些日期相关的信息,Calendar类是处理日期的常用类,写下几个方法,不用重复造轮子了. 1.求上一天,下一天的日期 Date now = new Date();Calendar c = C ...

  6. 2019.02.17 spoj Query on a tree VI(链分治)

    传送门 题意简述:给你一棵nnn个黑白点的树,支持改一个点的颜色,询问跟某个点颜色相同的连通块大小. 思路: 还是链分治 233 记fi,0/1f_{i,0/1}fi,0/1​表示iii的所有颜色为0 ...

  7. Rabbit mq 简单应用

    参考:http://rabbitmq.mr-ping.com/AMQP/AMQP_0-9-1_Model_Explained.html 简答模式(exchange不工作) import pika # ...

  8. Python-字典(dict)

    字典是一种key-value的数据类型,字典里必须写Key和value: 字典的优点是取数方便和速度快. 字典的定义使用大括号{ },每个值用“,”隔开,key和value使用“:”分隔. value ...

  9. Hibernate3.0配置

    我的系统Win10(64x),Eclipse jee 2018-09 ,Sql2018版本. 以下是Hibernate3.0配置包 链接:https://pan.baidu.com/s/10Kizby ...

  10. Android-Java-子类实例化过程(内存图)

    案例一: package android.java.oop15; // 描述Person对象 class Person { // 构造方法就算不写 默认有一个隐式的无参构造方法:public Pers ...