@webex/plugin-meetings 3.0.0-beta.9 → 3.0.0-bnr.0
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/UPGRADING.md +9 -9
- package/browsers.js +19 -24
- package/dist/breakouts/breakout.js +178 -0
- package/dist/breakouts/breakout.js.map +1 -0
- package/dist/breakouts/collection.js +23 -0
- package/dist/breakouts/collection.js.map +1 -0
- package/dist/breakouts/edit-lock-error.js +52 -0
- package/dist/breakouts/edit-lock-error.js.map +1 -0
- package/dist/breakouts/index.js +843 -0
- package/dist/breakouts/index.js.map +1 -0
- package/dist/breakouts/request.js +78 -0
- package/dist/breakouts/request.js.map +1 -0
- package/dist/breakouts/utils.js +56 -0
- package/dist/breakouts/utils.js.map +1 -0
- package/dist/common/browser-detection.d.ts +9 -0
- package/dist/common/browser-detection.js +1 -20
- package/dist/common/browser-detection.js.map +1 -1
- package/dist/common/collection.d.ts +48 -0
- package/dist/common/collection.js +5 -20
- package/dist/common/collection.js.map +1 -1
- package/dist/common/config.d.ts +2 -0
- package/dist/common/config.js +0 -7
- package/dist/common/config.js.map +1 -1
- package/dist/common/errors/captcha-error.d.ts +15 -0
- package/dist/common/errors/captcha-error.js +5 -26
- package/dist/common/errors/captcha-error.js.map +1 -1
- package/dist/common/errors/intent-to-join.d.ts +16 -0
- package/dist/common/errors/intent-to-join.js +5 -26
- package/dist/common/errors/intent-to-join.js.map +1 -1
- package/dist/common/errors/join-meeting.d.ts +17 -0
- package/dist/common/errors/join-meeting.js +6 -27
- package/dist/common/errors/join-meeting.js.map +1 -1
- package/dist/common/errors/media.d.ts +15 -0
- package/dist/common/errors/media.js +5 -26
- package/dist/common/errors/media.js.map +1 -1
- package/dist/common/errors/parameter.d.ts +15 -0
- package/dist/common/errors/parameter.js +5 -33
- package/dist/common/errors/parameter.js.map +1 -1
- package/dist/common/errors/password-error.d.ts +15 -0
- package/dist/common/errors/password-error.js +5 -26
- package/dist/common/errors/password-error.js.map +1 -1
- package/dist/common/errors/permission.d.ts +14 -0
- package/dist/common/errors/permission.js +4 -25
- package/dist/common/errors/permission.js.map +1 -1
- package/dist/common/errors/reconnection-in-progress.d.ts +9 -0
- package/dist/common/errors/reconnection-in-progress.js +0 -17
- package/dist/common/errors/reconnection-in-progress.js.map +1 -1
- package/dist/common/errors/reconnection.d.ts +15 -0
- package/dist/common/errors/reconnection.js +5 -26
- package/dist/common/errors/reconnection.js.map +1 -1
- package/dist/common/errors/stats.d.ts +15 -0
- package/dist/common/errors/stats.js +5 -26
- package/dist/common/errors/stats.js.map +1 -1
- package/dist/common/errors/webex-errors.d.ts +81 -0
- package/dist/common/errors/webex-errors.js +6 -41
- package/dist/common/errors/webex-errors.js.map +1 -1
- package/dist/common/errors/webex-meetings-error.d.ts +20 -0
- package/dist/common/errors/webex-meetings-error.js +1 -24
- package/dist/common/errors/webex-meetings-error.js.map +1 -1
- package/dist/common/events/events-scope.d.ts +17 -0
- package/dist/common/events/events-scope.js +0 -22
- package/dist/common/events/events-scope.js.map +1 -1
- package/dist/common/events/events.d.ts +12 -0
- package/dist/common/events/events.js +0 -23
- package/dist/common/events/events.js.map +1 -1
- package/dist/common/events/trigger-proxy.d.ts +2 -0
- package/dist/common/events/trigger-proxy.js +0 -12
- package/dist/common/events/trigger-proxy.js.map +1 -1
- package/dist/common/events/util.d.ts +2 -0
- package/dist/common/events/util.js +0 -15
- package/dist/common/events/util.js.map +1 -1
- package/dist/common/logs/logger-config.d.ts +2 -0
- package/dist/common/logs/logger-config.js +0 -4
- package/dist/common/logs/logger-config.js.map +1 -1
- package/dist/common/logs/logger-proxy.d.ts +2 -0
- package/dist/common/logs/logger-proxy.js +1 -8
- package/dist/common/logs/logger-proxy.js.map +1 -1
- package/dist/common/logs/request.d.ts +34 -0
- package/dist/common/logs/request.js +35 -61
- package/dist/common/logs/request.js.map +1 -1
- package/dist/common/queue.d.ts +32 -0
- package/dist/common/queue.js +4 -14
- package/dist/common/queue.js.map +1 -1
- package/dist/config.d.ts +73 -0
- package/dist/config.js +6 -6
- package/dist/config.js.map +1 -1
- package/dist/constants.d.ts +924 -0
- package/dist/constants.js +143 -52
- package/dist/constants.js.map +1 -1
- package/dist/controls-options-manager/constants.d.ts +4 -0
- 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.d.ts +5 -0
- package/dist/controls-options-manager/enums.js +16 -0
- package/dist/controls-options-manager/enums.js.map +1 -0
- package/dist/controls-options-manager/index.d.ts +120 -0
- package/dist/controls-options-manager/index.js +261 -0
- package/dist/controls-options-manager/index.js.map +1 -0
- package/dist/controls-options-manager/util.d.ts +7 -0
- package/dist/controls-options-manager/util.js +39 -0
- package/dist/controls-options-manager/util.js.map +1 -0
- package/dist/docs/markdown/index.md +12 -0
- package/dist/docs/markdown/plugin-meetings.constants._active_.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants._answer_.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants._call_.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants._conflict_.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants._conversation_url_.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants._created_.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants._error_.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants._forced_.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants._id_.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants._idle_.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants._in_.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants._in_lobby_.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants._in_meeting_.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants._inactive_.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants._incoming_.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants._join_.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants._joined_.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants._left_.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants._locus_id_.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants._meeting_.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants._meeting_center_.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants._meeting_id_.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants._meeting_link_.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants._meeting_uuid_.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants._move_media_.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants._none_.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants._not_in_meeting_.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants._observe_.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants._people_.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants._personal_room_.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants._receive_only_.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants._remove_.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants._requested_.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants._resource_room_.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants._room_.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants._s_line.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants._send_only_.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants._send_receive_.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants._sip_bridge_.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants._sip_uri_.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants._slides_.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants._unknown_.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants._user_.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants._wait_.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants._webex_meeting_.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.alert.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.alternate_redirect_true.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.answer.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.api.md +14 -0
- package/dist/docs/markdown/plugin-meetings.constants.audio.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.audio_input.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.audio_status.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.available_resolutions.md +60 -0
- package/dist/docs/markdown/plugin-meetings.constants.bnr_status.md +16 -0
- package/dist/docs/markdown/plugin-meetings.constants.breakouts.md +51 -0
- package/dist/docs/markdown/plugin-meetings.constants.calendar.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.calendar_events.md +17 -0
- package/dist/docs/markdown/plugin-meetings.constants.calendar_events_api.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.call.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.call_removed_reason.md +15 -0
- package/dist/docs/markdown/plugin-meetings.constants.claim.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.cmr_meetings.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.complete.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.connection_state.md +18 -0
- package/dist/docs/markdown/plugin-meetings.constants.content.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.controls.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.conversation_service.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.conversation_url.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.correlation_id.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.decline.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.default_excluded_stats.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.default_get_stats_filter.md +13 -0
- package/dist/docs/markdown/plugin-meetings.constants.development.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.dialer_regex.md +15 -0
- package/dist/docs/markdown/plugin-meetings.constants.display_hints.md +51 -0
- package/dist/docs/markdown/plugin-meetings.constants.embedded_app_types.md +14 -0
- package/dist/docs/markdown/plugin-meetings.constants.end.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.ended.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.error.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.error_dictionary.md +62 -0
- package/dist/docs/markdown/plugin-meetings.constants.event_triggers.md +82 -0
- package/dist/docs/markdown/plugin-meetings.constants.event_types.md +21 -0
- package/dist/docs/markdown/plugin-meetings.constants.events.md +26 -0
- package/dist/docs/markdown/plugin-meetings.constants.floor_action.md +15 -0
- package/dist/docs/markdown/plugin-meetings.constants.full_state.md +17 -0
- package/dist/docs/markdown/plugin-meetings.constants.gathering.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.hecate.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.host.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.http_verbs.md +17 -0
- package/dist/docs/markdown/plugin-meetings.constants.https_protocol.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.ice_fail_timeout.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.ice_gathering_state.md +15 -0
- package/dist/docs/markdown/plugin-meetings.constants.ice_state.md +18 -0
- package/dist/docs/markdown/plugin-meetings.constants.ice_timeout.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.intent_to_join.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.ipv4_regex.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.join.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.layout_types.md +13 -0
- package/dist/docs/markdown/plugin-meetings.constants.leave.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.live.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.local.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.loci.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.locus.md +26 -0
- package/dist/docs/markdown/plugin-meetings.constants.locus_url.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.locusevent.md +33 -0
- package/dist/docs/markdown/plugin-meetings.constants.locusinfo.md +43 -0
- package/dist/docs/markdown/plugin-meetings.constants.max_random_delay_for_meeting_info.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.md +186 -0
- package/dist/docs/markdown/plugin-meetings.constants.media.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.media_devices.md +15 -0
- package/dist/docs/markdown/plugin-meetings.constants.media_peer_connection_name.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.media_state.md +14 -0
- package/dist/docs/markdown/plugin-meetings.constants.media_track_constraint.md +17 -0
- package/dist/docs/markdown/plugin-meetings.constants.mediacontent.md +14 -0
- package/dist/docs/markdown/plugin-meetings.constants.meet.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.meet_m.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.meeting_audio_state_machine.md +20 -0
- package/dist/docs/markdown/plugin-meetings.constants.meeting_end_reason.md +14 -0
- package/dist/docs/markdown/plugin-meetings.constants.meeting_errors.md +102 -0
- package/dist/docs/markdown/plugin-meetings.constants.meeting_info_failure_reason.md +16 -0
- package/dist/docs/markdown/plugin-meetings.constants.meeting_removed_reason.md +19 -0
- package/dist/docs/markdown/plugin-meetings.constants.meeting_state.md +25 -0
- package/dist/docs/markdown/plugin-meetings.constants.meeting_state_machine.md +31 -0
- package/dist/docs/markdown/plugin-meetings.constants.meeting_video_state_machine.md +20 -0
- package/dist/docs/markdown/plugin-meetings.constants.meetinginfo.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.meetings.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.metrics_join_times_max_duration.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.moderator_false.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.moderator_true.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.mqa_inteval.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.mqa_stats.md +82 -0
- package/dist/docs/markdown/plugin-meetings.constants.network_status.md +15 -0
- package/dist/docs/markdown/plugin-meetings.constants.network_type.md +16 -0
- package/dist/docs/markdown/plugin-meetings.constants.offline.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.online.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.participant.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.participant_deltas.md +22 -0
- package/dist/docs/markdown/plugin-meetings.constants.password_status.md +16 -0
- package/dist/docs/markdown/plugin-meetings.constants.pc_bail_timeout.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.peer_connection_state.md +14 -0
- package/dist/docs/markdown/plugin-meetings.constants.provisional_type_dial_in.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.provisional_type_dial_out.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.pstn_status.md +18 -0
- package/dist/docs/markdown/plugin-meetings.constants.quality_levels.md +19 -0
- package/dist/docs/markdown/plugin-meetings.constants.reachability.md +15 -0
- package/dist/docs/markdown/plugin-meetings.constants.ready.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.reconnection.md +19 -0
- package/dist/docs/markdown/plugin-meetings.constants.recording_state.md +16 -0
- package/dist/docs/markdown/plugin-meetings.constants.remote.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.resource.md +15 -0
- package/dist/docs/markdown/plugin-meetings.constants.retry_timeout.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.roap.md +22 -0
- package/dist/docs/markdown/plugin-meetings.constants.self_roles.md +14 -0
- package/dist/docs/markdown/plugin-meetings.constants.send_dtmf_endpoint.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.sendrecv.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.share.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.share_peer_connection_name.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.share_status.md +16 -0
- package/dist/docs/markdown/plugin-meetings.constants.share_stopped_reason.md +14 -0
- package/dist/docs/markdown/plugin-meetings.constants.sip_uri.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.stats.md +16 -0
- package/dist/docs/markdown/plugin-meetings.constants.type.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.use_uri_lookup_false.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.uuid_reg.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.valid_email_address.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.valid_pin.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.valid_pmr_address.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.valid_pmr_link.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.video.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.video_input.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.video_resolutions.md +24 -0
- package/dist/docs/markdown/plugin-meetings.constants.video_status.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.wbxappapi_service.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.webex_dot_com.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.whiteboard.md +11 -0
- package/dist/docs/markdown/plugin-meetings.constants.www_dot.md +11 -0
- package/dist/docs/markdown/plugin-meetings.md +28 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default._constructor_.md +21 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.acknowledge.md +28 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.addmedia.md +28 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.admit.md +32 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.attrs.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.audio.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.breakouts.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.callevents.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.cancelphoneinvite.md +30 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.canupdatemedia.md +19 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.changevideolayout.md +38 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.clearmeetingdata.md +13 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.closelocalshare.md +21 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.closelocalstream.md +21 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.closepeerconnections.md +21 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.closeremotestream.md +26 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.closeremotetracks.md +19 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.controlsoptionsmanager.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.conversationurl.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.correlationid.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.createmediaconnection.md +26 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.decline.md +28 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.deferjoin.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.destination.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.destinationtype.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.deviceurl.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.dialindevicestatus.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.dialinurl.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.dialoutdevicestatus.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.dialouturl.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.disconnectphoneaudio.md +19 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.endcallinitiatejoinreq.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.endjoinreqresp.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.endlocalsdpgenremotesdprecvdelay.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.endmeetingforall.md +21 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.fetchmeetinginfo.md +29 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.fetchmeetinginfotimeoutid.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.floorgrantpending.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.forwardevent.md +29 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.getanalyzermetricsprepayload.md +32 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.getcallinitiatejoinreq.md +17 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.getdevices.md +13 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.getjoinreqresp.md +17 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.getlocalsdpgenremotesdprecvdelay.md +17 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.getmediaconnectiondebugid.md +15 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.getmediastreams.md +15 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.getmembers.md +21 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.getsendingmediadelayduration.md +24 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.getsetupdelayduration.md +24 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.getsupporteddevices.md +16 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.gettotaljmt.md +17 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.guest.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.handledatachannelurlchange.md +26 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.handleroapfailure.md +13 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.hasjoinedonce.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.haswebsocketconnected.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.hostid.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.id.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.inmeetingactions.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.invite.md +33 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.isaudioconnected.md +21 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.isaudiomuted.md +21 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.isaudioself.md +21 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.islocalsharelive.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.ismultistream.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.isreactionssupported.md +19 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.isroapinprogress.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.issharing.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.istranscriptionsupported.md +23 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.isvideoconnected.md +21 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.isvideomuted.md +21 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.isvideoself.md +21 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.join.md +28 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.joinedwith.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.joinwithmedia.md +36 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.keepalivetimerid.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.lastvideolayoutinfo.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.leave.md +31 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.lockmeeting.md +21 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.locusid.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.locusinfo.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.locusurl.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.md +227 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.mediaconnections.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.mediaid.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.medianegotiatedevent.md +13 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.mediaproperties.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.mediarequestmanagers.md +16 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.meetingfinitestatemachine.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.meetinginfo.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.meetinginfofailurereason.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.meetingjoinurl.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.meetingnumber.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.meetingrequest.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.meetingstate.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.members.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.movefrom.md +28 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.moveto.md +28 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.mute.md +29 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.muteaudio.md +21 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.mutevideo.md +21 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.namespace.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.networkqualitymonitor.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.networkstatus.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.options.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.orgid.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.owner.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.parsemeetinginfo.md +34 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.partner.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.passwordstatus.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.pauserecording.md +21 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.permissiontoken.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.policy.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.processnextqueuedmediaupdate.md +13 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.publishtracks.md +33 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.queuedmediaupdates.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.receiveslotmanager.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.reconnect.md +28 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.reconnectionmanager.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.recording.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.recordingcontroller.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.refreshcaptcha.md +21 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.remotemediamanager.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.remove.md +28 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.requiredcaptcha.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.resource.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.resourceid.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.resourceurl.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.resumerecording.md +21 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.roap.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.roapseq.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.selfid.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.senddtmf.md +28 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.sendreaction.md +29 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.setdisallowunmute.md +26 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.setendcallinitiatejoinreq.md +17 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.setendjoinreqresp.md +17 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.setendlocalsdpgenremotesdprecvdelay.md +17 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.setendsendingmediadelay.md +24 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.setendsetupdelay.md +24 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.setlocalsharetrack.md +28 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.setlocaltracks.md +28 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.setlocalvideoquality.md +26 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.setmeetingquality.md +31 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.setmercurylistener.md +21 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.setmuteall.md +28 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.setmuteonentry.md +26 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.setremotequalitylevel.md +26 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.setsipuri.md +26 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.setstartcallinitiatejoinreq.md +17 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.setstartjoinreqresp.md +17 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.setstartlocalsdpgenremotesdprecvdelay.md +17 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.setstartsendingmediadelay.md +24 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.setstartsetupdelay.md +24 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.setupbreakoutslistener.md +19 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.setupmediaconnectionlisteners.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.setupstatsanalyzereventhandlers.md +13 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.sharescreen.md +32 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.sharestatus.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.sipuri.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.startcallinitiatejoinreq.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.startjoinreqresp.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.startkeepalive.md +13 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.startlocalsdpgenremotesdprecvdelay.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.startrecording.md +21 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.startwhiteboardshare.md +29 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.state.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.statsanalyzer.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.stopkeepalive.md +13 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.stopreceivingtranscription.md +19 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.stoprecording.md +21 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.stopshare.md +28 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.stopwhiteboardshare.md +28 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.togglereactions.md +28 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.transcription.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.transfer.md +29 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.type.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.unlockmeeting.md +21 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.unmuteaudio.md +21 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.unmutevideo.md +21 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.unpublishtracks.md +26 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.unsetlocalsharetrack.md +21 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.unsetlocalvideotrack.md +21 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.unsetpeerconnections.md +21 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.unsetremotestream.md +26 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.unsetremotetracks.md +19 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.updateaudio.md +34 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.updatellmconnection.md +19 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.updatemedia.md +32 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.updatemediaconnections.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.updateshare.md +35 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.updatevideo.md +34 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.uploadlogs.md +28 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.usephoneaudio.md +28 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.userid.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.verifypassword.md +35 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.video.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.default.wirelessshare.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meeting.md +18 -0
- package/dist/docs/markdown/plugin-meetings.meeting.media_update_type.md +17 -0
- package/dist/docs/markdown/plugin-meetings.meetings._constructor_.md +22 -0
- package/dist/docs/markdown/plugin-meetings.meetings.create.md +30 -0
- package/dist/docs/markdown/plugin-meetings.meetings.fetchuserpreferredwebexsite.md +19 -0
- package/dist/docs/markdown/plugin-meetings.meetings.geohintinfo.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meetings.getallmeetings.md +31 -0
- package/dist/docs/markdown/plugin-meetings.meetings.getgeohint.md +19 -0
- package/dist/docs/markdown/plugin-meetings.meetings.getlogger.md +19 -0
- package/dist/docs/markdown/plugin-meetings.meetings.getmeetingbytype.md +29 -0
- package/dist/docs/markdown/plugin-meetings.meetings.getpersonalmeetingroom.md +21 -0
- package/dist/docs/markdown/plugin-meetings.meetings.getreachability.md +21 -0
- package/dist/docs/markdown/plugin-meetings.meetings.getscheduledmeetings.md +19 -0
- package/dist/docs/markdown/plugin-meetings.meetings.loggerrequest.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meetings.md +57 -0
- package/dist/docs/markdown/plugin-meetings.meetings.media.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meetings.meetingcollection.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meetings.meetinginfo.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meetings.namespace.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meetings.personalmeetingroom.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meetings.preferredwebexsite.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meetings.reachability.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meetings.register.md +21 -0
- package/dist/docs/markdown/plugin-meetings.meetings.registered.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meetings.request.md +11 -0
- package/dist/docs/markdown/plugin-meetings.meetings.setreachability.md +21 -0
- package/dist/docs/markdown/plugin-meetings.meetings.startreachability.md +21 -0
- package/dist/docs/markdown/plugin-meetings.meetings.syncmeetings.md +21 -0
- package/dist/docs/markdown/plugin-meetings.meetings.unregister.md +21 -0
- package/dist/docs/markdown/plugin-meetings.meetings.uploadlogs.md +34 -0
- package/dist/docs/markdown/plugin-meetings.reactions.md +13 -0
- package/dist/docs/markdown/plugin-meetings.reactions.reactions.md +11 -0
- package/dist/docs/markdown/plugin-meetings.reactions.skintones.md +11 -0
- package/dist/docs/markdown/plugin-meetings.remotemedia.getmaxfs.md +26 -0
- package/dist/docs/markdown/plugin-meetings.remotemedia.md +31 -0
- package/dist/docs/markdown/plugin-meetings.remotemedia.remotemedia._constructor_.md +22 -0
- package/dist/docs/markdown/plugin-meetings.remotemedia.remotemedia.csi.md +13 -0
- package/dist/docs/markdown/plugin-meetings.remotemedia.remotemedia.id.md +11 -0
- package/dist/docs/markdown/plugin-meetings.remotemedia.remotemedia.md +40 -0
- package/dist/docs/markdown/plugin-meetings.remotemedia.remotemedia.mediatype.md +13 -0
- package/dist/docs/markdown/plugin-meetings.remotemedia.remotemedia.memberid.md +13 -0
- package/dist/docs/markdown/plugin-meetings.remotemedia.remotemedia.setsizehint.md +25 -0
- package/dist/docs/markdown/plugin-meetings.remotemedia.remotemedia.sourcestate.md +13 -0
- package/dist/docs/markdown/plugin-meetings.remotemedia.remotemedia.stream.md +13 -0
- package/dist/docs/markdown/plugin-meetings.remotemedia.remotemediaevents.md +14 -0
- package/dist/docs/markdown/plugin-meetings.remotemedia.remotemediaid.md +11 -0
- package/dist/docs/markdown/plugin-meetings.remotemedia.remotevideoresolution.md +11 -0
- package/dist/docs/markdown/plugin-meetings.remotemediagroup.md +12 -0
- package/dist/docs/markdown/plugin-meetings.remotemediagroup.remotemediagroup._constructor_.md +24 -0
- package/dist/docs/markdown/plugin-meetings.remotemediagroup.remotemediagroup.getremotemedia.md +26 -0
- package/dist/docs/markdown/plugin-meetings.remotemediagroup.remotemediagroup.includes.md +27 -0
- package/dist/docs/markdown/plugin-meetings.remotemediagroup.remotemediagroup.ispinned.md +22 -0
- package/dist/docs/markdown/plugin-meetings.remotemediagroup.remotemediagroup.md +28 -0
- package/dist/docs/markdown/plugin-meetings.remotemediagroup.remotemediagroup.pin.md +25 -0
- package/dist/docs/markdown/plugin-meetings.remotemediagroup.remotemediagroup.unpin.md +24 -0
- package/dist/docs/markdown/plugin-meetings.triggerproxy.md +11 -0
- package/dist/docs/metadata/index.api.json +14144 -0
- package/dist/docs/metadata/index.api.md +2075 -0
- package/dist/docs/metadata/index.d.ts +5594 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +72 -17
- package/dist/index.js.map +1 -1
- package/dist/locus-info/controlsUtils.d.ts +2 -0
- package/dist/locus-info/controlsUtils.js +31 -29
- package/dist/locus-info/controlsUtils.js.map +1 -1
- package/dist/locus-info/embeddedAppsUtils.d.ts +2 -0
- package/dist/locus-info/embeddedAppsUtils.js +3 -26
- package/dist/locus-info/embeddedAppsUtils.js.map +1 -1
- package/dist/locus-info/fullState.d.ts +2 -0
- package/dist/locus-info/fullState.js +0 -15
- package/dist/locus-info/fullState.js.map +1 -1
- package/dist/locus-info/hostUtils.d.ts +2 -0
- package/dist/locus-info/hostUtils.js +4 -12
- package/dist/locus-info/hostUtils.js.map +1 -1
- package/dist/locus-info/index.d.ts +269 -0
- package/dist/locus-info/index.js +202 -201
- package/dist/locus-info/index.js.map +1 -1
- package/dist/locus-info/infoUtils.d.ts +2 -0
- package/dist/locus-info/infoUtils.js +3 -37
- package/dist/locus-info/infoUtils.js.map +1 -1
- package/dist/locus-info/mediaSharesUtils.d.ts +2 -0
- package/dist/locus-info/mediaSharesUtils.js +12 -38
- package/dist/locus-info/mediaSharesUtils.js.map +1 -1
- package/dist/locus-info/parser.d.ts +212 -0
- package/dist/locus-info/parser.js +88 -123
- package/dist/locus-info/parser.js.map +1 -1
- package/dist/locus-info/selfUtils.d.ts +2 -0
- package/dist/locus-info/selfUtils.js +80 -89
- package/dist/locus-info/selfUtils.js.map +1 -1
- package/dist/media/index.d.ts +32 -0
- package/dist/media/index.js +56 -146
- package/dist/media/index.js.map +1 -1
- package/dist/media/properties.d.ts +108 -0
- package/dist/media/properties.js +71 -117
- package/dist/media/properties.js.map +1 -1
- package/dist/media/util.d.ts +2 -0
- package/dist/media/util.js +2 -9
- package/dist/media/util.js.map +1 -1
- package/dist/mediaQualityMetrics/config.d.ts +233 -0
- package/dist/mediaQualityMetrics/config.js +505 -495
- package/dist/mediaQualityMetrics/config.js.map +1 -1
- package/dist/meeting/effectsState.d.ts +42 -0
- package/dist/meeting/effectsState.js +118 -192
- package/dist/meeting/effectsState.js.map +1 -1
- package/dist/meeting/in-meeting-actions.d.ts +79 -0
- package/dist/meeting/in-meeting-actions.js +31 -14
- package/dist/meeting/in-meeting-actions.js.map +1 -1
- package/dist/meeting/index.d.ts +1621 -0
- package/dist/meeting/index.js +2175 -2266
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/muteState.d.ts +116 -0
- package/dist/meeting/muteState.js +252 -113
- package/dist/meeting/muteState.js.map +1 -1
- package/dist/meeting/request.d.ts +255 -0
- package/dist/meeting/request.js +297 -283
- package/dist/meeting/request.js.map +1 -1
- package/dist/meeting/request.type.js +7 -0
- package/dist/meeting/request.type.js.map +1 -0
- package/dist/meeting/state.d.ts +9 -0
- package/dist/meeting/state.js +21 -31
- package/dist/meeting/state.js.map +1 -1
- package/dist/meeting/util.d.ts +2 -0
- package/dist/meeting/util.js +63 -217
- package/dist/meeting/util.js.map +1 -1
- package/dist/meeting-info/collection.d.ts +20 -0
- package/dist/meeting-info/collection.js +3 -25
- package/dist/meeting-info/collection.js.map +1 -1
- package/dist/meeting-info/index.d.ts +57 -0
- package/dist/meeting-info/index.js +10 -33
- package/dist/meeting-info/index.js.map +1 -1
- package/dist/meeting-info/meeting-info-v2.d.ts +93 -0
- package/dist/meeting-info/meeting-info-v2.js +181 -268
- package/dist/meeting-info/meeting-info-v2.js.map +1 -1
- package/dist/meeting-info/request.d.ts +22 -0
- package/dist/meeting-info/request.js +1 -16
- package/dist/meeting-info/request.js.map +1 -1
- package/dist/meeting-info/util.d.ts +2 -0
- package/dist/meeting-info/util.js +98 -183
- package/dist/meeting-info/util.js.map +1 -1
- package/dist/meeting-info/utilv2.d.ts +2 -0
- package/dist/meeting-info/utilv2.js +137 -228
- package/dist/meeting-info/utilv2.js.map +1 -1
- package/dist/meetings/collection.d.ts +23 -0
- package/dist/meetings/collection.js +24 -20
- package/dist/meetings/collection.js.map +1 -1
- package/dist/meetings/index.d.ts +297 -0
- package/dist/meetings/index.js +566 -587
- package/dist/meetings/index.js.map +1 -1
- package/dist/meetings/request.d.ts +27 -0
- package/dist/meetings/request.js +23 -42
- package/dist/meetings/request.js.map +1 -1
- package/dist/meetings/util.d.ts +18 -0
- package/dist/meetings/util.js +151 -155
- package/dist/meetings/util.js.map +1 -1
- package/dist/member/index.d.ts +145 -0
- package/dist/member/index.js +80 -88
- package/dist/member/index.js.map +1 -1
- package/dist/member/types.js +15 -0
- package/dist/member/types.js.map +1 -0
- package/dist/member/util.d.ts +2 -0
- package/dist/member/util.js +90 -69
- package/dist/member/util.js.map +1 -1
- package/dist/members/collection.d.ts +24 -0
- package/dist/members/collection.js +12 -12
- package/dist/members/collection.js.map +1 -1
- package/dist/members/index.d.ts +298 -0
- package/dist/members/index.js +139 -204
- package/dist/members/index.js.map +1 -1
- package/dist/members/request.d.ts +50 -0
- package/dist/members/request.js +41 -55
- 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.d.ts +2 -0
- package/dist/members/util.js +76 -46
- package/dist/members/util.js.map +1 -1
- package/dist/metrics/config.d.ts +169 -0
- package/dist/metrics/config.js +4 -14
- package/dist/metrics/config.js.map +1 -1
- package/dist/metrics/constants.d.ts +57 -0
- package/dist/metrics/constants.js +1 -6
- package/dist/metrics/constants.js.map +1 -1
- package/dist/metrics/index.d.ts +152 -0
- package/dist/metrics/index.js +53 -158
- package/dist/metrics/index.js.map +1 -1
- package/dist/multistream/mediaRequestManager.js +116 -52
- package/dist/multistream/mediaRequestManager.js.map +1 -1
- package/dist/multistream/receiveSlot.js +58 -65
- package/dist/multistream/receiveSlot.js.map +1 -1
- package/dist/multistream/receiveSlotManager.js +58 -93
- package/dist/multistream/receiveSlotManager.js.map +1 -1
- package/dist/multistream/remoteMedia.js +55 -74
- package/dist/multistream/remoteMedia.js.map +1 -1
- package/dist/multistream/remoteMediaGroup.js +6 -40
- package/dist/multistream/remoteMediaGroup.js.map +1 -1
- package/dist/multistream/remoteMediaManager.js +466 -442
- package/dist/multistream/remoteMediaManager.js.map +1 -1
- package/dist/networkQualityMonitor/index.d.ts +70 -0
- package/dist/networkQualityMonitor/index.js +32 -59
- package/dist/networkQualityMonitor/index.js.map +1 -1
- package/dist/peer-connection-manager/index.d.ts +6 -0
- package/dist/peer-connection-manager/index.js +671 -0
- package/dist/peer-connection-manager/index.js.map +1 -0
- package/dist/peer-connection-manager/util.d.ts +6 -0
- package/dist/peer-connection-manager/util.js +110 -0
- package/dist/peer-connection-manager/util.js.map +1 -0
- package/dist/personal-meeting-room/index.d.ts +47 -0
- package/dist/personal-meeting-room/index.js +10 -45
- package/dist/personal-meeting-room/index.js.map +1 -1
- package/dist/personal-meeting-room/request.d.ts +14 -0
- package/dist/personal-meeting-room/request.js +2 -33
- package/dist/personal-meeting-room/request.js.map +1 -1
- package/dist/personal-meeting-room/util.d.ts +2 -0
- package/dist/personal-meeting-room/util.js +0 -13
- package/dist/personal-meeting-room/util.js.map +1 -1
- package/dist/plugin-meetings.d.ts +5399 -0
- package/dist/reachability/index.d.ts +139 -0
- package/dist/reachability/index.js +190 -199
- package/dist/reachability/index.js.map +1 -1
- package/dist/reachability/request.d.ts +35 -0
- package/dist/reachability/request.js +14 -23
- package/dist/reachability/request.js.map +1 -1
- package/dist/reactions/constants.js +13 -0
- package/dist/reactions/constants.js.map +1 -0
- package/dist/reactions/reactions.d.ts +4 -0
- package/dist/reactions/reactions.js +109 -0
- package/dist/reactions/reactions.js.map +1 -0
- package/dist/reactions/reactions.type.d.ts +32 -0
- package/dist/reactions/reactions.type.js +36 -0
- package/dist/reactions/reactions.type.js.map +1 -0
- package/dist/reconnection-manager/index.d.ts +112 -0
- package/dist/reconnection-manager/index.js +328 -465
- package/dist/reconnection-manager/index.js.map +1 -1
- package/dist/recording-controller/enums.d.ts +7 -0
- package/dist/recording-controller/enums.js +17 -0
- package/dist/recording-controller/enums.js.map +1 -0
- package/dist/recording-controller/index.d.ts +193 -0
- package/dist/recording-controller/index.js +343 -0
- package/dist/recording-controller/index.js.map +1 -0
- package/dist/recording-controller/util.d.ts +13 -0
- package/dist/recording-controller/util.js +63 -0
- package/dist/recording-controller/util.js.map +1 -0
- package/dist/roap/collection.d.ts +10 -0
- package/dist/roap/collection.js +63 -0
- package/dist/roap/collection.js.map +1 -0
- package/dist/roap/handler.d.ts +47 -0
- package/dist/roap/handler.js +279 -0
- package/dist/roap/handler.js.map +1 -0
- package/dist/roap/index.d.ts +116 -0
- package/dist/roap/index.js +27 -59
- package/dist/roap/index.js.map +1 -1
- package/dist/roap/request.d.ts +35 -0
- package/dist/roap/request.js +143 -134
- package/dist/roap/request.js.map +1 -1
- package/dist/roap/state.d.ts +9 -0
- package/dist/roap/state.js +127 -0
- package/dist/roap/state.js.map +1 -0
- package/dist/roap/turnDiscovery.d.ts +67 -0
- package/dist/roap/turnDiscovery.js +86 -101
- package/dist/roap/turnDiscovery.js.map +1 -1
- package/dist/roap/util.d.ts +2 -0
- package/dist/roap/util.js +76 -0
- package/dist/roap/util.js.map +1 -0
- package/dist/statsAnalyzer/global.d.ts +126 -0
- package/dist/statsAnalyzer/global.js +1 -95
- package/dist/statsAnalyzer/global.js.map +1 -1
- package/dist/statsAnalyzer/index.d.ts +190 -0
- package/dist/statsAnalyzer/index.js +356 -457
- package/dist/statsAnalyzer/index.js.map +1 -1
- package/dist/statsAnalyzer/mqaUtil.d.ts +22 -0
- package/dist/statsAnalyzer/mqaUtil.js +144 -94
- package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
- package/dist/transcription/index.d.ts +64 -0
- package/dist/transcription/index.js +13 -45
- package/dist/transcription/index.js.map +1 -1
- 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/index.d.ts +5 -0
- package/dist/types/breakouts/request.d.ts +22 -0
- package/dist/types/breakouts/utils.d.ts +8 -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 +32 -0
- package/dist/types/config.d.ts +77 -0
- package/dist/types/constants.d.ts +944 -0
- package/dist/types/controls-options-manager/constants.d.ts +4 -0
- package/dist/types/controls-options-manager/enums.d.ts +6 -0
- package/dist/types/controls-options-manager/index.d.ts +128 -0
- package/dist/types/controls-options-manager/util.d.ts +9 -0
- package/dist/types/index.d.ts +7 -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 +276 -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 +212 -0
- package/dist/types/locus-info/selfUtils.d.ts +2 -0
- package/dist/types/media/index.d.ts +32 -0
- package/dist/types/media/properties.d.ts +108 -0
- package/dist/types/media/util.d.ts +2 -0
- package/dist/types/mediaQualityMetrics/config.d.ts +365 -0
- package/dist/types/meeting/effectsState.d.ts +42 -0
- package/dist/types/meeting/in-meeting-actions.d.ts +101 -0
- package/dist/types/meeting/index.d.ts +1723 -0
- package/dist/types/meeting/muteState.d.ts +185 -0
- package/dist/types/meeting/request.d.ts +271 -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 +2 -0
- package/dist/types/meeting-info/collection.d.ts +20 -0
- package/dist/types/meeting-info/index.d.ts +57 -0
- package/dist/types/meeting-info/meeting-info-v2.d.ts +93 -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 +316 -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 +156 -0
- package/dist/types/member/types.d.ts +21 -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 +343 -0
- package/dist/types/members/request.d.ts +58 -0
- package/dist/types/members/types.d.ts +24 -0
- package/dist/types/members/util.d.ts +2 -0
- package/dist/types/metrics/config.d.ts +171 -0
- package/dist/types/metrics/constants.d.ts +53 -0
- package/dist/types/metrics/index.d.ts +152 -0
- package/dist/types/multistream/mediaRequestManager.d.ts +68 -0
- package/dist/types/multistream/receiveSlot.d.ts +68 -0
- package/dist/types/multistream/receiveSlotManager.d.ts +49 -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 +263 -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 +193 -0
- package/dist/types/recording-controller/util.d.ts +13 -0
- package/dist/types/roap/index.d.ts +77 -0
- package/dist/types/roap/request.d.ts +38 -0
- package/dist/types/roap/turnDiscovery.d.ts +74 -0
- package/dist/types/statsAnalyzer/global.d.ts +36 -0
- package/dist/types/statsAnalyzer/index.d.ts +195 -0
- package/dist/types/statsAnalyzer/mqaUtil.d.ts +24 -0
- package/dist/types/transcription/index.d.ts +64 -0
- package/dist/types/tsdoc-metadata.json +11 -0
- package/internal-README.md +7 -6
- package/package.json +28 -20
- package/src/breakouts/README.md +219 -0
- package/src/breakouts/breakout.ts +153 -0
- package/src/breakouts/collection.ts +19 -0
- package/src/breakouts/edit-lock-error.ts +25 -0
- package/src/breakouts/index.ts +745 -0
- package/src/breakouts/request.ts +55 -0
- package/src/breakouts/utils.ts +44 -0
- package/src/common/browser-detection.ts +9 -6
- package/src/common/collection.ts +3 -1
- package/src/common/errors/captcha-error.ts +6 -6
- package/src/common/errors/intent-to-join.ts +6 -6
- package/src/common/errors/join-meeting.ts +12 -8
- package/src/common/errors/media.ts +6 -6
- package/src/common/errors/parameter.ts +9 -6
- package/src/common/errors/password-error.ts +6 -6
- package/src/common/errors/permission.ts +5 -5
- package/src/common/errors/reconnection.ts +6 -6
- package/src/common/errors/stats.ts +6 -6
- package/src/common/errors/webex-errors.ts +7 -5
- package/src/common/errors/webex-meetings-error.ts +1 -1
- package/src/common/events/events-scope.ts +5 -1
- package/src/common/events/events.ts +5 -1
- package/src/common/events/trigger-proxy.ts +8 -3
- package/src/common/events/util.ts +1 -2
- package/src/common/logs/logger-proxy.ts +21 -10
- package/src/common/logs/request.ts +11 -8
- package/src/config.ts +16 -12
- package/src/constants.ts +92 -6
- package/src/controls-options-manager/constants.ts +5 -0
- package/src/controls-options-manager/enums.ts +7 -0
- package/src/controls-options-manager/index.ts +240 -0
- package/src/controls-options-manager/util.ts +30 -0
- package/src/index.ts +33 -0
- package/src/locus-info/controlsUtils.ts +63 -24
- package/src/locus-info/fullState.ts +15 -11
- package/src/locus-info/hostUtils.ts +4 -3
- package/src/locus-info/index.ts +148 -43
- package/src/locus-info/infoUtils.ts +16 -4
- package/src/locus-info/mediaSharesUtils.ts +4 -4
- package/src/locus-info/parser.ts +46 -68
- package/src/locus-info/selfUtils.ts +174 -56
- package/src/media/index.ts +131 -179
- package/src/media/properties.ts +43 -36
- package/src/media/util.ts +1 -1
- package/src/mediaQualityMetrics/config.ts +380 -378
- package/src/meeting/in-meeting-actions.ts +67 -3
- package/src/meeting/index.ts +2395 -1523
- package/src/meeting/muteState.ts +271 -68
- package/src/meeting/request.ts +228 -132
- package/src/meeting/request.type.ts +13 -0
- package/src/meeting/state.ts +45 -30
- package/src/meeting/util.ts +127 -111
- package/src/meeting-info/collection.ts +2 -1
- package/src/meeting-info/index.ts +32 -30
- package/src/meeting-info/meeting-info-v2.ts +108 -108
- package/src/meeting-info/request.ts +9 -3
- package/src/meeting-info/util.ts +54 -46
- package/src/meeting-info/utilv2.ts +59 -53
- package/src/meetings/collection.ts +21 -1
- package/src/meetings/index.ts +673 -466
- package/src/meetings/request.ts +29 -25
- package/src/meetings/util.ts +94 -30
- package/src/member/index.ts +86 -49
- package/src/member/types.ts +24 -0
- package/src/member/util.ts +92 -13
- package/src/members/collection.ts +8 -1
- package/src/members/index.ts +246 -129
- package/src/members/request.ts +67 -14
- package/src/members/types.ts +28 -0
- package/src/members/util.ts +103 -50
- package/src/metrics/config.ts +255 -90
- package/src/metrics/constants.ts +0 -6
- package/src/metrics/index.ts +90 -93
- package/src/multistream/mediaRequestManager.ts +144 -40
- package/src/multistream/receiveSlot.ts +69 -26
- package/src/multistream/receiveSlotManager.ts +50 -38
- package/src/multistream/remoteMedia.ts +30 -4
- package/src/multistream/remoteMediaGroup.ts +4 -3
- package/src/multistream/remoteMediaManager.ts +230 -66
- package/src/networkQualityMonitor/index.ts +24 -27
- package/src/personal-meeting-room/index.ts +12 -16
- package/src/personal-meeting-room/request.ts +10 -3
- package/src/personal-meeting-room/util.ts +3 -3
- package/src/reachability/index.ts +131 -79
- package/src/reachability/request.ts +43 -34
- package/src/reactions/constants.ts +4 -0
- package/src/reactions/reactions.ts +104 -0
- package/src/reactions/reactions.type.ts +62 -0
- package/src/reconnection-manager/index.ts +190 -111
- package/src/recording-controller/enums.ts +8 -0
- package/src/recording-controller/index.ts +315 -0
- package/src/recording-controller/util.ts +58 -0
- package/src/roap/index.ts +50 -42
- package/src/roap/request.ts +86 -53
- package/src/roap/turnDiscovery.ts +69 -38
- package/src/statsAnalyzer/global.ts +8 -104
- package/src/statsAnalyzer/index.ts +593 -376
- package/src/statsAnalyzer/mqaUtil.ts +203 -90
- package/src/transcription/index.ts +34 -32
- package/test/integration/spec/converged-space-meetings.js +176 -0
- package/test/integration/spec/journey.js +665 -464
- package/test/integration/spec/space-meeting.js +319 -204
- package/test/integration/spec/transcription.js +7 -8
- package/test/unit/spec/breakouts/breakout.ts +178 -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/index.ts +1252 -0
- package/test/unit/spec/breakouts/request.ts +104 -0
- package/test/unit/spec/breakouts/utils.js +54 -0
- package/test/unit/spec/common/browser-detection.js +9 -28
- package/test/unit/spec/controls-options-manager/index.js +204 -0
- package/test/unit/spec/controls-options-manager/util.js +86 -0
- package/test/unit/spec/fixture/locus.js +92 -90
- package/test/unit/spec/locus-info/controlsUtils.js +133 -34
- package/test/unit/spec/locus-info/embeddedAppsUtils.js +8 -6
- package/test/unit/spec/locus-info/index.js +303 -2
- package/test/unit/spec/locus-info/infoUtils.js +41 -32
- package/test/unit/spec/locus-info/lib/BasicSeqCmp.json +88 -430
- package/test/unit/spec/locus-info/lib/SeqCmp.json +513 -685
- package/test/unit/spec/locus-info/parser.js +3 -9
- package/test/unit/spec/locus-info/selfConstant.js +101 -103
- package/test/unit/spec/locus-info/selfUtils.js +165 -12
- package/test/unit/spec/media/index.ts +72 -8
- package/test/unit/spec/media/properties.ts +9 -9
- package/test/unit/spec/meeting/in-meeting-actions.ts +29 -2
- package/test/unit/spec/meeting/index.js +2479 -794
- package/test/unit/spec/meeting/muteState.js +164 -70
- package/test/unit/spec/meeting/request.js +141 -43
- package/test/unit/spec/meeting/utils.js +135 -164
- package/test/unit/spec/meeting-info/meetinginfov2.js +100 -73
- package/test/unit/spec/meeting-info/request.js +7 -9
- package/test/unit/spec/meeting-info/util.js +11 -12
- package/test/unit/spec/meeting-info/utilv2.js +110 -74
- package/test/unit/spec/meetings/collection.js +15 -1
- package/test/unit/spec/meetings/index.js +622 -263
- package/test/unit/spec/meetings/utils.js +65 -14
- package/test/unit/spec/member/index.js +24 -1
- package/test/unit/spec/member/util.js +359 -32
- package/test/unit/spec/members/index.js +294 -54
- package/test/unit/spec/members/request.js +50 -20
- package/test/unit/spec/members/utils.js +147 -4
- package/test/unit/spec/metrics/index.js +16 -21
- package/test/unit/spec/multistream/mediaRequestManager.ts +369 -68
- package/test/unit/spec/multistream/receiveSlot.ts +76 -17
- package/test/unit/spec/multistream/receiveSlotManager.ts +60 -38
- package/test/unit/spec/multistream/remoteMedia.ts +32 -2
- package/test/unit/spec/multistream/remoteMediaGroup.ts +5 -5
- package/test/unit/spec/multistream/remoteMediaManager.ts +549 -65
- package/test/unit/spec/networkQualityMonitor/index.js +24 -18
- package/test/unit/spec/personal-meeting-room/personal-meeting-room.js +2 -7
- package/test/unit/spec/reachability/index.ts +176 -27
- package/test/unit/spec/reachability/request.js +66 -0
- package/test/unit/spec/reconnection-manager/index.js +58 -31
- package/test/unit/spec/recording-controller/index.js +231 -0
- package/test/unit/spec/recording-controller/util.js +102 -0
- package/test/unit/spec/roap/index.ts +12 -8
- package/test/unit/spec/roap/request.ts +217 -0
- package/test/unit/spec/roap/turnDiscovery.ts +72 -49
- package/test/unit/spec/stats-analyzer/index.js +108 -57
- package/test/utils/cmr.js +44 -42
- package/test/utils/constants.js +9 -0
- package/test/utils/testUtils.js +98 -77
- package/test/utils/webex-config.js +22 -18
- package/test/utils/webex-test-users.js +57 -50
- package/tsconfig.json +6 -0
- package/dist/media/internal-media-core-wrapper.js +0 -22
- package/dist/media/internal-media-core-wrapper.js.map +0 -1
- package/dist/multistream/multistreamMedia.js +0 -116
- package/dist/multistream/multistreamMedia.js.map +0 -1
- package/src/index.js +0 -15
- package/src/media/internal-media-core-wrapper.ts +0 -9
- package/src/meeting/effectsState.ts +0 -211
- package/src/multistream/multistreamMedia.ts +0 -92
- package/test/unit/spec/meeting/effectsState.js +0 -291
|
@@ -1,48 +1,37 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
|
|
4
|
-
|
|
5
4
|
var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
|
|
6
|
-
|
|
7
5
|
_Object$defineProperty(exports, "__esModule", {
|
|
8
6
|
value: true
|
|
9
7
|
});
|
|
10
|
-
|
|
11
8
|
exports.default = void 0;
|
|
12
|
-
|
|
9
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime-corejs2/regenerator"));
|
|
13
10
|
var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
|
|
14
|
-
|
|
15
11
|
var _stringify = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/json/stringify"));
|
|
16
|
-
|
|
12
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/asyncToGenerator"));
|
|
17
13
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
|
|
18
|
-
|
|
19
14
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
|
|
20
|
-
|
|
21
15
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
|
|
22
|
-
|
|
23
16
|
var _common = require("@webex/common");
|
|
24
|
-
|
|
25
17
|
var _metrics = _interopRequireDefault(require("../metrics"));
|
|
26
|
-
|
|
27
18
|
var _constants = _interopRequireDefault(require("../metrics/constants"));
|
|
28
|
-
|
|
29
19
|
var _loggerProxy = _interopRequireDefault(require("../common/logs/logger-proxy"));
|
|
30
|
-
|
|
31
20
|
var _constants2 = require("../constants");
|
|
32
|
-
|
|
33
21
|
// @ts-ignore - Types not available for @webex/common
|
|
22
|
+
|
|
34
23
|
var TURN_DISCOVERY_TIMEOUT = 10; // in seconds
|
|
24
|
+
|
|
35
25
|
// Roap spec says that seq should start from 1, but TURN discovery works fine with seq=0
|
|
36
26
|
// and this is handy for us, because TURN discovery is always done before the first SDP exchange,
|
|
37
27
|
// so we can do it with seq=0 or not do it at all and then we create the RoapMediaConnection
|
|
38
28
|
// and do the SDP offer with seq=1
|
|
39
|
-
|
|
40
29
|
var TURN_DISCOVERY_SEQ = 0;
|
|
30
|
+
|
|
41
31
|
/**
|
|
42
32
|
* Handles the process of finding out TURN server information from Linus.
|
|
43
33
|
* This is achieved by sending a TURN_DISCOVERY_REQUEST.
|
|
44
34
|
*/
|
|
45
|
-
|
|
46
35
|
var TurnDiscovery = /*#__PURE__*/function () {
|
|
47
36
|
// used for waiting for the response
|
|
48
37
|
|
|
@@ -64,6 +53,7 @@ var TurnDiscovery = /*#__PURE__*/function () {
|
|
|
64
53
|
password: ''
|
|
65
54
|
};
|
|
66
55
|
}
|
|
56
|
+
|
|
67
57
|
/**
|
|
68
58
|
* waits for TURN_DISCOVERY_RESPONSE message to arrive
|
|
69
59
|
*
|
|
@@ -71,28 +61,22 @@ var TurnDiscovery = /*#__PURE__*/function () {
|
|
|
71
61
|
* @private
|
|
72
62
|
* @memberof Roap
|
|
73
63
|
*/
|
|
74
|
-
|
|
75
|
-
|
|
76
64
|
(0, _createClass2.default)(TurnDiscovery, [{
|
|
77
65
|
key: "waitForTurnDiscoveryResponse",
|
|
78
66
|
value: function waitForTurnDiscoveryResponse() {
|
|
79
67
|
if (!this.defer) {
|
|
80
68
|
_loggerProxy.default.logger.warn('Roap:turnDiscovery#waitForTurnDiscoveryResponse --> TURN discovery is not in progress');
|
|
81
|
-
|
|
82
69
|
return _promise.default.reject(new Error('waitForTurnDiscoveryResponse() called before sendRoapTurnDiscoveryRequest()'));
|
|
83
70
|
}
|
|
84
|
-
|
|
85
71
|
var defer = this.defer;
|
|
86
72
|
this.responseTimer = setTimeout(function () {
|
|
87
73
|
_loggerProxy.default.logger.warn("Roap:turnDiscovery#waitForTurnDiscoveryResponse --> timeout! no response arrived within ".concat(TURN_DISCOVERY_TIMEOUT, " seconds"));
|
|
88
|
-
|
|
89
74
|
defer.reject(new Error('Timed out waiting for TURN_DISCOVERY_RESPONSE'));
|
|
90
75
|
}, TURN_DISCOVERY_TIMEOUT * 1000);
|
|
91
|
-
|
|
92
76
|
_loggerProxy.default.logger.info('Roap:turnDiscovery#waitForTurnDiscoveryResponse --> waiting for TURN_DISCOVERY_RESPONSE...');
|
|
93
|
-
|
|
94
77
|
return defer.promise;
|
|
95
78
|
}
|
|
79
|
+
|
|
96
80
|
/**
|
|
97
81
|
* handles TURN_DISCOVERY_RESPONSE roap message
|
|
98
82
|
*
|
|
@@ -101,21 +85,16 @@ var TurnDiscovery = /*#__PURE__*/function () {
|
|
|
101
85
|
* @public
|
|
102
86
|
* @memberof Roap
|
|
103
87
|
*/
|
|
104
|
-
|
|
105
88
|
}, {
|
|
106
89
|
key: "handleTurnDiscoveryResponse",
|
|
107
90
|
value: function handleTurnDiscoveryResponse(roapMessage) {
|
|
108
91
|
var _this = this;
|
|
109
|
-
|
|
110
92
|
// @ts-ignore - Fix missing type
|
|
111
93
|
var headers = roapMessage.headers;
|
|
112
|
-
|
|
113
94
|
if (!this.defer) {
|
|
114
95
|
_loggerProxy.default.logger.warn('Roap:turnDiscovery#handleTurnDiscoveryResponse --> unexpected TURN discovery response');
|
|
115
|
-
|
|
116
96
|
return;
|
|
117
97
|
}
|
|
118
|
-
|
|
119
98
|
var expectedHeaders = [{
|
|
120
99
|
headerName: 'x-cisco-turn-url',
|
|
121
100
|
field: 'url'
|
|
@@ -138,17 +117,15 @@ var TurnDiscovery = /*#__PURE__*/function () {
|
|
|
138
117
|
});
|
|
139
118
|
clearTimeout(this.responseTimer);
|
|
140
119
|
this.responseTimer = undefined;
|
|
141
|
-
|
|
142
120
|
if (foundHeaders !== expectedHeaders.length) {
|
|
143
121
|
_loggerProxy.default.logger.warn("Roap:turnDiscovery#handleTurnDiscoveryResponse --> missing some headers, received: ".concat((0, _stringify.default)(headers)));
|
|
144
|
-
|
|
145
122
|
this.defer.reject(new Error("TURN_DISCOVERY_RESPONSE missing some headers: ".concat((0, _stringify.default)(headers))));
|
|
146
123
|
} else {
|
|
147
124
|
_loggerProxy.default.logger.info("Roap:turnDiscovery#handleTurnDiscoveryResponse --> received a valid response, url=".concat(this.turnInfo.url));
|
|
148
|
-
|
|
149
125
|
this.defer.resolve();
|
|
150
126
|
}
|
|
151
127
|
}
|
|
128
|
+
|
|
152
129
|
/**
|
|
153
130
|
* sends the TURN_DISCOVERY_REQUEST roap request
|
|
154
131
|
*
|
|
@@ -158,25 +135,21 @@ var TurnDiscovery = /*#__PURE__*/function () {
|
|
|
158
135
|
* @private
|
|
159
136
|
* @memberof Roap
|
|
160
137
|
*/
|
|
161
|
-
|
|
162
138
|
}, {
|
|
163
139
|
key: "sendRoapTurnDiscoveryRequest",
|
|
164
140
|
value: function sendRoapTurnDiscoveryRequest(meeting, isReconnecting) {
|
|
141
|
+
var _meeting$audio, _meeting$video;
|
|
165
142
|
if (this.defer) {
|
|
166
143
|
_loggerProxy.default.logger.warn('Roap:turnDiscovery#sendRoapTurnDiscoveryRequest --> already in progress');
|
|
167
|
-
|
|
168
144
|
return _promise.default.resolve();
|
|
169
145
|
}
|
|
170
|
-
|
|
171
146
|
this.defer = new _common.Defer();
|
|
172
147
|
var roapMessage = {
|
|
173
148
|
messageType: _constants2.ROAP.ROAP_TYPES.TURN_DISCOVERY_REQUEST,
|
|
174
149
|
version: _constants2.ROAP.ROAP_VERSION,
|
|
175
150
|
seq: TURN_DISCOVERY_SEQ
|
|
176
151
|
};
|
|
177
|
-
|
|
178
152
|
_loggerProxy.default.logger.info('Roap:turnDiscovery#sendRoapTurnDiscoveryRequest --> sending TURN_DISCOVERY_REQUEST');
|
|
179
|
-
|
|
180
153
|
return this.roapRequest.sendRoap({
|
|
181
154
|
roapMessage: roapMessage,
|
|
182
155
|
correlationId: meeting.correlationId,
|
|
@@ -184,17 +157,18 @@ var TurnDiscovery = /*#__PURE__*/function () {
|
|
|
184
157
|
locusSelfUrl: meeting.selfUrl,
|
|
185
158
|
// @ts-ignore - Fix missing type
|
|
186
159
|
mediaId: isReconnecting ? '' : meeting.mediaId,
|
|
187
|
-
audioMuted: meeting.
|
|
188
|
-
videoMuted: meeting.
|
|
189
|
-
meetingId: meeting.id
|
|
160
|
+
audioMuted: (_meeting$audio = meeting.audio) === null || _meeting$audio === void 0 ? void 0 : _meeting$audio.isLocallyMuted(),
|
|
161
|
+
videoMuted: (_meeting$video = meeting.video) === null || _meeting$video === void 0 ? void 0 : _meeting$video.isLocallyMuted(),
|
|
162
|
+
meetingId: meeting.id,
|
|
163
|
+
preferTranscoding: !meeting.isMultistream
|
|
190
164
|
}).then(function (_ref) {
|
|
191
165
|
var mediaConnections = _ref.mediaConnections;
|
|
192
|
-
|
|
193
166
|
if (mediaConnections) {
|
|
194
167
|
meeting.updateMediaConnections(mediaConnections);
|
|
195
168
|
}
|
|
196
169
|
});
|
|
197
170
|
}
|
|
171
|
+
|
|
198
172
|
/**
|
|
199
173
|
* Sends the OK message that server expects to receive
|
|
200
174
|
* after it sends us TURN_DISCOVERY_RESPONSE
|
|
@@ -202,12 +176,11 @@ var TurnDiscovery = /*#__PURE__*/function () {
|
|
|
202
176
|
* @param {Meeting} meeting
|
|
203
177
|
* @returns {Promise}
|
|
204
178
|
*/
|
|
205
|
-
|
|
206
179
|
}, {
|
|
207
180
|
key: "sendRoapOK",
|
|
208
181
|
value: function sendRoapOK(meeting) {
|
|
182
|
+
var _meeting$audio2, _meeting$video2;
|
|
209
183
|
_loggerProxy.default.logger.info('Roap:turnDiscovery#sendRoapOK --> sending OK');
|
|
210
|
-
|
|
211
184
|
return this.roapRequest.sendRoap({
|
|
212
185
|
roapMessage: {
|
|
213
186
|
messageType: _constants2.ROAP.ROAP_TYPES.OK,
|
|
@@ -219,11 +192,13 @@ var TurnDiscovery = /*#__PURE__*/function () {
|
|
|
219
192
|
// @ts-ignore - fix type
|
|
220
193
|
mediaId: meeting.mediaId,
|
|
221
194
|
correlationId: meeting.correlationId,
|
|
222
|
-
audioMuted: meeting.
|
|
223
|
-
videoMuted: meeting.
|
|
224
|
-
meetingId: meeting.id
|
|
195
|
+
audioMuted: (_meeting$audio2 = meeting.audio) === null || _meeting$audio2 === void 0 ? void 0 : _meeting$audio2.isLocallyMuted(),
|
|
196
|
+
videoMuted: (_meeting$video2 = meeting.video) === null || _meeting$video2 === void 0 ? void 0 : _meeting$video2.isLocallyMuted(),
|
|
197
|
+
meetingId: meeting.id,
|
|
198
|
+
preferTranscoding: !meeting.isMultistream
|
|
225
199
|
});
|
|
226
200
|
}
|
|
201
|
+
|
|
227
202
|
/**
|
|
228
203
|
* Retrieves TURN server information from the backend by doing
|
|
229
204
|
* a roap message exchange:
|
|
@@ -241,67 +216,77 @@ var TurnDiscovery = /*#__PURE__*/function () {
|
|
|
241
216
|
* media connection just after a reconnection
|
|
242
217
|
* @returns {Promise}
|
|
243
218
|
*/
|
|
244
|
-
|
|
245
219
|
}, {
|
|
246
220
|
key: "doTurnDiscovery",
|
|
247
|
-
value: function
|
|
248
|
-
var
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
221
|
+
value: function () {
|
|
222
|
+
var _doTurnDiscovery = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(meeting, isReconnecting) {
|
|
223
|
+
var _this2 = this;
|
|
224
|
+
var isAnyClusterReachable;
|
|
225
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
226
|
+
while (1) switch (_context.prev = _context.next) {
|
|
227
|
+
case 0:
|
|
228
|
+
_context.next = 2;
|
|
229
|
+
return meeting.webex.meetings.reachability.isAnyClusterReachable();
|
|
230
|
+
case 2:
|
|
231
|
+
isAnyClusterReachable = _context.sent;
|
|
232
|
+
if (!isAnyClusterReachable) {
|
|
233
|
+
_context.next = 6;
|
|
234
|
+
break;
|
|
235
|
+
}
|
|
236
|
+
_loggerProxy.default.logger.info('Roap:turnDiscovery#doTurnDiscovery --> reachability has not failed, skipping TURN discovery');
|
|
237
|
+
return _context.abrupt("return", {
|
|
238
|
+
turnServerInfo: undefined,
|
|
239
|
+
turnDiscoverySkippedReason: 'reachability'
|
|
240
|
+
});
|
|
241
|
+
case 6:
|
|
242
|
+
if (meeting.config.experimental.enableTurnDiscovery) {
|
|
243
|
+
_context.next = 9;
|
|
244
|
+
break;
|
|
245
|
+
}
|
|
246
|
+
_loggerProxy.default.logger.info('Roap:turnDiscovery#doTurnDiscovery --> TURN discovery disabled in config, skipping it');
|
|
247
|
+
return _context.abrupt("return", {
|
|
248
|
+
turnServerInfo: undefined,
|
|
249
|
+
turnDiscoverySkippedReason: 'config'
|
|
250
|
+
});
|
|
251
|
+
case 9:
|
|
252
|
+
return _context.abrupt("return", this.sendRoapTurnDiscoveryRequest(meeting, isReconnecting).then(function () {
|
|
253
|
+
return _this2.waitForTurnDiscoveryResponse();
|
|
254
|
+
}).then(function () {
|
|
255
|
+
return _this2.sendRoapOK(meeting);
|
|
256
|
+
}).then(function () {
|
|
257
|
+
_this2.defer = undefined;
|
|
258
|
+
_loggerProxy.default.logger.info('Roap:turnDiscovery#doTurnDiscovery --> TURN discovery completed');
|
|
259
|
+
return {
|
|
260
|
+
turnServerInfo: _this2.turnInfo,
|
|
261
|
+
turnDiscoverySkippedReason: undefined
|
|
262
|
+
};
|
|
263
|
+
}).catch(function (e) {
|
|
264
|
+
// we catch any errors and resolve with no turn information so that the normal call join flow can continue without TURN
|
|
265
|
+
_loggerProxy.default.logger.info("Roap:turnDiscovery#doTurnDiscovery --> TURN discovery failed, continuing without TURN: ".concat(e));
|
|
266
|
+
_metrics.default.sendBehavioralMetric(_constants.default.TURN_DISCOVERY_FAILURE, {
|
|
267
|
+
correlation_id: meeting.correlationId,
|
|
268
|
+
locus_id: meeting.locusUrl.split('/').pop(),
|
|
269
|
+
reason: e.message,
|
|
270
|
+
stack: e.stack
|
|
271
|
+
});
|
|
272
|
+
return {
|
|
273
|
+
turnServerInfo: undefined,
|
|
274
|
+
turnDiscoverySkippedReason: undefined
|
|
275
|
+
};
|
|
276
|
+
}));
|
|
277
|
+
case 10:
|
|
278
|
+
case "end":
|
|
279
|
+
return _context.stop();
|
|
280
|
+
}
|
|
281
|
+
}, _callee, this);
|
|
282
|
+
}));
|
|
283
|
+
function doTurnDiscovery(_x, _x2) {
|
|
284
|
+
return _doTurnDiscovery.apply(this, arguments);
|
|
270
285
|
}
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
return _this2.waitForTurnDiscoveryResponse();
|
|
274
|
-
}).then(function () {
|
|
275
|
-
return _this2.sendRoapOK(meeting);
|
|
276
|
-
}).then(function () {
|
|
277
|
-
_this2.defer = undefined;
|
|
278
|
-
|
|
279
|
-
_loggerProxy.default.logger.info('Roap:turnDiscovery#doTurnDiscovery --> TURN discovery completed');
|
|
280
|
-
|
|
281
|
-
return {
|
|
282
|
-
turnServerInfo: _this2.turnInfo,
|
|
283
|
-
turnDiscoverySkippedReason: undefined
|
|
284
|
-
};
|
|
285
|
-
}).catch(function (e) {
|
|
286
|
-
// we catch any errors and resolve with no turn information so that the normal call join flow can continue without TURN
|
|
287
|
-
_loggerProxy.default.logger.info("Roap:turnDiscovery#doTurnDiscovery --> TURN discovery failed, continuing without TURN: ".concat(e));
|
|
288
|
-
|
|
289
|
-
_metrics.default.sendBehavioralMetric(_constants.default.TURN_DISCOVERY_FAILURE, {
|
|
290
|
-
correlation_id: meeting.correlationId,
|
|
291
|
-
locus_id: meeting.locusUrl.split('/').pop(),
|
|
292
|
-
reason: e.message,
|
|
293
|
-
stack: e.stack
|
|
294
|
-
});
|
|
295
|
-
|
|
296
|
-
return _promise.default.resolve({
|
|
297
|
-
turnServerInfo: undefined,
|
|
298
|
-
turnDiscoverySkippedReason: undefined
|
|
299
|
-
});
|
|
300
|
-
});
|
|
301
|
-
}
|
|
286
|
+
return doTurnDiscovery;
|
|
287
|
+
}()
|
|
302
288
|
}]);
|
|
303
289
|
return TurnDiscovery;
|
|
304
290
|
}();
|
|
305
|
-
|
|
306
291
|
exports.default = TurnDiscovery;
|
|
307
292
|
//# sourceMappingURL=turnDiscovery.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["TURN_DISCOVERY_TIMEOUT","TURN_DISCOVERY_SEQ","TurnDiscovery","roapRequest","turnInfo","url","username","password","defer","LoggerProxy","logger","warn","reject","Error","responseTimer","setTimeout","info","promise","roapMessage","headers","expectedHeaders","headerName","field","foundHeaders","forEach","receivedHeader","expectedHeader","startsWith","substring","length","clearTimeout","undefined","resolve","meeting","isReconnecting","Defer","messageType","ROAP","ROAP_TYPES","TURN_DISCOVERY_REQUEST","version","ROAP_VERSION","seq","sendRoap","correlationId","locusSelfUrl","selfUrl","mediaId","audioMuted","isAudioMuted","videoMuted","isVideoMuted","meetingId","id","then","mediaConnections","updateMediaConnections","OK","isAnyClusterReachable","webex","meetings","reachability","turnServerInfo","turnDiscoverySkippedReason","config","experimental","enableTurnDiscovery","sendRoapTurnDiscoveryRequest","waitForTurnDiscoveryResponse","sendRoapOK","catch","e","Metrics","sendBehavioralMetric","BEHAVIORAL_METRICS","TURN_DISCOVERY_FAILURE","correlation_id","locus_id","locusUrl","split","pop","reason","message","stack"],"sources":["turnDiscovery.ts"],"sourcesContent":["// @ts-ignore - Types not available for @webex/common\nimport {Defer} from '@webex/common';\n\nimport Metrics from '../metrics';\nimport BEHAVIORAL_METRICS from '../metrics/constants';\nimport LoggerProxy from '../common/logs/logger-proxy';\nimport {ROAP} from '../constants';\n\nimport RoapRequest from './request';\nimport Meeting from '../meeting';\n\nconst TURN_DISCOVERY_TIMEOUT = 10; // in seconds\n\n// Roap spec says that seq should start from 1, but TURN discovery works fine with seq=0\n// and this is handy for us, because TURN discovery is always done before the first SDP exchange,\n// so we can do it with seq=0 or not do it at all and then we create the RoapMediaConnection\n// and do the SDP offer with seq=1\nconst TURN_DISCOVERY_SEQ = 0;\n\n/**\n * Handles the process of finding out TURN server information from Linus.\n * This is achieved by sending a TURN_DISCOVERY_REQUEST.\n */\nexport default class TurnDiscovery {\n private roapRequest: RoapRequest;\n\n private defer?: Defer; // used for waiting for the response\n\n private turnInfo: {\n url: string;\n username: string;\n password: string;\n };\n\n private responseTimer?: ReturnType<typeof setTimeout>;\n\n /**\n * Constructor\n *\n * @param {RoapRequest} roapRequest\n */\n constructor(roapRequest: RoapRequest) {\n this.roapRequest = roapRequest;\n this.turnInfo = {\n url: '',\n username: '',\n password: '',\n };\n }\n\n\n /**\n * waits for TURN_DISCOVERY_RESPONSE message to arrive\n *\n * @returns {Promise}\n * @private\n * @memberof Roap\n */\n private waitForTurnDiscoveryResponse() {\n if (!this.defer) {\n LoggerProxy.logger.warn('Roap:turnDiscovery#waitForTurnDiscoveryResponse --> TURN discovery is not in progress');\n\n return Promise.reject(new Error('waitForTurnDiscoveryResponse() called before sendRoapTurnDiscoveryRequest()'));\n }\n\n const {defer} = this;\n\n this.responseTimer = setTimeout(() => {\n LoggerProxy.logger.warn(`Roap:turnDiscovery#waitForTurnDiscoveryResponse --> timeout! no response arrived within ${TURN_DISCOVERY_TIMEOUT} seconds`);\n\n defer.reject(new Error('Timed out waiting for TURN_DISCOVERY_RESPONSE'));\n }, TURN_DISCOVERY_TIMEOUT * 1000);\n\n LoggerProxy.logger.info('Roap:turnDiscovery#waitForTurnDiscoveryResponse --> waiting for TURN_DISCOVERY_RESPONSE...');\n\n return defer.promise;\n }\n\n /**\n * handles TURN_DISCOVERY_RESPONSE roap message\n *\n * @param {Object} roapMessage\n * @returns {void}\n * @public\n * @memberof Roap\n */\n public handleTurnDiscoveryResponse(roapMessage: object) {\n // @ts-ignore - Fix missing type\n const {headers} = roapMessage;\n\n if (!this.defer) {\n LoggerProxy.logger.warn('Roap:turnDiscovery#handleTurnDiscoveryResponse --> unexpected TURN discovery response');\n\n return;\n }\n\n const expectedHeaders = [\n {headerName: 'x-cisco-turn-url', field: 'url'},\n {headerName: 'x-cisco-turn-username', field: 'username'},\n {headerName: 'x-cisco-turn-password', field: 'password'},\n ];\n\n let foundHeaders = 0;\n\n headers?.forEach((receivedHeader) => {\n // check if it matches any of our expected headers\n expectedHeaders.forEach((expectedHeader) => {\n if (receivedHeader.startsWith(`${expectedHeader.headerName}=`)) {\n this.turnInfo[expectedHeader.field] = receivedHeader.substring(expectedHeader.headerName.length + 1);\n foundHeaders += 1;\n }\n });\n });\n\n clearTimeout(this.responseTimer);\n this.responseTimer = undefined;\n\n if (foundHeaders !== expectedHeaders.length) {\n LoggerProxy.logger.warn(`Roap:turnDiscovery#handleTurnDiscoveryResponse --> missing some headers, received: ${JSON.stringify(headers)}`);\n this.defer.reject(new Error(`TURN_DISCOVERY_RESPONSE missing some headers: ${JSON.stringify(headers)}`));\n }\n else {\n LoggerProxy.logger.info(`Roap:turnDiscovery#handleTurnDiscoveryResponse --> received a valid response, url=${this.turnInfo.url}`);\n this.defer.resolve();\n }\n }\n\n /**\n * sends the TURN_DISCOVERY_REQUEST roap request\n *\n * @param {Meeting} meeting\n * @param {Boolean} isReconnecting\n * @returns {Promise}\n * @private\n * @memberof Roap\n */\n sendRoapTurnDiscoveryRequest(meeting: Meeting, isReconnecting: boolean) {\n if (this.defer) {\n LoggerProxy.logger.warn('Roap:turnDiscovery#sendRoapTurnDiscoveryRequest --> already in progress');\n\n return Promise.resolve();\n }\n\n this.defer = new Defer();\n\n const roapMessage = {\n messageType: ROAP.ROAP_TYPES.TURN_DISCOVERY_REQUEST,\n version: ROAP.ROAP_VERSION,\n seq: TURN_DISCOVERY_SEQ,\n };\n\n LoggerProxy.logger.info('Roap:turnDiscovery#sendRoapTurnDiscoveryRequest --> sending TURN_DISCOVERY_REQUEST');\n\n return this.roapRequest\n .sendRoap({\n roapMessage,\n correlationId: meeting.correlationId,\n // @ts-ignore - Fix missing type\n locusSelfUrl: meeting.selfUrl,\n // @ts-ignore - Fix missing type\n mediaId: isReconnecting ? '' : meeting.mediaId,\n audioMuted: meeting.isAudioMuted(),\n videoMuted: meeting.isVideoMuted(),\n meetingId: meeting.id\n })\n .then(({mediaConnections}) => {\n if (mediaConnections) {\n meeting.updateMediaConnections(mediaConnections);\n }\n });\n }\n\n /**\n * Sends the OK message that server expects to receive\n * after it sends us TURN_DISCOVERY_RESPONSE\n *\n * @param {Meeting} meeting\n * @returns {Promise}\n */\n sendRoapOK(meeting: Meeting) {\n LoggerProxy.logger.info('Roap:turnDiscovery#sendRoapOK --> sending OK');\n\n return this.roapRequest.sendRoap({\n roapMessage: {\n messageType: ROAP.ROAP_TYPES.OK,\n version: ROAP.ROAP_VERSION,\n seq: TURN_DISCOVERY_SEQ,\n },\n // @ts-ignore - fix type\n locusSelfUrl: meeting.selfUrl,\n // @ts-ignore - fix type\n mediaId: meeting.mediaId,\n correlationId: meeting.correlationId,\n audioMuted: meeting.isAudioMuted(),\n videoMuted: meeting.isVideoMuted(),\n meetingId: meeting.id\n });\n }\n\n /**\n * Retrieves TURN server information from the backend by doing\n * a roap message exchange:\n * client server\n * | -----TURN_DISCOVERY_REQUEST-----> |\n * | <----TURN_DISCOVERY_RESPONSE----- |\n * | --------------OK----------------> |\n *\n * This TURN discovery roap exchange is always done with seq=0.\n * The RoapMediaConnection SDP exchange always starts with seq=1,\n * so it works fine no matter if TURN discovery is done or not.\n *\n * @param {Meeting} meeting\n * @param {Boolean} isReconnecting should be set to true if this is a new\n * media connection just after a reconnection\n * @returns {Promise}\n */\n doTurnDiscovery(meeting: Meeting, isReconnecting: boolean) {\n // @ts-ignore - fix type\n const isAnyClusterReachable = meeting.webex.meetings.reachability.isAnyClusterReachable();\n\n if (isAnyClusterReachable) {\n LoggerProxy.logger.info('Roap:turnDiscovery#doTurnDiscovery --> reachability has not failed, skipping TURN discovery');\n return Promise.resolve({turnServerInfo: undefined, turnDiscoverySkippedReason: 'reachability'});\n }\n\n // @ts-ignore - fix type\n if (!meeting.config.experimental.enableTurnDiscovery) {\n LoggerProxy.logger.info('Roap:turnDiscovery#doTurnDiscovery --> TURN discovery disabled in config, skipping it');\n\n return Promise.resolve({turnServerInfo: undefined, turnDiscoverySkippedReason: 'config'});\n }\n\n return this.sendRoapTurnDiscoveryRequest(meeting, isReconnecting)\n .then(() => this.waitForTurnDiscoveryResponse())\n .then(() => this.sendRoapOK(meeting))\n .then(() => {\n this.defer = undefined;\n\n LoggerProxy.logger.info('Roap:turnDiscovery#doTurnDiscovery --> TURN discovery completed');\n\n return {turnServerInfo: this.turnInfo, turnDiscoverySkippedReason: undefined};\n })\n .catch((e) => {\n // we catch any errors and resolve with no turn information so that the normal call join flow can continue without TURN\n LoggerProxy.logger.info(`Roap:turnDiscovery#doTurnDiscovery --> TURN discovery failed, continuing without TURN: ${e}`);\n\n Metrics.sendBehavioralMetric(\n BEHAVIORAL_METRICS.TURN_DISCOVERY_FAILURE,\n {\n correlation_id: meeting.correlationId,\n locus_id: meeting.locusUrl.split('/').pop(),\n reason: e.message,\n stack: e.stack\n }\n );\n\n return Promise.resolve({turnServerInfo: undefined, turnDiscoverySkippedReason: undefined});\n });\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["TURN_DISCOVERY_TIMEOUT","TURN_DISCOVERY_SEQ","TurnDiscovery","roapRequest","turnInfo","url","username","password","defer","LoggerProxy","logger","warn","reject","Error","responseTimer","setTimeout","info","promise","roapMessage","headers","expectedHeaders","headerName","field","foundHeaders","forEach","receivedHeader","expectedHeader","startsWith","substring","length","clearTimeout","undefined","resolve","meeting","isReconnecting","Defer","messageType","ROAP","ROAP_TYPES","TURN_DISCOVERY_REQUEST","version","ROAP_VERSION","seq","sendRoap","correlationId","locusSelfUrl","selfUrl","mediaId","audioMuted","audio","isLocallyMuted","videoMuted","video","meetingId","id","preferTranscoding","isMultistream","then","mediaConnections","updateMediaConnections","OK","webex","meetings","reachability","isAnyClusterReachable","turnServerInfo","turnDiscoverySkippedReason","config","experimental","enableTurnDiscovery","sendRoapTurnDiscoveryRequest","waitForTurnDiscoveryResponse","sendRoapOK","catch","e","Metrics","sendBehavioralMetric","BEHAVIORAL_METRICS","TURN_DISCOVERY_FAILURE","correlation_id","locus_id","locusUrl","split","pop","reason","message","stack"],"sources":["turnDiscovery.ts"],"sourcesContent":["// @ts-ignore - Types not available for @webex/common\nimport {Defer} from '@webex/common';\n\nimport Metrics from '../metrics';\nimport BEHAVIORAL_METRICS from '../metrics/constants';\nimport LoggerProxy from '../common/logs/logger-proxy';\nimport {ROAP} from '../constants';\n\nimport RoapRequest from './request';\nimport Meeting from '../meeting';\n\nconst TURN_DISCOVERY_TIMEOUT = 10; // in seconds\n\n// Roap spec says that seq should start from 1, but TURN discovery works fine with seq=0\n// and this is handy for us, because TURN discovery is always done before the first SDP exchange,\n// so we can do it with seq=0 or not do it at all and then we create the RoapMediaConnection\n// and do the SDP offer with seq=1\nconst TURN_DISCOVERY_SEQ = 0;\n\n/**\n * Handles the process of finding out TURN server information from Linus.\n * This is achieved by sending a TURN_DISCOVERY_REQUEST.\n */\nexport default class TurnDiscovery {\n private roapRequest: RoapRequest;\n\n private defer?: Defer; // used for waiting for the response\n\n private turnInfo: {\n url: string;\n username: string;\n password: string;\n };\n\n private responseTimer?: ReturnType<typeof setTimeout>;\n\n /**\n * Constructor\n *\n * @param {RoapRequest} roapRequest\n */\n constructor(roapRequest: RoapRequest) {\n this.roapRequest = roapRequest;\n this.turnInfo = {\n url: '',\n username: '',\n password: '',\n };\n }\n\n /**\n * waits for TURN_DISCOVERY_RESPONSE message to arrive\n *\n * @returns {Promise}\n * @private\n * @memberof Roap\n */\n private waitForTurnDiscoveryResponse() {\n if (!this.defer) {\n LoggerProxy.logger.warn(\n 'Roap:turnDiscovery#waitForTurnDiscoveryResponse --> TURN discovery is not in progress'\n );\n\n return Promise.reject(\n new Error('waitForTurnDiscoveryResponse() called before sendRoapTurnDiscoveryRequest()')\n );\n }\n\n const {defer} = this;\n\n this.responseTimer = setTimeout(() => {\n LoggerProxy.logger.warn(\n `Roap:turnDiscovery#waitForTurnDiscoveryResponse --> timeout! no response arrived within ${TURN_DISCOVERY_TIMEOUT} seconds`\n );\n\n defer.reject(new Error('Timed out waiting for TURN_DISCOVERY_RESPONSE'));\n }, TURN_DISCOVERY_TIMEOUT * 1000);\n\n LoggerProxy.logger.info(\n 'Roap:turnDiscovery#waitForTurnDiscoveryResponse --> waiting for TURN_DISCOVERY_RESPONSE...'\n );\n\n return defer.promise;\n }\n\n /**\n * handles TURN_DISCOVERY_RESPONSE roap message\n *\n * @param {Object} roapMessage\n * @returns {void}\n * @public\n * @memberof Roap\n */\n public handleTurnDiscoveryResponse(roapMessage: object) {\n // @ts-ignore - Fix missing type\n const {headers} = roapMessage;\n\n if (!this.defer) {\n LoggerProxy.logger.warn(\n 'Roap:turnDiscovery#handleTurnDiscoveryResponse --> unexpected TURN discovery response'\n );\n\n return;\n }\n\n const expectedHeaders = [\n {headerName: 'x-cisco-turn-url', field: 'url'},\n {headerName: 'x-cisco-turn-username', field: 'username'},\n {headerName: 'x-cisco-turn-password', field: 'password'},\n ];\n\n let foundHeaders = 0;\n\n headers?.forEach((receivedHeader) => {\n // check if it matches any of our expected headers\n expectedHeaders.forEach((expectedHeader) => {\n if (receivedHeader.startsWith(`${expectedHeader.headerName}=`)) {\n this.turnInfo[expectedHeader.field] = receivedHeader.substring(\n expectedHeader.headerName.length + 1\n );\n foundHeaders += 1;\n }\n });\n });\n\n clearTimeout(this.responseTimer);\n this.responseTimer = undefined;\n\n if (foundHeaders !== expectedHeaders.length) {\n LoggerProxy.logger.warn(\n `Roap:turnDiscovery#handleTurnDiscoveryResponse --> missing some headers, received: ${JSON.stringify(\n headers\n )}`\n );\n this.defer.reject(\n new Error(`TURN_DISCOVERY_RESPONSE missing some headers: ${JSON.stringify(headers)}`)\n );\n } else {\n LoggerProxy.logger.info(\n `Roap:turnDiscovery#handleTurnDiscoveryResponse --> received a valid response, url=${this.turnInfo.url}`\n );\n this.defer.resolve();\n }\n }\n\n /**\n * sends the TURN_DISCOVERY_REQUEST roap request\n *\n * @param {Meeting} meeting\n * @param {Boolean} isReconnecting\n * @returns {Promise}\n * @private\n * @memberof Roap\n */\n sendRoapTurnDiscoveryRequest(meeting: Meeting, isReconnecting: boolean) {\n if (this.defer) {\n LoggerProxy.logger.warn(\n 'Roap:turnDiscovery#sendRoapTurnDiscoveryRequest --> already in progress'\n );\n\n return Promise.resolve();\n }\n\n this.defer = new Defer();\n\n const roapMessage = {\n messageType: ROAP.ROAP_TYPES.TURN_DISCOVERY_REQUEST,\n version: ROAP.ROAP_VERSION,\n seq: TURN_DISCOVERY_SEQ,\n };\n\n LoggerProxy.logger.info(\n 'Roap:turnDiscovery#sendRoapTurnDiscoveryRequest --> sending TURN_DISCOVERY_REQUEST'\n );\n\n return this.roapRequest\n .sendRoap({\n roapMessage,\n correlationId: meeting.correlationId,\n // @ts-ignore - Fix missing type\n locusSelfUrl: meeting.selfUrl,\n // @ts-ignore - Fix missing type\n mediaId: isReconnecting ? '' : meeting.mediaId,\n audioMuted: meeting.audio?.isLocallyMuted(),\n videoMuted: meeting.video?.isLocallyMuted(),\n meetingId: meeting.id,\n preferTranscoding: !meeting.isMultistream,\n })\n .then(({mediaConnections}) => {\n if (mediaConnections) {\n meeting.updateMediaConnections(mediaConnections);\n }\n });\n }\n\n /**\n * Sends the OK message that server expects to receive\n * after it sends us TURN_DISCOVERY_RESPONSE\n *\n * @param {Meeting} meeting\n * @returns {Promise}\n */\n sendRoapOK(meeting: Meeting) {\n LoggerProxy.logger.info('Roap:turnDiscovery#sendRoapOK --> sending OK');\n\n return this.roapRequest.sendRoap({\n roapMessage: {\n messageType: ROAP.ROAP_TYPES.OK,\n version: ROAP.ROAP_VERSION,\n seq: TURN_DISCOVERY_SEQ,\n },\n // @ts-ignore - fix type\n locusSelfUrl: meeting.selfUrl,\n // @ts-ignore - fix type\n mediaId: meeting.mediaId,\n correlationId: meeting.correlationId,\n audioMuted: meeting.audio?.isLocallyMuted(),\n videoMuted: meeting.video?.isLocallyMuted(),\n meetingId: meeting.id,\n preferTranscoding: !meeting.isMultistream,\n });\n }\n\n /**\n * Retrieves TURN server information from the backend by doing\n * a roap message exchange:\n * client server\n * | -----TURN_DISCOVERY_REQUEST-----> |\n * | <----TURN_DISCOVERY_RESPONSE----- |\n * | --------------OK----------------> |\n *\n * This TURN discovery roap exchange is always done with seq=0.\n * The RoapMediaConnection SDP exchange always starts with seq=1,\n * so it works fine no matter if TURN discovery is done or not.\n *\n * @param {Meeting} meeting\n * @param {Boolean} isReconnecting should be set to true if this is a new\n * media connection just after a reconnection\n * @returns {Promise}\n */\n async doTurnDiscovery(meeting: Meeting, isReconnecting?: boolean) {\n // @ts-ignore - fix type\n const isAnyClusterReachable = await meeting.webex.meetings.reachability.isAnyClusterReachable();\n\n if (isAnyClusterReachable) {\n LoggerProxy.logger.info(\n 'Roap:turnDiscovery#doTurnDiscovery --> reachability has not failed, skipping TURN discovery'\n );\n\n return {\n turnServerInfo: undefined,\n turnDiscoverySkippedReason: 'reachability',\n };\n }\n\n // @ts-ignore - fix type\n if (!meeting.config.experimental.enableTurnDiscovery) {\n LoggerProxy.logger.info(\n 'Roap:turnDiscovery#doTurnDiscovery --> TURN discovery disabled in config, skipping it'\n );\n\n return {turnServerInfo: undefined, turnDiscoverySkippedReason: 'config'};\n }\n\n return this.sendRoapTurnDiscoveryRequest(meeting, isReconnecting)\n .then(() => this.waitForTurnDiscoveryResponse())\n .then(() => this.sendRoapOK(meeting))\n .then(() => {\n this.defer = undefined;\n\n LoggerProxy.logger.info('Roap:turnDiscovery#doTurnDiscovery --> TURN discovery completed');\n\n return {turnServerInfo: this.turnInfo, turnDiscoverySkippedReason: undefined};\n })\n .catch((e) => {\n // we catch any errors and resolve with no turn information so that the normal call join flow can continue without TURN\n LoggerProxy.logger.info(\n `Roap:turnDiscovery#doTurnDiscovery --> TURN discovery failed, continuing without TURN: ${e}`\n );\n\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.TURN_DISCOVERY_FAILURE, {\n correlation_id: meeting.correlationId,\n locus_id: meeting.locusUrl.split('/').pop(),\n reason: e.message,\n stack: e.stack,\n });\n\n return {turnServerInfo: undefined, turnDiscoverySkippedReason: undefined};\n });\n }\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
|
|
4
|
+
var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
|
|
5
|
+
_Object$defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
|
|
10
|
+
var _peerConnectionManager = _interopRequireDefault(require("../peer-connection-manager"));
|
|
11
|
+
var _constants = require("../constants");
|
|
12
|
+
var _loggerProxy = _interopRequireDefault(require("../common/logs/logger-proxy"));
|
|
13
|
+
var _parameter = _interopRequireDefault(require("../common/errors/parameter"));
|
|
14
|
+
var RoapUtil = {};
|
|
15
|
+
var ROAP_ANSWER = _constants._ANSWER_.toLowerCase();
|
|
16
|
+
RoapUtil.shouldHandleMedia = function (meeting) {
|
|
17
|
+
var offer = meeting.mediaProperties.peerConnection && meeting.mediaProperties.peerConnection.signalingState === _constants.SDP.HAVE_LOCAL_OFFER;
|
|
18
|
+
if (offer) {
|
|
19
|
+
return false;
|
|
20
|
+
}
|
|
21
|
+
return true;
|
|
22
|
+
};
|
|
23
|
+
RoapUtil.handleError = function (pc) {
|
|
24
|
+
return _peerConnectionManager.default.rollBackLocalDescription({
|
|
25
|
+
peerConnection: pc
|
|
26
|
+
}).then(function () {
|
|
27
|
+
return _promise.default.resolve(true);
|
|
28
|
+
}).catch(function (err) {
|
|
29
|
+
_loggerProxy.default.logger.error("Roap:util#handleError --> ".concat(err));
|
|
30
|
+
return _promise.default.reject(err);
|
|
31
|
+
});
|
|
32
|
+
};
|
|
33
|
+
RoapUtil.findError = function (messageType, errorType, type) {
|
|
34
|
+
return (type === _constants.ROAP.RECEIVE_ROAP_MSG || type === _constants.ROAP.SEND_ROAP_MSG) && messageType === _constants._ERROR_ && errorType === _constants._CONFLICT_;
|
|
35
|
+
};
|
|
36
|
+
RoapUtil.ensureMeeting = function (meeting, type) {
|
|
37
|
+
if (type === _constants.ROAP.RECEIVE_ROAP_MSG || type === _constants.ROAP.SEND_ROAP_MSG || type === _constants.ROAP.SEND_ROAP_MSG_SUCCESS) {
|
|
38
|
+
if (!meeting) {
|
|
39
|
+
return false;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
return true;
|
|
43
|
+
};
|
|
44
|
+
RoapUtil.updatePeerConnection = function (meeting, session) {
|
|
45
|
+
return _peerConnectionManager.default.updatePeerConnection({
|
|
46
|
+
offerSdp: session.OFFER.sdps,
|
|
47
|
+
peerConnection: meeting.mediaProperties.peerConnection
|
|
48
|
+
}, {
|
|
49
|
+
meetingId: meeting.id,
|
|
50
|
+
remoteQualityLevel: meeting.mediaProperties.remoteQualityLevel
|
|
51
|
+
}).then(function (res) {
|
|
52
|
+
meeting.roap.lastRoapOffer = session.OFFER.sdps;
|
|
53
|
+
return res;
|
|
54
|
+
});
|
|
55
|
+
};
|
|
56
|
+
RoapUtil.setRemoteDescription = function (meeting, session) {
|
|
57
|
+
_loggerProxy.default.logger.info("Roap:util#setRemoteDescription --> Transmit WAIT_TX_OK, correlationId: ".concat(meeting.correlationId));
|
|
58
|
+
if (!(meeting && meeting.mediaProperties.peerConnection)) {
|
|
59
|
+
_loggerProxy.default.logger.error("Roap:util#setRemoteDescription --> DANGER no media or screen peer connection, correlationId: ".concat(meeting.correlationId));
|
|
60
|
+
return _promise.default.reject(new _parameter.default('Must provide a media or screen peer connection'));
|
|
61
|
+
}
|
|
62
|
+
return _peerConnectionManager.default.setRemoteSessionDetails(meeting.mediaProperties.peerConnection, ROAP_ANSWER, session.ANSWER.sdps[0], meeting.id).then(function () {
|
|
63
|
+
_loggerProxy.default.logger.info("Roap:util#setRemoteDescription --> Success for correlationId: ".concat(meeting.correlationId));
|
|
64
|
+
return {
|
|
65
|
+
seq: session.ANSWER.seq,
|
|
66
|
+
mediaId: meeting.mediaId,
|
|
67
|
+
correlationId: meeting.correlationId
|
|
68
|
+
};
|
|
69
|
+
}).catch(function (err) {
|
|
70
|
+
_loggerProxy.default.logger.error("Roap:util#setRemoteDescription --> ".concat(err));
|
|
71
|
+
throw err;
|
|
72
|
+
});
|
|
73
|
+
};
|
|
74
|
+
var _default = RoapUtil;
|
|
75
|
+
exports.default = _default;
|
|
76
|
+
//# sourceMappingURL=util.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_peerConnectionManager","_interopRequireDefault","require","_constants","_loggerProxy","_parameter","RoapUtil","ROAP_ANSWER","_ANSWER_","toLowerCase","shouldHandleMedia","meeting","offer","mediaProperties","peerConnection","signalingState","SDP","HAVE_LOCAL_OFFER","handleError","pc","PeerConnectionManager","rollBackLocalDescription","then","_promise","default","resolve","catch","err","LoggerProxy","logger","error","concat","reject","findError","messageType","errorType","type","ROAP","RECEIVE_ROAP_MSG","SEND_ROAP_MSG","_ERROR_","_CONFLICT_","ensureMeeting","SEND_ROAP_MSG_SUCCESS","updatePeerConnection","session","offerSdp","OFFER","sdps","meetingId","id","remoteQualityLevel","res","roap","lastRoapOffer","setRemoteDescription","info","correlationId","ParameterError","setRemoteSessionDetails","ANSWER","seq","mediaId","_default","exports"],"sources":["util.ts"],"sourcesContent":["import PeerConnectionManager from '../peer-connection-manager';\nimport {_ANSWER_, _ERROR_, _CONFLICT_, ROAP, SDP} from '../constants';\nimport LoggerProxy from '../common/logs/logger-proxy';\nimport ParameterError from '../common/errors/parameter';\n\nconst RoapUtil: any = {};\nconst ROAP_ANSWER = _ANSWER_.toLowerCase();\n\nRoapUtil.shouldHandleMedia = (meeting) => {\n const offer =\n meeting.mediaProperties.peerConnection &&\n meeting.mediaProperties.peerConnection.signalingState === SDP.HAVE_LOCAL_OFFER;\n\n if (offer) {\n return false;\n }\n\n return true;\n};\n\nRoapUtil.handleError = (pc) =>\n PeerConnectionManager.rollBackLocalDescription({peerConnection: pc})\n .then(() => Promise.resolve(true))\n .catch((err) => {\n LoggerProxy.logger.error(`Roap:util#handleError --> ${err}`);\n\n return Promise.reject(err);\n });\n\nRoapUtil.findError = (messageType, errorType, type) =>\n (type === ROAP.RECEIVE_ROAP_MSG || type === ROAP.SEND_ROAP_MSG) &&\n messageType === _ERROR_ &&\n errorType === _CONFLICT_;\n\nRoapUtil.ensureMeeting = (meeting, type) => {\n if (\n type === ROAP.RECEIVE_ROAP_MSG ||\n type === ROAP.SEND_ROAP_MSG ||\n type === ROAP.SEND_ROAP_MSG_SUCCESS\n ) {\n if (!meeting) {\n return false;\n }\n }\n\n return true;\n};\n\nRoapUtil.updatePeerConnection = (meeting, session) =>\n PeerConnectionManager.updatePeerConnection(\n {\n offerSdp: session.OFFER.sdps,\n peerConnection: meeting.mediaProperties.peerConnection,\n },\n {\n meetingId: meeting.id,\n remoteQualityLevel: meeting.mediaProperties.remoteQualityLevel,\n }\n ).then((res) => {\n meeting.roap.lastRoapOffer = session.OFFER.sdps;\n\n return res;\n });\n\nRoapUtil.setRemoteDescription = (meeting, session) => {\n LoggerProxy.logger.info(\n `Roap:util#setRemoteDescription --> Transmit WAIT_TX_OK, correlationId: ${meeting.correlationId}`\n );\n if (!(meeting && meeting.mediaProperties.peerConnection)) {\n LoggerProxy.logger.error(\n `Roap:util#setRemoteDescription --> DANGER no media or screen peer connection, correlationId: ${meeting.correlationId}`\n );\n\n return Promise.reject(new ParameterError('Must provide a media or screen peer connection'));\n }\n\n return PeerConnectionManager.setRemoteSessionDetails(\n meeting.mediaProperties.peerConnection,\n ROAP_ANSWER,\n session.ANSWER.sdps[0],\n meeting.id\n )\n .then(() => {\n LoggerProxy.logger.info(\n `Roap:util#setRemoteDescription --> Success for correlationId: ${meeting.correlationId}`\n );\n\n return {\n seq: session.ANSWER.seq,\n mediaId: meeting.mediaId,\n correlationId: meeting.correlationId,\n };\n })\n .catch((err) => {\n LoggerProxy.logger.error(`Roap:util#setRemoteDescription --> ${err}`);\n throw err;\n });\n};\n\nexport default RoapUtil;\n"],"mappings":"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"}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
declare const STATS_DEFAULT: {
|
|
2
|
+
encryption: string;
|
|
3
|
+
audio: {
|
|
4
|
+
send: {
|
|
5
|
+
maxPacketLossRatio: number;
|
|
6
|
+
availableBandwidth: number;
|
|
7
|
+
bytesSent: number;
|
|
8
|
+
meanRemoteJitter: any[];
|
|
9
|
+
meanRoundTripTime: any[];
|
|
10
|
+
};
|
|
11
|
+
recv: {
|
|
12
|
+
availableBandwidth: number;
|
|
13
|
+
bytesReceived: number;
|
|
14
|
+
meanRtpJitter: any[];
|
|
15
|
+
meanRoundTripTime: any[];
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
video: {
|
|
19
|
+
send: {
|
|
20
|
+
maxPacketLossRatio: number;
|
|
21
|
+
availableBandwidth: number;
|
|
22
|
+
meanRemoteJitter: any[];
|
|
23
|
+
meanRoundTripTime: any[];
|
|
24
|
+
};
|
|
25
|
+
recv: {
|
|
26
|
+
availableBandwidth: number;
|
|
27
|
+
totalPacketsLost: number;
|
|
28
|
+
meanRtpJitter: any[];
|
|
29
|
+
meanRoundTripTime: any[];
|
|
30
|
+
};
|
|
31
|
+
latency: number;
|
|
32
|
+
packetsLost: number;
|
|
33
|
+
};
|
|
34
|
+
share: {
|
|
35
|
+
send: {
|
|
36
|
+
maxPacketLossRatio: number;
|
|
37
|
+
availableBandwidth: number;
|
|
38
|
+
totalPacketsLost: number;
|
|
39
|
+
meanRemoteJitter: any[];
|
|
40
|
+
meanRoundTripTime: any[];
|
|
41
|
+
};
|
|
42
|
+
recv: {
|
|
43
|
+
availableBandwidth: number;
|
|
44
|
+
meanRtpJitter: any[];
|
|
45
|
+
meanRoundTripTime: any[];
|
|
46
|
+
};
|
|
47
|
+
latency: number;
|
|
48
|
+
packetsLost: number;
|
|
49
|
+
};
|
|
50
|
+
bandwidth: {
|
|
51
|
+
systemBandwidth: number;
|
|
52
|
+
sentPerSecond: number;
|
|
53
|
+
encodedPerSecond: number;
|
|
54
|
+
helper: {
|
|
55
|
+
audioBytesSent: number;
|
|
56
|
+
videoBytestSent: number;
|
|
57
|
+
};
|
|
58
|
+
speed: number;
|
|
59
|
+
};
|
|
60
|
+
results: {};
|
|
61
|
+
connectionType: {
|
|
62
|
+
systemNetworkType: string;
|
|
63
|
+
systemIpAddress: string;
|
|
64
|
+
local: {
|
|
65
|
+
candidateType: any[];
|
|
66
|
+
transport: any[];
|
|
67
|
+
ipAddress: any[];
|
|
68
|
+
networkType: any[];
|
|
69
|
+
};
|
|
70
|
+
remote: {
|
|
71
|
+
candidateType: any[];
|
|
72
|
+
transport: any[];
|
|
73
|
+
ipAddress: any[];
|
|
74
|
+
networkType: any[];
|
|
75
|
+
};
|
|
76
|
+
};
|
|
77
|
+
resolutions: {
|
|
78
|
+
audio: {
|
|
79
|
+
send: {
|
|
80
|
+
width: number;
|
|
81
|
+
height: number;
|
|
82
|
+
};
|
|
83
|
+
recv: {
|
|
84
|
+
width: number;
|
|
85
|
+
height: number;
|
|
86
|
+
};
|
|
87
|
+
};
|
|
88
|
+
video: {
|
|
89
|
+
send: {
|
|
90
|
+
width: number;
|
|
91
|
+
height: number;
|
|
92
|
+
};
|
|
93
|
+
recv: {
|
|
94
|
+
width: number;
|
|
95
|
+
height: number;
|
|
96
|
+
};
|
|
97
|
+
};
|
|
98
|
+
share: {
|
|
99
|
+
send: {
|
|
100
|
+
width: number;
|
|
101
|
+
height: number;
|
|
102
|
+
};
|
|
103
|
+
recv: {
|
|
104
|
+
width: number;
|
|
105
|
+
height: number;
|
|
106
|
+
};
|
|
107
|
+
};
|
|
108
|
+
};
|
|
109
|
+
internal: {
|
|
110
|
+
audio: {
|
|
111
|
+
send: {};
|
|
112
|
+
recv: {};
|
|
113
|
+
};
|
|
114
|
+
video: {
|
|
115
|
+
send: {};
|
|
116
|
+
recv: {};
|
|
117
|
+
};
|
|
118
|
+
share: {
|
|
119
|
+
send: {};
|
|
120
|
+
recv: {};
|
|
121
|
+
};
|
|
122
|
+
remote: {};
|
|
123
|
+
candidates: {};
|
|
124
|
+
};
|
|
125
|
+
};
|
|
126
|
+
export default STATS_DEFAULT;
|