【问题标题】:SDP in 183 Session in progressSDP in 183 会话进行中
【发布时间】:2021-12-16 01:24:33
【问题描述】:

我正在查看不同的 sip 对话框,当我看到 183 而不是 180 时,随之而来的是 SDP。我的问题是,SDP 在 183 会话进度中的目的是什么? 为了让 UAS 发送媒体,它只需要知道 UAC 的 IP:PORT,但是 183 中的 SDP 正在通告 UAS 的 IP:PORT,我们实际上可以在 200ok/ACK 之前向 UAS 发送什么样的数据(RTP/UDP) ? 我试图了解 SDP 在 183 中的用途,因为它不需要向 UAC 发送任何媒体(例如广告、音乐等)。谢谢。

【问题讨论】:

    标签: sip sdp


    【解决方案1】:

    SIP 设计考虑到了以前存在的互操作电信协议。提醒 SIP 是信令协议,会话描述协议 (SDP) 描述媒体。

    一方面,ISDN 和 SIP 之间的互操作性已被证明是必要的,因此需要在媒体中进行信令。 从历史上看,在电信领域,向被叫方的呼叫进程由带内音调指示提供。 称为early media,与early offer无关。

    早期媒体有几种用途:

    a) 与 IVR(语音自动机 - 交互式语音响应)交互,无需接听您的电话(不收费)。

    b) 在不接听电话的情况下报告电信错误(不收费)。 例如:您拨打的号码不是……

    c) 其他情况,例如与旧的模拟 PSTN 互操作等。

    另一方面,SIP 采取了一种新的方式与媒体进行谈判,并提供了提前报价和延迟报价。

    由此产生的复杂性令人困惑,您的问题是有道理的,需要准确而渐进的回应。

    首先,将 SDP 放入 INVITE 请求的消息正文中的想法 - 这称为提前报价。 在媒体方面,呼叫者提供他们的选项(媒体、编解码器等)并等待被叫方决定选择哪个选项。 请注意,提前报价将选择媒体的权力交给被叫方。

    其次,出于任何原因,来电者不想提供提前报价但想选择媒体选项 - 这称为延迟报价。 INVITE 是在没有 SDP 的情况下发送的,被叫方在 200 Ok with SDP 中提供初始报价,然后呼叫者用 ACK with SDP 回复。 请注意,随着 SDP 顺序的这种变化,调用者将决定使用哪个媒体选项。

    下一步,让我们介绍180 Ringing,它用于提醒呼叫者被叫正在响铃。 180响应大部分时间不携带SDP body,收到该响应的设备通常会发起本地回铃音。

    现在,让我们介绍183 Session Progress,它表示两件事:

    1. SIP 与另一个电信网络(比如 ISDN)之间存在互操作。
    2. 带内信令用于 a)、b) 或 c)。最终用户必须听取早期媒体的意见。 此外,183 可用于向呼叫者提供远程回铃音。

    总之,183 session progress 提供了可用于传达有关呼叫的更多信息的标头和媒体。 它应该与网络之间的互操作一起使用。 通常建议使用 183/PRACK 以获得稳健的解决方案。

    【讨论】:

      【解决方案2】:

      ICE (RFC8445) 就是这样一个用途:de SDP 正文部分中的信息用于确定当音频必须通过一个或多个 NAT 时使用的实际 IP:PORT 组合。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-08-23
        • 2018-01-29
        • 2016-05-30
        • 1970-01-01
        • 2018-03-09
        • 2018-09-15
        • 2014-05-05
        • 2022-01-22
        相关资源
        最近更新 更多