您的位置:首页 > 编程语言 > PHP开发

基于WSP/WTP的MMS传输(5)——完整MMSWSP/WTP打包示例

2011-08-10 18:00 399 查看
最后以一个MMS收发过程的WSP/WTP封装过程结束本片文章,假设该MMS小于1k,大于1k的mms用前面介绍的分组传送方法。
收发过程如图21所示:



配置

网关:10.0.0.172

网关端口:9201

mmsc uri:http://mmsc.monternet.com

最大发送PDU大小:100k

最大接收PDU大小:100k

retrieve mms Uri: http://211.136.221.75/aRc6xqYf5rr

收发彩信

1.建立连接

发送WSP PDU

WSP PDU Type: Connect

Version: 10

Headers: NULL

Capabilities: 04 80 86 a0 00 04
81 86 a0 00

Header HEX:01 10 14 00 04 80 86 a0 00 04 81 86 a0 00

发送 WTP PDU

WTP PDU Type: Invoke

CON: 0

GTR: 0

TTR: 1

RID: 0

TID: 1

Version: 0

TIDnew: 0

UACK: 0

TCL: 2

HEX:0a 00 01 02 + WSP PDU(Connect)

接收的WTP PDU

WTP PDU Type: Result

CON: 0

GTR: 0

TTR: 1

RID: 0

TID: 1

HEX:12 80 01 + WSP PDU(ConnectReply)

发送 WTP PDU

WTP PDU Type: Acknowledgement

CON: 0

Tve/Tok: 0

RID: 0

TID: 1

HEX:18 00 01

接收的 WSP PDU

WSP PDU Type: Connect Reply

Server session id: bb 95 78

Capabilities: 2 83 4

HEX:02 bb 95 78 xx 00 + Header

(注:bb 95 78 是Session ID uintvar类型,xx表示后面Header的长度)

2.接收mms

发送 WSP PDU

WSP PDU Type: Get

URI: http://211.136.221.115/aLPk5Ctwv31B
HEX:40 23 + http://211.136.221.115/aLPk5Ctwv31的ASC编码

发送 WTP PDU

WTP PDU Type: Invoke

CON: 0

GTR: 0

TTR: 1

RID: 0

TID: 2

Version: 0

TIDnew: 0

UACK: 1

TCL: 2

HEX:0a 00 02 12 + WSP PDU(Get)

接收的 WTP PDU

WTP PDU Type: Result

CON: 0

GTR: 0

TTR: 1

RID: 0

TID: 2

HEX:12 80 02 + WSP PDU(Reply)

发送 WTP PDU

WTP PDU Type: Acknowledgement

CON: 1

Tve/Tok: 0

RID: 0

TID: 2

TPI Type: PSN

CON: 0

Len: 1

PSN: 0

HEX:98 00 02 19 00

接收的 WSP PDU

WSP PDU Type: Reply

Status: 20

HeadersLen:0x33

ContentType:application/vnd.wap.mms-message
HEX:04 20 33 61 70 70 6c 69 63 61 74 69 6f 6e 2f 76 6e 64 2e 77 61 70 2e 6d
6d 73 2d 6d 65 73 73 61 67 65 0 + WSP Header + MMS PDU(M-Retrieve.conf)

3.发送mms

发送 WSP PDU

WSP PDU Type: POST

MMSC uri: http://mmsc.monternet.com

ContentType: application/vnd.wap.mms-message

HEX:60 19 24 + http://mmsc.monternet.com的ASCⅡ编码 +
application/vnd.wap.mms-message 的ASCⅡ编码 + MMS PDU

发送 WTP PDU

WTP PDU Type: Invoke

CON: 0

GTR: 0

TTR: 1

RID: 0

TID: 3

Version: 0

TIDnew: 0

UACK: 1

TCL: 2

HEX:0a 00 03 12 + WSP PDU(POST)

接收的 WTP PDU

WTP PDU Type: Result

CON: 0

GTR: 0

TTR: 1

RID: 0

TID: 3

HEX:12 80 03 + WSP PDU(Reply)

发送 WTP PDU

WTP PDU Type: Acknowledgement

CON: 1

Tve/Tok: 0

RID: 0

TID: 3

TPI Type: PSN

CON: 0

Len: 1

PSN: 0

HEX:98 00 03 19 00

接收的 WSP PDU

WSP PDU Type: Reply

Status: 20

HeadersLen:0x33

ContentType:application/vnd.wap.mms-message
HEX:04 20 33 61 70 70 6c 69 63 61 74 69 6f 6e 2f 76 6e 64 2e 77 61 70 2e 6d
6d 73 2d 6d 65 73 73 61 67 65 00 + WSP Header + MMS PDU(M-Send.conf)

4.断开连接

发送 WSP PDU

WSP PDU Type: Disconnect

Server session id: bb 95 78

HEX:05 bb 95 78

发送 WTP PDU

WTP PDU Type: Invoke

CON: 0

GTR: 0

TTR: 1

RID: 0

TID: 4

Version: 0

TIDnew: 0

UACK: 0

TCL: 0

HEX: 0a 00 03 00 + WSP PDU(Disconnect)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: