我有一些来自不同服务提供商的电话SIM卡可以使用,并且我正在尝试使USSD代码可靠地工作。
对于一张这样的卡,我知道将SIM卡插入手机时可以使用的两种USSD(MMI?)代码:*#61#
和*101#
。
但是,当我将SIM放入SIM800L模块并通过屏幕/通话会话或arduino与之对话时,只有*101#
可以工作。
登录SIM卡并将消息格式设置为“文本”后,此方法有效:
AT+CUSD=1,"*101#"
OK
+CUSD: 0, "U maakt gebruik van het Standaard plan. Uw Lycamobile beltegoed is 0.00 waardeer op via Lycamobile.nl", 1
但是这不适用于我拥有的任何SIM卡:
AT+CUSD=1,"*#61#"
OK
+CUSD: 2
对于此SIM卡,在手机上我会收到两个句子,例如“呼叫转移”“语音:25秒后+31684000130”。其他SIM卡以不同的消息响应,最多包含10行文本。
对于其他SIM卡,*101#
代码不可用。
在我使用USSD代码发送不可逆命令(例如升级预付款余额)之前,我想弄清楚为什么它前后不一致。
(所有设置,针对那些感兴趣的人:)
AT&V output (trimmed):
ACTIVE PROFILE
S0: 0
S3: 13
S4: 10
S5: 8
S6: 2
S7: 60
S8: 2
S10: 15
+CRLP: 61,61,48,6
V: 1
E: 1
Q: 0
X: 4
&C: 1
&D: 1
+CLTS: 0
+CREG: 0
+CGREG: 0
+CMEE: 0
+CIURC: 1
+CFGRI: 2
+CMTE: 0
+CANT: 0,0,10
+STKPCIS: 0
+CMGF: 1
+CNMI: 2,1,0,0,0
+CSCS: "IRA"
+VTD: 1
+CALS: 1
+CHF: 0
+CAAS: 1
+CBUZZERRING: 0
+DDET: 0
+MORING: 0
+SVR: 16
+CCPD: 1
+CSNS: 0
+CSGS: 1
+CNETLIGHT: 1
+SLEDS: 64,64,64,800,3000,300
+CSDT: 0
+CSMINS: 0
+EXUNSOL: 0
+FSHEX: 0
+FSEXT: 0
+IPR: 9600
+IFC: 0,0
+CSCLK: 0