【问题标题】:I can't get recipient's number in delivery status message我无法在传递状态消息中获取收件人的号码
【发布时间】:2025-12-11 15:05:01
【问题描述】:

我正在尝试通过 AT 命令和 Siemens TC35 发送短信 我可以发送短信,但是当我收到送达状态时,我收到的是没有收件人号码的短信。我不知道报告何时发送给我。

 AT+CMGF=1
 AT+CSMP =49,167,0,0
 AT+CMGS="number"
 message ctr+z

 modem response:
 +CMGS: 98
     OK

当我列出消息时:

AT+CMGL="ALL"

我得到: +CMGL: 7,"REC UNREAD",6,98,,,"19/05/14,17:27:22+08","19/05/14,17:27:24+08",0

我现在不明白为什么我只收到 6 个而不是收件人数。

我做错了什么?

【问题讨论】:

    标签: sms at-command


    【解决方案1】:

    我是凭记忆这样做的……

    对于每次成功的 SMS 发送,您都会获得一个 codeID,您必须存储、管理并与可能通过的任何消息状态相关联。

    消息状态将包含 codeID 而不是收件人号码。这样,您可以向一个号码发送多条 SMS,并且对于发送的每条消息,您都会获得一个与消息状态相关的独特**可识别代码。

    在您的示例中,返回的 codeID 是 98。

    ** 好久没搞短信了,不过我好像记得这个字段的大小很小,我觉得是0-99或者0-999,是一个ciclic ID,所以如果一个大发送的短信数量可能会重复相同的号码,因此请在您的代码中记住这一点

    【讨论】: