通信人家园

 找回密码
 注册

只需一步,快速开始

短信验证,便捷登录

搜索

军衔等级:

  列兵

注册:2014-5-27
跳转到指定楼层
1#
发表于 2016-6-1 18:29:05 |只看该作者 |倒序浏览
关于Dialog:
Dialog是对话的双方(END)关联起来的层次,Dialog-ID一般由From+Call-ID+To组成。Dialog的建立是在Request和对应的non-failure Response生成之后完成建立的(Dialogs are created through the generation of non-failure responses to requests with specific methods),BYE请求可以终结一个Dialog。
注意:
Dialog并不一定非得是INVITE请求发起(specific methods)
Dialog并不一定是2xx响应确认创建(non-failure responses)
Dialog也并不一定是BYE请求关闭(与什么请求创建相关)
Request的From头的tag参数和Response的To头的tag参数唯一标识了Dialog

关于Transaction:
Transaction用于应用层重发、定时和请求与响应的匹配。Request与最终响应(非1xx响应)Response,包括两者之间的消息,构成了一个事务。Via头的branch参数负责标识事务ID。
场景1:Invite--200 OK---ACK
此时ACK虽然不创建事务,但是需要重新计算branch参数。

场景2:Invite--183--Cancel--200 (Cancel)--487--ACK
Cancel的处理方式是Hop By Hop,Via头的branch参数必须与每一跳的Invite报文的Via头的branch参数保持一致,用以标识所要取消的Invite事务。
ACK请求的处理方式也是Hop By Hop,Via头的branch参数必须与每一跳的Invite报文的Via头的branch参数保持一致,用以标识所要确认的Invite事务。

SIP协议会话处理过程总结(INVITE会话吗?有SDP协商的才叫会话吗?)

请求
依据Route记录转发请求
如果没有Route,则依据Request-URI转发请求
添加Record-Route记录,将Proxy记录在后继请求转发路径中
添加Via记录,将Proxy记录在响应转发路径中
路由跳数Max-Forward减一

响应
依据Via转发响应

后继请求
以Contact作为请求目标

作用
Via保证了响应与请求的路径一致
Record-Route/Route保证了关心这一Dialog的Proxy能够保留在后继请求的转发路径中
Max-Forward保证消息不会在网络中无限制的生存下去
Request-URI保证了请求目标不变
Contact保证使用最准确的目标地址作为目的地址


宽松路由与严格路由的区别(Route头域里,带有lr参数,视作宽松路由,如果没带有则视作严格路由)

宽松路由
优先依据Route路由,如果Route不存在,才使用Request-URI路由
在整个路由路径中,Request-URI指向最终目的,始终不变
后继请求使用Contact作为Request-URI

严格路由
始终依据Request-URI路由,如果存在Route,则使用Route修改Request-URI
在整个路由路径中,Request-URI指向下一跳地址,每一跳都改变
使用To标识最终目标,To是目的用户的AOR而不是实际地址

宽松路由的优点
谁能最准确的确定目标?Request-URI orTo?
到达最终目标控制域之后可以依据Request-URI直接转发
From-To所指示的是AOR,From-To-CallID演变为呼叫的唯一标识
已有 2 人评分经验 家园分 收起 理由
z000df0x + 1 赞一个!
家园副管03 + 30 + 30 感谢分享

总评分: 经验 + 30  家园分 + 31   查看全部评分

举报本楼

本帖有 29 个回帖,您需要登录后才能浏览 登录 | 注册
您需要登录后才可以回帖 登录 | 注册 |

手机版|C114 ( 沪ICP备12002291号-1 )|联系我们 |网站地图  

GMT+8, 2024-4-30 12:52 , Processed in 0.133061 second(s), 16 queries , Gzip On.

Copyright © 1999-2023 C114 All Rights Reserved

Discuz Licensed

回顶部