@webex/plugin-meetings 3.0.0-beta.21 → 3.0.0-beta.211
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/README.md +45 -7
- package/dist/annotation/annotation.types.js +7 -0
- package/dist/annotation/annotation.types.js.map +1 -0
- package/dist/annotation/constants.js +49 -0
- package/dist/annotation/constants.js.map +1 -0
- package/dist/annotation/index.js +342 -0
- package/dist/annotation/index.js.map +1 -0
- package/dist/breakouts/breakout.js +114 -14
- package/dist/breakouts/breakout.js.map +1 -1
- package/dist/breakouts/edit-lock-error.js +52 -0
- package/dist/breakouts/edit-lock-error.js.map +1 -0
- package/dist/breakouts/events.js +45 -0
- package/dist/breakouts/events.js.map +1 -0
- package/dist/breakouts/index.js +841 -19
- package/dist/breakouts/index.js.map +1 -1
- package/dist/breakouts/request.js +78 -0
- package/dist/breakouts/request.js.map +1 -0
- package/dist/breakouts/utils.js +67 -0
- package/dist/breakouts/utils.js.map +1 -0
- package/dist/common/errors/webex-errors.js +3 -2
- package/dist/common/errors/webex-errors.js.map +1 -1
- package/dist/common/logs/logger-proxy.js +1 -1
- package/dist/common/logs/logger-proxy.js.map +1 -1
- package/dist/common/queue.js +24 -9
- package/dist/common/queue.js.map +1 -1
- package/dist/config.js +3 -8
- package/dist/config.js.map +1 -1
- package/dist/constants.js +179 -30
- package/dist/constants.js.map +1 -1
- package/dist/controls-options-manager/constants.js +14 -0
- package/dist/controls-options-manager/constants.js.map +1 -0
- package/dist/controls-options-manager/enums.js +27 -0
- package/dist/controls-options-manager/enums.js.map +1 -0
- package/dist/controls-options-manager/index.js +297 -0
- package/dist/controls-options-manager/index.js.map +1 -0
- package/dist/controls-options-manager/types.js +7 -0
- package/dist/controls-options-manager/types.js.map +1 -0
- package/dist/controls-options-manager/util.js +319 -0
- package/dist/controls-options-manager/util.js.map +1 -0
- package/dist/index.js +106 -1
- package/dist/index.js.map +1 -1
- package/dist/interpretation/collection.js +23 -0
- package/dist/interpretation/collection.js.map +1 -0
- package/dist/interpretation/index.js +366 -0
- package/dist/interpretation/index.js.map +1 -0
- package/dist/interpretation/siLanguage.js +25 -0
- package/dist/interpretation/siLanguage.js.map +1 -0
- package/dist/locus-info/controlsUtils.js +91 -2
- package/dist/locus-info/controlsUtils.js.map +1 -1
- package/dist/locus-info/index.js +359 -64
- package/dist/locus-info/index.js.map +1 -1
- package/dist/locus-info/infoUtils.js +7 -1
- package/dist/locus-info/infoUtils.js.map +1 -1
- package/dist/locus-info/mediaSharesUtils.js +43 -1
- package/dist/locus-info/mediaSharesUtils.js.map +1 -1
- package/dist/locus-info/parser.js +219 -63
- package/dist/locus-info/parser.js.map +1 -1
- package/dist/locus-info/selfUtils.js +89 -14
- package/dist/locus-info/selfUtils.js.map +1 -1
- package/dist/media/index.js +48 -135
- package/dist/media/index.js.map +1 -1
- package/dist/media/properties.js +29 -90
- package/dist/media/properties.js.map +1 -1
- package/dist/mediaQualityMetrics/config.js +505 -493
- package/dist/mediaQualityMetrics/config.js.map +1 -1
- package/dist/meeting/in-meeting-actions.js +90 -2
- package/dist/meeting/in-meeting-actions.js.map +1 -1
- package/dist/meeting/index.js +2770 -2547
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/locusMediaRequest.js +291 -0
- package/dist/meeting/locusMediaRequest.js.map +1 -0
- package/dist/meeting/muteState.js +229 -124
- package/dist/meeting/muteState.js.map +1 -1
- package/dist/meeting/request.js +199 -193
- package/dist/meeting/request.js.map +1 -1
- package/dist/meeting/util.js +532 -414
- package/dist/meeting/util.js.map +1 -1
- package/dist/meeting-info/index.js +48 -7
- package/dist/meeting-info/index.js.map +1 -1
- package/dist/meeting-info/meeting-info-v2.js +171 -51
- package/dist/meeting-info/meeting-info-v2.js.map +1 -1
- package/dist/meeting-info/utilv2.js +20 -5
- package/dist/meeting-info/utilv2.js.map +1 -1
- package/dist/meetings/collection.js +22 -0
- package/dist/meetings/collection.js.map +1 -1
- package/dist/meetings/index.js +357 -66
- package/dist/meetings/index.js.map +1 -1
- package/dist/meetings/meetings.types.js +7 -0
- package/dist/meetings/meetings.types.js.map +1 -0
- package/dist/meetings/request.js +2 -0
- package/dist/meetings/request.js.map +1 -1
- package/dist/meetings/util.js +88 -1
- package/dist/meetings/util.js.map +1 -1
- package/dist/member/index.js +49 -0
- package/dist/member/index.js.map +1 -1
- package/dist/member/types.js +25 -0
- package/dist/member/types.js.map +1 -0
- package/dist/member/util.js +121 -25
- package/dist/member/util.js.map +1 -1
- package/dist/members/collection.js +10 -0
- package/dist/members/collection.js.map +1 -1
- package/dist/members/index.js +86 -5
- package/dist/members/index.js.map +1 -1
- package/dist/members/request.js +106 -38
- package/dist/members/request.js.map +1 -1
- package/dist/members/types.js +15 -0
- package/dist/members/types.js.map +1 -0
- package/dist/members/util.js +316 -233
- package/dist/members/util.js.map +1 -1
- package/dist/metrics/constants.js +3 -5
- package/dist/metrics/constants.js.map +1 -1
- package/dist/metrics/index.js +1 -468
- package/dist/metrics/index.js.map +1 -1
- package/dist/multistream/mediaRequestManager.js +238 -49
- package/dist/multistream/mediaRequestManager.js.map +1 -1
- package/dist/multistream/receiveSlot.js +49 -16
- package/dist/multistream/receiveSlot.js.map +1 -1
- package/dist/multistream/receiveSlotManager.js +52 -34
- package/dist/multistream/receiveSlotManager.js.map +1 -1
- package/dist/multistream/remoteMedia.js +44 -18
- package/dist/multistream/remoteMedia.js.map +1 -1
- package/dist/multistream/remoteMediaGroup.js +60 -3
- package/dist/multistream/remoteMediaGroup.js.map +1 -1
- package/dist/multistream/remoteMediaManager.js +173 -59
- package/dist/multistream/remoteMediaManager.js.map +1 -1
- package/dist/networkQualityMonitor/index.js +4 -2
- package/dist/networkQualityMonitor/index.js.map +1 -1
- package/dist/reachability/index.js +72 -27
- package/dist/reachability/index.js.map +1 -1
- package/dist/reachability/request.js +12 -5
- package/dist/reachability/request.js.map +1 -1
- package/dist/reconnection-manager/index.js +196 -155
- package/dist/reconnection-manager/index.js.map +1 -1
- package/dist/recording-controller/index.js +21 -2
- package/dist/recording-controller/index.js.map +1 -1
- package/dist/recording-controller/util.js +9 -8
- package/dist/recording-controller/util.js.map +1 -1
- package/dist/roap/index.js +21 -29
- package/dist/roap/index.js.map +1 -1
- package/dist/roap/request.js +110 -89
- package/dist/roap/request.js.map +1 -1
- package/dist/roap/turnDiscovery.js +93 -36
- package/dist/roap/turnDiscovery.js.map +1 -1
- package/dist/rtcMetrics/constants.js +12 -0
- package/dist/rtcMetrics/constants.js.map +1 -0
- package/dist/rtcMetrics/index.js +117 -0
- package/dist/rtcMetrics/index.js.map +1 -0
- package/dist/statsAnalyzer/global.js +1 -93
- package/dist/statsAnalyzer/global.js.map +1 -1
- package/dist/statsAnalyzer/index.js +326 -311
- package/dist/statsAnalyzer/index.js.map +1 -1
- package/dist/statsAnalyzer/mqaUtil.js +90 -53
- package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
- package/dist/types/annotation/annotation.types.d.ts +42 -0
- package/dist/types/annotation/constants.d.ts +31 -0
- package/dist/types/annotation/index.d.ts +117 -0
- package/dist/types/breakouts/breakout.d.ts +8 -0
- package/dist/types/breakouts/collection.d.ts +5 -0
- package/dist/types/breakouts/edit-lock-error.d.ts +15 -0
- package/dist/types/breakouts/events.d.ts +8 -0
- package/dist/types/breakouts/index.d.ts +5 -0
- package/dist/types/breakouts/request.d.ts +22 -0
- package/dist/types/breakouts/utils.d.ts +15 -0
- package/dist/types/common/browser-detection.d.ts +9 -0
- package/dist/types/common/collection.d.ts +48 -0
- package/dist/types/common/config.d.ts +2 -0
- package/dist/types/common/errors/captcha-error.d.ts +15 -0
- package/dist/types/common/errors/intent-to-join.d.ts +16 -0
- package/dist/types/common/errors/join-meeting.d.ts +17 -0
- package/dist/types/common/errors/media.d.ts +15 -0
- package/dist/types/common/errors/parameter.d.ts +15 -0
- package/dist/types/common/errors/password-error.d.ts +15 -0
- package/dist/types/common/errors/permission.d.ts +14 -0
- package/dist/types/common/errors/reconnection-in-progress.d.ts +9 -0
- package/dist/types/common/errors/reconnection.d.ts +15 -0
- package/dist/types/common/errors/stats.d.ts +15 -0
- package/dist/types/common/errors/webex-errors.d.ts +69 -0
- package/dist/types/common/errors/webex-meetings-error.d.ts +20 -0
- package/dist/types/common/events/events-scope.d.ts +17 -0
- package/dist/types/common/events/events.d.ts +12 -0
- package/dist/types/common/events/trigger-proxy.d.ts +2 -0
- package/dist/types/common/events/util.d.ts +2 -0
- package/dist/types/common/logs/logger-config.d.ts +2 -0
- package/dist/types/common/logs/logger-proxy.d.ts +2 -0
- package/dist/types/common/logs/request.d.ts +34 -0
- package/dist/types/common/queue.d.ts +34 -0
- package/dist/types/config.d.ts +72 -0
- package/dist/types/constants.d.ts +1020 -0
- package/dist/types/controls-options-manager/constants.d.ts +4 -0
- package/dist/types/controls-options-manager/enums.d.ts +15 -0
- package/dist/types/controls-options-manager/index.d.ts +136 -0
- package/dist/types/controls-options-manager/types.d.ts +43 -0
- package/dist/types/controls-options-manager/util.d.ts +1 -0
- package/dist/types/index.d.ts +7 -0
- package/dist/types/interpretation/collection.d.ts +5 -0
- package/dist/types/interpretation/index.d.ts +5 -0
- package/dist/types/interpretation/siLanguage.d.ts +5 -0
- package/dist/types/locus-info/controlsUtils.d.ts +2 -0
- package/dist/types/locus-info/embeddedAppsUtils.d.ts +2 -0
- package/dist/types/locus-info/fullState.d.ts +2 -0
- package/dist/types/locus-info/hostUtils.d.ts +2 -0
- package/dist/types/locus-info/index.d.ts +322 -0
- package/dist/types/locus-info/infoUtils.d.ts +2 -0
- package/dist/types/locus-info/mediaSharesUtils.d.ts +2 -0
- package/dist/types/locus-info/parser.d.ts +271 -0
- package/dist/types/locus-info/selfUtils.d.ts +2 -0
- package/dist/types/media/index.d.ts +34 -0
- package/dist/types/media/properties.d.ts +93 -0
- package/dist/types/media/util.d.ts +2 -0
- package/dist/types/mediaQualityMetrics/config.d.ts +365 -0
- package/dist/types/meeting/in-meeting-actions.d.ts +163 -0
- package/dist/types/meeting/index.d.ts +1482 -0
- package/dist/types/meeting/locusMediaRequest.d.ts +72 -0
- package/dist/types/meeting/muteState.d.ts +184 -0
- package/dist/types/meeting/request.d.ts +257 -0
- package/dist/types/meeting/request.type.d.ts +11 -0
- package/dist/types/meeting/state.d.ts +9 -0
- package/dist/types/meeting/util.d.ts +79 -0
- package/dist/types/meeting-info/collection.d.ts +20 -0
- package/dist/types/meeting-info/index.d.ts +62 -0
- package/dist/types/meeting-info/meeting-info-v2.d.ts +122 -0
- package/dist/types/meeting-info/request.d.ts +22 -0
- package/dist/types/meeting-info/util.d.ts +2 -0
- package/dist/types/meeting-info/utilv2.d.ts +2 -0
- package/dist/types/meetings/collection.d.ts +31 -0
- package/dist/types/meetings/index.d.ts +367 -0
- package/dist/types/meetings/meetings.types.d.ts +4 -0
- package/dist/types/meetings/request.d.ts +27 -0
- package/dist/types/meetings/util.d.ts +18 -0
- package/dist/types/member/index.d.ts +159 -0
- package/dist/types/member/types.d.ts +32 -0
- package/dist/types/member/util.d.ts +2 -0
- package/dist/types/members/collection.d.ts +29 -0
- package/dist/types/members/index.d.ts +353 -0
- package/dist/types/members/request.d.ts +114 -0
- package/dist/types/members/types.d.ts +24 -0
- package/dist/types/members/util.d.ts +210 -0
- package/dist/types/metrics/constants.d.ts +55 -0
- package/dist/types/metrics/index.d.ts +45 -0
- package/dist/types/multistream/mediaRequestManager.d.ts +118 -0
- package/dist/types/multistream/receiveSlot.d.ts +68 -0
- package/dist/types/multistream/receiveSlotManager.d.ts +56 -0
- package/dist/types/multistream/remoteMedia.d.ts +72 -0
- package/dist/types/multistream/remoteMediaGroup.d.ts +47 -0
- package/dist/types/multistream/remoteMediaManager.d.ts +277 -0
- package/dist/types/networkQualityMonitor/index.d.ts +70 -0
- package/dist/types/personal-meeting-room/index.d.ts +47 -0
- package/dist/types/personal-meeting-room/request.d.ts +14 -0
- package/dist/types/personal-meeting-room/util.d.ts +2 -0
- package/dist/types/reachability/index.d.ts +152 -0
- package/dist/types/reachability/request.d.ts +37 -0
- package/dist/types/reactions/constants.d.ts +3 -0
- package/dist/types/reactions/reactions.d.ts +4 -0
- package/dist/types/reactions/reactions.type.d.ts +52 -0
- package/dist/types/reconnection-manager/index.d.ts +126 -0
- package/dist/types/recording-controller/enums.d.ts +7 -0
- package/dist/types/recording-controller/index.d.ts +207 -0
- package/dist/types/recording-controller/util.d.ts +14 -0
- package/dist/types/roap/index.d.ts +77 -0
- package/dist/types/roap/request.d.ts +36 -0
- package/dist/types/roap/turnDiscovery.d.ts +91 -0
- package/dist/types/rtcMetrics/constants.d.ts +4 -0
- package/dist/types/rtcMetrics/index.d.ts +46 -0
- package/dist/types/statsAnalyzer/global.d.ts +36 -0
- package/dist/types/statsAnalyzer/index.d.ts +200 -0
- package/dist/types/statsAnalyzer/mqaUtil.d.ts +24 -0
- package/dist/types/transcription/index.d.ts +64 -0
- package/package.json +23 -20
- package/src/annotation/annotation.types.ts +50 -0
- package/src/annotation/constants.ts +36 -0
- package/src/annotation/index.ts +328 -0
- package/src/breakouts/README.md +44 -14
- package/src/breakouts/breakout.ts +87 -9
- package/src/breakouts/edit-lock-error.ts +25 -0
- package/src/breakouts/events.ts +56 -0
- package/src/breakouts/index.ts +710 -10
- package/src/breakouts/request.ts +55 -0
- package/src/breakouts/utils.ts +57 -0
- package/src/common/errors/webex-errors.ts +6 -2
- package/src/common/logs/logger-proxy.ts +1 -1
- package/src/common/queue.ts +22 -8
- package/src/config.ts +2 -7
- package/src/constants.ts +165 -21
- package/src/controls-options-manager/constants.ts +5 -0
- package/src/controls-options-manager/enums.ts +18 -0
- package/src/controls-options-manager/index.ts +278 -0
- package/src/controls-options-manager/types.ts +59 -0
- package/src/controls-options-manager/util.ts +300 -0
- package/src/index.ts +39 -0
- package/src/interpretation/README.md +60 -0
- package/src/interpretation/collection.ts +19 -0
- package/src/interpretation/index.ts +332 -0
- package/src/interpretation/siLanguage.ts +18 -0
- package/src/locus-info/controlsUtils.ts +108 -0
- package/src/locus-info/index.ts +383 -61
- package/src/locus-info/infoUtils.ts +10 -2
- package/src/locus-info/mediaSharesUtils.ts +48 -0
- package/src/locus-info/parser.ts +224 -39
- package/src/locus-info/selfUtils.ts +81 -5
- package/src/media/index.ts +87 -140
- package/src/media/properties.ts +49 -90
- package/src/mediaQualityMetrics/config.ts +379 -377
- package/src/meeting/in-meeting-actions.ts +179 -3
- package/src/meeting/index.ts +2099 -2083
- package/src/meeting/locusMediaRequest.ts +311 -0
- package/src/meeting/muteState.ts +228 -132
- package/src/meeting/request.ts +105 -115
- package/src/meeting/util.ts +511 -397
- package/src/meeting-info/index.ts +54 -8
- package/src/meeting-info/meeting-info-v2.ts +148 -14
- package/src/meeting-info/utilv2.ts +13 -3
- package/src/meetings/collection.ts +20 -0
- package/src/meetings/index.ts +392 -84
- package/src/meetings/meetings.types.ts +12 -0
- package/src/meetings/request.ts +2 -0
- package/src/meetings/util.ts +103 -4
- package/src/member/index.ts +49 -0
- package/src/member/types.ts +38 -0
- package/src/member/util.ts +127 -25
- package/src/members/collection.ts +8 -0
- package/src/members/index.ts +107 -6
- package/src/members/request.ts +97 -17
- package/src/members/types.ts +28 -0
- package/src/members/util.ts +319 -240
- package/src/metrics/constants.ts +2 -4
- package/src/metrics/index.ts +1 -490
- package/src/multistream/mediaRequestManager.ts +289 -79
- package/src/multistream/receiveSlot.ts +55 -18
- package/src/multistream/receiveSlotManager.ts +46 -24
- package/src/multistream/remoteMedia.ts +27 -2
- package/src/multistream/remoteMediaGroup.ts +59 -0
- package/src/multistream/remoteMediaManager.ts +113 -32
- package/src/networkQualityMonitor/index.ts +6 -6
- package/src/reachability/index.ts +62 -15
- package/src/reachability/request.ts +10 -5
- package/src/reconnection-manager/index.ts +68 -43
- package/src/recording-controller/index.ts +20 -3
- package/src/recording-controller/util.ts +26 -9
- package/src/roap/index.ts +21 -30
- package/src/roap/request.ts +101 -95
- package/src/roap/turnDiscovery.ts +47 -25
- package/src/rtcMetrics/constants.ts +3 -0
- package/src/rtcMetrics/index.ts +100 -0
- package/src/statsAnalyzer/global.ts +1 -94
- package/src/statsAnalyzer/index.ts +376 -386
- package/src/statsAnalyzer/mqaUtil.ts +100 -99
- package/test/integration/spec/converged-space-meetings.js +233 -0
- package/test/integration/spec/journey.js +336 -259
- package/test/integration/spec/space-meeting.js +77 -4
- package/test/unit/spec/annotation/index.ts +418 -0
- package/test/unit/spec/breakouts/breakout.ts +142 -24
- package/test/unit/spec/breakouts/edit-lock-error.ts +30 -0
- package/test/unit/spec/breakouts/events.ts +89 -0
- package/test/unit/spec/breakouts/index.ts +1545 -48
- package/test/unit/spec/breakouts/request.ts +104 -0
- package/test/unit/spec/breakouts/utils.js +72 -0
- package/test/unit/spec/common/queue.js +31 -2
- package/test/unit/spec/controls-options-manager/index.js +287 -0
- package/test/unit/spec/controls-options-manager/util.js +582 -0
- package/test/unit/spec/fixture/locus.js +1 -0
- package/test/unit/spec/interpretation/collection.ts +15 -0
- package/test/unit/spec/interpretation/index.ts +589 -0
- package/test/unit/spec/interpretation/siLanguage.ts +28 -0
- package/test/unit/spec/locus-info/controlsUtils.js +316 -43
- package/test/unit/spec/locus-info/index.js +1169 -36
- package/test/unit/spec/locus-info/infoUtils.js +37 -15
- package/test/unit/spec/locus-info/mediaSharesUtils.ts +22 -0
- package/test/unit/spec/locus-info/parser.js +62 -22
- package/test/unit/spec/locus-info/selfConstant.js +27 -4
- package/test/unit/spec/locus-info/selfUtils.js +208 -17
- package/test/unit/spec/media/index.ts +138 -28
- package/test/unit/spec/meeting/in-meeting-actions.ts +89 -3
- package/test/unit/spec/meeting/index.js +3573 -1663
- package/test/unit/spec/meeting/locusMediaRequest.ts +438 -0
- package/test/unit/spec/meeting/muteState.js +370 -208
- package/test/unit/spec/meeting/request.js +339 -44
- package/test/unit/spec/meeting/utils.js +456 -53
- package/test/unit/spec/meeting-info/index.js +181 -0
- package/test/unit/spec/meeting-info/meetinginfov2.js +383 -5
- package/test/unit/spec/meeting-info/utilv2.js +21 -0
- package/test/unit/spec/meetings/collection.js +14 -0
- package/test/unit/spec/meetings/index.js +867 -125
- package/test/unit/spec/meetings/utils.js +206 -2
- package/test/unit/spec/member/index.js +58 -4
- package/test/unit/spec/member/util.js +479 -35
- package/test/unit/spec/members/index.js +319 -1
- package/test/unit/spec/members/request.js +206 -27
- package/test/unit/spec/members/utils.js +184 -0
- package/test/unit/spec/metrics/index.js +1 -50
- package/test/unit/spec/multistream/mediaRequestManager.ts +803 -162
- package/test/unit/spec/multistream/receiveSlot.ts +72 -13
- package/test/unit/spec/multistream/receiveSlotManager.ts +58 -28
- package/test/unit/spec/multistream/remoteMedia.ts +30 -0
- package/test/unit/spec/multistream/remoteMediaGroup.ts +266 -0
- package/test/unit/spec/multistream/remoteMediaManager.ts +318 -0
- package/test/unit/spec/networkQualityMonitor/index.js +4 -4
- package/test/unit/spec/reachability/index.ts +125 -8
- package/test/unit/spec/reachability/request.js +66 -0
- package/test/unit/spec/reconnection-manager/index.js +59 -6
- package/test/unit/spec/recording-controller/index.js +294 -218
- package/test/unit/spec/recording-controller/util.js +223 -96
- package/test/unit/spec/roap/index.ts +26 -51
- package/test/unit/spec/roap/request.ts +196 -85
- package/test/unit/spec/roap/turnDiscovery.ts +30 -7
- package/test/unit/spec/rtcMetrics/index.ts +60 -0
- package/test/unit/spec/stats-analyzer/index.js +92 -41
- package/test/utils/constants.js +9 -0
- package/test/utils/integrationTestUtils.js +46 -0
- package/test/utils/testUtils.js +0 -45
- package/test/utils/webex-config.js +4 -0
- package/test/utils/webex-test-users.js +6 -3
- package/dist/meeting/effectsState.js +0 -262
- package/dist/meeting/effectsState.js.map +0 -1
- package/dist/metrics/config.js +0 -299
- package/dist/metrics/config.js.map +0 -1
- package/dist/multistream/multistreamMedia.js +0 -110
- package/dist/multistream/multistreamMedia.js.map +0 -1
- package/src/index.js +0 -16
- package/src/meeting/effectsState.ts +0 -211
- package/src/metrics/config.ts +0 -495
- package/src/multistream/multistreamMedia.ts +0 -97
- package/test/unit/spec/meeting/effectsState.js +0 -285
|
@@ -0,0 +1,1482 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { StatelessWebexPlugin } from '@webex/webex-core';
|
|
3
|
+
import { ClientEvent } from '@webex/internal-plugin-metrics';
|
|
4
|
+
import { LocalTrack, LocalCameraTrack, LocalDisplayTrack, LocalSystemAudioTrack, LocalMicrophoneTrack, TrackMuteEvent } from '@webex/media-helpers';
|
|
5
|
+
import { StatsAnalyzer } from '../statsAnalyzer';
|
|
6
|
+
import NetworkQualityMonitor from '../networkQualityMonitor';
|
|
7
|
+
import Roap from '../roap/index';
|
|
8
|
+
import { type BundlePolicy } from '../media';
|
|
9
|
+
import MediaProperties from '../media/properties';
|
|
10
|
+
import ReconnectionManager from '../reconnection-manager';
|
|
11
|
+
import MeetingRequest from './request';
|
|
12
|
+
import Members from '../members/index';
|
|
13
|
+
import Transcription from '../transcription';
|
|
14
|
+
import { ReceiveSlotManager } from '../multistream/receiveSlotManager';
|
|
15
|
+
import { MediaRequestManager } from '../multistream/mediaRequestManager';
|
|
16
|
+
import { Configuration as RemoteMediaManagerConfiguration, RemoteMediaManager } from '../multistream/remoteMediaManager';
|
|
17
|
+
import { ReactionServerType, SkinToneType } from '../reactions/reactions.type';
|
|
18
|
+
import InMeetingActions from './in-meeting-actions';
|
|
19
|
+
import RecordingController from '../recording-controller';
|
|
20
|
+
import ControlsOptionsManager from '../controls-options-manager';
|
|
21
|
+
import { LocusMediaRequest } from './locusMediaRequest';
|
|
22
|
+
export type LocalTracks = {
|
|
23
|
+
microphone?: LocalMicrophoneTrack;
|
|
24
|
+
camera?: LocalCameraTrack;
|
|
25
|
+
screenShare?: {
|
|
26
|
+
audio?: LocalSystemAudioTrack;
|
|
27
|
+
video?: LocalDisplayTrack;
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
export type AddMediaOptions = {
|
|
31
|
+
localTracks?: LocalTracks;
|
|
32
|
+
audioEnabled?: boolean;
|
|
33
|
+
videoEnabled?: boolean;
|
|
34
|
+
receiveShare?: boolean;
|
|
35
|
+
remoteMediaManagerConfig?: RemoteMediaManagerConfiguration;
|
|
36
|
+
bundlePolicy?: BundlePolicy;
|
|
37
|
+
allowMediaInLobby?: boolean;
|
|
38
|
+
};
|
|
39
|
+
export declare const MEDIA_UPDATE_TYPE: {
|
|
40
|
+
TRANSCODED_MEDIA_CONNECTION: string;
|
|
41
|
+
SHARE_FLOOR_REQUEST: string;
|
|
42
|
+
UPDATE_MEDIA: string;
|
|
43
|
+
};
|
|
44
|
+
export declare enum ScreenShareFloorStatus {
|
|
45
|
+
PENDING = "floor_request_pending",
|
|
46
|
+
GRANTED = "floor_request_granted",
|
|
47
|
+
RELEASED = "floor_released"
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* MediaDirection
|
|
51
|
+
* @typedef {Object} MediaDirection
|
|
52
|
+
* @property {boolean} sendAudio
|
|
53
|
+
* @property {boolean} receiveAudio
|
|
54
|
+
* @property {boolean} sendVideo
|
|
55
|
+
* @property {boolean} receiveVideo
|
|
56
|
+
* @property {boolean} sendShare
|
|
57
|
+
* @property {boolean} receiveShare
|
|
58
|
+
* @property {boolean} isSharing
|
|
59
|
+
*/
|
|
60
|
+
/**
|
|
61
|
+
* SharePreferences
|
|
62
|
+
* @typedef {Object} SharePreferences
|
|
63
|
+
* @property {Object} [shareConstraints]
|
|
64
|
+
* @property {Boolean} [highFrameRate]
|
|
65
|
+
*/
|
|
66
|
+
/**
|
|
67
|
+
* JoinOptions
|
|
68
|
+
* @typedef {Object} JoinOptions
|
|
69
|
+
* @property {String} [resourceId]
|
|
70
|
+
* @property {String} [pin]
|
|
71
|
+
* @property {Boolean} [moderator]
|
|
72
|
+
* @property {String|Object} [meetingQuality]
|
|
73
|
+
* @property {String} [meetingQuality.remote]
|
|
74
|
+
* @property {Boolean} [rejoin]
|
|
75
|
+
* @property {Boolean} [enableMultistream]
|
|
76
|
+
*/
|
|
77
|
+
/**
|
|
78
|
+
* Recording
|
|
79
|
+
* @typedef {Object} Recording
|
|
80
|
+
* @property {Object} state
|
|
81
|
+
* @property {String} modifiedBy
|
|
82
|
+
*/
|
|
83
|
+
/**
|
|
84
|
+
* Meeting State Change Event
|
|
85
|
+
* Emitted when ever there is a meeting state change
|
|
86
|
+
* @event meeting:stateChange
|
|
87
|
+
* @instance
|
|
88
|
+
* @type {Object}
|
|
89
|
+
* @property {String} currentState current state of the meeting
|
|
90
|
+
* @property {String} previousState previous state of the meeting
|
|
91
|
+
* @memberof Meeting
|
|
92
|
+
*/
|
|
93
|
+
/**
|
|
94
|
+
* Media Ready Event
|
|
95
|
+
* Emitted when a stream is ready to be rendered
|
|
96
|
+
* @event media:ready
|
|
97
|
+
* @instance
|
|
98
|
+
* @type {Object}
|
|
99
|
+
* @property {MediaStream} stream the media stream
|
|
100
|
+
* @property {String} type what type of stream, remote, local
|
|
101
|
+
* @memberof Meeting
|
|
102
|
+
*/
|
|
103
|
+
/**
|
|
104
|
+
* Media Stopped Event
|
|
105
|
+
* Emitted when a stream has stopped sending
|
|
106
|
+
* @event media:stopped
|
|
107
|
+
* @instance
|
|
108
|
+
* @type {Object}
|
|
109
|
+
* @property {String} type what type of stream, remote, local
|
|
110
|
+
* @memberof Meeting
|
|
111
|
+
*/
|
|
112
|
+
/**
|
|
113
|
+
* Meeting Ringing Event
|
|
114
|
+
* Emitted when this client should play a ringing sound, because this member is getting an incoming meeting
|
|
115
|
+
* or sending out an incoming meeting
|
|
116
|
+
* @event meeting:ringing
|
|
117
|
+
* @instance
|
|
118
|
+
* @type {Object}
|
|
119
|
+
* @property {String} type // INCOMING or JOIN
|
|
120
|
+
* @property {String} id
|
|
121
|
+
* @memberof Meeting
|
|
122
|
+
*/
|
|
123
|
+
/**
|
|
124
|
+
* Meeting Ringing Stop Event
|
|
125
|
+
* Emitted when this client should stop playing a ringing sound
|
|
126
|
+
* @event meeting:ringingStop
|
|
127
|
+
* @instance
|
|
128
|
+
* @type {Object}
|
|
129
|
+
* @property {Object} type
|
|
130
|
+
* @property {Boolean} type.remoteAnswered
|
|
131
|
+
* @property {Boolean} type.remoteDeclined
|
|
132
|
+
* @property {String} id
|
|
133
|
+
* @memberof Meeting
|
|
134
|
+
*/
|
|
135
|
+
/**
|
|
136
|
+
* Meeting Started Sharing Local Event
|
|
137
|
+
* Emitted when this member starts sharing
|
|
138
|
+
* @event meeting:startedSharingLocal
|
|
139
|
+
* @instance
|
|
140
|
+
* @type {Object}
|
|
141
|
+
* @memberof Meeting
|
|
142
|
+
*/
|
|
143
|
+
/**
|
|
144
|
+
* Meeting Stopped Sharing Local Event
|
|
145
|
+
* Emitted when this member stops sharing
|
|
146
|
+
* @event meeting:stoppedSharingLocal
|
|
147
|
+
* @instance
|
|
148
|
+
* @type {Object}
|
|
149
|
+
* @memberof Meeting
|
|
150
|
+
*/
|
|
151
|
+
/**
|
|
152
|
+
* Meeting Started Sharing Remote Event
|
|
153
|
+
* Emitted when remote sharing starts
|
|
154
|
+
* @event meeting:startedSharingRemote
|
|
155
|
+
* @instance
|
|
156
|
+
* @type {Object}
|
|
157
|
+
* @property {Boolean} memberId id of the meeting member that started screen share
|
|
158
|
+
* @property {String} url of this content share
|
|
159
|
+
* @property {String} shareInstanceId of this content share
|
|
160
|
+
* @property {Object} annotation Info of this content share
|
|
161
|
+
* @memberof Meeting
|
|
162
|
+
*
|
|
163
|
+
*/
|
|
164
|
+
/**
|
|
165
|
+
* Meeting Stopped Sharing Remote Event
|
|
166
|
+
* Emitted when remote screen sharing ends
|
|
167
|
+
* @event meeting:stoppedSharingRemote
|
|
168
|
+
* @instance
|
|
169
|
+
* @type {Object}
|
|
170
|
+
* @memberof Meeting
|
|
171
|
+
*/
|
|
172
|
+
/**
|
|
173
|
+
* Meeting Locked Event
|
|
174
|
+
* Emitted when a meeting is locked
|
|
175
|
+
* @event meeting:locked
|
|
176
|
+
* @instance
|
|
177
|
+
* @type {Object}
|
|
178
|
+
* @property {Object} info
|
|
179
|
+
* @memberof Meeting
|
|
180
|
+
*/
|
|
181
|
+
/**
|
|
182
|
+
* Meeting Unlocked Event
|
|
183
|
+
* Emitted when a meeting is unlocked
|
|
184
|
+
* @event meeting:unlocked
|
|
185
|
+
* @instance
|
|
186
|
+
* @type {Object}
|
|
187
|
+
* @property {Object} info
|
|
188
|
+
* @memberof Meeting
|
|
189
|
+
*/
|
|
190
|
+
/**
|
|
191
|
+
* Meeting Actions Update Event
|
|
192
|
+
* Emitted when a user can take actions on a meeting such as lock, unlock, assign host
|
|
193
|
+
* @event meeting:actionsUpdate
|
|
194
|
+
* @instance
|
|
195
|
+
* @type {Object}
|
|
196
|
+
* @property {Boolean} canLock
|
|
197
|
+
* @property {Boolean} canUnlock
|
|
198
|
+
* @property {Boolean} canAssignHost
|
|
199
|
+
* @memberof Meeting
|
|
200
|
+
*/
|
|
201
|
+
/**
|
|
202
|
+
* Meeting Unmuted By Others Event
|
|
203
|
+
* Emitted when a member is unmuted by another member
|
|
204
|
+
* @event meeting:self:unmutedByOthers
|
|
205
|
+
* @instance
|
|
206
|
+
* @type {Object}
|
|
207
|
+
* @property {Object} payload
|
|
208
|
+
* @memberof Meeting
|
|
209
|
+
*/
|
|
210
|
+
/**
|
|
211
|
+
* Meeting Muted By Others Event
|
|
212
|
+
* Emitted when a member is muted by another member
|
|
213
|
+
* @event meeting:self:mutedByOthers
|
|
214
|
+
* @instance
|
|
215
|
+
* @type {Object}
|
|
216
|
+
* @property {Object} payload
|
|
217
|
+
* @property {Boolean} payload.unmuteAllowed - whether the user is allowed to unmute self
|
|
218
|
+
* @memberof Meeting
|
|
219
|
+
*/
|
|
220
|
+
/**
|
|
221
|
+
* Meeting Muted By Others Event
|
|
222
|
+
* Emitted when the host(moderator)/co-host requests a user to unmute
|
|
223
|
+
* @event meeting:self:requestedToUnmute
|
|
224
|
+
* @instance
|
|
225
|
+
* @type {Object}
|
|
226
|
+
* @property {Object} payload
|
|
227
|
+
* @memberof Meeting
|
|
228
|
+
*/
|
|
229
|
+
/**
|
|
230
|
+
* Meeting Self Guest Admitted Event
|
|
231
|
+
* Emitted when a joined user get admitted to the meeting by another member or host
|
|
232
|
+
* @event meeting:self:guestAdmitted
|
|
233
|
+
* @instance
|
|
234
|
+
* @type {Object}
|
|
235
|
+
* @property {Object} payload
|
|
236
|
+
* @memberof Meeting
|
|
237
|
+
*/
|
|
238
|
+
/**
|
|
239
|
+
* Meeting Self Lobby Waiting Event
|
|
240
|
+
* Emitted when joined user enters the lobby and is waiting for the webex meeting to begin
|
|
241
|
+
* @event meeting:self:lobbyWaiting
|
|
242
|
+
* @instance
|
|
243
|
+
* @type {Object}
|
|
244
|
+
* @property {Object} reason Reason why user left the meeting
|
|
245
|
+
* @memberof Meeting
|
|
246
|
+
*/
|
|
247
|
+
/**
|
|
248
|
+
* Meeting Self Left State
|
|
249
|
+
* Emitted when user is inactive for more then 40 seconds, User can rejoin the meeting again
|
|
250
|
+
* @event meeting:self:left
|
|
251
|
+
* @instance
|
|
252
|
+
* @type {Object}
|
|
253
|
+
* @property {Object} payload
|
|
254
|
+
* @memberof Meeting
|
|
255
|
+
*/
|
|
256
|
+
/**
|
|
257
|
+
* Reconnection Starting Event
|
|
258
|
+
* Emitted when reconnection of media to the active meeting was successful
|
|
259
|
+
* @event meeting:reconnectionStarting
|
|
260
|
+
* @instance
|
|
261
|
+
* @memberof Meeting
|
|
262
|
+
*/
|
|
263
|
+
/**
|
|
264
|
+
* Reconnection Success Event
|
|
265
|
+
* Emitted when reconnection of media to the active meeting was successful
|
|
266
|
+
* @event meeting:reconnectionSuccess
|
|
267
|
+
* @instance
|
|
268
|
+
* @type {Object}
|
|
269
|
+
* @property {Object} reconnect
|
|
270
|
+
* @memberof Meeting
|
|
271
|
+
*/
|
|
272
|
+
/**
|
|
273
|
+
* Reconnection Failure Event
|
|
274
|
+
* Emitted when reconnection of media to the active meeting was successful
|
|
275
|
+
* @event meeting:reconnectionFailure
|
|
276
|
+
* @instance
|
|
277
|
+
* @type {Object}
|
|
278
|
+
* @property {Error} error
|
|
279
|
+
* @memberof Meeting
|
|
280
|
+
*/
|
|
281
|
+
/**
|
|
282
|
+
* Meeting network quality event
|
|
283
|
+
* Emitted on each interval of retrieving stats Analyzer data
|
|
284
|
+
* @event network:quality
|
|
285
|
+
* @type {Object}
|
|
286
|
+
* @property {string} mediaType {video|audio}
|
|
287
|
+
* @property {number} networkQualityScore - {1|0} 1 indicates acceptable uplink 0 indicates unacceptable uplink based on threshold
|
|
288
|
+
* @memberof Meeting
|
|
289
|
+
*/
|
|
290
|
+
/**
|
|
291
|
+
* @description Meeting is the crux of the plugin
|
|
292
|
+
* @export
|
|
293
|
+
* @class Meeting
|
|
294
|
+
*/
|
|
295
|
+
export default class Meeting extends StatelessWebexPlugin {
|
|
296
|
+
attrs: any;
|
|
297
|
+
audio: any;
|
|
298
|
+
breakouts: any;
|
|
299
|
+
simultaneousInterpretation: any;
|
|
300
|
+
annotation: any;
|
|
301
|
+
conversationUrl: string;
|
|
302
|
+
correlationId: string;
|
|
303
|
+
destination: string;
|
|
304
|
+
destinationType: string;
|
|
305
|
+
deviceUrl: string;
|
|
306
|
+
hostId: string;
|
|
307
|
+
id: string;
|
|
308
|
+
isMultistream: boolean;
|
|
309
|
+
locusUrl: string;
|
|
310
|
+
mediaConnections: any[];
|
|
311
|
+
mediaId?: string;
|
|
312
|
+
meetingFiniteStateMachine: any;
|
|
313
|
+
meetingInfo: any;
|
|
314
|
+
meetingRequest: MeetingRequest;
|
|
315
|
+
members: Members;
|
|
316
|
+
options: object;
|
|
317
|
+
orgId: string;
|
|
318
|
+
owner: string;
|
|
319
|
+
partner: any;
|
|
320
|
+
policy: string;
|
|
321
|
+
reconnectionManager: ReconnectionManager;
|
|
322
|
+
resource: string;
|
|
323
|
+
roap: Roap;
|
|
324
|
+
roapSeq: number;
|
|
325
|
+
selfUrl?: string;
|
|
326
|
+
sipUri: string;
|
|
327
|
+
type: string;
|
|
328
|
+
userId: string;
|
|
329
|
+
video: any;
|
|
330
|
+
callEvents: any[];
|
|
331
|
+
datachannelUrl: string;
|
|
332
|
+
deferJoin: Promise<any>;
|
|
333
|
+
dialInDeviceStatus: string;
|
|
334
|
+
dialInUrl: string;
|
|
335
|
+
dialOutDeviceStatus: string;
|
|
336
|
+
dialOutUrl: string;
|
|
337
|
+
fetchMeetingInfoTimeoutId: NodeJS.Timeout;
|
|
338
|
+
floorGrantPending: boolean;
|
|
339
|
+
hasJoinedOnce: boolean;
|
|
340
|
+
hasWebsocketConnected: boolean;
|
|
341
|
+
inMeetingActions: InMeetingActions;
|
|
342
|
+
isLocalShareLive: boolean;
|
|
343
|
+
isRoapInProgress: boolean;
|
|
344
|
+
keepAliveTimerId: NodeJS.Timeout;
|
|
345
|
+
lastVideoLayoutInfo: any;
|
|
346
|
+
locusInfo: any;
|
|
347
|
+
locusMediaRequest?: LocusMediaRequest;
|
|
348
|
+
mediaProperties: MediaProperties;
|
|
349
|
+
mediaRequestManagers: {
|
|
350
|
+
audio: MediaRequestManager;
|
|
351
|
+
video: MediaRequestManager;
|
|
352
|
+
screenShareAudio: MediaRequestManager;
|
|
353
|
+
screenShareVideo: MediaRequestManager;
|
|
354
|
+
};
|
|
355
|
+
meetingInfoFailureReason: string;
|
|
356
|
+
meetingInfoFailureCode?: number;
|
|
357
|
+
networkQualityMonitor: NetworkQualityMonitor;
|
|
358
|
+
networkStatus: string;
|
|
359
|
+
passwordStatus: string;
|
|
360
|
+
queuedMediaUpdates: any[];
|
|
361
|
+
recording: any;
|
|
362
|
+
remoteMediaManager: RemoteMediaManager | null;
|
|
363
|
+
recordingController: RecordingController;
|
|
364
|
+
controlsOptionsManager: ControlsOptionsManager;
|
|
365
|
+
requiredCaptcha: any;
|
|
366
|
+
receiveSlotManager: ReceiveSlotManager;
|
|
367
|
+
selfUserPolicies: any;
|
|
368
|
+
shareStatus: string;
|
|
369
|
+
screenShareFloorState: ScreenShareFloorStatus;
|
|
370
|
+
statsAnalyzer: StatsAnalyzer;
|
|
371
|
+
transcription: Transcription;
|
|
372
|
+
updateMediaConnections: (mediaConnections: any[]) => void;
|
|
373
|
+
userDisplayHints: any;
|
|
374
|
+
endCallInitJoinReq: any;
|
|
375
|
+
endJoinReqResp: any;
|
|
376
|
+
endLocalSDPGenRemoteSDPRecvDelay: any;
|
|
377
|
+
joinedWith: any;
|
|
378
|
+
locusId: any;
|
|
379
|
+
startCallInitJoinReq: any;
|
|
380
|
+
startJoinReqResp: any;
|
|
381
|
+
startLocalSDPGenRemoteSDPRecvDelay: any;
|
|
382
|
+
wirelessShare: any;
|
|
383
|
+
guest: any;
|
|
384
|
+
meetingJoinUrl: any;
|
|
385
|
+
meetingNumber: any;
|
|
386
|
+
meetingState: any;
|
|
387
|
+
permissionToken: any;
|
|
388
|
+
resourceId: any;
|
|
389
|
+
resourceUrl: string;
|
|
390
|
+
selfId: string;
|
|
391
|
+
state: any;
|
|
392
|
+
localAudioTrackMuteStateHandler: (event: TrackMuteEvent) => void;
|
|
393
|
+
localVideoTrackMuteStateHandler: (event: TrackMuteEvent) => void;
|
|
394
|
+
underlyingLocalTrackChangeHandler: () => void;
|
|
395
|
+
roles: any[];
|
|
396
|
+
environment: string;
|
|
397
|
+
namespace: string;
|
|
398
|
+
allowMediaInLobby: boolean;
|
|
399
|
+
/**
|
|
400
|
+
* @param {Object} attrs
|
|
401
|
+
* @param {Object} options
|
|
402
|
+
* @constructor
|
|
403
|
+
* @memberof Meeting
|
|
404
|
+
*/
|
|
405
|
+
constructor(attrs: any, options: object);
|
|
406
|
+
/**
|
|
407
|
+
* returns meeting is joined
|
|
408
|
+
* @private
|
|
409
|
+
* @memberof Meeting
|
|
410
|
+
* @returns {Boolean}
|
|
411
|
+
*/
|
|
412
|
+
private isJoined;
|
|
413
|
+
/**
|
|
414
|
+
* Returns whether this meeting is a Locus CALL
|
|
415
|
+
* @returns {Boolean}
|
|
416
|
+
*/
|
|
417
|
+
isLocusCall(): boolean;
|
|
418
|
+
/**
|
|
419
|
+
* Fetches meeting information.
|
|
420
|
+
* @param {Object} options
|
|
421
|
+
* @param {String} [options.password] optional
|
|
422
|
+
* @param {String} [options.captchaCode] optional
|
|
423
|
+
* @public
|
|
424
|
+
* @memberof Meeting
|
|
425
|
+
* @returns {Promise}
|
|
426
|
+
*/
|
|
427
|
+
fetchMeetingInfo({ password, captchaCode, extraParams, }: {
|
|
428
|
+
password?: string;
|
|
429
|
+
captchaCode?: string;
|
|
430
|
+
extraParams?: Record<string, any>;
|
|
431
|
+
}): Promise<void>;
|
|
432
|
+
/**
|
|
433
|
+
* Checks if the supplied password/host key is correct. It returns a promise with information whether the
|
|
434
|
+
* password and captcha code were correct or not.
|
|
435
|
+
* @param {String} password - this can be either a password or a host key, can be undefined if only captcha was required
|
|
436
|
+
* @param {String} captchaCode - can be undefined if captcha was not required by the server
|
|
437
|
+
* @public
|
|
438
|
+
* @memberof Meeting
|
|
439
|
+
* @returns {Promise<{isPasswordValid: boolean, requiredCaptcha: boolean, failureReason: MEETING_INFO_FAILURE_REASON}>}
|
|
440
|
+
*/
|
|
441
|
+
verifyPassword(password: string, captchaCode: string): Promise<{
|
|
442
|
+
isPasswordValid: boolean;
|
|
443
|
+
requiredCaptcha: any;
|
|
444
|
+
failureReason: string;
|
|
445
|
+
} | {
|
|
446
|
+
isPasswordValid: boolean;
|
|
447
|
+
requiredCaptcha: any;
|
|
448
|
+
failureReason: string;
|
|
449
|
+
}>;
|
|
450
|
+
/**
|
|
451
|
+
* Refreshes the captcha. As a result the meeting will have new captcha id, image and audio.
|
|
452
|
+
* If the refresh operation fails, meeting remains with the old captcha properties.
|
|
453
|
+
* @public
|
|
454
|
+
* @memberof Meeting
|
|
455
|
+
* @returns {Promise}
|
|
456
|
+
*/
|
|
457
|
+
refreshCaptcha(): any;
|
|
458
|
+
/**
|
|
459
|
+
* Posts metrics event for this meeting. Allows the app to send Call Analyzer events.
|
|
460
|
+
* @param {String} eventName - Call Analyzer event
|
|
461
|
+
* @public
|
|
462
|
+
* @memberof Meeting
|
|
463
|
+
* @returns {Promise}
|
|
464
|
+
*/
|
|
465
|
+
postMetrics(eventName: ClientEvent['name']): void;
|
|
466
|
+
/**
|
|
467
|
+
* Proxy function for all the listener set ups
|
|
468
|
+
* @returns {undefined}
|
|
469
|
+
* @private
|
|
470
|
+
* @memberof Meeting
|
|
471
|
+
*/
|
|
472
|
+
private setUpLocusInfoListeners;
|
|
473
|
+
/**
|
|
474
|
+
* Set up the listeners for breakouts
|
|
475
|
+
* @returns {undefined}
|
|
476
|
+
* @private
|
|
477
|
+
* @memberof Meeting
|
|
478
|
+
*/
|
|
479
|
+
setUpBreakoutsListener(): void;
|
|
480
|
+
/**
|
|
481
|
+
* Set up the listeners for interpretation
|
|
482
|
+
* @returns {undefined}
|
|
483
|
+
* @private
|
|
484
|
+
* @memberof Meeting
|
|
485
|
+
*/
|
|
486
|
+
private setUpInterpretationListener;
|
|
487
|
+
/**
|
|
488
|
+
* Set up the locus info listener for meetings disconnected due to inactivity
|
|
489
|
+
* @returns {undefined}
|
|
490
|
+
* @private
|
|
491
|
+
* @memberof Meeting
|
|
492
|
+
*/
|
|
493
|
+
private setUpLocusInfoMediaInactiveListener;
|
|
494
|
+
/**
|
|
495
|
+
* Set up the locus info listener for assign host permissions on a meeting
|
|
496
|
+
* @returns {undefined}
|
|
497
|
+
* @private
|
|
498
|
+
* @memberof Meeting
|
|
499
|
+
*/
|
|
500
|
+
private setUpLocusInfoAssignHostListener;
|
|
501
|
+
/**
|
|
502
|
+
* Set up the internal locus info full state object listener
|
|
503
|
+
* @returns {undefined}
|
|
504
|
+
* @private
|
|
505
|
+
* @memberof Meeting
|
|
506
|
+
*/
|
|
507
|
+
private setUpLocusFullStateListener;
|
|
508
|
+
/**
|
|
509
|
+
* sets the network status on meeting object
|
|
510
|
+
* @param {String} networkStatus
|
|
511
|
+
* @private
|
|
512
|
+
* @returns {undefined}
|
|
513
|
+
* @memberof Meeting
|
|
514
|
+
*/
|
|
515
|
+
private setNetworkStatus;
|
|
516
|
+
/**
|
|
517
|
+
* Set up the locus info self listener
|
|
518
|
+
* update self value for members and updates the member
|
|
519
|
+
* notifies consumer with members:self:update {activeSelfId endedSelfId}
|
|
520
|
+
* @returns {undefined}
|
|
521
|
+
* @private
|
|
522
|
+
* @memberof Meeting
|
|
523
|
+
*/
|
|
524
|
+
private setUpLocusSelfListener;
|
|
525
|
+
/**
|
|
526
|
+
* Notify any changes on the pstn devices
|
|
527
|
+
* @param {Object} payload
|
|
528
|
+
* @returns {undefined}
|
|
529
|
+
* @private
|
|
530
|
+
* @memberof Meeting
|
|
531
|
+
*/
|
|
532
|
+
private pstnUpdate;
|
|
533
|
+
/**
|
|
534
|
+
* Set up the locus info host listener
|
|
535
|
+
* update host value for members and updates the member
|
|
536
|
+
* notifies consumer with members:host:update: {activeHostId, endedHostId}
|
|
537
|
+
* @returns {undefined}
|
|
538
|
+
* @private
|
|
539
|
+
* @memberof Meeting
|
|
540
|
+
*/
|
|
541
|
+
private setUpLocusHostListener;
|
|
542
|
+
/**
|
|
543
|
+
* Set up the locus info participants update listener
|
|
544
|
+
* update members collection value for members
|
|
545
|
+
* notifies consumer with members:update
|
|
546
|
+
* @returns {undefined}
|
|
547
|
+
* @private
|
|
548
|
+
* @memberof Meeting
|
|
549
|
+
*/
|
|
550
|
+
private setUpLocusParticipantsListener;
|
|
551
|
+
/**
|
|
552
|
+
* Set up the locus info recording update listener
|
|
553
|
+
* update recording value for the meeting
|
|
554
|
+
* notifies consumer with:
|
|
555
|
+
* meeting:recording:started
|
|
556
|
+
* meeting:recording:stopped
|
|
557
|
+
* meeting:recording:paused
|
|
558
|
+
* meeting:recording:resumed
|
|
559
|
+
*
|
|
560
|
+
* Set up the locus info meeeting container listener
|
|
561
|
+
* update meetingContainerUrl value for the meeting
|
|
562
|
+
* notifies consumer with:
|
|
563
|
+
* meeting:meetingContainer:update
|
|
564
|
+
*
|
|
565
|
+
* @returns {undefined}
|
|
566
|
+
* @private
|
|
567
|
+
* @memberof Meeting
|
|
568
|
+
*/
|
|
569
|
+
private setupLocusControlsListener;
|
|
570
|
+
/**
|
|
571
|
+
* Trigger annotation info update event
|
|
572
|
+
@returns {undefined}
|
|
573
|
+
@param {object} contentShare
|
|
574
|
+
@param {object} previousContentShare
|
|
575
|
+
*/
|
|
576
|
+
private triggerAnnotationInfoEvent;
|
|
577
|
+
/**
|
|
578
|
+
* Set up the locus info media shares listener
|
|
579
|
+
* update content and whiteboard sharing id value for members, and updates the member
|
|
580
|
+
* notifies consumer with members:content:update {activeContentSharingId, endedContentSharingId}
|
|
581
|
+
* @returns {undefined}
|
|
582
|
+
* @private
|
|
583
|
+
* @memberof Meeting
|
|
584
|
+
*/
|
|
585
|
+
private setUpLocusMediaSharesListener;
|
|
586
|
+
/**
|
|
587
|
+
* Set up the locus info url listener
|
|
588
|
+
* update locus_url value for members
|
|
589
|
+
* @returns {undefined}
|
|
590
|
+
* @private
|
|
591
|
+
* @memberof Meeting
|
|
592
|
+
*/
|
|
593
|
+
private setUpLocusUrlListener;
|
|
594
|
+
/**
|
|
595
|
+
* Set up the locus info service link listener
|
|
596
|
+
* update the locusInfo for recording controller
|
|
597
|
+
* does not currently re-emit the event as it's internal only
|
|
598
|
+
* payload is unused
|
|
599
|
+
* @returns {undefined}
|
|
600
|
+
* @private
|
|
601
|
+
* @memberof Meeting
|
|
602
|
+
*/
|
|
603
|
+
private setUpLocusServicesListener;
|
|
604
|
+
/**
|
|
605
|
+
* Set up the locus info meeting info listener
|
|
606
|
+
* @returns {undefined}
|
|
607
|
+
* @private
|
|
608
|
+
* @memberof meeting
|
|
609
|
+
*/
|
|
610
|
+
private setUpLocusInfoMeetingInfoListener;
|
|
611
|
+
/**
|
|
612
|
+
* Handles a data channel URL change
|
|
613
|
+
* @param {String} datachannelUrl
|
|
614
|
+
* @returns {void}
|
|
615
|
+
*/
|
|
616
|
+
handleDataChannelUrlChange(datachannelUrl: any): void;
|
|
617
|
+
/**
|
|
618
|
+
* Set up the locus info embedded apps listener
|
|
619
|
+
* @returns {undefined}
|
|
620
|
+
* @private
|
|
621
|
+
* @memberof meeting
|
|
622
|
+
*/
|
|
623
|
+
private setUpLocusEmbeddedAppsListener;
|
|
624
|
+
/**
|
|
625
|
+
* Internal function to listen to the self object changes
|
|
626
|
+
* @returns {undefined}
|
|
627
|
+
* @private
|
|
628
|
+
* @memberof Meeting
|
|
629
|
+
*/
|
|
630
|
+
private setUpLocusInfoSelfListener;
|
|
631
|
+
/**
|
|
632
|
+
* Add LocusInfo nested object listeners (from child to parent)
|
|
633
|
+
* @returns {undefined}
|
|
634
|
+
* @private
|
|
635
|
+
* @memberof Meeting
|
|
636
|
+
*/
|
|
637
|
+
private setUpLocusInfoMeetingListener;
|
|
638
|
+
/**
|
|
639
|
+
* Set meeting values rather than events
|
|
640
|
+
* @param {Object} object
|
|
641
|
+
* @returns {undefined}
|
|
642
|
+
* @private
|
|
643
|
+
* @memberof Meeting
|
|
644
|
+
* // TODO: is this function necessary?
|
|
645
|
+
*/
|
|
646
|
+
private updateMeetingObject;
|
|
647
|
+
/**
|
|
648
|
+
* Invite a guest to the call that isn't normally part of this call
|
|
649
|
+
* @param {Object} invitee
|
|
650
|
+
* @param {String} invitee.emailAddress
|
|
651
|
+
* @param {String} invitee.email
|
|
652
|
+
* @param {String} invitee.phoneNumber
|
|
653
|
+
* @param {Boolean} [alertIfActive]
|
|
654
|
+
* @returns {Promise} see #members.addMember
|
|
655
|
+
* @public
|
|
656
|
+
* @memberof Meeting
|
|
657
|
+
*/
|
|
658
|
+
invite(invitee: {
|
|
659
|
+
emailAddress: string;
|
|
660
|
+
email: string;
|
|
661
|
+
phoneNumber: string;
|
|
662
|
+
}, alertIfActive?: boolean): any;
|
|
663
|
+
/**
|
|
664
|
+
* Cancel an outgoing phone call invitation made during a meeting
|
|
665
|
+
* @param {Object} invitee
|
|
666
|
+
* @param {String} invitee.phoneNumber
|
|
667
|
+
* @returns {Promise} see #members.cancelPhoneInvite
|
|
668
|
+
* @public
|
|
669
|
+
* @memberof Meeting
|
|
670
|
+
*/
|
|
671
|
+
cancelPhoneInvite(invitee: {
|
|
672
|
+
phoneNumber: string;
|
|
673
|
+
}): any;
|
|
674
|
+
/**
|
|
675
|
+
* Admit the guest(s) to the call once they are waiting.
|
|
676
|
+
* If the host/cohost is in a breakout session, the locus url
|
|
677
|
+
* of the session must be provided as the authorizingLocusUrl.
|
|
678
|
+
* Regardless of host/cohost location, the locus Id (lid) in
|
|
679
|
+
* the path should be the locus Id of the main, which means the
|
|
680
|
+
* locus url of the api call must be from the main session.
|
|
681
|
+
* If these loucs urls are not provided, the function will do the check.
|
|
682
|
+
* @param {Array} memberIds
|
|
683
|
+
* @param {Object} sessionLocusUrls: {authorizingLocusUrl, mainLocusUrl}
|
|
684
|
+
* @returns {Promise} see #members.admitMembers
|
|
685
|
+
* @public
|
|
686
|
+
* @memberof Meeting
|
|
687
|
+
*/
|
|
688
|
+
admit(memberIds: Array<any>, sessionLocusUrls?: {
|
|
689
|
+
authorizingLocusUrl: string;
|
|
690
|
+
mainLocusUrl: string;
|
|
691
|
+
}): any;
|
|
692
|
+
/**
|
|
693
|
+
* Remove the member from the meeting, boot them
|
|
694
|
+
* @param {String} memberId
|
|
695
|
+
* @returns {Promise} see #members.removeMember
|
|
696
|
+
* @public
|
|
697
|
+
* @memberof Meeting
|
|
698
|
+
*/
|
|
699
|
+
remove(memberId: string): any;
|
|
700
|
+
/**
|
|
701
|
+
* Mute another member from the meeting
|
|
702
|
+
* @param {String} memberId
|
|
703
|
+
* @param {Boolean} mute
|
|
704
|
+
* @returns {Promise} see #members.muteMember
|
|
705
|
+
* @public
|
|
706
|
+
* @memberof Meeting
|
|
707
|
+
*/
|
|
708
|
+
mute(memberId: string, mute?: boolean): any;
|
|
709
|
+
/**
|
|
710
|
+
* Transfer the moderator role to another eligible member
|
|
711
|
+
* @param {String} memberId
|
|
712
|
+
* @param {Boolean} moderator
|
|
713
|
+
* @returns {Promise} see #members.transferHostToMember
|
|
714
|
+
* @public
|
|
715
|
+
* @memberof Meeting
|
|
716
|
+
*/
|
|
717
|
+
transfer(memberId: string, moderator?: boolean): any;
|
|
718
|
+
/**
|
|
719
|
+
* Reference to the Members object
|
|
720
|
+
* @returns {Members}
|
|
721
|
+
* @public
|
|
722
|
+
* @memberof Meeting
|
|
723
|
+
*/
|
|
724
|
+
getMembers(): Members;
|
|
725
|
+
/**
|
|
726
|
+
* Sets the meeting info on the class instance
|
|
727
|
+
* @param {Object} meetingInfo
|
|
728
|
+
* @param {Object} meetingInfo.body
|
|
729
|
+
* @param {String} meetingInfo.body.conversationUrl
|
|
730
|
+
* @param {String} meetingInfo.body.locusUrl
|
|
731
|
+
* @param {String} meetingInfo.body.sipUri
|
|
732
|
+
* @param {Object} meetingInfo.body.owner
|
|
733
|
+
* @param {Object | String} destination locus object with meeting data or destination string (sip url, meeting link, etc)
|
|
734
|
+
* @returns {undefined}
|
|
735
|
+
* @private
|
|
736
|
+
* @memberof Meeting
|
|
737
|
+
*/
|
|
738
|
+
parseMeetingInfo(meetingInfo: {
|
|
739
|
+
body: {
|
|
740
|
+
conversationUrl: string;
|
|
741
|
+
locusUrl: string;
|
|
742
|
+
sipUri: string;
|
|
743
|
+
owner: object;
|
|
744
|
+
};
|
|
745
|
+
} | any, destination?: object | string | null): void;
|
|
746
|
+
/**
|
|
747
|
+
* Indicates whether policy can be applied
|
|
748
|
+
* @returns {boolean}
|
|
749
|
+
*/
|
|
750
|
+
private arePolicyRestrictionsSupported;
|
|
751
|
+
/**
|
|
752
|
+
* Updates the meeting actions (display hints), depends on locus display hints, user policy and app api info
|
|
753
|
+
* @returns {undefined}
|
|
754
|
+
* @private
|
|
755
|
+
* @memberof Meeting
|
|
756
|
+
*/
|
|
757
|
+
private updateMeetingActions;
|
|
758
|
+
/**
|
|
759
|
+
* Sets the self user policies based on the contents of the permission token
|
|
760
|
+
* @param {String} permissionToken
|
|
761
|
+
* @returns {void}
|
|
762
|
+
*/
|
|
763
|
+
setSelfUserPolicies(permissionToken: string): void;
|
|
764
|
+
/**
|
|
765
|
+
* Sets the sip uri on the class instance
|
|
766
|
+
* uses meeting info as precedence
|
|
767
|
+
* @param {String} sipUri
|
|
768
|
+
* @returns {undefined}
|
|
769
|
+
* @private
|
|
770
|
+
* @memberof Meeting
|
|
771
|
+
*/
|
|
772
|
+
setSipUri(sipUri: string): void;
|
|
773
|
+
/**
|
|
774
|
+
* Set the locus info the class instance
|
|
775
|
+
* @param {Object} locus
|
|
776
|
+
* @param {Array} locus.mediaConnections
|
|
777
|
+
* @param {String} locus.locusUrl
|
|
778
|
+
* @param {String} locus.locusId
|
|
779
|
+
* @param {String} locus.mediaId
|
|
780
|
+
* @param {Object} locus.host
|
|
781
|
+
* @todo change name to genertic parser
|
|
782
|
+
* @returns {undefined}
|
|
783
|
+
* @private
|
|
784
|
+
* @memberof Meeting
|
|
785
|
+
*/
|
|
786
|
+
setLocus(locus: {
|
|
787
|
+
mediaConnections: Array<any>;
|
|
788
|
+
locusUrl: string;
|
|
789
|
+
locusId: string;
|
|
790
|
+
mediaId: string;
|
|
791
|
+
host: object;
|
|
792
|
+
} | any): void;
|
|
793
|
+
/**
|
|
794
|
+
* Upload logs for the current meeting
|
|
795
|
+
* @param {object} options file name and function name
|
|
796
|
+
* @returns {undefined}
|
|
797
|
+
* @public
|
|
798
|
+
* @memberof Meeting
|
|
799
|
+
*/
|
|
800
|
+
uploadLogs(options?: object): void;
|
|
801
|
+
/**
|
|
802
|
+
* Removes remote audio, video and share tracks from class instance's mediaProperties
|
|
803
|
+
* @returns {undefined}
|
|
804
|
+
*/
|
|
805
|
+
unsetRemoteTracks(): void;
|
|
806
|
+
/**
|
|
807
|
+
* Removes the remote stream on the class instance and triggers an event
|
|
808
|
+
* to developers
|
|
809
|
+
* @returns {undefined}
|
|
810
|
+
* @public
|
|
811
|
+
* @memberof Meeting
|
|
812
|
+
* @deprecated after v1.89.3
|
|
813
|
+
*/
|
|
814
|
+
closeRemoteStream(): void;
|
|
815
|
+
/**
|
|
816
|
+
* Removes the remote tracks on the class instance and triggers an event
|
|
817
|
+
* to developers
|
|
818
|
+
* @returns {undefined}
|
|
819
|
+
* @memberof Meeting
|
|
820
|
+
*/
|
|
821
|
+
closeRemoteTracks(): Promise<[any, any, any]>;
|
|
822
|
+
/**
|
|
823
|
+
* Stores the reference to a new microphone track, sets up the required event listeners
|
|
824
|
+
* on it, cleans up previous track, etc.
|
|
825
|
+
*
|
|
826
|
+
* @param {LocalMicrophoneTrack | null} localTrack local microphone track
|
|
827
|
+
* @returns {Promise<void>}
|
|
828
|
+
*/
|
|
829
|
+
private setLocalAudioTrack;
|
|
830
|
+
/**
|
|
831
|
+
* Stores the reference to a new camera track, sets up the required event listeners
|
|
832
|
+
* on it, cleans up previous track, etc.
|
|
833
|
+
*
|
|
834
|
+
* @param {LocalCameraTrack | null} localTrack local camera track
|
|
835
|
+
* @returns {Promise<void>}
|
|
836
|
+
*/
|
|
837
|
+
private setLocalVideoTrack;
|
|
838
|
+
/**
|
|
839
|
+
* Stores the reference to a new screen share video track, sets up the required event listeners
|
|
840
|
+
* on it, cleans up previous track, etc.
|
|
841
|
+
*
|
|
842
|
+
* @param {LocalDisplayTrack | undefined} localDisplayTrack local camera track
|
|
843
|
+
* @returns {Promise<void>}
|
|
844
|
+
*/
|
|
845
|
+
private setLocalShareVideoTrack;
|
|
846
|
+
/**
|
|
847
|
+
* Stores the reference to a new screen share audio track, sets up the required event listeners
|
|
848
|
+
* on it, cleans up previous track, etc.
|
|
849
|
+
*
|
|
850
|
+
* @param {LocalSystemAudioTrack | undefined} localSystemAudioTrack local system audio track
|
|
851
|
+
* @returns {Promise<void>}
|
|
852
|
+
*/
|
|
853
|
+
private setLocalShareAudioTrack;
|
|
854
|
+
/**
|
|
855
|
+
* sets up listner for mercury event
|
|
856
|
+
* @returns {undefined}
|
|
857
|
+
* @public
|
|
858
|
+
* @memberof Meeting
|
|
859
|
+
*/
|
|
860
|
+
setMercuryListener(): void;
|
|
861
|
+
/**
|
|
862
|
+
* Close the peer connections and remove them from the class.
|
|
863
|
+
* Cleanup any media connection related things.
|
|
864
|
+
*
|
|
865
|
+
* @returns {Promise}
|
|
866
|
+
* @public
|
|
867
|
+
* @memberof Meeting
|
|
868
|
+
*/
|
|
869
|
+
closePeerConnections(): Promise<void>;
|
|
870
|
+
/**
|
|
871
|
+
* Unsets the peer connections on the class
|
|
872
|
+
* warning DO NOT CALL WITHOUT CLOSING PEER CONNECTIONS FIRST
|
|
873
|
+
* @returns {undefined}
|
|
874
|
+
* @public
|
|
875
|
+
* @memberof Meeting
|
|
876
|
+
*/
|
|
877
|
+
unsetPeerConnections(): void;
|
|
878
|
+
/**
|
|
879
|
+
* Convenience method to set the correlation id for the Meeting
|
|
880
|
+
* @param {String} id correlation id to set on the class
|
|
881
|
+
* @returns {undefined}
|
|
882
|
+
* @private
|
|
883
|
+
* @memberof Meeting
|
|
884
|
+
*/
|
|
885
|
+
private setCorrelationId;
|
|
886
|
+
/**
|
|
887
|
+
* Enqueue request for screenshare floor and set the status to pending
|
|
888
|
+
* @returns {Promise}
|
|
889
|
+
* @private
|
|
890
|
+
* @memberof Meeting
|
|
891
|
+
*/
|
|
892
|
+
private enqueueScreenShareFloorRequest;
|
|
893
|
+
/**
|
|
894
|
+
* Mute the audio for a meeting
|
|
895
|
+
* @returns {Promise} resolves the data from muting audio {mute, self} or rejects if there is no audio set
|
|
896
|
+
* @public
|
|
897
|
+
* @memberof Meeting
|
|
898
|
+
*/
|
|
899
|
+
muteAudio(): any;
|
|
900
|
+
/**
|
|
901
|
+
* Unmute meeting audio
|
|
902
|
+
* @returns {Promise} resolves data from muting audio {mute, self} or rejects if there is no audio set
|
|
903
|
+
* @public
|
|
904
|
+
* @memberof Meeting
|
|
905
|
+
*/
|
|
906
|
+
unmuteAudio(): any;
|
|
907
|
+
/**
|
|
908
|
+
* Mute the video for a meeting
|
|
909
|
+
* @returns {Promise} resolves data from muting video {mute, self} or rejects if there is no video set
|
|
910
|
+
* @public
|
|
911
|
+
* @memberof Meeting
|
|
912
|
+
*/
|
|
913
|
+
muteVideo(): any;
|
|
914
|
+
/**
|
|
915
|
+
* Unmute meeting video
|
|
916
|
+
* @returns {Promise} resolves data from muting video {mute, self} or rejects if there is no video set
|
|
917
|
+
* @public
|
|
918
|
+
* @memberof Meeting
|
|
919
|
+
*/
|
|
920
|
+
unmuteVideo(): any;
|
|
921
|
+
/**
|
|
922
|
+
* Shorthand function to join AND set up media
|
|
923
|
+
* @param {Object} options - options to join with media
|
|
924
|
+
* @param {JoinOptions} [options.joinOptions] - see #join()
|
|
925
|
+
* @param {AddMediaOptions} [options.mediaOptions] - see #addMedia()
|
|
926
|
+
* @returns {Promise} -- {join: see join(), media: see addMedia()}
|
|
927
|
+
* @public
|
|
928
|
+
* @memberof Meeting
|
|
929
|
+
* @example
|
|
930
|
+
* joinWithMedia({
|
|
931
|
+
* joinOptions: {resourceId: 'resourceId' },
|
|
932
|
+
* mediaOptions: {
|
|
933
|
+
* localTracks: { microphone: microphoneTrack, camera: cameraTrack }
|
|
934
|
+
* }
|
|
935
|
+
* })
|
|
936
|
+
*/
|
|
937
|
+
joinWithMedia(options?: {
|
|
938
|
+
joinOptions?: any;
|
|
939
|
+
mediaOptions?: AddMediaOptions;
|
|
940
|
+
}): any;
|
|
941
|
+
/**
|
|
942
|
+
* Initiates the reconnection of the media in the meeting
|
|
943
|
+
*
|
|
944
|
+
* @param {object} options
|
|
945
|
+
* @returns {Promise} resolves with {reconnect} or errors with {error}
|
|
946
|
+
* @public
|
|
947
|
+
* @memberof Meeting
|
|
948
|
+
*/
|
|
949
|
+
reconnect(options?: object): any;
|
|
950
|
+
/**
|
|
951
|
+
* Check if the meeting supports the Webex Assistant feature
|
|
952
|
+
* @returns {boolean}
|
|
953
|
+
* @throws TranscriptionNotSupportedError
|
|
954
|
+
*/
|
|
955
|
+
isTranscriptionSupported(): boolean;
|
|
956
|
+
/**
|
|
957
|
+
* Check if the meeting supports the Reactions
|
|
958
|
+
* @returns {boolean}
|
|
959
|
+
*/
|
|
960
|
+
isReactionsSupported(): boolean;
|
|
961
|
+
/**
|
|
962
|
+
* Monitor the Low-Latency Mercury (LLM) web socket connection on `onError` and `onClose` states
|
|
963
|
+
* @private
|
|
964
|
+
* @returns {void}
|
|
965
|
+
*/
|
|
966
|
+
private monitorTranscriptionSocketConnection;
|
|
967
|
+
/**
|
|
968
|
+
* Request for a WebSocket Url, open and monitor the WebSocket connection
|
|
969
|
+
* @private
|
|
970
|
+
* @returns {Promise<void>} a promise to open the WebSocket connection
|
|
971
|
+
*/
|
|
972
|
+
private receiveTranscription;
|
|
973
|
+
/**
|
|
974
|
+
* Callback called when a relay event is received from meeting LLM Connection
|
|
975
|
+
* @param {RelayEvent} e Event object coming from LLM Connection
|
|
976
|
+
* @private
|
|
977
|
+
* @returns {void}
|
|
978
|
+
*/
|
|
979
|
+
private processRelayEvent;
|
|
980
|
+
/**
|
|
981
|
+
* stop recieving Transcription by closing
|
|
982
|
+
* the web socket connection properly
|
|
983
|
+
* @returns {void}
|
|
984
|
+
*/
|
|
985
|
+
stopReceivingTranscription(): void;
|
|
986
|
+
/**
|
|
987
|
+
* triggers an event to notify that the user
|
|
988
|
+
* will not receive any more transcription
|
|
989
|
+
* @private
|
|
990
|
+
* @returns{void}
|
|
991
|
+
*/
|
|
992
|
+
private triggerStopReceivingTranscriptionEvent;
|
|
993
|
+
/**
|
|
994
|
+
* Specify joining via audio (option: pstn), video, screenshare
|
|
995
|
+
* @param {JoinOptions} options A configurable options object for joining a meeting
|
|
996
|
+
* @returns {Promise} the join response
|
|
997
|
+
* @public
|
|
998
|
+
* @memberof Meeting
|
|
999
|
+
* Scenario A: Joining own claimed personal meeting room
|
|
1000
|
+
* Scenario B: Joining other's claimed personal meeting room, do pass pin (if desired to join as host, or nullify), do pass moderator
|
|
1001
|
+
* Scenario C: Joining an unclaimed personal meeting room, -do not- pass pin or moderator on first try, -do- pass pin and moderator
|
|
1002
|
+
* if joining as host on second loop, pass pin and pass moderator if joining as guest on second loop
|
|
1003
|
+
* Scenario D: Joining any other way (sip, pstn, conversationUrl, link just need to specify resourceId)
|
|
1004
|
+
*/
|
|
1005
|
+
join(options?: any): any;
|
|
1006
|
+
/**
|
|
1007
|
+
* Connects to low latency mercury and reconnects if the address has changed
|
|
1008
|
+
* It will also disconnect if called when the meeting has ended
|
|
1009
|
+
* @param {String} datachannelUrl
|
|
1010
|
+
* @returns {Promise}
|
|
1011
|
+
*/
|
|
1012
|
+
updateLLMConnection(): Promise<any>;
|
|
1013
|
+
/**
|
|
1014
|
+
* Use phone for meeting audio
|
|
1015
|
+
* @param {String} phoneNumber If provided, it will dial-out using this number. If not provided, dial-in will be used
|
|
1016
|
+
* @returns {Promise} Resolves once the dial-in or dial-out request has completed, or rejects if it failed
|
|
1017
|
+
* @public
|
|
1018
|
+
* @memberof Meeting
|
|
1019
|
+
*/
|
|
1020
|
+
usePhoneAudio(phoneNumber: string): Promise<any>;
|
|
1021
|
+
/**
|
|
1022
|
+
* Determines if the given pstnStatus is in a state which implies the phone is provisioned
|
|
1023
|
+
* @param {String} pstnStatus
|
|
1024
|
+
* @returns {Boolean}
|
|
1025
|
+
* @private
|
|
1026
|
+
* @memberof Meeting
|
|
1027
|
+
*/
|
|
1028
|
+
private isPhoneProvisioned;
|
|
1029
|
+
/**
|
|
1030
|
+
* Enable dial-in for audio
|
|
1031
|
+
* @returns {Promise} Resolves once the dial-in request has completed, or rejects if it failed
|
|
1032
|
+
* @private
|
|
1033
|
+
* @memberof Meeting
|
|
1034
|
+
*/
|
|
1035
|
+
private dialInPstn;
|
|
1036
|
+
/**
|
|
1037
|
+
* Enable dial-out for audio
|
|
1038
|
+
* @param {String} phoneNumber Phone number to dial out to
|
|
1039
|
+
* @returns {Promise} Resolves once the dial-out request has completed (it doesn't wait for the user to answer the phone), or rejects if it failed
|
|
1040
|
+
* @private
|
|
1041
|
+
* @memberof Meeting
|
|
1042
|
+
*/
|
|
1043
|
+
private dialOutPstn;
|
|
1044
|
+
/**
|
|
1045
|
+
* Disconnect meeting audio via phone.
|
|
1046
|
+
* @returns {Promise} Resolves once the phone audio disconnection has completed
|
|
1047
|
+
* @public
|
|
1048
|
+
* @memberof Meeting
|
|
1049
|
+
* @returns {Promise}
|
|
1050
|
+
*/
|
|
1051
|
+
disconnectPhoneAudio(): Promise<[any, any]>;
|
|
1052
|
+
/**
|
|
1053
|
+
* Moves the call to the specified resourceId
|
|
1054
|
+
* @param {String} resourceId
|
|
1055
|
+
* @returns {Promise} once the move has been completed
|
|
1056
|
+
* @public
|
|
1057
|
+
* @memberof Meeting
|
|
1058
|
+
*/
|
|
1059
|
+
moveTo(resourceId: string): any;
|
|
1060
|
+
/**
|
|
1061
|
+
* Moves the call from the specified resourceId, back to computer
|
|
1062
|
+
* @param {String} resourceId
|
|
1063
|
+
* @returns {Promise} once the move has been completed
|
|
1064
|
+
* @public
|
|
1065
|
+
* @memberof Meeting
|
|
1066
|
+
*/
|
|
1067
|
+
moveFrom(resourceId: string): any;
|
|
1068
|
+
/**
|
|
1069
|
+
* Handles ROAP_FAILURE event from the webrtc media connection
|
|
1070
|
+
*
|
|
1071
|
+
* @param {Error} error
|
|
1072
|
+
* @returns {void}
|
|
1073
|
+
*/
|
|
1074
|
+
handleRoapFailure: (error: any) => void;
|
|
1075
|
+
setupMediaConnectionListeners: () => void;
|
|
1076
|
+
/**
|
|
1077
|
+
* Registers for all required StatsAnalyzer events
|
|
1078
|
+
* @private
|
|
1079
|
+
* @returns {void}
|
|
1080
|
+
* @memberof Meetings
|
|
1081
|
+
*/
|
|
1082
|
+
setupStatsAnalyzerEventHandlers: () => void;
|
|
1083
|
+
getMediaConnectionDebugId(): string;
|
|
1084
|
+
/**
|
|
1085
|
+
* Creates a webrtc media connection and publishes tracks to it
|
|
1086
|
+
*
|
|
1087
|
+
* @param {Object} turnServerInfo TURN server information
|
|
1088
|
+
* @param {BundlePolicy} [bundlePolicy] Bundle policy settings
|
|
1089
|
+
* @returns {RoapMediaConnection | MultistreamRoapMediaConnection}
|
|
1090
|
+
*/
|
|
1091
|
+
private createMediaConnection;
|
|
1092
|
+
/**
|
|
1093
|
+
* Listens for an event emitted by eventEmitter and emits it from the meeting object
|
|
1094
|
+
*
|
|
1095
|
+
* @private
|
|
1096
|
+
* @param {*} eventEmitter object from which to forward the event
|
|
1097
|
+
* @param {*} eventTypeToForward which event type to listen on and to forward
|
|
1098
|
+
* @param {string} meetingEventType event type to be used in the event emitted from the meeting object
|
|
1099
|
+
* @returns {void}
|
|
1100
|
+
*/
|
|
1101
|
+
forwardEvent(eventEmitter: any, eventTypeToForward: any, meetingEventType: any): void;
|
|
1102
|
+
/**
|
|
1103
|
+
* Creates a media connection to the server. Media connection is required for sending or receiving any audio/video.
|
|
1104
|
+
*
|
|
1105
|
+
* @param {AddMediaOptions} options
|
|
1106
|
+
* @returns {Promise}
|
|
1107
|
+
* @public
|
|
1108
|
+
* @memberof Meeting
|
|
1109
|
+
*/
|
|
1110
|
+
addMedia(options?: AddMediaOptions): Promise<any>;
|
|
1111
|
+
/**
|
|
1112
|
+
* Informs if the peer connection is in a state that can be updated with updateMedia (audio/video/share)
|
|
1113
|
+
* @returns {Boolean}
|
|
1114
|
+
*/
|
|
1115
|
+
canUpdateMedia(): boolean;
|
|
1116
|
+
/**
|
|
1117
|
+
* Enqueues a media update operation.
|
|
1118
|
+
* @param {String} mediaUpdateType one of MEDIA_UPDATE_TYPE values
|
|
1119
|
+
* @param {Object} options
|
|
1120
|
+
* @returns {Promise}
|
|
1121
|
+
* @private
|
|
1122
|
+
* @memberof Meeting
|
|
1123
|
+
*/
|
|
1124
|
+
private enqueueMediaUpdate;
|
|
1125
|
+
/**
|
|
1126
|
+
* emits event when the negotation is completed
|
|
1127
|
+
* @returns {void}
|
|
1128
|
+
* @private
|
|
1129
|
+
* @memberof Meeting
|
|
1130
|
+
*/
|
|
1131
|
+
mediaNegotiatedEvent: () => void;
|
|
1132
|
+
/**
|
|
1133
|
+
* Checks if there are any queued media updates and runs the first one from
|
|
1134
|
+
* the queue if we are in a state that allows doing that.
|
|
1135
|
+
* @returns {undefined}
|
|
1136
|
+
* @public
|
|
1137
|
+
* @memberof Meeting
|
|
1138
|
+
*/
|
|
1139
|
+
processNextQueuedMediaUpdate: () => void;
|
|
1140
|
+
/**
|
|
1141
|
+
* Updates the media connection - it allows to enable/disable all audio/video/share in the meeting.
|
|
1142
|
+
* This does not affect the published tracks, so for example if a microphone track is published and
|
|
1143
|
+
* updateMedia({audioEnabled: false}) is called, the audio will not be sent or received anymore,
|
|
1144
|
+
* but the track's "published" state is not changed and when updateMedia({audioEnabled: true}) is called,
|
|
1145
|
+
* the sending of the audio from the same track will resume.
|
|
1146
|
+
*
|
|
1147
|
+
* @param {Object} options
|
|
1148
|
+
* @param {boolean} options.audioEnabled [optional] enables/disables receiving and sending of main audio in the meeting
|
|
1149
|
+
* @param {boolean} options.videoEnabled [optional] enables/disables receiving and sending of main video in the meeting
|
|
1150
|
+
* @param {boolean} options.shareEnabled [optional] enables/disables receiving and sending of screen share in the meeting
|
|
1151
|
+
* @returns {Promise}
|
|
1152
|
+
* @public
|
|
1153
|
+
* @memberof Meeting
|
|
1154
|
+
*/
|
|
1155
|
+
updateMedia(options: {
|
|
1156
|
+
audioEnabled?: boolean;
|
|
1157
|
+
videoEnabled?: boolean;
|
|
1158
|
+
receiveShare?: boolean;
|
|
1159
|
+
}): Promise<void>;
|
|
1160
|
+
/**
|
|
1161
|
+
* Acknowledge the meeting, outgoing or incoming
|
|
1162
|
+
* @param {String} type
|
|
1163
|
+
* @returns {Promise} resolve {message, ringing, response}
|
|
1164
|
+
* @public
|
|
1165
|
+
* @memberof Meeting
|
|
1166
|
+
*/
|
|
1167
|
+
acknowledge(type: string): Promise<{
|
|
1168
|
+
response: any;
|
|
1169
|
+
}> | Promise<{
|
|
1170
|
+
message: string;
|
|
1171
|
+
}>;
|
|
1172
|
+
/**
|
|
1173
|
+
* Decline this meeting
|
|
1174
|
+
* @param {String} reason
|
|
1175
|
+
* @returns {undefined}
|
|
1176
|
+
* @public
|
|
1177
|
+
* @memberof Meeting
|
|
1178
|
+
*/
|
|
1179
|
+
decline(reason: string): any;
|
|
1180
|
+
/**
|
|
1181
|
+
* Leave the current meeting
|
|
1182
|
+
* @param {Object} options leave options
|
|
1183
|
+
* @param {String} options.resourceId the device with which to leave from, empty if just the computer
|
|
1184
|
+
* @returns {Promise}
|
|
1185
|
+
* @public
|
|
1186
|
+
* @memberof Meeting
|
|
1187
|
+
*/
|
|
1188
|
+
leave(options?: {
|
|
1189
|
+
resourceId?: string;
|
|
1190
|
+
reason?: any;
|
|
1191
|
+
}): any;
|
|
1192
|
+
/**
|
|
1193
|
+
* Start sharing whiteboard given channelUrl
|
|
1194
|
+
* @param {string} channelUrl whiteboard url
|
|
1195
|
+
* @param {String} resourceToken token created by authorize media injector
|
|
1196
|
+
* @returns {Promise}
|
|
1197
|
+
* @public
|
|
1198
|
+
* @memberof Meeting
|
|
1199
|
+
*/
|
|
1200
|
+
startWhiteboardShare(channelUrl: string, resourceToken: string): any;
|
|
1201
|
+
/**
|
|
1202
|
+
* Stop sharing whiteboard given channelUrl
|
|
1203
|
+
* @param {string} channelUrl whiteboard url
|
|
1204
|
+
* @returns {Promise}
|
|
1205
|
+
* @public
|
|
1206
|
+
* @memberof Meeting
|
|
1207
|
+
*/
|
|
1208
|
+
stopWhiteboardShare(channelUrl: string): any;
|
|
1209
|
+
/**
|
|
1210
|
+
* Sends a request to Locus to obtain the screen share floor
|
|
1211
|
+
* @returns {Promise} see #meetingRequest.changeMeetingFloor
|
|
1212
|
+
* @private
|
|
1213
|
+
* @memberof Meeting
|
|
1214
|
+
*/
|
|
1215
|
+
private requestScreenShareFloor;
|
|
1216
|
+
/**
|
|
1217
|
+
* Requests screen share floor if such request is pending.
|
|
1218
|
+
* It should be called whenever meeting state changes to JOINED
|
|
1219
|
+
*
|
|
1220
|
+
* @returns {void}
|
|
1221
|
+
*/
|
|
1222
|
+
private requestScreenShareFloorIfPending;
|
|
1223
|
+
/**
|
|
1224
|
+
* Sends a request to Locus to release the screen share floor.
|
|
1225
|
+
* @returns {Promise} see #meetingRequest.changeMeetingFloor
|
|
1226
|
+
* @private
|
|
1227
|
+
* @memberof Meeting
|
|
1228
|
+
*/
|
|
1229
|
+
private releaseScreenShareFloor;
|
|
1230
|
+
/**
|
|
1231
|
+
* Intiate a recording of this meeting
|
|
1232
|
+
* @returns {Promise}
|
|
1233
|
+
* @public
|
|
1234
|
+
* @memberof Meeting
|
|
1235
|
+
*/
|
|
1236
|
+
startRecording(): Promise<any>;
|
|
1237
|
+
/**
|
|
1238
|
+
* set the mute on entry flag for participants if you're the host
|
|
1239
|
+
* @returns {Promise}
|
|
1240
|
+
* @param {boolean} enabled
|
|
1241
|
+
* @public
|
|
1242
|
+
* @memberof Meeting
|
|
1243
|
+
*/
|
|
1244
|
+
setMuteOnEntry(enabled: boolean): Promise<any>;
|
|
1245
|
+
/**
|
|
1246
|
+
* set the disallow unmute flag for participants if you're the host
|
|
1247
|
+
* @returns {Promise}
|
|
1248
|
+
* @param {boolean} enabled
|
|
1249
|
+
* @public
|
|
1250
|
+
* @memberof Meeting
|
|
1251
|
+
*/
|
|
1252
|
+
setDisallowUnmute(enabled: boolean): Promise<any>;
|
|
1253
|
+
/**
|
|
1254
|
+
* set the mute all flag for participants if you're the host
|
|
1255
|
+
* @returns {Promise}
|
|
1256
|
+
* @param {boolean} mutedEnabled
|
|
1257
|
+
* @param {boolean} disallowUnmuteEnabled
|
|
1258
|
+
* @param {boolean} muteOnEntryEnabled
|
|
1259
|
+
* @public
|
|
1260
|
+
* @memberof Meeting
|
|
1261
|
+
*/
|
|
1262
|
+
setMuteAll(mutedEnabled: boolean, disallowUnmuteEnabled: boolean, muteOnEntryEnabled: boolean): Promise<any>;
|
|
1263
|
+
/**
|
|
1264
|
+
* End the recording of this meeting
|
|
1265
|
+
* @returns {Promise}
|
|
1266
|
+
* @public
|
|
1267
|
+
* @memberof Meeting
|
|
1268
|
+
*/
|
|
1269
|
+
stopRecording(): Promise<any>;
|
|
1270
|
+
/**
|
|
1271
|
+
* Pauses the recording of this meeting
|
|
1272
|
+
* @returns {Promise}
|
|
1273
|
+
* @public
|
|
1274
|
+
* @memberof Meeting
|
|
1275
|
+
*/
|
|
1276
|
+
pauseRecording(): Promise<any>;
|
|
1277
|
+
/**
|
|
1278
|
+
* Resumes the recording of this meeting
|
|
1279
|
+
* @returns {Promise}
|
|
1280
|
+
* @public
|
|
1281
|
+
* @memberof Meeting
|
|
1282
|
+
*/
|
|
1283
|
+
resumeRecording(): Promise<any>;
|
|
1284
|
+
/**
|
|
1285
|
+
* Locks the current meeting if possible
|
|
1286
|
+
* @returns {Promise}
|
|
1287
|
+
* @public
|
|
1288
|
+
* @memberof Meeting
|
|
1289
|
+
*/
|
|
1290
|
+
lockMeeting(): any;
|
|
1291
|
+
/**
|
|
1292
|
+
* Unlocks the current meeting if possible
|
|
1293
|
+
* @returns {Promise}
|
|
1294
|
+
* @public
|
|
1295
|
+
* @memberof Meeting
|
|
1296
|
+
*/
|
|
1297
|
+
unlockMeeting(): any;
|
|
1298
|
+
/**
|
|
1299
|
+
* Logs an error message and returns a rejected promise with same message
|
|
1300
|
+
* @param {String} message
|
|
1301
|
+
* @returns {Promise}
|
|
1302
|
+
* @private
|
|
1303
|
+
* @memberof Meeting
|
|
1304
|
+
*/
|
|
1305
|
+
private rejectWithErrorLog;
|
|
1306
|
+
/**
|
|
1307
|
+
* Sends DTMF tones to the current meeting
|
|
1308
|
+
* @param {String} tones a string of one or more DTMF tones to send
|
|
1309
|
+
* @returns {Promise}
|
|
1310
|
+
* @public
|
|
1311
|
+
* @memberof Meeting
|
|
1312
|
+
*/
|
|
1313
|
+
sendDTMF(tones: string): Promise<any>;
|
|
1314
|
+
/**
|
|
1315
|
+
* Sends request to change layout type for the current meeting for the specific participant/device only
|
|
1316
|
+
* @param {String} [layoutType] a layout type that should be available in meeting constants {@link #layout_types}
|
|
1317
|
+
* @param {Object} renderInfo preferred dimensions for the remote main and content streams (server can ignore it)
|
|
1318
|
+
* @param {Object} renderInfo.main preferred dimensions for the remote main video stream
|
|
1319
|
+
* @param {Number} renderInfo.main.width preferred width of main video stream
|
|
1320
|
+
* @param {Number} renderInfo.main.height preferred height of main video stream
|
|
1321
|
+
* @param {Object} renderInfo.content preferred dimensions for the remote content share stream
|
|
1322
|
+
* @param {Number} renderInfo.content.width preferred width of content share stream
|
|
1323
|
+
* @param {Number} renderInfo.content.height preferred height of content share stream
|
|
1324
|
+
* @returns {Promise}
|
|
1325
|
+
* @public
|
|
1326
|
+
* @memberof Meeting
|
|
1327
|
+
*/
|
|
1328
|
+
changeVideoLayout(layoutType?: string, renderInfo?: {
|
|
1329
|
+
main: {
|
|
1330
|
+
width: number;
|
|
1331
|
+
height: number;
|
|
1332
|
+
};
|
|
1333
|
+
content: {
|
|
1334
|
+
width: number;
|
|
1335
|
+
height: number;
|
|
1336
|
+
};
|
|
1337
|
+
}): any;
|
|
1338
|
+
/**
|
|
1339
|
+
* Sets the quality level of the remote incoming media
|
|
1340
|
+
* @param {String} level {LOW|MEDIUM|HIGH}
|
|
1341
|
+
* @returns {Promise}
|
|
1342
|
+
*/
|
|
1343
|
+
setRemoteQualityLevel(level: string): Promise<void>;
|
|
1344
|
+
/**
|
|
1345
|
+
* Functionality for when a share audio is ended.
|
|
1346
|
+
* @private
|
|
1347
|
+
* @memberof Meeting
|
|
1348
|
+
* @returns {undefined}
|
|
1349
|
+
*/
|
|
1350
|
+
private handleShareAudioTrackEnded;
|
|
1351
|
+
/**
|
|
1352
|
+
* Functionality for when a share video is ended.
|
|
1353
|
+
* @private
|
|
1354
|
+
* @memberof Meeting
|
|
1355
|
+
* @returns {undefined}
|
|
1356
|
+
*/
|
|
1357
|
+
private handleShareVideoTrackEnded;
|
|
1358
|
+
/**
|
|
1359
|
+
* Emits meeting:stoppedSharingLocal
|
|
1360
|
+
* @private
|
|
1361
|
+
* @returns {undefined}
|
|
1362
|
+
* @memberof Meeting
|
|
1363
|
+
*/
|
|
1364
|
+
private triggerStoppedSharing;
|
|
1365
|
+
/**
|
|
1366
|
+
* Emits the 'network:quality' event
|
|
1367
|
+
* 1 indicates an acceptable uplink network.
|
|
1368
|
+
* 0 indicates an unacceptable uplink network based on a predefined threshold
|
|
1369
|
+
* @returns {undefined}
|
|
1370
|
+
* @param {Object} res - payload of emitNetworkQuality
|
|
1371
|
+
* @property {string} mediaType {video|audio}
|
|
1372
|
+
* @property {number} networkQualityScore - {1|0}
|
|
1373
|
+
* @private
|
|
1374
|
+
* @memberof Meeting
|
|
1375
|
+
*/
|
|
1376
|
+
private sendNetworkQualityEvent;
|
|
1377
|
+
/**
|
|
1378
|
+
* Handle logging the media
|
|
1379
|
+
* @param {Object} mediaProperties
|
|
1380
|
+
* @private
|
|
1381
|
+
* @returns {undefined}
|
|
1382
|
+
*/
|
|
1383
|
+
private handleMediaLogging;
|
|
1384
|
+
/**
|
|
1385
|
+
*
|
|
1386
|
+
* @returns {string} one of 'attendee','host','cohost', returns the user type of the current user
|
|
1387
|
+
*/
|
|
1388
|
+
getCurUserType(): "host" | "cohost" | "attendee";
|
|
1389
|
+
/**
|
|
1390
|
+
* End the current meeting for all
|
|
1391
|
+
* @returns {Promise}
|
|
1392
|
+
* @public
|
|
1393
|
+
* @memberof Meeting
|
|
1394
|
+
*/
|
|
1395
|
+
endMeetingForAll(): any;
|
|
1396
|
+
/**
|
|
1397
|
+
* clear the meeting data
|
|
1398
|
+
* @returns {undefined}
|
|
1399
|
+
* @public
|
|
1400
|
+
* @memberof Meeting
|
|
1401
|
+
*/
|
|
1402
|
+
clearMeetingData: () => void;
|
|
1403
|
+
/**
|
|
1404
|
+
* starts keepAlives being sent
|
|
1405
|
+
* @returns {void}
|
|
1406
|
+
* @private
|
|
1407
|
+
* @memberof Meeting
|
|
1408
|
+
*/
|
|
1409
|
+
startKeepAlive: () => void;
|
|
1410
|
+
/**
|
|
1411
|
+
* stops keepAlives being sent
|
|
1412
|
+
* @returns {void}
|
|
1413
|
+
* @private
|
|
1414
|
+
* @memberof Meeting
|
|
1415
|
+
*/
|
|
1416
|
+
stopKeepAlive: () => void;
|
|
1417
|
+
/**
|
|
1418
|
+
* Send a reaction inside the meeting.
|
|
1419
|
+
*
|
|
1420
|
+
* @param {ReactionServerType} reactionType - type of reaction to be sent. Example: "thumbs_up"
|
|
1421
|
+
* @param {SkinToneType} skinToneType - skin tone for the reaction. Example: "medium_dark"
|
|
1422
|
+
* @returns {Promise}
|
|
1423
|
+
* @public
|
|
1424
|
+
* @memberof Meeting
|
|
1425
|
+
*/
|
|
1426
|
+
sendReaction(reactionType: ReactionServerType, skinToneType?: SkinToneType): any;
|
|
1427
|
+
/**
|
|
1428
|
+
* Method to enable or disable reactions inside the meeting.
|
|
1429
|
+
*
|
|
1430
|
+
* @param {boolean} enable - enable or disable reactions
|
|
1431
|
+
* @returns {Promise}
|
|
1432
|
+
* @public
|
|
1433
|
+
* @memberof Meeting
|
|
1434
|
+
*/
|
|
1435
|
+
toggleReactions(enable: boolean): Promise<any>;
|
|
1436
|
+
/**
|
|
1437
|
+
* Throws if we don't have a media connection created
|
|
1438
|
+
*
|
|
1439
|
+
* @returns {void}
|
|
1440
|
+
*/
|
|
1441
|
+
private checkMediaConnection;
|
|
1442
|
+
/**
|
|
1443
|
+
* Method to enable or disable the 'Music mode' effect on audio track
|
|
1444
|
+
*
|
|
1445
|
+
* @param {boolean} shouldEnableMusicMode
|
|
1446
|
+
* @returns {Promise}
|
|
1447
|
+
*/
|
|
1448
|
+
enableMusicMode(shouldEnableMusicMode: boolean): Promise<void>;
|
|
1449
|
+
/** Updates the tracks being sent on the transcoded media connection
|
|
1450
|
+
*
|
|
1451
|
+
* @returns {Promise<void>}
|
|
1452
|
+
*/
|
|
1453
|
+
private updateTranscodedMediaConnection;
|
|
1454
|
+
/**
|
|
1455
|
+
* Publishes a track.
|
|
1456
|
+
*
|
|
1457
|
+
* @param {LocalTrack} track to publish
|
|
1458
|
+
* @returns {Promise}
|
|
1459
|
+
*/
|
|
1460
|
+
private publishTrack;
|
|
1461
|
+
/**
|
|
1462
|
+
* Un-publishes a track.
|
|
1463
|
+
*
|
|
1464
|
+
* @param {LocalTrack} track to unpublish
|
|
1465
|
+
* @returns {Promise}
|
|
1466
|
+
*/
|
|
1467
|
+
private unpublishTrack;
|
|
1468
|
+
/**
|
|
1469
|
+
* Publishes specified local tracks in the meeting
|
|
1470
|
+
*
|
|
1471
|
+
* @param {Object} tracks
|
|
1472
|
+
* @returns {Promise}
|
|
1473
|
+
*/
|
|
1474
|
+
publishTracks(tracks: LocalTracks): Promise<void>;
|
|
1475
|
+
/**
|
|
1476
|
+
* Un-publishes specified local tracks in the meeting
|
|
1477
|
+
*
|
|
1478
|
+
* @param {Array<MediaStreamTrack>} tracks
|
|
1479
|
+
* @returns {Promise}
|
|
1480
|
+
*/
|
|
1481
|
+
unpublishTracks(tracks: LocalTrack[]): Promise<void>;
|
|
1482
|
+
}
|