使用AT命令SIM900A获取SMSC(SMS中心)号码

使用AT命令SIM900A获取SMSC(SMS中心)号码,sms,arduino-uno,gsm,at-command,sim900,Sms,Arduino Uno,Gsm,At Command,Sim900,您好,我正在尝试使用Arduino Uno和SIM900A计算我收到的短信的SMSC号码 我收到的示例: +CMT: "Facebook","","16/05/24,07:40:32+24" Hello there, this is test message. 有没有办法获取发送邮件的原始号码(SMSC)?因为我只得到了发件人的名字,比如:“Facebook”。这是不可能的 对于电路交换呼叫,在呼叫设置中,始发电话号码一直在网络中传递

您好,我正在尝试使用Arduino Uno和SIM900A计算我收到的短信的SMSC号码

我收到的示例:

+CMT: "Facebook","","16/05/24,07:40:32+24"
Hello there, this is test message.
有没有办法获取发送邮件的原始号码(SMSC)?因为我只得到了发件人的名字,比如:“Facebook”。

这是不可能的

对于电路交换呼叫,在呼叫设置中,始发电话号码一直在网络中传递,直到接收端的最后一个MSC,然后根据CLIP/CLIR/COLP/COLR补充业务设置,呼叫号码将显示给被叫电话

但是,对于sms消息,只有原始号码,即消息的固有部分,当您从手机向某人发送sms消息时,始终填写该号码。涵盖移动到网络通信的协议标准在任何方面都不允许在没有原始号码的情况下发送sms消息


然而,网络运营商也有可能从非移动电话设备直接将sms消息注入其网络,并且通过这种方式,网络运营商能够提供服务,其他公司可以(付费)使用该服务发送sms消息,而无需原始号码和预设的原始名称(与普通的电话簿号码查询相反)。

我找到的解决方案是获取短信的完整PDU,然后对其进行解码,SMSC和发送者姓名将在结果中可见。

AT+CMGF=0命令将启用PDU模式