无法在Mozilla Firefox(WebRTC)中设置本地描述

时间:2015-02-03 09:49:41

标签: firefox webrtc mozilla sdp peer-connection

我正在使用Mozilla的Answering a call文档来回答 Mozilla Firefox 35.0.1 中的WebRTC调用,但每当我尝试在对等连接上设置本地描述时,它都会失败。

错误是 INTERNAL_ERROR ,消息为:

  

无法启动媒体频道原因=确定

我的代码是用CoffeeScript编写的,但希望很容易阅读:

_create_answer: =>

  # @param {mozRTCSessionDescription} answer the SDP answer.
  on_answer_success = (answer) =>
    console.log 'Create Answer: OK', answer

  on_local_sdp_success = () =>
    console.log 'Set local SDP (answer): OK'
    @_send_local_sdp answer

  on_local_sdp_failure = (error) =>
    console.log "#{error.name} - #{error.message}"

  console.log '(5) Set local SDP.', @logger.levels.INFO
  @pc.setLocalDescription answer, on_local_sdp_success, on_local_sdp_failure

如您所见,在对等连接上设置本地描述是第五步。以下是我之前做的步骤:

  1. 请求用户媒体流(navigator.getUserMedia
  2. 设置本地媒体流(pc.addStream / pc.onaddstream
  3. 设置远程SDP(pc.setRemoteDescription
  4. 创建答案(pc.createAnswer
  5. 设置本地SDP(pc.setLocalDescription
  6. 以下是Firefox生成的SDP答案以及我尝试通过pc.setLocalDescription设置为对等连接的答案:

    v=0
    o=Mozilla-SIPUA-35.0.1 2330 0 IN IP4 0.0.0.0
    s=SIP Call
    t=0 0
    a=ice-ufrag:c6dc3e0f
    a=ice-pwd:8ab875b276043fa2e76effc4fbe77014
    a=fingerprint:sha-256 F5:53:7F:74:A4:3E:27:8F:4B:BC:64:37:ED:96:BD:2D:0D:22:49:FB:E5:AF:8C:E7:05:41:5F:EF:7F:F1:D9:A0
    m=audio 9 RTP/SAVPF 96
    c=IN IP4 0.0.0.0
    a=rtpmap:96 opus/48000/2
    a=ptime:20
    a=sendrecv
    a=setup:active
    a=rtcp-mux
    

    我需要注意其他事情吗?

1 个答案:

答案 0 :(得分:0)

这可能与切换到all-trickle-ICE有关。您需要在正确的时间设置onicecandidate,并安装它们。有关稍微复杂的示例,请参阅webrtc_landing/pc_test(通过在一个页面中使用两个对等连接,调用自身来使其变得复杂,因此您必须小心谨慎,不要在有问题的对等连接准备好之前安装冰候选者(请参阅该页面的源代码。)此外,还有很多复选框选项可以打开和关闭不同的功能。

该示例页面可能需要一个小的更新。一旦您的代码进入并更正它,请随意! (如果这是一个问题,请向我提供更新)