【问题标题】:Codec negotiation in Sip inviteSip 邀请中的编解码器协商
【发布时间】:2018-03-21 23:16:21
【问题描述】:

我已经分别使用编解码器 PCMA、PCMU 和 G729A 配置了我的驱动和接收 sip 端点。当我从驾驶端看到 sip 邀请时,我看到的编解码器顺序相同。接收方的 183 会话进度显示 G729A,呼叫使用此编解码器进行。为什么会这样?我希望协商的编解码器是 PCMA。有没有优先级?比如payload类型?

【问题讨论】:

    标签: networking sip sdp


    【解决方案1】:

    SDP 报价中的每个媒体行都包含支持的编解码器,按优先级降序排列。

    RFC3264 5.1 状态(关于 SDP 优惠):

    在所有情况下,“m=”行中的格式必须按顺序列出 首选项,列出的第一种格式是首选。在这个 在这种情况下,preferred 意味着要约的接收者应该使用 具有可接受的最高偏好的格式。

    还有RFC3264 6.1(关于 SDP 答案):

    虽然回答者可以按照他们想要的顺序列出格式 偏好,建议除非有特定原因, 回答者列表格式与它们相同的相对顺序 出现在报价中。换句话说,如果报价列表中的流 音频编解码器 8、22 和 48,按此顺序,仅应答器 支持编解码器 8 和 48,建议如果回答者有 没有理由改变它,答案中编解码器的顺序是 8, 48,而不是 48、8。这有助于确保在 两个方向。

    以下内容来自 SDP 报价;发件人宣布他支持编解码器 8、0 和 101。他更喜欢 8 (PCMA) 而不是 0 (PCMU)。

    m=audio 6200 RTP/AVP 8 0 101
    a=rtpmap:8 PCMA/8000
    a=rtpmap:0 PCMU/8000
    a=rtpmap:101 telephone-event/8000
    

    接收方将决定实际使用哪些编解码器,并在 SDP 应答中发送。他会忽略他不支持的编解码器,并且可能会更改其余编解码器的相对顺序(尽管不推荐)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-05-19
      • 2011-07-24
      • 2020-01-12
      • 2012-05-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多