@wazo/sdk 0.37.42 → 0.38.1

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.
Files changed (109) hide show
  1. package/README.md +218 -0
  2. package/dist/wazo-sdk.js +5 -5
  3. package/esm/__tests__/api-client.test.js +12 -7
  4. package/esm/__tests__/web-rtc-client.test.js +17 -10
  5. package/esm/api/agentd.js +12 -7
  6. package/esm/api/amid.js +12 -7
  7. package/esm/api/application.js +12 -7
  8. package/esm/api/auth.js +12 -7
  9. package/esm/api/call-logd.js +12 -7
  10. package/esm/api/calld.js +12 -7
  11. package/esm/api/chatd.js +12 -7
  12. package/esm/api/confd.js +12 -7
  13. package/esm/api/ctid-ng.js +12 -7
  14. package/esm/api/dird.js +12 -7
  15. package/esm/api/webhookd.js +12 -7
  16. package/esm/api-client.js +12 -7
  17. package/esm/checker/Checker.js +18 -11
  18. package/esm/checker/checks/aor.js +12 -7
  19. package/esm/checker/checks/api.js +12 -7
  20. package/esm/checker/checks/index.js +18 -11
  21. package/esm/checker/checks/wazo-websocket.js +13 -8
  22. package/esm/checker/checks/webrtc-transport.js +17 -10
  23. package/esm/checker/checks/webrtc.js +17 -10
  24. package/esm/domain/AdHocAPIConference.js +12 -7
  25. package/esm/domain/Features.js +12 -7
  26. package/esm/domain/Phone/CTIPhone.js +12 -7
  27. package/esm/domain/Phone/WebRTCPhone.js +12 -7
  28. package/esm/index.js +347 -11
  29. package/esm/lib/WazoSessionDescriptionHandler.js +12 -7
  30. package/esm/service/CallApi.js +12 -7
  31. package/esm/service/IssueReporter.js +12 -7
  32. package/esm/service/__tests__/IssueReporter.test.js +18 -7
  33. package/esm/service/getApiClient.js +12 -7
  34. package/esm/simple/Auth.js +347 -11
  35. package/esm/simple/Configuration.js +347 -11
  36. package/esm/simple/Directory.js +12 -7
  37. package/esm/simple/Phone.js +347 -11
  38. package/esm/simple/Softphone.js +329 -0
  39. package/esm/simple/Websocket.js +13 -8
  40. package/esm/simple/index.js +347 -11
  41. package/esm/simple/room/LocalParticipant.js +347 -11
  42. package/esm/simple/room/Participant.js +347 -11
  43. package/esm/simple/room/RemoteParticipant.js +347 -11
  44. package/esm/simple/room/Room.js +347 -11
  45. package/esm/simple/room/SipRoom.js +347 -11
  46. package/esm/simple/room/Stream.js +347 -11
  47. package/esm/simple/room/__tests__/RemoteParticipant.test.js +347 -11
  48. package/esm/simple/utils.js +347 -11
  49. package/esm/utils/__tests__/api-requester.test.js +12 -7
  50. package/esm/utils/api-requester.js +12 -7
  51. package/esm/web-rtc-client.js +17 -10
  52. package/esm/websocket-client.js +13 -8
  53. package/lib/__tests__/api-client.test.js +12 -7
  54. package/lib/__tests__/web-rtc-client.test.js +17 -10
  55. package/lib/api/agentd.js +12 -7
  56. package/lib/api/amid.js +12 -7
  57. package/lib/api/application.js +12 -7
  58. package/lib/api/auth.js +12 -7
  59. package/lib/api/call-logd.js +12 -7
  60. package/lib/api/calld.js +12 -7
  61. package/lib/api/chatd.js +12 -7
  62. package/lib/api/confd.js +12 -7
  63. package/lib/api/ctid-ng.js +12 -7
  64. package/lib/api/dird.js +12 -7
  65. package/lib/api/webhookd.js +12 -7
  66. package/lib/api-client.js +12 -7
  67. package/lib/checker/Checker.js +18 -11
  68. package/lib/checker/checks/aor.js +12 -7
  69. package/lib/checker/checks/api.js +12 -7
  70. package/lib/checker/checks/index.js +18 -11
  71. package/lib/checker/checks/wazo-websocket.js +13 -8
  72. package/lib/checker/checks/webrtc-transport.js +17 -10
  73. package/lib/checker/checks/webrtc.js +17 -10
  74. package/lib/domain/AdHocAPIConference.js +12 -7
  75. package/lib/domain/Features.js +12 -7
  76. package/lib/domain/Phone/CTIPhone.js +12 -7
  77. package/lib/domain/Phone/WebRTCPhone.js +12 -7
  78. package/lib/index.js +347 -11
  79. package/lib/lib/WazoSessionDescriptionHandler.js +12 -7
  80. package/lib/service/CallApi.js +12 -7
  81. package/lib/service/IssueReporter.js +12 -7
  82. package/lib/service/__tests__/IssueReporter.test.js +18 -7
  83. package/lib/service/getApiClient.js +12 -7
  84. package/lib/simple/Auth.js +347 -11
  85. package/lib/simple/Configuration.js +347 -11
  86. package/lib/simple/Directory.js +12 -7
  87. package/lib/simple/Phone.js +347 -11
  88. package/lib/simple/Softphone.js +331 -0
  89. package/lib/simple/Websocket.js +13 -8
  90. package/lib/simple/index.js +347 -11
  91. package/lib/simple/room/LocalParticipant.js +347 -11
  92. package/lib/simple/room/Participant.js +347 -11
  93. package/lib/simple/room/RemoteParticipant.js +347 -11
  94. package/lib/simple/room/Room.js +347 -11
  95. package/lib/simple/room/SipRoom.js +347 -11
  96. package/lib/simple/room/Stream.js +347 -11
  97. package/lib/simple/room/__tests__/RemoteParticipant.test.js +347 -11
  98. package/lib/simple/utils.js +347 -11
  99. package/lib/utils/__tests__/api-requester.test.js +12 -7
  100. package/lib/utils/api-requester.js +12 -7
  101. package/lib/web-rtc-client.js +17 -10
  102. package/lib/websocket-client.js +13 -8
  103. package/package.json +1 -1
  104. package/src/service/IssueReporter.js +12 -7
  105. package/src/service/__tests__/IssueReporter.test.js +6 -0
  106. package/src/simple/Softphone.js +327 -0
  107. package/src/simple/index.js +2 -0
  108. package/src/web-rtc-client.js +5 -3
  109. package/src/websocket-client.js +1 -1
@@ -716,13 +716,9 @@ class IssueReporter {
716
716
 
717
717
  setTimeout(() => {
718
718
  if (isArray) {
719
- payload = payload.map(message => {
720
- message._retry = retry + 1;
721
- return message;
722
- });
723
- } else {
724
- // $FlowFixMe
725
- payload._retry = retry + 1;
719
+ payload = payload.map(message => this._writeRetryCount(message, retry + 1));
720
+ } else if (payload && typeof payload === 'object') {
721
+ payload = this._writeRetryCount(payload, retry + 1);
726
722
  }
727
723
 
728
724
  this._sendDebugToGrafana(payload, retry + 1);
@@ -730,6 +726,15 @@ class IssueReporter {
730
726
  });
731
727
  }
732
728
 
729
+ _writeRetryCount(message , count ) {
730
+ if (message && typeof message === 'object') {
731
+ // $FlowFixMe
732
+ message._retry = count;
733
+ }
734
+
735
+ return message;
736
+ }
737
+
733
738
  _isLevelAbove(level1 , level2 ) {
734
739
  const index1 = LOG_LEVELS.indexOf(level1);
735
740
  const index2 = LOG_LEVELS.indexOf(level2);
@@ -7485,8 +7490,10 @@ class WebRTCClient extends Emitter {
7485
7490
  conference: isConference,
7486
7491
  };
7487
7492
 
7488
- // Avoid sdh to created a new stream
7489
- session.sessionDescriptionHandler.localMediaStreamConstraints = options.constraints;
7493
+ // Avoid sdh to create a new stream
7494
+ if (session.sessionDescriptionHandler) {
7495
+ session.sessionDescriptionHandler.localMediaStreamConstraints = options.constraints;
7496
+ }
7490
7497
 
7491
7498
  // Send re-INVITE
7492
7499
  return session.invite(options);
@@ -8329,7 +8336,7 @@ class WebRTCClient extends Emitter {
8329
8336
  }
8330
8337
 
8331
8338
  async _onHeartbeatTimeout() {
8332
- logger$8.info('sdk webrtc heartbeat timed out', { userAgent: !!this.userAgent, cb: !!this.heartbeatTimeoutCb });
8339
+ logger$8.warn('sdk webrtc heartbeat timed out', { userAgent: !!this.userAgent, cb: !!this.heartbeatTimeoutCb });
8333
8340
 
8334
8341
  if (this.heartbeatTimeoutCb) {
8335
8342
  this.heartbeatTimeoutCb();
@@ -11497,7 +11504,7 @@ class WebSocketClient extends Emitter {
11497
11504
  this.close();
11498
11505
  }
11499
11506
  const url = `wss://${this.host || ''}/api/websocketd/?token=${this.token || ''}&version=${this.version}`;
11500
- logger$5.log('Wazo WS url computed to reconnect', { url });
11507
+ logger$5.info('Wazo WS url computed to reconnect', { url });
11501
11508
 
11502
11509
  return url;
11503
11510
  }
@@ -12846,6 +12853,334 @@ class Checker {
12846
12853
  }
12847
12854
  }
12848
12855
 
12856
+ //
12857
+ /* eslint-disable no-unused-vars */
12858
+ /* global window, document */
12859
+ const BRIDGE_CONFIG_RETRIEVED = 'bridge/CONFIG_RETRIEVED';
12860
+ const BRIDGE_ENABLE_CARD = 'bridge/ENABLE_CARD';
12861
+ const BRIDGE_CHANGE_REQUIRED_SUBSCRIPTION_TYPE = 'bridge/CHANGE_REQUIRED_SUBSCRIPTION_TYPE';
12862
+ const BRIDGE_CREATE_OR_UPDATE_CARD = 'bridge/BRIDGE_CREATE_OR_UPDATE_CARD';
12863
+ const BRIDGE_OPTIONS_FETCHED = 'bridge/BRIDGE_OPTIONS_FETCHED';
12864
+ const BRIDGE_OPTIONS_FOUND = 'bridge/BRIDGE_OPTIONS_FOUND';
12865
+ const BRIDGE_SEARCH_OPTIONS = 'bridge/BRIDGE_SEARCH_OPTIONS';
12866
+ const BRIDGE_DISPLAY_LINKED_OPTION = 'bridge/DISPLAY_LINKED_OPTION';
12867
+ const BRIDGE_UPDATE_FORM_SCHEMA = 'bridge/BRIDGE_UPDATE_FORM_SCHEMA';
12868
+ const BRIDGE_WAZO_CONTACT_SEARCH = 'bridge/BRIDGE_WAZO_CONTACT_SEARCH';
12869
+ const BRIDGE_ON_AGENT_LOGGED_IN = 'bridge/BRIDGE_ON_AGENT_LOGGED_IN';
12870
+ const BRIDGE_ON_AGENT_LOGGED_OUT = 'bridge/BRIDGE_ON_AGENT_LOGGED_OUT';
12871
+ const BRIDGE_ON_AGENT_PAUSED = 'bridge/BRIDGE_ON_AGENT_PAUSED';
12872
+ const BRIDGE_ON_AGENT_RESUMED = 'bridge/BRIDGE_ON_AGENT_RESUMED';
12873
+ const BRIDGE_ON_LANGUAGE_CHANGED = 'bridge/BRIDGE_ON_LANGUAGE_CHANGED';
12874
+ const BRIDGE_ON_CALL_HELD = 'bridge/BRIDGE_ON_CALL_HELD';
12875
+ const BRIDGE_ON_CALL_RESUMED = 'bridge/BRIDGE_ON_CALL_RESUMED';
12876
+ const BRIDGE_ON_CALL_MUTED = 'bridge/BRIDGE_ON_CALL_MUTED';
12877
+ const BRIDGE_ON_CALL_UN_MUTED = 'bridge/BRIDGE_ON_CALL_UN_MUTED';
12878
+ const BRIDGE_ON_DTMF = 'bridge/BRIDGE_ON_DTMF';
12879
+ const BRIDGE_ON_DIRECT_TRANSFER = 'bridge/BRIDGE_ON_DIRECT_TRANSFER';
12880
+ const BRIDGE_ON_CREATE_INDIRECT_TRANSFER = 'bridge/BRIDGE_ON_CREATE_INDIRECT_TRANSFER';
12881
+ const BRIDGE_ON_CANCEL_INDIRECT_TRANSFER = 'bridge/BRIDGE_ON_CANCEL_INDIRECT_TRANSFER';
12882
+ const BRIDGE_ON_CONFIRM_INDIRECT_TRANSFER = 'bridge/BRIDGE_ON_CONFIRM_INDIRECT_TRANSFER';
12883
+ const BRIDGE_ON_INDIRECT_TRANSFER_CALL_MADE = 'bridge/BRIDGE_ON_INDIRECT_TRANSFER_CALL_MADE';
12884
+ const BRIDGE_ON_INDIRECT_TRANSFER_DONE = 'bridge/BRIDGE_ON_INDIRECT_TRANSFER_DONE';
12885
+ const BRIDGE_ON_START_RECORDING = 'bridge/BRIDGE_ON_START_RECORDING';
12886
+ const BRIDGE_ON_STOP_RECORDING = 'bridge/BRIDGE_ON_STOP_RECORDING';
12887
+
12888
+ const SDK_CLICK_TO_CALL = 'sdk/CLICK_TO_CALL';
12889
+ const SDK_ON_CALL_MADE = 'sdk/SDK_ON_CALL_MADE';
12890
+ const SDK_CALL_ENDED = 'sdk/ON_CALL_ENDED';
12891
+ const SDK_CALL_INCOMING = 'sdk/SDK_CALL_INCOMING';
12892
+ const SDK_AUTHENTICATED = 'sdk/SDK_AUTHENTICATED';
12893
+ const SDK_LOGGED_OUT = 'sdk/SDK_LOGGED_OUT';
12894
+
12895
+ class Softphone {
12896
+ url = 'https://softphone.wazo.io';
12897
+ width = 500;
12898
+ height = 600;
12899
+ displayed = false;
12900
+ iframe = null;
12901
+
12902
+ onLinkEnabled(link ) {}
12903
+ onIFrameLoaded() {}
12904
+
12905
+ onCallMade(call ) {}
12906
+ onCallIncoming(call ) {}
12907
+ onCallEnded(call , card , direction , fromExtension ) {}
12908
+ onCardSaved(card ) {}
12909
+ onAuthenticated(session ) {}
12910
+ onLoggedOut() {}
12911
+ onSearchOptions(fieldId , query ) {}
12912
+ onDisplayLinkedOption(optionId ) {}
12913
+ onWazoContactSearch(query ) {}
12914
+ onAgentLoggedIn() {}
12915
+ onAgentLoggedOut() {}
12916
+ onAgentPaused() {}
12917
+ onAgentResumed() {}
12918
+ onLanguageChanged(language ) {}
12919
+ onCallHeld() {}
12920
+ onCallResumed() {}
12921
+ onCallMuted() {}
12922
+ onCallUnMuted() {}
12923
+ onDtmfSent(tone ) {}
12924
+ onDirectTransfer(number ) {}
12925
+ onCreateIndirectTransfer(number ) {}
12926
+ onCancelIndirectTransfer() {}
12927
+ onConfirmIndirectTransfer() {}
12928
+ onIndirectCallMade(call ) {}
12929
+ onIndirectTransferDone(call ) {}
12930
+ onStartRecording() {}
12931
+ onStopRecording() {}
12932
+ onUnHandledEvent(event ) {}
12933
+
12934
+ init({ url, width, height, server, port, language, wrapUpDuration, shouldDisplayLinkedEntities,
12935
+ allowContactCreation, withCard, subscriptionType, enableAgent } = {}) {
12936
+ if (url) {
12937
+ this.url = url;
12938
+ }
12939
+ if (width) {
12940
+ this.width = width;
12941
+ }
12942
+ if (height) {
12943
+ this.height = height;
12944
+ }
12945
+
12946
+ window.addEventListener('message', this._onMessage.bind(this), false);
12947
+
12948
+ if (!server) {
12949
+ // eslint-disable-next-line no-param-reassign
12950
+ server = 'stack.dev.wazo.io';
12951
+ }
12952
+
12953
+ this._createIframe(() => {
12954
+ this._sendMessage(BRIDGE_CONFIG_RETRIEVED, {
12955
+ config: {
12956
+ server,
12957
+ port,
12958
+ language,
12959
+ wrapUpDuration,
12960
+ shouldDisplayLinkedEntities,
12961
+ allowContactCreation,
12962
+ },
12963
+ });
12964
+
12965
+ if (withCard) {
12966
+ this._sendMessage(BRIDGE_ENABLE_CARD);
12967
+ }
12968
+
12969
+ if (subscriptionType) {
12970
+ this._sendMessage(BRIDGE_CHANGE_REQUIRED_SUBSCRIPTION_TYPE, { subscriptionType });
12971
+ }
12972
+
12973
+ this.onIFrameLoaded();
12974
+ });
12975
+ }
12976
+
12977
+ parseLinks() {
12978
+ const links = this._getLinks();
12979
+
12980
+ links.forEach(link => {
12981
+ link.setAttribute('data-wazo-parsed', true);
12982
+ link.addEventListener('click', this._onLinkClick.bind(this));
12983
+ this.onLinkEnabled(link);
12984
+ });
12985
+ }
12986
+
12987
+ makeCall(number ) {
12988
+ this.displaySoftphone();
12989
+
12990
+ this._sendMessage(SDK_CLICK_TO_CALL, { number });
12991
+ }
12992
+
12993
+ toggleSoftphoneDisplay() {
12994
+ if (this.displayed) {
12995
+ this.hideSoftphone();
12996
+ } else {
12997
+ this.displaySoftphone();
12998
+ }
12999
+ }
13000
+
13001
+ displaySoftphone() {
13002
+ if (!this.iframe) {
13003
+ this._createIframe();
13004
+ }
13005
+
13006
+ if (this.iframe) {
13007
+ this.iframe.style.display = 'block';
13008
+ }
13009
+
13010
+ this.displayed = true;
13011
+ }
13012
+
13013
+ hideSoftphone() {
13014
+ if (this.iframe) {
13015
+ this.iframe.style.display = 'none';
13016
+ }
13017
+ this.displayed = false;
13018
+ }
13019
+
13020
+ optionsFetched(fieldId , options ) {
13021
+ this._sendMessage(BRIDGE_OPTIONS_FETCHED, { fieldId, options });
13022
+ }
13023
+
13024
+ onOptionsResults(fieldId , options ) {
13025
+ this._sendMessage(BRIDGE_OPTIONS_FOUND, { fieldId, options });
13026
+ }
13027
+
13028
+ setFormSchema(schema , uiSchema ) {
13029
+ this._sendMessage(BRIDGE_UPDATE_FORM_SCHEMA, { schema, uiSchema });
13030
+ }
13031
+
13032
+ _createIframe(cb = () => {}) {
13033
+ this.iframe = document.createElement('iframe');
13034
+ // $FlowFixMe
13035
+ this.iframe.width = this.width;
13036
+ // $FlowFixMe
13037
+ this.iframe.height = this.height;
13038
+ // $FlowFixMe
13039
+ this.iframe.allow = 'camera *; microphone *; autoplay *; display-capture *';
13040
+ this.iframe.style.position = 'absolute';
13041
+ this.iframe.style.left = '0';
13042
+ this.iframe.style.bottom = '0';
13043
+ this.iframe.style.border = '1px solid #aaa';
13044
+ this.iframe.style.backgroundColor = 'white';
13045
+ this.iframe.src = this.url;
13046
+ this.iframe.style.display = 'none';
13047
+ this.iframe.id = 'wazo-softphone';
13048
+
13049
+ this.iframe.onload = cb;
13050
+
13051
+ // $FlowFixMe
13052
+ document.body.appendChild(this.iframe);
13053
+ }
13054
+
13055
+ _getLinks() {
13056
+ return [].slice.call(document.querySelectorAll('a:not([data-wazo-parsed])'), 0)
13057
+ .filter(link => link.href.indexOf('tel:') === 0 || link.href.indexOf('callto:') === 0);
13058
+ }
13059
+
13060
+ _onLinkClick(e ) {
13061
+ e.preventDefault();
13062
+ const number = e.target.href.split(':')[1];
13063
+
13064
+ this.makeCall(number);
13065
+ }
13066
+
13067
+ _onAuthenticated() {
13068
+ this.parseLinks();
13069
+ }
13070
+
13071
+ _onMessage(event ) {
13072
+ if (!event.data) {
13073
+ return;
13074
+ }
13075
+
13076
+ switch (event.data.type) {
13077
+ case SDK_ON_CALL_MADE:
13078
+ this.onCallMade(event.data.callSession);
13079
+ break;
13080
+ case SDK_CALL_ENDED: {
13081
+ const { callSession, content, direction, userExtension } = event.data;
13082
+ this.onCallEnded(callSession, content, direction, userExtension);
13083
+ break;
13084
+ }
13085
+ case SDK_CALL_INCOMING:
13086
+ this.onCallIncoming(event.data.callSession);
13087
+ break;
13088
+ case SDK_AUTHENTICATED:
13089
+ // $FlowFixMe
13090
+ this._onAuthenticated(event.data.session);
13091
+ this.onAuthenticated(event.data.session);
13092
+ break;
13093
+ case SDK_LOGGED_OUT:
13094
+ this.onLoggedOut();
13095
+ break;
13096
+ case BRIDGE_CREATE_OR_UPDATE_CARD: {
13097
+ const { content } = event.data;
13098
+ this.onCardSaved(content);
13099
+ break;
13100
+ }
13101
+ case BRIDGE_SEARCH_OPTIONS: {
13102
+ const { fieldId, query } = event.data;
13103
+ this.onSearchOptions(fieldId, query);
13104
+ break;
13105
+ }
13106
+ case BRIDGE_DISPLAY_LINKED_OPTION:
13107
+ this.onDisplayLinkedOption(event.data.linkedOptionId);
13108
+ break;
13109
+ case BRIDGE_WAZO_CONTACT_SEARCH:
13110
+ this.onWazoContactSearch(event.data.query);
13111
+ break;
13112
+ case BRIDGE_ON_AGENT_LOGGED_IN:
13113
+ this.onAgentLoggedIn();
13114
+ break;
13115
+ case BRIDGE_ON_AGENT_LOGGED_OUT:
13116
+ this.onAgentLoggedOut();
13117
+ break;
13118
+ case BRIDGE_ON_AGENT_PAUSED:
13119
+ this.onAgentPaused();
13120
+ break;
13121
+ case BRIDGE_ON_AGENT_RESUMED:
13122
+ this.onAgentResumed();
13123
+ break;
13124
+ case BRIDGE_ON_LANGUAGE_CHANGED:
13125
+ this.onLanguageChanged(event.data.language);
13126
+ break;
13127
+ case BRIDGE_ON_CALL_HELD:
13128
+ this.onCallHeld();
13129
+ break;
13130
+ case BRIDGE_ON_CALL_RESUMED:
13131
+ this.onCallResumed();
13132
+ break;
13133
+ case BRIDGE_ON_CALL_MUTED:
13134
+ this.onCallMuted();
13135
+ break;
13136
+ case BRIDGE_ON_CALL_UN_MUTED:
13137
+ this.onCallUnMuted();
13138
+ break;
13139
+ case BRIDGE_ON_DTMF:
13140
+ this.onDtmfSent(event.data.tone);
13141
+ break;
13142
+ case BRIDGE_ON_DIRECT_TRANSFER:
13143
+ this.onDirectTransfer(event.data.number);
13144
+ break;
13145
+ case BRIDGE_ON_CREATE_INDIRECT_TRANSFER:
13146
+ this.onCreateIndirectTransfer(event.data.number);
13147
+ break;
13148
+ case BRIDGE_ON_CANCEL_INDIRECT_TRANSFER:
13149
+ this.onCancelIndirectTransfer();
13150
+ break;
13151
+ case BRIDGE_ON_CONFIRM_INDIRECT_TRANSFER:
13152
+ this.onConfirmIndirectTransfer();
13153
+ break;
13154
+ case BRIDGE_ON_INDIRECT_TRANSFER_CALL_MADE:
13155
+ this.onIndirectCallMade(event.data.call);
13156
+ break;
13157
+ case BRIDGE_ON_INDIRECT_TRANSFER_DONE:
13158
+ this.onIndirectTransferDone(event.data.call);
13159
+ break;
13160
+ case BRIDGE_ON_START_RECORDING:
13161
+ this.onStartRecording();
13162
+ break;
13163
+ case BRIDGE_ON_STOP_RECORDING:
13164
+ this.onStopRecording();
13165
+ break;
13166
+ default:
13167
+ this.onUnHandledEvent(event);
13168
+ break;
13169
+ }
13170
+ }
13171
+
13172
+ _sendMessage(type , payload = {}) {
13173
+ if (!this.iframe) {
13174
+ console.warn(`Could not send message of type ${type} to the Wazo Softphone, iframe not created yet`);
13175
+ return;
13176
+ }
13177
+
13178
+ this.iframe.contentWindow.postMessage({ type, ...payload }, '*');
13179
+ }
13180
+ }
13181
+
13182
+ var Softphone$1 = new Softphone();
13183
+
12849
13184
  /* global window */
12850
13185
 
12851
13186
  const Wazo = {
@@ -12866,6 +13201,7 @@ const Wazo = {
12866
13201
  loggerFor: IssueReporter$1.loggerFor.bind(IssueReporter$1),
12867
13202
  Features: Features$1,
12868
13203
  Checker,
13204
+ Softphone: Softphone$1,
12869
13205
 
12870
13206
  // Domain
12871
13207
  domain: {