JSFiddle - React, Tailwind, and code Playground
JavaScript
const test = async () => {
// firefox
const pcFx = new RTCPeerConnection();
// webex
const pcWx = new RTCPeerConnection();
let offer = await pcFx.createOffer({offerToReceiveAudio: true});
await pcFx.setLocalDescription(offer);
offer.sdp = offer.sdp.replace(/109 /g, '111 '); // What webex thinks we said
await pcWx.setRemoteDescription(offer);
const answer = await pcWx.createAnswer();
await pcWx.setLocalDescription(answer);
await pcFx.setRemoteDescription(answer);
// Fake renegotiation to force Firefox to use 111 instead
await pcFx.setRemoteDescription({sdp: answer.sdp, type: "offer"});
await pcFx.setLocalDescription(await pcFx.createAnswer());
console.log(await pcFx.createOffer());
};
test();