kod-temp
Version:
Workano Communications SDK
36 lines (35 loc) • 1.11 kB
JavaScript
import WebRTCClient from '../../web-rtc-client';
export default {
name: 'WebRTC Transport (WS) ~30s',
check: (server, session) => new Promise((resolve, reject) => {
const [host, port = 443] = server.split(':');
const client = new WebRTCClient({
host,
port,
media: {
audio: true,
},
}, session);
const handleError = (message) => {
client.close();
reject(new Error(message));
};
const handleSuccess = async () => {
client.stopHeartbeat();
await client.close();
resolve();
};
client.on(client.TRANSPORT_ERROR, error => {
handleError(`Transport error : ${error}`);
});
client.on(client.REGISTERED, () => {
client.setOnHeartbeatTimeout(() => {
handleError('No response to heartbeat');
});
client.setOnHeartbeatCallback(() => {
handleSuccess();
});
client.startHeartbeat();
});
}),
};