我正在使用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
如您所见,在对等连接上设置本地描述是第五步。以下是我之前做的步骤:
navigator.getUserMedia
)pc.addStream / pc.onaddstream
)pc.setRemoteDescription
)pc.createAnswer
)pc.setLocalDescription
)以下是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
我需要注意其他事情吗?
答案 0 :(得分:0)
这可能与切换到all-trickle-ICE有关。您需要在正确的时间设置onicecandidate,并安装它们。有关稍微复杂的示例,请参阅webrtc_landing/pc_test(通过在一个页面中使用两个对等连接,调用自身来使其变得复杂,因此您必须小心谨慎,不要在有问题的对等连接准备好之前安装冰候选者(请参阅该页面的源代码。)此外,还有很多复选框选项可以打开和关闭不同的功能。
该示例页面可能需要一个小的更新。一旦您的代码进入并更正它,请随意! (如果这是一个问题,请向我提供更新)