BYE是逐跳的吗?还是端到端?

Is BYE hop by hop? or end to end?

我目前正在学习会话启动协议。在那里,开始学习会话发起协议的基本调用流程。在研究时,在一个来源中提到 BYE 请求方法是逐跳的,但在另一个来源中提到 BYE 请求方法是端到端的。所以现在我对此有点困惑,BYE 请求方法是逐跳还是端到端???任何人都帮我解决这个问题。另请参阅 sip 协议的良好来源。

由于 SIP BYE 只能是对话中的请求(与对话相关的 SIP UA 都不允许在 INVITE 事务完成之前发送 BYE,或者如果最终答案不是 2xx),逻辑上可以得出它只能使用对话框的路由集进行路由——根据 RFC 3261,这种机制被称为 "loose routing"。现在,由于 "loose routing" 在逻辑上与 "hop-by-hop routing" 冲突,因此 BYE 只能是 "end-to-end" 请求。

欢迎来到精彩的 SIP 世界!

我怀疑您在 BYECANCEL 之间遇到了错字:

  • BYE 是端到端的并且可以被验证(服务器可能会尝试挑战以保护假 BYE
  • CANCEL 是逐跳的。

有一些书可用,但我不想推荐一本;查看 'living' 网络资源和 RFC。开始看看http://www.networksorcery.com/enp/protocol/sip.htmtech-invite 并毫不犹豫地查看呼叫流程的 RFC,例如 RFC6337 Offer/Answer 模型的会话启动协议 (SIP) 使用。