@webex/plugin-meetings 3.0.0-beta.52 → 3.0.0-beta.53

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.
@@ -130,7 +130,7 @@ var Breakout = _webexCore.WebexPlugin.extend({
130
130
  sessionId: this.sessionId
131
131
  });
132
132
  },
133
- version: "3.0.0-beta.52"
133
+ version: "3.0.0-beta.53"
134
134
  });
135
135
  var _default = Breakout;
136
136
  exports.default = _default;
@@ -717,7 +717,7 @@ var Breakouts = _webexCore.WebexPlugin.extend({
717
717
  }
718
718
  });
719
719
  },
720
- version: "3.0.0-beta.52"
720
+ version: "3.0.0-beta.53"
721
721
  });
722
722
  var _default = Breakouts;
723
723
  exports.default = _default;
package/dist/constants.js CHANGED
@@ -461,7 +461,8 @@ var CALL_REMOVED_REASON = {
461
461
  exports.CALL_REMOVED_REASON = CALL_REMOVED_REASON;
462
462
  var SHARE_STOPPED_REASON = {
463
463
  SELF_STOPPED: 'SELF_STOPPED',
464
- MEETING_REJOIN: 'MEETING_REJOIN'
464
+ MEETING_REJOIN: 'MEETING_REJOIN',
465
+ MEDIA_RECONNECTION: 'MEDIA_RECONNECTION'
465
466
  };
466
467
  exports.SHARE_STOPPED_REASON = SHARE_STOPPED_REASON;
467
468
  var EVENTS = {
@@ -1 +1 @@
1
- {"version":3,"names":["AUDIO","AUDIO_INPUT","AUDIO_STATUS","ALERT","ANSWER","CALL","CORRELATION_ID","CONVERSATION_URL","CALENDAR","CALENDAR_EVENTS_API","CMR_MEETINGS","CLAIM","CONTROLS","CONTENT","COMPLETE","WHITEBOARD","GATHERING","DEVELOPMENT","DECLINE","ERROR","ENDED","HECATE","HOST","JOIN","LEAVE","LIVE","LOCAL","LOCI","LOCUS_URL","END","MAX_RANDOM_DELAY_FOR_MEETING_INFO","MEETINGINFO","MEET","MEET_M","MEDIA","OFFLINE","ONLINE","PARTICIPANT","PROVISIONAL_TYPE_DIAL_IN","PROVISIONAL_TYPE_DIAL_OUT","REMOTE","READY","SEND_DTMF_ENDPOINT","SENDRECV","SIP_URI","SHARE","TYPE","VIDEO","VIDEO_INPUT","VIDEO_STATUS","_ANSWER_","_ACTIVE_","_CALL_","_CREATED_","_CONFLICT_","_CONVERSATION_URL_","_ERROR_","_FORCED_","_IDLE_","_IN_LOBBY_","_IN_MEETING_","_INCOMING_","_IN_","_ID_","_JOIN_","_JOINED_","_LOCUS_ID_","_LEFT_","_MEETING_LINK_","_MEETING_UUID_","_MEETING_","_MEETING_CENTER_","_MEETING_ID_","_NOT_IN_MEETING_","_NONE_","_OBSERVE_","_PERSONAL_ROOM_","_PEOPLE_","hydraTypes","PEOPLE","_REQUESTED_","_RESOURCE_ROOM_","_RECEIVE_ONLY_","_REMOVE_","_ROOM_","ROOM","_SIP_BRIDGE_","_SIP_URI_","_SEND_RECEIVE_","_SEND_ONLY_","_INACTIVE_","_SLIDES_","_S_LINE","_USER_","_UNKNOWN_","_WEBEX_MEETING_","_WAIT_","_MOVE_MEDIA_","PARTICIPANT_DELTAS","TARGETS","STATES","DISABLED","MUTED","UNKNOWN","UNMUTED","ALTERNATE_REDIRECT_TRUE","HTTPS_PROTOCOL","MEETINGS","MEDIA_PEER_CONNECTION_NAME","SHARE_PEER_CONNECTION_NAME","USE_URI_LOOKUP_FALSE","WWW_DOT","WEBEX_DOT_COM","CONVERSATION_SERVICE","WBXAPPAPI_SERVICE","DEFAULT_EXCLUDED_STATS","LAYOUT_TYPES","MODERATOR_TRUE","MODERATOR_FALSE","INTENT_TO_JOIN","ICE_TIMEOUT","ICE_FAIL_TIMEOUT","RETRY_TIMEOUT","PC_BAIL_TIMEOUT","DIALER_REGEX","SIP_ADDRESS","PHONE_NUMBER","E164_FORMAT","IPV4_REGEX","VALID_EMAIL_ADDRESS","VALID_PMR_ADDRESS","VALID_PMR_LINK","VALID_PIN","UUID_REG","API","CALLIOPEDISCOVERY","LOCUS","CALENDAR_EVENTS","CREATE","UPDATE","CREATE_MINIMAL","UPDATE_MINIMAL","DELETE","DEFAULT_GET_STATS_FILTER","types","RECORDING_STATE","RECORDING","IDLE","PAUSED","RESUMED","SHARE_STATUS","NO_SHARE","REMOTE_SHARE_ACTIVE","LOCAL_SHARE_ACTIVE","WHITEBOARD_SHARE_ACTIVE","EVENT_TRIGGERS","MEETINGS_READY","MEETINGS_REGISTERED","MEETINGS_UNREGISTERED","MEDIA_READY","MEDIA_STOPPED","MEDIA_UPDATE","MEDIA_CODEC_MISSING","MEDIA_CODEC_LOADED","MEETING_STARTED_SHARING_LOCAL","MEETING_STOPPED_SHARING_LOCAL","MEETING_STARTED_SHARING_REMOTE","MEETING_STOPPED_SHARING_REMOTE","MEETING_STARTED_SHARING_WHITEBOARD","MEETING_STOPPED_SHARING_WHITEBOARD","MEETING_MEDIA_LOCAL_STARTED","MEETING_MEDIA_REMOTE_STARTED","MEETING_STARTED_RECORDING","MEETING_STOPPED_RECORDING","MEETING_STARTED_RECEIVING_TRANSCRIPTION","MEETING_STOPPED_RECEIVING_TRANSCRIPTION","MEETING_RECEIVE_REACTIONS","MEETING_PAUSED_RECORDING","MEETING_RESUMED_RECORDING","MEETING_ADDED","MEETING_REMOVED","MEETING_RINGING","MEETING_RINGING_STOP","MEETING_SELF_LOBBY_WAITING","MEETING_SELF_GUEST_ADMITTED","MEETING_SELF_VIDEO_MUTED_BY_OTHERS","MEETING_SELF_VIDEO_UNMUTED_BY_OTHERS","MEETING_SELF_MUTED_BY_OTHERS","MEETING_SELF_UNMUTED_BY_OTHERS","MEETING_SELF_REQUESTED_TO_UNMUTE","MEETING_SELF_PHONE_AUDIO_UPDATE","MEETING_SELF_CANNOT_VIEW_PARTICIPANT_LIST","MEETING_SELF_IS_SHARING_BLOCKED","MEETING_CONTROLS_LAYOUT_UPDATE","MEETING_ENTRY_EXIT_TONE_UPDATE","MEETING_BREAKOUTS_UPDATE","MEETING_BREAKOUTS_CLOSING","MEETING_BREAKOUTS_MESSAGE","MEMBERS_UPDATE","MEMBERS_CONTENT_UPDATE","MEMBERS_HOST_UPDATE","MEMBERS_SELF_UPDATE","MEETING_RECONNECTION_STARTING","MEETING_RECONNECTION_SUCCESS","MEETING_RECONNECTION_FAILURE","MEETING_UNLOCKED","MEETING_LOCKED","MEETING_INFO_AVAILABLE","MEETING_LOG_UPLOAD_SUCCESS","MEETING_LOG_UPLOAD_FAILURE","MEETING_ACTIONS_UPDATE","MEETING_STATE_CHANGE","MEETING_MEETING_CONTAINER_UPDATE","MEETING_EMBEDDED_APPS_UPDATE","MEDIA_QUALITY","MEETINGS_NETWORK_DISCONNECTED","MEETINGS_NETWORK_CONNECTED","MEETING_SELF_LEFT","NETWORK_QUALITY","MEDIA_NEGOTIATED","ACTIVE_SPEAKER_CHANGED","REMOTE_VIDEO_SOURCE_COUNT_CHANGED","REMOTE_AUDIO_SOURCE_COUNT_CHANGED","REMOTE_MEDIA_AUDIO_CREATED","REMOTE_MEDIA_SCREEN_SHARE_AUDIO_CREATED","REMOTE_MEDIA_VIDEO_LAYOUT_CHANGED","EVENT_TYPES","SELF","OTHER","REMOTE_AUDIO","REMOTE_VIDEO","REMOTE_SHARE","LOCAL_SHARE","MEETING_REMOVED_REASON","SELF_REMOVED","FULLSTATE_REMOVED","MEETING_INACTIVE_TERMINATING","CLIENT_LEAVE_REQUEST","USER_ENDED_SHARE_STREAMS","NO_MEETINGS_TO_SYNC","MEETING_CONNECTION_FAILED","CALL_REMOVED_REASON","CALL_INACTIVE","PARTNER_LEFT","SELF_LEFT","SHARE_STOPPED_REASON","SELF_STOPPED","MEETING_REJOIN","EVENTS","SELF_UNADMITTED_GUEST","SELF_ADMITTED_GUEST","MEDIA_INACTIVITY","CONVERSATION_URL_UPDATE","DESTROY_MEETING","REQUEST_UPLOAD_LOGS","REMOTE_RESPONSE","LOCUS_INFO_UPDATE_PARTICIPANTS","LOCUS_INFO_UPDATE_HOST","LOCUS_INFO_UPDATE_MEDIA_SHARES","LOCUS_INFO_UPDATE_SELF","LOCUS_INFO_UPDATE_URL","LOCUS_INFO_CAN_ASSIGN_HOST","DISCONNECT_DUE_TO_INACTIVITY","MEDIA_STATE","active","inactive","ERROR_DICTIONARY","PARAMETER","NAME","MESSAGE","CODE","JOIN_MEETING","RECONNECTION","PERMISSION","STATS","PASSWORD","CAPTCHA","BREAKOUT_EDIT","FLOOR_ACTION","GRANTED","RELEASED","ACCEPTED","FULL_STATE","INITIALIZING","INACTIVE","ACTIVE","TERMINATING","HTTP_VERBS","PUT","POST","GET","PATCH","ICE_GATHERING_STATE","NEW","ICE_STATE","CHECKING","CONNECTED","CLOSED","COMPLETED","FAILED","DISCONNECTED","CONNECTION_STATE","CONNECTING","STATE","SEQUENCE","UN_DEF","EMPTY","DEF","NA","RANGE_START","RANGE_END","SYNCDEBUG","BREAKOUTS","STATUS","CLOSING","PENDING","OPEN","BREAKOUTS_CLOSING","SESSION_TYPES","MAIN","BREAKOUT","SESSION_STATES","ASSIGNED","ALLOWED","ASSIGNED_CURRENT","REQUESTED","BREAKOUTS_SUPPORTED","ACTION","START","CLOSE","ERROR_CODE","EDIT_LOCK_TOKEN_MISMATCH","EDIT_NOT_AUTHORIZED","DEFAULT_DURATION","EDIT_LOCK_STATUS","LOCKED","NOT_LOCKED","DEFAULT_TTL","LOCUSINFO","CONTROLS_MEETING_LAYOUT_UPDATED","CONTROLS_RECORDING_UPDATED","CONTROLS_MEETING_TRANSCRIBE_UPDATED","CONTROLS_MEETING_BREAKOUT_UPDATED","CONTROLS_MEETING_CONTAINER_UPDATED","CONTROLS_ENTRY_EXIT_TONE_UPDATED","SELF_REMOTE_VIDEO_MUTE_STATUS_UPDATED","SELF_REMOTE_MUTE_STATUS_UPDATED","LOCAL_UNMUTE_REQUESTED","LOCAL_UNMUTE_REQUIRED","SELF_MODERATOR_CHANGED","MEETING_UPDATE","MEDIA_STATUS_CHANGE","FULL_STATE_TYPE_UPDATE","FULL_STATE_MEETING_STATE_CHANGE","MEETING_STATE_CHANGE_TO_ACTIVE","MEETING_INFO_UPDATED","SELF_OBSERVING","EMBEDDED_APPS_UPDATED","SELF_CANNOT_VIEW_PARTICIPANT_LIST_CHANGE","SELF_IS_SHARING_BLOCKED_CHANGE","SELF_MEETING_BREAKOUTS_CHANGED","LINKS_SERVICES","LOCUSEVENT","LOCUS_MERCURY","CONTROLS_UPDATED","DIFFERENCE","BREAKOUT_ROSTER","FLOOR_GRANTED","FLOOR_RELEASED","MESSAGE_ROAP","PARTICIPANT_JOIN","PARTICIPANT_LEFT","PARTICIPANT_DECLINED","PARTICIPANT_UPDATED","PARTICIPANT_CONTROLS_UPDATED","PARTICIPANT_ROLES_UPDATED","PARTICIPANT_AUDIO_MUTED","PARTICIPANT_AUDIO_UNMUTED","PARTICIPANT_VIDEO_MUTED","PARTICIPANT_VIDEO_UNMUTED","RECORDING_STARTED","RECORDING_START_FAILED","RECORDING_STOPPED","SELF_CHANGED","MEDIA_TRACK_CONSTRAINT","CURSOR","AWLAYS","MOTION","NEVER","MEETING_ERRORS","METRICS_NOT_SERVER_OR_CLIENT_EXCEPTION","BIDIRECTIONAL_ROSTER_NOT_ALLOWED","INVALID_LOCUS_URL","ARGUMENT_NULL_OR_EMPTY","INVALID_USER","INVALID_PHONE_NUMBER_OR_COUNTRY_CODE","EMPTY_PHONE_NUMBER_OR_COUNTRY_CODE","PHONE_NUMBER_INVALID_COUNTRY_CODE","PHONE_NUMBER_NOT_A_NUMBER","PHONE_NUMBER_TOO_SHORT_AFTER_IDD","PHONE_NUMBER_TOO_SHORT_NSN","PHONE_NUMBER_TOO_LONG","INVALID_DIALABLE_KEY","INVALID_MEETING_LINK","INVALID_SINCE_OR_SEQUENCE_HASH_IN_REQUEST","INVALID_LOCUS_ID","EMPTY_SCHEDULED_MEETING_START_TIME","INVALID_SCHEDULED_MEETING_DURATION_MINUTES","INVALID_SCHEDULED_MEETING_REMINDER_DURATION_MINUTES","EMPTY_SCHEDULED_MEETING_ORGANIZER","INVALID_MEETING_ID_FORMAT","INVALID_SIP_URL_FORMAT","EMPTY_INVITEE_RECORD","EMPTY_INVITEE_ADDRESS","DESKPHONE_NOTHING_DIALABLE_FOUND","INVALID_INVITEE_ADDRESS","INVALID_ATTENDEE_ID","INVALID_IN_LOBBY","MISSING_REQUESTING_PARTICIPANT_ID","INVALID_REQUESTING_PARTICIPANT_ID","SUPPLEMENTARY_USER_INFO_NOT_FOUND","UNAUTHORIZED","REMOVED_PARTICIPANT","FREE_USER_MAX_PARTICIPANTS_EXCEEDED","PAID_USER_MAX_PARTICIPANTS_EXCEEDED","SERVICE_MAX_PARTICIPANTS_EXCEEDED","ONE_ON_ONE_TO_SELF_NOT_ALLOWED","JOIN_RESTRICTED_USER","GET_RESTRICTED_USER","JOIN_RESTRICTED_USER_NOT_IN_ROOM","CREATE_MEDIA_RESTRICTED_USER","DUPLICATE_RESOURCE_CREATION_REQUEST","MEETING_NOT_FOUND","NOT_WEBEX_SITE","INVALID_SCHEDULED_MEETING_ORGANIZER","FREE_USER_MAX_PARTICIPANTS_JOINED_EXCEEDED","PAID_USER_MAX_PARTICIPANTS_JOINED_EXCEEDED","SERVICE_MAX_PARTICIPANTS_ROSTER_EXCEEDED","SERVICE_INITIAL_PARTICIPANTS_ROSTER_EXCEEDED","RESOURCE_GUEST_FORBIDDEN","SERVICE_NO_MACHINE_OR_SERVICE_ACCOUNT","MODERATOR_ROLE_REMOVAL_NOT_ALLOWED","RECORDING_CONTROL_NOT_SUPPORTED","HOST_PIN_LOCKED","INVALID_HOST_PIN","REQUESTING_PARTICIPANT_NOT_MODERATOR","CONVERSATION_NOT_FOUND","MEETING_LINK_NOT_FOUND","MEETING_INFO_NOT_FOUND","SCHEDULED_MEETING_NOT_FOUND","RECORDING_NOT_STARTED","RECORDING_NOT_ENABLED","RECORDING_USER_STORAGE_FULL","RECORDING_SITE_STORAGE_FULL","NO_SCHEDULED_MEETING","MEETING_FULL_UPDATE_NOT_ALLOWED","MODERATOR_ROLE_REMOVAL_NOT_VALID","MODERATOR_ROLE_ADDITION_NOT_VALID","INVALID_CALL_START_TIME","MEETING_STARTED_UPDATE_NOT_ALLOWED","EXCEEDED_MAX_JOINED_PARTICIPANTS","EXCEEDED_SERVICE_MAX_PARTICIPANTS","MEETING_IS_LOCKED","MEETING_IS_TERMINATING","MEETING_REQUIRE_MODERATOR_PIN_INTENT","MEETING_REQUIRE_MODERATOR_PIN","MEETING_REQUIRE_MODERATOR_ROLE","PMR_ACCOUNT_SUSPENDED","PMR_ACCOUNT_LOCKED","INVALID_JOIN_TIME","REQUIRES_WEBEX_LOGIN","TOO_MANY_REQUESTS","UNABLE_TO_LOOK_UP_DEVICE_INFORMATION","UNABLE_TO_LOOK_UP_CONVERSATION","UNABLE_TO_LOOK_UP_CI_USER","UNABLE_TO_CREATE_CONFLUENCE","SERVICE_UNAVAILABLE","SOCKET_TIMEOUT","NO_HTTP_RESPONSE","MEETING_END_REASON","MEDIA_RELEASED","DISPLAY_HINTS","ADD_GUEST","ROSTER_WAITING_TO_JOIN","RECORDING_CONTROL_START","RECORDING_CONTROL_PAUSE","RECORDING_CONTROL_STOP","RECORDING_CONTROL_RESUME","LOCK_CONTROL_UNLOCK","LOCK_CONTROL_LOCK","LOCK_STATUS_LOCKED","LOCK_STATUS_UNLOCKED","RAISE_HAND","LOWER_ALL_HANDS","LOWER_SOMEONE_ELSES_HAND","LEAVE_TRANSFER_HOST_END_MEETING","LEAVE_END_MEETING","CAPTION_START","CAPTION_STATUS_ACTIVE","DISPLAY_REAL_TIME_TRANSLATION","ENABLE_CAPTION_PANEL","DISPLAY_NON_ENGLISH_ASR","TRANSCRIPTION_CONTROL_START","TRANSCRIPTION_CONTROL_STOP","WEBEX_ASSISTANT_STATUS_ACTIVE","WAITING_FOR_OTHERS","ENABLE_REACTIONS","DISABLE_REACTIONS","REACTIONS_ACTIVE","REACTIONS_INACTIVE","ENABLE_MUTE_ON_ENTRY","DISABLE_MUTE_ON_ENTRY","ENABLE_HARD_MUTE","DISABLE_HARD_MUTE","MUTE_ALL","UNMUTE_ALL","BREAKOUT_MANAGEMENT","UCF_SUPPRESS_BREAKOUTS_SUPPORT","DISABLE_ASK_FOR_HELP","DISABLE_BREAKOUT_PREASSIGNMENTS","DISABLE_LOBBY_TO_BREAKOUT","SELF_ROLES","COHOST","MODERATOR","MEETING_STATE","INCOMING","DIALING","NOTIFIED","DECLINED","ON_GOING","JOINED","LEFT","MEETING_STATE_MACHINE","TRANSITIONS","FAIL","RING","RESET","RINGING","ANSWERED","MEETING_AUDIO_STATE_MACHINE","TOGGLE","INIT","MUTE_SELF","UNMUTE_SELF","MEETING_VIDEO_STATE_MACHINE","PEER_CONNECTION_STATE","IN_PROGRESS","FAILURE","DEFAULT_TRY_COUNT","DEFAULT_STATUS","RESOURCE","CLUSTERS","REACHABILITY","localStorageResult","localStorageJoinCookie","namespace","ROAP","ROAP_TYPES","OFFER","OK","TURN_DISCOVERY_REQUEST","TURN_DISCOVERY_RESPONSE","ROAP_MERCURY","ROAP_VERSION","MediaContent","main","slides","NETWORK_STATUS","RECONNECTING","NETWORK_TYPE","VPN","WIFI","ETHERNET","SEND_DIRECTION","RECEIVE_DIRECTION","MQA_STATS","MQA_SIZE","CA_TYPE","DEFAULT_IP","DEFAULT_SHARE_SENDER_STATS","common","direction","isMain","mariFecEnabled","mariQosEnabled","multistreamEnabled","availableBitrate","dtlsBitrate","dtlsPackets","fecBitrate","fecPackets","maxBitrate","queueDelay","remoteJitter","remoteLossRate","remoteReceiveRate","roundTripTime","rtcpBitrate","rtcpPackets","rtpBitrate","rtpPackets","stunBitrate","stunPackets","transportType","streams","codec","duplicateSsci","requestedBitrate","requestedFrames","ssci","transmittedBitrate","transmittedFrameRate","h264CodecProfile","localConfigurationChanges","remoteConfigurationChanges","requestedFrameSize","requestedKeyFrames","transmittedFrameSize","transmittedHeight","transmittedKeyFrames","transmittedWidth","intervalMetadata","memoryUsage","cpuBitWidth","mainProcessMaximumMemoryBytes","osBitWidth","processAverageMemoryUsage","processMaximumMemoryBytes","processMaximumMemoryUsage","systemAverageMemoryUsage","systemMaximumMemoryUsage","peerReflexiveIP","processAverageCPU","processMaximumCPU","systemAverageCPU","systemMaximumCPU","QUALITY_LEVELS","LOW","MEDIUM","HIGH","AVAILABLE_RESOLUTIONS","video","width","max","ideal","height","VIDEO_RESOLUTIONS","MQA_INTEVAL","MEDIA_DEVICES","MICROPHONE","SPEAKER","CAMERA","METRICS_JOIN_TIMES_MAX_DURATION","PSTN_STATUS","TRANSFERRING","SUCCESS","PASSWORD_STATUS","NOT_REQUIRED","REQUIRED","VERIFIED","MEETING_INFO_FAILURE_REASON","NONE","WRONG_PASSWORD","WRONG_CAPTCHA","BNR_STATUS","SHOULD_ENABLE","ENABLED","SHOULD_DISABLE","NOT_ENABLED","EMBEDDED_APP_TYPES","SLIDO"],"sources":["constants.ts"],"sourcesContent":["// @ts-ignore\nimport {hydraTypes} from '@webex/common';\n\n// *********** LOWERCASE / CAMELCASE STRINGS ************\n\nexport const AUDIO = 'audio';\nexport const AUDIO_INPUT = 'audioinput';\nexport const AUDIO_STATUS = 'audioStatus';\nexport const ALERT = 'alert';\nexport const ANSWER = 'answer';\n\nexport const CALL = 'call';\nexport const CORRELATION_ID = 'correlationId';\nexport const CONVERSATION_URL = 'conversationUrl';\nexport const CALENDAR = 'calendar';\nexport const CALENDAR_EVENTS_API = 'calendarEvents';\nexport const CMR_MEETINGS = 'cmrmeetings';\nexport const CLAIM = 'claim';\nexport const CONTROLS = 'controls';\nexport const CONTENT = 'content';\nexport const COMPLETE = 'complete';\nexport const WHITEBOARD = 'whiteboard';\nexport const GATHERING = 'gathering';\nexport const DEVELOPMENT = 'development';\nexport const DECLINE = 'decline';\n\nexport const ERROR = 'error';\nexport const ENDED = 'ended';\n\nexport const HECATE = 'hecate';\n\nexport const HOST = 'host';\n\nexport const JOIN = 'join';\n\nexport const LEAVE = 'leave';\nexport const LIVE = 'live';\nexport const LOCAL = 'local';\nexport const LOCI = 'loci';\nexport const LOCUS_URL = 'locusUrl';\nexport const END = 'end';\n\nexport const MAX_RANDOM_DELAY_FOR_MEETING_INFO = 3 * 60 * 1000;\nexport const MEETINGINFO = 'meetingInfo';\nexport const MEET = 'meet';\nexport const MEET_M = 'm';\nexport const MEDIA = 'media';\n\nexport const OFFLINE = 'offline';\nexport const ONLINE = 'online';\n\nexport const PARTICIPANT = 'participant';\n\nexport const PROVISIONAL_TYPE_DIAL_IN = 'DIAL_IN';\nexport const PROVISIONAL_TYPE_DIAL_OUT = 'DIAL_OUT';\n\nexport const REMOTE = 'remote';\nexport const READY = 'ready';\n\nexport const SEND_DTMF_ENDPOINT = 'sendDtmf';\nexport const SENDRECV = 'sendrecv';\nexport const SIP_URI = 'sipUri';\nexport const SHARE = 'share';\n\nexport const TYPE = 'type';\n\nexport const VIDEO = 'video';\nexport const VIDEO_INPUT = 'videoinput';\nexport const VIDEO_STATUS = 'videoStatus';\n\n// *********** UPPERCASE ONLY STRINGS ************\n// Please alphabetize\nexport const _ANSWER_ = 'ANSWER';\nexport const _ACTIVE_ = 'ACTIVE';\nexport const _CALL_ = 'CALL';\nexport const _CREATED_ = 'CREATED';\nexport const _CONFLICT_ = 'CONFLICT';\nexport const _CONVERSATION_URL_ = 'CONVERSATION_URL';\n\nexport const _ERROR_ = 'ERROR';\n\nexport const _FORCED_ = 'FORCED';\n\nexport const _IDLE_ = 'IDLE';\nexport const _IN_LOBBY_ = 'IN_LOBBY';\nexport const _IN_MEETING_ = 'IN_MEETING';\nexport const _INCOMING_ = 'INCOMING';\nexport const _IN_ = 'IN';\nexport const _ID_ = 'id';\n\nexport const _JOIN_ = 'JOIN';\nexport const _JOINED_ = 'JOINED';\n\nexport const _LOCUS_ID_ = 'LOCUS_ID';\nexport const _LEFT_ = 'LEFT';\n\nexport const _MEETING_LINK_ = 'MEETING_LINK';\nexport const _MEETING_UUID_ = 'MEETING_UUID';\nexport const _MEETING_ = 'MEETING';\nexport const _MEETING_CENTER_ = 'MEETING_CENTER';\nexport const _MEETING_ID_ = 'MEETING_ID';\n\nexport const _NOT_IN_MEETING_ = 'NOT_IN_MEETING';\nexport const _NONE_ = 'NONE';\n\nexport const _OBSERVE_ = 'OBSERVE';\n\nexport const _PERSONAL_ROOM_ = 'PERSONAL_ROOM';\nexport const _PEOPLE_ = hydraTypes.PEOPLE;\n\nexport const _REQUESTED_ = 'REQUESTED';\nexport const _RESOURCE_ROOM_ = 'RESOURCE_ROOM';\nexport const _RECEIVE_ONLY_ = 'RECVONLY';\nexport const _REMOVE_ = 'REMOVE';\nexport const _ROOM_ = hydraTypes.ROOM;\n\nexport const _SIP_BRIDGE_ = 'SIP_BRIDGE';\nexport const _SIP_URI_ = 'SIP_URI';\nexport const _SEND_RECEIVE_ = 'SENDRECV';\nexport const _SEND_ONLY_ = 'SENDONLY';\nexport const _INACTIVE_ = 'INACTIVE';\nexport const _SLIDES_ = 'SLIDES';\nexport const _S_LINE = 's=-';\n\nexport const _USER_ = 'USER';\nexport const _UNKNOWN_ = 'UNKNOWN';\n\nexport const _WEBEX_MEETING_ = 'WEBEX_MEETING';\nexport const _WAIT_ = 'WAIT';\nexport const _MOVE_MEDIA_ = 'MOVE_MEDIA';\n\n// *********** PARTICIPANT DELTAS ***********\nexport const PARTICIPANT_DELTAS = {\n TARGETS: {\n AUDIO: 'audio',\n VIDEO: 'video',\n },\n STATES: {\n DISABLED: 'disabled',\n MUTED: 'muted',\n UNKNOWN: 'unknown',\n UNMUTED: 'unmuted',\n },\n};\n\n// *********** STRING HELPERS ***********\n// Please alphabetize\nexport const ALTERNATE_REDIRECT_TRUE = 'alternateRedirect=true';\n\nexport const HTTPS_PROTOCOL = 'https://';\n\nexport const MEETINGS = 'Meetings';\n\nexport const MEDIA_PEER_CONNECTION_NAME = 'MediaPeerConnection';\n\nexport const SHARE_PEER_CONNECTION_NAME = 'SharePeerConnection';\n\nexport const USE_URI_LOOKUP_FALSE = 'useUriLookup=false';\n\nexport const WWW_DOT = 'www.';\n\nexport const WEBEX_DOT_COM = 'webex.com';\n\nexport const CONVERSATION_SERVICE = 'identityLookup';\n\nexport const WBXAPPAPI_SERVICE = 'webex-appapi-service';\n\n// ******************* ARRAYS ********************\n// Please alphabetize\nexport const DEFAULT_EXCLUDED_STATS = ['timestamp', 'ssrc', 'priority'];\n\n/**\n * @description @description Layout type for remote video participants. Allowed values are: Single, Equal, ActivePresence, Prominent, OnePlusN\n * @type {array}\n * @constant\n */\nexport const LAYOUT_TYPES = ['Single', 'Equal', 'ActivePresence', 'Prominent', 'OnePlusN'];\n\n// ******************* BOOLEANS *******************\n// Please alphabetize\nexport const MODERATOR_TRUE = true;\nexport const MODERATOR_FALSE = false;\n\n// ******************** NUMBERS ********************\n\nexport const INTENT_TO_JOIN = [2423005, 2423006, 2423016, 2423017, 2423018];\nexport const ICE_TIMEOUT = 2000;\nexport const ICE_FAIL_TIMEOUT = 3000;\n\nexport const RETRY_TIMEOUT = 3000;\n\nexport const PC_BAIL_TIMEOUT = 8000;\n\n// ******************** REGEX **********************\n// Please alphabetize\nexport const DIALER_REGEX = {\n // modified from https://github.com/kirm/sip.js base\n // and with https://tools.ietf.org/html/rfc3261\n // requires the @ symbol\n SIP_ADDRESS:\n /^(sips?)?:?(?:([^\\s>:@]+)(?::([^\\s@>]+))?@)([\\w\\-.]+)(?::(\\d+))?((?:;[^\\s=?>;]+(?:=[^\\s?;]+)?)*)(?:\\?(([^\\s&=>]+=[^\\s&=>]+)(&[^\\s&=>]+=[^\\s&=>]+)*))?$/,\n // standard telephony num regex\n PHONE_NUMBER:\n /^(?:(?:\\+?1\\s*(?:[.-]\\s*)?)?(?:\\(\\s*([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9])\\s*\\)|([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9]))\\s*(?:[.-]\\s*)?)?([2-9]1[02-9]|[2-9][02-9]1|[2-9][02-9]{2})\\s*(?:[.-]\\s*)?([0-9]{4})(?:\\s*(?:#|x\\.?|ext\\.?|extension)\\s*(\\d+))?$/,\n E164_FORMAT: /^\\+[1-9]\\d{1,14}$/,\n};\n\n// eslint-disable-next-line max-len\nexport const IPV4_REGEX = /^(?:[0-9]{1,3}\\.){3}[0-9]{1,3}|.local/g;\n\nexport const VALID_EMAIL_ADDRESS =\n /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\nexport const VALID_PMR_ADDRESS =\n /([a-z0-9][-a-z0-9, '.']{0,62})@([a-z0-9][-a-z0-9, '.']{0,62})\\.webex\\.com/i;\nexport const VALID_PMR_LINK =\n /(https:\\/\\/)?([a-z0-9][-a-z0-9, '.']{0,62})\\.webex\\.com\\/(meet|join)\\/([a-z0-9][-a-z0-9, '.']{0,62})\\/?/i;\nexport const VALID_PIN = /([0-9]{4,6})/;\nexport const UUID_REG =\n /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;\n\n// ******************** OBJECTS ********************\n// Please alphabetize, and keep objects organized\n\n// TODO: move all api params to API section\nexport const API = {\n CALLIOPEDISCOVERY: 'calliopeDiscovery',\n LOCUS: 'locus',\n};\n\nexport const CALENDAR_EVENTS = {\n CREATE: 'event:calendar.meeting.create',\n UPDATE: 'event:calendar.meeting.update',\n CREATE_MINIMAL: 'event:calendar.meeting.create.minimal',\n UPDATE_MINIMAL: 'event:calendar.meeting.update.minimal',\n DELETE: 'event:calendar.meeting.delete',\n};\n\nexport const DEFAULT_GET_STATS_FILTER = {\n types: [\n 'track',\n 'transport',\n 'candidate-pair',\n 'outbound-rtp',\n 'outboundrtp',\n 'inbound-rtp',\n 'inboundrtp',\n 'remote-inbound-rtp',\n 'remote-outbound-rtp',\n 'remote-candidate',\n 'local-candidate',\n 'media-source',\n ],\n};\n\nexport const RECORDING_STATE = {\n RECORDING: 'recording',\n IDLE: 'idle',\n PAUSED: 'paused',\n RESUMED: 'resumed',\n};\n\nexport const SHARE_STATUS = {\n NO_SHARE: 'no_share',\n REMOTE_SHARE_ACTIVE: 'remote_share_active',\n LOCAL_SHARE_ACTIVE: 'local_share_active',\n WHITEBOARD_SHARE_ACTIVE: 'whiteboard_share_active',\n};\n\n// TODO: do we want to scope by meeting, members when they come off those objects themselves?\nexport const EVENT_TRIGGERS = {\n MEETINGS_READY: 'meetings:ready',\n MEETINGS_REGISTERED: 'meetings:registered',\n MEETINGS_UNREGISTERED: 'meetings:unregistered',\n MEDIA_READY: 'media:ready',\n MEDIA_STOPPED: 'media:stopped',\n MEDIA_UPDATE: 'media:update',\n MEDIA_CODEC_MISSING: 'media:codec:missing',\n MEDIA_CODEC_LOADED: 'media:codec:loaded',\n MEETING_STARTED_SHARING_LOCAL: 'meeting:startedSharingLocal',\n MEETING_STOPPED_SHARING_LOCAL: 'meeting:stoppedSharingLocal',\n MEETING_STARTED_SHARING_REMOTE: 'meeting:startedSharingRemote',\n MEETING_STOPPED_SHARING_REMOTE: 'meeting:stoppedSharingRemote',\n MEETING_STARTED_SHARING_WHITEBOARD: 'meeting:startedSharingWhiteboard',\n MEETING_STOPPED_SHARING_WHITEBOARD: 'meeting:stoppedSharingWhiteboard',\n MEETING_MEDIA_LOCAL_STARTED: 'meeting:media:local:start',\n MEETING_MEDIA_REMOTE_STARTED: 'meeting:media:remote:start',\n MEETING_STARTED_RECORDING: 'meeting:recording:started',\n MEETING_STOPPED_RECORDING: 'meeting:recording:stopped',\n MEETING_STARTED_RECEIVING_TRANSCRIPTION: 'meeting:receiveTranscription:started',\n MEETING_STOPPED_RECEIVING_TRANSCRIPTION: 'meeting:receiveTranscription:stopped',\n MEETING_RECEIVE_REACTIONS: 'meeting:receiveReactions',\n MEETING_PAUSED_RECORDING: 'meeting:recording:paused',\n MEETING_RESUMED_RECORDING: 'meeting:recording:resumed',\n MEETING_ADDED: 'meeting:added',\n MEETING_REMOVED: 'meeting:removed',\n MEETING_RINGING: 'meeting:ringing',\n MEETING_RINGING_STOP: 'meeting:ringingStop',\n MEETING_SELF_LOBBY_WAITING: 'meeting:self:lobbyWaiting',\n MEETING_SELF_GUEST_ADMITTED: 'meeting:self:guestAdmitted',\n MEETING_SELF_VIDEO_MUTED_BY_OTHERS: 'meeting:self:videoMutedByOthers',\n MEETING_SELF_VIDEO_UNMUTED_BY_OTHERS: 'meeting:self:videoUnmutedByOthers',\n MEETING_SELF_MUTED_BY_OTHERS: 'meeting:self:mutedByOthers',\n MEETING_SELF_UNMUTED_BY_OTHERS: 'meeting:self:unmutedByOthers',\n MEETING_SELF_REQUESTED_TO_UNMUTE: 'meeting:self:requestedToUnmute',\n MEETING_SELF_PHONE_AUDIO_UPDATE: 'meeting:self:phoneAudioUpdate',\n MEETING_SELF_CANNOT_VIEW_PARTICIPANT_LIST: 'meeting:self:cannotViewParticipantList',\n MEETING_SELF_IS_SHARING_BLOCKED: 'meeting:self:isSharingBlocked',\n MEETING_CONTROLS_LAYOUT_UPDATE: 'meeting:layout:update',\n MEETING_ENTRY_EXIT_TONE_UPDATE: 'meeting:entryExitTone:update',\n MEETING_BREAKOUTS_UPDATE: 'meeting:breakouts:update',\n MEETING_BREAKOUTS_CLOSING: 'meeting:breakouts:closing',\n MEETING_BREAKOUTS_MESSAGE: 'meeting:breakouts:message',\n MEMBERS_UPDATE: 'members:update',\n MEMBERS_CONTENT_UPDATE: 'members:content:update',\n MEMBERS_HOST_UPDATE: 'members:host:update',\n MEMBERS_SELF_UPDATE: 'members:self:update',\n MEETING_RECONNECTION_STARTING: 'meeting:reconnectionStarting',\n MEETING_RECONNECTION_SUCCESS: 'meeting:reconnectionSuccess',\n MEETING_RECONNECTION_FAILURE: 'meeting:reconnectionFailure',\n MEETING_UNLOCKED: 'meeting:unlocked',\n MEETING_LOCKED: 'meeting:locked',\n MEETING_INFO_AVAILABLE: 'meeting:meetingInfoAvailable',\n MEETING_LOG_UPLOAD_SUCCESS: 'meeting:logUpload:success',\n MEETING_LOG_UPLOAD_FAILURE: 'meeting:logUpload:failure',\n MEETING_ACTIONS_UPDATE: 'meeting:actionsUpdate',\n MEETING_STATE_CHANGE: 'meeting:stateChange',\n MEETING_MEETING_CONTAINER_UPDATE: 'meeting:meetingContainer:update',\n MEETING_EMBEDDED_APPS_UPDATE: 'meeting:embeddedApps:update',\n MEDIA_QUALITY: 'media:quality',\n MEETINGS_NETWORK_DISCONNECTED: 'network:disconnected',\n MEETINGS_NETWORK_CONNECTED: 'network:connected',\n MEETING_SELF_LEFT: 'meeting:self:left',\n NETWORK_QUALITY: 'network:quality',\n MEDIA_NEGOTIATED: 'media:negotiated',\n // the following events apply only to multistream media connections\n ACTIVE_SPEAKER_CHANGED: 'media:activeSpeakerChanged',\n REMOTE_VIDEO_SOURCE_COUNT_CHANGED: 'media:remoteVideoSourceCountChanged',\n REMOTE_AUDIO_SOURCE_COUNT_CHANGED: 'media:remoteAudioSourceCountChanged',\n REMOTE_MEDIA_AUDIO_CREATED: 'media:remoteAudio:created',\n REMOTE_MEDIA_SCREEN_SHARE_AUDIO_CREATED: 'media:remoteScreenShareAudio:created',\n REMOTE_MEDIA_VIDEO_LAYOUT_CHANGED: 'media:remoteVideo:layoutChanged',\n};\n\nexport const EVENT_TYPES = {\n SELF: 'self',\n OTHER: 'other',\n LOCAL: 'local',\n REMOTE: 'remote',\n REMOTE_AUDIO: 'remoteAudio',\n REMOTE_VIDEO: 'remoteVideo',\n REMOTE_SHARE: 'remoteShare',\n LOCAL_SHARE: 'localShare',\n ERROR: 'error',\n};\n\n// Handles the reason when meeting gets destroyed\n// host removed you from the meeting\n// You are the host and you left the meeting\n// Meeting actually ended\nexport const MEETING_REMOVED_REASON = {\n SELF_REMOVED: 'SELF_REMOVED', // server or host removed you from the meeting\n FULLSTATE_REMOVED: 'FULLSTATE_REMOVED', // meeting got dropped ? not sure\n MEETING_INACTIVE_TERMINATING: 'MEETING_INACTIVE_TERMINATING', // Meeting got ended or everyone left the meeting\n CLIENT_LEAVE_REQUEST: 'CLIENT_LEAVE_REQUEST', // You triggered leave meeting\n USER_ENDED_SHARE_STREAMS: 'USER_ENDED_SHARE_STREAMS', // user triggered stop share\n NO_MEETINGS_TO_SYNC: 'NO_MEETINGS_TO_SYNC', // After the syncMeeting no meeting exists\n MEETING_CONNECTION_FAILED: 'MEETING_CONNECTION_FAILED', // meeting failed to connect due to ice failures or firewall issue\n};\n\n// One one one calls ends for the following reasons\n// Partner reject the call or ends the call\n// self cancel or end the ongoing call\nexport const CALL_REMOVED_REASON = {\n CALL_INACTIVE: 'CALL_INACTIVE', // partner and you leave the call\n PARTNER_LEFT: 'PARTNER_LEFT', // partner left the call\n SELF_LEFT: 'SELF_LEFT', // you left/declined the call\n};\n\nexport const SHARE_STOPPED_REASON = {\n SELF_STOPPED: 'SELF_STOPPED',\n MEETING_REJOIN: 'MEETING_REJOIN',\n};\n\nexport const EVENTS = {\n SELF_UNADMITTED_GUEST: 'SELF_UNADMITTED_GUEST',\n SELF_ADMITTED_GUEST: 'SELF_ADMITTED_GUEST',\n MEDIA_INACTIVITY: 'MEDIA_INACTIVITY',\n CONVERSATION_URL_UPDATE: 'CONVERSATION_URL_UPDATE',\n DESTROY_MEETING: 'DESTROY_MEETING',\n REQUEST_UPLOAD_LOGS: 'REQUEST_UPLOAD_LOGS',\n REMOTE_RESPONSE: 'REMOTE_RESPONSE',\n // TODO: move all of these to LOCUSINFO.EVENTS\n LOCUS_INFO_UPDATE_PARTICIPANTS: 'LOCUS_INFO_UPDATE_PARTICIPANTS',\n LOCUS_INFO_UPDATE_HOST: 'LOCUS_INFO_UPDATE_HOST',\n LOCUS_INFO_UPDATE_MEDIA_SHARES: 'LOCUS_INFO_UPDATE_MEDIA_SHARES',\n LOCUS_INFO_UPDATE_SELF: 'LOCUS_INFO_UPDATE_SELF',\n LOCUS_INFO_UPDATE_URL: 'LOCUS_INFO_UPDATE_URL',\n LOCUS_INFO_CAN_ASSIGN_HOST: 'LOCUS_INFO_CAN_ASSIGN_HOST',\n DISCONNECT_DUE_TO_INACTIVITY: 'DISCONNECT_DUE_TO_INACTIVITY',\n};\n\nexport const MEDIA_STATE = {\n active: 'active',\n inactive: 'inactive',\n};\n\nexport const ERROR_DICTIONARY = {\n PARAMETER: {\n NAME: 'ParameterError',\n MESSAGE:\n 'The parameters passed to the function, or object properties needed in the function were null, missing where required, or otherwise incorrect.',\n CODE: 0,\n },\n INTENT_TO_JOIN: {\n NAME: 'IntentToJoinError',\n MESSAGE:\n 'The meeting is locked. This is expected behavior. Call #join again with pin and/or moderator option',\n CODE: 1,\n },\n JOIN_MEETING: {\n NAME: 'JoinMeetingError',\n MESSAGE: 'There was an issue joining the meeting, meeting could be in a bad state.',\n CODE: 2,\n },\n RECONNECTION: {\n NAME: 'ReconnectionError',\n MESSAGE:\n 'There was an error in the reconnection flow, the meeting may not reconnect, disconnect and dial again.',\n CODE: 3,\n },\n MEDIA: {\n NAME: 'MediaError',\n MESSAGE: 'There was an error with media, the meeting may not have live audio, video or share.',\n CODE: 4,\n },\n PERMISSION: {\n NAME: 'PermissionError',\n MESSAGE:\n 'Not allowed to execute the function, some properties on server, or local client state do not allow you to complete this action.',\n CODE: 5,\n },\n STATS: {\n NAME: 'StatsError',\n MESSAGE: 'An error occurred with getStats, stats may not continue for this data stream.',\n CODE: 6,\n },\n PASSWORD: {\n NAME: 'PasswordError',\n MESSAGE: 'Password is required, please use verifyPassword()',\n CODE: 7,\n },\n CAPTCHA: {\n NAME: 'CaptchaError',\n MESSAGE: 'Captcha is required.',\n CODE: 8,\n },\n BREAKOUT_EDIT: {\n NAME: 'BreakoutEditLockedError',\n MESSAGE: 'Edit lock token mismatch',\n CODE: 9,\n },\n};\n\nexport const FLOOR_ACTION = {\n GRANTED: 'GRANTED',\n RELEASED: 'RELEASED',\n ACCEPTED: 'ACCEPTED',\n};\n\nexport const FULL_STATE = {\n INITIALIZING: 'INITIALIZING',\n INACTIVE: 'INACTIVE',\n ACTIVE: 'ACTIVE',\n TERMINATING: 'TERMINATING',\n UNKNOWN: 'UNKNOWN',\n};\n\nexport const HTTP_VERBS = {\n PUT: 'PUT',\n POST: 'POST',\n GET: 'GET',\n PATCH: 'PATCH',\n DELETE: 'DELETE',\n};\n\n// https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/iceGatheringState\nexport const ICE_GATHERING_STATE = {\n NEW: 'new',\n GATHERING: 'gathering',\n COMPLETE: 'complete',\n};\n\n// https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/iceConnectionState\nexport const ICE_STATE = {\n CHECKING: 'checking',\n CONNECTED: 'connected',\n CLOSED: 'closed',\n COMPLETED: 'completed',\n FAILED: 'failed',\n DISCONNECTED: 'disconnected',\n};\n\nexport const CONNECTION_STATE = {\n NEW: 'new',\n CONNECTING: 'connecting',\n CONNECTED: 'connected',\n CLOSED: 'closed',\n FAILED: 'failed',\n DISCONNECTED: 'disconnected',\n};\n\nexport const LOCUS = {\n STATE: {\n INACTIVE: 'INACTIVE',\n ENDED: 'ENDED',\n INITIALIZING: 'INITIALIZING',\n },\n SEQUENCE: {\n UN_DEF: 'undef',\n EMPTY: 'empty',\n DEF: 'def',\n NA: 'na',\n RANGE_START: 'rangeStart',\n RANGE_END: 'rangeEnd',\n },\n SYNCDEBUG: 'sync_debug',\n};\n\nexport const BREAKOUTS = {\n STATUS: {\n CLOSING: 'CLOSING',\n CLOSED: 'CLOSED',\n PENDING: 'PENDING',\n OPEN: 'OPEN',\n },\n EVENTS: {\n BREAKOUTS_CLOSING: 'BREAKOUTS_CLOSING',\n MESSAGE: 'MESSAGE',\n MEMBERS_UPDATE: 'MEMBERS_UPDATE',\n },\n SESSION_TYPES: {\n MAIN: 'MAIN',\n BREAKOUT: 'BREAKOUT',\n },\n SESSION_STATES: {\n ACTIVE: 'active',\n ASSIGNED: 'assigned',\n ALLOWED: 'allowed',\n ASSIGNED_CURRENT: 'assignedCurrent',\n REQUESTED: 'requested',\n },\n BREAKOUTS_SUPPORTED: 'BREAKOUTS_SUPPORTED',\n ACTION: {\n START: 'START',\n CLOSE: 'CLOSE',\n DELETE: 'DELETE',\n },\n ERROR_CODE: {\n EDIT_LOCK_TOKEN_MISMATCH: 201409024,\n EDIT_NOT_AUTHORIZED: 201403007,\n },\n DEFAULT_DURATION: 60000,\n EDIT_LOCK_STATUS: {\n LOCKED: 'LOCKED',\n NOT_LOCKED: 'NOT_LOCKED',\n UNKNOWN: 'UNKNOWN',\n },\n DEFAULT_TTL: 30,\n};\n\nexport const LOCUSINFO = {\n EVENTS: {\n CONTROLS_MEETING_LAYOUT_UPDATED: 'CONTROLS_MEETING_LAYOUT_UPDATED',\n CONTROLS_RECORDING_UPDATED: 'CONTROLS_RECORDING_UPDATED',\n CONTROLS_MEETING_TRANSCRIBE_UPDATED: 'CONTROLS_MEETING_TRANSCRIBE_UPDATED',\n CONTROLS_MEETING_BREAKOUT_UPDATED: 'CONTROLS_MEETING_BREAKOUT_UPDATED',\n CONTROLS_MEETING_CONTAINER_UPDATED: 'CONTROLS_MEETING_CONTAINER_UPDATED',\n CONTROLS_ENTRY_EXIT_TONE_UPDATED: 'CONTROLS_ENTRY_EXIT_TONE_UPDATED',\n SELF_UNADMITTED_GUEST: 'SELF_UNADMITTED_GUEST',\n SELF_ADMITTED_GUEST: 'SELF_ADMITTED_GUEST',\n SELF_REMOTE_VIDEO_MUTE_STATUS_UPDATED: 'SELF_REMOTE_VIDEO_MUTE_STATUS_UPDATED',\n SELF_REMOTE_MUTE_STATUS_UPDATED: 'SELF_REMOTE_MUTE_STATUS_UPDATED',\n LOCAL_UNMUTE_REQUESTED: 'LOCAL_UNMUTE_REQUESTED',\n LOCAL_UNMUTE_REQUIRED: 'LOCAL_UNMUTE_REQUIRED',\n SELF_MODERATOR_CHANGED: 'SELF_MODERATOR_CHANGED',\n MEETING_UPDATE: 'MEETING_UPDATE',\n MEDIA_STATUS_CHANGE: 'MEDIA_STATUS_CHANGE',\n FULL_STATE_TYPE_UPDATE: 'FULL_STATE_TYPE_UPDATE',\n FULL_STATE_MEETING_STATE_CHANGE: 'FULL_STATE_MEETING_STATE_CHANGE',\n MEETING_STATE_CHANGE_TO_ACTIVE: 'MEETING_STATE_CHANGE_TO_ACTIVE',\n MEETING_INFO_UPDATED: 'MEETING_INFO_UPDATED',\n MEETING_LOCKED: 'MEETING_LOCKED',\n MEETING_UNLOCKED: 'MEETING_UNLOCKED',\n SELF_OBSERVING: 'SELF_OBSERVING',\n DISCONNECT_DUE_TO_INACTIVITY: 'DISCONNECT_DUE_TO_INACTIVITY',\n EMBEDDED_APPS_UPDATED: 'EMBEDDED_APPS_UPDATED',\n SELF_CANNOT_VIEW_PARTICIPANT_LIST_CHANGE: 'SELF_CANNOT_VIEW_PARTICIPANT_LIST_CHANGE',\n SELF_IS_SHARING_BLOCKED_CHANGE: 'SELF_IS_SHARING_BLOCKED_CHANGE',\n SELF_MEETING_BREAKOUTS_CHANGED: 'SELF_MEETING_BREAKOUTS_CHANGED',\n MEDIA_INACTIVITY: 'MEDIA_INACTIVITY',\n LINKS_SERVICES: 'LINKS_SERVICES',\n },\n};\n\nexport const LOCUSEVENT = {\n LOCUS_MERCURY: 'event:locus',\n\n // update the tp unit status\n CONTROLS_UPDATED: 'locus.controls_updated',\n\n // delta events\n DIFFERENCE: 'locus.difference',\n\n // Breakout sessions\n BREAKOUT_ROSTER: 'breakout.roster',\n\n // screen sharing\n FLOOR_GRANTED: 'locus.floor_granted',\n FLOOR_RELEASED: 'locus.floor_released',\n\n // Roap\n MESSAGE_ROAP: 'locus.message.roap',\n\n // Join events\n PARTICIPANT_JOIN: 'locus.participant_joined',\n PARTICIPANT_LEFT: 'locus.participant_left',\n PARTICIPANT_DECLINED: 'locus.participant_declined',\n PARTICIPANT_UPDATED: 'locus.participant_updated',\n PARTICIPANT_CONTROLS_UPDATED: 'locus.participant_controls_updated',\n PARTICIPANT_ROLES_UPDATED: 'locus.participant_roles_updated',\n PARTICIPANT_AUDIO_MUTED: 'locus.participant_audio_muted',\n PARTICIPANT_AUDIO_UNMUTED: 'locus.participant_audio_unmuted',\n PARTICIPANT_VIDEO_MUTED: 'locus.participant_video_muted',\n PARTICIPANT_VIDEO_UNMUTED: 'locus.participant_video_unmuted',\n\n RECORDING_STARTED: 'locus.recording_started',\n RECORDING_START_FAILED: 'locus.recording_start_failed',\n RECORDING_STOPPED: 'locus.recording_stopped',\n\n SELF_CHANGED: 'locus.self_changed',\n};\n\nexport const MEDIA_TRACK_CONSTRAINT = {\n CURSOR: {\n // The mouse cursor should always be captured in the generated stream.\n AWLAYS: 'always',\n // The cursor should only be visible while moving, then removed.\n MOTION: 'motion',\n // The cursor should never be visible in the generated stream.\n NEVER: 'never',\n },\n};\n\nexport const MEETING_ERRORS = {\n METRICS_NOT_SERVER_OR_CLIENT_EXCEPTION: 'METRICS_NOT_SERVER_OR_CLIENT_EXCEPTION',\n\n BIDIRECTIONAL_ROSTER_NOT_ALLOWED: 'BIDIRECTIONAL_ROSTER_NOT_ALLOWED',\n INVALID_LOCUS_URL: 'INVALID_LOCUS_URL',\n ARGUMENT_NULL_OR_EMPTY: 'ARGUMENT_NULL_OR_EMPTY',\n INVALID_USER: 'INVALID_USER',\n INVALID_PHONE_NUMBER_OR_COUNTRY_CODE: 'INVALID_PHONE_NUMBER_OR_COUNTRY_CODE',\n EMPTY_PHONE_NUMBER_OR_COUNTRY_CODE: 'EMPTY_PHONE_NUMBER_OR_COUNTRY_CODE',\n PHONE_NUMBER_INVALID_COUNTRY_CODE: 'PHONE_NUMBER_INVALID_COUNTRY_CODE',\n PHONE_NUMBER_NOT_A_NUMBER: 'PHONE_NUMBER_NOT_A_NUMBER',\n PHONE_NUMBER_TOO_SHORT_AFTER_IDD: 'PHONE_NUMBER_TOO_SHORT_AFTER_IDD',\n PHONE_NUMBER_TOO_SHORT_NSN: 'PHONE_NUMBER_TOO_SHORT_NSN',\n PHONE_NUMBER_TOO_LONG: 'PHONE_NUMBER_TOO_LONG',\n INVALID_DIALABLE_KEY: 'INVALID_DIALABLE_KEY',\n INVALID_MEETING_LINK: 'INVALID_MEETING_LINK',\n INVALID_SINCE_OR_SEQUENCE_HASH_IN_REQUEST: 'INVALID_SINCE_OR_SEQUENCE_HASH_IN_REQUEST',\n INVALID_LOCUS_ID: 'INVALID_LOCUS_ID',\n EMPTY_SCHEDULED_MEETING_START_TIME: 'EMPTY_SCHEDULED_MEETING_START_TIME',\n INVALID_SCHEDULED_MEETING_DURATION_MINUTES: 'INVALID_SCHEDULED_MEETING_DURATION_MINUTES',\n INVALID_SCHEDULED_MEETING_REMINDER_DURATION_MINUTES:\n 'INVALID_SCHEDULED_MEETING_REMINDER_DURATION_MINUTES',\n EMPTY_SCHEDULED_MEETING_ORGANIZER: 'EMPTY_SCHEDULED_MEETING_ORGANIZER',\n INVALID_MEETING_ID_FORMAT: 'INVALID_MEETING_ID_FORMAT',\n INVALID_SIP_URL_FORMAT: 'INVALID_SIP_URL_FORMAT',\n EMPTY_INVITEE_RECORD: 'EMPTY_INVITEE_RECORD',\n EMPTY_INVITEE_ADDRESS: 'EMPTY_INVITEE_ADDRESS',\n DESKPHONE_NOTHING_DIALABLE_FOUND: 'DESKPHONE_NOTHING_DIALABLE_FOUND',\n INVALID_INVITEE_ADDRESS: 'INVALID_INVITEE_ADDRESS',\n INVALID_ATTENDEE_ID: 'INVALID_ATTENDEE_ID',\n INVALID_IN_LOBBY: 'INVALID_IN_LOBBY',\n MISSING_REQUESTING_PARTICIPANT_ID: 'MISSING_REQUESTING_PARTICIPANT_ID',\n INVALID_REQUESTING_PARTICIPANT_ID: 'INVALID_REQUESTING_PARTICIPANT_ID',\n SUPPLEMENTARY_USER_INFO_NOT_FOUND: 'SUPPLEMENTARY_USER_INFO_NOT_FOUND',\n\n UNAUTHORIZED: 'UNAUTHORIZED',\n REMOVED_PARTICIPANT: 'REMOVED_PARTICIPANT',\n\n FREE_USER_MAX_PARTICIPANTS_EXCEEDED: 'FREE_USER_MAX_PARTICIPANTS_EXCEEDED',\n PAID_USER_MAX_PARTICIPANTS_EXCEEDED: 'PAID_USER_MAX_PARTICIPANTS_EXCEEDED',\n SERVICE_MAX_PARTICIPANTS_EXCEEDED: 'SERVICE_MAX_PARTICIPANTS_EXCEEDED',\n INACTIVE: 'INACTIVE',\n ONE_ON_ONE_TO_SELF_NOT_ALLOWED: 'ONE_ON_ONE_TO_SELF_NOT_ALLOWED',\n JOIN_RESTRICTED_USER: 'JOIN_RESTRICTED_USER',\n GET_RESTRICTED_USER: 'GET_RESTRICTED_USER',\n JOIN_RESTRICTED_USER_NOT_IN_ROOM: 'JOIN_RESTRICTED_USER_NOT_IN_ROOM',\n CREATE_MEDIA_RESTRICTED_USER: 'CREATE_MEDIA_RESTRICTED_USER',\n DUPLICATE_RESOURCE_CREATION_REQUEST: 'DUPLICATE_RESOURCE_CREATION_REQUEST',\n MEETING_NOT_FOUND: 'MEETING_NOT_FOUND',\n NOT_WEBEX_SITE: 'NOT_WEBEX_SITE',\n INVALID_SCHEDULED_MEETING_ORGANIZER: 'INVALID_SCHEDULED_MEETING_ORGANIZER',\n FREE_USER_MAX_PARTICIPANTS_JOINED_EXCEEDED: 'FREE_USER_MAX_PARTICIPANTS_JOINED_EXCEEDED',\n PAID_USER_MAX_PARTICIPANTS_JOINED_EXCEEDED: 'PAID_USER_MAX_PARTICIPANTS_JOINED_EXCEEDED',\n SERVICE_MAX_PARTICIPANTS_ROSTER_EXCEEDED: 'SERVICE_MAX_PARTICIPANTS_ROSTER_EXCEEDED',\n SERVICE_INITIAL_PARTICIPANTS_ROSTER_EXCEEDED: 'SERVICE_INITIAL_PARTICIPANTS_ROSTER_EXCEEDED',\n RESOURCE_GUEST_FORBIDDEN: 'RESOURCE_GUEST_FORBIDDEN',\n SERVICE_NO_MACHINE_OR_SERVICE_ACCOUNT: 'SERVICE_NO_MACHINE_OR_SERVICE_ACCOUNT',\n MODERATOR_ROLE_REMOVAL_NOT_ALLOWED: 'MODERATOR_ROLE_REMOVAL_NOT_ALLOWED',\n RECORDING_CONTROL_NOT_SUPPORTED: 'RECORDING_CONTROL_NOT_SUPPORTED',\n HOST_PIN_LOCKED: 'HOST_PIN_LOCKED',\n INVALID_HOST_PIN: 'INVALID_HOST_PIN',\n REQUESTING_PARTICIPANT_NOT_MODERATOR: 'REQUESTING_PARTICIPANT_NOT_MODERATOR',\n\n CONVERSATION_NOT_FOUND: 'CONVERSATION_NOT_FOUND',\n MEETING_LINK_NOT_FOUND: 'MEETING_LINK_NOT_FOUND',\n MEETING_INFO_NOT_FOUND: 'MEETING_INFO_NOT_FOUND',\n SCHEDULED_MEETING_NOT_FOUND: 'SCHEDULED_MEETING_NOT_FOUND',\n\n RECORDING_NOT_STARTED: 'RECORDING_NOT_STARTED',\n RECORDING_NOT_ENABLED: 'RECORDING_NOT_ENABLED',\n RECORDING_USER_STORAGE_FULL: 'RECORDING_USER_STORAGE_FULL',\n RECORDING_SITE_STORAGE_FULL: 'RECORDING_SITE_STORAGE_FULL',\n\n NO_SCHEDULED_MEETING: 'NO_SCHEDULED_MEETING',\n MEETING_FULL_UPDATE_NOT_ALLOWED: 'MEETING_FULL_UPDATE_NOT_ALLOWED',\n MODERATOR_ROLE_REMOVAL_NOT_VALID: 'MODERATOR_ROLE_REMOVAL_NOT_VALID',\n MODERATOR_ROLE_ADDITION_NOT_VALID: 'MODERATOR_ROLE_ADDITION_NOT_VALID',\n INVALID_CALL_START_TIME: 'INVALID_CALL_START_TIME',\n MEETING_STARTED_UPDATE_NOT_ALLOWED: 'MEETING_STARTED_UPDATE_NOT_ALLOWED',\n\n EXCEEDED_MAX_JOINED_PARTICIPANTS: 'EXCEEDED_MAX_JOINED_PARTICIPANTS',\n EXCEEDED_SERVICE_MAX_PARTICIPANTS: 'EXCEEDED_SERVICE_MAX_PARTICIPANTS',\n MEETING_IS_LOCKED: 'MEETING_IS_LOCKED',\n MEETING_IS_TERMINATING: 'MEETING_IS_TERMINATING',\n MEETING_REQUIRE_MODERATOR_PIN_INTENT: 'MEETING_REQUIRE_MODERATOR_PIN_INTENT',\n MEETING_REQUIRE_MODERATOR_PIN: 'MEETING_REQUIRE_MODERATOR_PIN',\n MEETING_REQUIRE_MODERATOR_ROLE: 'MEETING_REQUIRE_MODERATOR_ROLE',\n PMR_ACCOUNT_SUSPENDED: 'PMR_ACCOUNT_SUSPENDED',\n PMR_ACCOUNT_LOCKED: 'PMR_ACCOUNT_LOCKED',\n INVALID_JOIN_TIME: 'INVALID_JOIN_TIME',\n REQUIRES_WEBEX_LOGIN: 'REQUIRES_WEBEX_LOGIN',\n\n TOO_MANY_REQUESTS: 'TOO_MANY_REQUESTS',\n\n UNABLE_TO_LOOK_UP_DEVICE_INFORMATION: 'UNABLE_TO_LOOK_UP_DEVICE_INFORMATION',\n UNABLE_TO_LOOK_UP_CONVERSATION: 'UNABLE_TO_LOOK_UP_CONVERSATION',\n UNABLE_TO_LOOK_UP_CI_USER: 'UNABLE_TO_LOOK_UP_CI_USER',\n UNABLE_TO_CREATE_CONFLUENCE: 'UNABLE_TO_CREATE_CONFLUENCE',\n\n SERVICE_UNAVAILABLE: 'SERVICE_UNAVAILABLE',\n\n SOCKET_TIMEOUT: 'SOCKET_TIMEOUT',\n NO_HTTP_RESPONSE: 'NO_HTTP_RESPONSE',\n};\n\nexport const MEETING_END_REASON = {\n INACTIVE: 'INACTIVE',\n MEDIA_RELEASED: 'MEDIA_RELEASED',\n};\n\nexport const DISPLAY_HINTS = {\n ADD_GUEST: 'ADD_GUEST',\n ROSTER_WAITING_TO_JOIN: 'ROSTER_WAITING_TO_JOIN',\n RECORDING_CONTROL_START: 'RECORDING_CONTROL_START',\n RECORDING_CONTROL_PAUSE: 'RECORDING_CONTROL_PAUSE',\n RECORDING_CONTROL_STOP: 'RECORDING_CONTROL_STOP',\n RECORDING_CONTROL_RESUME: 'RECORDING_CONTROL_RESUME',\n LOCK_CONTROL_UNLOCK: 'LOCK_CONTROL_UNLOCK',\n LOCK_CONTROL_LOCK: 'LOCK_CONTROL_LOCK',\n LOCK_STATUS_LOCKED: 'LOCK_STATUS_LOCKED',\n LOCK_STATUS_UNLOCKED: 'LOCK_STATUS_UNLOCKED',\n RAISE_HAND: 'RAISE_HAND',\n LOWER_ALL_HANDS: 'LOWER_ALL_HANDS',\n LOWER_SOMEONE_ELSES_HAND: 'LOWER_SOMEONE_ELSES_HAND',\n LEAVE_TRANSFER_HOST_END_MEETING: 'LEAVE_TRANSFER_HOST_END_MEETING',\n LEAVE_END_MEETING: 'LEAVE_END_MEETING',\n CAPTION_START: 'CAPTION_START',\n CAPTION_STATUS_ACTIVE: 'CAPTION_STATUS_ACTIVE',\n DISPLAY_REAL_TIME_TRANSLATION: 'DISPLAY_REAL_TIME_TRANSLATION',\n ENABLE_CAPTION_PANEL: 'ENABLE_CAPTION_PANEL',\n DISPLAY_NON_ENGLISH_ASR: 'DISPLAY_NON_ENGLISH_ASR',\n TRANSCRIPTION_CONTROL_START: 'TRANSCRIPTION_CONTROL_START',\n TRANSCRIPTION_CONTROL_STOP: 'TRANSCRIPTION_CONTROL_STOP',\n WEBEX_ASSISTANT_STATUS_ACTIVE: 'WEBEX_ASSISTANT_STATUS_ACTIVE',\n WAITING_FOR_OTHERS: 'WAITING_FOR_OTHERS',\n ENABLE_REACTIONS: 'ENABLE_REACTIONS',\n DISABLE_REACTIONS: 'DISABLE_REACTIONS',\n REACTIONS_ACTIVE: 'REACTIONS_ACTIVE',\n REACTIONS_INACTIVE: 'REACTIONS_INACTIVE',\n ENABLE_MUTE_ON_ENTRY: 'ENABLE_MUTE_ON_ENTRY',\n DISABLE_MUTE_ON_ENTRY: 'DISABLE_MUTE_ON_ENTRY',\n ENABLE_HARD_MUTE: 'ENABLE_HARD_MUTE',\n DISABLE_HARD_MUTE: 'DISABLE_HARD_MUTE',\n MUTE_ALL: 'MUTE_ALL',\n UNMUTE_ALL: 'UNMUTE_ALL',\n\n // breakout session\n BREAKOUT_MANAGEMENT: 'BREAKOUT_MANAGEMENT',\n UCF_SUPPRESS_BREAKOUTS_SUPPORT: 'UCF_SUPPRESS_BREAKOUTS_SUPPORT',\n DISABLE_ASK_FOR_HELP: 'DISABLE_ASK_FOR_HELP',\n DISABLE_BREAKOUT_PREASSIGNMENTS: 'DISABLE_BREAKOUT_PREASSIGNMENTS',\n DISABLE_LOBBY_TO_BREAKOUT: 'DISABLE_LOBBY_TO_BREAKOUT',\n};\n\nexport const SELF_ROLES = {\n COHOST: 'COHOST',\n MODERATOR: 'MODERATOR',\n};\n\nexport const MEETING_STATE = {\n STATES: {\n IDLE: 'IDLE',\n INCOMING: 'INCOMING',\n DIALING: 'DIALING',\n NOTIFIED: 'NOTIFIED',\n DECLINED: 'DECLINED',\n ON_GOING: 'ON_GOING',\n JOINED: 'JOINED',\n TERMINATING: 'TERMINATING',\n LEFT: 'LEFT',\n ENDED: 'ENDED',\n ERROR: 'ERROR',\n },\n};\n\nexport const MEETING_STATE_MACHINE = {\n TRANSITIONS: {\n FAIL: 'fail',\n RING: 'ring',\n REMOTE: 'remote',\n JOIN: 'join',\n DECLINE: 'decline',\n LEAVE: 'leave',\n END: 'end',\n RESET: 'reset',\n },\n STATES: {\n ERROR: 'ERROR',\n IDLE: 'IDLE',\n ENDED: 'ENDED',\n DECLINED: 'DECLINED',\n RINGING: 'RINGING',\n JOINED: 'JOINED',\n ANSWERED: 'ANSWERED',\n },\n};\n\nexport const MEETING_AUDIO_STATE_MACHINE = {\n TRANSITIONS: {\n TOGGLE: 'toggle',\n INIT: 'init',\n },\n STATES: {\n MUTE_SELF: 'SELF_AUDIO_OFF',\n UNMUTE_SELF: 'SELF_AUDIO_ON',\n },\n};\n\nexport const MEETING_VIDEO_STATE_MACHINE = {\n TRANSITIONS: {\n TOGGLE: 'toggle',\n INIT: 'init',\n },\n STATES: {\n MUTE_SELF: 'SELF_VIDEO_OFF',\n UNMUTE_SELF: 'SELF_VIDEO_ON',\n },\n};\n\nexport const PEER_CONNECTION_STATE = {\n CLOSED: 'closed',\n FAILED: 'failed',\n};\n\nexport const RECONNECTION = {\n STATE: {\n IN_PROGRESS: 'IN_PROGRESS',\n COMPLETE: 'COMPLETE',\n FAILURE: 'FAILURE',\n DEFAULT_TRY_COUNT: 0,\n DEFAULT_STATUS: '',\n },\n};\n\nexport const RESOURCE = {\n CLUSTERS: 'clusters',\n REACHABILITY: 'reachability',\n LOCI: 'loci',\n};\n\nexport const REACHABILITY = {\n localStorageResult: 'reachability.result',\n localStorageJoinCookie: 'reachability.joinCookie',\n namespace: 'Reachability',\n};\n\nexport const ROAP = {\n ROAP_TYPES: {\n OFFER: 'OFFER',\n ANSWER: 'ANSWER',\n OK: 'OK',\n ERROR: 'ERROR',\n TURN_DISCOVERY_REQUEST: 'TURN_DISCOVERY_REQUEST',\n TURN_DISCOVERY_RESPONSE: 'TURN_DISCOVERY_RESPONSE',\n },\n ROAP_MERCURY: 'event:locus.message.roap',\n ROAP_VERSION: '2',\n};\n\nexport const MediaContent = {\n main: 'main',\n slides: 'slides',\n};\n\nexport const NETWORK_STATUS = {\n DISCONNECTED: 'DISCONNECTED',\n RECONNECTING: 'RECONNECTING',\n CONNECTED: 'CONNECTED',\n};\n\nexport const NETWORK_TYPE = {\n VPN: 'vpn',\n UNKNOWN: 'unknown',\n WIFI: 'wifi',\n ETHERNET: 'ethernet',\n};\n\nexport const STATS = {\n SEND_DIRECTION: 'send',\n RECEIVE_DIRECTION: 'recv',\n REMOTE: 'remote',\n LOCAL: 'local',\n};\n\nexport const MQA_STATS = {\n MQA_SIZE: 120, // MQA is done on 60 second intervals by server def, add a buffer for missed events\n CA_TYPE: 'MQA',\n DEFAULT_IP: '0.0.0.0',\n DEFAULT_SHARE_SENDER_STATS: {\n common: {\n common: {\n direction: 'sendrecv', // TODO: parse from SDP and save globally\n isMain: false, // always true for share sender\n mariFecEnabled: false, // unavailable\n mariQosEnabled: false, // unavailable\n multistreamEnabled: false, // unavailable\n },\n availableBitrate: 0,\n dtlsBitrate: 0, // unavailable\n dtlsPackets: 0, // unavailable\n fecBitrate: 0, // unavailable\n fecPackets: 0, // unavailable\n maxBitrate: 0, // unavailable\n queueDelay: 0, // unavailable\n remoteJitter: 0, // unavailable\n remoteLossRate: 0,\n remoteReceiveRate: 0, // unavailable\n roundTripTime: 0,\n rtcpBitrate: 0, // unavailable\n rtcpPackets: 0, // unavailable\n rtpBitrate: 0, // unavailable\n rtpPackets: 0,\n stunBitrate: 0, // unavailable\n stunPackets: 0, // unavailable\n transportType: 'UDP', // TODO: parse the transport type from the SDP and save globally\n },\n streams: [\n {\n common: {\n codec: 'H264', // TODO: parse the codec from the SDP and save globally\n duplicateSsci: 0, // unavailable\n requestedBitrate: 0, // unavailable\n requestedFrames: 0, // unavailable\n rtpPackets: 0,\n ssci: 0, // unavailable\n transmittedBitrate: 0,\n transmittedFrameRate: 0,\n },\n h264CodecProfile: 'BP', // TODO: parse the profile level from h264 in the SDP and save globally\n localConfigurationChanges: 0, // unavailable\n remoteConfigurationChanges: 0, // unavailable\n requestedFrameSize: 0, // unavailable\n requestedKeyFrames: 0, // unavailable\n transmittedFrameSize: 0, // unavailable\n transmittedHeight: 0,\n transmittedKeyFrames: 0,\n transmittedWidth: 0,\n },\n ],\n },\n intervalMetadata: {\n memoryUsage: {\n cpuBitWidth: 0,\n mainProcessMaximumMemoryBytes: 0,\n osBitWidth: 0,\n processAverageMemoryUsage: 0,\n processMaximumMemoryBytes: 0,\n processMaximumMemoryUsage: 0,\n systemAverageMemoryUsage: 0,\n systemMaximumMemoryUsage: 0,\n },\n peerReflexiveIP: 'NULL', // TODO: save after ice trickling completes and use as a global variable\n processAverageCPU: 0,\n processMaximumCPU: 0,\n systemAverageCPU: 0,\n systemMaximumCPU: 0,\n },\n};\n\n// ****** MEDIA QUALITY CONSTANTS ****** //\n\n// these values must match allowed values of RemoteQualityLevel from the @webex/internal-media-core lib\nexport const QUALITY_LEVELS = {\n LOW: 'LOW',\n MEDIUM: 'MEDIUM',\n HIGH: 'HIGH',\n '360p': '360p',\n '480p': '480p',\n '720p': '720p',\n '1080p': '1080p',\n};\n\nexport const AVAILABLE_RESOLUTIONS = {\n '360p': {\n video: {\n width: {\n max: 640,\n ideal: 640,\n },\n height: {\n max: 360,\n ideal: 360,\n },\n },\n },\n '480p': {\n video: {\n width: {\n max: 640,\n ideal: 640,\n },\n height: {\n max: 480,\n ideal: 480,\n },\n },\n },\n '720p': {\n video: {\n width: {\n max: 1280,\n ideal: 1280,\n },\n height: {\n max: 720,\n ideal: 720,\n },\n },\n },\n '1080p': {\n video: {\n width: {\n max: 1920,\n ideal: 1920,\n },\n height: {\n max: 1080,\n ideal: 1080,\n },\n },\n },\n};\n\nexport const VIDEO_RESOLUTIONS = {\n [QUALITY_LEVELS.LOW]: AVAILABLE_RESOLUTIONS['480p'],\n [QUALITY_LEVELS.MEDIUM]: AVAILABLE_RESOLUTIONS['720p'],\n [QUALITY_LEVELS.HIGH]: AVAILABLE_RESOLUTIONS['1080p'],\n [QUALITY_LEVELS['360p']]: AVAILABLE_RESOLUTIONS['360p'],\n [QUALITY_LEVELS['480p']]: AVAILABLE_RESOLUTIONS['480p'],\n [QUALITY_LEVELS['720p']]: AVAILABLE_RESOLUTIONS['720p'],\n [QUALITY_LEVELS['1080p']]: AVAILABLE_RESOLUTIONS['1080p'],\n};\n\n/*\n * mqa Interval for sending stats metrics\n */\n\nexport const MQA_INTEVAL = 60000; // mqa analyzer interval its fixed to 60000\n\nexport const MEDIA_DEVICES = {\n MICROPHONE: 'microphone',\n SPEAKER: 'speaker',\n CAMERA: 'camera',\n};\n\nexport const METRICS_JOIN_TIMES_MAX_DURATION = 1200000;\n\nexport const PSTN_STATUS = {\n JOINED: 'JOINED', // we have provisioned a pstn device, which can be used to connect\n CONNECTED: 'CONNECTED', // user is connected to audio with pstn device\n LEFT: 'LEFT', // user has disconnected from the pstn device\n TRANSFERRING: 'TRANSFERRING', // usually happens in dial-out after the CONNECTED state\n SUCCESS: 'SUCCESS', // happens after the transfer (TRANSFERRING) is successful\n UNKNOWN: '', // placeholder if we haven't been told what the status is\n};\n\nexport const PASSWORD_STATUS = {\n NOT_REQUIRED: 'NOT_REQUIRED', // password is not required to join the meeting\n REQUIRED: 'REQUIRED', // client needs to provide the password by calling verifyPassword() before calling join()\n UNKNOWN: 'UNKNOWN', // we are waiting for information from the backend if password is required or not\n VERIFIED: 'VERIFIED', // client has already provided the password and it has been verified, client can proceed to call join()\n};\n\nexport const MEETING_INFO_FAILURE_REASON = {\n NONE: 'NONE', // meeting info was retrieved succesfully\n WRONG_PASSWORD: 'WRONG_PASSWORD', // meeting requires password and no password or wrong one was provided\n WRONG_CAPTCHA: 'WRONG_CAPTCHA', // wbxappapi requires a captcha code or a wrong captcha code was provided\n OTHER: 'OTHER', // any other error (network, etc)\n};\n\nexport const BNR_STATUS = {\n SHOULD_ENABLE: 'SHOULD_ENABLE',\n ENABLED: 'ENABLED',\n SHOULD_DISABLE: 'SHOULD_DISABLE',\n NOT_ENABLED: 'NOT_ENABLED',\n};\n\nexport const EMBEDDED_APP_TYPES = {\n SLIDO: 'SLIDO',\n OTHER: 'OTHER',\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["AUDIO","AUDIO_INPUT","AUDIO_STATUS","ALERT","ANSWER","CALL","CORRELATION_ID","CONVERSATION_URL","CALENDAR","CALENDAR_EVENTS_API","CMR_MEETINGS","CLAIM","CONTROLS","CONTENT","COMPLETE","WHITEBOARD","GATHERING","DEVELOPMENT","DECLINE","ERROR","ENDED","HECATE","HOST","JOIN","LEAVE","LIVE","LOCAL","LOCI","LOCUS_URL","END","MAX_RANDOM_DELAY_FOR_MEETING_INFO","MEETINGINFO","MEET","MEET_M","MEDIA","OFFLINE","ONLINE","PARTICIPANT","PROVISIONAL_TYPE_DIAL_IN","PROVISIONAL_TYPE_DIAL_OUT","REMOTE","READY","SEND_DTMF_ENDPOINT","SENDRECV","SIP_URI","SHARE","TYPE","VIDEO","VIDEO_INPUT","VIDEO_STATUS","_ANSWER_","_ACTIVE_","_CALL_","_CREATED_","_CONFLICT_","_CONVERSATION_URL_","_ERROR_","_FORCED_","_IDLE_","_IN_LOBBY_","_IN_MEETING_","_INCOMING_","_IN_","_ID_","_JOIN_","_JOINED_","_LOCUS_ID_","_LEFT_","_MEETING_LINK_","_MEETING_UUID_","_MEETING_","_MEETING_CENTER_","_MEETING_ID_","_NOT_IN_MEETING_","_NONE_","_OBSERVE_","_PERSONAL_ROOM_","_PEOPLE_","hydraTypes","PEOPLE","_REQUESTED_","_RESOURCE_ROOM_","_RECEIVE_ONLY_","_REMOVE_","_ROOM_","ROOM","_SIP_BRIDGE_","_SIP_URI_","_SEND_RECEIVE_","_SEND_ONLY_","_INACTIVE_","_SLIDES_","_S_LINE","_USER_","_UNKNOWN_","_WEBEX_MEETING_","_WAIT_","_MOVE_MEDIA_","PARTICIPANT_DELTAS","TARGETS","STATES","DISABLED","MUTED","UNKNOWN","UNMUTED","ALTERNATE_REDIRECT_TRUE","HTTPS_PROTOCOL","MEETINGS","MEDIA_PEER_CONNECTION_NAME","SHARE_PEER_CONNECTION_NAME","USE_URI_LOOKUP_FALSE","WWW_DOT","WEBEX_DOT_COM","CONVERSATION_SERVICE","WBXAPPAPI_SERVICE","DEFAULT_EXCLUDED_STATS","LAYOUT_TYPES","MODERATOR_TRUE","MODERATOR_FALSE","INTENT_TO_JOIN","ICE_TIMEOUT","ICE_FAIL_TIMEOUT","RETRY_TIMEOUT","PC_BAIL_TIMEOUT","DIALER_REGEX","SIP_ADDRESS","PHONE_NUMBER","E164_FORMAT","IPV4_REGEX","VALID_EMAIL_ADDRESS","VALID_PMR_ADDRESS","VALID_PMR_LINK","VALID_PIN","UUID_REG","API","CALLIOPEDISCOVERY","LOCUS","CALENDAR_EVENTS","CREATE","UPDATE","CREATE_MINIMAL","UPDATE_MINIMAL","DELETE","DEFAULT_GET_STATS_FILTER","types","RECORDING_STATE","RECORDING","IDLE","PAUSED","RESUMED","SHARE_STATUS","NO_SHARE","REMOTE_SHARE_ACTIVE","LOCAL_SHARE_ACTIVE","WHITEBOARD_SHARE_ACTIVE","EVENT_TRIGGERS","MEETINGS_READY","MEETINGS_REGISTERED","MEETINGS_UNREGISTERED","MEDIA_READY","MEDIA_STOPPED","MEDIA_UPDATE","MEDIA_CODEC_MISSING","MEDIA_CODEC_LOADED","MEETING_STARTED_SHARING_LOCAL","MEETING_STOPPED_SHARING_LOCAL","MEETING_STARTED_SHARING_REMOTE","MEETING_STOPPED_SHARING_REMOTE","MEETING_STARTED_SHARING_WHITEBOARD","MEETING_STOPPED_SHARING_WHITEBOARD","MEETING_MEDIA_LOCAL_STARTED","MEETING_MEDIA_REMOTE_STARTED","MEETING_STARTED_RECORDING","MEETING_STOPPED_RECORDING","MEETING_STARTED_RECEIVING_TRANSCRIPTION","MEETING_STOPPED_RECEIVING_TRANSCRIPTION","MEETING_RECEIVE_REACTIONS","MEETING_PAUSED_RECORDING","MEETING_RESUMED_RECORDING","MEETING_ADDED","MEETING_REMOVED","MEETING_RINGING","MEETING_RINGING_STOP","MEETING_SELF_LOBBY_WAITING","MEETING_SELF_GUEST_ADMITTED","MEETING_SELF_VIDEO_MUTED_BY_OTHERS","MEETING_SELF_VIDEO_UNMUTED_BY_OTHERS","MEETING_SELF_MUTED_BY_OTHERS","MEETING_SELF_UNMUTED_BY_OTHERS","MEETING_SELF_REQUESTED_TO_UNMUTE","MEETING_SELF_PHONE_AUDIO_UPDATE","MEETING_SELF_CANNOT_VIEW_PARTICIPANT_LIST","MEETING_SELF_IS_SHARING_BLOCKED","MEETING_CONTROLS_LAYOUT_UPDATE","MEETING_ENTRY_EXIT_TONE_UPDATE","MEETING_BREAKOUTS_UPDATE","MEETING_BREAKOUTS_CLOSING","MEETING_BREAKOUTS_MESSAGE","MEMBERS_UPDATE","MEMBERS_CONTENT_UPDATE","MEMBERS_HOST_UPDATE","MEMBERS_SELF_UPDATE","MEETING_RECONNECTION_STARTING","MEETING_RECONNECTION_SUCCESS","MEETING_RECONNECTION_FAILURE","MEETING_UNLOCKED","MEETING_LOCKED","MEETING_INFO_AVAILABLE","MEETING_LOG_UPLOAD_SUCCESS","MEETING_LOG_UPLOAD_FAILURE","MEETING_ACTIONS_UPDATE","MEETING_STATE_CHANGE","MEETING_MEETING_CONTAINER_UPDATE","MEETING_EMBEDDED_APPS_UPDATE","MEDIA_QUALITY","MEETINGS_NETWORK_DISCONNECTED","MEETINGS_NETWORK_CONNECTED","MEETING_SELF_LEFT","NETWORK_QUALITY","MEDIA_NEGOTIATED","ACTIVE_SPEAKER_CHANGED","REMOTE_VIDEO_SOURCE_COUNT_CHANGED","REMOTE_AUDIO_SOURCE_COUNT_CHANGED","REMOTE_MEDIA_AUDIO_CREATED","REMOTE_MEDIA_SCREEN_SHARE_AUDIO_CREATED","REMOTE_MEDIA_VIDEO_LAYOUT_CHANGED","EVENT_TYPES","SELF","OTHER","REMOTE_AUDIO","REMOTE_VIDEO","REMOTE_SHARE","LOCAL_SHARE","MEETING_REMOVED_REASON","SELF_REMOVED","FULLSTATE_REMOVED","MEETING_INACTIVE_TERMINATING","CLIENT_LEAVE_REQUEST","USER_ENDED_SHARE_STREAMS","NO_MEETINGS_TO_SYNC","MEETING_CONNECTION_FAILED","CALL_REMOVED_REASON","CALL_INACTIVE","PARTNER_LEFT","SELF_LEFT","SHARE_STOPPED_REASON","SELF_STOPPED","MEETING_REJOIN","MEDIA_RECONNECTION","EVENTS","SELF_UNADMITTED_GUEST","SELF_ADMITTED_GUEST","MEDIA_INACTIVITY","CONVERSATION_URL_UPDATE","DESTROY_MEETING","REQUEST_UPLOAD_LOGS","REMOTE_RESPONSE","LOCUS_INFO_UPDATE_PARTICIPANTS","LOCUS_INFO_UPDATE_HOST","LOCUS_INFO_UPDATE_MEDIA_SHARES","LOCUS_INFO_UPDATE_SELF","LOCUS_INFO_UPDATE_URL","LOCUS_INFO_CAN_ASSIGN_HOST","DISCONNECT_DUE_TO_INACTIVITY","MEDIA_STATE","active","inactive","ERROR_DICTIONARY","PARAMETER","NAME","MESSAGE","CODE","JOIN_MEETING","RECONNECTION","PERMISSION","STATS","PASSWORD","CAPTCHA","BREAKOUT_EDIT","FLOOR_ACTION","GRANTED","RELEASED","ACCEPTED","FULL_STATE","INITIALIZING","INACTIVE","ACTIVE","TERMINATING","HTTP_VERBS","PUT","POST","GET","PATCH","ICE_GATHERING_STATE","NEW","ICE_STATE","CHECKING","CONNECTED","CLOSED","COMPLETED","FAILED","DISCONNECTED","CONNECTION_STATE","CONNECTING","STATE","SEQUENCE","UN_DEF","EMPTY","DEF","NA","RANGE_START","RANGE_END","SYNCDEBUG","BREAKOUTS","STATUS","CLOSING","PENDING","OPEN","BREAKOUTS_CLOSING","SESSION_TYPES","MAIN","BREAKOUT","SESSION_STATES","ASSIGNED","ALLOWED","ASSIGNED_CURRENT","REQUESTED","BREAKOUTS_SUPPORTED","ACTION","START","CLOSE","ERROR_CODE","EDIT_LOCK_TOKEN_MISMATCH","EDIT_NOT_AUTHORIZED","DEFAULT_DURATION","EDIT_LOCK_STATUS","LOCKED","NOT_LOCKED","DEFAULT_TTL","LOCUSINFO","CONTROLS_MEETING_LAYOUT_UPDATED","CONTROLS_RECORDING_UPDATED","CONTROLS_MEETING_TRANSCRIBE_UPDATED","CONTROLS_MEETING_BREAKOUT_UPDATED","CONTROLS_MEETING_CONTAINER_UPDATED","CONTROLS_ENTRY_EXIT_TONE_UPDATED","SELF_REMOTE_VIDEO_MUTE_STATUS_UPDATED","SELF_REMOTE_MUTE_STATUS_UPDATED","LOCAL_UNMUTE_REQUESTED","LOCAL_UNMUTE_REQUIRED","SELF_MODERATOR_CHANGED","MEETING_UPDATE","MEDIA_STATUS_CHANGE","FULL_STATE_TYPE_UPDATE","FULL_STATE_MEETING_STATE_CHANGE","MEETING_STATE_CHANGE_TO_ACTIVE","MEETING_INFO_UPDATED","SELF_OBSERVING","EMBEDDED_APPS_UPDATED","SELF_CANNOT_VIEW_PARTICIPANT_LIST_CHANGE","SELF_IS_SHARING_BLOCKED_CHANGE","SELF_MEETING_BREAKOUTS_CHANGED","LINKS_SERVICES","LOCUSEVENT","LOCUS_MERCURY","CONTROLS_UPDATED","DIFFERENCE","BREAKOUT_ROSTER","FLOOR_GRANTED","FLOOR_RELEASED","MESSAGE_ROAP","PARTICIPANT_JOIN","PARTICIPANT_LEFT","PARTICIPANT_DECLINED","PARTICIPANT_UPDATED","PARTICIPANT_CONTROLS_UPDATED","PARTICIPANT_ROLES_UPDATED","PARTICIPANT_AUDIO_MUTED","PARTICIPANT_AUDIO_UNMUTED","PARTICIPANT_VIDEO_MUTED","PARTICIPANT_VIDEO_UNMUTED","RECORDING_STARTED","RECORDING_START_FAILED","RECORDING_STOPPED","SELF_CHANGED","MEDIA_TRACK_CONSTRAINT","CURSOR","AWLAYS","MOTION","NEVER","MEETING_ERRORS","METRICS_NOT_SERVER_OR_CLIENT_EXCEPTION","BIDIRECTIONAL_ROSTER_NOT_ALLOWED","INVALID_LOCUS_URL","ARGUMENT_NULL_OR_EMPTY","INVALID_USER","INVALID_PHONE_NUMBER_OR_COUNTRY_CODE","EMPTY_PHONE_NUMBER_OR_COUNTRY_CODE","PHONE_NUMBER_INVALID_COUNTRY_CODE","PHONE_NUMBER_NOT_A_NUMBER","PHONE_NUMBER_TOO_SHORT_AFTER_IDD","PHONE_NUMBER_TOO_SHORT_NSN","PHONE_NUMBER_TOO_LONG","INVALID_DIALABLE_KEY","INVALID_MEETING_LINK","INVALID_SINCE_OR_SEQUENCE_HASH_IN_REQUEST","INVALID_LOCUS_ID","EMPTY_SCHEDULED_MEETING_START_TIME","INVALID_SCHEDULED_MEETING_DURATION_MINUTES","INVALID_SCHEDULED_MEETING_REMINDER_DURATION_MINUTES","EMPTY_SCHEDULED_MEETING_ORGANIZER","INVALID_MEETING_ID_FORMAT","INVALID_SIP_URL_FORMAT","EMPTY_INVITEE_RECORD","EMPTY_INVITEE_ADDRESS","DESKPHONE_NOTHING_DIALABLE_FOUND","INVALID_INVITEE_ADDRESS","INVALID_ATTENDEE_ID","INVALID_IN_LOBBY","MISSING_REQUESTING_PARTICIPANT_ID","INVALID_REQUESTING_PARTICIPANT_ID","SUPPLEMENTARY_USER_INFO_NOT_FOUND","UNAUTHORIZED","REMOVED_PARTICIPANT","FREE_USER_MAX_PARTICIPANTS_EXCEEDED","PAID_USER_MAX_PARTICIPANTS_EXCEEDED","SERVICE_MAX_PARTICIPANTS_EXCEEDED","ONE_ON_ONE_TO_SELF_NOT_ALLOWED","JOIN_RESTRICTED_USER","GET_RESTRICTED_USER","JOIN_RESTRICTED_USER_NOT_IN_ROOM","CREATE_MEDIA_RESTRICTED_USER","DUPLICATE_RESOURCE_CREATION_REQUEST","MEETING_NOT_FOUND","NOT_WEBEX_SITE","INVALID_SCHEDULED_MEETING_ORGANIZER","FREE_USER_MAX_PARTICIPANTS_JOINED_EXCEEDED","PAID_USER_MAX_PARTICIPANTS_JOINED_EXCEEDED","SERVICE_MAX_PARTICIPANTS_ROSTER_EXCEEDED","SERVICE_INITIAL_PARTICIPANTS_ROSTER_EXCEEDED","RESOURCE_GUEST_FORBIDDEN","SERVICE_NO_MACHINE_OR_SERVICE_ACCOUNT","MODERATOR_ROLE_REMOVAL_NOT_ALLOWED","RECORDING_CONTROL_NOT_SUPPORTED","HOST_PIN_LOCKED","INVALID_HOST_PIN","REQUESTING_PARTICIPANT_NOT_MODERATOR","CONVERSATION_NOT_FOUND","MEETING_LINK_NOT_FOUND","MEETING_INFO_NOT_FOUND","SCHEDULED_MEETING_NOT_FOUND","RECORDING_NOT_STARTED","RECORDING_NOT_ENABLED","RECORDING_USER_STORAGE_FULL","RECORDING_SITE_STORAGE_FULL","NO_SCHEDULED_MEETING","MEETING_FULL_UPDATE_NOT_ALLOWED","MODERATOR_ROLE_REMOVAL_NOT_VALID","MODERATOR_ROLE_ADDITION_NOT_VALID","INVALID_CALL_START_TIME","MEETING_STARTED_UPDATE_NOT_ALLOWED","EXCEEDED_MAX_JOINED_PARTICIPANTS","EXCEEDED_SERVICE_MAX_PARTICIPANTS","MEETING_IS_LOCKED","MEETING_IS_TERMINATING","MEETING_REQUIRE_MODERATOR_PIN_INTENT","MEETING_REQUIRE_MODERATOR_PIN","MEETING_REQUIRE_MODERATOR_ROLE","PMR_ACCOUNT_SUSPENDED","PMR_ACCOUNT_LOCKED","INVALID_JOIN_TIME","REQUIRES_WEBEX_LOGIN","TOO_MANY_REQUESTS","UNABLE_TO_LOOK_UP_DEVICE_INFORMATION","UNABLE_TO_LOOK_UP_CONVERSATION","UNABLE_TO_LOOK_UP_CI_USER","UNABLE_TO_CREATE_CONFLUENCE","SERVICE_UNAVAILABLE","SOCKET_TIMEOUT","NO_HTTP_RESPONSE","MEETING_END_REASON","MEDIA_RELEASED","DISPLAY_HINTS","ADD_GUEST","ROSTER_WAITING_TO_JOIN","RECORDING_CONTROL_START","RECORDING_CONTROL_PAUSE","RECORDING_CONTROL_STOP","RECORDING_CONTROL_RESUME","LOCK_CONTROL_UNLOCK","LOCK_CONTROL_LOCK","LOCK_STATUS_LOCKED","LOCK_STATUS_UNLOCKED","RAISE_HAND","LOWER_ALL_HANDS","LOWER_SOMEONE_ELSES_HAND","LEAVE_TRANSFER_HOST_END_MEETING","LEAVE_END_MEETING","CAPTION_START","CAPTION_STATUS_ACTIVE","DISPLAY_REAL_TIME_TRANSLATION","ENABLE_CAPTION_PANEL","DISPLAY_NON_ENGLISH_ASR","TRANSCRIPTION_CONTROL_START","TRANSCRIPTION_CONTROL_STOP","WEBEX_ASSISTANT_STATUS_ACTIVE","WAITING_FOR_OTHERS","ENABLE_REACTIONS","DISABLE_REACTIONS","REACTIONS_ACTIVE","REACTIONS_INACTIVE","ENABLE_MUTE_ON_ENTRY","DISABLE_MUTE_ON_ENTRY","ENABLE_HARD_MUTE","DISABLE_HARD_MUTE","MUTE_ALL","UNMUTE_ALL","BREAKOUT_MANAGEMENT","UCF_SUPPRESS_BREAKOUTS_SUPPORT","DISABLE_ASK_FOR_HELP","DISABLE_BREAKOUT_PREASSIGNMENTS","DISABLE_LOBBY_TO_BREAKOUT","SELF_ROLES","COHOST","MODERATOR","MEETING_STATE","INCOMING","DIALING","NOTIFIED","DECLINED","ON_GOING","JOINED","LEFT","MEETING_STATE_MACHINE","TRANSITIONS","FAIL","RING","RESET","RINGING","ANSWERED","MEETING_AUDIO_STATE_MACHINE","TOGGLE","INIT","MUTE_SELF","UNMUTE_SELF","MEETING_VIDEO_STATE_MACHINE","PEER_CONNECTION_STATE","IN_PROGRESS","FAILURE","DEFAULT_TRY_COUNT","DEFAULT_STATUS","RESOURCE","CLUSTERS","REACHABILITY","localStorageResult","localStorageJoinCookie","namespace","ROAP","ROAP_TYPES","OFFER","OK","TURN_DISCOVERY_REQUEST","TURN_DISCOVERY_RESPONSE","ROAP_MERCURY","ROAP_VERSION","MediaContent","main","slides","NETWORK_STATUS","RECONNECTING","NETWORK_TYPE","VPN","WIFI","ETHERNET","SEND_DIRECTION","RECEIVE_DIRECTION","MQA_STATS","MQA_SIZE","CA_TYPE","DEFAULT_IP","DEFAULT_SHARE_SENDER_STATS","common","direction","isMain","mariFecEnabled","mariQosEnabled","multistreamEnabled","availableBitrate","dtlsBitrate","dtlsPackets","fecBitrate","fecPackets","maxBitrate","queueDelay","remoteJitter","remoteLossRate","remoteReceiveRate","roundTripTime","rtcpBitrate","rtcpPackets","rtpBitrate","rtpPackets","stunBitrate","stunPackets","transportType","streams","codec","duplicateSsci","requestedBitrate","requestedFrames","ssci","transmittedBitrate","transmittedFrameRate","h264CodecProfile","localConfigurationChanges","remoteConfigurationChanges","requestedFrameSize","requestedKeyFrames","transmittedFrameSize","transmittedHeight","transmittedKeyFrames","transmittedWidth","intervalMetadata","memoryUsage","cpuBitWidth","mainProcessMaximumMemoryBytes","osBitWidth","processAverageMemoryUsage","processMaximumMemoryBytes","processMaximumMemoryUsage","systemAverageMemoryUsage","systemMaximumMemoryUsage","peerReflexiveIP","processAverageCPU","processMaximumCPU","systemAverageCPU","systemMaximumCPU","QUALITY_LEVELS","LOW","MEDIUM","HIGH","AVAILABLE_RESOLUTIONS","video","width","max","ideal","height","VIDEO_RESOLUTIONS","MQA_INTEVAL","MEDIA_DEVICES","MICROPHONE","SPEAKER","CAMERA","METRICS_JOIN_TIMES_MAX_DURATION","PSTN_STATUS","TRANSFERRING","SUCCESS","PASSWORD_STATUS","NOT_REQUIRED","REQUIRED","VERIFIED","MEETING_INFO_FAILURE_REASON","NONE","WRONG_PASSWORD","WRONG_CAPTCHA","BNR_STATUS","SHOULD_ENABLE","ENABLED","SHOULD_DISABLE","NOT_ENABLED","EMBEDDED_APP_TYPES","SLIDO"],"sources":["constants.ts"],"sourcesContent":["// @ts-ignore\nimport {hydraTypes} from '@webex/common';\n\n// *********** LOWERCASE / CAMELCASE STRINGS ************\n\nexport const AUDIO = 'audio';\nexport const AUDIO_INPUT = 'audioinput';\nexport const AUDIO_STATUS = 'audioStatus';\nexport const ALERT = 'alert';\nexport const ANSWER = 'answer';\n\nexport const CALL = 'call';\nexport const CORRELATION_ID = 'correlationId';\nexport const CONVERSATION_URL = 'conversationUrl';\nexport const CALENDAR = 'calendar';\nexport const CALENDAR_EVENTS_API = 'calendarEvents';\nexport const CMR_MEETINGS = 'cmrmeetings';\nexport const CLAIM = 'claim';\nexport const CONTROLS = 'controls';\nexport const CONTENT = 'content';\nexport const COMPLETE = 'complete';\nexport const WHITEBOARD = 'whiteboard';\nexport const GATHERING = 'gathering';\nexport const DEVELOPMENT = 'development';\nexport const DECLINE = 'decline';\n\nexport const ERROR = 'error';\nexport const ENDED = 'ended';\n\nexport const HECATE = 'hecate';\n\nexport const HOST = 'host';\n\nexport const JOIN = 'join';\n\nexport const LEAVE = 'leave';\nexport const LIVE = 'live';\nexport const LOCAL = 'local';\nexport const LOCI = 'loci';\nexport const LOCUS_URL = 'locusUrl';\nexport const END = 'end';\n\nexport const MAX_RANDOM_DELAY_FOR_MEETING_INFO = 3 * 60 * 1000;\nexport const MEETINGINFO = 'meetingInfo';\nexport const MEET = 'meet';\nexport const MEET_M = 'm';\nexport const MEDIA = 'media';\n\nexport const OFFLINE = 'offline';\nexport const ONLINE = 'online';\n\nexport const PARTICIPANT = 'participant';\n\nexport const PROVISIONAL_TYPE_DIAL_IN = 'DIAL_IN';\nexport const PROVISIONAL_TYPE_DIAL_OUT = 'DIAL_OUT';\n\nexport const REMOTE = 'remote';\nexport const READY = 'ready';\n\nexport const SEND_DTMF_ENDPOINT = 'sendDtmf';\nexport const SENDRECV = 'sendrecv';\nexport const SIP_URI = 'sipUri';\nexport const SHARE = 'share';\n\nexport const TYPE = 'type';\n\nexport const VIDEO = 'video';\nexport const VIDEO_INPUT = 'videoinput';\nexport const VIDEO_STATUS = 'videoStatus';\n\n// *********** UPPERCASE ONLY STRINGS ************\n// Please alphabetize\nexport const _ANSWER_ = 'ANSWER';\nexport const _ACTIVE_ = 'ACTIVE';\nexport const _CALL_ = 'CALL';\nexport const _CREATED_ = 'CREATED';\nexport const _CONFLICT_ = 'CONFLICT';\nexport const _CONVERSATION_URL_ = 'CONVERSATION_URL';\n\nexport const _ERROR_ = 'ERROR';\n\nexport const _FORCED_ = 'FORCED';\n\nexport const _IDLE_ = 'IDLE';\nexport const _IN_LOBBY_ = 'IN_LOBBY';\nexport const _IN_MEETING_ = 'IN_MEETING';\nexport const _INCOMING_ = 'INCOMING';\nexport const _IN_ = 'IN';\nexport const _ID_ = 'id';\n\nexport const _JOIN_ = 'JOIN';\nexport const _JOINED_ = 'JOINED';\n\nexport const _LOCUS_ID_ = 'LOCUS_ID';\nexport const _LEFT_ = 'LEFT';\n\nexport const _MEETING_LINK_ = 'MEETING_LINK';\nexport const _MEETING_UUID_ = 'MEETING_UUID';\nexport const _MEETING_ = 'MEETING';\nexport const _MEETING_CENTER_ = 'MEETING_CENTER';\nexport const _MEETING_ID_ = 'MEETING_ID';\n\nexport const _NOT_IN_MEETING_ = 'NOT_IN_MEETING';\nexport const _NONE_ = 'NONE';\n\nexport const _OBSERVE_ = 'OBSERVE';\n\nexport const _PERSONAL_ROOM_ = 'PERSONAL_ROOM';\nexport const _PEOPLE_ = hydraTypes.PEOPLE;\n\nexport const _REQUESTED_ = 'REQUESTED';\nexport const _RESOURCE_ROOM_ = 'RESOURCE_ROOM';\nexport const _RECEIVE_ONLY_ = 'RECVONLY';\nexport const _REMOVE_ = 'REMOVE';\nexport const _ROOM_ = hydraTypes.ROOM;\n\nexport const _SIP_BRIDGE_ = 'SIP_BRIDGE';\nexport const _SIP_URI_ = 'SIP_URI';\nexport const _SEND_RECEIVE_ = 'SENDRECV';\nexport const _SEND_ONLY_ = 'SENDONLY';\nexport const _INACTIVE_ = 'INACTIVE';\nexport const _SLIDES_ = 'SLIDES';\nexport const _S_LINE = 's=-';\n\nexport const _USER_ = 'USER';\nexport const _UNKNOWN_ = 'UNKNOWN';\n\nexport const _WEBEX_MEETING_ = 'WEBEX_MEETING';\nexport const _WAIT_ = 'WAIT';\nexport const _MOVE_MEDIA_ = 'MOVE_MEDIA';\n\n// *********** PARTICIPANT DELTAS ***********\nexport const PARTICIPANT_DELTAS = {\n TARGETS: {\n AUDIO: 'audio',\n VIDEO: 'video',\n },\n STATES: {\n DISABLED: 'disabled',\n MUTED: 'muted',\n UNKNOWN: 'unknown',\n UNMUTED: 'unmuted',\n },\n};\n\n// *********** STRING HELPERS ***********\n// Please alphabetize\nexport const ALTERNATE_REDIRECT_TRUE = 'alternateRedirect=true';\n\nexport const HTTPS_PROTOCOL = 'https://';\n\nexport const MEETINGS = 'Meetings';\n\nexport const MEDIA_PEER_CONNECTION_NAME = 'MediaPeerConnection';\n\nexport const SHARE_PEER_CONNECTION_NAME = 'SharePeerConnection';\n\nexport const USE_URI_LOOKUP_FALSE = 'useUriLookup=false';\n\nexport const WWW_DOT = 'www.';\n\nexport const WEBEX_DOT_COM = 'webex.com';\n\nexport const CONVERSATION_SERVICE = 'identityLookup';\n\nexport const WBXAPPAPI_SERVICE = 'webex-appapi-service';\n\n// ******************* ARRAYS ********************\n// Please alphabetize\nexport const DEFAULT_EXCLUDED_STATS = ['timestamp', 'ssrc', 'priority'];\n\n/**\n * @description @description Layout type for remote video participants. Allowed values are: Single, Equal, ActivePresence, Prominent, OnePlusN\n * @type {array}\n * @constant\n */\nexport const LAYOUT_TYPES = ['Single', 'Equal', 'ActivePresence', 'Prominent', 'OnePlusN'];\n\n// ******************* BOOLEANS *******************\n// Please alphabetize\nexport const MODERATOR_TRUE = true;\nexport const MODERATOR_FALSE = false;\n\n// ******************** NUMBERS ********************\n\nexport const INTENT_TO_JOIN = [2423005, 2423006, 2423016, 2423017, 2423018];\nexport const ICE_TIMEOUT = 2000;\nexport const ICE_FAIL_TIMEOUT = 3000;\n\nexport const RETRY_TIMEOUT = 3000;\n\nexport const PC_BAIL_TIMEOUT = 8000;\n\n// ******************** REGEX **********************\n// Please alphabetize\nexport const DIALER_REGEX = {\n // modified from https://github.com/kirm/sip.js base\n // and with https://tools.ietf.org/html/rfc3261\n // requires the @ symbol\n SIP_ADDRESS:\n /^(sips?)?:?(?:([^\\s>:@]+)(?::([^\\s@>]+))?@)([\\w\\-.]+)(?::(\\d+))?((?:;[^\\s=?>;]+(?:=[^\\s?;]+)?)*)(?:\\?(([^\\s&=>]+=[^\\s&=>]+)(&[^\\s&=>]+=[^\\s&=>]+)*))?$/,\n // standard telephony num regex\n PHONE_NUMBER:\n /^(?:(?:\\+?1\\s*(?:[.-]\\s*)?)?(?:\\(\\s*([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9])\\s*\\)|([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9]))\\s*(?:[.-]\\s*)?)?([2-9]1[02-9]|[2-9][02-9]1|[2-9][02-9]{2})\\s*(?:[.-]\\s*)?([0-9]{4})(?:\\s*(?:#|x\\.?|ext\\.?|extension)\\s*(\\d+))?$/,\n E164_FORMAT: /^\\+[1-9]\\d{1,14}$/,\n};\n\n// eslint-disable-next-line max-len\nexport const IPV4_REGEX = /^(?:[0-9]{1,3}\\.){3}[0-9]{1,3}|.local/g;\n\nexport const VALID_EMAIL_ADDRESS =\n /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\nexport const VALID_PMR_ADDRESS =\n /([a-z0-9][-a-z0-9, '.']{0,62})@([a-z0-9][-a-z0-9, '.']{0,62})\\.webex\\.com/i;\nexport const VALID_PMR_LINK =\n /(https:\\/\\/)?([a-z0-9][-a-z0-9, '.']{0,62})\\.webex\\.com\\/(meet|join)\\/([a-z0-9][-a-z0-9, '.']{0,62})\\/?/i;\nexport const VALID_PIN = /([0-9]{4,6})/;\nexport const UUID_REG =\n /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;\n\n// ******************** OBJECTS ********************\n// Please alphabetize, and keep objects organized\n\n// TODO: move all api params to API section\nexport const API = {\n CALLIOPEDISCOVERY: 'calliopeDiscovery',\n LOCUS: 'locus',\n};\n\nexport const CALENDAR_EVENTS = {\n CREATE: 'event:calendar.meeting.create',\n UPDATE: 'event:calendar.meeting.update',\n CREATE_MINIMAL: 'event:calendar.meeting.create.minimal',\n UPDATE_MINIMAL: 'event:calendar.meeting.update.minimal',\n DELETE: 'event:calendar.meeting.delete',\n};\n\nexport const DEFAULT_GET_STATS_FILTER = {\n types: [\n 'track',\n 'transport',\n 'candidate-pair',\n 'outbound-rtp',\n 'outboundrtp',\n 'inbound-rtp',\n 'inboundrtp',\n 'remote-inbound-rtp',\n 'remote-outbound-rtp',\n 'remote-candidate',\n 'local-candidate',\n 'media-source',\n ],\n};\n\nexport const RECORDING_STATE = {\n RECORDING: 'recording',\n IDLE: 'idle',\n PAUSED: 'paused',\n RESUMED: 'resumed',\n};\n\nexport const SHARE_STATUS = {\n NO_SHARE: 'no_share',\n REMOTE_SHARE_ACTIVE: 'remote_share_active',\n LOCAL_SHARE_ACTIVE: 'local_share_active',\n WHITEBOARD_SHARE_ACTIVE: 'whiteboard_share_active',\n};\n\n// TODO: do we want to scope by meeting, members when they come off those objects themselves?\nexport const EVENT_TRIGGERS = {\n MEETINGS_READY: 'meetings:ready',\n MEETINGS_REGISTERED: 'meetings:registered',\n MEETINGS_UNREGISTERED: 'meetings:unregistered',\n MEDIA_READY: 'media:ready',\n MEDIA_STOPPED: 'media:stopped',\n MEDIA_UPDATE: 'media:update',\n MEDIA_CODEC_MISSING: 'media:codec:missing',\n MEDIA_CODEC_LOADED: 'media:codec:loaded',\n MEETING_STARTED_SHARING_LOCAL: 'meeting:startedSharingLocal',\n MEETING_STOPPED_SHARING_LOCAL: 'meeting:stoppedSharingLocal',\n MEETING_STARTED_SHARING_REMOTE: 'meeting:startedSharingRemote',\n MEETING_STOPPED_SHARING_REMOTE: 'meeting:stoppedSharingRemote',\n MEETING_STARTED_SHARING_WHITEBOARD: 'meeting:startedSharingWhiteboard',\n MEETING_STOPPED_SHARING_WHITEBOARD: 'meeting:stoppedSharingWhiteboard',\n MEETING_MEDIA_LOCAL_STARTED: 'meeting:media:local:start',\n MEETING_MEDIA_REMOTE_STARTED: 'meeting:media:remote:start',\n MEETING_STARTED_RECORDING: 'meeting:recording:started',\n MEETING_STOPPED_RECORDING: 'meeting:recording:stopped',\n MEETING_STARTED_RECEIVING_TRANSCRIPTION: 'meeting:receiveTranscription:started',\n MEETING_STOPPED_RECEIVING_TRANSCRIPTION: 'meeting:receiveTranscription:stopped',\n MEETING_RECEIVE_REACTIONS: 'meeting:receiveReactions',\n MEETING_PAUSED_RECORDING: 'meeting:recording:paused',\n MEETING_RESUMED_RECORDING: 'meeting:recording:resumed',\n MEETING_ADDED: 'meeting:added',\n MEETING_REMOVED: 'meeting:removed',\n MEETING_RINGING: 'meeting:ringing',\n MEETING_RINGING_STOP: 'meeting:ringingStop',\n MEETING_SELF_LOBBY_WAITING: 'meeting:self:lobbyWaiting',\n MEETING_SELF_GUEST_ADMITTED: 'meeting:self:guestAdmitted',\n MEETING_SELF_VIDEO_MUTED_BY_OTHERS: 'meeting:self:videoMutedByOthers',\n MEETING_SELF_VIDEO_UNMUTED_BY_OTHERS: 'meeting:self:videoUnmutedByOthers',\n MEETING_SELF_MUTED_BY_OTHERS: 'meeting:self:mutedByOthers',\n MEETING_SELF_UNMUTED_BY_OTHERS: 'meeting:self:unmutedByOthers',\n MEETING_SELF_REQUESTED_TO_UNMUTE: 'meeting:self:requestedToUnmute',\n MEETING_SELF_PHONE_AUDIO_UPDATE: 'meeting:self:phoneAudioUpdate',\n MEETING_SELF_CANNOT_VIEW_PARTICIPANT_LIST: 'meeting:self:cannotViewParticipantList',\n MEETING_SELF_IS_SHARING_BLOCKED: 'meeting:self:isSharingBlocked',\n MEETING_CONTROLS_LAYOUT_UPDATE: 'meeting:layout:update',\n MEETING_ENTRY_EXIT_TONE_UPDATE: 'meeting:entryExitTone:update',\n MEETING_BREAKOUTS_UPDATE: 'meeting:breakouts:update',\n MEETING_BREAKOUTS_CLOSING: 'meeting:breakouts:closing',\n MEETING_BREAKOUTS_MESSAGE: 'meeting:breakouts:message',\n MEMBERS_UPDATE: 'members:update',\n MEMBERS_CONTENT_UPDATE: 'members:content:update',\n MEMBERS_HOST_UPDATE: 'members:host:update',\n MEMBERS_SELF_UPDATE: 'members:self:update',\n MEETING_RECONNECTION_STARTING: 'meeting:reconnectionStarting',\n MEETING_RECONNECTION_SUCCESS: 'meeting:reconnectionSuccess',\n MEETING_RECONNECTION_FAILURE: 'meeting:reconnectionFailure',\n MEETING_UNLOCKED: 'meeting:unlocked',\n MEETING_LOCKED: 'meeting:locked',\n MEETING_INFO_AVAILABLE: 'meeting:meetingInfoAvailable',\n MEETING_LOG_UPLOAD_SUCCESS: 'meeting:logUpload:success',\n MEETING_LOG_UPLOAD_FAILURE: 'meeting:logUpload:failure',\n MEETING_ACTIONS_UPDATE: 'meeting:actionsUpdate',\n MEETING_STATE_CHANGE: 'meeting:stateChange',\n MEETING_MEETING_CONTAINER_UPDATE: 'meeting:meetingContainer:update',\n MEETING_EMBEDDED_APPS_UPDATE: 'meeting:embeddedApps:update',\n MEDIA_QUALITY: 'media:quality',\n MEETINGS_NETWORK_DISCONNECTED: 'network:disconnected',\n MEETINGS_NETWORK_CONNECTED: 'network:connected',\n MEETING_SELF_LEFT: 'meeting:self:left',\n NETWORK_QUALITY: 'network:quality',\n MEDIA_NEGOTIATED: 'media:negotiated',\n // the following events apply only to multistream media connections\n ACTIVE_SPEAKER_CHANGED: 'media:activeSpeakerChanged',\n REMOTE_VIDEO_SOURCE_COUNT_CHANGED: 'media:remoteVideoSourceCountChanged',\n REMOTE_AUDIO_SOURCE_COUNT_CHANGED: 'media:remoteAudioSourceCountChanged',\n REMOTE_MEDIA_AUDIO_CREATED: 'media:remoteAudio:created',\n REMOTE_MEDIA_SCREEN_SHARE_AUDIO_CREATED: 'media:remoteScreenShareAudio:created',\n REMOTE_MEDIA_VIDEO_LAYOUT_CHANGED: 'media:remoteVideo:layoutChanged',\n};\n\nexport const EVENT_TYPES = {\n SELF: 'self',\n OTHER: 'other',\n LOCAL: 'local',\n REMOTE: 'remote',\n REMOTE_AUDIO: 'remoteAudio',\n REMOTE_VIDEO: 'remoteVideo',\n REMOTE_SHARE: 'remoteShare',\n LOCAL_SHARE: 'localShare',\n ERROR: 'error',\n};\n\n// Handles the reason when meeting gets destroyed\n// host removed you from the meeting\n// You are the host and you left the meeting\n// Meeting actually ended\nexport const MEETING_REMOVED_REASON = {\n SELF_REMOVED: 'SELF_REMOVED', // server or host removed you from the meeting\n FULLSTATE_REMOVED: 'FULLSTATE_REMOVED', // meeting got dropped ? not sure\n MEETING_INACTIVE_TERMINATING: 'MEETING_INACTIVE_TERMINATING', // Meeting got ended or everyone left the meeting\n CLIENT_LEAVE_REQUEST: 'CLIENT_LEAVE_REQUEST', // You triggered leave meeting\n USER_ENDED_SHARE_STREAMS: 'USER_ENDED_SHARE_STREAMS', // user triggered stop share\n NO_MEETINGS_TO_SYNC: 'NO_MEETINGS_TO_SYNC', // After the syncMeeting no meeting exists\n MEETING_CONNECTION_FAILED: 'MEETING_CONNECTION_FAILED', // meeting failed to connect due to ice failures or firewall issue\n};\n\n// One one one calls ends for the following reasons\n// Partner reject the call or ends the call\n// self cancel or end the ongoing call\nexport const CALL_REMOVED_REASON = {\n CALL_INACTIVE: 'CALL_INACTIVE', // partner and you leave the call\n PARTNER_LEFT: 'PARTNER_LEFT', // partner left the call\n SELF_LEFT: 'SELF_LEFT', // you left/declined the call\n};\n\nexport const SHARE_STOPPED_REASON = {\n SELF_STOPPED: 'SELF_STOPPED',\n MEETING_REJOIN: 'MEETING_REJOIN',\n MEDIA_RECONNECTION: 'MEDIA_RECONNECTION',\n};\n\nexport const EVENTS = {\n SELF_UNADMITTED_GUEST: 'SELF_UNADMITTED_GUEST',\n SELF_ADMITTED_GUEST: 'SELF_ADMITTED_GUEST',\n MEDIA_INACTIVITY: 'MEDIA_INACTIVITY',\n CONVERSATION_URL_UPDATE: 'CONVERSATION_URL_UPDATE',\n DESTROY_MEETING: 'DESTROY_MEETING',\n REQUEST_UPLOAD_LOGS: 'REQUEST_UPLOAD_LOGS',\n REMOTE_RESPONSE: 'REMOTE_RESPONSE',\n // TODO: move all of these to LOCUSINFO.EVENTS\n LOCUS_INFO_UPDATE_PARTICIPANTS: 'LOCUS_INFO_UPDATE_PARTICIPANTS',\n LOCUS_INFO_UPDATE_HOST: 'LOCUS_INFO_UPDATE_HOST',\n LOCUS_INFO_UPDATE_MEDIA_SHARES: 'LOCUS_INFO_UPDATE_MEDIA_SHARES',\n LOCUS_INFO_UPDATE_SELF: 'LOCUS_INFO_UPDATE_SELF',\n LOCUS_INFO_UPDATE_URL: 'LOCUS_INFO_UPDATE_URL',\n LOCUS_INFO_CAN_ASSIGN_HOST: 'LOCUS_INFO_CAN_ASSIGN_HOST',\n DISCONNECT_DUE_TO_INACTIVITY: 'DISCONNECT_DUE_TO_INACTIVITY',\n};\n\nexport const MEDIA_STATE = {\n active: 'active',\n inactive: 'inactive',\n};\n\nexport const ERROR_DICTIONARY = {\n PARAMETER: {\n NAME: 'ParameterError',\n MESSAGE:\n 'The parameters passed to the function, or object properties needed in the function were null, missing where required, or otherwise incorrect.',\n CODE: 0,\n },\n INTENT_TO_JOIN: {\n NAME: 'IntentToJoinError',\n MESSAGE:\n 'The meeting is locked. This is expected behavior. Call #join again with pin and/or moderator option',\n CODE: 1,\n },\n JOIN_MEETING: {\n NAME: 'JoinMeetingError',\n MESSAGE: 'There was an issue joining the meeting, meeting could be in a bad state.',\n CODE: 2,\n },\n RECONNECTION: {\n NAME: 'ReconnectionError',\n MESSAGE:\n 'There was an error in the reconnection flow, the meeting may not reconnect, disconnect and dial again.',\n CODE: 3,\n },\n MEDIA: {\n NAME: 'MediaError',\n MESSAGE: 'There was an error with media, the meeting may not have live audio, video or share.',\n CODE: 4,\n },\n PERMISSION: {\n NAME: 'PermissionError',\n MESSAGE:\n 'Not allowed to execute the function, some properties on server, or local client state do not allow you to complete this action.',\n CODE: 5,\n },\n STATS: {\n NAME: 'StatsError',\n MESSAGE: 'An error occurred with getStats, stats may not continue for this data stream.',\n CODE: 6,\n },\n PASSWORD: {\n NAME: 'PasswordError',\n MESSAGE: 'Password is required, please use verifyPassword()',\n CODE: 7,\n },\n CAPTCHA: {\n NAME: 'CaptchaError',\n MESSAGE: 'Captcha is required.',\n CODE: 8,\n },\n BREAKOUT_EDIT: {\n NAME: 'BreakoutEditLockedError',\n MESSAGE: 'Edit lock token mismatch',\n CODE: 9,\n },\n};\n\nexport const FLOOR_ACTION = {\n GRANTED: 'GRANTED',\n RELEASED: 'RELEASED',\n ACCEPTED: 'ACCEPTED',\n};\n\nexport const FULL_STATE = {\n INITIALIZING: 'INITIALIZING',\n INACTIVE: 'INACTIVE',\n ACTIVE: 'ACTIVE',\n TERMINATING: 'TERMINATING',\n UNKNOWN: 'UNKNOWN',\n};\n\nexport const HTTP_VERBS = {\n PUT: 'PUT',\n POST: 'POST',\n GET: 'GET',\n PATCH: 'PATCH',\n DELETE: 'DELETE',\n};\n\n// https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/iceGatheringState\nexport const ICE_GATHERING_STATE = {\n NEW: 'new',\n GATHERING: 'gathering',\n COMPLETE: 'complete',\n};\n\n// https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/iceConnectionState\nexport const ICE_STATE = {\n CHECKING: 'checking',\n CONNECTED: 'connected',\n CLOSED: 'closed',\n COMPLETED: 'completed',\n FAILED: 'failed',\n DISCONNECTED: 'disconnected',\n};\n\nexport const CONNECTION_STATE = {\n NEW: 'new',\n CONNECTING: 'connecting',\n CONNECTED: 'connected',\n CLOSED: 'closed',\n FAILED: 'failed',\n DISCONNECTED: 'disconnected',\n};\n\nexport const LOCUS = {\n STATE: {\n INACTIVE: 'INACTIVE',\n ENDED: 'ENDED',\n INITIALIZING: 'INITIALIZING',\n },\n SEQUENCE: {\n UN_DEF: 'undef',\n EMPTY: 'empty',\n DEF: 'def',\n NA: 'na',\n RANGE_START: 'rangeStart',\n RANGE_END: 'rangeEnd',\n },\n SYNCDEBUG: 'sync_debug',\n};\n\nexport const BREAKOUTS = {\n STATUS: {\n CLOSING: 'CLOSING',\n CLOSED: 'CLOSED',\n PENDING: 'PENDING',\n OPEN: 'OPEN',\n },\n EVENTS: {\n BREAKOUTS_CLOSING: 'BREAKOUTS_CLOSING',\n MESSAGE: 'MESSAGE',\n MEMBERS_UPDATE: 'MEMBERS_UPDATE',\n },\n SESSION_TYPES: {\n MAIN: 'MAIN',\n BREAKOUT: 'BREAKOUT',\n },\n SESSION_STATES: {\n ACTIVE: 'active',\n ASSIGNED: 'assigned',\n ALLOWED: 'allowed',\n ASSIGNED_CURRENT: 'assignedCurrent',\n REQUESTED: 'requested',\n },\n BREAKOUTS_SUPPORTED: 'BREAKOUTS_SUPPORTED',\n ACTION: {\n START: 'START',\n CLOSE: 'CLOSE',\n DELETE: 'DELETE',\n },\n ERROR_CODE: {\n EDIT_LOCK_TOKEN_MISMATCH: 201409024,\n EDIT_NOT_AUTHORIZED: 201403007,\n },\n DEFAULT_DURATION: 60000,\n EDIT_LOCK_STATUS: {\n LOCKED: 'LOCKED',\n NOT_LOCKED: 'NOT_LOCKED',\n UNKNOWN: 'UNKNOWN',\n },\n DEFAULT_TTL: 30,\n};\n\nexport const LOCUSINFO = {\n EVENTS: {\n CONTROLS_MEETING_LAYOUT_UPDATED: 'CONTROLS_MEETING_LAYOUT_UPDATED',\n CONTROLS_RECORDING_UPDATED: 'CONTROLS_RECORDING_UPDATED',\n CONTROLS_MEETING_TRANSCRIBE_UPDATED: 'CONTROLS_MEETING_TRANSCRIBE_UPDATED',\n CONTROLS_MEETING_BREAKOUT_UPDATED: 'CONTROLS_MEETING_BREAKOUT_UPDATED',\n CONTROLS_MEETING_CONTAINER_UPDATED: 'CONTROLS_MEETING_CONTAINER_UPDATED',\n CONTROLS_ENTRY_EXIT_TONE_UPDATED: 'CONTROLS_ENTRY_EXIT_TONE_UPDATED',\n SELF_UNADMITTED_GUEST: 'SELF_UNADMITTED_GUEST',\n SELF_ADMITTED_GUEST: 'SELF_ADMITTED_GUEST',\n SELF_REMOTE_VIDEO_MUTE_STATUS_UPDATED: 'SELF_REMOTE_VIDEO_MUTE_STATUS_UPDATED',\n SELF_REMOTE_MUTE_STATUS_UPDATED: 'SELF_REMOTE_MUTE_STATUS_UPDATED',\n LOCAL_UNMUTE_REQUESTED: 'LOCAL_UNMUTE_REQUESTED',\n LOCAL_UNMUTE_REQUIRED: 'LOCAL_UNMUTE_REQUIRED',\n SELF_MODERATOR_CHANGED: 'SELF_MODERATOR_CHANGED',\n MEETING_UPDATE: 'MEETING_UPDATE',\n MEDIA_STATUS_CHANGE: 'MEDIA_STATUS_CHANGE',\n FULL_STATE_TYPE_UPDATE: 'FULL_STATE_TYPE_UPDATE',\n FULL_STATE_MEETING_STATE_CHANGE: 'FULL_STATE_MEETING_STATE_CHANGE',\n MEETING_STATE_CHANGE_TO_ACTIVE: 'MEETING_STATE_CHANGE_TO_ACTIVE',\n MEETING_INFO_UPDATED: 'MEETING_INFO_UPDATED',\n MEETING_LOCKED: 'MEETING_LOCKED',\n MEETING_UNLOCKED: 'MEETING_UNLOCKED',\n SELF_OBSERVING: 'SELF_OBSERVING',\n DISCONNECT_DUE_TO_INACTIVITY: 'DISCONNECT_DUE_TO_INACTIVITY',\n EMBEDDED_APPS_UPDATED: 'EMBEDDED_APPS_UPDATED',\n SELF_CANNOT_VIEW_PARTICIPANT_LIST_CHANGE: 'SELF_CANNOT_VIEW_PARTICIPANT_LIST_CHANGE',\n SELF_IS_SHARING_BLOCKED_CHANGE: 'SELF_IS_SHARING_BLOCKED_CHANGE',\n SELF_MEETING_BREAKOUTS_CHANGED: 'SELF_MEETING_BREAKOUTS_CHANGED',\n MEDIA_INACTIVITY: 'MEDIA_INACTIVITY',\n LINKS_SERVICES: 'LINKS_SERVICES',\n },\n};\n\nexport const LOCUSEVENT = {\n LOCUS_MERCURY: 'event:locus',\n\n // update the tp unit status\n CONTROLS_UPDATED: 'locus.controls_updated',\n\n // delta events\n DIFFERENCE: 'locus.difference',\n\n // Breakout sessions\n BREAKOUT_ROSTER: 'breakout.roster',\n\n // screen sharing\n FLOOR_GRANTED: 'locus.floor_granted',\n FLOOR_RELEASED: 'locus.floor_released',\n\n // Roap\n MESSAGE_ROAP: 'locus.message.roap',\n\n // Join events\n PARTICIPANT_JOIN: 'locus.participant_joined',\n PARTICIPANT_LEFT: 'locus.participant_left',\n PARTICIPANT_DECLINED: 'locus.participant_declined',\n PARTICIPANT_UPDATED: 'locus.participant_updated',\n PARTICIPANT_CONTROLS_UPDATED: 'locus.participant_controls_updated',\n PARTICIPANT_ROLES_UPDATED: 'locus.participant_roles_updated',\n PARTICIPANT_AUDIO_MUTED: 'locus.participant_audio_muted',\n PARTICIPANT_AUDIO_UNMUTED: 'locus.participant_audio_unmuted',\n PARTICIPANT_VIDEO_MUTED: 'locus.participant_video_muted',\n PARTICIPANT_VIDEO_UNMUTED: 'locus.participant_video_unmuted',\n\n RECORDING_STARTED: 'locus.recording_started',\n RECORDING_START_FAILED: 'locus.recording_start_failed',\n RECORDING_STOPPED: 'locus.recording_stopped',\n\n SELF_CHANGED: 'locus.self_changed',\n};\n\nexport const MEDIA_TRACK_CONSTRAINT = {\n CURSOR: {\n // The mouse cursor should always be captured in the generated stream.\n AWLAYS: 'always',\n // The cursor should only be visible while moving, then removed.\n MOTION: 'motion',\n // The cursor should never be visible in the generated stream.\n NEVER: 'never',\n },\n};\n\nexport const MEETING_ERRORS = {\n METRICS_NOT_SERVER_OR_CLIENT_EXCEPTION: 'METRICS_NOT_SERVER_OR_CLIENT_EXCEPTION',\n\n BIDIRECTIONAL_ROSTER_NOT_ALLOWED: 'BIDIRECTIONAL_ROSTER_NOT_ALLOWED',\n INVALID_LOCUS_URL: 'INVALID_LOCUS_URL',\n ARGUMENT_NULL_OR_EMPTY: 'ARGUMENT_NULL_OR_EMPTY',\n INVALID_USER: 'INVALID_USER',\n INVALID_PHONE_NUMBER_OR_COUNTRY_CODE: 'INVALID_PHONE_NUMBER_OR_COUNTRY_CODE',\n EMPTY_PHONE_NUMBER_OR_COUNTRY_CODE: 'EMPTY_PHONE_NUMBER_OR_COUNTRY_CODE',\n PHONE_NUMBER_INVALID_COUNTRY_CODE: 'PHONE_NUMBER_INVALID_COUNTRY_CODE',\n PHONE_NUMBER_NOT_A_NUMBER: 'PHONE_NUMBER_NOT_A_NUMBER',\n PHONE_NUMBER_TOO_SHORT_AFTER_IDD: 'PHONE_NUMBER_TOO_SHORT_AFTER_IDD',\n PHONE_NUMBER_TOO_SHORT_NSN: 'PHONE_NUMBER_TOO_SHORT_NSN',\n PHONE_NUMBER_TOO_LONG: 'PHONE_NUMBER_TOO_LONG',\n INVALID_DIALABLE_KEY: 'INVALID_DIALABLE_KEY',\n INVALID_MEETING_LINK: 'INVALID_MEETING_LINK',\n INVALID_SINCE_OR_SEQUENCE_HASH_IN_REQUEST: 'INVALID_SINCE_OR_SEQUENCE_HASH_IN_REQUEST',\n INVALID_LOCUS_ID: 'INVALID_LOCUS_ID',\n EMPTY_SCHEDULED_MEETING_START_TIME: 'EMPTY_SCHEDULED_MEETING_START_TIME',\n INVALID_SCHEDULED_MEETING_DURATION_MINUTES: 'INVALID_SCHEDULED_MEETING_DURATION_MINUTES',\n INVALID_SCHEDULED_MEETING_REMINDER_DURATION_MINUTES:\n 'INVALID_SCHEDULED_MEETING_REMINDER_DURATION_MINUTES',\n EMPTY_SCHEDULED_MEETING_ORGANIZER: 'EMPTY_SCHEDULED_MEETING_ORGANIZER',\n INVALID_MEETING_ID_FORMAT: 'INVALID_MEETING_ID_FORMAT',\n INVALID_SIP_URL_FORMAT: 'INVALID_SIP_URL_FORMAT',\n EMPTY_INVITEE_RECORD: 'EMPTY_INVITEE_RECORD',\n EMPTY_INVITEE_ADDRESS: 'EMPTY_INVITEE_ADDRESS',\n DESKPHONE_NOTHING_DIALABLE_FOUND: 'DESKPHONE_NOTHING_DIALABLE_FOUND',\n INVALID_INVITEE_ADDRESS: 'INVALID_INVITEE_ADDRESS',\n INVALID_ATTENDEE_ID: 'INVALID_ATTENDEE_ID',\n INVALID_IN_LOBBY: 'INVALID_IN_LOBBY',\n MISSING_REQUESTING_PARTICIPANT_ID: 'MISSING_REQUESTING_PARTICIPANT_ID',\n INVALID_REQUESTING_PARTICIPANT_ID: 'INVALID_REQUESTING_PARTICIPANT_ID',\n SUPPLEMENTARY_USER_INFO_NOT_FOUND: 'SUPPLEMENTARY_USER_INFO_NOT_FOUND',\n\n UNAUTHORIZED: 'UNAUTHORIZED',\n REMOVED_PARTICIPANT: 'REMOVED_PARTICIPANT',\n\n FREE_USER_MAX_PARTICIPANTS_EXCEEDED: 'FREE_USER_MAX_PARTICIPANTS_EXCEEDED',\n PAID_USER_MAX_PARTICIPANTS_EXCEEDED: 'PAID_USER_MAX_PARTICIPANTS_EXCEEDED',\n SERVICE_MAX_PARTICIPANTS_EXCEEDED: 'SERVICE_MAX_PARTICIPANTS_EXCEEDED',\n INACTIVE: 'INACTIVE',\n ONE_ON_ONE_TO_SELF_NOT_ALLOWED: 'ONE_ON_ONE_TO_SELF_NOT_ALLOWED',\n JOIN_RESTRICTED_USER: 'JOIN_RESTRICTED_USER',\n GET_RESTRICTED_USER: 'GET_RESTRICTED_USER',\n JOIN_RESTRICTED_USER_NOT_IN_ROOM: 'JOIN_RESTRICTED_USER_NOT_IN_ROOM',\n CREATE_MEDIA_RESTRICTED_USER: 'CREATE_MEDIA_RESTRICTED_USER',\n DUPLICATE_RESOURCE_CREATION_REQUEST: 'DUPLICATE_RESOURCE_CREATION_REQUEST',\n MEETING_NOT_FOUND: 'MEETING_NOT_FOUND',\n NOT_WEBEX_SITE: 'NOT_WEBEX_SITE',\n INVALID_SCHEDULED_MEETING_ORGANIZER: 'INVALID_SCHEDULED_MEETING_ORGANIZER',\n FREE_USER_MAX_PARTICIPANTS_JOINED_EXCEEDED: 'FREE_USER_MAX_PARTICIPANTS_JOINED_EXCEEDED',\n PAID_USER_MAX_PARTICIPANTS_JOINED_EXCEEDED: 'PAID_USER_MAX_PARTICIPANTS_JOINED_EXCEEDED',\n SERVICE_MAX_PARTICIPANTS_ROSTER_EXCEEDED: 'SERVICE_MAX_PARTICIPANTS_ROSTER_EXCEEDED',\n SERVICE_INITIAL_PARTICIPANTS_ROSTER_EXCEEDED: 'SERVICE_INITIAL_PARTICIPANTS_ROSTER_EXCEEDED',\n RESOURCE_GUEST_FORBIDDEN: 'RESOURCE_GUEST_FORBIDDEN',\n SERVICE_NO_MACHINE_OR_SERVICE_ACCOUNT: 'SERVICE_NO_MACHINE_OR_SERVICE_ACCOUNT',\n MODERATOR_ROLE_REMOVAL_NOT_ALLOWED: 'MODERATOR_ROLE_REMOVAL_NOT_ALLOWED',\n RECORDING_CONTROL_NOT_SUPPORTED: 'RECORDING_CONTROL_NOT_SUPPORTED',\n HOST_PIN_LOCKED: 'HOST_PIN_LOCKED',\n INVALID_HOST_PIN: 'INVALID_HOST_PIN',\n REQUESTING_PARTICIPANT_NOT_MODERATOR: 'REQUESTING_PARTICIPANT_NOT_MODERATOR',\n\n CONVERSATION_NOT_FOUND: 'CONVERSATION_NOT_FOUND',\n MEETING_LINK_NOT_FOUND: 'MEETING_LINK_NOT_FOUND',\n MEETING_INFO_NOT_FOUND: 'MEETING_INFO_NOT_FOUND',\n SCHEDULED_MEETING_NOT_FOUND: 'SCHEDULED_MEETING_NOT_FOUND',\n\n RECORDING_NOT_STARTED: 'RECORDING_NOT_STARTED',\n RECORDING_NOT_ENABLED: 'RECORDING_NOT_ENABLED',\n RECORDING_USER_STORAGE_FULL: 'RECORDING_USER_STORAGE_FULL',\n RECORDING_SITE_STORAGE_FULL: 'RECORDING_SITE_STORAGE_FULL',\n\n NO_SCHEDULED_MEETING: 'NO_SCHEDULED_MEETING',\n MEETING_FULL_UPDATE_NOT_ALLOWED: 'MEETING_FULL_UPDATE_NOT_ALLOWED',\n MODERATOR_ROLE_REMOVAL_NOT_VALID: 'MODERATOR_ROLE_REMOVAL_NOT_VALID',\n MODERATOR_ROLE_ADDITION_NOT_VALID: 'MODERATOR_ROLE_ADDITION_NOT_VALID',\n INVALID_CALL_START_TIME: 'INVALID_CALL_START_TIME',\n MEETING_STARTED_UPDATE_NOT_ALLOWED: 'MEETING_STARTED_UPDATE_NOT_ALLOWED',\n\n EXCEEDED_MAX_JOINED_PARTICIPANTS: 'EXCEEDED_MAX_JOINED_PARTICIPANTS',\n EXCEEDED_SERVICE_MAX_PARTICIPANTS: 'EXCEEDED_SERVICE_MAX_PARTICIPANTS',\n MEETING_IS_LOCKED: 'MEETING_IS_LOCKED',\n MEETING_IS_TERMINATING: 'MEETING_IS_TERMINATING',\n MEETING_REQUIRE_MODERATOR_PIN_INTENT: 'MEETING_REQUIRE_MODERATOR_PIN_INTENT',\n MEETING_REQUIRE_MODERATOR_PIN: 'MEETING_REQUIRE_MODERATOR_PIN',\n MEETING_REQUIRE_MODERATOR_ROLE: 'MEETING_REQUIRE_MODERATOR_ROLE',\n PMR_ACCOUNT_SUSPENDED: 'PMR_ACCOUNT_SUSPENDED',\n PMR_ACCOUNT_LOCKED: 'PMR_ACCOUNT_LOCKED',\n INVALID_JOIN_TIME: 'INVALID_JOIN_TIME',\n REQUIRES_WEBEX_LOGIN: 'REQUIRES_WEBEX_LOGIN',\n\n TOO_MANY_REQUESTS: 'TOO_MANY_REQUESTS',\n\n UNABLE_TO_LOOK_UP_DEVICE_INFORMATION: 'UNABLE_TO_LOOK_UP_DEVICE_INFORMATION',\n UNABLE_TO_LOOK_UP_CONVERSATION: 'UNABLE_TO_LOOK_UP_CONVERSATION',\n UNABLE_TO_LOOK_UP_CI_USER: 'UNABLE_TO_LOOK_UP_CI_USER',\n UNABLE_TO_CREATE_CONFLUENCE: 'UNABLE_TO_CREATE_CONFLUENCE',\n\n SERVICE_UNAVAILABLE: 'SERVICE_UNAVAILABLE',\n\n SOCKET_TIMEOUT: 'SOCKET_TIMEOUT',\n NO_HTTP_RESPONSE: 'NO_HTTP_RESPONSE',\n};\n\nexport const MEETING_END_REASON = {\n INACTIVE: 'INACTIVE',\n MEDIA_RELEASED: 'MEDIA_RELEASED',\n};\n\nexport const DISPLAY_HINTS = {\n ADD_GUEST: 'ADD_GUEST',\n ROSTER_WAITING_TO_JOIN: 'ROSTER_WAITING_TO_JOIN',\n RECORDING_CONTROL_START: 'RECORDING_CONTROL_START',\n RECORDING_CONTROL_PAUSE: 'RECORDING_CONTROL_PAUSE',\n RECORDING_CONTROL_STOP: 'RECORDING_CONTROL_STOP',\n RECORDING_CONTROL_RESUME: 'RECORDING_CONTROL_RESUME',\n LOCK_CONTROL_UNLOCK: 'LOCK_CONTROL_UNLOCK',\n LOCK_CONTROL_LOCK: 'LOCK_CONTROL_LOCK',\n LOCK_STATUS_LOCKED: 'LOCK_STATUS_LOCKED',\n LOCK_STATUS_UNLOCKED: 'LOCK_STATUS_UNLOCKED',\n RAISE_HAND: 'RAISE_HAND',\n LOWER_ALL_HANDS: 'LOWER_ALL_HANDS',\n LOWER_SOMEONE_ELSES_HAND: 'LOWER_SOMEONE_ELSES_HAND',\n LEAVE_TRANSFER_HOST_END_MEETING: 'LEAVE_TRANSFER_HOST_END_MEETING',\n LEAVE_END_MEETING: 'LEAVE_END_MEETING',\n CAPTION_START: 'CAPTION_START',\n CAPTION_STATUS_ACTIVE: 'CAPTION_STATUS_ACTIVE',\n DISPLAY_REAL_TIME_TRANSLATION: 'DISPLAY_REAL_TIME_TRANSLATION',\n ENABLE_CAPTION_PANEL: 'ENABLE_CAPTION_PANEL',\n DISPLAY_NON_ENGLISH_ASR: 'DISPLAY_NON_ENGLISH_ASR',\n TRANSCRIPTION_CONTROL_START: 'TRANSCRIPTION_CONTROL_START',\n TRANSCRIPTION_CONTROL_STOP: 'TRANSCRIPTION_CONTROL_STOP',\n WEBEX_ASSISTANT_STATUS_ACTIVE: 'WEBEX_ASSISTANT_STATUS_ACTIVE',\n WAITING_FOR_OTHERS: 'WAITING_FOR_OTHERS',\n ENABLE_REACTIONS: 'ENABLE_REACTIONS',\n DISABLE_REACTIONS: 'DISABLE_REACTIONS',\n REACTIONS_ACTIVE: 'REACTIONS_ACTIVE',\n REACTIONS_INACTIVE: 'REACTIONS_INACTIVE',\n ENABLE_MUTE_ON_ENTRY: 'ENABLE_MUTE_ON_ENTRY',\n DISABLE_MUTE_ON_ENTRY: 'DISABLE_MUTE_ON_ENTRY',\n ENABLE_HARD_MUTE: 'ENABLE_HARD_MUTE',\n DISABLE_HARD_MUTE: 'DISABLE_HARD_MUTE',\n MUTE_ALL: 'MUTE_ALL',\n UNMUTE_ALL: 'UNMUTE_ALL',\n\n // breakout session\n BREAKOUT_MANAGEMENT: 'BREAKOUT_MANAGEMENT',\n UCF_SUPPRESS_BREAKOUTS_SUPPORT: 'UCF_SUPPRESS_BREAKOUTS_SUPPORT',\n DISABLE_ASK_FOR_HELP: 'DISABLE_ASK_FOR_HELP',\n DISABLE_BREAKOUT_PREASSIGNMENTS: 'DISABLE_BREAKOUT_PREASSIGNMENTS',\n DISABLE_LOBBY_TO_BREAKOUT: 'DISABLE_LOBBY_TO_BREAKOUT',\n};\n\nexport const SELF_ROLES = {\n COHOST: 'COHOST',\n MODERATOR: 'MODERATOR',\n};\n\nexport const MEETING_STATE = {\n STATES: {\n IDLE: 'IDLE',\n INCOMING: 'INCOMING',\n DIALING: 'DIALING',\n NOTIFIED: 'NOTIFIED',\n DECLINED: 'DECLINED',\n ON_GOING: 'ON_GOING',\n JOINED: 'JOINED',\n TERMINATING: 'TERMINATING',\n LEFT: 'LEFT',\n ENDED: 'ENDED',\n ERROR: 'ERROR',\n },\n};\n\nexport const MEETING_STATE_MACHINE = {\n TRANSITIONS: {\n FAIL: 'fail',\n RING: 'ring',\n REMOTE: 'remote',\n JOIN: 'join',\n DECLINE: 'decline',\n LEAVE: 'leave',\n END: 'end',\n RESET: 'reset',\n },\n STATES: {\n ERROR: 'ERROR',\n IDLE: 'IDLE',\n ENDED: 'ENDED',\n DECLINED: 'DECLINED',\n RINGING: 'RINGING',\n JOINED: 'JOINED',\n ANSWERED: 'ANSWERED',\n },\n};\n\nexport const MEETING_AUDIO_STATE_MACHINE = {\n TRANSITIONS: {\n TOGGLE: 'toggle',\n INIT: 'init',\n },\n STATES: {\n MUTE_SELF: 'SELF_AUDIO_OFF',\n UNMUTE_SELF: 'SELF_AUDIO_ON',\n },\n};\n\nexport const MEETING_VIDEO_STATE_MACHINE = {\n TRANSITIONS: {\n TOGGLE: 'toggle',\n INIT: 'init',\n },\n STATES: {\n MUTE_SELF: 'SELF_VIDEO_OFF',\n UNMUTE_SELF: 'SELF_VIDEO_ON',\n },\n};\n\nexport const PEER_CONNECTION_STATE = {\n CLOSED: 'closed',\n FAILED: 'failed',\n};\n\nexport const RECONNECTION = {\n STATE: {\n IN_PROGRESS: 'IN_PROGRESS',\n COMPLETE: 'COMPLETE',\n FAILURE: 'FAILURE',\n DEFAULT_TRY_COUNT: 0,\n DEFAULT_STATUS: '',\n },\n};\n\nexport const RESOURCE = {\n CLUSTERS: 'clusters',\n REACHABILITY: 'reachability',\n LOCI: 'loci',\n};\n\nexport const REACHABILITY = {\n localStorageResult: 'reachability.result',\n localStorageJoinCookie: 'reachability.joinCookie',\n namespace: 'Reachability',\n};\n\nexport const ROAP = {\n ROAP_TYPES: {\n OFFER: 'OFFER',\n ANSWER: 'ANSWER',\n OK: 'OK',\n ERROR: 'ERROR',\n TURN_DISCOVERY_REQUEST: 'TURN_DISCOVERY_REQUEST',\n TURN_DISCOVERY_RESPONSE: 'TURN_DISCOVERY_RESPONSE',\n },\n ROAP_MERCURY: 'event:locus.message.roap',\n ROAP_VERSION: '2',\n};\n\nexport const MediaContent = {\n main: 'main',\n slides: 'slides',\n};\n\nexport const NETWORK_STATUS = {\n DISCONNECTED: 'DISCONNECTED',\n RECONNECTING: 'RECONNECTING',\n CONNECTED: 'CONNECTED',\n};\n\nexport const NETWORK_TYPE = {\n VPN: 'vpn',\n UNKNOWN: 'unknown',\n WIFI: 'wifi',\n ETHERNET: 'ethernet',\n};\n\nexport const STATS = {\n SEND_DIRECTION: 'send',\n RECEIVE_DIRECTION: 'recv',\n REMOTE: 'remote',\n LOCAL: 'local',\n};\n\nexport const MQA_STATS = {\n MQA_SIZE: 120, // MQA is done on 60 second intervals by server def, add a buffer for missed events\n CA_TYPE: 'MQA',\n DEFAULT_IP: '0.0.0.0',\n DEFAULT_SHARE_SENDER_STATS: {\n common: {\n common: {\n direction: 'sendrecv', // TODO: parse from SDP and save globally\n isMain: false, // always true for share sender\n mariFecEnabled: false, // unavailable\n mariQosEnabled: false, // unavailable\n multistreamEnabled: false, // unavailable\n },\n availableBitrate: 0,\n dtlsBitrate: 0, // unavailable\n dtlsPackets: 0, // unavailable\n fecBitrate: 0, // unavailable\n fecPackets: 0, // unavailable\n maxBitrate: 0, // unavailable\n queueDelay: 0, // unavailable\n remoteJitter: 0, // unavailable\n remoteLossRate: 0,\n remoteReceiveRate: 0, // unavailable\n roundTripTime: 0,\n rtcpBitrate: 0, // unavailable\n rtcpPackets: 0, // unavailable\n rtpBitrate: 0, // unavailable\n rtpPackets: 0,\n stunBitrate: 0, // unavailable\n stunPackets: 0, // unavailable\n transportType: 'UDP', // TODO: parse the transport type from the SDP and save globally\n },\n streams: [\n {\n common: {\n codec: 'H264', // TODO: parse the codec from the SDP and save globally\n duplicateSsci: 0, // unavailable\n requestedBitrate: 0, // unavailable\n requestedFrames: 0, // unavailable\n rtpPackets: 0,\n ssci: 0, // unavailable\n transmittedBitrate: 0,\n transmittedFrameRate: 0,\n },\n h264CodecProfile: 'BP', // TODO: parse the profile level from h264 in the SDP and save globally\n localConfigurationChanges: 0, // unavailable\n remoteConfigurationChanges: 0, // unavailable\n requestedFrameSize: 0, // unavailable\n requestedKeyFrames: 0, // unavailable\n transmittedFrameSize: 0, // unavailable\n transmittedHeight: 0,\n transmittedKeyFrames: 0,\n transmittedWidth: 0,\n },\n ],\n },\n intervalMetadata: {\n memoryUsage: {\n cpuBitWidth: 0,\n mainProcessMaximumMemoryBytes: 0,\n osBitWidth: 0,\n processAverageMemoryUsage: 0,\n processMaximumMemoryBytes: 0,\n processMaximumMemoryUsage: 0,\n systemAverageMemoryUsage: 0,\n systemMaximumMemoryUsage: 0,\n },\n peerReflexiveIP: 'NULL', // TODO: save after ice trickling completes and use as a global variable\n processAverageCPU: 0,\n processMaximumCPU: 0,\n systemAverageCPU: 0,\n systemMaximumCPU: 0,\n },\n};\n\n// ****** MEDIA QUALITY CONSTANTS ****** //\n\n// these values must match allowed values of RemoteQualityLevel from the @webex/internal-media-core lib\nexport const QUALITY_LEVELS = {\n LOW: 'LOW',\n MEDIUM: 'MEDIUM',\n HIGH: 'HIGH',\n '360p': '360p',\n '480p': '480p',\n '720p': '720p',\n '1080p': '1080p',\n};\n\nexport const AVAILABLE_RESOLUTIONS = {\n '360p': {\n video: {\n width: {\n max: 640,\n ideal: 640,\n },\n height: {\n max: 360,\n ideal: 360,\n },\n },\n },\n '480p': {\n video: {\n width: {\n max: 640,\n ideal: 640,\n },\n height: {\n max: 480,\n ideal: 480,\n },\n },\n },\n '720p': {\n video: {\n width: {\n max: 1280,\n ideal: 1280,\n },\n height: {\n max: 720,\n ideal: 720,\n },\n },\n },\n '1080p': {\n video: {\n width: {\n max: 1920,\n ideal: 1920,\n },\n height: {\n max: 1080,\n ideal: 1080,\n },\n },\n },\n};\n\nexport const VIDEO_RESOLUTIONS = {\n [QUALITY_LEVELS.LOW]: AVAILABLE_RESOLUTIONS['480p'],\n [QUALITY_LEVELS.MEDIUM]: AVAILABLE_RESOLUTIONS['720p'],\n [QUALITY_LEVELS.HIGH]: AVAILABLE_RESOLUTIONS['1080p'],\n [QUALITY_LEVELS['360p']]: AVAILABLE_RESOLUTIONS['360p'],\n [QUALITY_LEVELS['480p']]: AVAILABLE_RESOLUTIONS['480p'],\n [QUALITY_LEVELS['720p']]: AVAILABLE_RESOLUTIONS['720p'],\n [QUALITY_LEVELS['1080p']]: AVAILABLE_RESOLUTIONS['1080p'],\n};\n\n/*\n * mqa Interval for sending stats metrics\n */\n\nexport const MQA_INTEVAL = 60000; // mqa analyzer interval its fixed to 60000\n\nexport const MEDIA_DEVICES = {\n MICROPHONE: 'microphone',\n SPEAKER: 'speaker',\n CAMERA: 'camera',\n};\n\nexport const METRICS_JOIN_TIMES_MAX_DURATION = 1200000;\n\nexport const PSTN_STATUS = {\n JOINED: 'JOINED', // we have provisioned a pstn device, which can be used to connect\n CONNECTED: 'CONNECTED', // user is connected to audio with pstn device\n LEFT: 'LEFT', // user has disconnected from the pstn device\n TRANSFERRING: 'TRANSFERRING', // usually happens in dial-out after the CONNECTED state\n SUCCESS: 'SUCCESS', // happens after the transfer (TRANSFERRING) is successful\n UNKNOWN: '', // placeholder if we haven't been told what the status is\n};\n\nexport const PASSWORD_STATUS = {\n NOT_REQUIRED: 'NOT_REQUIRED', // password is not required to join the meeting\n REQUIRED: 'REQUIRED', // client needs to provide the password by calling verifyPassword() before calling join()\n UNKNOWN: 'UNKNOWN', // we are waiting for information from the backend if password is required or not\n VERIFIED: 'VERIFIED', // client has already provided the password and it has been verified, client can proceed to call join()\n};\n\nexport const MEETING_INFO_FAILURE_REASON = {\n NONE: 'NONE', // meeting info was retrieved succesfully\n WRONG_PASSWORD: 'WRONG_PASSWORD', // meeting requires password and no password or wrong one was provided\n WRONG_CAPTCHA: 'WRONG_CAPTCHA', // wbxappapi requires a captcha code or a wrong captcha code was provided\n OTHER: 'OTHER', // any other error (network, etc)\n};\n\nexport const BNR_STATUS = {\n SHOULD_ENABLE: 'SHOULD_ENABLE',\n ENABLED: 'ENABLED',\n SHOULD_DISABLE: 'SHOULD_DISABLE',\n NOT_ENABLED: 'NOT_ENABLED',\n};\n\nexport const EMBEDDED_APP_TYPES = {\n SLIDO: 'SLIDO',\n OTHER: 'OTHER',\n};\n"],"mappings":"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"}
@@ -246,6 +246,31 @@ var ReconnectionManager = /*#__PURE__*/function () {
246
246
  this.meeting = null;
247
247
  }
248
248
 
249
+ /**
250
+ * Stop the local share track.
251
+ *
252
+ * @param {string} reason a {@link SHARE_STOPPED_REASON}
253
+ * @returns {undefined}
254
+ * @private
255
+ * @memberof ReconnectionManager
256
+ */
257
+ }, {
258
+ key: "stopLocalShareTrack",
259
+ value: function stopLocalShareTrack(reason) {
260
+ this.meeting.setLocalShareTrack(null);
261
+ this.meeting.isSharing = false;
262
+ if (this.shareStatus === _constants.SHARE_STATUS.LOCAL_SHARE_ACTIVE) {
263
+ this.meeting.shareStatus = _constants.SHARE_STATUS.NO_SHARE;
264
+ }
265
+ this.meeting.mediaProperties.mediaDirection.sendShare = false;
266
+ _triggerProxy.default.trigger(this.meeting, {
267
+ file: 'reconnection-manager/index',
268
+ function: 'stopLocalShareTrack'
269
+ }, _constants.EVENT_TRIGGERS.MEETING_STOPPED_SHARING_LOCAL, {
270
+ reason: reason
271
+ });
272
+ }
273
+
249
274
  /**
250
275
  * @public
251
276
  * @memberof ReconnectionManager
@@ -402,81 +427,84 @@ var ReconnectionManager = /*#__PURE__*/function () {
402
427
  _ref3$networkDisconne = _ref3.networkDisconnect, networkDisconnect = _ref3$networkDisconne === void 0 ? false : _ref3$networkDisconne;
403
428
  this.status = _constants.RECONNECTION.STATE.IN_PROGRESS;
404
429
  _loggerProxy.default.logger.info('ReconnectionManager:index#executeReconnection --> Attempting to reconnect to meeting.');
430
+ wasSharing = this.meeting.shareStatus === _constants.SHARE_STATUS.LOCAL_SHARE_ACTIVE;
431
+ if (wasSharing) {
432
+ this.stopLocalShareTrack(_constants.SHARE_STOPPED_REASON.MEDIA_RECONNECTION);
433
+ }
405
434
  if (!networkDisconnect) {
406
- _context2.next = 15;
435
+ _context2.next = 17;
407
436
  break;
408
437
  }
409
- _context2.prev = 4;
410
- _context2.next = 7;
438
+ _context2.prev = 6;
439
+ _context2.next = 9;
411
440
  return this.reconnectMercuryWebSocket();
412
- case 7:
441
+ case 9:
413
442
  _loggerProxy.default.logger.error('ReconnectionManager:index#executeReconnection --> Websocket reconnected.', this.webex.internal.device.url);
414
- _context2.next = 15;
443
+ _context2.next = 17;
415
444
  break;
416
- case 10:
417
- _context2.prev = 10;
418
- _context2.t0 = _context2["catch"](4);
445
+ case 12:
446
+ _context2.prev = 12;
447
+ _context2.t0 = _context2["catch"](6);
419
448
  _loggerProxy.default.logger.error('ReconnectionManager:index#executeReconnection --> Unable to reconnect to websocket, giving up.');
420
449
  this.status = _constants.RECONNECTION.STATE.FAILURE;
421
450
  throw _context2.t0;
422
- case 15:
423
- wasSharing = this.meeting.shareStatus === _constants.SHARE_STATUS.LOCAL_SHARE_ACTIVE;
424
- _context2.prev = 16;
451
+ case 17:
452
+ _context2.prev = 17;
425
453
  _loggerProxy.default.logger.info('ReconnectionManager:index#executeReconnection --> Updating meeting data from server.');
426
- _context2.next = 20;
454
+ _context2.next = 21;
427
455
  return this.webex.meetings.syncMeetings();
428
- case 20:
429
- _context2.next = 26;
456
+ case 21:
457
+ _context2.next = 27;
430
458
  break;
431
- case 22:
432
- _context2.prev = 22;
433
- _context2.t1 = _context2["catch"](16);
459
+ case 23:
460
+ _context2.prev = 23;
461
+ _context2.t1 = _context2["catch"](17);
434
462
  _loggerProxy.default.logger.info('ReconnectionManager:index#executeReconnection --> Unable to sync meetings, reconnecting.', _context2.t1);
435
463
  throw new NeedsRetryError(_context2.t1);
436
- case 26:
464
+ case 27:
437
465
  if (!(!this.meeting || !this.webex.meetings.getMeetingByType(_constants._ID_, this.meeting.id))) {
438
- _context2.next = 29;
466
+ _context2.next = 30;
439
467
  break;
440
468
  }
441
469
  _loggerProxy.default.logger.info('ReconnectionManager:index#executeReconnection --> Meeting got deleted due to inactivity or ended remotely ');
442
470
  throw new Error('Unable to rejoin a meeting already ended or inactive .');
443
- case 29:
471
+ case 30:
444
472
  _loggerProxy.default.logger.info("ReconnectionManager:index#executeReconnection --> Current state of meeting is ".concat(this.meeting.state));
445
473
 
446
474
  // If the meeting state was left, no longer reconnect media
447
475
  if (!(this.meeting.state === _constants._LEFT_)) {
448
- _context2.next = 34;
476
+ _context2.next = 35;
449
477
  break;
450
478
  }
451
479
  if (!(this.meeting.type === _constants._CALL_)) {
452
- _context2.next = 33;
480
+ _context2.next = 34;
453
481
  break;
454
482
  }
455
483
  throw new Error('Unable to rejoin a call in LEFT state.');
456
- case 33:
484
+ case 34:
457
485
  throw new NeedsRejoinError({
458
486
  wasSharing: wasSharing
459
487
  });
460
- case 34:
461
- _context2.prev = 34;
462
- _context2.next = 37;
488
+ case 35:
489
+ _context2.prev = 35;
490
+ _context2.next = 38;
463
491
  return this.reconnectMedia();
464
- case 37:
492
+ case 38:
465
493
  media = _context2.sent;
466
494
  _loggerProxy.default.logger.log('ReconnectionManager:index#executeReconnection --> Media reestablished');
467
495
  this.status = _constants.RECONNECTION.STATE.COMPLETE;
468
496
  return _context2.abrupt("return", media);
469
- case 43:
470
- _context2.prev = 43;
471
- _context2.t2 = _context2["catch"](34);
497
+ case 44:
498
+ _context2.prev = 44;
499
+ _context2.t2 = _context2["catch"](35);
472
500
  _loggerProxy.default.logger.error('ReconnectionManager:index#executeReconnection --> Media reestablishment failed');
473
501
  this.status = _constants.RECONNECTION.STATE.FAILURE;
474
502
  throw _context2.t2;
475
- case 48:
503
+ case 49:
476
504
  case "end":
477
505
  return _context2.stop();
478
506
  }
479
- }, _callee2, this, [[4, 10], [16, 22], [34, 43]]);
507
+ }, _callee2, this, [[6, 12], [17, 23], [35, 44]]);
480
508
  }));
481
509
  function executeReconnection(_x) {
482
510
  return _executeReconnection.apply(this, arguments);
@@ -509,19 +537,7 @@ var ReconnectionManager = /*#__PURE__*/function () {
509
537
  case 5:
510
538
  _loggerProxy.default.logger.info('ReconnectionManager:index#rejoinMeeting --> meeting rejoined');
511
539
  if (wasSharing) {
512
- // Stop the share streams if user tried to rejoin
513
- this.meeting.setLocalShareTrack(null);
514
- this.meeting.isSharing = false;
515
- if (this.shareStatus === _constants.SHARE_STATUS.LOCAL_SHARE_ACTIVE) {
516
- this.meeting.shareStatus = _constants.SHARE_STATUS.NO_SHARE;
517
- }
518
- this.meeting.mediaProperties.mediaDirection.sendShare = false;
519
- _triggerProxy.default.trigger(this.meeting, {
520
- file: 'reconnection-manager/index',
521
- function: 'rejoinMeeting'
522
- }, _constants.EVENT_TRIGGERS.MEETING_STOPPED_SHARING_LOCAL, {
523
- reason: _constants.SHARE_STOPPED_REASON.MEETING_REJOIN
524
- });
540
+ this.stopLocalShareTrack(_constants.SHARE_STOPPED_REASON.MEETING_REJOIN);
525
541
  }
526
542
  _context3.next = 21;
527
543
  break;
@@ -1 +1 @@
1
- {"version":3,"names":["NeedsRetryError","Error","NeedsRejoinError","wasSharing","error","ReconnectionManager","meeting","iceState","disconnected","resolve","timer","undefined","timeoutDuration","config","reconnection","iceReconnectionTimeout","status","RECONNECTION","STATE","DEFAULT_STATUS","tryCount","DEFAULT_TRY_COUNT","webex","maxRejoinAttempts","rejoinAttempts","autoRejoinEnabled","autoRejoin","reset","clearTimeout","LoggerProxy","logger","log","resetReconnectionTimer","reject","setTimeout","IN_PROGRESS","enabled","COMPLETE","info","ReconnectInProgress","ReconnectionError","networkDisconnect","networkRetry","id","validate","Metrics","postEvent","event","eventType","MEDIA_RECONNECTING","executeReconnection","then","MEDIA_RECOVERED","data","recoveredBy","RECOVERED_BY_NEW","catch","reconnectError","reconnect","message","reconnectMetric","CALL_ABORTED","errors","category","errorObjects","expected","errorCode","fatal","name","mediaEngine","shownToUser","rejoinMeeting","reconnectMercuryWebSocket","internal","device","url","FAILURE","shareStatus","SHARE_STATUS","LOCAL_SHARE_ACTIVE","meetings","syncMeetings","getMeetingByType","_ID_","state","_LEFT_","type","_CALL_","reconnectMedia","media","join","rejoin","setLocalShareTrack","isSharing","NO_SHARE","mediaProperties","mediaDirection","sendShare","Trigger","trigger","file","function","EVENT_TRIGGERS","MEETING_STOPPED_SHARING_LOCAL","reason","SHARE_STOPPED_REASON","MEETING_REJOIN","sendBehavioralMetric","BEHAVIORAL_METRICS","MEETING_MAX_REJOIN_FAILURE","locus_id","locusUrl","split","pop","stack","roap","doTurnDiscovery","turnServerResult","iceServers","turnServerInfo","push","urls","username","credential","password","webrtcMediaConnection","isMultistream","mediaRequestManagers","forEach","mediaRequestManager","commit","mercury","connected","disconnect","connect"],"sources":["index.ts"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\n/* eslint-disable no-warning-comments */\n\nimport LoggerProxy from '../common/logs/logger-proxy';\nimport Trigger from '../common/events/trigger-proxy';\nimport {\n EVENT_TRIGGERS,\n RECONNECTION,\n SHARE_STATUS,\n SHARE_STOPPED_REASON,\n _CALL_,\n _LEFT_,\n _ID_,\n} from '../constants';\nimport BEHAVIORAL_METRICS from '../metrics/constants';\nimport ReconnectionError from '../common/errors/reconnection';\nimport ReconnectInProgress from '../common/errors/reconnection-in-progress';\nimport {eventType, reconnection, errorObjects} from '../metrics/config';\nimport Media from '../media';\nimport Metrics from '../metrics';\nimport Meeting from '../meeting';\n\n/**\n * Used to indicate that the reconnect logic needs to be retried.\n *\n * @class NeedsRetryError\n * @extends {Error}\n */\nclass NeedsRetryError extends Error {}\n\n/**\n * Used to indicate that the meeting needs to be rejoined, not just media reconnected\n *\n * @class NeedsRejoinError\n * @extends {Error}\n */\nclass NeedsRejoinError extends Error {\n wasSharing: any;\n\n /**\n * Creates an instance of NeedsRejoinError.\n * @param {Object} params\n * @param {boolean} params.wasSharing\n * @param {Error} params.error\n * @memberof NeedsRejoinError\n */\n constructor({\n wasSharing,\n error = new Error('Meeting needs to be rejoined'),\n }: {\n wasSharing?: boolean;\n error?: Error;\n }) {\n // @ts-ignore\n super(error);\n\n this.wasSharing = wasSharing;\n }\n}\n\n/**\n * @export\n * @class ReconnectionManager\n */\nexport default class ReconnectionManager {\n autoRejoinEnabled: any;\n iceState: any;\n maxRejoinAttempts: any;\n meeting: any;\n rejoinAttempts: any;\n shareStatus: any;\n status: any;\n tryCount: any;\n webex: any;\n /**\n * @param {Meeting} meeting\n */\n constructor(meeting: Meeting) {\n /**\n * Stores ICE reconnection state data.\n *\n * @instance\n * @type {Object}\n * @private\n * @memberof ReconnectionManager\n */\n this.iceState = {\n disconnected: false,\n resolve: () => {},\n timer: undefined,\n // @ts-ignore\n timeoutDuration: meeting.config.reconnection.iceReconnectionTimeout,\n };\n\n /**\n * @instance\n * @type {String}\n * @private\n * @memberof ReconnectionManager\n */\n this.status = RECONNECTION.STATE.DEFAULT_STATUS;\n /**\n * @instance\n * @type {Number}\n * @private\n * @memberof ReconnectionManager\n */\n this.tryCount = RECONNECTION.STATE.DEFAULT_TRY_COUNT;\n /**\n * @instance\n * @type {Object}\n * @private\n * @memberof ReconnectionManager\n */\n // TODO : change this logic to not save the meeting instance\n // It gets complicated when meeting ends on remote side , We have a old meeting instance which is not up to date\n // @ts-ignore\n this.webex = meeting.webex;\n /**\n * @instance\n * @type {Meeting}\n * @private\n * @memberof ReconnectionManager\n */\n // TODO: try removing the circular dependency for meeting and reconnection manager\n // try moving this to meetings collection\n this.meeting = meeting;\n\n // @ts-ignore\n this.maxRejoinAttempts = meeting.config.reconnection.maxRejoinAttempts;\n this.rejoinAttempts = RECONNECTION.STATE.DEFAULT_TRY_COUNT;\n // @ts-ignore\n this.autoRejoinEnabled = meeting.config.reconnection.autoRejoin;\n\n // Make sure reconnection state is in default\n this.reset();\n }\n\n /**\n * @public\n * @memberof ReconnectionManager\n * @returns {void}\n */\n resetReconnectionTimer() {\n this.iceState.resolve();\n this.iceState.resolve = () => {};\n\n if (this.iceState.timer) {\n clearTimeout(this.iceState.timer);\n delete this.iceState.timer;\n }\n }\n\n /**\n * Sets the iceState to connected and clears any disconnect timeouts and\n * related timeout data within the iceState.\n *\n * @returns {undefined}\n * @public\n * @memberof ReconnectionManager\n */\n public iceReconnected() {\n if (this.iceState.disconnected) {\n LoggerProxy.logger.log('ReconnectionManager:index#iceReconnected --> ice has reconnected');\n\n this.resetReconnectionTimer();\n\n this.iceState.disconnected = false;\n }\n }\n\n /**\n * Set the iceState to disconnected and generates a timeout that waits for the\n * iceState to reconnect and then resolves. If the ice state is already\n * processing a reconnect, it immediately resolves. Rejects if the timeout\n * duration is reached.\n *\n * @returns {Promise<undefined>}\n * @public\n * @memberof ReconnectionManager\n */\n public waitForIceReconnect() {\n if (!this.iceState.disconnected) {\n LoggerProxy.logger.log(\n 'ReconnectionManager:index#waitForIceReconnect --> waiting for ice reconnect'\n );\n\n this.iceState.disconnected = true;\n\n return new Promise<void>((resolve, reject) => {\n this.iceState.timer = setTimeout(() => {\n if (this.iceState.disconnected === false) {\n resolve();\n } else {\n this.iceState.disconnected = false;\n reject(\n new Error(`ice reconnection did not occur in ${this.iceState.timeoutDuration}ms`)\n );\n }\n }, this.iceState.timeoutDuration);\n\n this.iceState.resolve = resolve;\n });\n }\n\n // return a resolved promise to prevent multiple catch executions of reconnect\n return Promise.resolve();\n }\n\n /**\n * @returns {undefined}\n * @public\n * @memberof ReconnectionManager\n */\n public reset() {\n this.status = RECONNECTION.STATE.DEFAULT_STATUS;\n this.tryCount = RECONNECTION.STATE.DEFAULT_TRY_COUNT;\n this.rejoinAttempts = RECONNECTION.STATE.DEFAULT_TRY_COUNT;\n }\n\n /**\n * @returns {undefined}\n * @public\n * @memberof ReconnectionManager\n */\n public cleanUp() {\n this.reset();\n this.meeting = null;\n }\n\n /**\n * @public\n * @memberof ReconnectionManager\n * @returns {Boolean} true if reconnection operation is in progress\n */\n isReconnectInProgress() {\n return this.status === RECONNECTION.STATE.IN_PROGRESS;\n }\n\n /**\n * @returns {Boolean}\n * @throws {ReconnectionError}\n * @private\n * @memberof ReconnectionManager\n */\n private validate() {\n if (this.meeting.config.reconnection.enabled) {\n if (\n this.status === RECONNECTION.STATE.DEFAULT_STATUS ||\n this.status === RECONNECTION.STATE.COMPLETE\n ) {\n return true;\n }\n\n LoggerProxy.logger.info(\n 'ReconnectionManager:index#validate --> Reconnection already in progress.'\n );\n\n throw new ReconnectInProgress('Reconnection already in progress.');\n }\n\n LoggerProxy.logger.info('ReconnectionManager:index#validate --> Reconnection is not enabled.');\n\n throw new ReconnectionError('Reconnection is not enabled.');\n }\n\n /**\n * Initiates a media reconnect for the active meeting\n * @param {Object} reconnectOptions\n * @param {boolean} [reconnectOptions.networkDisconnect=false] indicates if a network disconnect event happened\n * @param {boolean} [reconnectOptions.networkRetry=false] indicates if we are retrying the reconnect\n * @returns {Promise}\n * @public\n * @memberof ReconnectionManager\n */\n public async reconnect({\n networkDisconnect = false,\n networkRetry = false,\n }: {\n networkDisconnect?: boolean;\n networkRetry?: boolean;\n } = {}) {\n LoggerProxy.logger.info(\n `ReconnectionManager:index#reconnect --> Reconnection start for meeting ${this.meeting.id}.`\n );\n // First, validate that we can reconnect, if not, it will throw an error\n try {\n this.validate();\n } catch (error) {\n LoggerProxy.logger.info(\n 'ReconnectionManager:index#reconnect --> Reconnection unable to begin.',\n error\n );\n throw error;\n }\n\n if (!networkRetry) {\n // Only log START metrics on the initial reconnect\n LoggerProxy.logger.info(\n 'ReconnectionManager:index#reconnect --> Sending reconnect start metric.'\n );\n Metrics.postEvent({\n event: eventType.MEDIA_RECONNECTING,\n meeting: this.meeting,\n });\n }\n\n return this.executeReconnection({networkDisconnect})\n .then(() => {\n LoggerProxy.logger.info('ReconnectionManager:index#reconnect --> Reconnection successful.');\n LoggerProxy.logger.info(\n 'ReconnectionManager:index#reconnect --> Sending reconnect success metric.'\n );\n Metrics.postEvent({\n event: eventType.MEDIA_RECOVERED,\n meeting: this.meeting,\n data: {recoveredBy: reconnection.RECOVERED_BY_NEW},\n });\n })\n .catch((reconnectError) => {\n if (reconnectError instanceof NeedsRetryError) {\n LoggerProxy.logger.info(\n 'ReconnectionManager:index#reconnect --> Reconnection not successful, retrying.'\n );\n // Reset our reconnect status since we are looping back to the beginning\n this.status = RECONNECTION.STATE.DEFAULT_STATUS;\n\n // This is a network retry, so we should not log START metrics again\n return this.reconnect({networkDisconnect: true, networkRetry: true});\n }\n\n // Reconnect has failed\n LoggerProxy.logger.error(\n 'ReconnectionManager:index#reconnect --> Reconnection failed.',\n reconnectError.message\n );\n LoggerProxy.logger.info(\n 'ReconnectionManager:index#reconnect --> Sending reconnect abort metric.'\n );\n\n const reconnectMetric = {\n event: eventType.CALL_ABORTED,\n meeting: this.meeting,\n data: {\n errors: [\n {\n category: errorObjects.category.expected,\n errorCode: 2008,\n fatal: true,\n name: errorObjects.name.mediaEngine,\n shownToUser: false,\n },\n ],\n },\n };\n\n Metrics.postEvent(reconnectMetric);\n if (reconnectError instanceof NeedsRejoinError) {\n // send call aborded event with catogery as expected as we are trying to rejoin\n\n if (this.autoRejoinEnabled) {\n return this.rejoinMeeting(reconnectError.wasSharing);\n }\n }\n\n throw reconnectError;\n });\n }\n\n /**\n * @param {Object} reconnectOptions\n * @param {boolean} [reconnectOptions.networkDisconnect=false] indicates if a network disconnect event happened\n * @returns {Promise}\n * @throws {NeedsRetryError}\n * @private\n * @memberof ReconnectionManager\n */\n private async executeReconnection({networkDisconnect = false}: {networkDisconnect?: boolean}) {\n this.status = RECONNECTION.STATE.IN_PROGRESS;\n\n LoggerProxy.logger.info(\n 'ReconnectionManager:index#executeReconnection --> Attempting to reconnect to meeting.'\n );\n\n if (networkDisconnect) {\n try {\n await this.reconnectMercuryWebSocket();\n LoggerProxy.logger.error(\n 'ReconnectionManager:index#executeReconnection --> Websocket reconnected.',\n this.webex.internal.device.url\n );\n } catch (error) {\n LoggerProxy.logger.error(\n 'ReconnectionManager:index#executeReconnection --> Unable to reconnect to websocket, giving up.'\n );\n this.status = RECONNECTION.STATE.FAILURE;\n throw error;\n }\n }\n\n const wasSharing = this.meeting.shareStatus === SHARE_STATUS.LOCAL_SHARE_ACTIVE;\n\n try {\n LoggerProxy.logger.info(\n 'ReconnectionManager:index#executeReconnection --> Updating meeting data from server.'\n );\n await this.webex.meetings.syncMeetings();\n } catch (syncError) {\n LoggerProxy.logger.info(\n 'ReconnectionManager:index#executeReconnection --> Unable to sync meetings, reconnecting.',\n syncError\n );\n throw new NeedsRetryError(syncError);\n }\n\n // TODO: try to improve this logic as the reconnection manager saves the instance of deleted meeting object\n // So that on rejoin it known what parametrs it was using\n if (!this.meeting || !this.webex.meetings.getMeetingByType(_ID_, this.meeting.id)) {\n LoggerProxy.logger.info(\n 'ReconnectionManager:index#executeReconnection --> Meeting got deleted due to inactivity or ended remotely '\n );\n\n throw new Error('Unable to rejoin a meeting already ended or inactive .');\n }\n\n LoggerProxy.logger.info(\n `ReconnectionManager:index#executeReconnection --> Current state of meeting is ${this.meeting.state}`\n );\n\n // If the meeting state was left, no longer reconnect media\n if (this.meeting.state === _LEFT_) {\n if (this.meeting.type === _CALL_) {\n throw new Error('Unable to rejoin a call in LEFT state.');\n }\n\n throw new NeedsRejoinError({wasSharing});\n }\n\n try {\n const media = await this.reconnectMedia();\n\n LoggerProxy.logger.log(\n 'ReconnectionManager:index#executeReconnection --> Media reestablished'\n );\n this.status = RECONNECTION.STATE.COMPLETE;\n\n return media;\n } catch (error) {\n LoggerProxy.logger.error(\n 'ReconnectionManager:index#executeReconnection --> Media reestablishment failed'\n );\n this.status = RECONNECTION.STATE.FAILURE;\n\n throw error;\n }\n }\n\n /**\n * Rejoins a meeting after detecting the member was in a LEFT state\n *\n * @async\n * @param {boolean} wasSharing\n * @returns {Promise}\n */\n async rejoinMeeting(wasSharing = false) {\n try {\n LoggerProxy.logger.info(\n 'ReconnectionManager:index#rejoinMeeting --> attemping meeting rejoin'\n );\n\n await this.meeting.join({rejoin: true});\n LoggerProxy.logger.info('ReconnectionManager:index#rejoinMeeting --> meeting rejoined');\n\n if (wasSharing) {\n // Stop the share streams if user tried to rejoin\n this.meeting.setLocalShareTrack(null);\n this.meeting.isSharing = false;\n if (this.shareStatus === SHARE_STATUS.LOCAL_SHARE_ACTIVE) {\n this.meeting.shareStatus = SHARE_STATUS.NO_SHARE;\n }\n this.meeting.mediaProperties.mediaDirection.sendShare = false;\n Trigger.trigger(\n this.meeting,\n {\n file: 'reconnection-manager/index',\n function: 'rejoinMeeting',\n },\n EVENT_TRIGGERS.MEETING_STOPPED_SHARING_LOCAL,\n {\n reason: SHARE_STOPPED_REASON.MEETING_REJOIN,\n }\n );\n }\n } catch (joinError) {\n this.rejoinAttempts += 1;\n if (this.rejoinAttempts <= this.maxRejoinAttempts) {\n LoggerProxy.logger.info(\n `ReconnectionManager:index#rejoinMeeting --> Unable to rejoin meeting, attempt #${this.rejoinAttempts}, retrying.`,\n joinError\n );\n this.rejoinMeeting();\n } else {\n LoggerProxy.logger.error(\n 'ReconnectionManager:index#rejoinMeeting --> Unable to rejoin meeting after max attempts.',\n joinError\n );\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.MEETING_MAX_REJOIN_FAILURE, {\n locus_id: this.meeting.locusUrl.split('/').pop(),\n reason: joinError.message,\n stack: joinError.stack,\n });\n this.status = RECONNECTION.STATE.FAILURE;\n throw joinError;\n }\n }\n\n try {\n await this.reconnectMedia();\n } catch (mediaError) {\n LoggerProxy.logger.error(\n 'ReconnectionManager:index#rejoinMeeting --> Unable to reestablish media after rejoining.',\n mediaError\n );\n throw mediaError;\n }\n }\n\n /**\n * @returns {Promise}\n * @private\n * @memberof ReconnectionManager\n */\n async reconnectMedia() {\n LoggerProxy.logger.log(\n 'ReconnectionManager:index#reconnectMedia --> Begin reestablishment of media'\n );\n\n // do the TURN server discovery again since the TURN server might change\n const turnServerResult = await this.meeting.roap.doTurnDiscovery(this.meeting, true);\n\n const iceServers = [];\n\n if (turnServerResult.turnServerInfo) {\n iceServers.push({\n urls: turnServerResult.turnServerInfo.url,\n username: turnServerResult.turnServerInfo.username || '',\n credential: turnServerResult.turnServerInfo.password || '',\n });\n }\n\n await this.meeting.mediaProperties.webrtcMediaConnection.reconnect(iceServers);\n\n // resend media requests\n if (this.meeting.isMultistream) {\n Object.values(this.meeting.mediaRequestManagers).forEach((mediaRequestManager) =>\n // @ts-ignore - Fix type\n mediaRequestManager.commit()\n );\n }\n }\n\n /**\n * Attempt to Reconnect Mercury Websocket\n * @returns {Promise}\n * @private\n * @memberof ReconnectionManager\n */\n private async reconnectMercuryWebSocket() {\n LoggerProxy.logger.info(\n 'ReconnectionManager:index#reconnectMercuryWebSocket --> Reconnecting websocket.'\n );\n // First, attempt to disconnect if we think we are already connected.\n if (this.webex.internal.mercury.connected) {\n LoggerProxy.logger.info(\n 'ReconnectionManager:index#reconnectMercuryWebSocket --> Disconnecting existing websocket.'\n );\n try {\n await this.webex.internal.mercury.disconnect();\n LoggerProxy.logger.info(\n 'ReconnectionManager:index#reconnectMercuryWebSocket --> Websocket disconnected successfully.'\n );\n } catch (disconnectError) {\n // If we can't disconnect, the sdk is in such a bad state that reconnecting is not going to happen.\n LoggerProxy.logger.error(\n 'ReconnectionManager:index#reconnectMercuryWebSocket --> Unable to disconnect from websocket, giving up.',\n disconnectError\n );\n throw disconnectError;\n }\n }\n\n try {\n LoggerProxy.logger.info(\n 'ReconnectionManager:index#reconnectMercuryWebSocket --> Connecting websocket.'\n );\n await this.webex.internal.mercury.connect();\n LoggerProxy.logger.info(\n 'ReconnectionManager:index#reconnectMercuryWebSocket --> Websocket connected successfully.'\n );\n } catch (connectError) {\n LoggerProxy.logger.error(\n 'ReconnectionManager:index#reconnectMercuryWebSocket --> Unable to connect to websocket, giving up.',\n connectError\n );\n\n throw connectError;\n }\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["NeedsRetryError","Error","NeedsRejoinError","wasSharing","error","ReconnectionManager","meeting","iceState","disconnected","resolve","timer","undefined","timeoutDuration","config","reconnection","iceReconnectionTimeout","status","RECONNECTION","STATE","DEFAULT_STATUS","tryCount","DEFAULT_TRY_COUNT","webex","maxRejoinAttempts","rejoinAttempts","autoRejoinEnabled","autoRejoin","reset","clearTimeout","LoggerProxy","logger","log","resetReconnectionTimer","reject","setTimeout","reason","setLocalShareTrack","isSharing","shareStatus","SHARE_STATUS","LOCAL_SHARE_ACTIVE","NO_SHARE","mediaProperties","mediaDirection","sendShare","Trigger","trigger","file","function","EVENT_TRIGGERS","MEETING_STOPPED_SHARING_LOCAL","IN_PROGRESS","enabled","COMPLETE","info","ReconnectInProgress","ReconnectionError","networkDisconnect","networkRetry","id","validate","Metrics","postEvent","event","eventType","MEDIA_RECONNECTING","executeReconnection","then","MEDIA_RECOVERED","data","recoveredBy","RECOVERED_BY_NEW","catch","reconnectError","reconnect","message","reconnectMetric","CALL_ABORTED","errors","category","errorObjects","expected","errorCode","fatal","name","mediaEngine","shownToUser","rejoinMeeting","stopLocalShareTrack","SHARE_STOPPED_REASON","MEDIA_RECONNECTION","reconnectMercuryWebSocket","internal","device","url","FAILURE","meetings","syncMeetings","getMeetingByType","_ID_","state","_LEFT_","type","_CALL_","reconnectMedia","media","join","rejoin","MEETING_REJOIN","sendBehavioralMetric","BEHAVIORAL_METRICS","MEETING_MAX_REJOIN_FAILURE","locus_id","locusUrl","split","pop","stack","roap","doTurnDiscovery","turnServerResult","iceServers","turnServerInfo","push","urls","username","credential","password","webrtcMediaConnection","isMultistream","mediaRequestManagers","forEach","mediaRequestManager","commit","mercury","connected","disconnect","connect"],"sources":["index.ts"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\n/* eslint-disable no-warning-comments */\n\nimport LoggerProxy from '../common/logs/logger-proxy';\nimport Trigger from '../common/events/trigger-proxy';\nimport {\n EVENT_TRIGGERS,\n RECONNECTION,\n SHARE_STATUS,\n SHARE_STOPPED_REASON,\n _CALL_,\n _LEFT_,\n _ID_,\n} from '../constants';\nimport BEHAVIORAL_METRICS from '../metrics/constants';\nimport ReconnectionError from '../common/errors/reconnection';\nimport ReconnectInProgress from '../common/errors/reconnection-in-progress';\nimport {eventType, reconnection, errorObjects} from '../metrics/config';\nimport Media from '../media';\nimport Metrics from '../metrics';\nimport Meeting from '../meeting';\n\n/**\n * Used to indicate that the reconnect logic needs to be retried.\n *\n * @class NeedsRetryError\n * @extends {Error}\n */\nclass NeedsRetryError extends Error {}\n\n/**\n * Used to indicate that the meeting needs to be rejoined, not just media reconnected\n *\n * @class NeedsRejoinError\n * @extends {Error}\n */\nclass NeedsRejoinError extends Error {\n wasSharing: any;\n\n /**\n * Creates an instance of NeedsRejoinError.\n * @param {Object} params\n * @param {boolean} params.wasSharing\n * @param {Error} params.error\n * @memberof NeedsRejoinError\n */\n constructor({\n wasSharing,\n error = new Error('Meeting needs to be rejoined'),\n }: {\n wasSharing?: boolean;\n error?: Error;\n }) {\n // @ts-ignore\n super(error);\n\n this.wasSharing = wasSharing;\n }\n}\n\n/**\n * @export\n * @class ReconnectionManager\n */\nexport default class ReconnectionManager {\n autoRejoinEnabled: any;\n iceState: any;\n maxRejoinAttempts: any;\n meeting: any;\n rejoinAttempts: any;\n shareStatus: any;\n status: any;\n tryCount: any;\n webex: any;\n /**\n * @param {Meeting} meeting\n */\n constructor(meeting: Meeting) {\n /**\n * Stores ICE reconnection state data.\n *\n * @instance\n * @type {Object}\n * @private\n * @memberof ReconnectionManager\n */\n this.iceState = {\n disconnected: false,\n resolve: () => {},\n timer: undefined,\n // @ts-ignore\n timeoutDuration: meeting.config.reconnection.iceReconnectionTimeout,\n };\n\n /**\n * @instance\n * @type {String}\n * @private\n * @memberof ReconnectionManager\n */\n this.status = RECONNECTION.STATE.DEFAULT_STATUS;\n /**\n * @instance\n * @type {Number}\n * @private\n * @memberof ReconnectionManager\n */\n this.tryCount = RECONNECTION.STATE.DEFAULT_TRY_COUNT;\n /**\n * @instance\n * @type {Object}\n * @private\n * @memberof ReconnectionManager\n */\n // TODO : change this logic to not save the meeting instance\n // It gets complicated when meeting ends on remote side , We have a old meeting instance which is not up to date\n // @ts-ignore\n this.webex = meeting.webex;\n /**\n * @instance\n * @type {Meeting}\n * @private\n * @memberof ReconnectionManager\n */\n // TODO: try removing the circular dependency for meeting and reconnection manager\n // try moving this to meetings collection\n this.meeting = meeting;\n\n // @ts-ignore\n this.maxRejoinAttempts = meeting.config.reconnection.maxRejoinAttempts;\n this.rejoinAttempts = RECONNECTION.STATE.DEFAULT_TRY_COUNT;\n // @ts-ignore\n this.autoRejoinEnabled = meeting.config.reconnection.autoRejoin;\n\n // Make sure reconnection state is in default\n this.reset();\n }\n\n /**\n * @public\n * @memberof ReconnectionManager\n * @returns {void}\n */\n resetReconnectionTimer() {\n this.iceState.resolve();\n this.iceState.resolve = () => {};\n\n if (this.iceState.timer) {\n clearTimeout(this.iceState.timer);\n delete this.iceState.timer;\n }\n }\n\n /**\n * Sets the iceState to connected and clears any disconnect timeouts and\n * related timeout data within the iceState.\n *\n * @returns {undefined}\n * @public\n * @memberof ReconnectionManager\n */\n public iceReconnected() {\n if (this.iceState.disconnected) {\n LoggerProxy.logger.log('ReconnectionManager:index#iceReconnected --> ice has reconnected');\n\n this.resetReconnectionTimer();\n\n this.iceState.disconnected = false;\n }\n }\n\n /**\n * Set the iceState to disconnected and generates a timeout that waits for the\n * iceState to reconnect and then resolves. If the ice state is already\n * processing a reconnect, it immediately resolves. Rejects if the timeout\n * duration is reached.\n *\n * @returns {Promise<undefined>}\n * @public\n * @memberof ReconnectionManager\n */\n public waitForIceReconnect() {\n if (!this.iceState.disconnected) {\n LoggerProxy.logger.log(\n 'ReconnectionManager:index#waitForIceReconnect --> waiting for ice reconnect'\n );\n\n this.iceState.disconnected = true;\n\n return new Promise<void>((resolve, reject) => {\n this.iceState.timer = setTimeout(() => {\n if (this.iceState.disconnected === false) {\n resolve();\n } else {\n this.iceState.disconnected = false;\n reject(\n new Error(`ice reconnection did not occur in ${this.iceState.timeoutDuration}ms`)\n );\n }\n }, this.iceState.timeoutDuration);\n\n this.iceState.resolve = resolve;\n });\n }\n\n // return a resolved promise to prevent multiple catch executions of reconnect\n return Promise.resolve();\n }\n\n /**\n * @returns {undefined}\n * @public\n * @memberof ReconnectionManager\n */\n public reset() {\n this.status = RECONNECTION.STATE.DEFAULT_STATUS;\n this.tryCount = RECONNECTION.STATE.DEFAULT_TRY_COUNT;\n this.rejoinAttempts = RECONNECTION.STATE.DEFAULT_TRY_COUNT;\n }\n\n /**\n * @returns {undefined}\n * @public\n * @memberof ReconnectionManager\n */\n public cleanUp() {\n this.reset();\n this.meeting = null;\n }\n\n /**\n * Stop the local share track.\n *\n * @param {string} reason a {@link SHARE_STOPPED_REASON}\n * @returns {undefined}\n * @private\n * @memberof ReconnectionManager\n */\n private stopLocalShareTrack(reason: string) {\n this.meeting.setLocalShareTrack(null);\n this.meeting.isSharing = false;\n if (this.shareStatus === SHARE_STATUS.LOCAL_SHARE_ACTIVE) {\n this.meeting.shareStatus = SHARE_STATUS.NO_SHARE;\n }\n this.meeting.mediaProperties.mediaDirection.sendShare = false;\n Trigger.trigger(\n this.meeting,\n {\n file: 'reconnection-manager/index',\n function: 'stopLocalShareTrack',\n },\n EVENT_TRIGGERS.MEETING_STOPPED_SHARING_LOCAL,\n {\n reason,\n }\n );\n }\n\n /**\n * @public\n * @memberof ReconnectionManager\n * @returns {Boolean} true if reconnection operation is in progress\n */\n isReconnectInProgress() {\n return this.status === RECONNECTION.STATE.IN_PROGRESS;\n }\n\n /**\n * @returns {Boolean}\n * @throws {ReconnectionError}\n * @private\n * @memberof ReconnectionManager\n */\n private validate() {\n if (this.meeting.config.reconnection.enabled) {\n if (\n this.status === RECONNECTION.STATE.DEFAULT_STATUS ||\n this.status === RECONNECTION.STATE.COMPLETE\n ) {\n return true;\n }\n\n LoggerProxy.logger.info(\n 'ReconnectionManager:index#validate --> Reconnection already in progress.'\n );\n\n throw new ReconnectInProgress('Reconnection already in progress.');\n }\n\n LoggerProxy.logger.info('ReconnectionManager:index#validate --> Reconnection is not enabled.');\n\n throw new ReconnectionError('Reconnection is not enabled.');\n }\n\n /**\n * Initiates a media reconnect for the active meeting\n * @param {Object} reconnectOptions\n * @param {boolean} [reconnectOptions.networkDisconnect=false] indicates if a network disconnect event happened\n * @param {boolean} [reconnectOptions.networkRetry=false] indicates if we are retrying the reconnect\n * @returns {Promise}\n * @public\n * @memberof ReconnectionManager\n */\n public async reconnect({\n networkDisconnect = false,\n networkRetry = false,\n }: {\n networkDisconnect?: boolean;\n networkRetry?: boolean;\n } = {}) {\n LoggerProxy.logger.info(\n `ReconnectionManager:index#reconnect --> Reconnection start for meeting ${this.meeting.id}.`\n );\n // First, validate that we can reconnect, if not, it will throw an error\n try {\n this.validate();\n } catch (error) {\n LoggerProxy.logger.info(\n 'ReconnectionManager:index#reconnect --> Reconnection unable to begin.',\n error\n );\n throw error;\n }\n\n if (!networkRetry) {\n // Only log START metrics on the initial reconnect\n LoggerProxy.logger.info(\n 'ReconnectionManager:index#reconnect --> Sending reconnect start metric.'\n );\n Metrics.postEvent({\n event: eventType.MEDIA_RECONNECTING,\n meeting: this.meeting,\n });\n }\n\n return this.executeReconnection({networkDisconnect})\n .then(() => {\n LoggerProxy.logger.info('ReconnectionManager:index#reconnect --> Reconnection successful.');\n LoggerProxy.logger.info(\n 'ReconnectionManager:index#reconnect --> Sending reconnect success metric.'\n );\n Metrics.postEvent({\n event: eventType.MEDIA_RECOVERED,\n meeting: this.meeting,\n data: {recoveredBy: reconnection.RECOVERED_BY_NEW},\n });\n })\n .catch((reconnectError) => {\n if (reconnectError instanceof NeedsRetryError) {\n LoggerProxy.logger.info(\n 'ReconnectionManager:index#reconnect --> Reconnection not successful, retrying.'\n );\n // Reset our reconnect status since we are looping back to the beginning\n this.status = RECONNECTION.STATE.DEFAULT_STATUS;\n\n // This is a network retry, so we should not log START metrics again\n return this.reconnect({networkDisconnect: true, networkRetry: true});\n }\n\n // Reconnect has failed\n LoggerProxy.logger.error(\n 'ReconnectionManager:index#reconnect --> Reconnection failed.',\n reconnectError.message\n );\n LoggerProxy.logger.info(\n 'ReconnectionManager:index#reconnect --> Sending reconnect abort metric.'\n );\n\n const reconnectMetric = {\n event: eventType.CALL_ABORTED,\n meeting: this.meeting,\n data: {\n errors: [\n {\n category: errorObjects.category.expected,\n errorCode: 2008,\n fatal: true,\n name: errorObjects.name.mediaEngine,\n shownToUser: false,\n },\n ],\n },\n };\n\n Metrics.postEvent(reconnectMetric);\n if (reconnectError instanceof NeedsRejoinError) {\n // send call aborded event with catogery as expected as we are trying to rejoin\n\n if (this.autoRejoinEnabled) {\n return this.rejoinMeeting(reconnectError.wasSharing);\n }\n }\n\n throw reconnectError;\n });\n }\n\n /**\n * @param {Object} reconnectOptions\n * @param {boolean} [reconnectOptions.networkDisconnect=false] indicates if a network disconnect event happened\n * @returns {Promise}\n * @throws {NeedsRetryError}\n * @private\n * @memberof ReconnectionManager\n */\n private async executeReconnection({networkDisconnect = false}: {networkDisconnect?: boolean}) {\n this.status = RECONNECTION.STATE.IN_PROGRESS;\n\n LoggerProxy.logger.info(\n 'ReconnectionManager:index#executeReconnection --> Attempting to reconnect to meeting.'\n );\n\n const wasSharing = this.meeting.shareStatus === SHARE_STATUS.LOCAL_SHARE_ACTIVE;\n\n if (wasSharing) {\n this.stopLocalShareTrack(SHARE_STOPPED_REASON.MEDIA_RECONNECTION);\n }\n\n if (networkDisconnect) {\n try {\n await this.reconnectMercuryWebSocket();\n LoggerProxy.logger.error(\n 'ReconnectionManager:index#executeReconnection --> Websocket reconnected.',\n this.webex.internal.device.url\n );\n } catch (error) {\n LoggerProxy.logger.error(\n 'ReconnectionManager:index#executeReconnection --> Unable to reconnect to websocket, giving up.'\n );\n this.status = RECONNECTION.STATE.FAILURE;\n throw error;\n }\n }\n\n try {\n LoggerProxy.logger.info(\n 'ReconnectionManager:index#executeReconnection --> Updating meeting data from server.'\n );\n await this.webex.meetings.syncMeetings();\n } catch (syncError) {\n LoggerProxy.logger.info(\n 'ReconnectionManager:index#executeReconnection --> Unable to sync meetings, reconnecting.',\n syncError\n );\n throw new NeedsRetryError(syncError);\n }\n\n // TODO: try to improve this logic as the reconnection manager saves the instance of deleted meeting object\n // So that on rejoin it known what parametrs it was using\n if (!this.meeting || !this.webex.meetings.getMeetingByType(_ID_, this.meeting.id)) {\n LoggerProxy.logger.info(\n 'ReconnectionManager:index#executeReconnection --> Meeting got deleted due to inactivity or ended remotely '\n );\n\n throw new Error('Unable to rejoin a meeting already ended or inactive .');\n }\n\n LoggerProxy.logger.info(\n `ReconnectionManager:index#executeReconnection --> Current state of meeting is ${this.meeting.state}`\n );\n\n // If the meeting state was left, no longer reconnect media\n if (this.meeting.state === _LEFT_) {\n if (this.meeting.type === _CALL_) {\n throw new Error('Unable to rejoin a call in LEFT state.');\n }\n\n throw new NeedsRejoinError({wasSharing});\n }\n\n try {\n const media = await this.reconnectMedia();\n\n LoggerProxy.logger.log(\n 'ReconnectionManager:index#executeReconnection --> Media reestablished'\n );\n this.status = RECONNECTION.STATE.COMPLETE;\n\n return media;\n } catch (error) {\n LoggerProxy.logger.error(\n 'ReconnectionManager:index#executeReconnection --> Media reestablishment failed'\n );\n this.status = RECONNECTION.STATE.FAILURE;\n\n throw error;\n }\n }\n\n /**\n * Rejoins a meeting after detecting the member was in a LEFT state\n *\n * @async\n * @param {boolean} wasSharing\n * @returns {Promise}\n */\n async rejoinMeeting(wasSharing = false) {\n try {\n LoggerProxy.logger.info(\n 'ReconnectionManager:index#rejoinMeeting --> attemping meeting rejoin'\n );\n\n await this.meeting.join({rejoin: true});\n LoggerProxy.logger.info('ReconnectionManager:index#rejoinMeeting --> meeting rejoined');\n\n if (wasSharing) {\n this.stopLocalShareTrack(SHARE_STOPPED_REASON.MEETING_REJOIN);\n }\n } catch (joinError) {\n this.rejoinAttempts += 1;\n if (this.rejoinAttempts <= this.maxRejoinAttempts) {\n LoggerProxy.logger.info(\n `ReconnectionManager:index#rejoinMeeting --> Unable to rejoin meeting, attempt #${this.rejoinAttempts}, retrying.`,\n joinError\n );\n this.rejoinMeeting();\n } else {\n LoggerProxy.logger.error(\n 'ReconnectionManager:index#rejoinMeeting --> Unable to rejoin meeting after max attempts.',\n joinError\n );\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.MEETING_MAX_REJOIN_FAILURE, {\n locus_id: this.meeting.locusUrl.split('/').pop(),\n reason: joinError.message,\n stack: joinError.stack,\n });\n this.status = RECONNECTION.STATE.FAILURE;\n throw joinError;\n }\n }\n\n try {\n await this.reconnectMedia();\n } catch (mediaError) {\n LoggerProxy.logger.error(\n 'ReconnectionManager:index#rejoinMeeting --> Unable to reestablish media after rejoining.',\n mediaError\n );\n throw mediaError;\n }\n }\n\n /**\n * @returns {Promise}\n * @private\n * @memberof ReconnectionManager\n */\n async reconnectMedia() {\n LoggerProxy.logger.log(\n 'ReconnectionManager:index#reconnectMedia --> Begin reestablishment of media'\n );\n\n // do the TURN server discovery again since the TURN server might change\n const turnServerResult = await this.meeting.roap.doTurnDiscovery(this.meeting, true);\n\n const iceServers = [];\n\n if (turnServerResult.turnServerInfo) {\n iceServers.push({\n urls: turnServerResult.turnServerInfo.url,\n username: turnServerResult.turnServerInfo.username || '',\n credential: turnServerResult.turnServerInfo.password || '',\n });\n }\n\n await this.meeting.mediaProperties.webrtcMediaConnection.reconnect(iceServers);\n\n // resend media requests\n if (this.meeting.isMultistream) {\n Object.values(this.meeting.mediaRequestManagers).forEach((mediaRequestManager) =>\n // @ts-ignore - Fix type\n mediaRequestManager.commit()\n );\n }\n }\n\n /**\n * Attempt to Reconnect Mercury Websocket\n * @returns {Promise}\n * @private\n * @memberof ReconnectionManager\n */\n private async reconnectMercuryWebSocket() {\n LoggerProxy.logger.info(\n 'ReconnectionManager:index#reconnectMercuryWebSocket --> Reconnecting websocket.'\n );\n // First, attempt to disconnect if we think we are already connected.\n if (this.webex.internal.mercury.connected) {\n LoggerProxy.logger.info(\n 'ReconnectionManager:index#reconnectMercuryWebSocket --> Disconnecting existing websocket.'\n );\n try {\n await this.webex.internal.mercury.disconnect();\n LoggerProxy.logger.info(\n 'ReconnectionManager:index#reconnectMercuryWebSocket --> Websocket disconnected successfully.'\n );\n } catch (disconnectError) {\n // If we can't disconnect, the sdk is in such a bad state that reconnecting is not going to happen.\n LoggerProxy.logger.error(\n 'ReconnectionManager:index#reconnectMercuryWebSocket --> Unable to disconnect from websocket, giving up.',\n disconnectError\n );\n throw disconnectError;\n }\n }\n\n try {\n LoggerProxy.logger.info(\n 'ReconnectionManager:index#reconnectMercuryWebSocket --> Connecting websocket.'\n );\n await this.webex.internal.mercury.connect();\n LoggerProxy.logger.info(\n 'ReconnectionManager:index#reconnectMercuryWebSocket --> Websocket connected successfully.'\n );\n } catch (connectError) {\n LoggerProxy.logger.error(\n 'ReconnectionManager:index#reconnectMercuryWebSocket --> Unable to connect to websocket, giving up.',\n connectError\n );\n\n throw connectError;\n }\n }\n}\n"],"mappings":"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"}
@@ -266,6 +266,7 @@ export declare const CALL_REMOVED_REASON: {
266
266
  export declare const SHARE_STOPPED_REASON: {
267
267
  SELF_STOPPED: string;
268
268
  MEETING_REJOIN: string;
269
+ MEDIA_RECONNECTION: string;
269
270
  };
270
271
  export declare const EVENTS: {
271
272
  SELF_UNADMITTED_GUEST: string;
@@ -58,6 +58,15 @@ export default class ReconnectionManager {
58
58
  * @memberof ReconnectionManager
59
59
  */
60
60
  cleanUp(): void;
61
+ /**
62
+ * Stop the local share track.
63
+ *
64
+ * @param {string} reason a {@link SHARE_STOPPED_REASON}
65
+ * @returns {undefined}
66
+ * @private
67
+ * @memberof ReconnectionManager
68
+ */
69
+ private stopLocalShareTrack;
61
70
  /**
62
71
  * @public
63
72
  * @memberof ReconnectionManager
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webex/plugin-meetings",
3
- "version": "3.0.0-beta.52",
3
+ "version": "3.0.0-beta.53",
4
4
  "description": "",
5
5
  "license": "Cisco EULA (https://www.cisco.com/c/en/us/products/end-user-license-agreement.html)",
6
6
  "contributors": [
@@ -32,12 +32,12 @@
32
32
  "build": "yarn run -T tsc --declaration true --declarationDir ./dist/types"
33
33
  },
34
34
  "devDependencies": {
35
- "@webex/plugin-meetings": "3.0.0-beta.52",
36
- "@webex/test-helper-chai": "3.0.0-beta.52",
37
- "@webex/test-helper-mocha": "3.0.0-beta.52",
38
- "@webex/test-helper-mock-webex": "3.0.0-beta.52",
39
- "@webex/test-helper-retry": "3.0.0-beta.52",
40
- "@webex/test-helper-test-users": "3.0.0-beta.52",
35
+ "@webex/plugin-meetings": "3.0.0-beta.53",
36
+ "@webex/test-helper-chai": "3.0.0-beta.53",
37
+ "@webex/test-helper-mocha": "3.0.0-beta.53",
38
+ "@webex/test-helper-mock-webex": "3.0.0-beta.53",
39
+ "@webex/test-helper-retry": "3.0.0-beta.53",
40
+ "@webex/test-helper-test-users": "3.0.0-beta.53",
41
41
  "chai": "^4.3.4",
42
42
  "chai-as-promised": "^7.1.1",
43
43
  "jsdom-global": "3.0.2",
@@ -46,18 +46,18 @@
46
46
  "typescript": "^4.7.4"
47
47
  },
48
48
  "dependencies": {
49
- "@webex/common": "3.0.0-beta.52",
49
+ "@webex/common": "3.0.0-beta.53",
50
50
  "@webex/internal-media-core": "1.35.3",
51
- "@webex/internal-plugin-conversation": "3.0.0-beta.52",
52
- "@webex/internal-plugin-device": "3.0.0-beta.52",
53
- "@webex/internal-plugin-llm": "3.0.0-beta.52",
54
- "@webex/internal-plugin-mercury": "3.0.0-beta.52",
55
- "@webex/internal-plugin-metrics": "3.0.0-beta.52",
56
- "@webex/internal-plugin-support": "3.0.0-beta.52",
57
- "@webex/internal-plugin-user": "3.0.0-beta.52",
58
- "@webex/plugin-people": "3.0.0-beta.52",
59
- "@webex/plugin-rooms": "3.0.0-beta.52",
60
- "@webex/webex-core": "3.0.0-beta.52",
51
+ "@webex/internal-plugin-conversation": "3.0.0-beta.53",
52
+ "@webex/internal-plugin-device": "3.0.0-beta.53",
53
+ "@webex/internal-plugin-llm": "3.0.0-beta.53",
54
+ "@webex/internal-plugin-mercury": "3.0.0-beta.53",
55
+ "@webex/internal-plugin-metrics": "3.0.0-beta.53",
56
+ "@webex/internal-plugin-support": "3.0.0-beta.53",
57
+ "@webex/internal-plugin-user": "3.0.0-beta.53",
58
+ "@webex/plugin-people": "3.0.0-beta.53",
59
+ "@webex/plugin-rooms": "3.0.0-beta.53",
60
+ "@webex/webex-core": "3.0.0-beta.53",
61
61
  "ampersand-collection": "^2.0.2",
62
62
  "bowser": "^2.11.0",
63
63
  "btoa": "^1.2.1",
package/src/constants.ts CHANGED
@@ -379,6 +379,7 @@ export const CALL_REMOVED_REASON = {
379
379
  export const SHARE_STOPPED_REASON = {
380
380
  SELF_STOPPED: 'SELF_STOPPED',
381
381
  MEETING_REJOIN: 'MEETING_REJOIN',
382
+ MEDIA_RECONNECTION: 'MEDIA_RECONNECTION',
382
383
  };
383
384
 
384
385
  export const EVENTS = {
@@ -231,6 +231,34 @@ export default class ReconnectionManager {
231
231
  this.meeting = null;
232
232
  }
233
233
 
234
+ /**
235
+ * Stop the local share track.
236
+ *
237
+ * @param {string} reason a {@link SHARE_STOPPED_REASON}
238
+ * @returns {undefined}
239
+ * @private
240
+ * @memberof ReconnectionManager
241
+ */
242
+ private stopLocalShareTrack(reason: string) {
243
+ this.meeting.setLocalShareTrack(null);
244
+ this.meeting.isSharing = false;
245
+ if (this.shareStatus === SHARE_STATUS.LOCAL_SHARE_ACTIVE) {
246
+ this.meeting.shareStatus = SHARE_STATUS.NO_SHARE;
247
+ }
248
+ this.meeting.mediaProperties.mediaDirection.sendShare = false;
249
+ Trigger.trigger(
250
+ this.meeting,
251
+ {
252
+ file: 'reconnection-manager/index',
253
+ function: 'stopLocalShareTrack',
254
+ },
255
+ EVENT_TRIGGERS.MEETING_STOPPED_SHARING_LOCAL,
256
+ {
257
+ reason,
258
+ }
259
+ );
260
+ }
261
+
234
262
  /**
235
263
  * @public
236
264
  * @memberof ReconnectionManager
@@ -385,6 +413,12 @@ export default class ReconnectionManager {
385
413
  'ReconnectionManager:index#executeReconnection --> Attempting to reconnect to meeting.'
386
414
  );
387
415
 
416
+ const wasSharing = this.meeting.shareStatus === SHARE_STATUS.LOCAL_SHARE_ACTIVE;
417
+
418
+ if (wasSharing) {
419
+ this.stopLocalShareTrack(SHARE_STOPPED_REASON.MEDIA_RECONNECTION);
420
+ }
421
+
388
422
  if (networkDisconnect) {
389
423
  try {
390
424
  await this.reconnectMercuryWebSocket();
@@ -401,8 +435,6 @@ export default class ReconnectionManager {
401
435
  }
402
436
  }
403
437
 
404
- const wasSharing = this.meeting.shareStatus === SHARE_STATUS.LOCAL_SHARE_ACTIVE;
405
-
406
438
  try {
407
439
  LoggerProxy.logger.info(
408
440
  'ReconnectionManager:index#executeReconnection --> Updating meeting data from server.'
@@ -475,24 +507,7 @@ export default class ReconnectionManager {
475
507
  LoggerProxy.logger.info('ReconnectionManager:index#rejoinMeeting --> meeting rejoined');
476
508
 
477
509
  if (wasSharing) {
478
- // Stop the share streams if user tried to rejoin
479
- this.meeting.setLocalShareTrack(null);
480
- this.meeting.isSharing = false;
481
- if (this.shareStatus === SHARE_STATUS.LOCAL_SHARE_ACTIVE) {
482
- this.meeting.shareStatus = SHARE_STATUS.NO_SHARE;
483
- }
484
- this.meeting.mediaProperties.mediaDirection.sendShare = false;
485
- Trigger.trigger(
486
- this.meeting,
487
- {
488
- file: 'reconnection-manager/index',
489
- function: 'rejoinMeeting',
490
- },
491
- EVENT_TRIGGERS.MEETING_STOPPED_SHARING_LOCAL,
492
- {
493
- reason: SHARE_STOPPED_REASON.MEETING_REJOIN,
494
- }
495
- );
510
+ this.stopLocalShareTrack(SHARE_STOPPED_REASON.MEETING_REJOIN);
496
511
  }
497
512
  } catch (joinError) {
498
513
  this.rejoinAttempts += 1;