IMSI-MCC-MNC

国际移动用户识别码(IMSI) international mobile subscriber identity  国际上为唯一识别一个移动用户所分配的号码。  从技术上讲,IMSI可以彻底解决国际漫游问题。但是由于北美目前仍有大量的AMPS系统使用MIN号码,且北美的MDN和MIN采用相同的编号,系统已经无法更改,所以目前国际漫游暂时还是以MIN为主。其中以O和1打头的MIN资源称为IRM(International Roaming MIN),由IFAST (International Forum on ANSI-41 Standards Technology)统一管理。目前联通申请的IRM资源以09打头。可以看出,随着用户的增长,用于国际漫游的MIN资源将很快耗尽,全球统一采用IMSI标识用户势在必行.[编辑本段]结构组合  IMSI共有15位,其结构如下:  MCC+MNC+MSIN ,(MNC+MSIN=NMSI)  MCC:Mobile Country Code,移动国家码,MCC的资源由国际电联(ITU)统一分配和管理,唯一识别移动用户所属的国家,共3位,中国为460;  MNC:Mobile Network Code,移动网络码,共2位,中国移动TD系统使用00,中国联通GSM系统使用01,中国移动GSM系统使用02,中国电信CDMA系统使用03,一个典型的IMSI号码为460030912121001;  MSIN:Mobile Subscriber Identification Number共有10位,其结构如下:  09+M0M1M2M3+ABCD  其中的M0M1M2M3和MDN号码中的H0H1H2H3可存在对应关系,ABCD四位为自由分配。  可以看出IMSI在MSIN号码前加了MCC即NMSI,可以区别出每个用户的来自的国家,因此可以实现国际漫游。在同一个国家内,如果有多个移动网络运营商,可以通过MNC来进行区别.  ================================  区别于IMEI:International Mobile Equipment Identity (国际移动设备标识)国际移动用户识别码与开源项目  OpenBTS是基于软件的 GSM 接入口,它提供标准的GSM兼容的移动手机,不需使用现成的电话提供商的接口,来拨打现有电话系统的接口。OpenBTS是以第一个基于开源软件的工业标准的GSM协议栈而闻名。OpenBTS 使用的是国际移动用户识别码(IMSI) international mobile subscriber identity 。OpenBTS 和 OpenBSC 提供了在一个较低的层次上了解更多关于 GSM 网络的技术的开源平台。 


在MTK中,可以通过这个SetProtocolEventHandler(RspToTestRoamingEnabled, PRT_GET_IMSI_RSP);去获取IMSI码,

在函数void RspToTestRoamingEnabled(void *inMsg)中的,local_data->imsi,MCC+MNC+MSIN ,你获取相应的位数就可以了,

U16 MCC[3];

memcpy(MCC, (local_data->imsi) , 3);

同理,IMEI的获取如下:

      void btl_send_msg_get_imei(void)
{
    MYQUEUE Message;
    kal_prompt_trace(MOD_MMI," btl_sim_send_get_imei");
    //ClearInputEventHandler(MMI_DEVICE_ALL);
    SetProtocolEventHandler(btl_sim_imei_rsp, MSG_ID_MMI_NW_GET_IMEI_RSP);
    Message.oslMsgId = MSG_ID_MMI_NW_GET_IMEI_REQ;
    Message.oslDataPtr = NULL;
    Message.oslPeerBuffPtr = NULL;
    Message.oslSrcId = MOD_MMI;
    Message.oslDestId = MOD_L4C;
    OslMsgSendExtQueue(&Message);//msg_send_ext_queue
    SetProtocolEventHandler(btl_sim_imei_rsp, MSG_ID_MMI_NW_GET_IMEI_RSP);
    kal_prompt_trace(MOD_MMI,"btl_send_msg_get_imei");
}

void btl_sim_imei_rsp(void *info)
{
    mmi_nw_get_imei_rsp_struct *imei= (mmi_nw_get_imei_rsp_struct*) info;
    strcat(imsi_imei_num, " ");
    strcat(imsi_imei_num,( char *) imei->imei);
    kal_prompt_trace(MOD_MMI,"btl_sim_imei_rsp");
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
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 ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值