为什么标签需要标识SIP对话框?

时间:2011-09-19 13:02:20

标签: sip

本地和远程标签的组合以及 Call-ID 用于标识对话框。据说呼叫ID 是呼叫的唯一值。为什么 Call-ID 不仅仅用于识别对话框?

3 个答案:

答案 0 :(得分:8)

总之:“发夹”。

“发夹”是用户代理对自己进行调用的时间,主要是为了进行自我测试。 (你可能有这个原因的另一个原因是你的代理将你的呼叫路由到你自己,称为“tromboning”。如果故意这样做,它对你的基础设施是一个有用的端到端测试。)

因此,假设您向自己发送邀请,然后回答。然后,您的用户代理必须有两个对话框(每个对话框都带有标识符),每个对话框代表一个呼叫的一端。如果你只有一个Call-ID,那么你不知道哪个对话是调用者,哪个是被调用者。

此处的FromTo标记是您可以明确确定哪个对话框的方式。

答案 1 :(得分:1)

来自标记标记不足以唯一标识Alice和Bob之间的SIP对话。您还必须合并 Call-ID

在RFC 3261第12页中,我们发现:

  

Call-ID 包含此次通话的全球唯一标识符,      由随机字符串和软电话的组合产生      主机名或IP地址。 To标签,From标签的组合,       Call-ID 完全定义了对等SIP关系      在爱丽丝和鲍勃之间,被称为对话。

SIP RFC 3261

答案 2 :(得分:0)

即使唯一的呼叫ID在发送消息时保证唯一性,但在分叉的情况下,呼叫ID不保证唯一性。例如,如果alice调用bob,邀请消息发送到所有bob的注册端点 - bob的智能手机和bob的PC。这就是标记进入图片的位置,以确定响应来自哪个端点。每个端点都将发送具有相同呼叫ID但不同标签的响应。