事物(二)之客户端事务应答匹配
来源:互联网 发布:电路分析仿真软件 编辑:程序博客网 时间:2024/06/13 03:13
当客户端事务的通讯层,收到一个应答,他必须决定是否由客户端事务来处理这个应答。在Via头域的最上边的branch参数就是用来做这个的,但前提是branch的参数以z9hG4bk开头。一个应答和一个客户端事务匹配的话,就有两个条件:
1、 应答Via最上边的branch参数和创建这个客户端事务的请求的Via最上边的branch参数相同。
2、 Cseq头域的方法参数和创建事务的请求的方法相同。这是因为CANCEL方法的事务和原请求的事务不同,但是却有相同的branch参数所决定的。
INVITEsip:39008845@192.168.11.60:5060;transport=udp SIP/2.0
Via: SIP/2.0/UDP192.168.11.122:5060;rport;branch=z9hG4bK498530511
From: "1003"<sip:1003@192.168.11.60:5060;user=phone>;tag=2110880605
To:<sip:39008845@192.168.11.60:5060>
Call-ID: 532695668@192.168.11.122
CSeq: 15INVITE
Contact: <sip:1003@192.168.11.122:5060>
Max-Forwards: 30
Allow: INVITE, ACK, BYE, CANCEL,OPTIONS, NOTIFY, REFER, REGISTER, MESSAGE, INFO, SUBSCRIBE
SIP/2.0 100 Trying
Via: SIP/2.0/UDP192.168.11.122:5060;rport;branch=z9hG4bK498530511
From: "1003"<sip:1003@192.168.11.60:5060;user=phone>;tag=2110880605
To:<sip:39008845@192.168.11.60:5060>;tag=302986f72
Call-ID: 532695668@192.168.11.122
CSeq: 15INVITE
Contact:<sip:39008845@192.168.11.60:5060>
SIP/2.0 180 Ringing
Via: SIP/2.0/UDP192.168.11.122:5060;rport;branch=z9hG4bK498530511
From: "1003"<sip:1003@192.168.11.60:5060;user=phone>;tag=2110880605
To:<sip:39008845@192.168.11.60:5060>;tag=302986f72
Call-ID: 532695668@192.168.11.122
CSeq: 15INVITE
Contact:<sip:39008845@192.168.11.60:5060>
Require: 100rel
RSeq: 1318603361
Content-Length: 0
SIP/2.0 200 OK
Via: SIP/2.0/UDP192.168.11.122:5060;rport;branch=z9hG4bK498530511
From: "1003"<sip:1003@192.168.11.60:5060;user=phone>;tag=2110880605
To: <sip:39008845@192.168.11.60:5060>;tag=302986f72
Call-ID: 532695668@192.168.11.122
CSeq: 15 INVITE
Contact:<sip:39008845@192.168.11.60:5060>
ACK sip:39008845@192.168.11.60:5060SIP/2.0
Via: SIP/2.0/UDP192.168.11.122:5060;rport;branch=z9hG4bK725308317
From: "1003"<sip:1003@192.168.11.60:5060;user=phone>;tag=2110880605
To:<sip:39008845@192.168.11.60:5060>;tag=302986f72
Call-ID: 532695668@192.168.11.122
CSeq: 15ACK
Contact:<sip:1003@192.168.11.122:5060>
Max-Forwards: 30
注意:终结应答是2xx时,ACK和INVITE属于不同的两个事务, ACK不认为是INVITE事务的一部分,作为单独的一个事务。终结应答非2XX时,事务还包括一个ACK,此时ACK和INVITE属于一个事务。
- 事物(二)之客户端事务应答匹配
- 事物(三)之服务端事务匹配请求
- JDBC核心技术之(二)事物
- oracle客户端应答文件
- MySQL之事务编程(二)事务控制语句
- C#事务处理(二)之EnterpriseServices事务
- jdbc分页+事务 事物
- sql事务及事物
- ACM之括号匹配(二)
- 世界五百强面试题目及应答评点 (二)
- spring的事务-事物的传播性(转)
- sql serverl 事物回滚三(try...catch事务回滚)
- UML(二)概述 1事物
- Hook匹配过程----之二
- JavaEE事务(二)
- 数据库事务(二)
- 数据库事务(二)
- 事务专题(二)
- android程序入口
- ARM 汇编中可选的立即数常量前缀符:井号“#”
- ServletInputStream 和FileInputStream 的区别 ServletInputStream取不到数据解决方法
- vc 限制软件的使用次数或时间
- arc转非arc
- 事物(二)之客户端事务应答匹配
- JVM调优总结(四)——垃圾回收面临的问题
- 解决yum升级的问题“There was a problem importing one of the Python modules”
- 20140530资料收集
- CSS操作
- leetcode12.wordBreak
- SQL与Excel的数据互通导入导出
- Graham算法(计算凸包周长)
- 8 Things Programmers Can Do at Weekends