使用AT命令获取本机号码

news/2024/11/25 19:19:00/

我之前认为手机号码与SIM卡是一一对应的,后来想想不对,因为有换卡不换号的情况啊,所以SIM卡应该只是一个电话号码的储存介质,而与SIM卡一一对应的是另一个编码——IMSI(国际移动签署这标识)。以下为获取IMSI的命令:

AT+CIMI
 获得IMSI。这命令用来读取或者识别SIM卡的IMSI。在读取IMSI之前应该先输入PIN(如果需要PIN的话)。
 
AT+CCID
 获得SIM卡的标识。这个命令使模块读取SIM卡上的EF-CCID文件。


不过个人认为,相对于长长的IMSI来说,我们还是习惯通过手机号来区别我们的设备,那怎么实现?————将手机号存到SIM卡的电话本中,用的时候再从电话本中读取号码即可。

使用AT命令读取本机号码的步骤

在使用AT+CNUM命令读取SIM卡的本机号码时,会发现有的SIM卡的本机号码能读出,而有的SIM卡的本机号码不能读出,不能读出的原因是SIM卡的本机号码未写入电话本存储区,导致无法读取本机号码。 
使用AT命令将本机号码存入电话本存储区的步骤如下: 
1. 先确认SIM卡的本机号码; 
2. 使用AT+CPBS=“ON”命令将电话存贮位置选择为本机号码列表; 
3. 使用AT+CPBW=1,“本机号码”,回车后成功则返回OK; 
4. 最后使用AT+CNUM命令就能读取本机号码了。 

还有一种简单方法可以设置本机手机号码,很多手机都支持设置本机手机号码的功能, 通常在查看本机手机号码功能区域可以找到。将sim卡放入该手机,设置好了之后拿出来,就可以用AT+CNUM指令读取了。


//下面为补充知识----------------------------------------------------------

MSISDN

移动台国际ISDN号码,即手机号

Mobile Station international ISDN number

MSISDN=CC+NDC+SN

CC=国家码 (中国为86)

NDC=国内目的码

SN=用户号码

国内目的地码(NDC)包括接入号(MAC)N1N2N3和HLR的识别号H1H2H3H4。

接入号用于识别网络,我们目前采用:139、138……

HLR识别号表示用户归属的HLR,也表示移动业务本地网号。



IMSI

国际移动用户识别码

International Mobile Subscriber Identity

IMSI=MCC+MNC+MSIN

MCC:Mobile Country Code,移动国家码,共3位,中国为460; 

MNC:Mobile Network Code,移动网络码,共2位,移动GSM:00、02,移动TD:07,联通GSM:01,电信:03; 

MSIN:Mobile Subscriber IdentificationNumber 移动用户识别号码,共10位,

CC+M0M1M2M3+ABCD,CC由不同运营商分配,其中的M0M1M2M3和MSISDN号码中的H0H1H2H3(HLR)可存在对应关系,ABCD四位为自由分配



MSIN与MSISDN区别

MSIN:Mobile Subscriber Identification Number, 移动用户识别号码,这加上MNC+NCC就是用户全球唯一的标志IMSI,这个MSIN号是运营商在制卡中心制卡时已经唯一写入到卡中了,与KI是一一对应的。

而MSISDN:Mobile Subscriber International ISDN Number,这是后来赋予该卡的用户号码,其实针对该MSIN的卡,可以赋予不同的用户号码即MSISDN。所以,MSIN是唯一的,MSISDN不是唯一的,只是目前在国内使用时,对于用户的角度来讲基本一致。所以当用户遗失手机需要补卡的时候,相当于SIM卡是换了一张,即用户的MSIN已经更换了,但是号码MSISDN还是原来的号码。

------http://hi.baidu.com/zboyzb/blog/item/b7769cd46eb4a42b960a165e.html



转自:http://www.multisilicon.com/blog/a21234642.html


http://www.ppmy.cn/news/664995.html

相关文章

JavaScript:数组字段大写转为小写

我们可以使用forEach()方法,遍历数组中的每个对象,然后将所有字段都转换为小写。 首先使用forEach()方法遍历数组中的每个对象。然后,使用Object.keys()方法获取对象中的所有字段名,并将它们全部转换为小写。最后,重新…

VS2022编译运行VS2015的项目

最近新装了VisualStudio2022,有一些VS2015老的项目需要运行,但不想再安装VS2015,就想能否直接在VS2022编译运行,研究一下发现可行,记录一下。 1. 直接升级VS2015项目到2022使用windows sdk 10.0 发现老代码里的一些语…

IOS之条形码

在我们开发ios应用时,尤其是电子商务类应用,时常遇到条形码扫描的业务需求,幸运的已经有开源的SDK供我们使用──条形码的SDK for ios,下面介绍一下这个开源的SDK的使用方法: 免费的条形码是zbar,下载地址是:http://zb…

PHP用barcode生成条形码

下载barcode 将项目放到网站根目录 示例代码 require_once(./barcode/class/BCGColor.php);require_once(./barcode/class/BCGDrawing.php);require_once(./barcode/class/BCGcode128.barcode.php);$colorFront new \BCGColor(0, 0, 0);$colorBack new \BCGColor(255, 255…

条形码怎么申请?

1、条形码是什么? 条形码又被叫做69码或者EAN条形码,其中的数字编码是世界通用的。是将宽度不等的多个黑条和空白,按照一定的编码规则排列,用以表达一组信息的图形标识符。 条形码可以标出物品的生产国、制造厂家、商品名称、生产…

条形码和二维码

前言:需要的包的相关文档 1. Barcode:https://pypi.org/project/python-barcode/0.8.1/ 2. Qrcode:https://pypi.org/project/qrcode/ 3. Zbar: https://pypi.org/project/pyzbar/ 4. Opencv: https://docs.opencv.org/3.4.11/ 5. OpenC…

条形码(Bar Code)概述

条形码的产生 社会的发展产生新的需求,于是新的技术应运而生。条形码也不例外。 想像一下,在超市结账的时候,你推着一车子的东西,柜台服务员一个商品接一个商品的手动计算你的购买总金额,这会是一个多么恐怖的场景。…

各国条形码编码规则

http://wenku.baidu.com/link?urlMgGPWM93ovV0LGATSfKpPvxmwLyi26lmOqHn_4EKnLV5zFA8Gj74N0N6yJM9ZIeyBUJaC6tRtr-y1eLuqH275AcO-cwrzaDaKVYUPUdtTSi 大家购买商品时可根据条形码前几位判断这是哪个国家的产品,不用听导购小姐一边胡侃,毕竟印在包装上的…