LINXD-2842-log-protocol-change #36

Merged
sergiu merged 3 commits from LINXD-2842-log-protocol-change into develop 2025-03-05 21:40:25 +00:00
Showing only changes of commit fc39d5bead - Show all commits

21
app.js
View File

@ -12,6 +12,10 @@ try {
console.log('https support is disabled!');
}
const mediasoup = require('mediasoup');
const isUdpEnabled = process.env.ENABLE_UDP === 'true';
const isTcpEnabled = process.env.ENABLE_TCP === 'true';
const isUdpPreferred = process.env.PREFER_UDP === 'true';
let initialConnection = isUdpPreferred ? 'udp' : 'tcp';
let worker;
/**
@ -555,14 +559,25 @@ const createWebRtcTransportLayer = async (callId, callback) => {
announcedIp: process.env.ANNOUNCED_IP, // Announced IPv4 or IPv6 (useful when running mediasoup behind NAT with private IP).
},
],
enableUdp: process.env.ENABLE_UDP === 'true',
enableTcp: process.env.ENABLE_TCP === 'true',
preferUdp: process.env.PREFER_UDP === 'true',
enableUdp: isUdpEnabled,
enableTcp: isTcpEnabled,
preferUdp: isUdpPreferred,
};
// https://mediasoup.org/documentation/v3/mediasoup/api/#router-createWebRtcTransport
let transport = await videoCalls[callId].router.createWebRtcTransport(webRtcTransport_options);
transport.on('iceselectedtuplechange', (selectedTuple) => {
const { protocol } = selectedTuple;
const switchedTo = protocol === 'udp' ? 'tcp' : 'udp';
if (initialConnection !== protocol) {
console.warn(`⚠️ ${protocol.toUpperCase()} blocked! Switching to ${switchedTo.toUpperCase()} for callId: ${callId}`);
initialConnection = protocol;
}
});
// Handler for when DTLS(Datagram Transport Layer Security) changes
transport.on('dtlsstatechange', (dtlsState) => {
console.log(`transport | dtlsstatechange | calldId ${callId} | dtlsState ${dtlsState}`);