UNPKG

kod-temp

Version:

Workano Communications SDK

41 lines (40 loc) 1.3 kB
/* global MediaStream */ import WebRTCClient from '../../web-rtc-client'; export default { name: 'WebRTC', check: (server, session) => new Promise((resolve, reject) => { if (typeof MediaStream === 'undefined') { return resolve('Skipped on node'); } 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, () => { const sipSession = client.call('*10'); if (!sipSession || !client.getSipSessionId(sipSession)) { return handleError('Unable to make call through WebRTC'); } setTimeout(() => { client.hangup(sipSession); handleSuccess(); }, 1000); }); }), };