@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
@@ -706,13 +706,9 @@ class IssueReporter {
706
706
 
707
707
  setTimeout(() => {
708
708
  if (isArray) {
709
- payload = payload.map(message => {
710
- message._retry = retry + 1;
711
- return message;
712
- });
713
- } else {
714
- // $FlowFixMe
715
- payload._retry = retry + 1;
709
+ payload = payload.map(message => this._writeRetryCount(message, retry + 1));
710
+ } else if (payload && typeof payload === 'object') {
711
+ payload = this._writeRetryCount(payload, retry + 1);
716
712
  }
717
713
 
718
714
  this._sendDebugToGrafana(payload, retry + 1);
@@ -720,6 +716,15 @@ class IssueReporter {
720
716
  });
721
717
  }
722
718
 
719
+ _writeRetryCount(message , count ) {
720
+ if (message && typeof message === 'object') {
721
+ // $FlowFixMe
722
+ message._retry = count;
723
+ }
724
+
725
+ return message;
726
+ }
727
+
723
728
  _isLevelAbove(level1 , level2 ) {
724
729
  const index1 = LOG_LEVELS.indexOf(level1);
725
730
  const index2 = LOG_LEVELS.indexOf(level2);
@@ -7475,8 +7480,10 @@ class WebRTCClient extends Emitter {
7475
7480
  conference: isConference,
7476
7481
  };
7477
7482
 
7478
- // Avoid sdh to created a new stream
7479
- session.sessionDescriptionHandler.localMediaStreamConstraints = options.constraints;
7483
+ // Avoid sdh to create a new stream
7484
+ if (session.sessionDescriptionHandler) {
7485
+ session.sessionDescriptionHandler.localMediaStreamConstraints = options.constraints;
7486
+ }
7480
7487
 
7481
7488
  // Send re-INVITE
7482
7489
  return session.invite(options);
@@ -8319,7 +8326,7 @@ class WebRTCClient extends Emitter {
8319
8326
  }
8320
8327
 
8321
8328
  async _onHeartbeatTimeout() {
8322
- logger$8.info('sdk webrtc heartbeat timed out', { userAgent: !!this.userAgent, cb: !!this.heartbeatTimeoutCb });
8329
+ logger$8.warn('sdk webrtc heartbeat timed out', { userAgent: !!this.userAgent, cb: !!this.heartbeatTimeoutCb });
8323
8330
 
8324
8331
  if (this.heartbeatTimeoutCb) {
8325
8332
  this.heartbeatTimeoutCb();
@@ -11487,7 +11494,7 @@ class WebSocketClient extends Emitter {
11487
11494
  this.close();
11488
11495
  }
11489
11496
  const url = `wss://${this.host || ''}/api/websocketd/?token=${this.token || ''}&version=${this.version}`;
11490
- logger$5.log('Wazo WS url computed to reconnect', { url });
11497
+ logger$5.info('Wazo WS url computed to reconnect', { url });
11491
11498
 
11492
11499
  return url;
11493
11500
  }
@@ -12836,6 +12843,334 @@ class Checker {
12836
12843
  }
12837
12844
  }
12838
12845
 
12846
+ //
12847
+ /* eslint-disable no-unused-vars */
12848
+ /* global window, document */
12849
+ const BRIDGE_CONFIG_RETRIEVED = 'bridge/CONFIG_RETRIEVED';
12850
+ const BRIDGE_ENABLE_CARD = 'bridge/ENABLE_CARD';
12851
+ const BRIDGE_CHANGE_REQUIRED_SUBSCRIPTION_TYPE = 'bridge/CHANGE_REQUIRED_SUBSCRIPTION_TYPE';
12852
+ const BRIDGE_CREATE_OR_UPDATE_CARD = 'bridge/BRIDGE_CREATE_OR_UPDATE_CARD';
12853
+ const BRIDGE_OPTIONS_FETCHED = 'bridge/BRIDGE_OPTIONS_FETCHED';
12854
+ const BRIDGE_OPTIONS_FOUND = 'bridge/BRIDGE_OPTIONS_FOUND';
12855
+ const BRIDGE_SEARCH_OPTIONS = 'bridge/BRIDGE_SEARCH_OPTIONS';
12856
+ const BRIDGE_DISPLAY_LINKED_OPTION = 'bridge/DISPLAY_LINKED_OPTION';
12857
+ const BRIDGE_UPDATE_FORM_SCHEMA = 'bridge/BRIDGE_UPDATE_FORM_SCHEMA';
12858
+ const BRIDGE_WAZO_CONTACT_SEARCH = 'bridge/BRIDGE_WAZO_CONTACT_SEARCH';
12859
+ const BRIDGE_ON_AGENT_LOGGED_IN = 'bridge/BRIDGE_ON_AGENT_LOGGED_IN';
12860
+ const BRIDGE_ON_AGENT_LOGGED_OUT = 'bridge/BRIDGE_ON_AGENT_LOGGED_OUT';
12861
+ const BRIDGE_ON_AGENT_PAUSED = 'bridge/BRIDGE_ON_AGENT_PAUSED';
12862
+ const BRIDGE_ON_AGENT_RESUMED = 'bridge/BRIDGE_ON_AGENT_RESUMED';
12863
+ const BRIDGE_ON_LANGUAGE_CHANGED = 'bridge/BRIDGE_ON_LANGUAGE_CHANGED';
12864
+ const BRIDGE_ON_CALL_HELD = 'bridge/BRIDGE_ON_CALL_HELD';
12865
+ const BRIDGE_ON_CALL_RESUMED = 'bridge/BRIDGE_ON_CALL_RESUMED';
12866
+ const BRIDGE_ON_CALL_MUTED = 'bridge/BRIDGE_ON_CALL_MUTED';
12867
+ const BRIDGE_ON_CALL_UN_MUTED = 'bridge/BRIDGE_ON_CALL_UN_MUTED';
12868
+ const BRIDGE_ON_DTMF = 'bridge/BRIDGE_ON_DTMF';
12869
+ const BRIDGE_ON_DIRECT_TRANSFER = 'bridge/BRIDGE_ON_DIRECT_TRANSFER';
12870
+ const BRIDGE_ON_CREATE_INDIRECT_TRANSFER = 'bridge/BRIDGE_ON_CREATE_INDIRECT_TRANSFER';
12871
+ const BRIDGE_ON_CANCEL_INDIRECT_TRANSFER = 'bridge/BRIDGE_ON_CANCEL_INDIRECT_TRANSFER';
12872
+ const BRIDGE_ON_CONFIRM_INDIRECT_TRANSFER = 'bridge/BRIDGE_ON_CONFIRM_INDIRECT_TRANSFER';
12873
+ const BRIDGE_ON_INDIRECT_TRANSFER_CALL_MADE = 'bridge/BRIDGE_ON_INDIRECT_TRANSFER_CALL_MADE';
12874
+ const BRIDGE_ON_INDIRECT_TRANSFER_DONE = 'bridge/BRIDGE_ON_INDIRECT_TRANSFER_DONE';
12875
+ const BRIDGE_ON_START_RECORDING = 'bridge/BRIDGE_ON_START_RECORDING';
12876
+ const BRIDGE_ON_STOP_RECORDING = 'bridge/BRIDGE_ON_STOP_RECORDING';
12877
+
12878
+ const SDK_CLICK_TO_CALL = 'sdk/CLICK_TO_CALL';
12879
+ const SDK_ON_CALL_MADE = 'sdk/SDK_ON_CALL_MADE';
12880
+ const SDK_CALL_ENDED = 'sdk/ON_CALL_ENDED';
12881
+ const SDK_CALL_INCOMING = 'sdk/SDK_CALL_INCOMING';
12882
+ const SDK_AUTHENTICATED = 'sdk/SDK_AUTHENTICATED';
12883
+ const SDK_LOGGED_OUT = 'sdk/SDK_LOGGED_OUT';
12884
+
12885
+ class Softphone {
12886
+ url = 'https://softphone.wazo.io';
12887
+ width = 500;
12888
+ height = 600;
12889
+ displayed = false;
12890
+ iframe = null;
12891
+
12892
+ onLinkEnabled(link ) {}
12893
+ onIFrameLoaded() {}
12894
+
12895
+ onCallMade(call ) {}
12896
+ onCallIncoming(call ) {}
12897
+ onCallEnded(call , card , direction , fromExtension ) {}
12898
+ onCardSaved(card ) {}
12899
+ onAuthenticated(session ) {}
12900
+ onLoggedOut() {}
12901
+ onSearchOptions(fieldId , query ) {}
12902
+ onDisplayLinkedOption(optionId ) {}
12903
+ onWazoContactSearch(query ) {}
12904
+ onAgentLoggedIn() {}
12905
+ onAgentLoggedOut() {}
12906
+ onAgentPaused() {}
12907
+ onAgentResumed() {}
12908
+ onLanguageChanged(language ) {}
12909
+ onCallHeld() {}
12910
+ onCallResumed() {}
12911
+ onCallMuted() {}
12912
+ onCallUnMuted() {}
12913
+ onDtmfSent(tone ) {}
12914
+ onDirectTransfer(number ) {}
12915
+ onCreateIndirectTransfer(number ) {}
12916
+ onCancelIndirectTransfer() {}
12917
+ onConfirmIndirectTransfer() {}
12918
+ onIndirectCallMade(call ) {}
12919
+ onIndirectTransferDone(call ) {}
12920
+ onStartRecording() {}
12921
+ onStopRecording() {}
12922
+ onUnHandledEvent(event ) {}
12923
+
12924
+ init({ url, width, height, server, port, language, wrapUpDuration, shouldDisplayLinkedEntities,
12925
+ allowContactCreation, withCard, subscriptionType, enableAgent } = {}) {
12926
+ if (url) {
12927
+ this.url = url;
12928
+ }
12929
+ if (width) {
12930
+ this.width = width;
12931
+ }
12932
+ if (height) {
12933
+ this.height = height;
12934
+ }
12935
+
12936
+ window.addEventListener('message', this._onMessage.bind(this), false);
12937
+
12938
+ if (!server) {
12939
+ // eslint-disable-next-line no-param-reassign
12940
+ server = 'stack.dev.wazo.io';
12941
+ }
12942
+
12943
+ this._createIframe(() => {
12944
+ this._sendMessage(BRIDGE_CONFIG_RETRIEVED, {
12945
+ config: {
12946
+ server,
12947
+ port,
12948
+ language,
12949
+ wrapUpDuration,
12950
+ shouldDisplayLinkedEntities,
12951
+ allowContactCreation,
12952
+ },
12953
+ });
12954
+
12955
+ if (withCard) {
12956
+ this._sendMessage(BRIDGE_ENABLE_CARD);
12957
+ }
12958
+
12959
+ if (subscriptionType) {
12960
+ this._sendMessage(BRIDGE_CHANGE_REQUIRED_SUBSCRIPTION_TYPE, { subscriptionType });
12961
+ }
12962
+
12963
+ this.onIFrameLoaded();
12964
+ });
12965
+ }
12966
+
12967
+ parseLinks() {
12968
+ const links = this._getLinks();
12969
+
12970
+ links.forEach(link => {
12971
+ link.setAttribute('data-wazo-parsed', true);
12972
+ link.addEventListener('click', this._onLinkClick.bind(this));
12973
+ this.onLinkEnabled(link);
12974
+ });
12975
+ }
12976
+
12977
+ makeCall(number ) {
12978
+ this.displaySoftphone();
12979
+
12980
+ this._sendMessage(SDK_CLICK_TO_CALL, { number });
12981
+ }
12982
+
12983
+ toggleSoftphoneDisplay() {
12984
+ if (this.displayed) {
12985
+ this.hideSoftphone();
12986
+ } else {
12987
+ this.displaySoftphone();
12988
+ }
12989
+ }
12990
+
12991
+ displaySoftphone() {
12992
+ if (!this.iframe) {
12993
+ this._createIframe();
12994
+ }
12995
+
12996
+ if (this.iframe) {
12997
+ this.iframe.style.display = 'block';
12998
+ }
12999
+
13000
+ this.displayed = true;
13001
+ }
13002
+
13003
+ hideSoftphone() {
13004
+ if (this.iframe) {
13005
+ this.iframe.style.display = 'none';
13006
+ }
13007
+ this.displayed = false;
13008
+ }
13009
+
13010
+ optionsFetched(fieldId , options ) {
13011
+ this._sendMessage(BRIDGE_OPTIONS_FETCHED, { fieldId, options });
13012
+ }
13013
+
13014
+ onOptionsResults(fieldId , options ) {
13015
+ this._sendMessage(BRIDGE_OPTIONS_FOUND, { fieldId, options });
13016
+ }
13017
+
13018
+ setFormSchema(schema , uiSchema ) {
13019
+ this._sendMessage(BRIDGE_UPDATE_FORM_SCHEMA, { schema, uiSchema });
13020
+ }
13021
+
13022
+ _createIframe(cb = () => {}) {
13023
+ this.iframe = document.createElement('iframe');
13024
+ // $FlowFixMe
13025
+ this.iframe.width = this.width;
13026
+ // $FlowFixMe
13027
+ this.iframe.height = this.height;
13028
+ // $FlowFixMe
13029
+ this.iframe.allow = 'camera *; microphone *; autoplay *; display-capture *';
13030
+ this.iframe.style.position = 'absolute';
13031
+ this.iframe.style.left = '0';
13032
+ this.iframe.style.bottom = '0';
13033
+ this.iframe.style.border = '1px solid #aaa';
13034
+ this.iframe.style.backgroundColor = 'white';
13035
+ this.iframe.src = this.url;
13036
+ this.iframe.style.display = 'none';
13037
+ this.iframe.id = 'wazo-softphone';
13038
+
13039
+ this.iframe.onload = cb;
13040
+
13041
+ // $FlowFixMe
13042
+ document.body.appendChild(this.iframe);
13043
+ }
13044
+
13045
+ _getLinks() {
13046
+ return [].slice.call(document.querySelectorAll('a:not([data-wazo-parsed])'), 0)
13047
+ .filter(link => link.href.indexOf('tel:') === 0 || link.href.indexOf('callto:') === 0);
13048
+ }
13049
+
13050
+ _onLinkClick(e ) {
13051
+ e.preventDefault();
13052
+ const number = e.target.href.split(':')[1];
13053
+
13054
+ this.makeCall(number);
13055
+ }
13056
+
13057
+ _onAuthenticated() {
13058
+ this.parseLinks();
13059
+ }
13060
+
13061
+ _onMessage(event ) {
13062
+ if (!event.data) {
13063
+ return;
13064
+ }
13065
+
13066
+ switch (event.data.type) {
13067
+ case SDK_ON_CALL_MADE:
13068
+ this.onCallMade(event.data.callSession);
13069
+ break;
13070
+ case SDK_CALL_ENDED: {
13071
+ const { callSession, content, direction, userExtension } = event.data;
13072
+ this.onCallEnded(callSession, content, direction, userExtension);
13073
+ break;
13074
+ }
13075
+ case SDK_CALL_INCOMING:
13076
+ this.onCallIncoming(event.data.callSession);
13077
+ break;
13078
+ case SDK_AUTHENTICATED:
13079
+ // $FlowFixMe
13080
+ this._onAuthenticated(event.data.session);
13081
+ this.onAuthenticated(event.data.session);
13082
+ break;
13083
+ case SDK_LOGGED_OUT:
13084
+ this.onLoggedOut();
13085
+ break;
13086
+ case BRIDGE_CREATE_OR_UPDATE_CARD: {
13087
+ const { content } = event.data;
13088
+ this.onCardSaved(content);
13089
+ break;
13090
+ }
13091
+ case BRIDGE_SEARCH_OPTIONS: {
13092
+ const { fieldId, query } = event.data;
13093
+ this.onSearchOptions(fieldId, query);
13094
+ break;
13095
+ }
13096
+ case BRIDGE_DISPLAY_LINKED_OPTION:
13097
+ this.onDisplayLinkedOption(event.data.linkedOptionId);
13098
+ break;
13099
+ case BRIDGE_WAZO_CONTACT_SEARCH:
13100
+ this.onWazoContactSearch(event.data.query);
13101
+ break;
13102
+ case BRIDGE_ON_AGENT_LOGGED_IN:
13103
+ this.onAgentLoggedIn();
13104
+ break;
13105
+ case BRIDGE_ON_AGENT_LOGGED_OUT:
13106
+ this.onAgentLoggedOut();
13107
+ break;
13108
+ case BRIDGE_ON_AGENT_PAUSED:
13109
+ this.onAgentPaused();
13110
+ break;
13111
+ case BRIDGE_ON_AGENT_RESUMED:
13112
+ this.onAgentResumed();
13113
+ break;
13114
+ case BRIDGE_ON_LANGUAGE_CHANGED:
13115
+ this.onLanguageChanged(event.data.language);
13116
+ break;
13117
+ case BRIDGE_ON_CALL_HELD:
13118
+ this.onCallHeld();
13119
+ break;
13120
+ case BRIDGE_ON_CALL_RESUMED:
13121
+ this.onCallResumed();
13122
+ break;
13123
+ case BRIDGE_ON_CALL_MUTED:
13124
+ this.onCallMuted();
13125
+ break;
13126
+ case BRIDGE_ON_CALL_UN_MUTED:
13127
+ this.onCallUnMuted();
13128
+ break;
13129
+ case BRIDGE_ON_DTMF:
13130
+ this.onDtmfSent(event.data.tone);
13131
+ break;
13132
+ case BRIDGE_ON_DIRECT_TRANSFER:
13133
+ this.onDirectTransfer(event.data.number);
13134
+ break;
13135
+ case BRIDGE_ON_CREATE_INDIRECT_TRANSFER:
13136
+ this.onCreateIndirectTransfer(event.data.number);
13137
+ break;
13138
+ case BRIDGE_ON_CANCEL_INDIRECT_TRANSFER:
13139
+ this.onCancelIndirectTransfer();
13140
+ break;
13141
+ case BRIDGE_ON_CONFIRM_INDIRECT_TRANSFER:
13142
+ this.onConfirmIndirectTransfer();
13143
+ break;
13144
+ case BRIDGE_ON_INDIRECT_TRANSFER_CALL_MADE:
13145
+ this.onIndirectCallMade(event.data.call);
13146
+ break;
13147
+ case BRIDGE_ON_INDIRECT_TRANSFER_DONE:
13148
+ this.onIndirectTransferDone(event.data.call);
13149
+ break;
13150
+ case BRIDGE_ON_START_RECORDING:
13151
+ this.onStartRecording();
13152
+ break;
13153
+ case BRIDGE_ON_STOP_RECORDING:
13154
+ this.onStopRecording();
13155
+ break;
13156
+ default:
13157
+ this.onUnHandledEvent(event);
13158
+ break;
13159
+ }
13160
+ }
13161
+
13162
+ _sendMessage(type , payload = {}) {
13163
+ if (!this.iframe) {
13164
+ console.warn(`Could not send message of type ${type} to the Wazo Softphone, iframe not created yet`);
13165
+ return;
13166
+ }
13167
+
13168
+ this.iframe.contentWindow.postMessage({ type, ...payload }, '*');
13169
+ }
13170
+ }
13171
+
13172
+ var Softphone$1 = new Softphone();
13173
+
12839
13174
  /* global window */
12840
13175
 
12841
13176
  const Wazo = {
@@ -12856,6 +13191,7 @@ const Wazo = {
12856
13191
  loggerFor: IssueReporter$1.loggerFor.bind(IssueReporter$1),
12857
13192
  Features: Features$1,
12858
13193
  Checker,
13194
+ Softphone: Softphone$1,
12859
13195
 
12860
13196
  // Domain
12861
13197
  domain: {