【问题标题】:What is the difference between the normal INVITE and the INVITE on hold in a session using SIP protocol?在使用 SIP 协议的会话中,普通 INVITE 和 INVITE 有什么区别?
【发布时间】:2021-07-02 17:27:34
【问题描述】:

大家好,软件领域和堆栈溢出也是新手。我使用SIP协议分析了呼叫者和被呼叫者之间会话的后端流程。我对正常的 INVITE 和 INVITE 暂停有点困惑。谁能解释一下它们之间的区别?
提前致谢。

【问题讨论】:

    标签: sip


    【解决方案1】:

    一个普通的 SIP INVITE 将主要有 CSeq 1。但 Re-INVITE 将有更大的 CSeq 值。 INVITE 和 Re-INVITE 之间的区别在于它们的 CSeq 将递增,否则 UAS 将拒绝该消息。可以使用 Re-INVITE 以保持/检索/编解码器级别更改的形式修改现有对话框。 请记住,Re-INVITE 与 Re-Transmitted INVITE 不同

    【讨论】:

      【解决方案2】:

      请查看以下链接:

      https://andrewjprokop.wordpress.com/2015/02/10/understanding-sip-re-invite/

      re-INVITE 最常见的用途是通话保持。保持呼叫的一方发送带有 SDP 的 re-INVITE,指示将不再发送媒体。同一方将通过发送另一个带有 SDP 的 re-INVITE 来取消呼叫保持,指示媒体传输将恢复。

      【讨论】:

      • 谢谢@os11k。我还有一个疑问,为什么我们在 SDP 中提到 NULL IP?你能解释一下这背后的技术原因吗?
      • 首先:应避免使用空IP地址的方法。来自“IP电话:部署VoIP协议和IMS基础设施”一书:RFC 2543描述了一种基本形式的发言权控制,通过发送新的INVITE消息,将'c' SDP参数设置为空'0.0.0.0'以使端点静音,并在允许参加会议时重新邀请它(非 null 'c' 参数)。由于 RFC 3261 及其对媒体提供和答案的更正式描述,现在禁止使用此约定。
      【解决方案3】:

      我来不及回答了!但又多了一个区别。

      invite 和 re-invite 之间的一个区别显然是 re-invite 比初始邀请具有 incremental cseq 数量。

      另一个区别是重新邀请将具有 totag 值,而在初始邀请中则没有。

      这是一个初始邀请示例,因为 To: 标头上没有 totag

      【讨论】:

        【解决方案4】:

        Re-Invite 和 Re-Invite 传输之间的区别由 C-Seq Number 标识。 即Invite的重新传输包含与相应Invite先前使用的相同的C-seq No。但是在用于更改会话参数的Re-Invite中,c-seq是增量1。

        Re-Invite 常用于 Call hold ,即设置 SDP 中的 a(attribute-Line) 为 send only 或者它可以将 c(Connection Address) 更改为 0.0.0.0。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2018-07-15
          • 2013-04-01
          • 1970-01-01
          • 2013-03-10
          • 1970-01-01
          • 1970-01-01
          • 2023-04-10
          • 1970-01-01
          相关资源
          最近更新 更多