SIP tag 和 Call-ID 的区别

Views: 35621 | Add Comments

SIP 的一次通话,可以通过 From, To, Call-ID 三元组来区分。但是,为什么 From 和 To 不用固定的地址,而要在地址后面加上 tag=随机数 呢?

tag 的目的是为了解决自己给自己打电话的问题(Hairpinning)。如果你自己给自己打电话,那么你应该有两个 Session,但是,如果 From 和 To 是固定的,你就无法区别这两个 Session 哪个是 caller 哪个是 callee。发送 INVITE 时,caller 会在 From 中带有 tag=随机数,而 callee 发送响应时,在 To 后面补充 tag=随机数,不同的随机数分别表示 caller 和 callee。

所以,RFC 3261 中说:

The combination of the To tag, From tag, and Call-ID completely defines a peer-to-peer SIP relationship...

用的是 From tag 和 To tag,而不是用 From 和 To。

Related posts:

  1. P2P 的定义
  2. Raft Read Index 的实现
  3. Ideawu.P2P API 简介
  4. P2P应用的架构
  5. The Day You Went Away — M2M
Posted by ideawu at 2017-06-16 19:29:25 Tags: ,

Leave a Comment