我毕设接了利用GPRS模块发彩信的任务,网上资料找到的都看了下。进入实际操作阶段,碰到了不少问题,所以希望高手给点意见和建议
一 我发送了CONNECT PDU到WAP网关,如下:
0e 00 00 12 01 10 0a 00 03 80 8b 34 02 84 01 02 83 01
TID确认之后收到了CONNECTREPLY PDU,如下:
16 80 00 02 82 BF DE 28 0E 17 03 80 8B 34 03 81 8A 78 02 83 01 02 84 01 45 6E 63 6F 64 69 6E 67 2D 56 65 72 73 69 6F 6E 00 31 2E 32 00 80 90
从第4字节开始是CONNECTREPLY PDU,根据WSP,类型02之后应该是ServerSessionId,请问是第5到8字节吗?如果不是,那ServerSessionId在哪里?第5~8字节又是什么?HEADER部分告诉我Encoding version1.2有什么用?最后3个字节00 80 90是什么意思?
二 收到上述PDU后,我发送ACK PDU到网关,是否就代表了CONNECT成功,接着就可以开始POST彩信数据了吗?在这时候我试过再发送同样的CONNECT PDU,还是会放回CONNECTREPLY PDU,但第5~8字节会有部分改变。是不是得到了新的ServerSessionId?前后两个都可以用吗?那我POST完断开会话该用哪个?
三 在一的情况下,我打算把WSP的POST PDU接在WTP调用PDU最后,然后把.mms文件的内容作为POST PDU的DATA部分,把这个WTP调用PDU直接发送到WAP网关,这样是不是就可以成功发送彩信了?
四 根据WSP,POST PDU中的DATA数据长度是由SDU决定的,那是DATA长度就等于SDU长度呢?还是要把WTP头,WSP头的长度都包括进去?发送MMS文件时得分组传送,那么有可能不同组的DATA数据长度不同,但SDU在进行连接时已经决定了,那该如何处理?
现在大概理出这几个问题,由于我刚注册,这个给分机制不是很了解,所以全用的默认,请高手见谅...如果问题中没有说明清楚,请跟帖,我会再解释一下。由于时间紧迫,希望高手们能尽快帮我,小弟十分感谢!!!
其实MMS只是WSP协议的很小一部分。毕竟你的项目只是收发彩信,而不是协议WSP协议栈,也不是一个WAP Proxy,推荐你参考的文档如下:
MMS传送事务说明,描述各个握手方式:OMA-TS-MMS-CTR-V1_3-20050927-C.pdf
MMS打包协议:OMA-TS-MMS-ENC-V1_3-20050927-C.pdf
对于你的需求,这两个文档基本上可以说明问题,建议如果对WSP感兴趣,项目差不多基本实现了以后再花时间去学习研究。我也得抽时间学习啊,哈哈。
16 80 00 :WTP header
02 :WSP PDU(CONNECTREPLY)
82 BF DE 28 :ServerSessionId
0E :能力值的长度
17 :HTTP header的长度
03 80 8B 34 03 81 8A 78 02 83 01 02 84 01 :能力值
45 6E 63 6F 64 69 6E 67 2D 56 65 72 73 69 6F 6E 00 31 2E 32 00 80 90:HTTP header
你好!我也在研究使用单片机发送彩信的问题,能否告知:如何进行CONNECT PDU的封包等?
太没有人气了,本坛中,单日回贴量基本不到10贴啊
我也正想往这门中钻啊
我一次性狂顶,顶到开不了贴为止!
楼主啊:我想问你个问题:
我也有相似的任务,也是要实现发彩信。我目前还没连上网呢,
我用过AT指令AT+CGDATA=PPP,1后,显示connect,一段时间后,返回no carrier,不知道怎么回事?。
我前面的AT指令是这样的:
AT
OK
AT+CGDCONT=1,"IP","CMNET"
OK
AT+CSQ
+CSQ: 26,99
AT+CGATT=1
OK
AT+CGACT=1,1
OK
AT+CGDATA=PPP,1
CONNECT
...
No carrier
不知道怎么回事?
帮忙啊
广州谱泰通信的GPRS模块,内置TCP/IP协议,彩信协议,发送彩信非常简单,详细资料可去http://www.putal.com.cn网站下载,
广州谱泰通信的GPRS模块,内置TCP/IP协议,彩信协议,发送彩信非常简单,详细资料可去http://www.putal.com.cn网站下载,
广州谱泰通信的GPRS模块,内置TCP/IP协议,彩信协议,发送彩信非常简单,详细资料可去http://www.putal.com.cn网站下载,