如何在GSM Modem中处理发送报告?

时间:2013-08-15 11:38:07

标签: sms pdu

我想在某个应用程序中使用GSM调制解调器。

我想要的是处理已发送短信列表的短信发送报告。

GSM调制解调器收件箱&发件箱限量15件。每当我读取收件箱时,gsm调制解调器返回一个列表清除列表。

如何检查已从GSM调制解调器收件箱中删除的短信的发送状态?

我需要一些独特的东西,使我能够识别每条消息。

1 个答案:

答案 0 :(得分:4)

  

每次我读取收件箱时,gsm调制解调器都会返回一个列表清除清单。

读取后,存储在调制解调器内存中的消息不会被删除。您只需使用at+cmgl={message id in storage}命令读取消息,然后使用at+cmgd={message id in storage}命令将其删除(或不按照您的意愿删除它。您可以使用at+cmgd=1,4命令清除所有调制解调器的存储空间。)

回到问题:发送短信后,你会得到调制解调器的响应,像这样:+cmgs: {sms id, 0 to 255} OK。如果服务中心已成功发送短信,调制解调器将返回此响应:+cds: {some id which does not matter} {PDU status report}。您只需要decode此PDU即可获取状态报告,原始SMS的ID和其他有用数据。如果从状态报告中发送短信的ID和ID相等,则您的状态报告将完全针对您的消息。请注意,如果您在收到投放报告之前从调制解调器的存储中删除邮件,则会收到包含所有常用信息的报告,但status of delivery最有可能是71而不是0.