2017-06-16

SIP报文Via和Contact的区别

Views: 36201 | Add Comments

Via 是网络层的信息,SIP 报文将通过网络层发往这两个地址。Contact 是业务上的地址。那么问题是,应该发往哪个?

正确的做法是,请求响应模式中的响应发往 Via。如果解析 DNS 之后能直连 Contact,那么之后的报文(无论是否是请求响应模式)发往 Contact。

请求如果经过多个代理,每个代理都增加自己的 Via,变成 Via 列表。最终节点回复响应时,带有全部 Via 列表,根据最后一个 Via 获知要发送的目的网络地址。每个代理转发响应时,把最后一个属于自己的 Via 删除,再根据前一个 Via 得到要转发的目的网络地址。

这样,代理可以做无状态转发请求和响应,其中请求转发依赖路由表,响应转发依赖 Via 列表。

Related posts:

  1. SIP INVITE 会话建立过程
  2. SIP tag 和 Call-ID 的区别
  3. 自建一个电话呼叫中心要多少钱?
  4. 音频编码的一些笔记
  5. WebRTC源码架构浅析
Posted by ideawu at 2017-06-16 18:54:05 Tags: ,

Leave a Comment