UNPKG

@nethesis/phone-island

Version:
3 lines (2 loc) 3.53 kB
"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"),s=require("../../node_modules/webrtc-adapter/src/js/adapter_core.js"),c=require("../devices/devices.js");function o(e,s){return new Promise((function(c,o){var n=r.store.getState().webrtc.sipcall;n.createOffer({tracks:s,success:function(r){t.default.debug("Got SDP!"),t.default.debug(r),n.send({message:{request:"call",uri:e},jsep:r}),c(!0)},error:function(e){t.default.error("WebRTC error...",e),t.default.error("WebRTC error call on createOffer: ",e),o(!1)}})}))}exports.answerWebRTC=function(){var e=r.store.getState().webrtc,s=e.sipcall,o=e.jsepGlobal;if(s&&o){var n=c.getCurrentAudioInputDeviceId(),a=[];n?a.push({type:"audio",capture:{deviceId:{exact:n}},recv:!0}):a.push({type:"audio",capture:!0,recv:!0});try{s.createAnswer({jsep:o,tracks:a,success:function(e){s.send({message:{request:"accept"},jsep:e})},error:function(e){t.default.error("WebRTC error:",e),e&&("object"==typeof e&&469===e.code||"string"==typeof e&&e.includes("Unexpected ANSWER"))?(console.warn('Got "Unexpected ANSWER" error, forcing the answer anyway'),s.send({message:{request:"accept"}})):s.send({message:{request:"decline",code:480}})}})}catch(e){console.error("Exception in createAnswer:",e),s.send({message:{request:"accept"}})}}},exports.call=o,exports.callSipURI=function(r){var s=this;c.getSupportedDevices((function(){return e.__awaiter(s,void 0,void 0,(function(){var s,n;return e.__generator(this,(function(e){switch(e.label){case 0:return t.default.log("This is a SIP call"),s=c.getCurrentAudioInputDeviceId(),n=[],s?n.push({type:"audio",capture:{deviceId:{exact:s}},recv:!0}):n.push({type:"audio",capture:!0,recv:!0}),[4,o(r,n)];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(e){console.error("WebRTC error... "+JSON.stringify(e));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,s=e.sipSecret,c=e.sipHost,o=e.sipPort,n=r.store.getState().webrtc.sipcall,a=r.store.getState().currentUser.name;n&&n.send({message:{request:"register",username:"sip:".concat(t,"@").concat(c),display_name:a||"",secret:s,proxy:"sip:".concat(c,":").concat(o),outbound_proxy:"sip:".concat(c,":").concat(o),sips:!1,refresh:!1}})},exports.sendDTMF=function(e){var t=r.store.getState().webrtc.sipcall;"chrome"===s.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"}})}; //# sourceMappingURL=messages.js.map