@nethesis/phone-island 0.7.125 → 0.7.126
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../node_modules/tslib/tslib.es6.js"),t=require("./janus.js"),r=require("../../store/index.js"),o=require("../../node_modules/webrtc-adapter/src/js/adapter_core.js"),s=require("../devices/devices.js");require("react");var n=require("../../utils/genericFunctions/localStorage.js");function i(e,o){return new Promise((function(s,n){var i=r.store.getState().webrtc.sipcall;e&&o&&i.createOffer({media:o,success:function(r){t.default.debug("Got SDP!"),t.default.debug(r),i.send({message:{request:"call",uri:e},jsep:r}),s(!0)},error:function(e){t.default.error("WebRTC error...",e),t.default.error("WebRTC error call on createOffer: ",e),n(!1)}})}))}exports.answerWebRTC=function(){var e=r.store.getState().webrtc,o=e.sipcall,s=e.jsepGlobal;if(o&&s){var i=n.getJSONItem("phone-island-audio-input-device").deviceId||null;o.createAnswer({jsep:s,media:{audio:{echoCancellation:!0,noiseSuppression:!0,autoGainControl:!0,googEchoCancellation:!0,googAutoGainControl:!0,googNoiseSuppression:!0,googHighpassFilter:!0,googTypingNoiseDetection:!0,googNoiseReduction:!0,volume:1,deviceId:i},
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../node_modules/tslib/tslib.es6.js"),t=require("./janus.js"),r=require("../../store/index.js"),o=require("../../node_modules/webrtc-adapter/src/js/adapter_core.js"),s=require("../devices/devices.js");require("react");var n=require("../../utils/genericFunctions/localStorage.js");function i(e,o){return new Promise((function(s,n){var i=r.store.getState().webrtc.sipcall;e&&o&&i.createOffer({media:o,success:function(r){t.default.debug("Got SDP!"),t.default.debug(r),i.send({message:{request:"call",uri:e},jsep:r}),s(!0)},error:function(e){t.default.error("WebRTC error...",e),t.default.error("WebRTC error call on createOffer: ",e),n(!1)}})}))}exports.answerWebRTC=function(){var e=r.store.getState().webrtc,o=e.sipcall,s=e.jsepGlobal;if(o&&s){var i=n.getJSONItem("phone-island-audio-input-device").deviceId||null;o.createAnswer({jsep:s,media:{audio:{echoCancellation:!0,noiseSuppression:!0,autoGainControl:!0,googEchoCancellation:!0,googAutoGainControl:!0,googNoiseSuppression:!0,googHighpassFilter:!0,googTypingNoiseDetection:!0,googNoiseReduction:!0,volume:1,deviceId:i},videoSend:!1,videoRecv:!1},success:function(e){o.send({message:{request:"accept"},jsep:e})},error:function(e){t.default.error("WebRTC error:",e),o.send({message:{request:"decline",code:480}})}})}},exports.call=i,exports.callSipURI=function(r){var o=this;s.getSupportedDevices((function(){return e.__awaiter(o,void 0,void 0,(function(){var o;return e.__generator(this,(function(e){switch(e.label){case 0:return t.default.log("This is a SIP call"),o=n.getJSONItem("phone-island-audio-input-device").deviceId||null,[4,i(r,{audio:{echoCancellation:!0,noiseSuppression:!0,autoGainControl:!0,googEchoCancellation:!0,googAutoGainControl:!0,googNoiseSuppression:!0,googHighpassFilter:!0,googTypingNoiseDetection:!0,googNoiseReduction:!0,volume:1,deviceId:o},audioSend:!0,audioRecv:!0,videoSend:!1,videoRecv:!1})];case 1:return e.sent(),[2]}}))}))}))},exports.detach=function(){var e=r.store.getState().webrtc.sipcall;if(e)return e.detach()},exports.handleRemote=function(e){var t=r.store.getState().webrtc.sipcall;t&&t.handleRemoteJsep({jsep:e,error:function(){t.send({message:{request:"hangup"}}),t.hangup()}})},exports.hangup=function(){var e=r.store.getState().webrtc.sipcall;e&&e.send({message:{request:"hangup"}})},exports.muteWebRTC=function(){var e=r.store.getState().webrtc.sipcall;return e.muteAudio(),e.isAudioMuted()},exports.pauseWebRTC=function(){var e=r.store.getState().webrtc.sipcall;try{return e.send({message:{request:"hold"}}),!0}catch(e){return console.error(e),!1}},exports.register=function(e){var t=e.sipExten,o=e.sipSecret,s=e.sipHost,n=e.sipPort,i=r.store.getState().webrtc.sipcall,a=r.store.getState().currentUser.name;i&&i.send({message:{request:"register",username:"sip:".concat(t,"@").concat(s),display_name:a||"",secret:o,proxy:"sip:".concat(s,":").concat(n),outbound_proxy:"sip:".concat(s,":").concat(n),sips:!1,refresh:!1}})},exports.sendDTMF=function(e){var t=r.store.getState().webrtc.sipcall;"chrome"===o.default.browserDetails.browser?t.dtmf({dtmf:{tones:e}}):t.send({message:{request:"dtmf_info",digit:"".concat(e)}})},exports.unmuteWebRTC=function(){var e=r.store.getState().webrtc.sipcall;return e.unmuteAudio(),!e.isAudioMuted()},exports.unpauseWebRTC=function(){var e=r.store.getState().webrtc.sipcall;try{return e.send({message:{request:"unhold"}}),!0}catch(e){return console.error(e),!1}},exports.unregister=function(){var e=r.store.getState().webrtc.sipcall;e&&e.send({message:{request:"unregister"}})};
|
|
2
2
|
//# sourceMappingURL=messages.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messages.js","sources":["../../../src/lib/webrtc/messages.ts"],"sourcesContent":["// Copyright (C) 2022 Nethesis S.r.l.\n// SPDX-License-Identifier: AGPL-3.0-or-later\n\nimport Janus from './janus'\nimport { store } from '../../store'\nimport adapter from 'webrtc-adapter'\nimport { getSupportedDevices } from '../devices/devices'\nimport { getJSONItem } from '../../utils'\n\nexport function register({\n sipExten,\n sipSecret,\n sipHost,\n sipPort,\n}: {\n sipExten: string\n sipSecret: string\n sipHost: string\n sipPort: string\n}) {\n const { sipcall }: { sipcall: any } = store.getState().webrtc\n const { name } = store.getState().currentUser\n if (sipcall) {\n sipcall.send({\n message: {\n request: 'register',\n username: `sip:${sipExten}@${sipHost}`,\n display_name: name || '',\n secret: sipSecret,\n proxy: `sip:${sipHost}:${sipPort}`,\n outbound_proxy: `sip:${sipHost}:${sipPort}`,\n sips: false,\n refresh: false,\n },\n })\n }\n}\n\nexport function answerWebRTC() {\n const { sipcall, jsepGlobal }: { sipcall: any; jsepGlobal: any } = store.getState().webrtc\n if (sipcall && jsepGlobal) {\n // get current input device id from localstorage\n let currentDeviceInputId = getJSONItem('phone-island-audio-input-device').deviceId || null;\n\n sipcall.createAnswer({\n jsep: jsepGlobal,\n /*media: {\n audio: true,\n videoSend: false,\n videoRecv: false,\n },*/\n media: {\n audio: {\n echoCancellation: true,\n noiseSuppression: true,\n autoGainControl: true,\n googEchoCancellation: true,\n googAutoGainControl: true,\n googNoiseSuppression: true,\n googHighpassFilter: true,\n googTypingNoiseDetection: true,\n googNoiseReduction: true,\n volume: 1.0,\n deviceId: currentDeviceInputId,\n },\n audioSend: true,\n audioRecv: false,\n videoSend: false,\n videoRecv: false,\n },\n success: (jsep) => {\n sipcall.send({\n message: {\n request: 'accept',\n },\n jsep: jsep,\n })\n },\n error: (error) => {\n // @ts-ignore\n Janus.error('WebRTC error:', error)\n sipcall.send({\n message: {\n request: 'decline',\n code: 480,\n },\n })\n },\n })\n }\n}\n\nexport function decline() {\n const { sipcall }: { sipcall: any } = store.getState().webrtc\n if (sipcall) {\n sipcall.send({\n message: {\n request: 'decline',\n },\n })\n }\n}\n\nexport function hangup() {\n const { sipcall }: { sipcall: any } = store.getState().webrtc\n if (sipcall) {\n sipcall.send({\n message: {\n request: 'hangup',\n },\n })\n }\n}\n\nexport function unregister() {\n const { sipcall }: { sipcall: any } = store.getState().webrtc\n if (sipcall) {\n sipcall.send({\n message: {\n request: 'unregister',\n },\n })\n }\n}\n\nexport function detach() {\n const { sipcall }: { sipcall: any } = store.getState().webrtc\n if (sipcall) {\n return sipcall.detach()\n }\n}\n\nexport function handleRemote(jsep) {\n const { sipcall }: { sipcall: any } = store.getState().webrtc\n if (sipcall) {\n sipcall.handleRemoteJsep({\n jsep: jsep,\n error: function () {\n var hangup = {\n request: 'hangup',\n }\n sipcall.send({\n message: hangup,\n })\n sipcall.hangup()\n },\n })\n }\n}\n\nexport function callSipURI(sipURI: string) {\n getSupportedDevices(async () => {\n // @ts-ignore\n Janus.log('This is a SIP call')\n\n // get current input device id from localstorage\n let currentDeviceInputId = getJSONItem('phone-island-audio-input-device').deviceId || null\n\n await call(sipURI, {\n audio: {\n echoCancellation: true,\n noiseSuppression: true,\n autoGainControl: true,\n googEchoCancellation: true,\n googAutoGainControl: true,\n googNoiseSuppression: true,\n googHighpassFilter: true,\n googTypingNoiseDetection: true,\n googNoiseReduction: true,\n volume: 1.0,\n deviceId: currentDeviceInputId,\n },\n audioSend: true,\n audioRecv: true,\n videoSend: false,\n videoRecv: false,\n })\n })\n}\n\nexport function call(sipURI: string, mediaObj: object) {\n return new Promise((resolve, reject) => {\n const { sipcall }: { sipcall: any } = store.getState().webrtc\n if (sipURI && mediaObj) {\n sipcall.createOffer({\n media: mediaObj,\n success: function (jsep: any) {\n // @ts-ignore\n Janus.debug('Got SDP!')\n // @ts-ignore\n Janus.debug(jsep)\n sipcall.send({\n message: {\n request: 'call',\n uri: sipURI,\n },\n jsep: jsep,\n })\n resolve(true)\n },\n error: function (error) {\n // @ts-ignore\n Janus.error('WebRTC error...', error)\n // @ts-ignore\n Janus.error('WebRTC error call on createOffer: ', error)\n reject(false)\n },\n })\n }\n })\n}\n\n/**\n * Mute current call so the counterpart can't listen the current user\n * @returns The muted status\n */\nexport function muteWebRTC(): boolean {\n // Initialize sipcall\n const { sipcall }: { sipcall: any } = store.getState().webrtc\n // Uset the janus library functions to mute call\n sipcall.muteAudio()\n return sipcall.isAudioMuted()\n}\n\n/**\n * Unmute current call so the counterpart can listen the current user\n * @returns The muted status\n */\nexport function unmuteWebRTC(): boolean {\n // Initialize sipcall\n const { sipcall }: { sipcall: any } = store.getState().webrtc\n // Use the janus library functions to unmute call\n sipcall.unmuteAudio()\n return !sipcall.isAudioMuted()\n}\n\n/**\n * Pause current call so the counterpart listens the pause ringtone\n * @returns The true if no errors occurs\n */\nexport function pauseWebRTC() {\n // Initialize sipcall\n const { sipcall }: { sipcall: any } = store.getState().webrtc\n // Send hold message\n try {\n sipcall.send({\n message: {\n request: 'hold',\n },\n })\n return true\n } catch (err) {\n console.error(err)\n return false\n }\n}\n\n/**\n * Unpause the current call so the counterpart listens the current user\n * @returns The true if no errors occurs\n */\nexport function unpauseWebRTC() {\n // Initialize sipcall\n const { sipcall }: { sipcall: any } = store.getState().webrtc\n // Send hold message\n try {\n sipcall.send({\n message: {\n request: 'unhold',\n },\n })\n return true\n } catch (err) {\n console.error(err)\n return false\n }\n}\n\n/**\n * Send DTMF messages to Janus\n */\nexport function sendDTMF(key: string) {\n // Initialize sipcall\n const { sipcall }: { sipcall: any } = store.getState().webrtc\n if (adapter.browserDetails.browser === 'chrome') {\n sipcall.dtmf({\n dtmf: {\n tones: key,\n },\n })\n } else {\n sipcall.send({\n message: {\n request: 'dtmf_info',\n digit: `${key}`,\n },\n })\n }\n}\n"],"names":["call","sipURI","mediaObj","Promise","resolve","reject","sipcall","store","getState","webrtc","createOffer","media","success","jsep","Janus","debug","send","message","request","uri","error","_a","jsepGlobal","currentDeviceInputId","getJSONItem","deviceId","createAnswer","audio","echoCancellation","noiseSuppression","autoGainControl","googEchoCancellation","googAutoGainControl","googNoiseSuppression","googHighpassFilter","googTypingNoiseDetection","googNoiseReduction","volume","audioSend","audioRecv","videoSend","videoRecv","code","_this","this","getSupportedDevices","__awaiter","log","sent","detach","handleRemoteJsep","hangup","muteAudio","isAudioMuted","err","console","sipExten","sipSecret","sipHost","sipPort","name","currentUser","username","concat","display_name","secret","proxy","outbound_proxy","sips","refresh","key","adapter","browserDetails","browser","dtmf","tones","digit","unmuteAudio"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"messages.js","sources":["../../../src/lib/webrtc/messages.ts"],"sourcesContent":["// Copyright (C) 2022 Nethesis S.r.l.\n// SPDX-License-Identifier: AGPL-3.0-or-later\n\nimport Janus from './janus'\nimport { store } from '../../store'\nimport adapter from 'webrtc-adapter'\nimport { getSupportedDevices } from '../devices/devices'\nimport { getJSONItem } from '../../utils'\n\nexport function register({\n sipExten,\n sipSecret,\n sipHost,\n sipPort,\n}: {\n sipExten: string\n sipSecret: string\n sipHost: string\n sipPort: string\n}) {\n const { sipcall }: { sipcall: any } = store.getState().webrtc\n const { name } = store.getState().currentUser\n if (sipcall) {\n sipcall.send({\n message: {\n request: 'register',\n username: `sip:${sipExten}@${sipHost}`,\n display_name: name || '',\n secret: sipSecret,\n proxy: `sip:${sipHost}:${sipPort}`,\n outbound_proxy: `sip:${sipHost}:${sipPort}`,\n sips: false,\n refresh: false,\n },\n })\n }\n}\n\nexport function answerWebRTC() {\n const { sipcall, jsepGlobal }: { sipcall: any; jsepGlobal: any } = store.getState().webrtc\n if (sipcall && jsepGlobal) {\n // get current input device id from localstorage\n let currentDeviceInputId = getJSONItem('phone-island-audio-input-device').deviceId || null;\n\n sipcall.createAnswer({\n jsep: jsepGlobal,\n media: {\n audio: {\n echoCancellation: true,\n noiseSuppression: true,\n autoGainControl: true,\n googEchoCancellation: true,\n googAutoGainControl: true,\n googNoiseSuppression: true,\n googHighpassFilter: true,\n googTypingNoiseDetection: true,\n googNoiseReduction: true,\n volume: 1.0,\n deviceId: currentDeviceInputId,\n },\n videoSend: false,\n videoRecv: false,\n },\n success: (jsep) => {\n sipcall.send({\n message: {\n request: 'accept',\n },\n jsep: jsep,\n })\n },\n error: (error) => {\n // @ts-ignore\n Janus.error('WebRTC error:', error)\n sipcall.send({\n message: {\n request: 'decline',\n code: 480,\n },\n })\n },\n })\n }\n}\n\nexport function decline() {\n const { sipcall }: { sipcall: any } = store.getState().webrtc\n if (sipcall) {\n sipcall.send({\n message: {\n request: 'decline',\n },\n })\n }\n}\n\nexport function hangup() {\n const { sipcall }: { sipcall: any } = store.getState().webrtc\n if (sipcall) {\n sipcall.send({\n message: {\n request: 'hangup',\n },\n })\n }\n}\n\nexport function unregister() {\n const { sipcall }: { sipcall: any } = store.getState().webrtc\n if (sipcall) {\n sipcall.send({\n message: {\n request: 'unregister',\n },\n })\n }\n}\n\nexport function detach() {\n const { sipcall }: { sipcall: any } = store.getState().webrtc\n if (sipcall) {\n return sipcall.detach()\n }\n}\n\nexport function handleRemote(jsep) {\n const { sipcall }: { sipcall: any } = store.getState().webrtc\n if (sipcall) {\n sipcall.handleRemoteJsep({\n jsep: jsep,\n error: function () {\n var hangup = {\n request: 'hangup',\n }\n sipcall.send({\n message: hangup,\n })\n sipcall.hangup()\n },\n })\n }\n}\n\nexport function callSipURI(sipURI: string) {\n getSupportedDevices(async () => {\n // @ts-ignore\n Janus.log('This is a SIP call')\n\n // get current input device id from localstorage\n let currentDeviceInputId = getJSONItem('phone-island-audio-input-device').deviceId || null\n\n await call(sipURI, {\n audio: {\n echoCancellation: true,\n noiseSuppression: true,\n autoGainControl: true,\n googEchoCancellation: true,\n googAutoGainControl: true,\n googNoiseSuppression: true,\n googHighpassFilter: true,\n googTypingNoiseDetection: true,\n googNoiseReduction: true,\n volume: 1.0,\n deviceId: currentDeviceInputId,\n },\n audioSend: true,\n audioRecv: true,\n videoSend: false,\n videoRecv: false,\n })\n })\n}\n\nexport function call(sipURI: string, mediaObj: object) {\n return new Promise((resolve, reject) => {\n const { sipcall }: { sipcall: any } = store.getState().webrtc\n if (sipURI && mediaObj) {\n sipcall.createOffer({\n media: mediaObj,\n success: function (jsep: any) {\n // @ts-ignore\n Janus.debug('Got SDP!')\n // @ts-ignore\n Janus.debug(jsep)\n sipcall.send({\n message: {\n request: 'call',\n uri: sipURI,\n },\n jsep: jsep,\n })\n resolve(true)\n },\n error: function (error) {\n // @ts-ignore\n Janus.error('WebRTC error...', error)\n // @ts-ignore\n Janus.error('WebRTC error call on createOffer: ', error)\n reject(false)\n },\n })\n }\n })\n}\n\n/**\n * Mute current call so the counterpart can't listen the current user\n * @returns The muted status\n */\nexport function muteWebRTC(): boolean {\n // Initialize sipcall\n const { sipcall }: { sipcall: any } = store.getState().webrtc\n // Uset the janus library functions to mute call\n sipcall.muteAudio()\n return sipcall.isAudioMuted()\n}\n\n/**\n * Unmute current call so the counterpart can listen the current user\n * @returns The muted status\n */\nexport function unmuteWebRTC(): boolean {\n // Initialize sipcall\n const { sipcall }: { sipcall: any } = store.getState().webrtc\n // Use the janus library functions to unmute call\n sipcall.unmuteAudio()\n return !sipcall.isAudioMuted()\n}\n\n/**\n * Pause current call so the counterpart listens the pause ringtone\n * @returns The true if no errors occurs\n */\nexport function pauseWebRTC() {\n // Initialize sipcall\n const { sipcall }: { sipcall: any } = store.getState().webrtc\n // Send hold message\n try {\n sipcall.send({\n message: {\n request: 'hold',\n },\n })\n return true\n } catch (err) {\n console.error(err)\n return false\n }\n}\n\n/**\n * Unpause the current call so the counterpart listens the current user\n * @returns The true if no errors occurs\n */\nexport function unpauseWebRTC() {\n // Initialize sipcall\n const { sipcall }: { sipcall: any } = store.getState().webrtc\n // Send hold message\n try {\n sipcall.send({\n message: {\n request: 'unhold',\n },\n })\n return true\n } catch (err) {\n console.error(err)\n return false\n }\n}\n\n/**\n * Send DTMF messages to Janus\n */\nexport function sendDTMF(key: string) {\n // Initialize sipcall\n const { sipcall }: { sipcall: any } = store.getState().webrtc\n if (adapter.browserDetails.browser === 'chrome') {\n sipcall.dtmf({\n dtmf: {\n tones: key,\n },\n })\n } else {\n sipcall.send({\n message: {\n request: 'dtmf_info',\n digit: `${key}`,\n },\n })\n }\n}\n"],"names":["call","sipURI","mediaObj","Promise","resolve","reject","sipcall","store","getState","webrtc","createOffer","media","success","jsep","Janus","debug","send","message","request","uri","error","_a","jsepGlobal","currentDeviceInputId","getJSONItem","deviceId","createAnswer","audio","echoCancellation","noiseSuppression","autoGainControl","googEchoCancellation","googAutoGainControl","googNoiseSuppression","googHighpassFilter","googTypingNoiseDetection","googNoiseReduction","volume","videoSend","videoRecv","code","_this","this","getSupportedDevices","__awaiter","log","audioSend","audioRecv","sent","detach","handleRemoteJsep","hangup","muteAudio","isAudioMuted","err","console","sipExten","sipSecret","sipHost","sipPort","name","currentUser","username","concat","display_name","secret","proxy","outbound_proxy","sips","refresh","key","adapter","browserDetails","browser","dtmf","tones","digit","unmuteAudio"],"mappings":"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"}
|