diff --git a/bigbluebutton-html5/imports/api/audio/client/bridge/sip.js b/bigbluebutton-html5/imports/api/audio/client/bridge/sip.js
index 1a3ddfe99b..920f926c72 100755
--- a/bigbluebutton-html5/imports/api/audio/client/bridge/sip.js
+++ b/bigbluebutton-html5/imports/api/audio/client/bridge/sip.js
@@ -39,6 +39,7 @@ const WEBSOCKET_KEEP_ALIVE_DEBOUNCE = MEDIA.websocketKeepAliveDebounce || 10;
const TRACE_SIP = MEDIA.traceSip || false;
const AUDIO_MICROPHONE_CONSTRAINTS = Meteor.settings.public.app.defaultSettings
.application.microphoneConstraints;
+const SDP_SEMANTICS = MEDIA.sdpSemantics;
const getAudioSessionNumber = () => {
let currItem = parseInt(sessionStorage.getItem(AUDIO_SESSION_NUM_KEY), 10);
@@ -381,7 +382,7 @@ class SIPSession {
sessionDescriptionHandlerFactoryOptions: {
peerConnectionConfiguration: {
iceServers,
- sdpSemantics: 'plan-b',
+ sdpSemantics: SDP_SEMANTICS,
},
},
displayName: callerIdName,
diff --git a/bigbluebutton-html5/private/config/settings.yml b/bigbluebutton-html5/private/config/settings.yml
index dfdf8999ed..0d3d515592 100755
--- a/bigbluebutton-html5/private/config/settings.yml
+++ b/bigbluebutton-html5/private/config/settings.yml
@@ -321,6 +321,8 @@ public:
websocketKeepAliveDebounce: 10
#Trace sip/audio messages in browser. If not set, default value is false.
traceSip: false
+ # SDP semantics: plan-b|unified-plan
+ sdpSemantics: 'unified-plan'
presentation:
defaultPresentationFile: default.pdf
panZoomThrottle: 32