8000 SDP Answer from kurento contains invalid ICE-lite attribute · Issue #125 · Kurento/kurento · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

SDP Answer from kurento contains invalid ICE-lite attribute #125

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
3 tasks done
Mortega5 opened this issue Apr 15, 2025 · 1 comment
Open
3 tasks done

SDP Answer from kurento contains invalid ICE-lite attribute #125

Mortega5 opened this issue Apr 15, 2025 · 1 comment

Comments

@Mortega5
Copy link

Prerequisites

These are MANDATORY, otherwise the issue will be automatically closed.

Issue description

When a client negotiates an SDP offer with the a=ice-lite attribute, Kurento responds with an SDP answer in ice-lite mode. As I understand it, and based on its behavior, Kurento is actually acting as ice-full rather than ice-lite (I've seen it perform ICE candidate validations by sending STUN requests).

SDP offer

v=0
o=test 1744189491 1744189492 IN IP4 x.x.x.x
s=test
c=IN IP4 x.x.x.x
b=AS:2080
t=0 0
a=ice-lite
a=ice-options:trickle
a=group:BUNDLE audio video
a=msid-semantic:WMS 74b4e4f295854f7eaacf7c5dadc8aa10
m=audio 49160 UDP/TLS/RTP/SAVP 8 96 0 97 98
b=AS:80
a=tcap:1 RTP/SAVPF
a=pcfg:1 t=1
a=rtpmap:8 pcma/8000
a=rtpmap:96 opus/48000/2
a=fmtp:96 maxplaybackrate=16000; sprop-maxcapturerate=16000; sprop-stereo=0; stereo=0
a=rtpmap:0 pcmu/8000
a=rtpmap:97 telephone-event/8000
a=fmtp:97 0-15
a=rtpmap:98 telephone-event/48000
a=fmtp:98 0-15
a=ptime:20
a=maxptime:120
a=sendrecv
a=rtcp:49161
a=extmap:6 urn:ietf:params:rtp-hdrext:sdes:mid
a=candidate:1 1 UDP 2130706175 x.x.x.x 49160 typ host
a=candidate:1 2 UDP 2130706174 x.x.x.x 49161 typ host
a=end-of-candidates
a=ice-ufrag:Go70
a=ice-pwd:NaHvmYbvdIwwsYRRQgFhY/
a=setup:actpass
a=fingerprint:sha-256 86:F7:D9:93:7B:82:0F:BC:78:66:C3:7A:7D:4E:E5:27:59:6A:4F:36:EC:CF:21:2A:1D:F9:87:B3:B0:90:82:50
a=rtcp-mux
a=msid:74b4e4f295854f7eaacf7c5dadc8aa10 386bc116b05f497d925bf886caa12242
a=ssrc:1135259590 cname:cwYjg8xT1rN4
a=mid:audio
a=candidate:1 1 UDP 2130706175 x.x.x.x 49160 typ host
a=candidate:1 2 UDP 2130706174 x.x.x.x 49161 typ host
a=candidate:1 1 UDP 2130706175 x.x.x.x 49160 typ host
a=candidate:1 2 UDP 2130706174 x.x.x.x 49161 typ host
m=video 57352 UDP/TLS/RTP/SAVPF 34 99 100
b=AS:2000
a=rtpmap:34 h263/90000
a=fmtp:34 CIF=1; CIF=2; CIF=2; QCIF=1; QCIF=2; QCIF=2; 2
a=rtpmap:99 vp8/90000
a=fmtp:99 max-fr=30; max-fs=3600
a=rtpmap:100 h264/90000
a=fmtp:100 profile-level-id=42c01f; packetization-mode=0
a=sendrecv
a=framerate:30
a=extmap:4 urn:3gpp:video-orientation
a=extmap:5 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01
a=extmap:3 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
a=extmap:6 urn:ietf:params:rtp-hdrext:sdes:mid
a=extmap:7 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id
a=rtcp:57353
a=rtcp-fb:* nack
a=rtcp-fb:* nack pli
a=rtcp-fb:* ccm fir
a=rtcp-fb:* goog-remb
a=rtcp-fb:* ccm tmmbr
a=rtcp-fb:* transport-cc
a=candidate:1 1 UDP 2130706175 x.x.x.x 57352 typ host
a=candidate:1 2 UDP 2130706174 x.x.x.x 57353 typ host
a=end-of-candidates
a=ice-ufrag:+AVf
a=ice-pwd:HTT2n1/+IVPeI6DIon3Siy
a=setup:actpass
a=fingerprint:sha-256 86:F7:D9:93:7B:82:0F:BC:78:66:C3:7A:7D:4E:E5:27:59:6A:4F:36:EC:CF:21:2A:1D:F9:87:B3:B0:90:82:50
a=rtcp-mux
a=msid:74b4e4f295854f7eaacf7c5dadc8aa10 1e29615128dc48d0bec901ddb73a187a
a=ssrc:765589213 cname:cwYjg8xT1rN4
a=mid:video
a=candidate:1 1 UDP 2130706175 x.x.x.x 57352 typ host
a=candidate:1 2 UDP 2130706174 x.x.x.x 57353 typ host
a=candidate:1 1 UDP 2130706175 x.x.x.x 57352 typ host
a=candidate:1 2 UDP 2130706174 x.x.x.x 57353 typ host

Kurento SDP answer

v=0
o=- 3953178299 3953178299 IN IP4 0.0.0.0
s=Kurento Media Server
t=0 0
a=ice-lite
a=ice-options:trickle
a=msid-semantic:WMS 74b4e4f295854f7eaacf7c5dadc8aa10
a=group:BUNDLE audio video
m=audio 55758 UDP/TLS/RTP/SAVP 96
c=IN IP4 10.50.2.247
a=sendrecv
a=mid:audio
a=rtcp:55758 IN IP4 10.50.2.247
a=rtpmap:96 opus/48000/2
a=fmtp:96 maxplaybackrate=16000; sprop-maxcapturerate=16000; sprop-stereo=0; stereo=0
a=ptime:20
a=maxptime:120
a=setup:active
a=rtcp-mux
a=ssrc:1055466269 cname:user1865411734@host-7b219810
a=ice-ufrag:NRqr
a=ice-pwd:1g+AsS3DOkGxypCj65Q6MB
a=fingerprint:sha-256 D7:E6:B1:B8:5A:A1:37:5A:DE:64:50:5A:86:A9:61:13:A7:DA:47:AB:C6:6F:46:D2:54:8D:FE:47:B6:81:F2:A6
a=candidate:1 1 UDP 2015363327 y.y.y.y 6049 typ host
a=candidate:2 1 TCP 1015021823 y.y.y.y 9 typ host tcptype active
a=candidate:3 1 TCP 1010827519 y.y.y.y 34632 typ host tcptype passive
a=candidate:1 2 UDP 2015363326 y.y.y.y 9847 typ host
a=candidate:2 2 TCP 1015021822 y.y.y.y 9 typ host tcptype active
a=candidate:3 2 TCP 1010827518 y.y.y.y 19073 typ host tcptype passive
a=candidate:7 1 TCP 847249663 10.50.0.185 9 typ srflx raddr y.y.y.y rport 9 tcptype active
a=candidate:8 1 TCP 843055359 10.50.0.185 34632 typ srflx raddr y.y.y.y rport 34632 tcptype passive
a=candidate:9 1 UDP 337641727 10.50.2.247 55758 typ relay raddr y.y.y.y rport 9
a=candidate:7 1 TCP 847249663 10.50.2.176 9 typ srflx raddr y.y.y.y rport 9 tcptype active
a=candidate:8 1 TCP 843055359 10.50.2.176 34632 typ srflx raddr y.y.y.y rport 34632 tcptype passive
a=candidate:7 2 TCP 847249662 10.50.1.169 9 typ srflx raddr y.y.y.y rport 9 tcptype active
a=candidate:8 2 TCP 843055358 10.50.1.169 19073 typ srflx raddr y.y.y.y rport 19073 tcptype passive
a=candidate:9 2 UDP 337641726 10.50.2.247 61903 typ relay raddr y.y.y.y rport 9
m=video 55758 UDP/TLS/RTP/SAVPF 99 100
c=IN IP4 10.50.2.247
a=extmap:3 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
a=sendrecv
a=mid:video
a=rtcp:55758 IN IP4 10.50.2.247
a=rtpmap:99 vp8/90000
a=rtpmap:100 h264/90000
a=fmtp:99 max-fr=30; max-fs=3600
a=fmtp:100 profile-level-id=42c01f; packetization-mode=0
a=framerate:30
a=setup:active
a=rtcp-mux
a=ssrc:103812202 cname:user1865411734@host-7b219810
a=ice-ufrag:NRqr
a=ice-pwd:1g+AsS3DOkGxypCj65Q6MB
a=fingerprint:sha-256 D7:E6:B1:B8:5A:A1:37:5A:DE:64:50:5A:86:A9:61:13:A7:DA:47:AB:C6:6F:46:D2:54:8D:FE:47:B6:81:F2:A6
a=candidate:1 1 UDP 2015363327 y.y.y.y 6049 typ host
a=candidate:2 1 TCP 1015021823 y.y.y.y 9 typ host tcptype active
a=candidate:3 1 TCP 1010827519 y.y.y.y 34632 typ host tcptype passive
a=candidate:1 2 UDP 2015363326 y.y.y.y 9847 typ host
a=candidate:2 2 TCP 1015021822 y.y.y.y 9 typ host tcptype active
a=candidate:3 2 TCP 1010827518 y.y.y.y 19073 typ host tcptype passive
a=candidate:7 1 TCP 847249663 10.50.0.185 9 typ srflx raddr y.y.y.y rport 9 tcptype active
a=candidate:8 1 TCP 843055359 10.50.0.185 34632 typ srflx raddr y.y.y.y rport 34632 tcptype passive
a=candidate:9 1 UDP 337641727 10.50.2.247 55758 typ relay raddr y.y.y.y rport 9
a=candidate:7 1 TCP 847249663 10.50.2.176 9 typ srflx raddr y.y.y.y rport 9 tcptype active
a=candidate:8 1 TCP 843055359 10.50.2.176 34632 typ srflx raddr y.y.y.y rport 34632 tcptype passive
a=candidate:7 2 TCP 847249662 10.50.1.169 9 typ srflx raddr y.y.y.y rport 9 tcptype active
a=candidate:8 2 TCP 843055358 10.50.1.169 19073 typ srflx raddr y.y.y.y rport 19073 tcptype passive
a=candidate:9 2 UDP 337641726 10.50.2.247 61903 typ relay raddr y.y.y.y rport 9

Context

I'm attempting to negotiate the SDP generated by another media server with Kurento, but the other media server raises issues regarding the way ICE candidate validation is performed (specifically, the STUN request). From what I've observed, one of the underlying causes is that Kurento advertises itself as ICE-lite in the SDP, but it behaves as an ICE-full agent instead.

How to reproduce?

  1. Create a media pipeline and an WebRtcEndpoint
  2. Process the previous SDP using the created WebRTCEndpoint
  3. The sdpAnswer contains the attribute a=ice-lite
  4. The STUN request containes ufragA:ufragB format (as far as I know this is expected using ice-full)

Expected & current behavior

Current behaviour: Kurento includes ice-lite attribute to the SDP answer.

Expected: the attribute should be removed

Info about your environment

About Kurento Media Server

About your Application Server

  • Programming Language: Java
  • Kurento Client version: 7.2.0

About end-user clients

Run these commands

cat /etc/lsb-release
kurento-media-server --version
dpkg -l | grep -Pi 'kurento|kms-|gst.*1.5|nice'
@slabajo
Copy link
Member
slabajo commented Apr 22, 2025

Thanks for your issue information. It is really complete and help us a lot analysing the issue and providing an answer.
We need to analyze the information, but form your description it seems that you are right. Kurento does not implement ICE-lite, so the ice-lite attribute should not be there.
Allow us to fully analize the issue and I hope we can fix it soon.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants
0