You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用TURN服务器时WebRTC P2P通话连接异常排查请求

TURN服务器在Firefox开启relay_only时无法支持Chrome与Firefox的WebRTC P2P通话

问题描述

  • 新部署的TURN服务器在mediasoup应用中可正常工作,但无法支持Firefox开启media.peerconnection.ice.relay_only配置时与Chrome的简单WebRTC P2P通话
  • 关闭Firefox的relay_only设置后,双方可通过srflx候选正常建立P2P通话
  • 开启relay_only后,Firefox日志显示已生成relay候选,但通话始终无法连接;Firefox的about:webrtc页面中无选中的候选对,疑似ICE候选握手流程未完成

测试环境与方法

  • 使用Firefox 102版本,在about:config中设置media.peerconnection.ice.relay_only=true
  • 开启该配置后:
    • mediasoup应用可通过relay-tcp候选正常工作,about:webrtc显示候选协商成功并选中候选对
    • 简单WebRTC P2P应用连接失败,about:webrtc无选中候选对信息
  • 使用TrickleICE测试TURN服务器,全候选和仅relay候选模式下均能正常生成候选

SDP信息(TURN服务器IP已掩码为xx.xxx.xx.xxx)

Local SDP (Offer)

v=0
o=mozilla...THIS_IS_SDPARTA-99.0 464200334888033493 0 IN IP4 0.0.0.0
s=-
t=0 0
a=sendrecv
a=fingerprint:sha-256 53:36:D8:C7:BE:4A:18:8B:66:13:E0:F5:2A:CA:3E:12:D5:C2:5C:3D:49:52:37:69:E3:C5:DE:AB:EB:97:A6:FE
a=group:BUNDLE 0 1
a=ice-options:trickle
a=msid-semantic:WMS *
m=audio 15203 UDP/TLS/RTP/SAVPF 109 9 0 8 101
c=IN IP4 xx.xxx.xx.xxx
a=candidate:2 1 UDP 8265727 xx.xxx.xx.xxx 11212 typ relay raddr xx.xxx.xx.xxx rport 11212
a=candidate:2 2 UDP 8265726 xx.xxx.xx.xxx 13559 typ relay raddr xx.xxx.xx.xxx rport 13559
a=candidate:0 1 UDP 92151807 xx.xxx.xx.xxx 15203 typ relay raddr xx.xxx.xx.xxx rport 15203
a=candidate:0 2 UDP 92151806 xx.xxx.xx.xxx 12659 typ relay raddr xx.xxx.xx.xxx rport 12659
a=sendrecv
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=extmap:2/recvonly urn:ietf:params:rtp-hdrext:csrc-audio-level
a=extmap:3 urn:ietf:params:rtp-hdrext:sdes:mid
a=fmtp:109 maxplaybackrate=48000;stereo=1;useinbandfec=1
a=fmtp:101 0-15
a=ice-pwd:543612c020ecbfa091075987638de7de
a=ice-ufrag:19fb9389
a=mid:0
a=msid:{df27f0b0-7ad1-4821-9d5c-100d8b7f46a1} {de00dd52-3713-4828-bf7c-eb6b0fc02830}
a=rtcp-mux
a=rtpmap:109 opus/48000/2
a=rtpmap:9 G722/8000/1
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
a=setup:actpass
a=ssrc:3389249034 cname:{6f1432d9-6700-41e7-8d4e-12b2a58d142b}
m=video 15203 UDP/TLS/RTP/SAVPF 120 124 121 125 126 127 97 98
c=IN IP4 xx.xxx.xx.xxx
a=sendrecv
a=extmap:3 urn:ietf:params:rtp-hdrext:sdes:mid
a=extmap:4 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
a=extmap:5 urn:ietf:params:rtp-hdrext:toffset
a=extmap:6/recvonly http://www.webrtc.org/experiments/rtp-hdrext/playout-delay
a=extmap:7 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01
a=fmtp:126 profile-level-id=42e01f;level-asymmetry-allowed=1;packetization-mode=1
a=fmtp:97 profile-level-id=42e01f;level-asymmetry-allowed=1
a=fmtp:120 max-fs=12288;max-fr=60
a=fmtp:124 apt=120
a=fmtp:121 max-fs=12288;max-fr=60
a=fmtp:125 apt=121
a=fmtp:127 apt=126
a=fmtp:98 apt=97
a=ice-pwd:543612c020ecbfa091075987638de7de
a=ice-ufrag:19fb9389
a=mid:1
a=msid:{df27f0b0-7ad1-4821-9d5c-100d8b7f46a1} {6e402539-71af-4d4d-952f-14c89b1122a4}
a=rtcp-fb:120 nack
a=rtcp-fb:120 nack pli
a=rtcp-fb:120 ccm fir
a=rtcp-fb:120 goog-remb
a=rtcp-fb:120 transport-cc
a=rtcp-fb:121 nack
a=rtcp-fb:121 nack pli
a=rtcp-fb:121 ccm fir
a=rtcp-fb:121 goog-remb
a=rtcp-fb:121 transport-cc
a=rtcp-fb:126 nack
a=rtcp-fb:126 nack pli
a=rtcp-fb:126 ccm fir
a=rtcp-fb:126 goog-remb
a=rtcp-fb:126 transport-cc
a=rtcp-fb:97 nack
a=rtcp-fb:97 nack pli
a=rtcp-fb:97 ccm fir
a=rtcp-fb:97 goog-remb
a=rtcp-fb:97 transport-cc
a=rtcp-mux
a=rtcp-rsize
a=rtpmap:120 VP8/90000
a=rtpmap:124 rtx/90000
a=rtpmap:121 VP9/90000
a=rtpmap:125 rtx/90000
a=rtpmap:126 H264/90000
a=rtpmap:127 rtx/90000
a=rtpmap:97 H264/90000
a=rtpmap:98 rtx/90000
a=setup:actpass
a=ssrc:2840162245 cname:{6f1432d9-6700-41e7-8d4e-12b2a58d142b}
a=ssrc:1181264584 cname:{6f1432d9-6700-41e7-8d4e-12b2a58d142b}
a=ssrc-group:FID 2840162245 1181264584

Remote SDP (Answer)

v=0
o=- 5898391754541643877 2 IN IP4 127.0.0.1
s=-
t=0 0
a=sendrecv
a=group:BUNDLE 0 1
a=msid-semantic:WMS izy342Js2ivoQo0m43FgE2Q3Y87sZ0NCQlYy
m=audio 9 UDP/TLS/RTP/SAVPF 109 9 0 8 101
c=IN IP4 0.0.0.0
a=sendrecv
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=extmap:3 urn:ietf:params:rtp-hdrext:sdes:mid
a=fingerprint:sha-256 79:83:6F:1A:5B:E4:BD:C7:5D:D3:BD:FA:29:5E:FB:04:88:9D:29:4D:CB:1E:4A:66:C2:52:9A:33:FB:86:E5:B1
a=fmtp:109 maxplaybackrate=0;stereo=0;useinbandfec=1
a=ice-options:trickle
a=ice-pwd:S8EqJvFxFsROgTTfy2c1p+fO
a=ice-ufrag:dylB
a=mid:0
a=msid:izy342Js2ivoQo0m43FgE2Q3Y87sZ0NCQlYy 70e6f101-9697-4f7f-8d35-e10bbfa74958
a=rtcp:9 IN IP4 0.0.0.0
a=rtcp-mux
a=rtpmap:109 opus/48000/2
a=rtpmap:9 G722/8000/1
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
a=setup:active
a=ssrc:723086318 cname:NSNYU4Lgz+Cpndvm
m=video 9 UDP/TLS/RTP/SAVPF 120 124 121 125 126 127 97 98
c=IN IP4 0.0.0.0
a=sendrecv
a=extmap:5 urn:ietf:params:rtp-hdrext:toffset
a=extmap:4 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
a=extmap:7 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01
a=extmap:6 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay
a=extmap:3 urn:ietf:params:rtp-hdrext:sdes:mid
a=fingerprint:sha-256 79:83:6F:1A:5B:E4:BD:C7:5D:D3:BD:FA:29:5E:FB:04:88:9D:29:4D:CB:1E:4A:66:C2:52:9A:33:FB:86:E5:B1
a=fmtp:124 apt=120
a=fmtp:125 apt=121
a=fmtp:126 profile-level-id=42e01f;level-asymmetry-allowed=1;packetization-mode=1
a=fmtp:127 apt=126
a=fmtp:97 profile-level-id=42e01f;level-asymmetry-allowed=1
a=fmtp:98 apt=97
a=ice-options:trickle
a=ice-pwd:S8EqJvFxFsROgTTfy2c1p+fO
a=ice-ufrag:dylB
a=mid:1
a=msid:izy342Js2ivoQo0m43FgE2Q3Y87sZ0NCQlYy c481d53b-2e22-4ade-b9c9-a8740c96f309
a=rtcp:9 IN IP4 0.0.0.0
a=rtcp-fb:120 goog-remb
a=rtcp-fb:120 transport-cc
a=rtcp-fb:120 ccm fir
a=rtcp-fb:120 nack
a=rtcp-fb:120 nack pli
a=rtcp-fb:121 goog-remb
a=rtcp-fb:121 transport-cc
a=rtcp-fb:121 ccm fir
a=rtcp-fb:121 nack
a=rtcp-fb:121 nack pli
a=rtcp-fb:126 goog-remb
a=rtcp-fb:126 transport-cc
a=rtcp-fb:126 ccm fir
a=rtcp-fb:126 nack
a=rtcp-fb:126 nack pli
a=rtcp-fb:97 goog-remb
a=rtcp-fb:97 transport-cc
a=rtcp-fb:97 ccm fir
a=rtcp-fb:97 nack
a=rtcp-fb:97 nack pli
a=rtcp-mux
a=rtcp-rsize
a=rtpmap:120 VP8/90000
a=rtpmap:124 rtx/90000
a=rtpmap:121 VP9/90000
a=rtpmap:125 rtx/90000
a=rtpmap:126 H264/90000
a=rtpmap:127 rtx/90000
a=rtpmap:97 H264/90000
a=rtpmap:98 rtx/90000
a=setup:active
a=ssrc:3533905249 cname:NSNYU4Lgz+Cpndvm
a=ssrc:3012959319 cname:NSNYU4Lgz+Cpndvm
a=ssrc-group:FID 3533905249 3012959319

恳请协助排查此问题,如需更多信息请告知。

内容的提问来源于stack exchange,提问作者saurav

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 21:24:22