【发布时间】:2012-03-27 01:00:40
【问题描述】:
我的网络在 NAT 后面设置了 2 个 UAC(一个是 Jitsi,另一个是我自己的 UA,用 C 编码,支持 SIP)。 Asterisk 设置在公共 IP 上。
在 sip.conf 中,两个 UAC 都有以下内容:nat=yes directmedia=no
然后我执行调用 Jitsi 客户端的代码。我通过 Jitsi 回答,一切似乎都很好。 Asterisk 为每个 UAC 提供一个 RTP 主机/端口,以通过我已适当解析的 SDP 数据包向其发送视频(此会话中不包括音频)。每个用户代理都开始传输 RTP 数据包。
这里是问题发生的地方: Asterisks 开始打印
"从 XX.XXX.XX.XXX:XXXXX (type XX, seq XXXXX, ts XXXXXx, len XXXXXX) 得到 RTP 数据包"
从两个 UAC 重复但实际上从未在任何地方发送任何 RTP 数据包(我希望“发送 RTP ....”)。
我已经通过 QuickTime 广播服务器测试了我的 H264 RTP 代码,并且数据包通过各种媒体播放器在本地网络上正确解码。我的 SIP 呼叫连接似乎没有问题,而且 Asterisk 从未在控制台中打印出任何警告或错误。
我一生都无法弄清楚为什么 Asterisk 不转发 RTP 数据包。任何帮助将不胜感激。
【问题讨论】:
-
您是否提高了 Asterisk 日志记录的详细程度以查看它是否提供任何提示?它曾经是 core set verbose 5 和/或 core set debug 5 之类的东西。虽然我使用 Asterisk 已经有一段时间了,但命令格式可能已经改变。
-
我通过 asteriks -rvvvvvvvvvvv 运行星号。我已经搜索了调试输出,据我所知,调用的建立方式没有问题。
-
曾经还有一个 rtp 调试控制台命令,它会为每个遍历服务器的 RTP 数据包脱口而出日志消息。
-
是的,它是 rtp 设置调试开/关/ip。这就是我如何得到“从 .... 获得 RTP 数据包”控制台消息。
标签: sip blocking h.264 asterisk rtp