我正在使用 Mozilla 的应答呼叫文档来应答Mozilla Firefox 35.0.1中的 WebRTC 呼叫,但每次我尝试在对等连接上设置本地描述时都会失败。
错误是带有以下消息的INTERNAL_ERROR :
无法启动媒体频道原因 = OK
我的代码是用 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
) - 设置远程 SDP (
pc.setRemoteDescription
) - 创建答案 (
pc.createAnswer
) - 设置本地 SDP (
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
我需要注意其他事情吗?