@webex/plugin-meetings 2.60.0 → 2.60.1-next.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.
- package/README.md +46 -8
- package/dist/annotation/annotation.types.d.ts +42 -0
- package/dist/annotation/annotation.types.js +7 -0
- package/dist/annotation/annotation.types.js.map +1 -0
- package/dist/annotation/constants.d.ts +31 -0
- package/dist/annotation/constants.js +41 -0
- package/dist/annotation/constants.js.map +1 -0
- package/dist/annotation/index.d.ts +117 -0
- package/dist/annotation/index.js +357 -0
- package/dist/annotation/index.js.map +1 -0
- package/dist/breakouts/breakout.d.ts +8 -0
- package/dist/breakouts/breakout.js +215 -0
- package/dist/breakouts/breakout.js.map +1 -0
- package/dist/breakouts/collection.d.ts +5 -0
- package/dist/breakouts/collection.js +22 -0
- package/dist/breakouts/collection.js.map +1 -0
- package/dist/breakouts/edit-lock-error.d.ts +15 -0
- package/dist/breakouts/edit-lock-error.js +51 -0
- package/dist/breakouts/edit-lock-error.js.map +1 -0
- package/dist/breakouts/events.d.ts +8 -0
- package/dist/breakouts/events.js +44 -0
- package/dist/breakouts/events.js.map +1 -0
- package/dist/breakouts/index.d.ts +5 -0
- package/dist/breakouts/index.js +1047 -0
- package/dist/breakouts/index.js.map +1 -0
- package/dist/breakouts/request.d.ts +22 -0
- package/dist/breakouts/request.js +77 -0
- package/dist/breakouts/request.js.map +1 -0
- package/dist/breakouts/utils.d.ts +15 -0
- package/dist/breakouts/utils.js +64 -0
- package/dist/breakouts/utils.js.map +1 -0
- package/dist/common/browser-detection.js +2 -3
- package/dist/common/browser-detection.js.map +1 -1
- package/dist/common/collection.js +3 -4
- package/dist/common/collection.js.map +1 -1
- package/dist/common/config.js +1 -2
- package/dist/common/config.js.map +1 -1
- package/dist/common/errors/captcha-error.js +1 -2
- package/dist/common/errors/captcha-error.js.map +1 -1
- package/dist/common/errors/intent-to-join.js +1 -2
- package/dist/common/errors/intent-to-join.js.map +1 -1
- package/dist/common/errors/join-meeting.js +1 -2
- package/dist/common/errors/join-meeting.js.map +1 -1
- package/dist/common/errors/media.js +1 -2
- package/dist/common/errors/media.js.map +1 -1
- package/dist/common/errors/no-meeting-info.d.ts +14 -0
- package/dist/common/errors/no-meeting-info.js +50 -0
- package/dist/common/errors/no-meeting-info.js.map +1 -0
- package/dist/common/errors/parameter.js +3 -4
- package/dist/common/errors/parameter.js.map +1 -1
- package/dist/common/errors/password-error.js +1 -2
- package/dist/common/errors/password-error.js.map +1 -1
- package/dist/common/errors/permission.js +1 -2
- package/dist/common/errors/permission.js.map +1 -1
- package/dist/common/errors/{reclaim-host-role-error.js → reclaim-host-role-errors.js} +7 -11
- package/dist/common/errors/reclaim-host-role-errors.js.map +1 -0
- package/dist/common/errors/reconnection-in-progress.js +1 -2
- package/dist/common/errors/reconnection-in-progress.js.map +1 -1
- package/dist/common/errors/reconnection.js +1 -2
- package/dist/common/errors/reconnection.js.map +1 -1
- package/dist/common/errors/stats.js +1 -2
- package/dist/common/errors/stats.js.map +1 -1
- package/dist/common/errors/webex-errors.d.ts +20 -8
- package/dist/common/errors/webex-errors.js +48 -28
- package/dist/common/errors/webex-errors.js.map +1 -1
- package/dist/common/errors/webex-meetings-error.js +1 -2
- package/dist/common/errors/webex-meetings-error.js.map +1 -1
- package/dist/common/events/events-scope.js +1 -2
- package/dist/common/events/events-scope.js.map +1 -1
- package/dist/common/events/events.js +1 -2
- package/dist/common/events/events.js.map +1 -1
- package/dist/common/events/trigger-proxy.js +1 -2
- package/dist/common/events/trigger-proxy.js.map +1 -1
- package/dist/common/events/util.js +1 -2
- package/dist/common/events/util.js.map +1 -1
- package/dist/common/logs/logger-config.js +1 -2
- package/dist/common/logs/logger-config.js.map +1 -1
- package/dist/common/logs/logger-proxy.js +2 -3
- package/dist/common/logs/logger-proxy.js.map +1 -1
- package/dist/common/logs/request.d.ts +3 -1
- package/dist/common/logs/request.js +8 -5
- package/dist/common/logs/request.js.map +1 -1
- package/dist/common/queue.d.ts +9 -7
- package/dist/common/queue.js +22 -9
- package/dist/common/queue.js.map +1 -1
- package/dist/config.d.ts +6 -7
- package/dist/config.js +8 -10
- package/dist/config.js.map +1 -1
- package/dist/constants.d.ts +217 -97
- package/dist/constants.js +416 -441
- package/dist/constants.js.map +1 -1
- package/dist/controls-options-manager/constants.js +3 -6
- package/dist/controls-options-manager/constants.js.map +1 -1
- package/dist/controls-options-manager/enums.d.ts +11 -1
- package/dist/controls-options-manager/enums.js +15 -6
- package/dist/controls-options-manager/enums.js.map +1 -1
- package/dist/controls-options-manager/index.d.ts +17 -1
- package/dist/controls-options-manager/index.js +127 -38
- package/dist/controls-options-manager/index.js.map +1 -1
- package/dist/controls-options-manager/types.d.ts +43 -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.d.ts +1 -7
- package/dist/controls-options-manager/util.js +309 -19
- package/dist/controls-options-manager/util.js.map +1 -1
- package/dist/index.d.ts +6 -3
- package/dist/index.js +121 -5
- package/dist/index.js.map +1 -1
- package/dist/interceptors/index.d.ts +2 -0
- package/dist/interceptors/index.js +15 -0
- package/dist/interceptors/index.js.map +1 -0
- package/dist/interceptors/locusRetry.d.ts +27 -0
- package/dist/interceptors/locusRetry.js +94 -0
- package/dist/interceptors/locusRetry.js.map +1 -0
- package/dist/interpretation/collection.d.ts +5 -0
- package/dist/interpretation/collection.js +22 -0
- package/dist/interpretation/collection.js.map +1 -0
- package/dist/interpretation/index.d.ts +5 -0
- package/dist/interpretation/index.js +365 -0
- package/dist/interpretation/index.js.map +1 -0
- package/dist/interpretation/siLanguage.d.ts +5 -0
- package/dist/interpretation/siLanguage.js +24 -0
- package/dist/interpretation/siLanguage.js.map +1 -0
- package/dist/locus-info/controlsUtils.js +100 -11
- package/dist/locus-info/controlsUtils.js.map +1 -1
- package/dist/locus-info/embeddedAppsUtils.js +3 -4
- package/dist/locus-info/embeddedAppsUtils.js.map +1 -1
- package/dist/locus-info/fullState.js +1 -2
- package/dist/locus-info/fullState.js.map +1 -1
- package/dist/locus-info/hostUtils.js +1 -2
- package/dist/locus-info/hostUtils.js.map +1 -1
- package/dist/locus-info/index.d.ts +57 -4
- package/dist/locus-info/index.js +425 -84
- package/dist/locus-info/index.js.map +1 -1
- package/dist/locus-info/infoUtils.js +13 -5
- package/dist/locus-info/infoUtils.js.map +1 -1
- package/dist/locus-info/mediaSharesUtils.js +58 -3
- package/dist/locus-info/mediaSharesUtils.js.map +1 -1
- package/dist/locus-info/parser.d.ts +66 -6
- package/dist/locus-info/parser.js +253 -80
- package/dist/locus-info/parser.js.map +1 -1
- package/dist/locus-info/selfUtils.js +97 -13
- package/dist/locus-info/selfUtils.js.map +1 -1
- package/dist/media/index.d.ts +2 -0
- package/dist/media/index.js +107 -319
- package/dist/media/index.js.map +1 -1
- package/dist/media/properties.d.ts +38 -53
- package/dist/media/properties.js +96 -153
- package/dist/media/properties.js.map +1 -1
- package/dist/media/util.js +1 -22
- package/dist/media/util.js.map +1 -1
- package/dist/mediaQualityMetrics/config.d.ts +234 -230
- package/dist/mediaQualityMetrics/config.js +302 -498
- package/dist/mediaQualityMetrics/config.js.map +1 -1
- package/dist/meeting/in-meeting-actions.d.ts +88 -0
- package/dist/meeting/in-meeting-actions.js +94 -3
- package/dist/meeting/in-meeting-actions.js.map +1 -1
- package/dist/meeting/index.d.ts +591 -494
- package/dist/meeting/index.js +4732 -2990
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/locusMediaRequest.d.ts +74 -0
- package/dist/meeting/locusMediaRequest.js +291 -0
- package/dist/meeting/locusMediaRequest.js.map +1 -0
- package/dist/meeting/muteState.d.ts +93 -25
- package/dist/meeting/muteState.js +224 -133
- package/dist/meeting/muteState.js.map +1 -1
- package/dist/meeting/request.d.ts +82 -47
- package/dist/meeting/request.js +297 -199
- package/dist/meeting/request.js.map +1 -1
- package/dist/meeting/request.type.d.ts +11 -0
- package/dist/meeting/request.type.js +7 -0
- package/dist/meeting/request.type.js.map +1 -0
- package/dist/meeting/state.js +1 -2
- package/dist/meeting/state.js.map +1 -1
- package/dist/meeting/util.d.ts +102 -1
- package/dist/meeting/util.js +605 -435
- package/dist/meeting/util.js.map +1 -1
- package/dist/meeting-info/collection.js +3 -4
- package/dist/meeting-info/collection.js.map +1 -1
- package/dist/meeting-info/index.d.ts +13 -1
- package/dist/meeting-info/index.js +74 -7
- package/dist/meeting-info/index.js.map +1 -1
- package/dist/meeting-info/meeting-info-v2.d.ts +31 -1
- package/dist/meeting-info/meeting-info-v2.js +200 -63
- package/dist/meeting-info/meeting-info-v2.js.map +1 -1
- package/dist/meeting-info/request.js +1 -2
- package/dist/meeting-info/request.js.map +1 -1
- package/dist/meeting-info/util.js +2 -3
- package/dist/meeting-info/util.js.map +1 -1
- package/dist/meeting-info/utilv2.js +39 -41
- package/dist/meeting-info/utilv2.js.map +1 -1
- package/dist/meetings/collection.d.ts +17 -0
- package/dist/meetings/collection.js +42 -4
- package/dist/meetings/collection.js.map +1 -1
- package/dist/meetings/index.d.ts +93 -21
- package/dist/meetings/index.js +490 -127
- package/dist/meetings/index.js.map +1 -1
- package/dist/meetings/meetings.types.d.ts +4 -0
- package/dist/meetings/meetings.types.js +7 -0
- package/dist/meetings/meetings.types.js.map +1 -0
- package/dist/meetings/request.js +4 -3
- package/dist/meetings/request.js.map +1 -1
- package/dist/meetings/util.js +107 -6
- package/dist/meetings/util.js.map +1 -1
- package/dist/member/index.d.ts +13 -1
- package/dist/member/index.js +45 -2
- package/dist/member/index.js.map +1 -1
- package/dist/member/member.types.js +3 -4
- package/dist/member/member.types.js.map +1 -1
- package/dist/member/types.d.ts +32 -0
- package/dist/member/types.js +23 -0
- package/dist/member/types.js.map +1 -0
- package/dist/member/util.js +120 -29
- package/dist/member/util.js.map +1 -1
- package/dist/members/collection.d.ts +5 -0
- package/dist/members/collection.js +11 -2
- package/dist/members/collection.js.map +1 -1
- package/dist/members/index.d.ts +56 -11
- package/dist/members/index.js +174 -47
- package/dist/members/index.js.map +1 -1
- package/dist/members/request.d.ts +67 -11
- package/dist/members/request.js +102 -54
- package/dist/members/request.js.map +1 -1
- package/dist/members/types.js +3 -4
- package/dist/members/types.js.map +1 -1
- package/dist/members/util.d.ts +214 -1
- package/dist/members/util.js +327 -284
- package/dist/members/util.js.map +1 -1
- package/dist/metrics/constants.d.ts +15 -6
- package/dist/metrics/constants.js +17 -9
- package/dist/metrics/constants.js.map +1 -1
- package/dist/metrics/index.d.ts +4 -111
- package/dist/metrics/index.js +4 -452
- package/dist/metrics/index.js.map +1 -1
- package/dist/multistream/mediaRequestManager.d.ts +118 -0
- package/dist/multistream/mediaRequestManager.js +344 -0
- package/dist/multistream/mediaRequestManager.js.map +1 -0
- package/dist/multistream/receiveSlot.d.ts +68 -0
- package/dist/multistream/receiveSlot.js +200 -0
- package/dist/multistream/receiveSlot.js.map +1 -0
- package/dist/multistream/receiveSlotManager.d.ts +56 -0
- package/dist/multistream/receiveSlotManager.js +174 -0
- package/dist/multistream/receiveSlotManager.js.map +1 -0
- package/dist/multistream/remoteMedia.d.ts +72 -0
- package/dist/multistream/remoteMedia.js +268 -0
- package/dist/multistream/remoteMedia.js.map +1 -0
- package/dist/multistream/remoteMediaGroup.d.ts +47 -0
- package/dist/multistream/remoteMediaGroup.js +267 -0
- package/dist/multistream/remoteMediaGroup.js.map +1 -0
- package/dist/multistream/remoteMediaManager.d.ts +285 -0
- package/dist/multistream/remoteMediaManager.js +1211 -0
- package/dist/multistream/remoteMediaManager.js.map +1 -0
- package/dist/multistream/sendSlotManager.d.ts +61 -0
- package/dist/multistream/sendSlotManager.js +236 -0
- package/dist/multistream/sendSlotManager.js.map +1 -0
- package/dist/networkQualityMonitor/index.js +5 -4
- package/dist/networkQualityMonitor/index.js.map +1 -1
- package/dist/personal-meeting-room/index.js +2 -3
- package/dist/personal-meeting-room/index.js.map +1 -1
- package/dist/personal-meeting-room/request.js +2 -3
- package/dist/personal-meeting-room/request.js.map +1 -1
- package/dist/personal-meeting-room/util.js +1 -2
- package/dist/personal-meeting-room/util.js.map +1 -1
- package/dist/reachability/clusterReachability.d.ts +109 -0
- package/dist/reachability/clusterReachability.js +357 -0
- package/dist/reachability/clusterReachability.js.map +1 -0
- package/dist/reachability/index.d.ts +61 -95
- package/dist/reachability/index.js +300 -393
- package/dist/reachability/index.js.map +1 -1
- package/dist/reachability/request.d.ts +7 -3
- package/dist/reachability/request.js +18 -10
- package/dist/reachability/request.js.map +1 -1
- package/dist/reachability/util.d.ts +8 -0
- package/dist/reachability/util.js +29 -0
- package/dist/reachability/util.js.map +1 -0
- package/dist/reactions/constants.d.ts +3 -0
- package/dist/reactions/constants.js +12 -0
- package/dist/reactions/constants.js.map +1 -0
- package/dist/reactions/reactions.d.ts +2 -2
- package/dist/reactions/reactions.js +4 -6
- package/dist/reactions/reactions.js.map +1 -1
- package/dist/reactions/reactions.type.d.ts +23 -3
- package/dist/reactions/reactions.type.js +21 -23
- package/dist/reactions/reactions.type.js.map +1 -1
- package/dist/reconnection-manager/index.d.ts +32 -8
- package/dist/reconnection-manager/index.js +282 -231
- package/dist/reconnection-manager/index.js.map +1 -1
- package/dist/recording-controller/enums.js +4 -5
- package/dist/recording-controller/enums.js.map +1 -1
- package/dist/recording-controller/index.d.ts +15 -1
- package/dist/recording-controller/index.js +57 -46
- package/dist/recording-controller/index.js.map +1 -1
- package/dist/recording-controller/util.d.ts +5 -4
- package/dist/recording-controller/util.js +10 -10
- package/dist/recording-controller/util.js.map +1 -1
- package/dist/roap/index.d.ts +9 -47
- package/dist/roap/index.js +101 -235
- package/dist/roap/index.js.map +1 -1
- package/dist/roap/request.d.ts +18 -12
- package/dist/roap/request.js +126 -180
- package/dist/roap/request.js.map +1 -1
- package/dist/roap/turnDiscovery.d.ts +27 -16
- package/dist/roap/turnDiscovery.js +115 -105
- package/dist/roap/turnDiscovery.js.map +1 -1
- package/dist/rtcMetrics/constants.d.ts +4 -0
- package/dist/rtcMetrics/constants.js +11 -0
- package/dist/rtcMetrics/constants.js.map +1 -0
- package/dist/rtcMetrics/index.d.ts +54 -0
- package/dist/rtcMetrics/index.js +140 -0
- package/dist/rtcMetrics/index.js.map +1 -0
- package/dist/statsAnalyzer/global.d.ts +1 -83
- package/dist/statsAnalyzer/global.js +2 -85
- package/dist/statsAnalyzer/global.js.map +1 -1
- package/dist/statsAnalyzer/index.d.ts +50 -30
- package/dist/statsAnalyzer/index.js +435 -510
- package/dist/statsAnalyzer/index.js.map +1 -1
- package/dist/statsAnalyzer/mqaUtil.d.ts +8 -6
- package/dist/statsAnalyzer/mqaUtil.js +120 -83
- package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
- package/dist/transcription/index.js +1 -2
- package/dist/transcription/index.js.map +1 -1
- package/dist/webinar/collection.d.ts +16 -0
- package/dist/webinar/collection.js +43 -0
- package/dist/webinar/collection.js.map +1 -0
- package/dist/webinar/index.d.ts +5 -0
- package/dist/webinar/index.js +68 -0
- package/dist/webinar/index.js.map +1 -0
- package/package.json +38 -26
- 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 +220 -0
- package/src/breakouts/breakout.ts +188 -0
- package/src/breakouts/collection.ts +19 -0
- package/src/breakouts/edit-lock-error.ts +25 -0
- package/src/breakouts/events.ts +56 -0
- package/src/breakouts/index.ts +925 -0
- package/src/breakouts/request.ts +55 -0
- package/src/breakouts/utils.ts +57 -0
- package/src/common/errors/no-meeting-info.ts +24 -0
- package/src/common/errors/webex-errors.ts +36 -12
- package/src/common/logs/logger-proxy.ts +1 -1
- package/src/common/logs/request.ts +5 -1
- package/src/common/queue.ts +22 -8
- package/src/config.ts +6 -7
- package/src/constants.ts +244 -97
- package/src/controls-options-manager/enums.ts +12 -0
- package/src/controls-options-manager/index.ts +116 -21
- package/src/controls-options-manager/types.ts +59 -0
- package/src/controls-options-manager/util.ts +294 -14
- package/src/index.ts +44 -0
- package/src/interceptors/index.ts +3 -0
- package/src/interceptors/locusRetry.ts +67 -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 +110 -0
- package/src/locus-info/index.ts +449 -61
- package/src/locus-info/infoUtils.ts +14 -2
- package/src/locus-info/mediaSharesUtils.ts +64 -0
- package/src/locus-info/parser.ts +258 -47
- package/src/locus-info/selfUtils.ts +85 -2
- package/src/media/index.ts +153 -370
- package/src/media/properties.ts +106 -136
- package/src/media/util.ts +0 -21
- package/src/mediaQualityMetrics/config.ts +244 -377
- package/src/meeting/in-meeting-actions.ts +176 -0
- package/src/meeting/index.ts +3944 -2489
- package/src/meeting/locusMediaRequest.ts +313 -0
- package/src/meeting/muteState.ts +224 -138
- package/src/meeting/request.ts +207 -127
- package/src/meeting/request.type.ts +13 -0
- package/src/meeting/util.ts +590 -423
- package/src/meeting-info/index.ts +81 -8
- package/src/meeting-info/meeting-info-v2.ts +163 -13
- package/src/meeting-info/util.ts +1 -1
- package/src/meeting-info/utilv2.ts +28 -28
- package/src/meetings/collection.ts +33 -0
- package/src/meetings/index.ts +487 -126
- package/src/meetings/meetings.types.ts +12 -0
- package/src/meetings/request.ts +2 -0
- package/src/meetings/util.ts +116 -5
- package/src/member/index.ts +43 -1
- package/src/member/types.ts +38 -0
- package/src/member/util.ts +125 -28
- package/src/members/collection.ts +8 -0
- package/src/members/index.ts +187 -52
- package/src/members/request.ts +87 -27
- package/src/members/util.ts +332 -291
- package/src/metrics/constants.ts +15 -6
- package/src/metrics/index.ts +1 -471
- package/src/multistream/mediaRequestManager.ts +440 -0
- package/src/multistream/receiveSlot.ts +184 -0
- package/src/multistream/receiveSlotManager.ts +166 -0
- package/src/multistream/remoteMedia.ts +254 -0
- package/src/multistream/remoteMediaGroup.ts +284 -0
- package/src/multistream/remoteMediaManager.ts +1145 -0
- package/src/multistream/sendSlotManager.ts +170 -0
- package/src/networkQualityMonitor/index.ts +6 -6
- package/src/reachability/clusterReachability.ts +320 -0
- package/src/reachability/index.ts +243 -347
- package/src/reachability/request.ts +17 -8
- package/src/reachability/util.ts +24 -0
- package/src/reactions/constants.ts +4 -0
- package/src/reactions/reactions.ts +4 -4
- package/src/reactions/reactions.type.ts +30 -4
- package/src/reconnection-manager/index.ts +168 -156
- package/src/recording-controller/index.ts +20 -3
- package/src/recording-controller/util.ts +26 -9
- package/src/roap/index.ts +98 -241
- package/src/roap/request.ts +74 -148
- package/src/roap/turnDiscovery.ts +62 -56
- package/src/rtcMetrics/constants.ts +3 -0
- package/src/rtcMetrics/index.ts +124 -0
- package/src/statsAnalyzer/global.ts +1 -84
- package/src/statsAnalyzer/index.ts +477 -643
- package/src/statsAnalyzer/mqaUtil.ts +115 -114
- package/src/webinar/collection.ts +31 -0
- package/src/webinar/index.ts +62 -0
- package/test/integration/spec/converged-space-meetings.js +233 -0
- package/test/integration/spec/journey.js +320 -264
- 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 +237 -0
- package/test/unit/spec/breakouts/collection.ts +15 -0
- 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 +1790 -0
- 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 +163 -0
- package/test/unit/spec/controls-options-manager/util.js +576 -60
- package/test/unit/spec/fixture/locus.js +1 -0
- package/test/unit/spec/interceptors/locusRetry.ts +131 -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 +323 -30
- package/test/unit/spec/locus-info/index.js +1390 -16
- package/test/unit/spec/locus-info/infoUtils.js +54 -16
- package/test/unit/spec/locus-info/lib/SeqCmp.json +16 -0
- package/test/unit/spec/locus-info/lib/selfConstant.js +48 -0
- package/test/unit/spec/locus-info/mediaSharesUtils.ts +32 -0
- package/test/unit/spec/locus-info/parser.js +116 -35
- package/test/unit/spec/locus-info/selfUtils.js +275 -0
- package/test/unit/spec/media/index.ts +290 -0
- package/test/unit/spec/media/properties.ts +75 -84
- package/test/unit/spec/meeting/in-meeting-actions.ts +86 -0
- package/test/unit/spec/meeting/index.js +8187 -2769
- package/test/unit/spec/meeting/locusMediaRequest.ts +442 -0
- package/test/unit/spec/meeting/muteState.js +409 -213
- package/test/unit/spec/meeting/request.js +512 -42
- package/test/unit/spec/meeting/utils.js +741 -24
- package/test/unit/spec/meeting-info/index.js +300 -0
- package/test/unit/spec/meeting-info/meetinginfov2.js +527 -5
- package/test/unit/spec/meeting-info/utilv2.js +21 -0
- package/test/unit/spec/meetings/collection.js +26 -0
- package/test/unit/spec/meetings/index.js +1313 -243
- package/test/unit/spec/meetings/utils.js +202 -2
- package/test/unit/spec/member/index.js +32 -9
- package/test/unit/spec/member/util.js +499 -61
- package/test/unit/spec/members/index.js +394 -5
- package/test/unit/spec/members/request.js +206 -27
- package/test/unit/spec/members/utils.js +173 -38
- package/test/unit/spec/metrics/index.js +1 -50
- package/test/unit/spec/multistream/mediaRequestManager.ts +1418 -0
- package/test/unit/spec/multistream/receiveSlot.ts +163 -0
- package/test/unit/spec/multistream/receiveSlotManager.ts +203 -0
- package/test/unit/spec/multistream/remoteMedia.ts +255 -0
- package/test/unit/spec/multistream/remoteMediaGroup.ts +662 -0
- package/test/unit/spec/multistream/remoteMediaManager.ts +1924 -0
- package/test/unit/spec/multistream/sendSlotManager.ts +242 -0
- package/test/unit/spec/networkQualityMonitor/index.js +4 -4
- package/test/unit/spec/reachability/clusterReachability.ts +279 -0
- package/test/unit/spec/reachability/index.ts +531 -24
- package/test/unit/spec/reachability/request.js +68 -0
- package/test/unit/spec/reachability/util.ts +40 -0
- package/test/unit/spec/reconnection-manager/index.js +162 -24
- package/test/unit/spec/recording-controller/index.js +293 -218
- package/test/unit/spec/recording-controller/util.js +223 -96
- package/test/unit/spec/roap/index.ts +200 -76
- package/test/unit/spec/roap/request.ts +255 -0
- package/test/unit/spec/roap/turnDiscovery.ts +86 -48
- package/test/unit/spec/rtcMetrics/index.ts +93 -0
- package/test/unit/spec/stats-analyzer/index.js +261 -167
- package/test/unit/spec/webinar/collection.ts +13 -0
- package/test/unit/spec/webinar/index.ts +60 -0
- 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 +7 -3
- package/dist/common/errors/reclaim-host-role-error.js.map +0 -1
- package/dist/meeting/effectsState.d.ts +0 -42
- package/dist/meeting/effectsState.js +0 -260
- package/dist/meeting/effectsState.js.map +0 -1
- package/dist/metrics/config.d.ts +0 -169
- package/dist/metrics/config.js +0 -289
- package/dist/metrics/config.js.map +0 -1
- package/dist/peer-connection-manager/index.d.ts +0 -6
- package/dist/peer-connection-manager/index.js +0 -671
- package/dist/peer-connection-manager/index.js.map +0 -1
- package/dist/peer-connection-manager/util.d.ts +0 -6
- package/dist/peer-connection-manager/util.js +0 -110
- package/dist/peer-connection-manager/util.js.map +0 -1
- package/dist/roap/collection.d.ts +0 -10
- package/dist/roap/collection.js +0 -63
- package/dist/roap/collection.js.map +0 -1
- package/dist/roap/handler.d.ts +0 -47
- package/dist/roap/handler.js +0 -279
- package/dist/roap/handler.js.map +0 -1
- package/dist/roap/state.d.ts +0 -9
- package/dist/roap/state.js +0 -127
- package/dist/roap/state.js.map +0 -1
- package/dist/roap/util.d.ts +0 -2
- package/dist/roap/util.js +0 -76
- package/dist/roap/util.js.map +0 -1
- package/src/index.js +0 -15
- package/src/meeting/effectsState.ts +0 -209
- package/src/metrics/config.ts +0 -485
- package/src/peer-connection-manager/index.ts +0 -847
- package/src/peer-connection-manager/util.ts +0 -119
- package/src/roap/collection.ts +0 -62
- package/src/roap/handler.ts +0 -294
- package/src/roap/state.ts +0 -156
- package/src/roap/util.ts +0 -100
- package/test/unit/spec/meeting/effectsState.js +0 -281
- package/test/unit/spec/peerconnection-manager/index.js +0 -218
- package/test/unit/spec/peerconnection-manager/utils.js +0 -49
- package/test/unit/spec/peerconnection-manager/utils.test-fixtures.ts +0 -388
- package/test/unit/spec/roap/util.js +0 -30
- /package/dist/common/errors/{reclaim-host-role-error.d.ts → reclaim-host-role-errors.d.ts} +0 -0
- /package/src/common/errors/{reclaim-host-role-error.ts → reclaim-host-role-errors.ts} +0 -0
package/dist/roap/index.d.ts
CHANGED
|
@@ -5,8 +5,9 @@ import Meeting from '../meeting';
|
|
|
5
5
|
* @typedef {Object} RoapOptions
|
|
6
6
|
* @property {String} sdp
|
|
7
7
|
* @property {Meeting} meeting
|
|
8
|
-
* @property {Number}
|
|
9
|
-
* @property {
|
|
8
|
+
* @property {Number} seq
|
|
9
|
+
* @property {Number} tieBreaker
|
|
10
|
+
* @property {Boolean} reconnect
|
|
10
11
|
*/
|
|
11
12
|
/**
|
|
12
13
|
* @typedef {Object} SeqOptions
|
|
@@ -32,76 +33,36 @@ export default class Roap extends StatelessWebexPlugin {
|
|
|
32
33
|
* @param {Object} options
|
|
33
34
|
*/
|
|
34
35
|
constructor(attrs: any, options: any);
|
|
35
|
-
/**
|
|
36
|
-
* Starts listening to mercury events for Roap messages
|
|
37
|
-
* @param {object} data event object
|
|
38
|
-
* @returns {Promise}
|
|
39
|
-
* @private
|
|
40
|
-
* @memberof Roap
|
|
41
|
-
*/
|
|
42
|
-
private roapEvent;
|
|
43
|
-
/**
|
|
44
|
-
*
|
|
45
|
-
* @param {String} correlationId correlation id of a meeting
|
|
46
|
-
* @param {Number} seq ROAP sequence number
|
|
47
|
-
* @returns {Promise}
|
|
48
|
-
* @private
|
|
49
|
-
* @memberof Roap
|
|
50
|
-
*/
|
|
51
|
-
private stop;
|
|
52
36
|
/**
|
|
53
37
|
*
|
|
54
38
|
* @param {SeqOptions} options
|
|
55
39
|
* @returns {null}
|
|
56
|
-
* @private
|
|
57
40
|
* @memberof Roap
|
|
58
41
|
*/
|
|
59
|
-
|
|
42
|
+
sendRoapOK(options: any): Promise<any>;
|
|
60
43
|
/**
|
|
61
44
|
* Sends a ROAP answer...
|
|
62
45
|
* @param {SeqOptions} options
|
|
63
46
|
* @param {Boolean} options.audioMuted
|
|
64
47
|
* @param {Boolean} options.videoMuted
|
|
65
48
|
* @returns {Promise}
|
|
66
|
-
* @private
|
|
67
49
|
* @memberof Roap
|
|
68
50
|
*/
|
|
69
|
-
|
|
51
|
+
sendRoapAnswer(options: any): any;
|
|
70
52
|
/**
|
|
71
53
|
* Sends a ROAP error...
|
|
72
|
-
* @param {Object}
|
|
73
|
-
* @param {Object} locus
|
|
74
|
-
* @param {String} errorType
|
|
54
|
+
* @param {Object} options
|
|
75
55
|
* @returns {Promise}
|
|
76
|
-
* @private
|
|
77
56
|
* @memberof Roap
|
|
78
57
|
*/
|
|
79
|
-
|
|
58
|
+
sendRoapError(options: any): any;
|
|
80
59
|
/**
|
|
81
60
|
* sends a roap media request
|
|
82
61
|
* @param {RoapOptions} options
|
|
83
62
|
* @returns {Promise}
|
|
84
|
-
* @private
|
|
85
63
|
* @memberof Roap
|
|
86
64
|
*/
|
|
87
65
|
sendRoapMediaRequest(options: any): any;
|
|
88
|
-
/**
|
|
89
|
-
* sends a roap media request
|
|
90
|
-
* @param {RoapOptions} options
|
|
91
|
-
* @returns {Promise}
|
|
92
|
-
* @private
|
|
93
|
-
* @memberof Roap
|
|
94
|
-
*/
|
|
95
|
-
sendRoapCallRequest: (options: any) => any;
|
|
96
|
-
/**
|
|
97
|
-
* Called when the roap sequence is finished (completed successfully or failed)
|
|
98
|
-
* @param {String} correlationId id of the meeting affected
|
|
99
|
-
* @param {String} sequenceId the id of the finished sequence
|
|
100
|
-
* @returns {undefined}
|
|
101
|
-
* @private
|
|
102
|
-
* @memberof Roap
|
|
103
|
-
*/
|
|
104
|
-
private roapFinished;
|
|
105
66
|
/**
|
|
106
67
|
* Performs a TURN server discovery procedure, which involves exchanging
|
|
107
68
|
* some roap messages with the server. This exchange has to be done before
|
|
@@ -110,7 +71,8 @@ export default class Roap extends StatelessWebexPlugin {
|
|
|
110
71
|
* @param {Meeting} meeting
|
|
111
72
|
* @param {Boolean} isReconnecting should be set to true if this is a new
|
|
112
73
|
* media connection just after a reconnection
|
|
74
|
+
* @param {Boolean} [isForced]
|
|
113
75
|
* @returns {Promise}
|
|
114
76
|
*/
|
|
115
|
-
doTurnDiscovery(meeting: Meeting, isReconnecting: boolean): any;
|
|
77
|
+
doTurnDiscovery(meeting: Meeting, isReconnecting: boolean, isForced?: boolean): any;
|
|
116
78
|
}
|
package/dist/roap/index.js
CHANGED
|
@@ -7,9 +7,6 @@ _Object$defineProperty(exports, "__esModule", {
|
|
|
7
7
|
value: true
|
|
8
8
|
});
|
|
9
9
|
exports.default = void 0;
|
|
10
|
-
var _isNan = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/number/is-nan"));
|
|
11
|
-
var _parseFloat2 = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/parse-float"));
|
|
12
|
-
var _stringify = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/json/stringify"));
|
|
13
10
|
var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
|
|
14
11
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
|
|
15
12
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
|
|
@@ -21,20 +18,21 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/he
|
|
|
21
18
|
var _webexCore = require("@webex/webex-core");
|
|
22
19
|
var _constants = require("../constants");
|
|
23
20
|
var _loggerProxy = _interopRequireDefault(require("../common/logs/logger-proxy"));
|
|
24
|
-
var _util = _interopRequireDefault(require("../meeting/util"));
|
|
25
|
-
var _handler = _interopRequireDefault(require("./handler"));
|
|
26
21
|
var _request = _interopRequireDefault(require("./request"));
|
|
27
|
-
var _collection = _interopRequireDefault(require("./collection"));
|
|
28
22
|
var _turnDiscovery = _interopRequireDefault(require("./turnDiscovery"));
|
|
23
|
+
var _util = _interopRequireDefault(require("../meeting/util"));
|
|
24
|
+
var _metrics = _interopRequireDefault(require("../metrics"));
|
|
25
|
+
var _constants2 = _interopRequireDefault(require("../metrics/constants"));
|
|
29
26
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = _Reflect$construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
|
|
30
|
-
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_Reflect$construct) return false; if (_Reflect$construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
27
|
+
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_Reflect$construct) return false; if (_Reflect$construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } // @ts-ignore
|
|
31
28
|
/**
|
|
32
29
|
* Roap options
|
|
33
30
|
* @typedef {Object} RoapOptions
|
|
34
31
|
* @property {String} sdp
|
|
35
32
|
* @property {Meeting} meeting
|
|
36
|
-
* @property {Number}
|
|
37
|
-
* @property {
|
|
33
|
+
* @property {Number} seq
|
|
34
|
+
* @property {Number} tieBreaker
|
|
35
|
+
* @property {Boolean} reconnect
|
|
38
36
|
*/
|
|
39
37
|
/**
|
|
40
38
|
* @typedef {Object} SeqOptions
|
|
@@ -47,7 +45,7 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_R
|
|
|
47
45
|
* @export
|
|
48
46
|
* @private
|
|
49
47
|
*/
|
|
50
|
-
var Roap = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
48
|
+
var Roap = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
51
49
|
(0, _inherits2.default)(Roap, _StatelessWebexPlugin);
|
|
52
50
|
var _super = _createSuper(Roap);
|
|
53
51
|
/**
|
|
@@ -55,10 +53,10 @@ var Roap = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
55
53
|
* @param {Object} attrs
|
|
56
54
|
* @param {Object} options
|
|
57
55
|
*/
|
|
58
|
-
function Roap(attrs,
|
|
56
|
+
function Roap(attrs, options) {
|
|
59
57
|
var _this;
|
|
60
58
|
(0, _classCallCheck2.default)(this, Roap);
|
|
61
|
-
_this = _super.call(this, {},
|
|
59
|
+
_this = _super.call(this, {}, options);
|
|
62
60
|
/**
|
|
63
61
|
* @instance
|
|
64
62
|
* @type {Object}
|
|
@@ -71,59 +69,6 @@ var Roap = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
71
69
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "roapHandler", void 0);
|
|
72
70
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "roapRequest", void 0);
|
|
73
71
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "turnDiscovery", void 0);
|
|
74
|
-
/**
|
|
75
|
-
* sends a roap media request
|
|
76
|
-
* @param {RoapOptions} options
|
|
77
|
-
* @returns {Promise}
|
|
78
|
-
* @private
|
|
79
|
-
* @memberof Roap
|
|
80
|
-
*/
|
|
81
|
-
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "sendRoapCallRequest", function (options) {
|
|
82
|
-
var _meeting$audio, _meeting$video;
|
|
83
|
-
var meeting = options.meeting;
|
|
84
|
-
var roapMessage = {
|
|
85
|
-
messageType: _constants.ROAP.ROAP_TYPES.OFFER,
|
|
86
|
-
sdps: [options.sdp],
|
|
87
|
-
version: _constants.ROAP.ROAP_VERSION,
|
|
88
|
-
seq: typeof options.roapSeq !== 'number' && (0, _isNan.default)((0, _parseFloat2.default)(options.roapSeq)) ? 0 : options.roapSeq + 1,
|
|
89
|
-
tieBreaker: 4294967294 // Math.floor(Math.random() * (2 ** 32) - 1) // TODO: Handle the roap conflict scenario
|
|
90
|
-
};
|
|
91
|
-
|
|
92
|
-
_this.roapHandler.submit({
|
|
93
|
-
type: _constants.ROAP.SEND_ROAP_MSG,
|
|
94
|
-
msg: roapMessage,
|
|
95
|
-
correlationId: meeting.correlationId
|
|
96
|
-
});
|
|
97
|
-
var roapBody = {
|
|
98
|
-
localMedias: [{
|
|
99
|
-
localSdp: (0, _stringify.default)(_this.roapRequest.attachRechabilityData({
|
|
100
|
-
roapMessage: roapMessage,
|
|
101
|
-
// eslint-disable-next-line no-warning-comments
|
|
102
|
-
// TODO: check whats the need for video and audiomute
|
|
103
|
-
audioMuted: (_meeting$audio = meeting.audio) === null || _meeting$audio === void 0 ? void 0 : _meeting$audio.isLocallyMuted(),
|
|
104
|
-
videoMuted: (_meeting$video = meeting.video) === null || _meeting$video === void 0 ? void 0 : _meeting$video.isLocallyMuted()
|
|
105
|
-
}))
|
|
106
|
-
// mediaId: meeting.mediaId
|
|
107
|
-
}]
|
|
108
|
-
};
|
|
109
|
-
|
|
110
|
-
return _util.default.joinMeetingOptions(meeting, {
|
|
111
|
-
roapMessage: roapBody
|
|
112
|
-
}).then(function (locus) {
|
|
113
|
-
_this.roapHandler.submit({
|
|
114
|
-
type: _constants.ROAP.SEND_ROAP_MSG_SUCCESS,
|
|
115
|
-
seq: roapMessage.seq,
|
|
116
|
-
correlationId: meeting.correlationId
|
|
117
|
-
});
|
|
118
|
-
meeting.setRoapSeq(roapMessage.seq);
|
|
119
|
-
|
|
120
|
-
// eslint-disable-next-line no-warning-comments
|
|
121
|
-
// TODO: we need to attach peerconenction to locus not sure if we need to pass everything here
|
|
122
|
-
return locus;
|
|
123
|
-
// eslint-disable-next-line no-warning-comments
|
|
124
|
-
// TODO: check where to update the sequence number
|
|
125
|
-
});
|
|
126
|
-
});
|
|
127
72
|
_this.attrs = attrs;
|
|
128
73
|
/**
|
|
129
74
|
* @instance
|
|
@@ -131,15 +76,7 @@ var Roap = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
131
76
|
* @private
|
|
132
77
|
* @memberof Roap
|
|
133
78
|
*/
|
|
134
|
-
_this.options =
|
|
135
|
-
/**
|
|
136
|
-
* The Roap Process State Handler
|
|
137
|
-
* @instance
|
|
138
|
-
* @type {RoapHandler}
|
|
139
|
-
* @private
|
|
140
|
-
* @memberof Roap
|
|
141
|
-
*/
|
|
142
|
-
_this.roapHandler = new _handler.default(_this.attrs, _this.options, _this.sendRoapOK.bind((0, _assertThisInitialized2.default)(_this)), _this.sendRoapAnswer.bind((0, _assertThisInitialized2.default)(_this)), _this.roapFinished.bind((0, _assertThisInitialized2.default)(_this)));
|
|
79
|
+
_this.options = options;
|
|
143
80
|
/**
|
|
144
81
|
* The Roap Request Server Proxy Object
|
|
145
82
|
* @instance
|
|
@@ -148,77 +85,23 @@ var Roap = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
148
85
|
* @memberof Roap
|
|
149
86
|
*/
|
|
150
87
|
// @ts-ignore
|
|
151
|
-
_this.roapRequest = new _request.default({},
|
|
152
|
-
/**
|
|
153
|
-
* The last roap offer sent to server and acked
|
|
154
|
-
* @instance
|
|
155
|
-
* @type {Object}
|
|
156
|
-
* @private
|
|
157
|
-
* @memberof Roap
|
|
158
|
-
*/
|
|
159
|
-
_this.lastRoapOffer = {};
|
|
88
|
+
_this.roapRequest = new _request.default({}, options);
|
|
160
89
|
_this.turnDiscovery = new _turnDiscovery.default(_this.roapRequest);
|
|
161
90
|
return _this;
|
|
162
91
|
}
|
|
163
92
|
|
|
164
93
|
/**
|
|
165
|
-
*
|
|
166
|
-
* @param {
|
|
167
|
-
* @returns {
|
|
168
|
-
* @private
|
|
94
|
+
*
|
|
95
|
+
* @param {SeqOptions} options
|
|
96
|
+
* @returns {null}
|
|
169
97
|
* @memberof Roap
|
|
170
98
|
*/
|
|
171
99
|
(0, _createClass2.default)(Roap, [{
|
|
172
|
-
key: "roapEvent",
|
|
173
|
-
value: function roapEvent(data) {
|
|
174
|
-
var msg = data.message;
|
|
175
|
-
var correlationId = data.correlationId;
|
|
176
|
-
_loggerProxy.default.logger.log("Roap:index#roapEvent --> Received Roap Message [".concat((0, _stringify.default)(msg, null, 2), "]"));
|
|
177
|
-
if (msg.messageType === _constants.ROAP.ROAP_TYPES.TURN_DISCOVERY_RESPONSE) {
|
|
178
|
-
// turn discovery is not part of normal roap protocol and so we are not handling it
|
|
179
|
-
// through the usual roap state machine
|
|
180
|
-
this.turnDiscovery.handleTurnDiscoveryResponse(msg);
|
|
181
|
-
} else {
|
|
182
|
-
this.roapHandler.submit({
|
|
183
|
-
type: _constants.ROAP.RECEIVE_ROAP_MSG,
|
|
184
|
-
msg: msg,
|
|
185
|
-
correlationId: correlationId
|
|
186
|
-
});
|
|
187
|
-
}
|
|
188
|
-
}
|
|
189
|
-
|
|
190
|
-
/**
|
|
191
|
-
*
|
|
192
|
-
* @param {String} correlationId correlation id of a meeting
|
|
193
|
-
* @param {Number} seq ROAP sequence number
|
|
194
|
-
* @returns {Promise}
|
|
195
|
-
* @private
|
|
196
|
-
* @memberof Roap
|
|
197
|
-
*/
|
|
198
|
-
}, {
|
|
199
|
-
key: "stop",
|
|
200
|
-
value: function stop(correlationId, seq) {
|
|
201
|
-
this.roapHandler.submit({
|
|
202
|
-
type: _constants.ROAP.RECEIVE_CALL_LEAVE,
|
|
203
|
-
seq: seq,
|
|
204
|
-
correlationId: correlationId
|
|
205
|
-
});
|
|
206
|
-
return _promise.default.resolve();
|
|
207
|
-
}
|
|
208
|
-
|
|
209
|
-
/**
|
|
210
|
-
*
|
|
211
|
-
* @param {SeqOptions} options
|
|
212
|
-
* @returns {null}
|
|
213
|
-
* @private
|
|
214
|
-
* @memberof Roap
|
|
215
|
-
*/
|
|
216
|
-
}, {
|
|
217
100
|
key: "sendRoapOK",
|
|
218
101
|
value: function sendRoapOK(options) {
|
|
219
102
|
var _this2 = this;
|
|
220
103
|
return _promise.default.resolve().then(function () {
|
|
221
|
-
var _meeting$
|
|
104
|
+
var _meeting$audio, _meeting$video;
|
|
222
105
|
// @ts-ignore
|
|
223
106
|
var meeting = _this2.webex.meetings.meetingCollection.getByKey('correlationId', options.correlationId);
|
|
224
107
|
var roapMessage = {
|
|
@@ -231,174 +114,157 @@ var Roap = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
231
114
|
roapMessage: roapMessage,
|
|
232
115
|
locusSelfUrl: meeting.selfUrl,
|
|
233
116
|
mediaId: options.mediaId,
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
117
|
+
audioMuted: (_meeting$audio = meeting.audio) === null || _meeting$audio === void 0 ? void 0 : _meeting$audio.isLocallyMuted(),
|
|
118
|
+
videoMuted: (_meeting$video = meeting.video) === null || _meeting$video === void 0 ? void 0 : _meeting$video.isLocallyMuted(),
|
|
119
|
+
meetingId: meeting.id,
|
|
120
|
+
locusMediaRequest: meeting.locusMediaRequest
|
|
238
121
|
}).then(function () {
|
|
239
|
-
_this2.roapHandler.submit({
|
|
240
|
-
type: _constants.ROAP.SEND_ROAP_MSG,
|
|
241
|
-
msg: roapMessage,
|
|
242
|
-
correlationId: options.correlationId
|
|
243
|
-
});
|
|
244
122
|
_loggerProxy.default.logger.log("Roap:index#sendRoapOK --> ROAP OK sent with seq ".concat(options.seq));
|
|
245
|
-
meeting.setRoapSeq(options.seq);
|
|
246
123
|
});
|
|
247
124
|
});
|
|
248
125
|
}
|
|
249
126
|
|
|
250
|
-
// eslint-disable-next-line no-warning-comments
|
|
251
|
-
// TODO: try to merge sendRoapOk and roapAnswer
|
|
252
127
|
/**
|
|
253
128
|
* Sends a ROAP answer...
|
|
254
129
|
* @param {SeqOptions} options
|
|
255
130
|
* @param {Boolean} options.audioMuted
|
|
256
131
|
* @param {Boolean} options.videoMuted
|
|
257
132
|
* @returns {Promise}
|
|
258
|
-
* @private
|
|
259
133
|
* @memberof Roap
|
|
260
134
|
*/
|
|
261
135
|
}, {
|
|
262
136
|
key: "sendRoapAnswer",
|
|
263
137
|
value: function sendRoapAnswer(options) {
|
|
264
|
-
var _meeting$
|
|
265
|
-
_meeting$video3,
|
|
266
|
-
_this3 = this;
|
|
138
|
+
var _meeting$audio2, _meeting$video2;
|
|
267
139
|
// @ts-ignore
|
|
268
140
|
var meeting = this.webex.meetings.meetingCollection.getByKey('correlationId', options.correlationId);
|
|
269
141
|
var roapMessage = {
|
|
270
142
|
messageType: _constants.ROAP.ROAP_TYPES.ANSWER,
|
|
271
|
-
sdps: options.
|
|
143
|
+
sdps: [options.sdp],
|
|
272
144
|
version: _constants.ROAP.ROAP_VERSION,
|
|
273
145
|
seq: options.seq
|
|
274
146
|
};
|
|
275
|
-
this.roapHandler.submit({
|
|
276
|
-
type: _constants.ROAP.SEND_ROAP_MSG,
|
|
277
|
-
msg: roapMessage,
|
|
278
|
-
correlationId: options.correlationId
|
|
279
|
-
});
|
|
280
147
|
return this.roapRequest.sendRoap({
|
|
281
148
|
roapMessage: roapMessage,
|
|
282
149
|
locusSelfUrl: meeting.selfUrl,
|
|
283
150
|
mediaId: options.mediaId,
|
|
284
|
-
|
|
285
|
-
audioMuted: (_meeting$
|
|
286
|
-
videoMuted: (_meeting$
|
|
287
|
-
|
|
288
|
-
}).then(function () {
|
|
289
|
-
meeting.setRoapSeq(options.seq);
|
|
290
|
-
_this3.roapHandler.submit({
|
|
291
|
-
type: _constants.ROAP.SEND_ROAP_MSG_SUCCESS,
|
|
292
|
-
seq: roapMessage.seq,
|
|
293
|
-
correlationId: meeting.correlationId
|
|
294
|
-
});
|
|
151
|
+
meetingId: meeting.id,
|
|
152
|
+
audioMuted: (_meeting$audio2 = meeting.audio) === null || _meeting$audio2 === void 0 ? void 0 : _meeting$audio2.isLocallyMuted(),
|
|
153
|
+
videoMuted: (_meeting$video2 = meeting.video) === null || _meeting$video2 === void 0 ? void 0 : _meeting$video2.isLocallyMuted(),
|
|
154
|
+
locusMediaRequest: meeting.locusMediaRequest
|
|
295
155
|
});
|
|
296
156
|
}
|
|
297
157
|
|
|
298
158
|
/**
|
|
299
159
|
* Sends a ROAP error...
|
|
300
|
-
* @param {Object}
|
|
301
|
-
* @param {Object} locus
|
|
302
|
-
* @param {String} errorType
|
|
160
|
+
* @param {Object} options
|
|
303
161
|
* @returns {Promise}
|
|
304
|
-
* @private
|
|
305
162
|
* @memberof Roap
|
|
306
163
|
*/
|
|
307
164
|
}, {
|
|
308
165
|
key: "sendRoapError",
|
|
309
|
-
value: function sendRoapError(
|
|
310
|
-
var
|
|
166
|
+
value: function sendRoapError(options) {
|
|
167
|
+
var _meeting$audio3, _meeting$video3;
|
|
168
|
+
// @ts-ignore
|
|
169
|
+
var meeting = this.webex.meetings.meetingCollection.getByKey('correlationId', options.correlationId);
|
|
170
|
+
var roapMessage = {
|
|
311
171
|
messageType: _constants.ROAP.ROAP_TYPES.ERROR,
|
|
312
172
|
version: _constants.ROAP.ROAP_VERSION,
|
|
313
|
-
errorType: errorType,
|
|
314
|
-
seq:
|
|
173
|
+
errorType: options.errorType,
|
|
174
|
+
seq: options.seq
|
|
315
175
|
};
|
|
316
|
-
return this.roapRequest.sendRoap(
|
|
176
|
+
return this.roapRequest.sendRoap({
|
|
177
|
+
roapMessage: roapMessage,
|
|
178
|
+
locusSelfUrl: meeting.selfUrl,
|
|
179
|
+
mediaId: options.mediaId,
|
|
180
|
+
audioMuted: (_meeting$audio3 = meeting.audio) === null || _meeting$audio3 === void 0 ? void 0 : _meeting$audio3.isLocallyMuted(),
|
|
181
|
+
videoMuted: (_meeting$video3 = meeting.video) === null || _meeting$video3 === void 0 ? void 0 : _meeting$video3.isLocallyMuted(),
|
|
182
|
+
meetingId: meeting.id,
|
|
183
|
+
locusMediaRequest: meeting.locusMediaRequest
|
|
184
|
+
}).then(function () {
|
|
185
|
+
_loggerProxy.default.logger.log("Roap:index#sendRoapError --> ROAP ERROR sent with seq ".concat(options.seq));
|
|
186
|
+
});
|
|
317
187
|
}
|
|
318
188
|
|
|
319
189
|
/**
|
|
320
190
|
* sends a roap media request
|
|
321
191
|
* @param {RoapOptions} options
|
|
322
192
|
* @returns {Promise}
|
|
323
|
-
* @private
|
|
324
193
|
* @memberof Roap
|
|
325
194
|
*/
|
|
326
195
|
}, {
|
|
327
196
|
key: "sendRoapMediaRequest",
|
|
328
197
|
value: function sendRoapMediaRequest(options) {
|
|
329
|
-
var
|
|
198
|
+
var _this3 = this;
|
|
330
199
|
var meeting = options.meeting,
|
|
331
|
-
|
|
200
|
+
seq = options.seq,
|
|
201
|
+
sdp = options.sdp,
|
|
202
|
+
reconnect = options.reconnect,
|
|
203
|
+
tieBreaker = options.tieBreaker;
|
|
332
204
|
var roapMessage = {
|
|
333
205
|
messageType: _constants.ROAP.ROAP_TYPES.OFFER,
|
|
334
|
-
sdps: [
|
|
335
|
-
// sdps: [options.sdp],
|
|
206
|
+
sdps: [sdp],
|
|
336
207
|
version: _constants.ROAP.ROAP_VERSION,
|
|
337
|
-
seq:
|
|
338
|
-
tieBreaker:
|
|
208
|
+
seq: seq,
|
|
209
|
+
tieBreaker: tieBreaker,
|
|
210
|
+
headers: ['includeAnswerInHttpResponse', 'noOkInTransaction']
|
|
339
211
|
};
|
|
340
212
|
|
|
341
|
-
this.roapHandler.submit({
|
|
342
|
-
type: _constants.ROAP.SEND_ROAP_MSG,
|
|
343
|
-
msg: roapMessage,
|
|
344
|
-
correlationId: meeting.correlationId
|
|
345
|
-
});
|
|
346
|
-
|
|
347
213
|
// When reconnecting, it's important that the first roap message being sent out has empty media id.
|
|
348
214
|
// Normally this is the roap offer, but when TURN discovery is enabled,
|
|
349
215
|
// then this is the TURN discovery request message
|
|
350
216
|
return this.turnDiscovery.isSkipped(meeting).then(function (isTurnDiscoverySkipped) {
|
|
351
|
-
var _meeting$audio4, _meeting$video4;
|
|
352
217
|
var sendEmptyMediaId = reconnect && isTurnDiscoverySkipped;
|
|
353
|
-
return
|
|
218
|
+
return _this3.roapRequest.sendRoap({
|
|
354
219
|
roapMessage: roapMessage,
|
|
355
|
-
correlationId: meeting.correlationId,
|
|
356
220
|
locusSelfUrl: meeting.selfUrl,
|
|
357
221
|
mediaId: sendEmptyMediaId ? '' : meeting.mediaId,
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
222
|
+
meetingId: meeting.id,
|
|
223
|
+
preferTranscoding: !meeting.isMultistream,
|
|
224
|
+
locusMediaRequest: meeting.locusMediaRequest,
|
|
225
|
+
ipVersion: _util.default.getIpVersion(meeting.webex)
|
|
226
|
+
}).then(function (_ref) {
|
|
227
|
+
var _mediaConnections$;
|
|
228
|
+
var locus = _ref.locus,
|
|
229
|
+
mediaConnections = _ref.mediaConnections;
|
|
230
|
+
if (mediaConnections) {
|
|
231
|
+
meeting.updateMediaConnections(mediaConnections);
|
|
232
|
+
}
|
|
233
|
+
var roapAnswer;
|
|
234
|
+
if (mediaConnections !== null && mediaConnections !== void 0 && (_mediaConnections$ = mediaConnections[0]) !== null && _mediaConnections$ !== void 0 && _mediaConnections$.remoteSdp) {
|
|
235
|
+
var remoteSdp = JSON.parse(mediaConnections[0].remoteSdp);
|
|
236
|
+
if (remoteSdp.roapMessage) {
|
|
237
|
+
var _remoteSdp$roapMessag = remoteSdp.roapMessage,
|
|
238
|
+
answerSeq = _remoteSdp$roapMessag.seq,
|
|
239
|
+
messageType = _remoteSdp$roapMessag.messageType,
|
|
240
|
+
sdps = _remoteSdp$roapMessag.sdps,
|
|
241
|
+
errorType = _remoteSdp$roapMessag.errorType,
|
|
242
|
+
errorCause = _remoteSdp$roapMessag.errorCause,
|
|
243
|
+
headers = _remoteSdp$roapMessag.headers;
|
|
244
|
+
roapAnswer = {
|
|
245
|
+
seq: answerSeq,
|
|
246
|
+
messageType: messageType,
|
|
247
|
+
sdp: sdps[0],
|
|
248
|
+
errorType: errorType,
|
|
249
|
+
errorCause: errorCause,
|
|
250
|
+
headers: headers
|
|
251
|
+
};
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
if (!roapAnswer) {
|
|
255
|
+
_metrics.default.sendBehavioralMetric(_constants2.default.ROAP_HTTP_RESPONSE_MISSING, {
|
|
256
|
+
correlationId: meeting.correlationId,
|
|
257
|
+
messageType: 'ANSWER',
|
|
258
|
+
isMultistream: meeting.isMultistream
|
|
259
|
+
});
|
|
260
|
+
}
|
|
261
|
+
return {
|
|
262
|
+
locus: locus,
|
|
263
|
+
roapAnswer: roapAnswer
|
|
264
|
+
};
|
|
369
265
|
});
|
|
370
|
-
meeting.setRoapSeq(roapMessage.seq);
|
|
371
|
-
if (mediaConnections) {
|
|
372
|
-
meeting.updateMediaConnections(mediaConnections);
|
|
373
|
-
}
|
|
374
|
-
|
|
375
|
-
// eslint-disable-next-line no-warning-comments
|
|
376
|
-
// TODO: we need to attach peerconenction to locus not sure if we need to pass everything here
|
|
377
|
-
return locus;
|
|
378
|
-
// eslint-disable-next-line no-warning-comments
|
|
379
|
-
// TODO: check where to update the sequence number
|
|
380
266
|
});
|
|
381
267
|
}
|
|
382
|
-
}, {
|
|
383
|
-
key: "roapFinished",
|
|
384
|
-
value:
|
|
385
|
-
/**
|
|
386
|
-
* Called when the roap sequence is finished (completed successfully or failed)
|
|
387
|
-
* @param {String} correlationId id of the meeting affected
|
|
388
|
-
* @param {String} sequenceId the id of the finished sequence
|
|
389
|
-
* @returns {undefined}
|
|
390
|
-
* @private
|
|
391
|
-
* @memberof Roap
|
|
392
|
-
*/
|
|
393
|
-
function roapFinished(correlationId, sequenceId) {
|
|
394
|
-
_collection.default.onSessionSequenceFinish(correlationId, sequenceId);
|
|
395
|
-
// @ts-ignore
|
|
396
|
-
var meeting = this.webex.meetings.meetingCollection.getByKey('correlationId', correlationId);
|
|
397
|
-
meeting.mediaNegotiatedEvent();
|
|
398
|
-
if (!_collection.default.isBusy(correlationId)) {
|
|
399
|
-
meeting.processNextQueuedMediaUpdate();
|
|
400
|
-
}
|
|
401
|
-
}
|
|
402
268
|
|
|
403
269
|
/**
|
|
404
270
|
* Performs a TURN server discovery procedure, which involves exchanging
|
|
@@ -408,15 +274,15 @@ var Roap = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
408
274
|
* @param {Meeting} meeting
|
|
409
275
|
* @param {Boolean} isReconnecting should be set to true if this is a new
|
|
410
276
|
* media connection just after a reconnection
|
|
277
|
+
* @param {Boolean} [isForced]
|
|
411
278
|
* @returns {Promise}
|
|
412
279
|
*/
|
|
413
280
|
}, {
|
|
414
281
|
key: "doTurnDiscovery",
|
|
415
|
-
value: function doTurnDiscovery(meeting, isReconnecting) {
|
|
416
|
-
return this.turnDiscovery.doTurnDiscovery(meeting, isReconnecting);
|
|
282
|
+
value: function doTurnDiscovery(meeting, isReconnecting, isForced) {
|
|
283
|
+
return this.turnDiscovery.doTurnDiscovery(meeting, isReconnecting, isForced);
|
|
417
284
|
}
|
|
418
285
|
}]);
|
|
419
286
|
return Roap;
|
|
420
287
|
}(_webexCore.StatelessWebexPlugin);
|
|
421
|
-
exports.default = Roap;
|
|
422
288
|
//# sourceMappingURL=index.js.map
|