sip服务器和sip客户端之间是否传递RTP语音流?

发布于 2022-08-14 15:50:19 字数 237 浏览 6 评论 6

比如sip客户端c1和c2都注册到同一个sip服务器(c1,c2,sip服务器处于同一个局域网中)
或者在其它不同的场景下(比如c1和c2分别处于不同的nat后, sip服务器位于公网上)

当c1呼叫c2成功后,c1和c2之间开始互发RTP语音流,这样,双方就可以互相听见对方的声音了

那么sip服务器和sip客户端之间是否传递RTP语音流?即服务器是否转发c1和c2之间通信
的语音数据?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

梦情居士 2022-08-20 23:38:28

跟是否在局域网没关系 只跟canreinvite的设置有关

巴黎夜雨 2022-08-20 17:28:57

呵呵,学习,我也想知道。

旧夏天 2022-08-20 14:03:43

谢谢楼上的几个兄弟

  我前几天做了一个实验,在同一个局域网内:linux server端用Yate2服务器, windows客户端用了两个软电话
两个软电话注册到Yate2服务器上进行通话实验,并且进行了抓包

  抓包发现两个客户端之间的通话RTP数据流通过了服务器进行转发,这个是怎么回事呢?

  这两个sip客户端都处在同一个局域网里,为什么两者之间的通话语音流还要通过服务器转发呢??

过期以后 2022-08-19 22:57:41

雖然 Asterisk 有 canreinvite 但仍有一些環境條件限制,請參考這篇
http://itblog.itview.com.tw/index.php?load=read&id=43

如果對 RTP 不需要作控制,例如轉接、錄音等等,或許使用 SIP Proxy Server 可以解決。
SIP Proxy Server 請用 google 搜尋 openser。

沉默的熊 2022-08-19 20:33:54

同一个NAT后,一般是c1和c2 RTP包直接互传
如果不再同一个NAT后,一般通过专门的RTP server中转,具体不同系统有不同的实现方法

自由如风 2022-08-19 11:43:40

canreinvite=no的话就是强制

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文