arm7tdmi 发表于 2020-2-26 11:03:50

请问用AT命令读取SIM卡的手机号是哪个命令?

硬件使用的SIM800A模块
一开始,使用AT+CNUM命令获取本机电话号码,什么都查不到,但这时候是可以发短信的。
后来搜索了一下,要先建立号码本才行。
AT+CPBS="ON"
AT+CPBW=1,"13012345678"
这时用AT+CNUM 能查到刚才建立的号码。会查出来
+CNUM: "","13012345678",129,0,4

后期要实现一个功能,插入SIM卡,就能读出手机号来,显示在串口界面里。
在不建立号码本之前,要能读出手机号来,这个怎么实现呢?
用AT+CNUM查不出来号码时,手机号跟SIM卡暗地里已经对应起来了。

wajlh 发表于 2020-2-26 11:07:06

随便搜了一下。



下AT+CNUM返回OK,但没有显示MSISDN号码;拨出电话,别人的手机又会显示号码。




MSISDN号码存储在SIM卡的EFmsisdn文件中,这个文件的属性是optional。
所以不是每张SIM卡一定会有这个信息,可以用catcher工具的SIM/USIM Editor查看SIM卡文件来确认。
下AT+CNUM返回OK,但没有显示号码,说明这张SIM卡没有存储MSISDN信息,是正常的。


为什么拨出电话,别人的手机会显示号码呢?
MSISDN是一定会存储在HLR和VLR中,SIM卡注册上网络时,会提供IMSI号,网络通过IMSI号可以知道对应的MSISDN信息。
来电显示是运营商提供的服务,HLR可以激活这种服务。所以拨出电话时,被叫方如果开通了来电显示,网络就会把MSISDN号码发送到被叫手机。
所以来电显示的号码是网络通知的,主叫方这边如果SIM卡没有保存MSISDN,就没有办法获取。

wajlh 发表于 2020-2-26 11:08:31

我们做物联网应用时一般采用ICCID或者IMEI管理设备。而不是用卡号

罗小蘑菇 发表于 2020-2-26 11:13:32

很多卡尤其物联网卡根本没有手机号,就算你拨打别人手机能看到号,那个号也未必是那个卡的,就像局域网一样,你连外网能看到一个外网IP,但是用那个IP连你未必能找到你那个电脑

arm7tdmi 发表于 2020-2-26 11:22:54

wajlh 发表于 2020-2-26 11:08
我们做物联网应用时一般采用ICCID或者IMEI管理设备。而不是用卡号

SIM卡本身应该是自带两个号码:IMSI和ICCID,用来标识SIM卡本身,这是挺科学的。
AT+CIMI读取IMSI   
AT+CCID读取ICCID号

如果手机号跟SIM卡在号码本没对应上,只是在运营商服务器里被对应上了,在这种条件下,用AT命令读不出来手机号吧?没有现成的AT命令?

wajlh 发表于 2020-2-26 11:33:04

arm7tdmi 发表于 2020-2-26 11:22
SIM卡本身应该是自带两个号码:IMSI和ICCID,用来标识SIM卡本身,这是挺科学的。
AT+CIMI读取IMSI   
A ...

不确定的,不是特殊应用的情况下,不建议用手机号。,我们做的时候物联网卡好多没有卡号的,或者是13位的,没法管理的。一般是IMSI和ICCID用来确定是哪张卡,IMEI确定是哪个设备。

vtte 发表于 2020-2-26 11:33:44

手机只是个虚拟号,我们公司的集团电话总机号码就是一个手机号,全公司所有座机打出去都是这个号码。

hz_fujian 发表于 2020-2-26 11:43:39

是的,否则怎么能把手机卡挂失,换张同号的新卡。

hz_fujian 发表于 2020-2-26 11:44:52

是的,否则怎能挂失,换张同号的新卡!

my_avr 发表于 2020-2-26 12:31:00

wajlh 发表于 2020-2-26 11:08
我们做物联网应用时一般采用ICCID或者IMEI管理设备。而不是用卡号

正解!我们也是类似这样管理的,生产时就把模组的GPRS模组的IEMI号和SIM卡的IMSI号绑定了,我们的服务器通过移动提供的API接口来对指定的卡充值。移动那边也提供通过SIM卡的IMSI号查询对应的卡号的API接口。

arm7tdmi 发表于 2020-2-26 13:23:22

理是这么个理,不能用手机号来标识SIM卡模块,但是用户的要求是插SIM,能得到手机号。{:sad:}

arm7tdmi 发表于 2020-2-26 17:34:30

用SIM卡给某个号发个短信,该号码能把SIM对应的手机号解析出来,再发回来,就知道SIM卡的手机号了。
这个号码是谁呢?10086?发哪个短信内容呢?

cctv02 发表于 2020-2-26 20:15:28

移动的物联网卡有内置电话号码,我之前用SIM7600查过。另外物联网卡不一定能发短信。

shuiluo2 发表于 2020-2-26 20:27:16

物联网卡查不到手机号,要用ICCID号

散装805 发表于 2020-2-26 20:45:41

手机中有一栏本机号码,我见过的都是空白
页: [1]
查看完整版本: 请问用AT命令读取SIM卡的手机号是哪个命令?