SIP中From ,Contact, Via 和 Record-Route/Route
转载:http://eadgar.blogbus.com/logs/374635.html
注意:以下内容适用于SIP消息中,在具体的应用环境中,例如IMS,每个消息头都有其他独特的意义,但不会和以下的内容产生具体的冲突.
From: 如果一个SIP消息中没有Contact或者Record-Route头域,那么callee就会根据From头域产生后续的Request。比如:如果Alice打一个电话给Bob,From头域的内容是 From:Alice<sip:alice@example.org>。那么Bob打给Alice时就会使用 sip:alice@example.org作为To头域和Request-URI头域的内容。
Contact: 后续Request将根据Contact头域的内容决定目的地的地址,同时将Contact头域的内容放到Request-URI中。它还可以用来指示没有在Record-Route头域中记录的Proxies的地址。同时它还可以被用在Redirect servers和REGISTER requests 和responses。
Record-Route/Route: Record-Route头域一般是被proxies插入到request中的,这样后续的Request如何有着和前面一样的call-id就会被路由到这些proxies。它也会被User Agent作为发送后续request的依据。这套机制很像source-route,Record-Route头域的信息被复制到Route头域中。并且Request-URI头域会被设置为第一个Route头域的内容。
Via:
Via头域是被服务器插入request中,用来检查路由环的,并且可以使response根据via找到返回的路。它不会对未来的request 或者是response造成影响。
总的来说,如果有Route,request就应该根据Route发送,如果没有就根据Contact头域发送,如果连Contact都没有,就根据From头域发送。
SIP中From ,Contact, Via 和 Record-Route/Route的更多相关文章
- 【转】SIP 中的Dialog,call,session 和 transaction
如果你对Sip协议中Call, Dialog, Transaction和Message之间的关系感觉到迷惑,那么,那么我可以告诉你,你并不孤单,因为大多数初学者对于这些名词之间的关系都会感到疑惑. ...
- SIP中OPTIONS方法的用法及示例
SIP中OPTIONS方法的用法及示例 用OPTIONS方法实现Keep Alive SIP keep-alive方法
- STUN/TURN/ICE协议在P2P SIP中的应用(一)
1 说明 本文详细描述了基于STUN系列协议实现的P2P SIP电话过程,其中涉及到了SIP信令的交互,P2P的原理,以及STUN.TURN.ICE的协议交互 本文所提到的各个服务 ...
- STUN/TURN/ICE协议在P2P SIP中的应用(二)
1 说明 2 打洞和穿越的概念... 1 3 P2P中的打洞和穿越... 2 4 使用STUN系列 协议穿越的特点... 2 5 STUN/ ...
- Sipdroid实现SIP(六): SIP中的请求超时和重传
目录 一. Sipdroid的请求超时和重传 二. SIP中超时和重传的定义 三. RFC中超时和重传的定义 一. Sipdroid的请求超时和重传 Sipdroid实现SIP协议栈系列, 之前的文章 ...
- SIP中的SDP offer/answer交换初探
1.引言 SDP的offer/answer模型本身独立与于利用它的高层协议.SIP是使用offer/answer模型的应用之一.RFC 3264 定义了offer/answer模型,但没有规定使用哪个 ...
- ROUTE: route addition failed
ROUTE: route addition failed 1)报FlushIpNetTable failed on interface错误 应对:以管理员身份运行OpenV-P-N 2)报Warnin ...
- 报错/Warning: You should not use <Route component> and <Route children> in the same route; <Route component> will be ignored
这个报错在以下情形会出现 第一种 <Switch> <Route exact path="/home/index" component={HomeIndex} / ...
- 关于wordpress中的contact form7和WP Mail SMTP的一些设置
昨天帮客户解决了这个问题 折腾了好几个小时 下面说下流程 先配置的 wp mail smtp 如果配置完毕后 就可以使用里面配置的邮件 放到contact form7 中的 发件人中 1 ...
随机推荐
- Job for keepalived.service failed because the control process exited with error code. See "systemctl status keepalived.service" and "journalctl -xe" for details.
解决方案 https://blog.csdn.net/zt15732625878/article/details/86493096
- [MyBatis]浅谈如何实现事务处理
要实现事务处理,就得从SqlSession中取出connection来,然后对connection采用setAutoCommit,commit,rollback等操作,最后的时候,不能像JDBC一样关 ...
- linux下的什么工具能将DVI文件转换成PostScript文件?
答: dvips,此工具能将由Latex或Tex生成的DVI文件转换成PostScript文件,官网在此
- realsense数据分析
line: (434,300) (453,144) (0,0,0),(-0.926698,-1.25853,2.032) 0.781452 ------------------------------ ...
- git撤销某次提交
1.查询提交记录.进入目录,查看某人在此目录下的commit: panxi@ww-bj-panxi MINGW64 [path]/Business (feature/v2.3) $ git log f ...
- 在Mac 搭建robotframework 环境
折腾来一下午,遇到了好多坑 坑 1.不要用pip 下载wxpython 2.不要用mac自带的python 3.不要自己下载wxpython 步骤: 1. 安装homebrew, /usr/bin/r ...
- ABAP程序拆分JOB
[ZDQFI_601_JOB 调用 ZDQFI_601拆分JOB] data: name type tbtcjob-jobname. data: number type tbtcjob-jobcoun ...
- 看看可爱c#中的delegate(委托)和event(事件)用法好不好
一.开篇忏悔 对自己最拿手的编程语言C#,我想对你说声对不起,因为我到现在为止才明白c#中的delegate和event是怎么用的,惭愧那.好了,那今天就趁月黑风高的夜晚简单来谈谈delegate和e ...
- iOS-ShareSDK的使用(转)
官方下载ShareSDK iOS:http://sharesdk.cn/ ShareSDK社会化分享 包含“社会化分享组件”“社会化登录组件”“第三方评论和赞”三大模块,并有详尽的数据统计后台,助力移 ...
- EMC DS300B光纤交换机扩展光口license
一.通过EMC指定的网站激活license 激活license,生成激活码需要三个信息: 1.交换机WWN号:可在交换机铭牌上查看:(16位) 2.SN号码:AQA00***9*6(11位) 3.ke ...