@exotel-npm-dev/webrtc-client-sdk 1.0.11 → 1.0.13

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.
package/dist/exotelsdk.js CHANGED
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  *
3
- * WebRTC CLient SIP version 1.0.11
3
+ * WebRTC CLient SIP version 1.0.13
4
4
  *
5
5
  */
6
6
  (function webpackUniversalModuleDefinition(root, factory) {
@@ -30,6 +30,207 @@ __webpack_require__.r(__webpack_exports__);
30
30
  /* harmony import */ var _src_webrtcSIPPhone__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./src/webrtcSIPPhone */ "./node_modules/@exotel-npm-dev/webrtc-core-sdk/src/webrtcSIPPhone.js");
31
31
 
32
32
 
33
+ /***/ }),
34
+
35
+ /***/ "./node_modules/@exotel-npm-dev/webrtc-core-sdk/src/audioDeviceManager.js":
36
+ /*!********************************************************************************!*\
37
+ !*** ./node_modules/@exotel-npm-dev/webrtc-core-sdk/src/audioDeviceManager.js ***!
38
+ \********************************************************************************/
39
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
40
+
41
+ "use strict";
42
+ __webpack_require__.r(__webpack_exports__);
43
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
44
+ /* harmony export */ audioDeviceManager: () => (/* binding */ audioDeviceManager),
45
+ /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
46
+ /* harmony export */ });
47
+ /* harmony import */ var _coreSDKLogger__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./coreSDKLogger */ "./node_modules/@exotel-npm-dev/webrtc-core-sdk/src/coreSDKLogger.js");
48
+
49
+
50
+ const logger = _coreSDKLogger__WEBPACK_IMPORTED_MODULE_0__["default"];
51
+ const audioDeviceManager = {
52
+ resetInputDevice: false,
53
+ resetOutputDevice: false,
54
+ currentAudioInputDeviceId: "default",
55
+ currentAudioOutputDeviceId: "default",
56
+
57
+
58
+ // Method to set the resetInputDevice flag
59
+ setResetInputDeviceFlag(value) {
60
+ this.resetInputDevice = value;
61
+ },
62
+
63
+ // Method to set the resetOutputDevice flag
64
+ setResetOutputDeviceFlag(value) {
65
+ this.resetOutputDevice = value;
66
+ },
67
+
68
+ async changeAudioInputDevice(deviceId, onSuccess, onError) {
69
+ logger.log(`SIPJSPhone:changeAudioInputDevice entry`);
70
+ try {
71
+ if (deviceId == audioDeviceManager.currentAudioInputDeviceId) {
72
+ logger.log(`SIPJSPhone:changeAudioInputDevice current input device is same as ${deviceId}`);
73
+ return;
74
+ }
75
+ const devices = await navigator.mediaDevices.enumerateDevices();
76
+ const inputDevice = devices.find(device => device.deviceId === deviceId && device.kind === 'audioinput');
77
+ if (!inputDevice) {
78
+ logger.error("input device id " + deviceId + "not found");
79
+ onError("deviceIdNotFound");
80
+ return;
81
+ }
82
+ logger.log(`SIPJSPhone:changeAudioInputDevice acquiring input device ${deviceId} : ${inputDevice.label}`);
83
+ const stream = await navigator.mediaDevices.getUserMedia({
84
+ audio: { deviceId: { exact: deviceId } }
85
+ });
86
+ onSuccess(stream);
87
+ } catch (error) {
88
+ logger.error('SIPJSPhone:changeAudioInputDevice Error changing input device:', error);
89
+ onError(error);
90
+ }
91
+ },
92
+
93
+ async changeAudioOutputDevice(audioRemote, deviceId, onSuccess, onError) {
94
+ logger.log(`audioDeviceManager:changeAudioOutputDevice : entry`);
95
+ if (deviceId == audioDeviceManager.currentAudioOutputDeviceId) {
96
+ logger.log(`SIPJSPhone:changeAudioOutputDevice current output device is same as ${deviceId}`);
97
+ return;
98
+ }
99
+ const audioElement = audioRemote;
100
+ if (typeof audioElement.sinkId !== 'undefined') {
101
+ try {
102
+ const devices = await navigator.mediaDevices.enumerateDevices();
103
+ const outputDevice = devices.find(device => device.deviceId === deviceId && device.kind === 'audiooutput');
104
+ if (!outputDevice) {
105
+ logger.error("audioDeviceManager:changeAudioOutputDevice output device id " + deviceId + "not found");
106
+ onError("deviceIdNotFound");
107
+ return;
108
+ }
109
+ logger.log(`SIPJSPhone:changeAudioOutputDevice acquiring output device ${deviceId} : ${outputDevice.label}`);
110
+ await audioElement.setSinkId(deviceId);
111
+ audioDeviceManager.currentAudioOutputDeviceId = deviceId;
112
+ logger.log(`audioDeviceManager:changeAudioOutputDevice Output device changed to: ${deviceId}`);
113
+ if (onSuccess) onSuccess();
114
+
115
+
116
+ } catch (error) {
117
+ logger.error('audioDeviceManager:changeAudioOutputDevice Error changing output device:', error);
118
+ if (onError) onError(error);
119
+ }
120
+ } else {
121
+ const errorMsg = 'audioDeviceManager:changeAudioOutputDevice Browser does not support output device selection.';
122
+ logger.error(errorMsg);
123
+ if (onError) onError(errorMsg);
124
+ }
125
+ },
126
+
127
+ async resetAudioDevice(audioRemote, onInputDeviceChangeCallback, onOutputDeviceChangeCallback) {
128
+ audioDeviceManager._resetAudioDevice(audioRemote, onInputDeviceChangeCallback, onOutputDeviceChangeCallback, audioDeviceManager.resetOutputDevice, audioDeviceManager.resetInputDevice);
129
+ },
130
+
131
+ onAudioDeviceChange(audioRemote, onInputDeviceChangeCallback, onOutputDeviceChangeCallback) {
132
+ logger.log("audioDeviceManager:onAudioDeviceChange entry");
133
+ audioDeviceManager._resetAudioDevice(audioRemote, onInputDeviceChangeCallback, onOutputDeviceChangeCallback, true, true);
134
+ },
135
+
136
+ async _resetAudioDevice(audioRemote, onInputDeviceChangeCallback, onOutputDeviceChangecallback, resetOutputDevice, resetInputDevice) {
137
+ logger.log("audioDeviceManager:_resetAudioDevice entry");
138
+ try {
139
+ const devices = await navigator.mediaDevices.enumerateDevices();
140
+
141
+ if (resetOutputDevice) {
142
+ const defaultOutputDevice = devices.find(device => device.deviceId === "default" && device.kind === 'audiooutput');
143
+ const outputDevice = devices.find(device => device.groupId == defaultOutputDevice.groupId && device.kind === 'audiooutput' && device.deviceId != 'default');
144
+
145
+ audioDeviceManager.changeAudioOutputDevice(audioRemote,
146
+ outputDevice.deviceId,
147
+ () => onOutputDeviceChangecallback(outputDevice.deviceId),
148
+ (error) => logger.log(`audioDeviceManager:_resetAudioDevice Failed to change output device: ${error}`)
149
+ );
150
+ }
151
+ if (resetInputDevice) {
152
+ const defaultInputDevice = devices.find(device => device.deviceId === "default" && device.kind === 'audioinput');
153
+ const inputDevice = devices.find(device => device.groupId == defaultInputDevice.groupId && device.kind === 'audioinput' && device.deviceId != 'default');
154
+ audioDeviceManager.changeAudioInputDevice(
155
+ inputDevice.deviceId,
156
+ (stream) => onInputDeviceChangeCallback(stream, inputDevice.deviceId),
157
+ (error) => logger.log(`audioDeviceManager:_resetAudioDevice Failed to change input device: ${error}`)
158
+ );
159
+ }
160
+ } catch (error) {
161
+ logger.log("audioDeviceManager:_resetAudioDevice something went wrong", error);
162
+ }
163
+ },
164
+
165
+ };
166
+
167
+
168
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (audioDeviceManager);
169
+
170
+ /***/ }),
171
+
172
+ /***/ "./node_modules/@exotel-npm-dev/webrtc-core-sdk/src/coreSDKLogger.js":
173
+ /*!***************************************************************************!*\
174
+ !*** ./node_modules/@exotel-npm-dev/webrtc-core-sdk/src/coreSDKLogger.js ***!
175
+ \***************************************************************************/
176
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
177
+
178
+ "use strict";
179
+ __webpack_require__.r(__webpack_exports__);
180
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
181
+ /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
182
+ /* harmony export */ });
183
+
184
+ const coreSDKLogger = {
185
+
186
+ loggerCallback: null,
187
+
188
+ registerLoggerCallback(callback) {
189
+ coreSDKLogger.loggerCallback = callback;
190
+ },
191
+ log: (arg1, ...args) => {
192
+ if (args.length == 0)
193
+ console.log(arg1);
194
+ else
195
+ console.log(arg1, args);
196
+ if (coreSDKLogger.loggerCallback)
197
+ coreSDKLogger.loggerCallback("log", arg1, args);
198
+ },
199
+
200
+ info: (arg1, ...args) => {
201
+ if (args.length == 0)
202
+ console.info(arg1);
203
+ else
204
+ console.info(arg1, args);
205
+ if (coreSDKLogger.loggerCallback)
206
+ coreSDKLogger.loggerCallback("info", arg1, args);
207
+ },
208
+
209
+ warn: (arg1, ...args) => {
210
+ if (args.length == 0)
211
+ console.warn(arg1);
212
+ else
213
+ console.warn(arg1, args);
214
+ if (coreSDKLogger.loggerCallback)
215
+ coreSDKLogger.loggerCallback("warn", arg1, args);
216
+ },
217
+
218
+ error: (arg1, ...args) => {
219
+ if (args.length == 0)
220
+ console.error(arg1);
221
+ else
222
+ console.error(arg1, args);
223
+ if (coreSDKLogger.loggerCallback)
224
+ coreSDKLogger.loggerCallback("error", arg1, args);
225
+ }
226
+ };
227
+
228
+
229
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (coreSDKLogger);
230
+
231
+
232
+
233
+
33
234
  /***/ }),
34
235
 
35
236
  /***/ "./node_modules/@exotel-npm-dev/webrtc-core-sdk/src/sip-0.20.0.js":
@@ -20614,7 +20815,9 @@ __webpack_require__.r(__webpack_exports__);
20614
20815
  /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__),
20615
20816
  /* harmony export */ getLogger: () => (/* binding */ getLogger)
20616
20817
  /* harmony export */ });
20617
- /* harmony import */ var _webrtcSIPPhoneEventDelegate__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./webrtcSIPPhoneEventDelegate */ "./node_modules/@exotel-npm-dev/webrtc-core-sdk/src/webrtcSIPPhoneEventDelegate.js");
20818
+ /* harmony import */ var _audioDeviceManager_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./audioDeviceManager.js */ "./node_modules/@exotel-npm-dev/webrtc-core-sdk/src/audioDeviceManager.js");
20819
+ /* harmony import */ var _coreSDKLogger_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./coreSDKLogger.js */ "./node_modules/@exotel-npm-dev/webrtc-core-sdk/src/coreSDKLogger.js");
20820
+ /* harmony import */ var _webrtcSIPPhoneEventDelegate__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./webrtcSIPPhoneEventDelegate */ "./node_modules/@exotel-npm-dev/webrtc-core-sdk/src/webrtcSIPPhoneEventDelegate.js");
20618
20821
  /*
20619
20822
  * SIPJS WebRTC SIP Phone - to interact with SIPJS Library
20620
20823
  */
@@ -20622,9 +20825,10 @@ __webpack_require__.r(__webpack_exports__);
20622
20825
  var SIP = __webpack_require__(/*! ./sip-0.20.0.js */ "./node_modules/@exotel-npm-dev/webrtc-core-sdk/src/sip-0.20.0.js")
20623
20826
  ;
20624
20827
 
20828
+
20829
+
20625
20830
  var lastTransportState = "";
20626
20831
  var lastRegistererState = "";
20627
- var videoRemote, videoLocal, audioRemote;
20628
20832
  var initializeComplete = false;
20629
20833
  var webRTCStatus = "offline"; // ready -> registered, offline -> unregistered,
20630
20834
  var callBackHandler = null;
@@ -20641,8 +20845,8 @@ ringbacktone.src = __webpack_require__(/*! ./static/ringbacktone.wav */ "./node_
20641
20845
  var dtmftone = document.createElement("audio");
20642
20846
  dtmftone.src = __webpack_require__(/*! ./static/dtmf.wav */ "./node_modules/@exotel-npm-dev/webrtc-core-sdk/src/static/dtmf.wav");
20643
20847
 
20644
- videoLocal = document.createElement("video");//getElementById("video_local");
20645
- videoRemote = document.createElement("video");//getElementById("video_remote");
20848
+ var audioRemote = document.createElement("audio");
20849
+
20646
20850
 
20647
20851
  let txtDisplayName, txtPrivateIdentity, txtHostNameWithPort, txtHostName, txtWebSocketPort, txtAccountName;
20648
20852
  let txtSecurity, txtSipDomain, txtWSPort, txtSipPort, txtSipSecurePort, txtContactHost, endpoint;
@@ -20653,7 +20857,8 @@ let register_flag = false;
20653
20857
  var ctxSip = {};
20654
20858
  var registerer = null;
20655
20859
 
20656
- const logger = console; //AmeyoLogger.get("sipjsphone");
20860
+
20861
+ let logger = _coreSDKLogger_js__WEBPACK_IMPORTED_MODULE_1__["default"];
20657
20862
  logger.log(SIP);
20658
20863
  /* NL Additions - Start */
20659
20864
 
@@ -20664,7 +20869,7 @@ function getLogger() {
20664
20869
  uaLogger = userAgent.getLogger("sip.WebrtcLib")
20665
20870
  //let loggerFactory = userAgent.getLoggerFactory()
20666
20871
  } catch (e) {
20667
- console.log("No userAgent.getLogger: Using console log")
20872
+ logger.log("No userAgent.getLogger: Using console log")
20668
20873
  return console;
20669
20874
  }
20670
20875
 
@@ -20672,7 +20877,7 @@ function getLogger() {
20672
20877
  return uaLogger;
20673
20878
  }
20674
20879
  else {
20675
- console.log("No Logger: Using console log")
20880
+ logger.log("No Logger: Using console log")
20676
20881
  return logger;
20677
20882
  }
20678
20883
  }
@@ -20797,7 +21002,7 @@ function postInit(onInitDoneCallback) {
20797
21002
  let callId = ctxSip.callActiveID;
20798
21003
  let username = ctxSip.config.authorizationUsername;
20799
21004
  let pc = sdh._peerConnection;
20800
- _webrtcSIPPhoneEventDelegate__WEBPACK_IMPORTED_MODULE_0__["default"].initGetStats(pc, callId, username);
21005
+ _webrtcSIPPhoneEventDelegate__WEBPACK_IMPORTED_MODULE_2__["default"].initGetStats(pc, callId, username);
20801
21006
  } catch (e) {
20802
21007
  logger.log("something went wrong while initing getstats");
20803
21008
  logger.log(e);
@@ -20805,19 +21010,19 @@ function postInit(onInitDoneCallback) {
20805
21010
 
20806
21011
  sdh.peerConnectionDelegate = {
20807
21012
  onnegotiationneeded: (event) => {
20808
- _webrtcSIPPhoneEventDelegate__WEBPACK_IMPORTED_MODULE_0__["default"].onCallStatNegoNeeded();
21013
+ _webrtcSIPPhoneEventDelegate__WEBPACK_IMPORTED_MODULE_2__["default"].onCallStatNegoNeeded();
20809
21014
  },
20810
21015
  onsignalingstatechange: (event) => {
20811
- _webrtcSIPPhoneEventDelegate__WEBPACK_IMPORTED_MODULE_0__["default"].onCallStatSignalingStateChange(event.target.signalingState);
21016
+ _webrtcSIPPhoneEventDelegate__WEBPACK_IMPORTED_MODULE_2__["default"].onCallStatSignalingStateChange(event.target.signalingState);
20812
21017
  },
20813
21018
  onconnectionstatechange: (event) => {
20814
- _webrtcSIPPhoneEventDelegate__WEBPACK_IMPORTED_MODULE_0__["default"].onStatPeerConnectionConnectionStateChange(event.target.connectionState);
21019
+ _webrtcSIPPhoneEventDelegate__WEBPACK_IMPORTED_MODULE_2__["default"].onStatPeerConnectionConnectionStateChange(event.target.connectionState);
20815
21020
  },
20816
21021
  oniceconnectionstatechange: (event) => {
20817
- _webrtcSIPPhoneEventDelegate__WEBPACK_IMPORTED_MODULE_0__["default"].onStatPeerConnectionIceConnectionStateChange(event.target.iceConnectionState);
21022
+ _webrtcSIPPhoneEventDelegate__WEBPACK_IMPORTED_MODULE_2__["default"].onStatPeerConnectionIceConnectionStateChange(event.target.iceConnectionState);
20818
21023
  },
20819
21024
  onicegatheringstatechange: (event) => {
20820
- _webrtcSIPPhoneEventDelegate__WEBPACK_IMPORTED_MODULE_0__["default"].onStatPeerConnectionIceGatheringStateChange(event.target.iceGatheringState);
21025
+ _webrtcSIPPhoneEventDelegate__WEBPACK_IMPORTED_MODULE_2__["default"].onStatPeerConnectionIceGatheringStateChange(event.target.iceGatheringState);
20821
21026
  }
20822
21027
 
20823
21028
  };
@@ -20827,7 +21032,7 @@ function postInit(onInitDoneCallback) {
20827
21032
 
20828
21033
  let status;
20829
21034
  if (newSess.direction === 'incoming') {
20830
- _webrtcSIPPhoneEventDelegate__WEBPACK_IMPORTED_MODULE_0__["default"].onCallStatSipJsSessionEvent('incoming');
21035
+ _webrtcSIPPhoneEventDelegate__WEBPACK_IMPORTED_MODULE_2__["default"].onCallStatSipJsSessionEvent('incoming');
20831
21036
  status = "Incoming: " + newSess.displayName;
20832
21037
  ctxSip.startRingTone();
20833
21038
  //sip call method was invoking after 500 ms because of race between server push and
@@ -20952,7 +21157,7 @@ function postInit(onInitDoneCallback) {
20952
21157
  phoneMute: function (sessionid, bMute) {
20953
21158
  if (sessionid) {
20954
21159
  var s = ctxSip.Sessions[sessionid];
20955
- console.log("phoneMute: bMute", bMute)
21160
+ logger.log("phoneMute: bMute", bMute)
20956
21161
  toggleMute(s, bMute);
20957
21162
  bMicEnable = !bMute;
20958
21163
  }
@@ -20961,7 +21166,7 @@ function postInit(onInitDoneCallback) {
20961
21166
  phoneHold: function (sessionid, bHold) {
20962
21167
  if (sessionid) {
20963
21168
  var s = ctxSip.Sessions[sessionid];
20964
- console.log("phoneHold: bHold", bHold)
21169
+ logger.log("phoneHold: bHold", bHold)
20965
21170
  toggleHold(s, bHold);
20966
21171
  bHoldEnable = bHold;
20967
21172
  }
@@ -20995,7 +21200,7 @@ function postInit(onInitDoneCallback) {
20995
21200
  return true;
20996
21201
  } else {
20997
21202
  ctxSip.setError(true, 'Unsupported Browser.', 'Your browser does not support the features required for this phone.');
20998
- window.console.error("WebRTC support not found");
21203
+ logger.error("WebRTC support not found");
20999
21204
  return false;
21000
21205
  }
21001
21206
  }
@@ -21006,7 +21211,7 @@ function postInit(onInitDoneCallback) {
21006
21211
  if (!ctxSip.hasWebRTC) {
21007
21212
  alert('Your browser don\'t support WebRTC.\naudio/video calls will be disabled.');
21008
21213
  }
21009
- _webrtcSIPPhoneEventDelegate__WEBPACK_IMPORTED_MODULE_0__["default"].setWebRTCFSMMapper("sipjs");
21214
+ _webrtcSIPPhoneEventDelegate__WEBPACK_IMPORTED_MODULE_2__["default"].setWebRTCFSMMapper("sipjs");
21010
21215
  logger.log("init: Initialization complete...")
21011
21216
  initializeComplete = true;
21012
21217
  onInitDoneCallback();
@@ -21112,8 +21317,8 @@ let transportStateChangeListener = (newState) => {
21112
21317
  switch (newState) {
21113
21318
 
21114
21319
  case SIP.TransportState.Connecting:
21115
- _webrtcSIPPhoneEventDelegate__WEBPACK_IMPORTED_MODULE_0__["default"].onCallStatSipJsTransportEvent('connecting');
21116
- _webrtcSIPPhoneEventDelegate__WEBPACK_IMPORTED_MODULE_0__["default"].sendWebRTCEventsToFSM("starting", "CONNECTION");
21320
+ _webrtcSIPPhoneEventDelegate__WEBPACK_IMPORTED_MODULE_2__["default"].onCallStatSipJsTransportEvent('connecting');
21321
+ _webrtcSIPPhoneEventDelegate__WEBPACK_IMPORTED_MODULE_2__["default"].sendWebRTCEventsToFSM("starting", "CONNECTION");
21117
21322
  break;
21118
21323
  case SIP.TransportState.Connected:
21119
21324
  onUserAgentTransportConnected();
@@ -21145,8 +21350,8 @@ function registerPhoneEventListeners() {
21145
21350
  var s = incomingSession;
21146
21351
  s.direction = 'incoming';
21147
21352
  ctxSip.newSession(s);
21148
- _webrtcSIPPhoneEventDelegate__WEBPACK_IMPORTED_MODULE_0__["default"].onRecieveInvite(incomingSession);
21149
- _webrtcSIPPhoneEventDelegate__WEBPACK_IMPORTED_MODULE_0__["default"].sendWebRTCEventsToFSM("i_new_call", "CALL");
21353
+ _webrtcSIPPhoneEventDelegate__WEBPACK_IMPORTED_MODULE_2__["default"].onRecieveInvite(incomingSession);
21354
+ _webrtcSIPPhoneEventDelegate__WEBPACK_IMPORTED_MODULE_2__["default"].sendWebRTCEventsToFSM("i_new_call", "CALL");
21150
21355
  } else {
21151
21356
  incomingSession.reject();
21152
21357
  }
@@ -21207,7 +21412,7 @@ function uiCallTerminated(s_description) {
21207
21412
 
21208
21413
  function sipCall() {
21209
21414
  logger.log("testing emit accept_reject");
21210
- _webrtcSIPPhoneEventDelegate__WEBPACK_IMPORTED_MODULE_0__["default"].sendWebRTCEventsToFSM("accept_reject", "CALL");
21415
+ _webrtcSIPPhoneEventDelegate__WEBPACK_IMPORTED_MODULE_2__["default"].sendWebRTCEventsToFSM("accept_reject", "CALL");
21211
21416
  }
21212
21417
 
21213
21418
 
@@ -21224,26 +21429,18 @@ function sipPhoneLogger(level, category, label, content) {
21224
21429
  logger.log(level + " sipjslog: " + category + ": " + content);
21225
21430
  }
21226
21431
  } catch (e) {
21227
- logger.error("ERROR", e);
21432
+ logger.error("sipjsphone:sipPhoneLogger ERROR", e);
21228
21433
  }
21229
21434
 
21230
21435
  }
21231
21436
 
21232
21437
 
21233
21438
  function onInvitationSessionAccepted(newSess) {
21439
+ ctxSip.Stream = newSess.sessionDescriptionHandler.localMediaStream;
21440
+ assignStream(newSess.sessionDescriptionHandler.remoteMediaStream, audioRemote);
21234
21441
 
21235
- if (!audioRemote) {
21236
- audioRemote = document.createElement("audio");
21237
- //audioRemote.setAttribute("id", "audio_remote");
21238
- console.log("No audio remote id .... ")
21239
- }
21240
-
21241
- if (audioRemote) {
21242
- assignStream(newSess.sessionDescriptionHandler.remoteMediaStream, audioRemote);
21243
- }
21244
-
21245
- _webrtcSIPPhoneEventDelegate__WEBPACK_IMPORTED_MODULE_0__["default"].onCallStatSipJsSessionEvent('accepted');
21246
- _webrtcSIPPhoneEventDelegate__WEBPACK_IMPORTED_MODULE_0__["default"].sendWebRTCEventsToFSM("connected", "CALL");
21442
+ _webrtcSIPPhoneEventDelegate__WEBPACK_IMPORTED_MODULE_2__["default"].onCallStatSipJsSessionEvent('accepted');
21443
+ _webrtcSIPPhoneEventDelegate__WEBPACK_IMPORTED_MODULE_2__["default"].sendWebRTCEventsToFSM("connected", "CALL");
21247
21444
 
21248
21445
  // If there is another active call, hold it
21249
21446
  if (ctxSip.callActiveID && ctxSip.callActiveID !== newSess.ctxid) {
@@ -21263,14 +21460,15 @@ function onInvitationSessionAccepted(newSess) {
21263
21460
  }
21264
21461
 
21265
21462
  function onInvitationSessionTerminated() {
21266
- _webrtcSIPPhoneEventDelegate__WEBPACK_IMPORTED_MODULE_0__["default"].stopCallStat();
21267
- _webrtcSIPPhoneEventDelegate__WEBPACK_IMPORTED_MODULE_0__["default"].onCallStatSipJsSessionEvent('terminated');
21463
+ SIPJSPhone.stopStreamTracks(ctxSip.Stream);
21464
+ _webrtcSIPPhoneEventDelegate__WEBPACK_IMPORTED_MODULE_2__["default"].stopCallStat();
21465
+ _webrtcSIPPhoneEventDelegate__WEBPACK_IMPORTED_MODULE_2__["default"].onCallStatSipJsSessionEvent('terminated');
21268
21466
  ctxSip.stopRingTone();
21269
21467
  ctxSip.stopRingbackTone();
21270
21468
  ctxSip.setCallSessionStatus("");
21271
21469
  ctxSip.callActiveID = null;
21272
- _webrtcSIPPhoneEventDelegate__WEBPACK_IMPORTED_MODULE_0__["default"].playBeepTone();
21273
- _webrtcSIPPhoneEventDelegate__WEBPACK_IMPORTED_MODULE_0__["default"].sendWebRTCEventsToFSM("terminated", "CALL");
21470
+ _webrtcSIPPhoneEventDelegate__WEBPACK_IMPORTED_MODULE_2__["default"].playBeepTone();
21471
+ _webrtcSIPPhoneEventDelegate__WEBPACK_IMPORTED_MODULE_2__["default"].sendWebRTCEventsToFSM("terminated", "CALL");
21274
21472
 
21275
21473
  uiCallTerminated();
21276
21474
  if (register_flag == true) {
@@ -21285,7 +21483,7 @@ function onInvitationSessionTerminated() {
21285
21483
 
21286
21484
 
21287
21485
  function onUserAgentRegistered() {
21288
- _webrtcSIPPhoneEventDelegate__WEBPACK_IMPORTED_MODULE_0__["default"].sendWebRTCEventsToFSM("connected", "CONNECTION");
21486
+ _webrtcSIPPhoneEventDelegate__WEBPACK_IMPORTED_MODULE_2__["default"].sendWebRTCEventsToFSM("connected", "CONNECTION");
21289
21487
  var bConnected = true;
21290
21488
  uiOnConnectionEvent(bConnected, !bConnected);
21291
21489
  register_flag = true;
@@ -21312,7 +21510,7 @@ function onUserAgentRegistrationTerminated() {
21312
21510
  function onUserAgentRegistrationFailed() {
21313
21511
 
21314
21512
 
21315
- _webrtcSIPPhoneEventDelegate__WEBPACK_IMPORTED_MODULE_0__["default"].sendWebRTCEventsToFSM("terminated", "CONNECTION");
21513
+ _webrtcSIPPhoneEventDelegate__WEBPACK_IMPORTED_MODULE_2__["default"].sendWebRTCEventsToFSM("terminated", "CONNECTION");
21316
21514
  uiOnConnectionEvent(false, false);
21317
21515
  register_flag = false;
21318
21516
  if (callBackHandler != null) {
@@ -21324,9 +21522,9 @@ function onUserAgentRegistrationFailed() {
21324
21522
 
21325
21523
 
21326
21524
  function onUserAgentTransportConnected() {
21327
- _webrtcSIPPhoneEventDelegate__WEBPACK_IMPORTED_MODULE_0__["default"].onCallStatSipJsTransportEvent('connected');
21525
+ _webrtcSIPPhoneEventDelegate__WEBPACK_IMPORTED_MODULE_2__["default"].onCallStatSipJsTransportEvent('connected');
21328
21526
  webRTCStatus = "ready";
21329
- _webrtcSIPPhoneEventDelegate__WEBPACK_IMPORTED_MODULE_0__["default"].sendWebRTCEventsToFSM("started", "CONNECTION");
21527
+ _webrtcSIPPhoneEventDelegate__WEBPACK_IMPORTED_MODULE_2__["default"].sendWebRTCEventsToFSM("started", "CONNECTION");
21330
21528
  if (callBackHandler != null) {
21331
21529
  if (callBackHandler.onResponse) {
21332
21530
  callBackHandler.onResponse("offline");
@@ -21364,8 +21562,8 @@ function onUserAgentTransportDisconnected() {
21364
21562
 
21365
21563
  cleanupRegistererTimer();
21366
21564
 
21367
- _webrtcSIPPhoneEventDelegate__WEBPACK_IMPORTED_MODULE_0__["default"].onCallStatSipJsTransportEvent('disconnected');
21368
- _webrtcSIPPhoneEventDelegate__WEBPACK_IMPORTED_MODULE_0__["default"].sendWebRTCEventsToFSM("failed_to_start", "CONNECTION");
21565
+ _webrtcSIPPhoneEventDelegate__WEBPACK_IMPORTED_MODULE_2__["default"].onCallStatSipJsTransportEvent('disconnected');
21566
+ _webrtcSIPPhoneEventDelegate__WEBPACK_IMPORTED_MODULE_2__["default"].sendWebRTCEventsToFSM("failed_to_start", "CONNECTION");
21369
21567
  if (callBackHandler != null) {
21370
21568
  if (callBackHandler.onResponse) {
21371
21569
  callBackHandler.onResponse("error");
@@ -21418,14 +21616,14 @@ function handleWebSocketMessageContent(content, direction) {
21418
21616
  case "sent":
21419
21617
 
21420
21618
  if (sipMessage.method == "CONNECTION")
21421
- _webrtcSIPPhoneEventDelegate__WEBPACK_IMPORTED_MODULE_0__["default"].sendWebRTCEventsToFSM("sent_request", sipMessage.method);
21619
+ _webrtcSIPPhoneEventDelegate__WEBPACK_IMPORTED_MODULE_2__["default"].sendWebRTCEventsToFSM("sent_request", sipMessage.method);
21422
21620
 
21423
- _webrtcSIPPhoneEventDelegate__WEBPACK_IMPORTED_MODULE_0__["default"].onCallStatSipSendCallback(newtext, "sipjs");
21621
+ _webrtcSIPPhoneEventDelegate__WEBPACK_IMPORTED_MODULE_2__["default"].onCallStatSipSendCallback(newtext, "sipjs");
21424
21622
 
21425
21623
 
21426
21624
  break;
21427
21625
  case "recv":
21428
- _webrtcSIPPhoneEventDelegate__WEBPACK_IMPORTED_MODULE_0__["default"].onCallStatSipRecvCallback(newtext, "sipjs");
21626
+ _webrtcSIPPhoneEventDelegate__WEBPACK_IMPORTED_MODULE_2__["default"].onCallStatSipRecvCallback(newtext, "sipjs");
21429
21627
  break;
21430
21628
  default:
21431
21629
  break;
@@ -21468,13 +21666,13 @@ function toggleMute(s, mute) {
21468
21666
 
21469
21667
 
21470
21668
  function onMuted(s) {
21471
- _webrtcSIPPhoneEventDelegate__WEBPACK_IMPORTED_MODULE_0__["default"].onCallStatSipJsSessionEvent('muted');
21669
+ _webrtcSIPPhoneEventDelegate__WEBPACK_IMPORTED_MODULE_2__["default"].onCallStatSipJsSessionEvent('muted');
21472
21670
  s.isMuted = true;
21473
21671
  ctxSip.setCallSessionStatus("Muted");
21474
21672
  }
21475
21673
 
21476
21674
  function onUnmuted(s) {
21477
- _webrtcSIPPhoneEventDelegate__WEBPACK_IMPORTED_MODULE_0__["default"].onCallStatSipJsSessionEvent('unmuted');
21675
+ _webrtcSIPPhoneEventDelegate__WEBPACK_IMPORTED_MODULE_2__["default"].onCallStatSipJsSessionEvent('unmuted');
21478
21676
  s.isMuted = false;
21479
21677
  ctxSip.setCallSessionStatus("Answered");
21480
21678
  }
@@ -21506,13 +21704,13 @@ function enableReceiverTracks(s, enable) {
21506
21704
  throw new Error("Peer connection closed.");
21507
21705
  }
21508
21706
  peerConnection.getReceivers().forEach((receiver) => {
21509
- console.log("Receiver ", receiver)
21707
+ logger.log("Receiver ", receiver)
21510
21708
  if (receiver.track) {
21511
21709
  receiver.track.enabled = enable;
21512
21710
  }
21513
21711
  });
21514
21712
  } catch (e) {
21515
- console.log("enableReceiverTracks: Error in updating receiver tracks ", e)
21713
+ logger.log("enableReceiverTracks: Error in updating receiver tracks ", e)
21516
21714
 
21517
21715
  }
21518
21716
  }
@@ -21531,7 +21729,7 @@ function enableSenderTracks(s, enable) {
21531
21729
  }
21532
21730
  });
21533
21731
  } catch (e) {
21534
- console.log("enableSenderTracks: Error in updating sender tracks ", e)
21732
+ logger.log("enableSenderTracks: Error in updating sender tracks ", e)
21535
21733
  }
21536
21734
  }
21537
21735
 
@@ -21559,6 +21757,8 @@ function toggleHold(s, hold) {
21559
21757
  }
21560
21758
 
21561
21759
  function assignStream(stream, element) {
21760
+ if (_audioDeviceManager_js__WEBPACK_IMPORTED_MODULE_0__.audioDeviceManager.currentAudioOutputDeviceId != "default")
21761
+ element.setSinkId(_audioDeviceManager_js__WEBPACK_IMPORTED_MODULE_0__.audioDeviceManager.currentAudioOutputDeviceId);
21562
21762
  // Set element source.
21563
21763
  element.autoplay = true; // Safari does not allow calling .play() from a
21564
21764
  // non user action
@@ -21566,16 +21766,16 @@ function assignStream(stream, element) {
21566
21766
 
21567
21767
  // Load and start playback of media.
21568
21768
  element.play().catch((error) => {
21569
- console.error("Failed to play media");
21570
- console.error(error);
21769
+ logger.error("Failed to play media");
21770
+ logger.error(error);
21571
21771
  });
21572
21772
 
21573
21773
  // If a track is added, load and restart playback of media.
21574
21774
  stream.onaddtrack = () => {
21575
21775
  element.load(); // Safari does not work otheriwse
21576
21776
  element.play().catch((error) => {
21577
- console.error("Failed to play remote media on add track");
21578
- console.error(error);
21777
+ logger.error("Failed to play remote media on add track");
21778
+ logger.error(error);
21579
21779
  });
21580
21780
  };
21581
21781
 
@@ -21583,17 +21783,17 @@ function assignStream(stream, element) {
21583
21783
  stream.onremovetrack = () => {
21584
21784
  element.load(); // Safari does not work otheriwse
21585
21785
  element.play().catch((error) => {
21586
- console.error("Failed to play remote media on remove track");
21587
- console.error(error);
21786
+ logger.error("Failed to play remote media on remove track");
21787
+ logger.error(error);
21588
21788
  });
21589
21789
  };
21590
21790
  }
21591
21791
 
21592
21792
  function onUserSessionAcceptFailed(e) {
21593
21793
  if (e.name == "NotAllowedError" || e.name == "NotFoundError") {
21594
- _webrtcSIPPhoneEventDelegate__WEBPACK_IMPORTED_MODULE_0__["default"].sendWebRTCEventsToFSM("m_permission_refused", "CALL");
21595
- _webrtcSIPPhoneEventDelegate__WEBPACK_IMPORTED_MODULE_0__["default"].onCallStatSipJsSessionEvent('userMediaFailed');
21596
- _webrtcSIPPhoneEventDelegate__WEBPACK_IMPORTED_MODULE_0__["default"].onGetUserMediaErrorCallstatCallback();
21794
+ _webrtcSIPPhoneEventDelegate__WEBPACK_IMPORTED_MODULE_2__["default"].sendWebRTCEventsToFSM("m_permission_refused", "CALL");
21795
+ _webrtcSIPPhoneEventDelegate__WEBPACK_IMPORTED_MODULE_2__["default"].onCallStatSipJsSessionEvent('userMediaFailed');
21796
+ _webrtcSIPPhoneEventDelegate__WEBPACK_IMPORTED_MODULE_2__["default"].onGetUserMediaErrorCallstatCallback();
21597
21797
  } else {
21598
21798
  logger.log("user media failed due to error ", e);
21599
21799
  }
@@ -21604,9 +21804,6 @@ const SIPJSPhone = {
21604
21804
 
21605
21805
  init: (onInitDoneCallback) => {
21606
21806
 
21607
- videoLocal = document.getElementById("video_local");
21608
- videoRemote = document.getElementById("video_remote");
21609
- audioRemote = document.getElementById("audio_remote");
21610
21807
  var preInit = function () {
21611
21808
  logger.log("init:readyState, calling postInit")
21612
21809
  postInit(onInitDoneCallback);
@@ -21742,9 +21939,20 @@ const SIPJSPhone = {
21742
21939
  var newSess = ctxSip.Sessions[ctxSip.callActiveID];
21743
21940
  logger.log("pickphonecall ", ctxSip.callActiveID);
21744
21941
  if (newSess) {
21745
- newSess.accept().catch((e) => {
21746
- onUserSessionAcceptFailed(e);
21747
- });
21942
+ if (_audioDeviceManager_js__WEBPACK_IMPORTED_MODULE_0__.audioDeviceManager.currentAudioInputDeviceId != "default") {
21943
+ newSess.accept({
21944
+ sessionDescriptionHandlerOptions: {
21945
+ constraints: { audio: { deviceId: _audioDeviceManager_js__WEBPACK_IMPORTED_MODULE_0__.audioDeviceManager.currentAudioInputDeviceId }, video: false }
21946
+ }
21947
+ }).catch((e) => {
21948
+ onUserSessionAcceptFailed(e);
21949
+ });
21950
+ } else {
21951
+
21952
+ newSess.accept().catch((e) => {
21953
+ onUserSessionAcceptFailed(e);
21954
+ });
21955
+ }
21748
21956
  }
21749
21957
 
21750
21958
  },
@@ -21795,29 +22003,137 @@ const SIPJSPhone = {
21795
22003
  },
21796
22004
  /* NL Additions - Start */
21797
22005
  getSpeakerTestTone: () => {
21798
- console.log("Returning speaker test tone:", ringtone);
22006
+ logger.log("Returning speaker test tone:", ringtone);
21799
22007
  return ringtone;
21800
22008
  },
21801
22009
 
21802
22010
 
21803
22011
  getWSSUrl: () => {
21804
- console.log("Returning txtWebsocketURL:", txtWebsocketURL);
22012
+ logger.log("Returning txtWebsocketURL:", txtWebsocketURL);
21805
22013
  return txtWebsocketURL;
21806
22014
  },
21807
22015
  /* NL Additions - End */
21808
22016
  getTransportState: () => {
21809
- console.log("Returning Transport State : ", lastTransportState);
22017
+ logger.log("Returning Transport State : ", lastTransportState);
21810
22018
  return lastTransportState;
21811
22019
  },
21812
22020
  getRegistrationState: () => {
21813
- console.log("Returning Registration State : ", lastRegistererState);
22021
+ logger.log("Returning Registration State : ", lastRegistererState);
21814
22022
  return lastRegistererState;
21815
22023
  },
21816
22024
 
22025
+ changeAudioInputDevice(deviceId, onSuccess, onError) {
22026
+ _audioDeviceManager_js__WEBPACK_IMPORTED_MODULE_0__.audioDeviceManager.changeAudioInputDevice(deviceId, function (stream) {
22027
+ const trackChanged = SIPJSPhone.replaceSenderTrack(stream, deviceId);
22028
+ if (trackChanged) {
22029
+ _audioDeviceManager_js__WEBPACK_IMPORTED_MODULE_0__.audioDeviceManager.currentAudioInputDeviceId = deviceId;
22030
+ logger.log(`SIPJSPhone:changeAudioInputDevice Input device changed to: ${deviceId}`);
22031
+
22032
+ onSuccess();
22033
+ } else {
22034
+ logger.error("SIPJSPhone:changeAudioInputDevice failed");
22035
+ onError("something went wrong , try again");
22036
+ }
22037
+ }, onError);
22038
+ },
22039
+ onRemoteAudioOutputDeviceChanged(deviceId) {
22040
+ ringtone.setSinkId(deviceId).catch((e) => {
22041
+ logger.error("sipjsphone:onRemoteAudioOutputDeviceChanged ringtone changedevice failure ", e);
22042
+ });
22043
+ },
22044
+ changeAudioOutputDevice(deviceId, onSuccess, onError) {
22045
+ if (!ctxSip.callActiveID) {
22046
+ audioRemote = document.createElement("audio");
22047
+ }
22048
+ _audioDeviceManager_js__WEBPACK_IMPORTED_MODULE_0__.audioDeviceManager.changeAudioOutputDevice(audioRemote, deviceId, function () {
22049
+ SIPJSPhone.onRemoteAudioOutputDeviceChanged(deviceId);
22050
+ onSuccess();
22051
+ }, onError);
22052
+ },
22053
+
22054
+ stopStreamTracks(stream) {
22055
+ try {
22056
+ if (stream) {
22057
+ const tracks = stream.getTracks();
22058
+ tracks.forEach((track) => {
22059
+ track.stop();
22060
+ });
22061
+ }
22062
+ } catch (e) {
22063
+ logger.error("sipjsphone:stopStreamTracks failed to stop tracks");
22064
+ }
22065
+ },
22066
+ replaceSenderTrack(stream, deviceId) {
22067
+ try {
21817
22068
 
22069
+ if (_audioDeviceManager_js__WEBPACK_IMPORTED_MODULE_0__.audioDeviceManager.currentAudioInputDeviceId == deviceId) {
22070
+ SIPJSPhone.stopStreamTracks(stream);
22071
+ return false;
22072
+ }
22073
+ if (ctxSip.callActiveID) {
22074
+ ctxSip.Stream = stream;
22075
+ const s = ctxSip.Sessions[ctxSip.callActiveID];
22076
+ const pc = s.sessionDescriptionHandler.peerConnection;
22077
+ if (pc.getSenders) {
22078
+ try {
22079
+ const [audioTrack] = stream.getAudioTracks();
22080
+ const sender = pc.getSenders().find((s) => s.track.kind === audioTrack.kind);
22081
+ sender.track.stop();
22082
+ sender.replaceTrack(audioTrack);
22083
+ } catch (e) {
22084
+ logger.error(`replaceSenderTrack unable to replace track for stream for device id ${deviceId} `, stream);
22085
+ }
22086
+ }
22087
+ } else {
22088
+ SIPJSPhone.stopStreamTracks(stream);
22089
+ }
22090
+ return true;
22091
+ } catch (e) {
22092
+ return false;
22093
+ }
22094
+
22095
+ },
22096
+ registerLogger(customLogger) {
22097
+ logger = customLogger;
22098
+ },
22099
+ audioInputDeviceChangeCallback: null,
22100
+ audioOutputDeviceChangeCallback: null,
22101
+ registerAudioDeviceChangeCallback(audioInputDeviceChangeCallback, audioOutputDeviceChangeCallback) {
22102
+ logger.log(`SIPJSPhone:registerAudioDeviceChangeCallback entry`);
22103
+ SIPJSPhone.audioInputDeviceChangeCallback = audioInputDeviceChangeCallback;
22104
+ SIPJSPhone.audioOutputDeviceChangeCallback = audioOutputDeviceChangeCallback;
22105
+
22106
+ }
21818
22107
 
21819
22108
  };
21820
22109
 
22110
+
22111
+ navigator.mediaDevices.addEventListener('devicechange', function (event) {
22112
+ try {
22113
+ if (!ctxSip.callActiveID) {
22114
+ audioRemote = document.createElement("audio");
22115
+ }
22116
+ _audioDeviceManager_js__WEBPACK_IMPORTED_MODULE_0__.audioDeviceManager.onAudioDeviceChange(audioRemote,
22117
+ function (stream, deviceId) {
22118
+ const trackChanged = SIPJSPhone.replaceSenderTrack(stream, deviceId);
22119
+ if (trackChanged) {
22120
+ _audioDeviceManager_js__WEBPACK_IMPORTED_MODULE_0__.audioDeviceManager.currentAudioInputDeviceId = deviceId;
22121
+ if (SIPJSPhone.audioInputDeviceChangeCallback) {
22122
+ SIPJSPhone.audioInputDeviceChangeCallback(deviceId);
22123
+ }
22124
+ }
22125
+ }, function (deviceId) {
22126
+ SIPJSPhone.onRemoteAudioOutputDeviceChanged(deviceId);
22127
+ _audioDeviceManager_js__WEBPACK_IMPORTED_MODULE_0__.audioDeviceManager.currentAudioOutputDeviceId = deviceId;
22128
+ if (SIPJSPhone.audioOutputDeviceChangeCallback) {
22129
+ SIPJSPhone.audioOutputDeviceChangeCallback(deviceId);
22130
+ }
22131
+ });
22132
+ } catch (e) {
22133
+ logger.error("SIPJSPhone:ondevicechange something went wrong during device change", e);
22134
+ }
22135
+ });
22136
+
21821
22137
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SIPJSPhone);
21822
22138
 
21823
22139
 
@@ -21835,8 +22151,9 @@ __webpack_require__.r(__webpack_exports__);
21835
22151
  /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__),
21836
22152
  /* harmony export */ webrtcSIPPhone: () => (/* binding */ webrtcSIPPhone)
21837
22153
  /* harmony export */ });
21838
- /* harmony import */ var _sipjsphone__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./sipjsphone */ "./node_modules/@exotel-npm-dev/webrtc-core-sdk/src/sipjsphone.js");
21839
- /* harmony import */ var _webrtcSIPPhoneEventDelegate__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./webrtcSIPPhoneEventDelegate */ "./node_modules/@exotel-npm-dev/webrtc-core-sdk/src/webrtcSIPPhoneEventDelegate.js");
22154
+ /* harmony import */ var _coreSDKLogger__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./coreSDKLogger */ "./node_modules/@exotel-npm-dev/webrtc-core-sdk/src/coreSDKLogger.js");
22155
+ /* harmony import */ var _sipjsphone__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./sipjsphone */ "./node_modules/@exotel-npm-dev/webrtc-core-sdk/src/sipjsphone.js");
22156
+ /* harmony import */ var _webrtcSIPPhoneEventDelegate__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./webrtcSIPPhoneEventDelegate */ "./node_modules/@exotel-npm-dev/webrtc-core-sdk/src/webrtcSIPPhoneEventDelegate.js");
21840
22157
  /**
21841
22158
  * Communication from Webrtc flows and feature handling for web RTC as WebRTC Phone Interface
21842
22159
  *
@@ -21848,8 +22165,10 @@ __webpack_require__.r(__webpack_exports__);
21848
22165
 
21849
22166
  var phone = null;
21850
22167
  let webrtcSIPEngine = null;
22168
+ const logger = _coreSDKLogger__WEBPACK_IMPORTED_MODULE_0__["default"];
22169
+
21851
22170
  function sendWebRTCEventsToFSM(eventType, sipMethod) {
21852
- _webrtcSIPPhoneEventDelegate__WEBPACK_IMPORTED_MODULE_1__["default"].sendWebRTCEventsToFSM(eventType, sipMethod);
22171
+ _webrtcSIPPhoneEventDelegate__WEBPACK_IMPORTED_MODULE_2__["default"].sendWebRTCEventsToFSM(eventType, sipMethod);
21853
22172
  }
21854
22173
 
21855
22174
  let sipAccountInfoData = {};
@@ -21924,13 +22243,13 @@ const webrtcSIPPhone = {
21924
22243
  pickCall: () => {
21925
22244
  phone.pickPhoneCall();
21926
22245
 
21927
- _webrtcSIPPhoneEventDelegate__WEBPACK_IMPORTED_MODULE_1__["default"].onPickCall();
22246
+ _webrtcSIPPhoneEventDelegate__WEBPACK_IMPORTED_MODULE_2__["default"].onPickCall();
21928
22247
  },
21929
22248
 
21930
22249
  rejectCall: () => {
21931
22250
  phone.sipHangUp();
21932
22251
 
21933
- _webrtcSIPPhoneEventDelegate__WEBPACK_IMPORTED_MODULE_1__["default"].onRejectCall();
22252
+ _webrtcSIPPhoneEventDelegate__WEBPACK_IMPORTED_MODULE_2__["default"].onRejectCall();
21934
22253
  },
21935
22254
 
21936
22255
  reRegisterWebRTCPhone: () => {
@@ -21962,13 +22281,13 @@ const webrtcSIPPhone = {
21962
22281
  webrtcSIPEngine = engine;
21963
22282
  switch (engine) {
21964
22283
  case "sipjs":
21965
- phone = _sipjsphone__WEBPACK_IMPORTED_MODULE_0__["default"];
22284
+ phone = _sipjsphone__WEBPACK_IMPORTED_MODULE_1__["default"];
21966
22285
  break;
21967
22286
  default:
21968
22287
  break;
21969
22288
  }
21970
- _webrtcSIPPhoneEventDelegate__WEBPACK_IMPORTED_MODULE_1__["default"].registerDelegate(delegate);
21971
- _webrtcSIPPhoneEventDelegate__WEBPACK_IMPORTED_MODULE_1__["default"].onRegisterWebRTCSIPEngine(engine);
22289
+ _webrtcSIPPhoneEventDelegate__WEBPACK_IMPORTED_MODULE_2__["default"].registerDelegate(delegate);
22290
+ _webrtcSIPPhoneEventDelegate__WEBPACK_IMPORTED_MODULE_2__["default"].onRegisterWebRTCSIPEngine(engine);
21972
22291
 
21973
22292
 
21974
22293
  },
@@ -21998,37 +22317,54 @@ const webrtcSIPPhone = {
21998
22317
  /* NL Addition - Start */
21999
22318
  getSpeakerTestTone() {
22000
22319
  try {
22001
- return _sipjsphone__WEBPACK_IMPORTED_MODULE_0__["default"].getSpeakerTestTone()
22320
+ return _sipjsphone__WEBPACK_IMPORTED_MODULE_1__["default"].getSpeakerTestTone()
22002
22321
  } catch (e) {
22003
- console.log("getSpeakerTestTone: Exception ", e)
22322
+ logger.log("getSpeakerTestTone: Exception ", e)
22004
22323
  }
22005
22324
  },
22006
22325
 
22007
22326
  getWSSUrl() {
22008
22327
  try {
22009
- return _sipjsphone__WEBPACK_IMPORTED_MODULE_0__["default"].getWSSUrl()
22328
+ return _sipjsphone__WEBPACK_IMPORTED_MODULE_1__["default"].getWSSUrl()
22010
22329
  } catch (e) {
22011
- console.log("getWSSUrl: Exception ", e)
22330
+ logger.log("getWSSUrl: Exception ", e)
22012
22331
  }
22013
22332
  },
22014
22333
  /* NL Addition - End */
22015
22334
 
22016
22335
  getTransportState() {
22017
22336
  try {
22018
- return _sipjsphone__WEBPACK_IMPORTED_MODULE_0__["default"].getTransportState();
22337
+ return _sipjsphone__WEBPACK_IMPORTED_MODULE_1__["default"].getTransportState();
22019
22338
  } catch (e) {
22020
- console.log("getTransportState: Exception ", e);
22339
+ logger.log("getTransportState: Exception ", e);
22021
22340
  return "unknown";
22022
22341
  }
22023
22342
  },
22024
22343
 
22025
22344
  getRegistrationState() {
22026
22345
  try {
22027
- return _sipjsphone__WEBPACK_IMPORTED_MODULE_0__["default"].getRegistrationState();
22346
+ return _sipjsphone__WEBPACK_IMPORTED_MODULE_1__["default"].getRegistrationState();
22028
22347
  } catch (e) {
22029
- console.log("getTransportState: Exception ", e);
22348
+ logger.log("getTransportState: Exception ", e);
22030
22349
  return "unknown";
22031
22350
  }
22351
+ },
22352
+
22353
+ changeAudioInputDevice(deviceId, onSuccess, onError) {
22354
+ logger.log(`webrtcSIPPhone:changeAudioInputDevice entry`);
22355
+ _sipjsphone__WEBPACK_IMPORTED_MODULE_1__["default"].changeAudioInputDevice(deviceId, onSuccess, onError);
22356
+ },
22357
+
22358
+ changeAudioOutputDevice(deviceId, onSuccess, onError) {
22359
+ logger.log(`webrtcSIPPhone:changeAudioOutputDevice entry`);
22360
+ _sipjsphone__WEBPACK_IMPORTED_MODULE_1__["default"].changeAudioOutputDevice(deviceId, onSuccess, onError);
22361
+ },
22362
+ registerAudioDeviceChangeCallback(audioInputDeviceChangeCallback, audioOutputDeviceChangeCallback) {
22363
+ logger.log(`webrtcSIPPhone:registerAudioDeviceChangeCallback entry`);
22364
+ _sipjsphone__WEBPACK_IMPORTED_MODULE_1__["default"].registerAudioDeviceChangeCallback(audioInputDeviceChangeCallback, audioOutputDeviceChangeCallback);
22365
+ },
22366
+ getLogger() {
22367
+ return _coreSDKLogger__WEBPACK_IMPORTED_MODULE_0__["default"];
22032
22368
  }
22033
22369
 
22034
22370
  };
@@ -22242,26 +22578,24 @@ __webpack_require__.r(__webpack_exports__);
22242
22578
  /* harmony export */ Call: () => (/* binding */ Call)
22243
22579
  /* harmony export */ });
22244
22580
  /* harmony import */ var _CallDetails__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./CallDetails */ "./src/api/callAPI/CallDetails.js");
22245
- /* harmony import */ var _omAPI_WebrtcLogger__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../omAPI/WebrtcLogger */ "./src/api/omAPI/WebrtcLogger.js");
22246
- /* harmony import */ var _exotel_npm_dev_webrtc_core_sdk__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @exotel-npm-dev/webrtc-core-sdk */ "./node_modules/@exotel-npm-dev/webrtc-core-sdk/index.js");
22247
-
22581
+ /* harmony import */ var _exotel_npm_dev_webrtc_core_sdk__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @exotel-npm-dev/webrtc-core-sdk */ "./node_modules/@exotel-npm-dev/webrtc-core-sdk/index.js");
22248
22582
 
22249
22583
 
22250
- var logger = (0,_omAPI_WebrtcLogger__WEBPACK_IMPORTED_MODULE_1__.webrtcLogger)();
22584
+ var logger = _exotel_npm_dev_webrtc_core_sdk__WEBPACK_IMPORTED_MODULE_1__.webrtcSIPPhone.getLogger();
22251
22585
  function Call() {
22252
22586
  this.Answer = function () {
22253
22587
  /**
22254
22588
  * When agent accepts phone, add appropriate msg to be sent to webclient
22255
22589
  */
22256
22590
  logger.log('Call answered');
22257
- _exotel_npm_dev_webrtc_core_sdk__WEBPACK_IMPORTED_MODULE_2__.webrtcSIPPhone.pickCall();
22591
+ _exotel_npm_dev_webrtc_core_sdk__WEBPACK_IMPORTED_MODULE_1__.webrtcSIPPhone.pickCall();
22258
22592
  };
22259
22593
  this.Hangup = function () {
22260
22594
  /**
22261
22595
  * When call is terminated
22262
22596
  */
22263
22597
  logger.log('call ended');
22264
- _exotel_npm_dev_webrtc_core_sdk__WEBPACK_IMPORTED_MODULE_2__.webrtcSIPPhone.rejectCall();
22598
+ _exotel_npm_dev_webrtc_core_sdk__WEBPACK_IMPORTED_MODULE_1__.webrtcSIPPhone.rejectCall();
22265
22599
  };
22266
22600
  this.MuteToggle = function () {
22267
22601
  /**
@@ -22269,7 +22603,7 @@ function Call() {
22269
22603
  */
22270
22604
  logger.log('mute toggle clicked');
22271
22605
  let dummyFlag = null;
22272
- _exotel_npm_dev_webrtc_core_sdk__WEBPACK_IMPORTED_MODULE_2__.webrtcSIPPhone.webRTCMuteUnmute(null);
22606
+ _exotel_npm_dev_webrtc_core_sdk__WEBPACK_IMPORTED_MODULE_1__.webrtcSIPPhone.webRTCMuteUnmute(null);
22273
22607
  };
22274
22608
  this.Mute = function () {
22275
22609
  /**
@@ -22277,7 +22611,7 @@ function Call() {
22277
22611
  */
22278
22612
  logger.log('mute clicked');
22279
22613
  let dummyFlag = true;
22280
- _exotel_npm_dev_webrtc_core_sdk__WEBPACK_IMPORTED_MODULE_2__.webrtcSIPPhone.webRTCMuteUnmute(dummyFlag);
22614
+ _exotel_npm_dev_webrtc_core_sdk__WEBPACK_IMPORTED_MODULE_1__.webrtcSIPPhone.webRTCMuteUnmute(dummyFlag);
22281
22615
  };
22282
22616
  this.UnMute = function () {
22283
22617
  /**
@@ -22285,14 +22619,14 @@ function Call() {
22285
22619
  */
22286
22620
  logger.log('unmute clicked');
22287
22621
  let dummyFlag = false;
22288
- _exotel_npm_dev_webrtc_core_sdk__WEBPACK_IMPORTED_MODULE_2__.webrtcSIPPhone.webRTCMuteUnmute(dummyFlag);
22622
+ _exotel_npm_dev_webrtc_core_sdk__WEBPACK_IMPORTED_MODULE_1__.webrtcSIPPhone.webRTCMuteUnmute(dummyFlag);
22289
22623
  };
22290
22624
  this.HoldToggle = function () {
22291
22625
  /**
22292
22626
  * When user clicks on hold
22293
22627
  */
22294
22628
  logger.log('Hold toggle clicked');
22295
- _exotel_npm_dev_webrtc_core_sdk__WEBPACK_IMPORTED_MODULE_2__.webrtcSIPPhone.holdCall();
22629
+ _exotel_npm_dev_webrtc_core_sdk__WEBPACK_IMPORTED_MODULE_1__.webrtcSIPPhone.holdCall();
22296
22630
  };
22297
22631
  this.Hold = function () {
22298
22632
  /**
@@ -22300,7 +22634,7 @@ function Call() {
22300
22634
  */
22301
22635
  logger.log('hold clicked');
22302
22636
  let dummyFlag = true;
22303
- _exotel_npm_dev_webrtc_core_sdk__WEBPACK_IMPORTED_MODULE_2__.webrtcSIPPhone.holdCall();
22637
+ _exotel_npm_dev_webrtc_core_sdk__WEBPACK_IMPORTED_MODULE_1__.webrtcSIPPhone.holdCall();
22304
22638
  };
22305
22639
  this.UnHold = function () {
22306
22640
  /**
@@ -22308,7 +22642,7 @@ function Call() {
22308
22642
  */
22309
22643
  logger.log('unhold clicked');
22310
22644
  let dummyFlag = true;
22311
- _exotel_npm_dev_webrtc_core_sdk__WEBPACK_IMPORTED_MODULE_2__.webrtcSIPPhone.holdCall();
22645
+ _exotel_npm_dev_webrtc_core_sdk__WEBPACK_IMPORTED_MODULE_1__.webrtcSIPPhone.holdCall();
22312
22646
  };
22313
22647
  this.callDetails = function () {
22314
22648
  /**
@@ -22321,7 +22655,7 @@ function Call() {
22321
22655
  * sends dtmf digit as SIP info over websocket
22322
22656
  */
22323
22657
  logger.log("trying to send dtmf " + digit);
22324
- _exotel_npm_dev_webrtc_core_sdk__WEBPACK_IMPORTED_MODULE_2__.webrtcSIPPhone.sendDTMFWebRTC(digit);
22658
+ _exotel_npm_dev_webrtc_core_sdk__WEBPACK_IMPORTED_MODULE_1__.webrtcSIPPhone.sendDTMFWebRTC(digit);
22325
22659
  };
22326
22660
  }
22327
22661
 
@@ -22425,12 +22759,10 @@ __webpack_require__.r(__webpack_exports__);
22425
22759
  /* harmony export */ ameyoWebRTCTroubleshooter: () => (/* binding */ ameyoWebRTCTroubleshooter)
22426
22760
  /* harmony export */ });
22427
22761
  /* harmony import */ var _listeners_Callback__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../listeners/Callback */ "./src/listeners/Callback.js");
22428
- /* harmony import */ var _WebrtcLogger__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./WebrtcLogger */ "./src/api/omAPI/WebrtcLogger.js");
22429
- /* harmony import */ var _exotel_npm_dev_webrtc_core_sdk__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @exotel-npm-dev/webrtc-core-sdk */ "./node_modules/@exotel-npm-dev/webrtc-core-sdk/index.js");
22762
+ /* harmony import */ var _exotel_npm_dev_webrtc_core_sdk__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @exotel-npm-dev/webrtc-core-sdk */ "./node_modules/@exotel-npm-dev/webrtc-core-sdk/index.js");
22430
22763
 
22431
22764
 
22432
-
22433
- var logger = (0,_WebrtcLogger__WEBPACK_IMPORTED_MODULE_1__.webrtcLogger)();
22765
+ var logger = _exotel_npm_dev_webrtc_core_sdk__WEBPACK_IMPORTED_MODULE_1__.webrtcSIPPhone.getLogger();
22434
22766
  var speakerNode;
22435
22767
  var micNode;
22436
22768
  var audioTrack;
@@ -22544,7 +22876,7 @@ var ameyoWebRTCTroubleshooter = {
22544
22876
  return browserName + "/" + version;
22545
22877
  },
22546
22878
  stopSpeakerTesttone: function () {
22547
- speakerTestTone = _exotel_npm_dev_webrtc_core_sdk__WEBPACK_IMPORTED_MODULE_2__.webrtcSIPPhone.getSpeakerTestTone();
22879
+ speakerTestTone = _exotel_npm_dev_webrtc_core_sdk__WEBPACK_IMPORTED_MODULE_1__.webrtcSIPPhone.getSpeakerTestTone();
22548
22880
  speakerTestTone.pause();
22549
22881
  },
22550
22882
  stopSpeakerTesttoneWithSuccess: function () {
@@ -22564,7 +22896,7 @@ var ameyoWebRTCTroubleshooter = {
22564
22896
  try {
22565
22897
  intervalID = setInterval(function () {
22566
22898
  try {
22567
- speakerTestTone = _exotel_npm_dev_webrtc_core_sdk__WEBPACK_IMPORTED_MODULE_2__.webrtcSIPPhone.getSpeakerTestTone();
22899
+ speakerTestTone = _exotel_npm_dev_webrtc_core_sdk__WEBPACK_IMPORTED_MODULE_1__.webrtcSIPPhone.getSpeakerTestTone();
22568
22900
  /* Close last pending tracks.. */
22569
22901
  logger.log("close last track");
22570
22902
  speakerTestTone.pause();
@@ -22614,7 +22946,7 @@ var ameyoWebRTCTroubleshooter = {
22614
22946
 
22615
22947
  stopSpeakerTest: function () {
22616
22948
  var parent = this;
22617
- speakerTestTone = _exotel_npm_dev_webrtc_core_sdk__WEBPACK_IMPORTED_MODULE_2__.webrtcSIPPhone.getSpeakerTestTone();
22949
+ speakerTestTone = _exotel_npm_dev_webrtc_core_sdk__WEBPACK_IMPORTED_MODULE_1__.webrtcSIPPhone.getSpeakerTestTone();
22618
22950
  //Enable this for tone loop - Start
22619
22951
  try {
22620
22952
  clearInterval(intervalID);
@@ -22778,7 +23110,7 @@ var ameyoWebRTCTroubleshooter = {
22778
23110
  },
22779
23111
  setWSTroubleshootData: function (txtWsStatus) {
22780
23112
  //Already done during init, no need to do again.
22781
- let txtWSSUrl = _exotel_npm_dev_webrtc_core_sdk__WEBPACK_IMPORTED_MODULE_2__.webrtcSIPPhone.getWSSUrl();
23113
+ let txtWSSUrl = _exotel_npm_dev_webrtc_core_sdk__WEBPACK_IMPORTED_MODULE_1__.webrtcSIPPhone.getWSSUrl();
22782
23114
  _listeners_Callback__WEBPACK_IMPORTED_MODULE_0__.diagnosticsCallback.triggerKeyValueSetCallback("wss", txtWsStatus, txtWSSUrl);
22783
23115
  },
22784
23116
  startWSAndUserRegistrationTest: function () {
@@ -22968,11 +23300,11 @@ __webpack_require__.r(__webpack_exports__);
22968
23300
  /* harmony export */ });
22969
23301
  /* harmony import */ var _listeners_Callback__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../listeners/Callback */ "./src/listeners/Callback.js");
22970
23302
  /* harmony import */ var _Diagnostics__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Diagnostics */ "./src/api/omAPI/Diagnostics.js");
22971
- /* harmony import */ var _WebrtcLogger__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./WebrtcLogger */ "./src/api/omAPI/WebrtcLogger.js");
23303
+ /* harmony import */ var _exotel_npm_dev_webrtc_core_sdk__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @exotel-npm-dev/webrtc-core-sdk */ "./node_modules/@exotel-npm-dev/webrtc-core-sdk/index.js");
22972
23304
 
22973
23305
 
22974
23306
 
22975
- var logger = (0,_WebrtcLogger__WEBPACK_IMPORTED_MODULE_2__.webrtcLogger)();
23307
+ var logger = _exotel_npm_dev_webrtc_core_sdk__WEBPACK_IMPORTED_MODULE_2__.webrtcSIPPhone.getLogger();
22976
23308
  function initDiagnostics(setDiagnosticsReportCallback, keyValueSetCallback) {
22977
23309
  if (!keyValueSetCallback || !setDiagnosticsReportCallback) {
22978
23310
  logger.log("Callbacks are not set");
@@ -23060,69 +23392,6 @@ function stopNetworkDiagnostics() {
23060
23392
 
23061
23393
  /***/ }),
23062
23394
 
23063
- /***/ "./src/api/omAPI/WebrtcLogger.js":
23064
- /*!***************************************!*\
23065
- !*** ./src/api/omAPI/WebrtcLogger.js ***!
23066
- \***************************************/
23067
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
23068
-
23069
- "use strict";
23070
- __webpack_require__.r(__webpack_exports__);
23071
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
23072
- /* harmony export */ customLogger: () => (/* binding */ customLogger),
23073
- /* harmony export */ webrtcLogger: () => (/* binding */ webrtcLogger)
23074
- /* harmony export */ });
23075
- /* ES6 LOGGER */
23076
- /*
23077
- import Logger from 'node-logger-es6'
23078
-
23079
- var es6Logger = Logger.configure(
23080
- {
23081
- level: 'debug',
23082
- rotation: 'd',
23083
- size: 5,
23084
- json: true,
23085
- timestamp: true
23086
- }
23087
- );
23088
- */
23089
-
23090
- /* CUSTOM-LOGGER */
23091
- /* Note currently customLogger uses console only
23092
- we can replace it with any other logger for
23093
- instances: es6Logger or ameyoLogger or winstonLogger.
23094
- essentially the idea is not to duplicate the logic of
23095
- handling levels and output stream.
23096
- */
23097
- var customLogger = {
23098
- log: (arg1, ...args) => {
23099
- console.log(arg1, args);
23100
- },
23101
- info: (arg1, ...args) => {
23102
- console.log(arg1, args);
23103
- },
23104
- warn: (arg1, ...args) => {
23105
- console.log(arg1, args);
23106
- },
23107
- error: (arg1, ...args) => {
23108
- console.log(arg1, args);
23109
- }
23110
- };
23111
-
23112
- /* CONSOLE LOGGER */
23113
- var consoleLogger = console;
23114
-
23115
- /* FINAL LOGGER TO USE */
23116
- function webrtcLogger() {
23117
- if (customLogger) {
23118
- return customLogger;
23119
- } else {
23120
- return consoleLogger;
23121
- }
23122
- }
23123
-
23124
- /***/ }),
23125
-
23126
23395
  /***/ "./src/api/registerAPI/RegisterListener.js":
23127
23396
  /*!*************************************************!*\
23128
23397
  !*** ./src/api/registerAPI/RegisterListener.js ***!
@@ -23135,9 +23404,9 @@ __webpack_require__.r(__webpack_exports__);
23135
23404
  /* harmony export */ DoRegister: () => (/* binding */ DoRegister),
23136
23405
  /* harmony export */ UnRegister: () => (/* binding */ UnRegister)
23137
23406
  /* harmony export */ });
23138
- /* harmony import */ var _omAPI_WebrtcLogger__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../omAPI/WebrtcLogger */ "./src/api/omAPI/WebrtcLogger.js");
23407
+ /* harmony import */ var _exotel_npm_dev_webrtc_core_sdk__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @exotel-npm-dev/webrtc-core-sdk */ "./node_modules/@exotel-npm-dev/webrtc-core-sdk/index.js");
23139
23408
 
23140
- var logger = (0,_omAPI_WebrtcLogger__WEBPACK_IMPORTED_MODULE_0__.webrtcLogger)();
23409
+ var logger = _exotel_npm_dev_webrtc_core_sdk__WEBPACK_IMPORTED_MODULE_0__.webrtcSIPPhone.getLogger();
23141
23410
 
23142
23411
  /**
23143
23412
  * Function to register the phone onto a webRTC client
@@ -23241,42 +23510,42 @@ __webpack_require__.r(__webpack_exports__);
23241
23510
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
23242
23511
  /* harmony export */ CallListener: () => (/* binding */ CallListener)
23243
23512
  /* harmony export */ });
23244
- /* harmony import */ var _api_omAPI_WebrtcLogger__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../api/omAPI/WebrtcLogger */ "./src/api/omAPI/WebrtcLogger.js");
23245
- /* harmony import */ var _Callback__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Callback */ "./src/listeners/Callback.js");
23513
+ /* harmony import */ var _Callback__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Callback */ "./src/listeners/Callback.js");
23514
+ /* harmony import */ var _exotel_npm_dev_webrtc_core_sdk__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @exotel-npm-dev/webrtc-core-sdk */ "./node_modules/@exotel-npm-dev/webrtc-core-sdk/index.js");
23246
23515
 
23247
23516
 
23248
- var logger = (0,_api_omAPI_WebrtcLogger__WEBPACK_IMPORTED_MODULE_0__.webrtcLogger)();
23517
+ var logger = _exotel_npm_dev_webrtc_core_sdk__WEBPACK_IMPORTED_MODULE_1__.webrtcSIPPhone.getLogger();
23249
23518
  function CallListener() {
23250
23519
  this.onIncomingCall = function (call, phone) {
23251
23520
  /**
23252
23521
  * When there is an incoming call, [INVITE is received on SIP] send a call back to the
23253
23522
  */
23254
23523
  logger.log("CallListener:Initialise call");
23255
- _Callback__WEBPACK_IMPORTED_MODULE_1__.callbacks.initializeCall(call, phone);
23524
+ _Callback__WEBPACK_IMPORTED_MODULE_0__.callbacks.initializeCall(call, phone);
23256
23525
 
23257
23526
  /** Triggers the callback on the UI end with message indicating it to be an incoming call */
23258
23527
  logger.log("CallListener:Trigger Incoming");
23259
- _Callback__WEBPACK_IMPORTED_MODULE_1__.callbacks.triggerCallback("incoming");
23528
+ _Callback__WEBPACK_IMPORTED_MODULE_0__.callbacks.triggerCallback("incoming");
23260
23529
  };
23261
23530
  this.onCallEstablished = function (call, phone) {
23262
23531
  /**
23263
23532
  * When connection is established [ACK is sent by other party on SIP]
23264
23533
  */
23265
23534
  logger.log("CallListener:Initialise call");
23266
- _Callback__WEBPACK_IMPORTED_MODULE_1__.callbacks.initializeCall(call, phone);
23535
+ _Callback__WEBPACK_IMPORTED_MODULE_0__.callbacks.initializeCall(call, phone);
23267
23536
  /** Triggers the callback on the UI end with message indicating call has been established*/
23268
23537
  logger.log("CallListener:Trigger Connected");
23269
- _Callback__WEBPACK_IMPORTED_MODULE_1__.callbacks.triggerCallback("connected");
23538
+ _Callback__WEBPACK_IMPORTED_MODULE_0__.callbacks.triggerCallback("connected");
23270
23539
  };
23271
23540
  this.onCallEnded = function (call, phone) {
23272
23541
  /**
23273
23542
  * When other party ends the call [BYE is received and sent by SIP]
23274
23543
  */
23275
23544
  logger.log("CallListener:Initialise call");
23276
- _Callback__WEBPACK_IMPORTED_MODULE_1__.callbacks.initializeCall(call, phone);
23545
+ _Callback__WEBPACK_IMPORTED_MODULE_0__.callbacks.initializeCall(call, phone);
23277
23546
  /** Triggers the callback on the UI end with message indicating call has ended */
23278
23547
  logger.log("CallListener:Trigger Call Ended");
23279
- _Callback__WEBPACK_IMPORTED_MODULE_1__.callbacks.triggerCallback("callEnded");
23548
+ _Callback__WEBPACK_IMPORTED_MODULE_0__.callbacks.triggerCallback("callEnded");
23280
23549
  };
23281
23550
  }
23282
23551
 
@@ -23299,9 +23568,9 @@ __webpack_require__.r(__webpack_exports__);
23299
23568
  /* harmony export */ timerSession: () => (/* binding */ timerSession),
23300
23569
  /* harmony export */ webrtcTroubleshooterEventBus: () => (/* binding */ webrtcTroubleshooterEventBus)
23301
23570
  /* harmony export */ });
23302
- /* harmony import */ var _api_omAPI_WebrtcLogger__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../api/omAPI/WebrtcLogger */ "./src/api/omAPI/WebrtcLogger.js");
23571
+ /* harmony import */ var _exotel_npm_dev_webrtc_core_sdk__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @exotel-npm-dev/webrtc-core-sdk */ "./node_modules/@exotel-npm-dev/webrtc-core-sdk/index.js");
23303
23572
 
23304
- var logger = (0,_api_omAPI_WebrtcLogger__WEBPACK_IMPORTED_MODULE_0__.webrtcLogger)();
23573
+ var logger = _exotel_npm_dev_webrtc_core_sdk__WEBPACK_IMPORTED_MODULE_0__.webrtcSIPPhone.getLogger();
23305
23574
 
23306
23575
  /**
23307
23576
  * The call backs are called through this function. First initiates the call object and then
@@ -23516,26 +23785,14 @@ __webpack_require__.r(__webpack_exports__);
23516
23785
  /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
23517
23786
  /* harmony export */ });
23518
23787
  /* harmony import */ var _api_callAPI_Call__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../api/callAPI/Call */ "./src/api/callAPI/Call.js");
23519
- /* harmony import */ var _CallCtrlerDummy__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./CallCtrlerDummy */ "./src/listeners/CallCtrlerDummy.js");
23788
+ /* harmony import */ var _api_registerAPI_RegisterListener__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../api/registerAPI/RegisterListener */ "./src/api/registerAPI/RegisterListener.js");
23520
23789
  /* harmony import */ var _listeners_CallListener__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../listeners/CallListener */ "./src/listeners/CallListener.js");
23521
- /* harmony import */ var _api_registerAPI_RegisterListener__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../api/registerAPI/RegisterListener */ "./src/api/registerAPI/RegisterListener.js");
23522
- /* harmony import */ var _listeners_ExotelVoiceClientListener__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../listeners/ExotelVoiceClientListener */ "./src/listeners/ExotelVoiceClientListener.js");
23523
- /* harmony import */ var _listeners_SessionListeners__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../listeners/SessionListeners */ "./src/listeners/SessionListeners.js");
23790
+ /* harmony import */ var _listeners_ExotelVoiceClientListener__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../listeners/ExotelVoiceClientListener */ "./src/listeners/ExotelVoiceClientListener.js");
23791
+ /* harmony import */ var _listeners_SessionListeners__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../listeners/SessionListeners */ "./src/listeners/SessionListeners.js");
23792
+ /* harmony import */ var _CallCtrlerDummy__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./CallCtrlerDummy */ "./src/listeners/CallCtrlerDummy.js");
23524
23793
  /* harmony import */ var _api_omAPI_DiagnosticsListener__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../api/omAPI/DiagnosticsListener */ "./src/api/omAPI/DiagnosticsListener.js");
23525
23794
  /* harmony import */ var _listeners_Callback__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Callback */ "./src/listeners/Callback.js");
23526
- /* harmony import */ var _api_omAPI_WebrtcLogger__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../api/omAPI/WebrtcLogger */ "./src/api/omAPI/WebrtcLogger.js");
23527
- /* harmony import */ var _exotel_npm_dev_webrtc_core_sdk__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @exotel-npm-dev/webrtc-core-sdk */ "./node_modules/@exotel-npm-dev/webrtc-core-sdk/index.js");
23528
-
23529
-
23530
-
23531
-
23532
-
23533
-
23534
-
23535
-
23536
-
23537
-
23538
-
23795
+ /* harmony import */ var _exotel_npm_dev_webrtc_core_sdk__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @exotel-npm-dev/webrtc-core-sdk */ "./node_modules/@exotel-npm-dev/webrtc-core-sdk/index.js");
23539
23796
 
23540
23797
 
23541
23798
 
@@ -23548,7 +23805,7 @@ __webpack_require__.r(__webpack_exports__);
23548
23805
 
23549
23806
  var intervalId;
23550
23807
  var intervalIDMap = new Map();
23551
- var logger = (0,_api_omAPI_WebrtcLogger__WEBPACK_IMPORTED_MODULE_8__.webrtcLogger)();
23808
+ var logger = _exotel_npm_dev_webrtc_core_sdk__WEBPACK_IMPORTED_MODULE_8__.webrtcSIPPhone.getLogger();
23552
23809
  function sleep(ms) {
23553
23810
  return new Promise(resolve => setTimeout(resolve, ms));
23554
23811
  }
@@ -23703,13 +23960,13 @@ class ExotelWebClient {
23703
23960
  sipAccountInfo = null;
23704
23961
  initWebrtc = (sipAccountInfo_, RegisterEventCallBack, CallListenerCallback, SessionCallback) => {
23705
23962
  if (!this.eventListener) {
23706
- this.eventListener = new _listeners_ExotelVoiceClientListener__WEBPACK_IMPORTED_MODULE_4__.ExotelVoiceClientListener();
23963
+ this.eventListener = new _listeners_ExotelVoiceClientListener__WEBPACK_IMPORTED_MODULE_3__.ExotelVoiceClientListener();
23707
23964
  }
23708
23965
  if (!this.callListener) {
23709
23966
  this.callListener = new _listeners_CallListener__WEBPACK_IMPORTED_MODULE_2__.CallListener();
23710
23967
  }
23711
23968
  if (!this.ctrlr) {
23712
- this.ctrlr = new _CallCtrlerDummy__WEBPACK_IMPORTED_MODULE_1__.CallController();
23969
+ this.ctrlr = new _CallCtrlerDummy__WEBPACK_IMPORTED_MODULE_5__.CallController();
23713
23970
  }
23714
23971
  if (!this.call) {
23715
23972
  this.call = new _api_callAPI_Call__WEBPACK_IMPORTED_MODULE_0__.Call();
@@ -23728,10 +23985,10 @@ class ExotelWebClient {
23728
23985
  return true;
23729
23986
  };
23730
23987
  DoRegister = () => {
23731
- (0,_api_registerAPI_RegisterListener__WEBPACK_IMPORTED_MODULE_3__.DoRegister)(this.sipAccountInfo, this);
23988
+ (0,_api_registerAPI_RegisterListener__WEBPACK_IMPORTED_MODULE_1__.DoRegister)(this.sipAccountInfo, this);
23732
23989
  };
23733
23990
  UnRegister = () => {
23734
- (0,_api_registerAPI_RegisterListener__WEBPACK_IMPORTED_MODULE_3__.UnRegister)(this.sipAccountInfo, this);
23991
+ (0,_api_registerAPI_RegisterListener__WEBPACK_IMPORTED_MODULE_1__.UnRegister)(this.sipAccountInfo, this);
23735
23992
  };
23736
23993
  initDiagnostics = (saveDiagnosticsCallback, keyValueSetCallback) => {
23737
23994
  (0,_api_omAPI_DiagnosticsListener__WEBPACK_IMPORTED_MODULE_6__.initDiagnostics)(saveDiagnosticsCallback, keyValueSetCallback);
@@ -23759,7 +24016,7 @@ class ExotelWebClient {
23759
24016
  (0,_api_omAPI_DiagnosticsListener__WEBPACK_IMPORTED_MODULE_6__.stopNetworkDiagnostics)();
23760
24017
  };
23761
24018
  SessionListener = () => {
23762
- (0,_listeners_SessionListeners__WEBPACK_IMPORTED_MODULE_5__.SessionListener)();
24019
+ (0,_listeners_SessionListeners__WEBPACK_IMPORTED_MODULE_4__.SessionListener)();
23763
24020
  };
23764
24021
 
23765
24022
  /**
@@ -23842,7 +24099,7 @@ class ExotelWebClient {
23842
24099
  */
23843
24100
  unregister = sipAccountInfo => {
23844
24101
  // webrtcSIPPhone.unregister(sipAccountInfo)
23845
- _exotel_npm_dev_webrtc_core_sdk__WEBPACK_IMPORTED_MODULE_9__.webrtcSIPPhone.sipUnRegisterWebRTC();
24102
+ _exotel_npm_dev_webrtc_core_sdk__WEBPACK_IMPORTED_MODULE_8__.webrtcSIPPhone.sipUnRegisterWebRTC();
23846
24103
  };
23847
24104
  webRTCStatusCallbackHandler = (msg1, arg1) => {
23848
24105
  logger.log("webRTCStatusCallbackHandler: " + msg1 + " " + arg1);
@@ -23918,8 +24175,8 @@ class ExotelWebClient {
23918
24175
  //webRTCPhones[userName] = webRTC;
23919
24176
 
23920
24177
  /* New-Way */
23921
- _exotel_npm_dev_webrtc_core_sdk__WEBPACK_IMPORTED_MODULE_9__.webrtcSIPPhone.registerPhone("sipjs", delegationHandler);
23922
- _exotel_npm_dev_webrtc_core_sdk__WEBPACK_IMPORTED_MODULE_9__.webrtcSIPPhone.registerWebRTCClient(this.sipAccntInfo, synchronousHandler);
24178
+ _exotel_npm_dev_webrtc_core_sdk__WEBPACK_IMPORTED_MODULE_8__.webrtcSIPPhone.registerPhone("sipjs", delegationHandler);
24179
+ _exotel_npm_dev_webrtc_core_sdk__WEBPACK_IMPORTED_MODULE_8__.webrtcSIPPhone.registerWebRTCClient(this.sipAccntInfo, synchronousHandler);
23923
24180
 
23924
24181
  /**
23925
24182
  * Store the intervalID against a map
@@ -23936,7 +24193,7 @@ class ExotelWebClient {
23936
24193
  video: false
23937
24194
  };
23938
24195
  navigator.mediaDevices.getUserMedia(constraints).then(function (mediaStream) {
23939
- var transportState = _exotel_npm_dev_webrtc_core_sdk__WEBPACK_IMPORTED_MODULE_9__.webrtcSIPPhone.getTransportState();
24196
+ var transportState = _exotel_npm_dev_webrtc_core_sdk__WEBPACK_IMPORTED_MODULE_8__.webrtcSIPPhone.getTransportState();
23940
24197
  transportState = transportState.toLowerCase();
23941
24198
  switch (transportState) {
23942
24199
  case "":
@@ -23947,7 +24204,7 @@ class ExotelWebClient {
23947
24204
  callback(transportState);
23948
24205
  break;
23949
24206
  default:
23950
- var registerationState = _exotel_npm_dev_webrtc_core_sdk__WEBPACK_IMPORTED_MODULE_9__.webrtcSIPPhone.getRegistrationState();
24207
+ var registerationState = _exotel_npm_dev_webrtc_core_sdk__WEBPACK_IMPORTED_MODULE_8__.webrtcSIPPhone.getRegistrationState();
23951
24208
  registerationState = registerationState.toLowerCase();
23952
24209
  switch (registerationState) {
23953
24210
  case "":
@@ -23965,10 +24222,24 @@ class ExotelWebClient {
23965
24222
  }
23966
24223
  }
23967
24224
  }).catch(function (error) {
23968
- console.log("something went wrong during checkClientStatus ", error);
24225
+ logger.log("something went wrong during checkClientStatus ", error);
23969
24226
  callback("media_permission_denied");
23970
24227
  });
23971
24228
  };
24229
+ changeAudioInputDevice(deviceId, onSuccess, onError) {
24230
+ logger.log(`in changeAudioInputDevice() of ExWebClient.js`);
24231
+ _exotel_npm_dev_webrtc_core_sdk__WEBPACK_IMPORTED_MODULE_8__.webrtcSIPPhone.changeAudioInputDevice(deviceId, onSuccess, onError);
24232
+ }
24233
+ changeAudioOutputDevice(deviceId, onSuccess, onError) {
24234
+ logger.log(`in changeAudioOutputDevice() of ExWebClient.js`);
24235
+ _exotel_npm_dev_webrtc_core_sdk__WEBPACK_IMPORTED_MODULE_8__.webrtcSIPPhone.changeAudioOutputDevice(deviceId, onSuccess, onError);
24236
+ }
24237
+ registerLoggerCallback(callback) {
24238
+ logger.registerLoggerCallback(callback);
24239
+ }
24240
+ registerAudioDeviceChangeCallback(audioInputDeviceChangeCallback, audioOutputDeviceChangeCallback) {
24241
+ _exotel_npm_dev_webrtc_core_sdk__WEBPACK_IMPORTED_MODULE_8__.webrtcSIPPhone.registerAudioDeviceChangeCallback(audioInputDeviceChangeCallback, audioOutputDeviceChangeCallback);
24242
+ }
23972
24243
  }
23973
24244
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ExotelWebClient);
23974
24245
 
@@ -24044,12 +24315,12 @@ __webpack_require__.r(__webpack_exports__);
24044
24315
  /* harmony import */ var _Callback__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Callback */ "./src/listeners/Callback.js");
24045
24316
  /* harmony import */ var uuid__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! uuid */ "./node_modules/uuid/dist/esm-browser/v4.js");
24046
24317
  /* harmony import */ var _constants_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../constants/common */ "./src/constants/common.js");
24047
- /* harmony import */ var _api_omAPI_WebrtcLogger__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../api/omAPI/WebrtcLogger */ "./src/api/omAPI/WebrtcLogger.js");
24318
+ /* harmony import */ var _exotel_npm_dev_webrtc_core_sdk__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @exotel-npm-dev/webrtc-core-sdk */ "./node_modules/@exotel-npm-dev/webrtc-core-sdk/index.js");
24048
24319
 
24049
24320
 
24050
24321
 
24051
24322
 
24052
- var logger = (0,_api_omAPI_WebrtcLogger__WEBPACK_IMPORTED_MODULE_2__.webrtcLogger)();
24323
+ var logger = _exotel_npm_dev_webrtc_core_sdk__WEBPACK_IMPORTED_MODULE_2__.webrtcSIPPhone.getLogger();
24053
24324
  /**
24054
24325
  * Session listeners is invoked when user opens two tabs, the data in tab 1 is
24055
24326
  * copied into tab 2