使用 AT 命令 SIM900A 获取 SMSC短信中心号码

问题描述

您好,我正在尝试使用 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 的完整 PDU,然后对其进行解码,结果中将显示 SMSC 和发件人名称。