我了解 NAT 打孔、ICE 和 SIP VOIP 呼叫的许多细节。我已经在这些主题上回答了很多关于 SO 的问题。现在我有一个问题。
我试图了解在呼叫建立后记录为 SIP+ICE 的 RE-INVITE 消息的需求。
假设 VOIP 设备的拓扑结构通过 SIP 发出信号并使用 ICE(带有 STUN/TURN)来建立媒体连接。执行 ICE 连接检查后,两个端点都应该确定最佳地址候选配对(IP、端口),并且应该准备好双向流媒体。
但是我在 SIP 方面的经验和大量文档表明,在被叫方发送 200 OK 消息以表明他处于已应答状态后,呼叫者应该发送带有 SDP 的 RE-INVITE,其中包含通过连接检查选择的特定地址候选者.
一些描述使用 ICE 重新邀请的链接在此处和此处(第 8 步)。Rosenberg 的教程(第 30 页)讨论了 RE-INVITE “确保中间盒具有正确的媒体地址”。我不确定为什么这很重要。
收到 RE-INVITE 后,被调用者是否需要重新配置其 ICE 堆栈以根据收到的新 SDP 切换套接字或地址?还是 RE-INVITE 只是正式确认呼叫已建立的协议形式?如果跳过 RE-INVITE 步骤,双方都开始流媒体,会出现什么问题?
我问的原因是因为我正在探索在不是 SIP 的信令服务上使用 ICE。我试图弄清楚是否需要模拟 RE-INVITE。