做过电信 SMGP V3.0协议收发短信的进来看看

zhkl125 2011-10-13 03:09:44
请教个问题:
短信发送返回submit_resp得到的msgid

短信状态报告deliver得到的msgid不同,这个是什么原因?
...全文
483 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhkl125 2011-10-18
  • 打赏
  • 举报
回复
现在收发基本功能可以了,但是长短信的收发还没搞定的,你有QQ么?[Quote=引用 10 楼 linux7985 的回复:]

引用 8 楼 zhkl125 的回复:

状态报告能收到,上行的收不到是不是只能找网关的人解决了?
先结贴给分了引用 7 楼 linux7985 的回复:

基本上忽略Text,不管他,他好像是原短信的内容,反正不关心是什么,只关心,这次发送的结果,Err值。以及 Stat值。


就跟模拟网关调通,通了再跟他们联调就是了。
[/Quote]
烈火蜓蜻 2011-10-13
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 zhkl125 的回复:]

状态报告能收到,上行的收不到是不是只能找网关的人解决了?
先结贴给分了引用 7 楼 linux7985 的回复:

基本上忽略Text,不管他,他好像是原短信的内容,反正不关心是什么,只关心,这次发送的结果,Err值。以及 Stat值。
[/Quote]

就跟模拟网关调通,通了再跟他们联调就是了。
烈火蜓蜻 2011-10-13
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 zhkl125 的回复:]

救星啊,还没验证的,但是我想应该是问题所在了
另在问两个问题:
1、err:E Text:……这和text:后面有时什么都没有,就是并不是规范说的固定长度20
2、短信上行的接收不到,这个大概什么原因?(这个问题太范了,只要能给出几个验证问题所在的方向就行了)
目前我调试时,电信那边没开发人员直接配合,所以和电信的沟通起来比较慢
引用 1 楼 et214721856 的回复:

这……
[/Quote]


弄个模拟网关就可以了,网上都有。不过都是java版的就是了。
zhkl125 2011-10-13
  • 打赏
  • 举报
回复
状态报告能收到,上行的收不到是不是只能找网关的人解决了?
先结贴给分了[Quote=引用 7 楼 linux7985 的回复:]

基本上忽略Text,不管他,他好像是原短信的内容,反正不关心是什么,只关心,这次发送的结果,Err值。以及 Stat值。
[/Quote]
烈火蜓蜻 2011-10-13
  • 打赏
  • 举报
回复
基本上忽略Text,不管他,他好像是原短信的内容,反正不关心是什么,只关心,这次发送的结果,Err值。以及 Stat值。
烈火蜓蜻 2011-10-13
  • 打赏
  • 举报
回复
字段		长度(字节)	数据类型		说明
Id 10 Octet String 状态报告对应原短消息的MsgID
sub 3 Octet String 取缺省值001
Dlvrd 3 Octet String 取缺省值001
Submit_date 10 Octet String 短消息提交时间(格式:年年月月日日时时分分,例如010331200000)
done_date 10 Octet String 短消息下发时间(格式:年年月月日日时时分分,例如010331200000)
Stat 7 Octet String 短消息的最终状态(参见第7.2.87.1 节短消息状态表)
Err 3 Octet String 参见第7.2.87.2 节错误代码表
Txt 20 Octet String 前3 个字节,表示短消息长度(用ASCII码表示),后17 个字节表示短消息的内容(保证内容不出现乱码)
烈火蜓蜻 2011-10-13
  • 打赏
  • 举报
回复
字段 长度(字节) 数据类型 说明
Id 10 Octet String 状态报告对应原短消息的MsgID
sub 3 Octet String 取缺省值001
Dlvrd 3 Octet String 取缺省值001
Submit_date 10 Octet String 短消息提交时间(格式:年年月月日日时时分分,例如010331200000)
done_date 10 Octet String 短消息下发时间(格式:年年月月日日时时分分,例如010331200000)
Stat 7 Octet String 短消息的最终状态(参见第7.2.87.1 节短消息状态表)
Err 3 Octet String 参见第7.2.87.2 节错误代码表
Txt 20 Octet String 前3 个字节,表示短消息长度(用ASCII码表示),后17 个字节表示短消息的内容(保证内容不出现乱码)
zhkl125 2011-10-13
  • 打赏
  • 举报
回复
刚引用错了,看楼上。。[Quote=引用 2 楼 linux7985 的回复:]

状态报告里的MsgID和Submit_resp的MsgID是一样,都表示,该次通信的数据标识,所以他们不可能相等。

你想找到和Submit_Resp中的MsgID一样的ID的话,是要在短信状态报告,的报文体里找,

你开发代码不看规范的吗?

状态报告格式
注:“状态报告格式”采用SMPP V3.4 中的规定,即“id:IIIIIIIIII sub:SSS dlvrd:DDD
……
[/Quote]
zhkl125 2011-10-13
  • 打赏
  • 举报
回复
救星啊,还没验证的,但是我想应该是问题所在了
另在问两个问题:
1、err:E Text:……这和text:后面有时什么都没有,就是并不是规范说的固定长度20
2、短信上行的接收不到,这个大概什么原因?(这个问题太范了,只要能给出几个验证问题所在的方向就行了)
目前我调试时,电信那边没开发人员直接配合,所以和电信的沟通起来比较慢
[Quote=引用 1 楼 et214721856 的回复:]

这个问题估计神才知道了。
[/Quote]
烈火蜓蜻 2011-10-13
  • 打赏
  • 举报
回复
状态报告里的MsgID和Submit_resp的MsgID是一样,都表示,该次通信的数据标识,所以他们不可能相等。

你想找到和Submit_Resp中的MsgID一样的ID的话,是要在短信状态报告,的报文体里找,

你开发代码不看规范的吗?

状态报告格式
注:“状态报告格式”采用SMPP V3.4 中的规定,即“id:IIIIIIIIII sub:SSS dlvrd:DDD
Submit date:YYMMDDhhmm done date: YYMMDDhhmm stat:DDDDDDD err:E Text:……”。

Id 10 Octet String 状态报告对应原短消息的MsgID
sub 3 Octet String 取缺省值001
Dlvrd 3 Octet String 取缺省值001
Submit_date 10 Octet String 短消息提交时间(格式:年年月月日日时
时分分,例如010331200000)
done_date 10 Octet String 短消息下发时间(格式:年年月月日日时
时分分,例如010331200000)
Stat 7 Octet String 短消息的最终状态(参见第7.2.87.1 节短
消息状态表)
Err 3 Octet String 参见第7.2.87.2 节错误代码表
Txt 20 Octet String 前3 个字节,表示短消息长度(用ASCII
码表示),后17 个字节表示短消息的内
容(保证内容不出现乱码)
周晓荣 2011-10-13
  • 打赏
  • 举报
回复
这个问题估计神才知道了。

3,881

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧