introduce

RTCConfiguration. IceTransportPolicy defines the ICE candidate strategy, the browser to use this strategy to the application display allows candidates, only those candidates that will be used to connect to check.

const pc = new RTCPeerConnection({ iceTransportPolicy: 'all' });
Copy the code

Note: There are four categories of ICE agent candidates, host candidates, server reflection candidates, peer reflection candidates, and relay candidates.

Enumeration Value Description

All (default) : The ICE agent uses all types of candidates for connection checking. All four candidates will be tried at this point.

Relay: The ICE agent only uses media relay candidates, such as those that pass through the TURN server.

Verify the environment

There is a Janus server on the Intranet and a COMPUTER on the Intranet is used for access.

TURN Server and Janus server are on the same device, and the UDP 3487 port is mapped to the public network through the Intranet penetrating cloud service. The mapping result is free.svipss.top:51351 (121.199.22.135:51351).

  • Janus server address: 192.168.100.221
  • The PC address of the browser is 192.168.100.108
  • TURN Server address: 192.168.100.221, mapped address port: free.svipss.top:51351

The TURN Server is set up using Coturn. The configuration file is as follows:

# TURN server name and realm realm=192.168.100.221 server-name= turnServer # Use fingerprint in TURN message fingerprint Listens of the TURN server listens - IP =192.168.10.221 # External IP Address of the TURN server listens #external-ip=121.199.22.135 # Main Listening port Listening-port =3478 # Further ports that are open for communication min-port=20000 max-port=22000 # Enable verbose logging verbose # Specify the user for the TURN authentification user=test:123456 # Enable long-term credential mechanism lt-cred-mechCopy the code

Comparing the results

The main difference is in the candidate information reported by the browser OnicecandiDate.

When all is used, the candidate information reported by the browser OnicecandiDate contains five candidates

Candidate :173396259 1 UDP 2122260223 172.30.192.1 59765 TYp host generation 0 ufrag 7+eD networker id 1 Candidate :1497262264 1 UDP 2122194687 192.168.100.108 59766 TYp host generation 0 ufrag 7+eD networker id 2 Candidate :1154887123 1 TCP 1518280447 172.30.192.1 9 Typ host tcpType active generation 0 ufrag 7+eD network-id 1 Candidate :398300232 1 TCP 1518214911 192.168.100.108 9 Typ host tcpType active generation 0 ufrag 7+eD network-id 2 Candidate :821307257 1 UDP 1685987071 192.168.100.108 55506 TYp SRFLX raddr 192.168.100.108 rport 59766 generation 0 ufrag 7+eD network-id 2Copy the code

With relay, there is only one candidate in the candidate information reported by browser OnicecandiDate

Candidate :3363055999 1 UDP 41819903 192.168.100.221 20522 TYp relay raddr 0.0.0.0 Rport 0 generation 0 ufrag 5Kjh network-id 2Copy the code

Question: Why is no relay candidate obtained when all is used?

Backup location of signaling and network packet capture files

  • Link: pan.baidu.com/s/1OldaPtfG…
  • Extract code: S58R
  • Copy this section of content after opening Baidu web disk mobile App, operation more convenient oh

Signal analysis

all

Initialization code
    const pc = new RTCPeerConnection({
      iceServers: [{urls: ['turn:free.svipss.top:51351'].username: 'test'.credential: '123456'.credentialType: 'password'],},iceTransportPolicy: 'all'.iceCandidatePoolSize: '0'.bundlePolicy: 'max-bundle'.rtcpMuxPolicy: 'require'.tcpCandidatePolicy: 'disable'.IceTransportsType: 'nohost'});Copy the code
Candidate information reported by the browser OnicecandiDate
Candidate :173396259 1 UDP 2122260223 172.30.192.1 59765 TYp host generation 0 ufrag 7+eD networker id 1 Candidate :1497262264 1 UDP 2122194687 192.168.100.108 59766 TYp host generation 0 ufrag 7+eD networker id 2 Candidate :1154887123 1 TCP 1518280447 172.30.192.1 9 Typ host tcpType active generation 0 ufrag 7+eD network-id 1 Candidate :398300232 1 TCP 1518214911 192.168.100.108 9 Typ host tcpType active generation 0 ufrag 7+eD network-id 2 Candidate :821307257 1 UDP 1685987071 192.168.100.108 55506 TYp SRFLX raddr 192.168.100.108 rport 59766 generation 0 ufrag 7+eD network-id 2Copy the code
Candidate sent over by Janus
Candidate :1 1 UDP 2013266431 192.168.100.221 20651 Typ host Candidate :4 1 UDP 1677722111 36.17.176.200 26569 typ SRFLX Raddr 192.168.100.221 rport 20651Copy the code
The offer SDP reported by the browser
v=0
o=- 5247939015171769789 2 IN IP4 127.0.0.1
s=-
t=0 0
a=group:BUNDLE 0 1
a=extmap-allow-mixed
a=msid-semantic: WMS mYoc2iUHPjJzLofS9GBRCjDxlGlYlwmGR7sU
m=video 9 UDP/TLS/RTP/SAVPF 96 97 98 99 100 101 102 121 127 120 125 107 108 109 35 36 124 119 123 118 114 115 116
c=IN IP4 0.0.0.0
a=rtcp:9 IN IP4 0.0.0.0
a=ice-ufrag:7+eD
a=ice-pwd:3+VGTgzV7gkUlIdpnWAkWqBo
a=ice-options:trickle
a=fingerprint:sha-256 BA:A3:B8:06:91:1D:69:7A:C9:46:58:B1:A7:A5:E1:C6:F7:16:86:71:71:8F:2C:27:D9:95:89:FA:7A:A7:FA:79
a=setup:actpass
a=mid:0
a=extmap:1 urn:ietf:params:rtp-hdrext:toffset
a=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
a=extmap:3 urn:3gpp:video-orientation
a=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01
a=extmap:5 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay
a=extmap:6 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type
a=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-timing
a=extmap:8 http://www.webrtc.org/experiments/rtp-hdrext/color-space
a=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid
a=extmap:10 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id
a=extmap:11 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id
a=sendonly
a=msid:mYoc2iUHPjJzLofS9GBRCjDxlGlYlwmGR7sU 72421008-3d5b-41ca-b4c8-50a0ed51a76b
a=rtcp-mux
a=rtcp-rsize
a=rtpmap:96 VP8/90000
a=rtcp-fb:96 goog-remb
a=rtcp-fb:96 transport-cc
a=rtcp-fb:96 ccm fir
a=rtcp-fb:96 nack
a=rtcp-fb:96 nack pli
a=rtpmap:97 rtx/90000
a=fmtp:97 apt=96
a=rtpmap:98 VP9/90000
a=rtcp-fb:98 goog-remb
a=rtcp-fb:98 transport-cc
a=rtcp-fb:98 ccm fir
a=rtcp-fb:98 nack
a=rtcp-fb:98 nack pli
a=fmtp:98 profile-id=0
a=rtpmap:99 rtx/90000
a=fmtp:99 apt=98
a=rtpmap:100 VP9/90000
a=rtcp-fb:100 goog-remb
a=rtcp-fb:100 transport-cc
a=rtcp-fb:100 ccm fir
a=rtcp-fb:100 nack
a=rtcp-fb:100 nack pli
a=fmtp:100 profile-id=2
a=rtpmap:101 rtx/90000
a=fmtp:101 apt=100
a=rtpmap:102 H264/90000
a=rtcp-fb:102 goog-remb
a=rtcp-fb:102 transport-cc
a=rtcp-fb:102 ccm fir
a=rtcp-fb:102 nack
a=rtcp-fb:102 nack pli
a=fmtp:102 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42001f
a=rtpmap:121 rtx/90000
a=fmtp:121 apt=102
a=rtpmap:127 H264/90000
a=rtcp-fb:127 goog-remb
a=rtcp-fb:127 transport-cc
a=rtcp-fb:127 ccm fir
a=rtcp-fb:127 nack
a=rtcp-fb:127 nack pli
a=fmtp:127 level-asymmetry-allowed=1;packetization-mode=0;profile-level-id=42001f
a=rtpmap:120 rtx/90000
a=fmtp:120 apt=127
a=rtpmap:125 H264/90000
a=rtcp-fb:125 goog-remb
a=rtcp-fb:125 transport-cc
a=rtcp-fb:125 ccm fir
a=rtcp-fb:125 nack
a=rtcp-fb:125 nack pli
a=fmtp:125 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f
a=rtpmap:107 rtx/90000
a=fmtp:107 apt=125
a=rtpmap:108 H264/90000
a=rtcp-fb:108 goog-remb
a=rtcp-fb:108 transport-cc
a=rtcp-fb:108 ccm fir
a=rtcp-fb:108 nack
a=rtcp-fb:108 nack pli
a=fmtp:108 level-asymmetry-allowed=1;packetization-mode=0;profile-level-id=42e01f
a=rtpmap:109 rtx/90000
a=fmtp:109 apt=108
a=rtpmap:35 AV1X/90000
a=rtcp-fb:35 goog-remb
a=rtcp-fb:35 transport-cc
a=rtcp-fb:35 ccm fir
a=rtcp-fb:35 nack
a=rtcp-fb:35 nack pli
a=rtpmap:36 rtx/90000
a=fmtp:36 apt=35
a=rtpmap:124 H264/90000
a=rtcp-fb:124 goog-remb
a=rtcp-fb:124 transport-cc
a=rtcp-fb:124 ccm fir
a=rtcp-fb:124 nack
a=rtcp-fb:124 nack pli
a=fmtp:124 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=4d001f
a=rtpmap:119 rtx/90000
a=fmtp:119 apt=124
a=rtpmap:123 H264/90000
a=rtcp-fb:123 goog-remb
a=rtcp-fb:123 transport-cc
a=rtcp-fb:123 ccm fir
a=rtcp-fb:123 nack
a=rtcp-fb:123 nack pli
a=fmtp:123 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=64001f
a=rtpmap:118 rtx/90000
a=fmtp:118 apt=123
a=rtpmap:114 red/90000
a=rtpmap:115 rtx/90000
a=fmtp:115 apt=114
a=rtpmap:116 ulpfec/90000
a=ssrc-group:FID 380787905 4099067239
a=ssrc:380787905 cname:VY2dNUk0w4Gmvv8S
a=ssrc:380787905 msid:mYoc2iUHPjJzLofS9GBRCjDxlGlYlwmGR7sU 72421008-3d5b-41ca-b4c8-50a0ed51a76b
a=ssrc:380787905 mslabel:mYoc2iUHPjJzLofS9GBRCjDxlGlYlwmGR7sU
a=ssrc:380787905 label:72421008-3d5b-41ca-b4c8-50a0ed51a76b
a=ssrc:4099067239 cname:VY2dNUk0w4Gmvv8S
a=ssrc:4099067239 msid:mYoc2iUHPjJzLofS9GBRCjDxlGlYlwmGR7sU 72421008-3d5b-41ca-b4c8-50a0ed51a76b
a=ssrc:4099067239 mslabel:mYoc2iUHPjJzLofS9GBRCjDxlGlYlwmGR7sU
a=ssrc:4099067239 label:72421008-3d5b-41ca-b4c8-50a0ed51a76b
m=audio 9 UDP/TLS/RTP/SAVPF 111 103 104 9 0 8 106 105 13 110 112 113 126
c=IN IP4 0.0.0.0
a=rtcp:9 IN IP4 0.0.0.0
a=ice-ufrag:7+eD
a=ice-pwd:3+VGTgzV7gkUlIdpnWAkWqBo
a=ice-options:trickle
a=fingerprint:sha-256 BA:A3:B8:06:91:1D:69:7A:C9:46:58:B1:A7:A5:E1:C6:F7:16:86:71:71:8F:2C:27:D9:95:89:FA:7A:A7:FA:79
a=setup:actpass
a=mid:1
a=extmap:14 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
a=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01
a=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid
a=extmap:10 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id
a=extmap:11 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id
a=sendonly
a=msid:mYoc2iUHPjJzLofS9GBRCjDxlGlYlwmGR7sU 0986d5d3-0703-4003-b37e-8d899f0a69de
a=rtcp-mux
a=rtpmap:111 opus/48000/2
a=rtcp-fb:111 transport-cc
a=fmtp:111 minptime=10;useinbandfec=1
a=rtpmap:103 ISAC/16000
a=rtpmap:104 ISAC/32000
a=rtpmap:9 G722/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:106 CN/32000
a=rtpmap:105 CN/16000
a=rtpmap:13 CN/8000
a=rtpmap:110 telephone-event/48000
a=rtpmap:112 telephone-event/32000
a=rtpmap:113 telephone-event/16000
a=rtpmap:126 telephone-event/8000
a=ssrc:1580989886 cname:VY2dNUk0w4Gmvv8S
a=ssrc:1580989886 msid:mYoc2iUHPjJzLofS9GBRCjDxlGlYlwmGR7sU 0986d5d3-0703-4003-b37e-8d899f0a69de
a=ssrc:1580989886 mslabel:mYoc2iUHPjJzLofS9GBRCjDxlGlYlwmGR7sU
a=ssrc:1580989886 label:0986d5d3-0703-4003-b37e-8d899f0a69de
Copy the code
Answer SDP transferred by Janus
V =0 o= -5247939015171769789 2 IN IP4 115.197.188.117s =VideoRoom 5422429170528909 t=0 0 a=group:BUNDLE 01 a=msid-semantic: WMS Janus m=video 9 UDP/TLS/RTP/SAVPF 102 121 c=IN IP4 115.197.188.117 a=recvonly a=mid:0 a= rTCP-mux a= ICE-ufrag :fzZp a=ice-pwd:Hw0H6Sq7a3ntWGGjNUYOmv a=ice-options:trickle a=fingerprint:sha-256 10:DC:68:A0:93:38:C8:91:E0:E1:C2:6C:7B:32:5F:1F:C2:7A:AE:73:47:92:C5:CC:3A:52:DA:D8:E3:4B:A0:82 a=setup:active a=rtpmap:102 H264/90000 a=fmtp:102 profile-level-id=42e01f; packetization-mode=1 a=rtcp-fb:102 ccm fir a=rtcp-fb:102 nack a=rtcp-fb:102 nack pli a=rtcp-fb:102 goog-remb a=rtcp-fb:102 transport-cc a=extmap:3 urn:3gpp:video-orientation a=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01 a=extmap:5 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay a=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid a=extmap:10 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id a=extmap:11 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id a=rtpmap:121 rtx/90000 a=fmtp:121 apt=102 a=msid:janus janusv0 a=ssrc:893736536 cname:janus a=ssrc:893736536 msid:janus janusv0 a=ssrc:893736536 mslabel:janus a=ssrc:893736536 label:janusv0 a=ssrc:2410485626 cname:janus a=ssrc:2410485626 msid:janus janusv0 a=ssrc:2410485626 mslabel:janus a=ssrc:2410485626 label:janusv0 m=audio 9 UDP/TLS/RTP/SAVPF 111 c=IN IP4 115.197.188.117 a = recvonly a = mid: 1 a = RTCP - mux a = ice - ufrag: fzZp a = ice - the PWD: Hw0H6Sq7a3ntWGGjNUYOmv a=ice-options:trickle a=fingerprint:sha-256 10:DC:68:A0:93:38:C8:91:E0:E1:C2:6C:7B:32:5F:1F:C2:7A:AE:73:47:92:C5:CC:3A:52:DA:D8:E3:4B:A0:82 a=setup:active a=rtpmap:111 opus/48000/2 a=extmap:14 urn:ietf:params:rtp-hdrext:ssrc-audio-level a=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01 a=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid  a=extmap:10 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id a=extmap:11 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id a=msid:janus janusa0 a=ssrc:3761314916 cname:janus a=ssrc:3761314916 msid:janus janusa0 a=ssrc:3761314916 mslabel:janus a=ssrc:3761314916 label:janusa0Copy the code

relay

Initialization code
    const pc = new RTCPeerConnection({
      iceServers: [{urls: ['turn:free.svipss.top:51351'].username: 'test'.credential: '123456'.credentialType: 'password'],},iceTransportPolicy: 'relay'.iceCandidatePoolSize: '0'.bundlePolicy: 'max-bundle'.rtcpMuxPolicy: 'require'.tcpCandidatePolicy: 'disable'.IceTransportsType: 'nohost'});Copy the code
Backup location of signaling and network packet capture files
Candidate information reported by the browser OnicecandiDate
Candidate :3363055999 1 UDP 41819903 192.168.100.221 20522 TYp relay raddr 0.0.0.0 Rport 0 generation 0 ufrag 5Kjh network-id 2Copy the code
Candidate sent over by Janus
Candidate :1 1 UDP 2013266431 192.168.100.221 20727 Typ host Candidate :4 1 UDP 1677722111 36.17.176.200 26559 typ SRFLX Raddr 192.168.100.221 rport 20727Copy the code
The offer SDP reported by the browser
v=0
o=- 9201388016073680007 2 IN IP4 127.0.0.1
s=-
t=0 0
a=group:BUNDLE 0 1
a=extmap-allow-mixed
a=msid-semantic: WMS uwxAqntLGCUoAu6ORa4hzgqkL1xnH4QVco5r
m=video 9 UDP/TLS/RTP/SAVPF 96 97 98 99 100 101 102 121 127 120 125 107 108 109 35 36 124 119 123 118 114 115 116
c=IN IP4 0.0.0.0
a=rtcp:9 IN IP4 0.0.0.0
a=ice-ufrag:5Kjh
a=ice-pwd:m6q+npyV1IZKeyHnnUqHRqM7
a=ice-options:trickle
a=fingerprint:sha-256 39:E0:CD:AC:CE:A9:A7:FC:9C:3B:9D:18:2B:57:89:02:A5:76:F9:88:58:6E:08:F7:19:A2:89:D7:37:D4:BE:BE
a=setup:actpass
a=mid:0
a=extmap:1 urn:ietf:params:rtp-hdrext:toffset
a=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
a=extmap:3 urn:3gpp:video-orientation
a=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01
a=extmap:5 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay
a=extmap:6 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type
a=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-timing
a=extmap:8 http://www.webrtc.org/experiments/rtp-hdrext/color-space
a=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid
a=extmap:10 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id
a=extmap:11 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id
a=sendonly
a=msid:uwxAqntLGCUoAu6ORa4hzgqkL1xnH4QVco5r a7da6eca-a701-47ae-97a3-a5f80531a766
a=rtcp-mux
a=rtcp-rsize
a=rtpmap:96 VP8/90000
a=rtcp-fb:96 goog-remb
a=rtcp-fb:96 transport-cc
a=rtcp-fb:96 ccm fir
a=rtcp-fb:96 nack
a=rtcp-fb:96 nack pli
a=rtpmap:97 rtx/90000
a=fmtp:97 apt=96
a=rtpmap:98 VP9/90000
a=rtcp-fb:98 goog-remb
a=rtcp-fb:98 transport-cc
a=rtcp-fb:98 ccm fir
a=rtcp-fb:98 nack
a=rtcp-fb:98 nack pli
a=fmtp:98 profile-id=0
a=rtpmap:99 rtx/90000
a=fmtp:99 apt=98
a=rtpmap:100 VP9/90000
a=rtcp-fb:100 goog-remb
a=rtcp-fb:100 transport-cc
a=rtcp-fb:100 ccm fir
a=rtcp-fb:100 nack
a=rtcp-fb:100 nack pli
a=fmtp:100 profile-id=2
a=rtpmap:101 rtx/90000
a=fmtp:101 apt=100
a=rtpmap:102 H264/90000
a=rtcp-fb:102 goog-remb
a=rtcp-fb:102 transport-cc
a=rtcp-fb:102 ccm fir
a=rtcp-fb:102 nack
a=rtcp-fb:102 nack pli
a=fmtp:102 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42001f
a=rtpmap:121 rtx/90000
a=fmtp:121 apt=102
a=rtpmap:127 H264/90000
a=rtcp-fb:127 goog-remb
a=rtcp-fb:127 transport-cc
a=rtcp-fb:127 ccm fir
a=rtcp-fb:127 nack
a=rtcp-fb:127 nack pli
a=fmtp:127 level-asymmetry-allowed=1;packetization-mode=0;profile-level-id=42001f
a=rtpmap:120 rtx/90000
a=fmtp:120 apt=127
a=rtpmap:125 H264/90000
a=rtcp-fb:125 goog-remb
a=rtcp-fb:125 transport-cc
a=rtcp-fb:125 ccm fir
a=rtcp-fb:125 nack
a=rtcp-fb:125 nack pli
a=fmtp:125 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f
a=rtpmap:107 rtx/90000
a=fmtp:107 apt=125
a=rtpmap:108 H264/90000
a=rtcp-fb:108 goog-remb
a=rtcp-fb:108 transport-cc
a=rtcp-fb:108 ccm fir
a=rtcp-fb:108 nack
a=rtcp-fb:108 nack pli
a=fmtp:108 level-asymmetry-allowed=1;packetization-mode=0;profile-level-id=42e01f
a=rtpmap:109 rtx/90000
a=fmtp:109 apt=108
a=rtpmap:35 AV1X/90000
a=rtcp-fb:35 goog-remb
a=rtcp-fb:35 transport-cc
a=rtcp-fb:35 ccm fir
a=rtcp-fb:35 nack
a=rtcp-fb:35 nack pli
a=rtpmap:36 rtx/90000
a=fmtp:36 apt=35
a=rtpmap:124 H264/90000
a=rtcp-fb:124 goog-remb
a=rtcp-fb:124 transport-cc
a=rtcp-fb:124 ccm fir
a=rtcp-fb:124 nack
a=rtcp-fb:124 nack pli
a=fmtp:124 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=4d001f
a=rtpmap:119 rtx/90000
a=fmtp:119 apt=124
a=rtpmap:123 H264/90000
a=rtcp-fb:123 goog-remb
a=rtcp-fb:123 transport-cc
a=rtcp-fb:123 ccm fir
a=rtcp-fb:123 nack
a=rtcp-fb:123 nack pli
a=fmtp:123 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=64001f
a=rtpmap:118 rtx/90000
a=fmtp:118 apt=123
a=rtpmap:114 red/90000
a=rtpmap:115 rtx/90000
a=fmtp:115 apt=114
a=rtpmap:116 ulpfec/90000
a=ssrc-group:FID 3851211885 533968763
a=ssrc:3851211885 cname:z2t/m6UUThUKAgDi
a=ssrc:3851211885 msid:uwxAqntLGCUoAu6ORa4hzgqkL1xnH4QVco5r a7da6eca-a701-47ae-97a3-a5f80531a766
a=ssrc:3851211885 mslabel:uwxAqntLGCUoAu6ORa4hzgqkL1xnH4QVco5r
a=ssrc:3851211885 label:a7da6eca-a701-47ae-97a3-a5f80531a766
a=ssrc:533968763 cname:z2t/m6UUThUKAgDi
a=ssrc:533968763 msid:uwxAqntLGCUoAu6ORa4hzgqkL1xnH4QVco5r a7da6eca-a701-47ae-97a3-a5f80531a766
a=ssrc:533968763 mslabel:uwxAqntLGCUoAu6ORa4hzgqkL1xnH4QVco5r
a=ssrc:533968763 label:a7da6eca-a701-47ae-97a3-a5f80531a766
m=audio 9 UDP/TLS/RTP/SAVPF 111 103 104 9 0 8 106 105 13 110 112 113 126
c=IN IP4 0.0.0.0
a=rtcp:9 IN IP4 0.0.0.0
a=ice-ufrag:5Kjh
a=ice-pwd:m6q+npyV1IZKeyHnnUqHRqM7
a=ice-options:trickle
a=fingerprint:sha-256 39:E0:CD:AC:CE:A9:A7:FC:9C:3B:9D:18:2B:57:89:02:A5:76:F9:88:58:6E:08:F7:19:A2:89:D7:37:D4:BE:BE
a=setup:actpass
a=mid:1
a=extmap:14 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
a=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01
a=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid
a=extmap:10 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id
a=extmap:11 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id
a=sendonly
a=msid:uwxAqntLGCUoAu6ORa4hzgqkL1xnH4QVco5r 2d7b5213-1b74-4337-89ca-63066b82ff09
a=rtcp-mux
a=rtpmap:111 opus/48000/2
a=rtcp-fb:111 transport-cc
a=fmtp:111 minptime=10;useinbandfec=1
a=rtpmap:103 ISAC/16000
a=rtpmap:104 ISAC/32000
a=rtpmap:9 G722/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:106 CN/32000
a=rtpmap:105 CN/16000
a=rtpmap:13 CN/8000
a=rtpmap:110 telephone-event/48000
a=rtpmap:112 telephone-event/32000
a=rtpmap:113 telephone-event/16000
a=rtpmap:126 telephone-event/8000
a=ssrc:759971761 cname:z2t/m6UUThUKAgDi
a=ssrc:759971761 msid:uwxAqntLGCUoAu6ORa4hzgqkL1xnH4QVco5r 2d7b5213-1b74-4337-89ca-63066b82ff09
a=ssrc:759971761 mslabel:uwxAqntLGCUoAu6ORa4hzgqkL1xnH4QVco5r
a=ssrc:759971761 label:2d7b5213-1b74-4337-89ca-63066b82ff09
Copy the code
Answer SDP transferred by Janus
V =0 o= -9201388016073680007 2 IN IP4 115.197.188.117s =VideoRoom 5422429170528909 t=0 0 a=group:BUNDLE 01 a=msid-semantic: WMS Janus m=video 9 UDP/TLS/RTP/SAVPF 102 121 C =IN IP4 115.197.188.117 a=recvonly A =mid:0 a= rTCP-mux a= ICE-Ufrag :DH79 a=ice-pwd:/U7fmuYsw5nes1eUc2LdTZ a=ice-options:trickle a=fingerprint:sha-256 10:DC:68:A0:93:38:C8:91:E0:E1:C2:6C:7B:32:5F:1F:C2:7A:AE:73:47:92:C5:CC:3A:52:DA:D8:E3:4B:A0:82 a=setup:active a=rtpmap:102 H264/90000 a=fmtp:102 profile-level-id=42e01f; packetization-mode=1 a=rtcp-fb:102 ccm fir a=rtcp-fb:102 nack a=rtcp-fb:102 nack pli a=rtcp-fb:102 goog-remb a=rtcp-fb:102 transport-cc a=extmap:3 urn:3gpp:video-orientation a=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01 a=extmap:5 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay a=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid a=extmap:10 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id a=extmap:11 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id a=rtpmap:121 rtx/90000 a=fmtp:121 apt=102 a=msid:janus janusv0 a=ssrc:911111794 cname:janus a=ssrc:911111794 msid:janus janusv0 a=ssrc:911111794 mslabel:janus a=ssrc:911111794 label:janusv0 a=ssrc:483493846 cname:janus a=ssrc:483493846 msid:janus janusv0 a=ssrc:483493846 mslabel:janus a=ssrc:483493846 label:janusv0 m=audio 9 UDP/TLS/RTP/SAVPF 111 c=IN IP4 115.197.188.117 a = recvonly a = mid: 1 a = RTCP - mux a = ice - ufrag: DH79 a = ice - the PWD: / U7fmuYsw5nes1eUc2LdTZ a=ice-options:trickle a=fingerprint:sha-256 10:DC:68:A0:93:38:C8:91:E0:E1:C2:6C:7B:32:5F:1F:C2:7A:AE:73:47:92:C5:CC:3A:52:DA:D8:E3:4B:A0:82 a=setup:active a=rtpmap:111 opus/48000/2 a=extmap:14 urn:ietf:params:rtp-hdrext:ssrc-audio-level a=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01 a=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid  a=extmap:10 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id a=extmap:11 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id a=msid:janus janusa0 a=ssrc:2791503288 cname:janus a=ssrc:2791503288 msid:janus janusa0 a=ssrc:2791503288 mslabel:janus a=ssrc:2791503288 label:janusa0Copy the code

The resources

  • MDN iceTransportPolicy enumeration: developer.mozilla.org/en-US/docs/…
  • RTCIceTransportPolicyEnumeration:The w3c. Making. IO/webrtc – PC / #…