我正在测试基于 OpenSIPS 的 VoIP 系统。它没有 RTPproxy,因此呼叫不会通过 OpenSIPS。
我尝试在两部智能手机之间拨打电话,成功了。我还打开了Wireshark,得到了以下结果:
这是否意味着从第一部手机到第二部手机的语音通话通过第一个 RTP 流,而从第二部手机到第一部手机的语音通话通过第二个 RTP 流?
为什么不能只使用一个 RTP 流?它可以来回切换。
答案1
如果你真的想了解更多关于 RTP 的设计,我建议你阅读Perkins 的 RTP 书和RTP 常见问题解答。
几点评论:RTP 在设计时考虑到了很大的灵活性,可满足多种使用情况,例如多播。在您的示例中,RTP 源端口和目标端口相同,但通常情况并非如此,请阅读常见问题解答以了解解释。
请注意,即使参与者同时发送音频和视频,它们也会通过单独的 RTP 会话发送(再次阅读常见问题解答)。
答案2
RTP 流是单向的,没有反向通信。反向流通常采用相同的 UDP 端口号,但实际上这些流由端点软件独立处理