Media Level Fingerprints Configuration Option

This commit adds an option to put DTLS Fingerprint specification
at the media description level rather then the session description
level. This enhances compatibility with some 3rd party webrtc
implementations (notably Kurento).
This commit is contained in:
Woodrow Douglass
2020-06-29 09:08:17 -04:00
committed by Sean DuBois
parent bbb6f374ff
commit baf14a9af4
5 changed files with 115 additions and 33 deletions

View File

@@ -48,6 +48,7 @@ type SettingEngine struct {
SRTP *uint
SRTCP *uint
}
sdpMediaLevelFingerprints bool
answeringDTLSRole DTLSRole
disableCertificateFingerprintVerification bool
disableSRTPReplayProtection bool
@@ -236,3 +237,11 @@ func (e *SettingEngine) DisableSRTPReplayProtection(isDisabled bool) {
func (e *SettingEngine) DisableSRTCPReplayProtection(isDisabled bool) {
e.disableSRTCPReplayProtection = isDisabled
}
// SetSDPMediaLevelFingerprints configures the logic for DTLS Fingerprint insertion
// If true, fingerprints will be inserted in the sdp at the fingerprint
// level, instead of the session level. This helps with compatibility with
// some webrtc implementations.
func (e *SettingEngine) SetSDPMediaLevelFingerprints(sdpMediaLevelFingerprints bool) {
e.sdpMediaLevelFingerprints = sdpMediaLevelFingerprints
}