Open sirzooro opened 1 month ago
ONVIF supports RTSP 1.0 and not 2.0. As ONVIF now supports ICE for WebRTC please refer to that specification.
Yes, I know this. But I would like to have ICE for RTSP. I presented proposal how it could be added to RTSP 1.0.
In case your company is Full or Contributing member please feel free to make a concrete proposal. Otherwise we will close this as won't address.
RFC 7825 defines ICE support for RTSP 2.0. Out of the box it not compatible with RTSP 1.0 - "This extension mechanism was not possible in RTSP 1.0 as it would break RTSP 1.0 syntax and cause compatibility issues.". It looks that problem is with enhanced Transport header syntax from RTSP 2.0, so RTSP 1.0 clients would not be able to parse it correctly. However this extension also requires to use feature tags
setup.ice-d-m
andsetup.rtp.rtcp.mux
. It seems safe to send DESCRIBE withSupported: setup.ice-d-m, setup.rtp.rtcp.mux
header to check if server supports it. Servers which do not support it should respond with551 Option Not Supported
. Some poorly implemented servers may ignore this header, so second check is required - verify that returned SDP containsa=rtsp-ice-d-m
attribute. Support for RTCP mux can be checked in a similar way - in second step look fora=rtcp-mux
attribute in SDP. When these checks will succeed, client could assume that server will support RTSP 2.0Transport
syntax and ICE feature.Note: client and server should still use
Transport
header in RTSP 1.0 way. The points is to support new ABNF syntax, and recognize new RTP profiles (e.g.RTP/AVP/D-ICE
) and few new Transport attributes:ICE-ufrag
,ICE-Password
,candidates
,RTCP-mux
.