AT指令知道自己的电话号码

问题描述 投票:0回答:5

我最近一直在从事AT命令测试。当SIM卡未订阅短信和语音通话时(在某些特殊情况下SIM卡用于实验室实验),我很难找到自己的号码。有没有办法使用AT命令知道自己的电话号码。 假设 Airtel(印度)自己的 msisdn 号码的 USSD 代码是 *121*9#。因此,如果我拨打 ATD*121*9#,我会收到 AT 命令用户界面上显示的消息吗?或者还有其他方法可以知道自己的电话号码吗?非常感谢帮助。

at-command
5个回答
16
投票

AT+CNUM
返回与订阅者相关的 MSISDN。

但在很多情况下它只会返回OK。这是因为+CNUM命令读取为SIM卡自己的电话号码保留的特殊电话簿存储区域。服务提供商可能会也可能不会为您存储电话号码。

如果您想使用 +CNUM 命令读取 MSISDN 并且当前尚未对其进行编程,请按照以下步骤操作(但请注意,几乎所有其他设备都有自己的 AT 命令集规则,因此可能会因设备而异,但概念是相同的):

at+cnum?

+CME ERROR: unknown

at+cpbs?                         - display the active phonebook storage

+CPBS: "SM",250,250

OK

at+cpbs=ON                       - select the active phonebook storage to MSISDN list

OK

at+cpbs?                         - display the active phonebook storage

+CPBS: "ON",0,3                  - MSISDN list is empty

OK

at+cpbw=,"+918723976327"         - enter your own MSISDN

OK

at+cpbs?                         - display the active phonebook storage

+CPBS: "ON",1,3                  - MSISDN list has one item

OK

at+cpbr=1                        - reading MSISDN list, position 1

+CPBR: 1,"+918723976327",145,""  - own MSISDN

OK

at+cnum

+CNUM: ,"+918723976327",145      - own MSISDN

希望这有帮助!


10
投票

AT+CNUM
应返回您自己的电话号码。


5
投票

如果其他一切都失败了,另一种选择是尝试向自己发送短信。就我而言,它工作完美。

AT+CMGF=1
OK
AT+CMGS="my mobile number"
> This is a test.
>
+CMGS: 119

您应该使用 CTRLZ 结束短信。


2
投票

来自标准 AT 命令集的信息,可从 3GPP

获得

AT+CNUM 返回订户号码 - 但此 AT 命令的实现是可选的。

您还可以使用 AT 命令进行 USSD 交易,例如+CUSD TS 27.007 第 7.15 节及相关命令,获取订阅者号码。


0
投票

AT+CUSD=1

设置命令允许控制非结构化补充服务数据(USSD > 3GPP TS 22.090)。
0 - 禁用 DTA 中的结果代码显示
1 - 在 DTA 中启用结果代码显示
2 - 取消正在进行的 USSD 会话(不适用于读取命令

AT+CPBS=“开”

设置命令选择电话簿内存存储,该存储空间将被其他电话簿命令使用。
“ON”- SIM 自己的号码 (MSISDN) 电话簿(+CPBF 不适用于此存储)。

AT+CPBR=1

执行命令从用+CPBS 选择的当前电话簿内存存储中返回位置编号范围.. 中的电话簿条目。如果省略,则仅返回位置。

AT*101#

回复:
+美元: 2,"",15
+CUSD: 2,"05551234567",15

© www.soinside.com 2019 - 2024. All rights reserved.