【问题标题】:Asterisk: Unsupported SDP media type in offer: video 0 RTP/AVP 0星号:提供不支持的 SDP 媒体类型:视频 0 RTP/AVP 0
【发布时间】:2011-11-13 11:46:52
【问题描述】:

我正在尝试使用开源 Java SIP 客户端 Jitsi 进行视频聊天。 为了消除所有网络和代理问题,我设置了自己的 SIP 代理 Asterisk,并且两个客户端都在同一个 LAN 上。我还将 Asterisk 配置为中继 RTP 数据包或在对等方之间进行直接通信。

上述错误来自 Asterisk 和 chan_sip.c:8915 (asterisk-10.0.0-beta)。 Asterisk 代码检查端口 0。

我被上述问题困住了。我可以尝试修改 Jitsi 代码以不使用端口 0,但想知道是否有更好的方法以及端口 0 是否是合法值。

顺便说一句,我成功地让 2 个 Xlite(来自 CounterPath 的商业软件)在彼此之间传输 H263 视频。我无法让 Xlite 使用 Jitsi 这样做,也无法让两个 Jitsi 客户端发送视频。

我想使用 Java 客户端,因为我更适应 Java。而且我也希望将来能够在 Android 上重用相同的代码库。

【问题讨论】:

    标签: voip sip asterisk sdp


    【解决方案1】:

    端口设置为 0 是完全合法的,并且是 SDP 提供/应答模型的一部分。事实上,这可能意味着您的 SDP 报价有问题。例如,如果您支持 PCMA 编解码器,而对等方仅支持 PCMU,他将拒绝端口设置为 0 的 SDP 报价。报价被拒绝可能有很多原因,但编解码器不兼容可能是最常见的。

    如果你想真正调试这个,你可能需要查看数据包(例如使用 Wireshark)。

    【讨论】:

    • 谢谢。我能够追踪逻辑。 Jitsi 客户端明确设置端口 0 以拒绝视频流。
    【解决方案2】:

    您问“......但想知道是否有更好的方法,以及端口 0 是否是合法值。”

    端口 0 在SDP 中是完全合法的。特别是,RFC 3264 section 5.1 中的 SIP 提供/应答模型表明

    A port number of zero in the offer indicates that the
    stream is offered but MUST NOT be used.
    

    【讨论】:

      猜你喜欢
      • 2018-06-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-10
      • 2019-08-02
      相关资源
      最近更新 更多