【发布时间】:2014-04-28 09:20:09
【问题描述】:
我必须每分钟发送一条消息,我使用的是telit GE864-GPS调制解调器,我的调制解调器将在偏远的地方使用,所以我的设备会将数据写入GSM调制解调器,如果消息提交到目的地成功后,我会收到 +CMGS: 的响应,如果由于没有可用的网络而没有将 msg 提交到目的地会发生什么情况。 “调制解调器是否会重试发送该消息”,如何找到调制解调器可用的网络。
【问题讨论】:
标签: gsm
我必须每分钟发送一条消息,我使用的是telit GE864-GPS调制解调器,我的调制解调器将在偏远的地方使用,所以我的设备会将数据写入GSM调制解调器,如果消息提交到目的地成功后,我会收到 +CMGS: 的响应,如果由于没有可用的网络而没有将 msg 提交到目的地会发生什么情况。 “调制解调器是否会重试发送该消息”,如何找到调制解调器可用的网络。
【问题讨论】:
标签: gsm
AT+CREG 的答案?将告诉您设备当前是否已在网络上注册。如果它在网络上注册,您可以发送 SMS(假设您的合同允许)。 AT+CREG 记录在 3GPP TS 27.007 中,可从 www.3gpp.org 的规范页面获取。
快速浏览 3GPP 测试规范表明,如果没有网络,则在尝试发送移动发起的 SMS 时,没有测试 MS(GSM 调制解调器)的行为。 此处描述了测试:3GPP TS 34.123 第 1 部分,第 16 节。
因此,最快的做法是 (a) 询问制造商或 (b) 自己测试设备的行为。去没有网络的地方,尝试发送短信,等待,回到有网络的地方,看看短信是否被发送,设备在合理的超时后返回什么等。
一旦您知道设备的行为,您就可以设计您的代码,基于在发送 SMS 之前检查是否有网络,等待 +CMGS 并且您的代码可能会超时。
【讨论】: