@@ -709,8 +709,13 @@ func extractFingerprint(desc *sdp.SessionDescription) (string, string, error) {
709
709
return "" , "" , ErrSessionDescriptionNoFingerprint
710
710
}
711
711
712
+ // https://github.com/pion/webrtc/issues/2621
713
+ groupAttribue , _ := desc .Attribute (sdp .AttrKeyGroup )
714
+
715
+ isBundled := strings .Contains (groupAttribue , "BUNDLE" )
716
+
712
717
for _ , m := range fingerprints {
713
- if m != fingerprints [0 ] {
718
+ if m != fingerprints [0 ] && ! isBundled {
714
719
return "" , "" , ErrSessionDescriptionConflictingFingerprints
715
720
}
716
721
}
@@ -769,14 +774,19 @@ func extractICEDetails(desc *sdp.SessionDescription, log logging.LeveledLogger)
769
774
return "" , "" , nil , ErrSessionDescriptionMissingIcePwd
770
775
}
771
776
777
+ // https://github.com/pion/webrtc/issues/2621
778
+ groupAttribue , _ := desc .Attribute (sdp .AttrKeyGroup )
779
+
780
+ isBundled := strings .Contains (groupAttribue , "BUNDLE" )
781
+
772
782
for _ , m := range remoteUfrags {
773
- if m != remoteUfrags [0 ] {
783
+ if m != remoteUfrags [0 ] && ! isBundled {
774
784
return "" , "" , nil , ErrSessionDescriptionConflictingIceUfrag
775
785
}
776
786
}
777
787
778
788
for _ , m := range remotePwds {
779
- if m != remotePwds [0 ] {
789
+ if m != remotePwds [0 ] && ! isBundled {
780
790
return "" , "" , nil , ErrSessionDescriptionConflictingIcePwd
781
791
}
782
792
}
0 commit comments