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,它表示两件事:
- SIP 与另一个电信网络(比如 ISDN)之间存在互操作。
- 带内信令用于 a)、b) 或 c)。最终用户必须听取早期媒体的意见。
此外,
183 可用于向呼叫者提供远程回铃音。
总之,183 session progress 提供了可用于传达有关呼叫的更多信息的标头和媒体。
它应该与网络之间的互操作一起使用。
通常建议使用 183/PRACK 以获得稳健的解决方案。