我一直在阅读一些与 SIP 相关的资料,但我感到困惑,什么是 SIP 背对背用户代理(B2BUA)和“普通”用户代理?
有人能解释一下其中的区别吗?
据我所知,我无法区分 B2BUA 和 UA...对我来说,当需要回答请求时,UA 充当 UAS(用户代理服务器),当需要发送请求时,UA 充当 UAC(用户代理客户端)。
但我不明白 B2BUA 有何不同。
抱歉,如果这没有意义,但我有点困惑
答案1
您可以在这里找到一篇解释 B2BUA 的有趣文章:
https://andrewjprokop.wordpress.com/2013/12/27/the-back-to-back-user-agent-b2bua/
简而言之,B2BUA 是一个 SIP 实体,它可以将一个呼叫“拆分”为两个呼叫段:在一端终止一个呼叫段,在另一端创建新的呼叫段。这两个呼叫段可能彼此不了解,因此 B2BUA 充当分界点。术语 B2BUA 还指 SIP 实体根据 SIP 标头和 SDP 主体操纵 SIP 数据包的能力。
答案2
RFC 没有定义 B2BUA 能做什么或不能做什么,所以我的答案有点模糊,这是必然的。
B2BUA 不是代理,但有调用流通过例如,您可以使用 B2BUA 作为两个 SIP 网络之间的网关。
因此得名:通过 B2BUA 运行的某些连接会导致一侧产生 SIP 呼叫(其中 B2BUA 充当 UAS),而另一侧产生另一个 SIP 呼叫(其中 B2BUA 充当 UAC)。
答案3
B2BUA 是 SIP 应用中使用的网络元素。其行为取决于其在 SIP 信令流中的角色。在 SIP 信令中,它作为请求发起者的 UAS,同时作为请求目的地(来自不同支路)的 UAC。
它的角色没有定义为无状态代理,它可以操作、更改、删除或向 SIP 消息添加头字段。
爱丽丝 ----------------> B2BUA -------------------> 鲍勃
爱丽丝 <---------------- B2BUA <------------------- 鲍勃
考虑上述 SIP 信令,Alice 邀请 Bob,Alice-B2BUA 和 B2BUA-Bob 之间的所有对话和事务标识符都将不同。在第一个 INVITE 请求中,B2BUA 对 Alice 来说将作为 UAS 出现,而对 Bob 来说将作为 UAC 出现。