@webex/plugin-meetings 2.20.0 → 2.20.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/constants.js CHANGED
@@ -9,7 +9,7 @@ _Object$defineProperty(exports, "__esModule", {
9
9
  });
10
10
 
11
11
  exports.RECONNECTION = exports.READY = exports.REACHABILITY = exports.QUALITY_LEVELS = exports.PSTN_STATUS = exports.PROVISIONAL_TYPE_DIAL_OUT = exports.PROVISIONAL_TYPE_DIAL_IN = exports.PEER_CONNECTION_STATE = exports.PC_BAIL_TIMEOUT = exports.PASSWORD_STATUS = exports.PARTICIPANT_DELTAS = exports.PARTICIPANT = exports.ONLINE = exports.OFFLINE = exports.OFFER = exports.NETWORK_TYPE = exports.NETWORK_STATUS = exports.MediaContent = exports.MQA_STATS = exports.MQA_INTEVAL = exports.MODERATOR_TRUE = exports.MODERATOR_FALSE = exports.METRICS_JOIN_TIMES_MAX_DURATION = exports.MEET_M = exports.MEETING_VIDEO_STATE_MACHINE = exports.MEETING_STATE_MACHINE = exports.MEETING_STATE = exports.MEETING_REMOVED_REASON = exports.MEETING_INFO_FAILURE_REASON = exports.MEETING_ERRORS = exports.MEETING_END_REASON = exports.MEETING_AUDIO_STATE_MACHINE = exports.MEETINGS = exports.MEETINGINFO = exports.MEET = exports.MEDIA_TRACK_CONSTRAINT = exports.MEDIA_STATE = exports.MEDIA_PEER_CONNECTION_NAME = exports.MEDIA_DEVICES = exports.MEDIA = exports.MAX_RANDOM_DELAY_FOR_MEETING_INFO = exports.MAX_FRAMESIZES = exports.LOCUS_URL = exports.LOCUSINFO = exports.LOCUSEVENT = exports.LOCUS = exports.LOCI = exports.LOCAL = exports.LIVE = exports.LEAVE = exports.LAYOUT_TYPES = exports.JOIN = exports.IPV4_REGEX = exports.INTENT_TO_JOIN = exports.ICE_TIMEOUT = exports.ICE_STATE = exports.ICE_GATHERING_STATE = exports.ICE_FAIL_TIMEOUT = exports.HTTP_VERBS = exports.HTTPS_PROTOCOL = exports.HOST = exports.HECATE = exports.GATHERING = exports.FULL_STATE = exports.FLOOR_ACTION = exports.EVENT_TYPES = exports.EVENT_TRIGGERS = exports.EVENTS = exports.ERROR_DICTIONARY = exports.ERROR = exports.ENDED = exports.END = exports.DISPLAY_HINTS = exports.DIALER_REGEX = exports.DEVELOPMENT = exports.DEFAULT_GET_STATS_FILTER = exports.DEFAULT_EXCLUDED_STATS = exports.DECLINE = exports.CORRELATION_ID = exports.CONVERSATION_URL = exports.CONVERSATION_SERVICE = exports.CONTROLS = exports.CONTENT = exports.CONNECTION_STATE = exports.COMPLETE = exports.CMR_MEETINGS = exports.CLAIM = exports.CALL_REMOVED_REASON = exports.CALL = exports.CALENDAR_EVENTS_API = exports.CALENDAR_EVENTS = exports.CALENDAR = exports.BNR_STATUS = exports.AUDIO_STATUS = exports.AUDIO_INPUT = exports.AUDIO = exports.API = exports.ANSWER = exports.ALTERNATE_REDIRECT_TRUE = exports.ALERT = void 0;
12
- exports._WEBEX_MEETING_ = exports._WAIT_ = exports._USER_ = exports._UNKNOWN_ = exports._S_LINE = exports._SLIDES_ = exports._SIP_URI_ = exports._SIP_BRIDGE_ = exports._SEND_RECEIVE_ = exports._SEND_ONLY_ = exports._ROOM_ = exports._RESOURCE_ROOM_ = exports._REQUESTED_ = exports._REMOVE_ = exports._RECEIVE_ONLY_ = exports._PERSONAL_ROOM_ = exports._PEOPLE_ = exports._OFFER_ = exports._OBSERVE_ = exports._NOT_IN_MEETING_ = exports._NONE_ = exports._MOVE_MEDIA_ = exports._MEETING_UUID_ = exports._MEETING_LINK_ = exports._MEETING_ID_ = exports._MEETING_CENTER_ = exports._MEETING_ = exports._LOCUS_ID_ = exports._LEFT_ = exports._JOIN_ = exports._JOINED_ = exports._IN_MEETING_ = exports._IN_LOBBY_ = exports._IN_ = exports._INCOMING_ = exports._INACTIVE_ = exports._ID_ = exports._IDLE_ = exports._FORCED_ = exports._ERROR_ = exports._CREATED_ = exports._CONVERSATION_URL_ = exports._CONFLICT_ = exports._CALL_ = exports._ANSWER_ = exports._ACTIVE_ = exports.WWW_DOT = exports.WHITEBOARD = exports.WEBEX_DOT_COM = exports.VIDEO_STATUS = exports.VIDEO_RESOLUTIONS = exports.VIDEO_INPUT = exports.VIDEO = exports.VALID_PMR_LINK = exports.VALID_PMR_ADDRESS = exports.VALID_PIN = exports.VALID_EMAIL_ADDRESS = exports.UUID_REG = exports.USE_URI_LOOKUP_FALSE = exports.TYPE = exports.STATS = exports.SIP_URI = exports.SHARE_STOPPED_REASON = exports.SHARE_STATUS = exports.SHARE_PEER_CONNECTION_NAME = exports.SHARE = exports.SEND_DTMF_ENDPOINT = exports.SENDRECV = exports.SELF_ROLES = exports.SDP = exports.RTC_CONFIGURATION_FIREFOX = exports.RTC_CONFIGURATION = exports.ROAP_SEQ_PRE = exports.ROAP = exports.RETRY_TIMEOUT = exports.RESOURCE = exports.REMOTE = exports.RECORDING_STATE = void 0;
12
+ exports._WEBEX_MEETING_ = exports._WAIT_ = exports._USER_ = exports._UNKNOWN_ = exports._S_LINE = exports._SLIDES_ = exports._SIP_URI_ = exports._SIP_BRIDGE_ = exports._SEND_RECEIVE_ = exports._SEND_ONLY_ = exports._ROOM_ = exports._RESOURCE_ROOM_ = exports._REQUESTED_ = exports._REMOVE_ = exports._RECEIVE_ONLY_ = exports._PERSONAL_ROOM_ = exports._PEOPLE_ = exports._OFFER_ = exports._OBSERVE_ = exports._NOT_IN_MEETING_ = exports._NONE_ = exports._MOVE_MEDIA_ = exports._MEETING_UUID_ = exports._MEETING_LINK_ = exports._MEETING_ID_ = exports._MEETING_CENTER_ = exports._MEETING_ = exports._LOCUS_ID_ = exports._LEFT_ = exports._JOIN_ = exports._JOINED_ = exports._IN_MEETING_ = exports._IN_LOBBY_ = exports._IN_ = exports._INCOMING_ = exports._INACTIVE_ = exports._ID_ = exports._IDLE_ = exports._FORCED_ = exports._ERROR_ = exports._CREATED_ = exports._CONVERSATION_URL_ = exports._CONFLICT_ = exports._CALL_ = exports._ANSWER_ = exports._ACTIVE_ = exports.WWW_DOT = exports.WHITEBOARD = exports.WEBEX_DOT_COM = exports.WBXAPPAPI_SERVICE = exports.VIDEO_STATUS = exports.VIDEO_RESOLUTIONS = exports.VIDEO_INPUT = exports.VIDEO = exports.VALID_PMR_LINK = exports.VALID_PMR_ADDRESS = exports.VALID_PIN = exports.VALID_EMAIL_ADDRESS = exports.UUID_REG = exports.USE_URI_LOOKUP_FALSE = exports.TYPE = exports.STATS = exports.SIP_URI = exports.SHARE_STOPPED_REASON = exports.SHARE_STATUS = exports.SHARE_PEER_CONNECTION_NAME = exports.SHARE = exports.SEND_DTMF_ENDPOINT = exports.SENDRECV = exports.SELF_ROLES = exports.SDP = exports.RTC_CONFIGURATION_FIREFOX = exports.RTC_CONFIGURATION = exports.ROAP_SEQ_PRE = exports.ROAP = exports.RETRY_TIMEOUT = exports.RESOURCE = exports.REMOTE = exports.RECORDING_STATE = void 0;
13
13
 
14
14
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
15
15
 
@@ -246,10 +246,12 @@ var WWW_DOT = 'www.';
246
246
  exports.WWW_DOT = WWW_DOT;
247
247
  var WEBEX_DOT_COM = 'webex.com';
248
248
  exports.WEBEX_DOT_COM = WEBEX_DOT_COM;
249
- var CONVERSATION_SERVICE = 'identityLookup'; // ******************* ARRAYS ********************
249
+ var CONVERSATION_SERVICE = 'identityLookup';
250
+ exports.CONVERSATION_SERVICE = CONVERSATION_SERVICE;
251
+ var WBXAPPAPI_SERVICE = 'webex-appapi-service'; // ******************* ARRAYS ********************
250
252
  // Please alphabetize
251
253
 
252
- exports.CONVERSATION_SERVICE = CONVERSATION_SERVICE;
254
+ exports.WBXAPPAPI_SERVICE = WBXAPPAPI_SERVICE;
253
255
  var DEFAULT_EXCLUDED_STATS = ['timestamp', 'ssrc', 'priority'];
254
256
  /**
255
257
  * @description @description Layout type for remote video participants. Allowed values are: Single, Equal, ActivePresence, Prominent, OnePlusN
@@ -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","OFFER","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_","_OFFER_","_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","DEFAULT_EXCLUDED_STATS","LAYOUT_TYPES","MODERATOR_TRUE","MODERATOR_FALSE","INTENT_TO_JOIN","ICE_TIMEOUT","ICE_FAIL_TIMEOUT","RETRY_TIMEOUT","ROAP_SEQ_PRE","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_PAUSED_RECORDING","MEETING_RESUMED_RECORDING","MEETING_ADDED","MEETING_REMOVED","MEETING_RINGING","MEETING_RINGING_STOP","MEETING_SELF_LOBBY_WAITING","MEETING_SELF_GUEST_ADMITTED","MEETING_SELF_MUTED_BY_OTHERS","MEETING_SELF_UNMUTED_BY_OTHERS","MEETING_SELF_REQUESTED_TO_UNMUTE","MEETING_SELF_PHONE_AUDIO_UPDATE","MEETING_CONTROLS_LAYOUT_UPDATE","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","MEDIA_QUALITY","MEETINGS_NETWORK_DISCONNECTED","MEETINGS_NETWORK_CONNECTED","MEETING_SELF_LEFT","NETWORK_QUALITY","MEDIA_NEGOTIATED","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","ROAP_OK","ROAP_ANSWER","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","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","LOCUSINFO","CONTROLS_MEETING_LAYOUT_UPDATED","CONTROLS_RECORDING_UPDATED","CONTROLS_MEETING_TRANSCRIBE_UPDATED","CONTROLS_MEETING_CONTAINER_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","LOCUSEVENT","LOCUS_MERCURY","CONTROLS_UPDATED","DIFFERENCE","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","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","RTC_CONFIGURATION_FIREFOX","iceServers","bundlePolicy","RTC_CONFIGURATION","IN_PROGRESS","FAILURE","DEFAULT_TRY_COUNT","DEFAULT_STATUS","RESOURCE","CLUSTERS","REACHABILITY","localStorage","ROAP","ROAP_TRANSITIONS","STEP","ROAP_TYPES","OK","SHUTDOWN","OFFER_REQUEST","ROAP_STATE","WAIT_RX_OFFER","WAIT_RX_ANSWER","WAIT_RX_OK","WAIT_TX_OFFER","WAIT_TX_ANSWER","WAIT_TX_OK","IDLE_LOCAL_OFFER","IDLE_REMOTE_OFFER","GLARE","ROAP_SIGNAL","RX_OFFER","TX_OFFER","RX_ANSWER","TX_ANSWER","RX_OK","TX_OK","GLARE_RESOLVED","RECEIVE_ROAP_MSG","SEND_ROAP_MSG","SEND_ROAP_MSG_SUCCESS","RESET_ROAP_STATE","RECEIVE_CALL_LEAVE","ROAP_MERCURY","ROAP_VERSION","RX_","TX_","MediaContent","main","slides","SDP","A_CONTENT_SLIDES","ROLLBACK","HAVE_LOCAL_OFFER","HAVE_REMOTE_OFFER","STABLE","M_LINE","MAX_FS","B_LINE","PERIODIC_KEYFRAME","CARRIAGE_RETURN","BAD_MEDIA_PORTS","NETWORK_STATUS","RECONNECTING","NETWORK_TYPE","VPN","WIFI","ETHERNET","AUDIO_CORRELATE","VIDEO_CORRELATE","SHARE_CORRELATE","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","VIDEO_RESOLUTIONS","video","width","max","ideal","height","MAX_FRAMESIZES","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"],"sources":["constants.ts"],"sourcesContent":["import {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 OFFER = 'offer';\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 _OFFER_ = 'OFFER';\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\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;\nexport const ROAP_SEQ_PRE = -1;\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: /^(sips?)?:?(?:([^\\s>:@]+)(?::([^\\s@>]+))?@)([\\w\\-.]+)(?::(\\d+))?((?:;[^\\s=?>;]+(?:=[^\\s?;]+)?)*)(?:\\?(([^\\s&=>]+=[^\\s&=>]+)(&[^\\s&=>]+=[^\\s&=>]+)*))?$/,\n // standard telephony num regex\n PHONE_NUMBER: /^(?:(?:\\+?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 = /^(([^<>()[\\]\\\\.,;:\\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 = /([a-z0-9][-a-z0-9, '.']{0,62})@([a-z0-9][-a-z0-9, '.']{0,62})\\.webex\\.com/i;\nexport const VALID_PMR_LINK = /(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 = /^[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\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: ['track', 'transport', 'candidate-pair', 'outbound-rtp', 'outboundrtp', 'inbound-rtp', 'inboundrtp', 'remote-inbound-rtp', 'remote-outbound-rtp', 'remote-candidate', 'local-candidate', '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_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_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_CONTROLS_LAYOUT_UPDATE: 'meeting:layout:update',\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 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};\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 ROAP_OK: 'ROAP_OK',\n ROAP_ANSWER: 'ROAP_ANSWER',\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: '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: '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: '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: '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};\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};\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 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_CONTAINER_UPDATED: 'CONTROLS_MEETING_CONTAINER_UPDATED',\n SELF_UNADMITTED_GUEST: 'SELF_UNADMITTED_GUEST',\n SELF_ADMITTED_GUEST: 'SELF_ADMITTED_GUEST',\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 }\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 // 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: '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\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};\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 RTC_CONFIGURATION_FIREFOX = {iceServers: [], bundlePolicy: 'max-compat'};\nexport const RTC_CONFIGURATION = {iceServers: []};\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 localStorage: 'reachability.result'\n};\n\nexport const ROAP = {\n ROAP_TRANSITIONS: {\n STEP: 'step'\n },\n ROAP_TYPES: {\n OFFER: 'OFFER',\n ANSWER: 'ANSWER',\n OK: 'OK',\n ERROR: 'ERROR',\n SHUTDOWN: 'SHUTDOWN',\n OFFER_REQUEST: 'OFFER_REQUEST'\n },\n ROAP_STATE: {\n INIT: 'INIT',\n WAIT_RX_OFFER: 'WAIT_RX_OFFER',\n WAIT_RX_ANSWER: 'WAIT_RX_ANSWER',\n WAIT_RX_OK: 'WAIT_RX_OK',\n WAIT_TX_OFFER: 'WAIT_TX_OFFER',\n WAIT_TX_ANSWER: 'WAIT_TX_ANSWER',\n WAIT_TX_OK: 'WAIT_TX_OK',\n IDLE_LOCAL_OFFER: 'IDLE_LOCAL_OFFER',\n IDLE_REMOTE_OFFER: 'IDLE_REMOTE_OFFER',\n GLARE: 'GLARE',\n ERROR: 'ERROR'\n },\n ROAP_SIGNAL: {\n RX_OFFER: 'RX_OFFER',\n TX_OFFER: 'TX_OFFER',\n RX_ANSWER: 'RX_ANSWER',\n TX_ANSWER: 'TX_ANSWER',\n RX_OK: 'RX_OK',\n TX_OK: 'TX_OK',\n GLARE_RESOLVED: 'GLARE_RESOLVED'\n },\n RECEIVE_ROAP_MSG: 'RECEIVE_ROAP_MSG',\n SEND_ROAP_MSG: 'SEND_ROAP_MSG',\n SEND_ROAP_MSG_SUCCESS: 'SEND_ROAP_MSG_SUCCESS',\n RESET_ROAP_STATE: 'RESET_ROAP_STATE',\n RECEIVE_CALL_LEAVE: 'RECEIVE_CALL_LEAVE',\n ROAP_MERCURY: 'event:locus.message.roap',\n ROAP_VERSION: '2',\n RX_: 'RX_',\n TX_: 'TX_'\n};\n\nexport const MediaContent = {\n main: 'main',\n slides: 'slides'\n};\n\nexport const SDP = {\n A_CONTENT_SLIDES: 'a=content:slides',\n ROLLBACK: 'rollback',\n HAVE_LOCAL_OFFER: 'have-local-offer',\n HAVE_REMOTE_OFFER: 'have-remote-offer',\n STABLE: 'stable',\n OFFER: 'offer',\n M_LINE: 'm=',\n MAX_FS: 'max-fs=',\n B_LINE: 'b=TIAS',\n // Edonus repeated key frames request\n PERIODIC_KEYFRAME: 'a=periodic-keyframes:20',\n CARRIAGE_RETURN: '\\r\\n',\n BAD_MEDIA_PORTS: [0]\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 AUDIO_CORRELATE: 'audio',\n VIDEO_CORRELATE: 'video',\n SHARE_CORRELATE: 'share',\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\nexport const QUALITY_LEVELS = {\n LOW: 'LOW',\n MEDIUM: 'MEDIUM',\n HIGH: 'HIGH'\n};\n\nexport const VIDEO_RESOLUTIONS = {\n [QUALITY_LEVELS.LOW]: {\n video: {\n width: {\n max: 320,\n ideal: 320\n },\n height: {\n max: 180,\n ideal: 180\n }\n }\n },\n\n [QUALITY_LEVELS.MEDIUM]: {\n video: {\n width: {\n max: 640,\n ideal: 640\n },\n height: {\n max: 360,\n ideal: 360\n }\n }\n },\n\n [QUALITY_LEVELS.HIGH]: {\n video: {\n width: {\n max: 1280,\n ideal: 1280\n },\n height: {\n max: 720,\n ideal: 720\n }\n }\n }\n};\n\n/**\n * Max frame sizes based on h264 configs\n * https://en.wikipedia.org/wiki/Advanced_Video_Coding\n */\nexport const MAX_FRAMESIZES = {\n [QUALITY_LEVELS.LOW]: 1620,\n [QUALITY_LEVELS.MEDIUM]: 3600,\n [QUALITY_LEVELS.HIGH]: 8192\n};\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\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"],"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","OFFER","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_","_OFFER_","_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","ROAP_SEQ_PRE","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_PAUSED_RECORDING","MEETING_RESUMED_RECORDING","MEETING_ADDED","MEETING_REMOVED","MEETING_RINGING","MEETING_RINGING_STOP","MEETING_SELF_LOBBY_WAITING","MEETING_SELF_GUEST_ADMITTED","MEETING_SELF_MUTED_BY_OTHERS","MEETING_SELF_UNMUTED_BY_OTHERS","MEETING_SELF_REQUESTED_TO_UNMUTE","MEETING_SELF_PHONE_AUDIO_UPDATE","MEETING_CONTROLS_LAYOUT_UPDATE","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","MEDIA_QUALITY","MEETINGS_NETWORK_DISCONNECTED","MEETINGS_NETWORK_CONNECTED","MEETING_SELF_LEFT","NETWORK_QUALITY","MEDIA_NEGOTIATED","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","ROAP_OK","ROAP_ANSWER","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","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","LOCUSINFO","CONTROLS_MEETING_LAYOUT_UPDATED","CONTROLS_RECORDING_UPDATED","CONTROLS_MEETING_TRANSCRIBE_UPDATED","CONTROLS_MEETING_CONTAINER_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","LOCUSEVENT","LOCUS_MERCURY","CONTROLS_UPDATED","DIFFERENCE","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","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","RTC_CONFIGURATION_FIREFOX","iceServers","bundlePolicy","RTC_CONFIGURATION","IN_PROGRESS","FAILURE","DEFAULT_TRY_COUNT","DEFAULT_STATUS","RESOURCE","CLUSTERS","REACHABILITY","localStorage","ROAP","ROAP_TRANSITIONS","STEP","ROAP_TYPES","OK","SHUTDOWN","OFFER_REQUEST","ROAP_STATE","WAIT_RX_OFFER","WAIT_RX_ANSWER","WAIT_RX_OK","WAIT_TX_OFFER","WAIT_TX_ANSWER","WAIT_TX_OK","IDLE_LOCAL_OFFER","IDLE_REMOTE_OFFER","GLARE","ROAP_SIGNAL","RX_OFFER","TX_OFFER","RX_ANSWER","TX_ANSWER","RX_OK","TX_OK","GLARE_RESOLVED","RECEIVE_ROAP_MSG","SEND_ROAP_MSG","SEND_ROAP_MSG_SUCCESS","RESET_ROAP_STATE","RECEIVE_CALL_LEAVE","ROAP_MERCURY","ROAP_VERSION","RX_","TX_","MediaContent","main","slides","SDP","A_CONTENT_SLIDES","ROLLBACK","HAVE_LOCAL_OFFER","HAVE_REMOTE_OFFER","STABLE","M_LINE","MAX_FS","B_LINE","PERIODIC_KEYFRAME","CARRIAGE_RETURN","BAD_MEDIA_PORTS","NETWORK_STATUS","RECONNECTING","NETWORK_TYPE","VPN","WIFI","ETHERNET","AUDIO_CORRELATE","VIDEO_CORRELATE","SHARE_CORRELATE","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","VIDEO_RESOLUTIONS","video","width","max","ideal","height","MAX_FRAMESIZES","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"],"sources":["constants.ts"],"sourcesContent":["import {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 OFFER = 'offer';\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 _OFFER_ = 'OFFER';\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;\nexport const ROAP_SEQ_PRE = -1;\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: /^(sips?)?:?(?:([^\\s>:@]+)(?::([^\\s@>]+))?@)([\\w\\-.]+)(?::(\\d+))?((?:;[^\\s=?>;]+(?:=[^\\s?;]+)?)*)(?:\\?(([^\\s&=>]+=[^\\s&=>]+)(&[^\\s&=>]+=[^\\s&=>]+)*))?$/,\n // standard telephony num regex\n PHONE_NUMBER: /^(?:(?:\\+?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 = /^(([^<>()[\\]\\\\.,;:\\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 = /([a-z0-9][-a-z0-9, '.']{0,62})@([a-z0-9][-a-z0-9, '.']{0,62})\\.webex\\.com/i;\nexport const VALID_PMR_LINK = /(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 = /^[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\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: ['track', 'transport', 'candidate-pair', 'outbound-rtp', 'outboundrtp', 'inbound-rtp', 'inboundrtp', 'remote-inbound-rtp', 'remote-outbound-rtp', 'remote-candidate', 'local-candidate', '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_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_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_CONTROLS_LAYOUT_UPDATE: 'meeting:layout:update',\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 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};\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 ROAP_OK: 'ROAP_OK',\n ROAP_ANSWER: 'ROAP_ANSWER',\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: '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: '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: '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: '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};\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};\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 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_CONTAINER_UPDATED: 'CONTROLS_MEETING_CONTAINER_UPDATED',\n SELF_UNADMITTED_GUEST: 'SELF_UNADMITTED_GUEST',\n SELF_ADMITTED_GUEST: 'SELF_ADMITTED_GUEST',\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 }\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 // 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: '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\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};\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 RTC_CONFIGURATION_FIREFOX = {iceServers: [], bundlePolicy: 'max-compat'};\nexport const RTC_CONFIGURATION = {iceServers: []};\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 localStorage: 'reachability.result'\n};\n\nexport const ROAP = {\n ROAP_TRANSITIONS: {\n STEP: 'step'\n },\n ROAP_TYPES: {\n OFFER: 'OFFER',\n ANSWER: 'ANSWER',\n OK: 'OK',\n ERROR: 'ERROR',\n SHUTDOWN: 'SHUTDOWN',\n OFFER_REQUEST: 'OFFER_REQUEST'\n },\n ROAP_STATE: {\n INIT: 'INIT',\n WAIT_RX_OFFER: 'WAIT_RX_OFFER',\n WAIT_RX_ANSWER: 'WAIT_RX_ANSWER',\n WAIT_RX_OK: 'WAIT_RX_OK',\n WAIT_TX_OFFER: 'WAIT_TX_OFFER',\n WAIT_TX_ANSWER: 'WAIT_TX_ANSWER',\n WAIT_TX_OK: 'WAIT_TX_OK',\n IDLE_LOCAL_OFFER: 'IDLE_LOCAL_OFFER',\n IDLE_REMOTE_OFFER: 'IDLE_REMOTE_OFFER',\n GLARE: 'GLARE',\n ERROR: 'ERROR'\n },\n ROAP_SIGNAL: {\n RX_OFFER: 'RX_OFFER',\n TX_OFFER: 'TX_OFFER',\n RX_ANSWER: 'RX_ANSWER',\n TX_ANSWER: 'TX_ANSWER',\n RX_OK: 'RX_OK',\n TX_OK: 'TX_OK',\n GLARE_RESOLVED: 'GLARE_RESOLVED'\n },\n RECEIVE_ROAP_MSG: 'RECEIVE_ROAP_MSG',\n SEND_ROAP_MSG: 'SEND_ROAP_MSG',\n SEND_ROAP_MSG_SUCCESS: 'SEND_ROAP_MSG_SUCCESS',\n RESET_ROAP_STATE: 'RESET_ROAP_STATE',\n RECEIVE_CALL_LEAVE: 'RECEIVE_CALL_LEAVE',\n ROAP_MERCURY: 'event:locus.message.roap',\n ROAP_VERSION: '2',\n RX_: 'RX_',\n TX_: 'TX_'\n};\n\nexport const MediaContent = {\n main: 'main',\n slides: 'slides'\n};\n\nexport const SDP = {\n A_CONTENT_SLIDES: 'a=content:slides',\n ROLLBACK: 'rollback',\n HAVE_LOCAL_OFFER: 'have-local-offer',\n HAVE_REMOTE_OFFER: 'have-remote-offer',\n STABLE: 'stable',\n OFFER: 'offer',\n M_LINE: 'm=',\n MAX_FS: 'max-fs=',\n B_LINE: 'b=TIAS',\n // Edonus repeated key frames request\n PERIODIC_KEYFRAME: 'a=periodic-keyframes:20',\n CARRIAGE_RETURN: '\\r\\n',\n BAD_MEDIA_PORTS: [0]\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 AUDIO_CORRELATE: 'audio',\n VIDEO_CORRELATE: 'video',\n SHARE_CORRELATE: 'share',\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\nexport const QUALITY_LEVELS = {\n LOW: 'LOW',\n MEDIUM: 'MEDIUM',\n HIGH: 'HIGH'\n};\n\nexport const VIDEO_RESOLUTIONS = {\n [QUALITY_LEVELS.LOW]: {\n video: {\n width: {\n max: 320,\n ideal: 320\n },\n height: {\n max: 180,\n ideal: 180\n }\n }\n },\n\n [QUALITY_LEVELS.MEDIUM]: {\n video: {\n width: {\n max: 640,\n ideal: 640\n },\n height: {\n max: 360,\n ideal: 360\n }\n }\n },\n\n [QUALITY_LEVELS.HIGH]: {\n video: {\n width: {\n max: 1280,\n ideal: 1280\n },\n height: {\n max: 720,\n ideal: 720\n }\n }\n }\n};\n\n/**\n * Max frame sizes based on h264 configs\n * https://en.wikipedia.org/wiki/Advanced_Video_Coding\n */\nexport const MAX_FRAMESIZES = {\n [QUALITY_LEVELS.LOW]: 1620,\n [QUALITY_LEVELS.MEDIUM]: 3600,\n [QUALITY_LEVELS.HIGH]: 8192\n};\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\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"],"mappings":"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"}
@@ -349,8 +349,6 @@ var MeetingInfoV2 = /*#__PURE__*/function () {
349
349
  body = _context2.sent;
350
350
  options = {
351
351
  method: _constants.HTTP_VERBS.POST,
352
- service: 'webex-appapi-service',
353
- resource: 'meetingInfo',
354
352
  body: body
355
353
  };
356
354
  _context2.next = 14;
@@ -358,7 +356,14 @@ var MeetingInfoV2 = /*#__PURE__*/function () {
358
356
 
359
357
  case 14:
360
358
  directURI = _context2.sent;
361
- if (directURI) options.directURI = directURI;
359
+
360
+ if (directURI) {
361
+ options.uri = directURI;
362
+ } else {
363
+ options.service = _constants.WBXAPPAPI_SERVICE;
364
+ options.resource = 'meetingInfo';
365
+ }
366
+
362
367
  return _context2.abrupt("return", this.webex.request(options).then(function (response) {
363
368
  _metrics.default.sendBehavioralMetric(_constants2.default.FETCH_MEETING_INFO_V1_SUCCESS);
364
369
 
@@ -1 +1 @@
1
- {"version":3,"names":["PASSWORD_ERROR_DEFAULT_MESSAGE","CAPTCHA_ERROR_DEFAULT_MESSAGE","ADHOC_MEETING_DEFAULT_ERROR","CAPTCHA_ERROR_REQUIRES_PASSWORD_CODES","MeetingInfoV2PasswordError","wbxAppApiErrorCode","meetingInfo","message","name","sdkMessage","stack","Error","wbxAppApiCode","MeetingInfoV2AdhocMeetingError","MeetingInfoV2CaptchaError","captchaInfo","isPasswordRequired","includes","MeetingInfoV2","webex","destination","type","MeetingInfoUtil","getDestinationType","conversationUrl","meetings","preferredWebexSite","getInvitees","particpants","invitees","forEach","participant","push","email","emailAddress","ciUserUuid","entryUUID","internal","conversation","get","url","includeParticipants","disableTransform","then","body","title","displayName","spaceUrl","keyUrl","encryptionKeyUrl","kroUrl","kmsResourceObjectUrl","participants","items","uri","Metrics","sendBehavioralMetric","BEHAVIORAL_METRICS","ADHOC_MEETING_SUCCESS","request","method","HTTP_VERBS","POST","catch","err","ADHOC_MEETING_FAILURE","reason","code","password","destinationType","_CONVERSATION_URL_","config","experimental","enableAdhocMeetings","createAdhocSpaceMeeting","getRequestBody","options","service","resource","getDirectMeetingInfoURI","directURI","response","FETCH_MEETING_INFO_V1_SUCCESS","statusCode","VERIFY_PASSWORD_ERROR","data","VERIFY_CAPTCHA_ERROR","captchaId","captchaID","verificationImageURL","verificationAudioURL","refreshURL","FETCH_MEETING_INFO_V1_FAILURE"],"sources":["meeting-info-v2.js"],"sourcesContent":["\nimport {HTTP_VERBS, _CONVERSATION_URL_} from '../constants';\nimport Metrics from '../metrics';\nimport BEHAVIORAL_METRICS from '../metrics/constants';\n\nimport MeetingInfoUtil from './utilv2';\n\nconst PASSWORD_ERROR_DEFAULT_MESSAGE = 'Password required. Call fetchMeetingInfo() with password argument';\nconst CAPTCHA_ERROR_DEFAULT_MESSAGE = 'Captcha required. Call fetchMeetingInfo() with captchaInfo argument';\nconst ADHOC_MEETING_DEFAULT_ERROR = 'Failed starting the adhoc meeting, Please contact support team ';\nconst CAPTCHA_ERROR_REQUIRES_PASSWORD_CODES = [423005, 423006];\n\n/**\n * Error to indicate that wbxappapi requires a password\n */\nexport class MeetingInfoV2PasswordError extends Error {\n /**\n *\n * @constructor\n * @param {Number} [wbxAppApiErrorCode]\n * @param {Object} [meetingInfo]\n * @param {String} [message]\n */\n constructor(wbxAppApiErrorCode, meetingInfo, message = PASSWORD_ERROR_DEFAULT_MESSAGE) {\n super(`${message}, code=${wbxAppApiErrorCode}`);\n this.name = 'MeetingInfoV2PasswordError';\n this.sdkMessage = message;\n this.stack = (new Error()).stack;\n this.wbxAppApiCode = wbxAppApiErrorCode;\n this.meetingInfo = meetingInfo;\n }\n}\n\n/**\n * Error generating a adhoc space meeting\n */\nexport class MeetingInfoV2AdhocMeetingError extends Error {\n /**\n *\n * @constructor\n * @param {Number} [wbxAppApiErrorCode]\n * @param {String} [message]\n */\n constructor(wbxAppApiErrorCode, message = ADHOC_MEETING_DEFAULT_ERROR) {\n super(`${message}, code=${wbxAppApiErrorCode}`);\n this.name = 'MeetingInfoV2AdhocMeetingError';\n this.sdkMessage = message;\n this.stack = (new Error()).stack;\n this.wbxAppApiCode = wbxAppApiErrorCode;\n }\n}\n\n\n/**\n * Error to indicate that preferred webex site not present to start adhoc meeting\n */\nexport class MeetingInfoV2CaptchaError extends Error {\n /**\n *\n * @constructor\n * @param {Number} [wbxAppApiErrorCode]\n * @param {Object} [captchaInfo]\n * @param {String} [message]\n */\n constructor(wbxAppApiErrorCode, captchaInfo, message = CAPTCHA_ERROR_DEFAULT_MESSAGE) {\n super(`${message}, code=${wbxAppApiErrorCode}`);\n this.name = 'MeetingInfoV2PasswordError';\n this.sdkMessage = message;\n this.stack = (new Error()).stack;\n this.wbxAppApiCode = wbxAppApiErrorCode;\n this.isPasswordRequired = CAPTCHA_ERROR_REQUIRES_PASSWORD_CODES.includes(wbxAppApiErrorCode);\n this.captchaInfo = captchaInfo;\n }\n}\n\n/**\n * @class MeetingInfo\n */\nexport default class MeetingInfoV2 {\n /**\n *\n * @param {WebexSDK} webex\n */\n constructor(webex) {\n this.webex = webex;\n }\n\n /**\n * converts hydra id into conversation url and persons Id\n * @param {String} destination one of many different types of destinations to look up info for\n * @param {String} [type] to match up with the destination value\n * @returns {Promise} destination and type\n * @public\n * @memberof MeetingInfo\n */\n fetchInfoOptions(destination, type = null) {\n return MeetingInfoUtil.getDestinationType({\n destination,\n type,\n webex: this.webex\n });\n }\n\n /**\n * Creates adhoc space meetings for a space by fetching the conversation infomation\n * @param {String} conversationUrl conversationUrl to start adhoc meeting on\n * @returns {Promise} returns a meeting info object\n * @public\n * @memberof MeetingInfo\n */\n async createAdhocSpaceMeeting(conversationUrl) {\n if (!this.webex.meetings.preferredWebexSite) {\n throw Error('No preferred webex site found');\n }\n const getInvitees = (particpants = []) => {\n const invitees = [];\n\n if (particpants) {\n particpants.forEach((participant) => {\n invitees.push({\n email: participant.emailAddress,\n ciUserUuid: participant.entryUUID\n });\n });\n }\n\n return invitees;\n };\n\n return this.webex.internal.conversation.get(\n {url: conversationUrl},\n {includeParticipants: true, disableTransform: true}\n )\n .then((conversation) => {\n const body = {\n title: conversation.displayName,\n spaceUrl: conversation.url,\n keyUrl: conversation.encryptionKeyUrl,\n kroUrl: conversation.kmsResourceObjectUrl,\n invitees: getInvitees(conversation.participants?.items)\n };\n\n const uri = this.webex.meetings.preferredWebexSite ?\n `https://${this.webex.meetings.preferredWebexSite}/wbxappapi/v2/meetings/spaceInstant` : '';\n\n Metrics.sendBehavioralMetric(\n BEHAVIORAL_METRICS.ADHOC_MEETING_SUCCESS\n );\n\n return this.webex.request({\n method: HTTP_VERBS.POST,\n uri,\n body\n });\n })\n .catch((err) => {\n Metrics.sendBehavioralMetric(\n BEHAVIORAL_METRICS.ADHOC_MEETING_FAILURE,\n {\n reason: err.message,\n stack: err.stack\n }\n );\n throw new MeetingInfoV2AdhocMeetingError(err.body?.code, err.body?.message);\n });\n }\n\n /**\n * Fetches meeting info from the server\n * @param {String} destination one of many different types of destinations to look up info for\n * @param {String} [type] to match up with the destination value\n * @param {String} password\n * @param {Object} captchaInfo\n * @param {String} captchaInfo.code\n * @param {String} captchaInfo.id\n * @returns {Promise} returns a meeting info object\n * @public\n * @memberof MeetingInfo\n */\n async fetchMeetingInfo(destination, type = null, password = null, captchaInfo = null) {\n const destinationType = await MeetingInfoUtil.getDestinationType({\n destination,\n type,\n webex: this.webex\n });\n\n if (destinationType.type === _CONVERSATION_URL_ && this.webex.config.meetings.experimental.enableAdhocMeetings) {\n return this.createAdhocSpaceMeeting(destinationType.destination);\n }\n\n const body = await MeetingInfoUtil.getRequestBody({...destinationType, password, captchaInfo});\n\n const options = {\n method: HTTP_VERBS.POST,\n service: 'webex-appapi-service',\n resource: 'meetingInfo',\n body\n };\n\n const directURI = await MeetingInfoUtil.getDirectMeetingInfoURI(destinationType);\n\n if (directURI) options.directURI = directURI;\n\n return this.webex.request(options)\n .then((response) => {\n Metrics.sendBehavioralMetric(\n BEHAVIORAL_METRICS.FETCH_MEETING_INFO_V1_SUCCESS\n );\n\n return response;\n })\n .catch((err) => {\n if (err?.statusCode === 403) {\n Metrics.sendBehavioralMetric(\n BEHAVIORAL_METRICS.VERIFY_PASSWORD_ERROR,\n {\n reason: err.message,\n stack: err.stack\n }\n );\n\n throw new MeetingInfoV2PasswordError(err.body?.code, err.body?.data?.meetingInfo);\n }\n if (err?.statusCode === 423) {\n Metrics.sendBehavioralMetric(\n BEHAVIORAL_METRICS.VERIFY_CAPTCHA_ERROR,\n {\n reason: err.message,\n stack: err.stack\n }\n );\n\n throw new MeetingInfoV2CaptchaError(err.body?.code, {\n captchaId: err.body.captchaID,\n verificationImageURL: err.body.verificationImageURL,\n verificationAudioURL: err.body.verificationAudioURL,\n refreshURL: err.body.refreshURL\n });\n }\n\n Metrics.sendBehavioralMetric(\n BEHAVIORAL_METRICS.FETCH_MEETING_INFO_V1_FAILURE,\n {\n reason: err.message,\n stack: err.stack\n }\n );\n throw err;\n });\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["PASSWORD_ERROR_DEFAULT_MESSAGE","CAPTCHA_ERROR_DEFAULT_MESSAGE","ADHOC_MEETING_DEFAULT_ERROR","CAPTCHA_ERROR_REQUIRES_PASSWORD_CODES","MeetingInfoV2PasswordError","wbxAppApiErrorCode","meetingInfo","message","name","sdkMessage","stack","Error","wbxAppApiCode","MeetingInfoV2AdhocMeetingError","MeetingInfoV2CaptchaError","captchaInfo","isPasswordRequired","includes","MeetingInfoV2","webex","destination","type","MeetingInfoUtil","getDestinationType","conversationUrl","meetings","preferredWebexSite","getInvitees","particpants","invitees","forEach","participant","push","email","emailAddress","ciUserUuid","entryUUID","internal","conversation","get","url","includeParticipants","disableTransform","then","body","title","displayName","spaceUrl","keyUrl","encryptionKeyUrl","kroUrl","kmsResourceObjectUrl","participants","items","uri","Metrics","sendBehavioralMetric","BEHAVIORAL_METRICS","ADHOC_MEETING_SUCCESS","request","method","HTTP_VERBS","POST","catch","err","ADHOC_MEETING_FAILURE","reason","code","password","destinationType","_CONVERSATION_URL_","config","experimental","enableAdhocMeetings","createAdhocSpaceMeeting","getRequestBody","options","getDirectMeetingInfoURI","directURI","service","WBXAPPAPI_SERVICE","resource","response","FETCH_MEETING_INFO_V1_SUCCESS","statusCode","VERIFY_PASSWORD_ERROR","data","VERIFY_CAPTCHA_ERROR","captchaId","captchaID","verificationImageURL","verificationAudioURL","refreshURL","FETCH_MEETING_INFO_V1_FAILURE"],"sources":["meeting-info-v2.js"],"sourcesContent":["\nimport {HTTP_VERBS, _CONVERSATION_URL_, WBXAPPAPI_SERVICE} from '../constants';\nimport Metrics from '../metrics';\nimport BEHAVIORAL_METRICS from '../metrics/constants';\n\nimport MeetingInfoUtil from './utilv2';\n\nconst PASSWORD_ERROR_DEFAULT_MESSAGE = 'Password required. Call fetchMeetingInfo() with password argument';\nconst CAPTCHA_ERROR_DEFAULT_MESSAGE = 'Captcha required. Call fetchMeetingInfo() with captchaInfo argument';\nconst ADHOC_MEETING_DEFAULT_ERROR = 'Failed starting the adhoc meeting, Please contact support team ';\nconst CAPTCHA_ERROR_REQUIRES_PASSWORD_CODES = [423005, 423006];\n\n/**\n * Error to indicate that wbxappapi requires a password\n */\nexport class MeetingInfoV2PasswordError extends Error {\n /**\n *\n * @constructor\n * @param {Number} [wbxAppApiErrorCode]\n * @param {Object} [meetingInfo]\n * @param {String} [message]\n */\n constructor(wbxAppApiErrorCode, meetingInfo, message = PASSWORD_ERROR_DEFAULT_MESSAGE) {\n super(`${message}, code=${wbxAppApiErrorCode}`);\n this.name = 'MeetingInfoV2PasswordError';\n this.sdkMessage = message;\n this.stack = (new Error()).stack;\n this.wbxAppApiCode = wbxAppApiErrorCode;\n this.meetingInfo = meetingInfo;\n }\n}\n\n/**\n * Error generating a adhoc space meeting\n */\nexport class MeetingInfoV2AdhocMeetingError extends Error {\n /**\n *\n * @constructor\n * @param {Number} [wbxAppApiErrorCode]\n * @param {String} [message]\n */\n constructor(wbxAppApiErrorCode, message = ADHOC_MEETING_DEFAULT_ERROR) {\n super(`${message}, code=${wbxAppApiErrorCode}`);\n this.name = 'MeetingInfoV2AdhocMeetingError';\n this.sdkMessage = message;\n this.stack = (new Error()).stack;\n this.wbxAppApiCode = wbxAppApiErrorCode;\n }\n}\n\n\n/**\n * Error to indicate that preferred webex site not present to start adhoc meeting\n */\nexport class MeetingInfoV2CaptchaError extends Error {\n /**\n *\n * @constructor\n * @param {Number} [wbxAppApiErrorCode]\n * @param {Object} [captchaInfo]\n * @param {String} [message]\n */\n constructor(wbxAppApiErrorCode, captchaInfo, message = CAPTCHA_ERROR_DEFAULT_MESSAGE) {\n super(`${message}, code=${wbxAppApiErrorCode}`);\n this.name = 'MeetingInfoV2PasswordError';\n this.sdkMessage = message;\n this.stack = (new Error()).stack;\n this.wbxAppApiCode = wbxAppApiErrorCode;\n this.isPasswordRequired = CAPTCHA_ERROR_REQUIRES_PASSWORD_CODES.includes(wbxAppApiErrorCode);\n this.captchaInfo = captchaInfo;\n }\n}\n\n/**\n * @class MeetingInfo\n */\nexport default class MeetingInfoV2 {\n /**\n *\n * @param {WebexSDK} webex\n */\n constructor(webex) {\n this.webex = webex;\n }\n\n /**\n * converts hydra id into conversation url and persons Id\n * @param {String} destination one of many different types of destinations to look up info for\n * @param {String} [type] to match up with the destination value\n * @returns {Promise} destination and type\n * @public\n * @memberof MeetingInfo\n */\n fetchInfoOptions(destination, type = null) {\n return MeetingInfoUtil.getDestinationType({\n destination,\n type,\n webex: this.webex\n });\n }\n\n /**\n * Creates adhoc space meetings for a space by fetching the conversation infomation\n * @param {String} conversationUrl conversationUrl to start adhoc meeting on\n * @returns {Promise} returns a meeting info object\n * @public\n * @memberof MeetingInfo\n */\n async createAdhocSpaceMeeting(conversationUrl) {\n if (!this.webex.meetings.preferredWebexSite) {\n throw Error('No preferred webex site found');\n }\n const getInvitees = (particpants = []) => {\n const invitees = [];\n\n if (particpants) {\n particpants.forEach((participant) => {\n invitees.push({\n email: participant.emailAddress,\n ciUserUuid: participant.entryUUID\n });\n });\n }\n\n return invitees;\n };\n\n return this.webex.internal.conversation.get(\n {url: conversationUrl},\n {includeParticipants: true, disableTransform: true}\n )\n .then((conversation) => {\n const body = {\n title: conversation.displayName,\n spaceUrl: conversation.url,\n keyUrl: conversation.encryptionKeyUrl,\n kroUrl: conversation.kmsResourceObjectUrl,\n invitees: getInvitees(conversation.participants?.items)\n };\n\n const uri = this.webex.meetings.preferredWebexSite ?\n `https://${this.webex.meetings.preferredWebexSite}/wbxappapi/v2/meetings/spaceInstant` : '';\n\n Metrics.sendBehavioralMetric(\n BEHAVIORAL_METRICS.ADHOC_MEETING_SUCCESS\n );\n\n return this.webex.request({\n method: HTTP_VERBS.POST,\n uri,\n body\n });\n })\n .catch((err) => {\n Metrics.sendBehavioralMetric(\n BEHAVIORAL_METRICS.ADHOC_MEETING_FAILURE,\n {\n reason: err.message,\n stack: err.stack\n }\n );\n throw new MeetingInfoV2AdhocMeetingError(err.body?.code, err.body?.message);\n });\n }\n\n /**\n * Fetches meeting info from the server\n * @param {String} destination one of many different types of destinations to look up info for\n * @param {String} [type] to match up with the destination value\n * @param {String} password\n * @param {Object} captchaInfo\n * @param {String} captchaInfo.code\n * @param {String} captchaInfo.id\n * @returns {Promise} returns a meeting info object\n * @public\n * @memberof MeetingInfo\n */\n async fetchMeetingInfo(destination, type = null, password = null, captchaInfo = null) {\n const destinationType = await MeetingInfoUtil.getDestinationType({\n destination,\n type,\n webex: this.webex\n });\n\n if (destinationType.type === _CONVERSATION_URL_ && this.webex.config.meetings.experimental.enableAdhocMeetings) {\n return this.createAdhocSpaceMeeting(destinationType.destination);\n }\n\n const body = await MeetingInfoUtil.getRequestBody({...destinationType, password, captchaInfo});\n\n const options = {\n method: HTTP_VERBS.POST,\n body\n };\n\n const directURI = await MeetingInfoUtil.getDirectMeetingInfoURI(destinationType);\n\n if (directURI) {\n options.uri = directURI;\n }\n else {\n options.service = WBXAPPAPI_SERVICE;\n options.resource = 'meetingInfo';\n }\n\n return this.webex.request(options)\n .then((response) => {\n Metrics.sendBehavioralMetric(\n BEHAVIORAL_METRICS.FETCH_MEETING_INFO_V1_SUCCESS\n );\n\n return response;\n })\n .catch((err) => {\n if (err?.statusCode === 403) {\n Metrics.sendBehavioralMetric(\n BEHAVIORAL_METRICS.VERIFY_PASSWORD_ERROR,\n {\n reason: err.message,\n stack: err.stack\n }\n );\n\n throw new MeetingInfoV2PasswordError(err.body?.code, err.body?.data?.meetingInfo);\n }\n if (err?.statusCode === 423) {\n Metrics.sendBehavioralMetric(\n BEHAVIORAL_METRICS.VERIFY_CAPTCHA_ERROR,\n {\n reason: err.message,\n stack: err.stack\n }\n );\n\n throw new MeetingInfoV2CaptchaError(err.body?.code, {\n captchaId: err.body.captchaID,\n verificationImageURL: err.body.verificationImageURL,\n verificationAudioURL: err.body.verificationAudioURL,\n refreshURL: err.body.refreshURL\n });\n }\n\n Metrics.sendBehavioralMetric(\n BEHAVIORAL_METRICS.FETCH_MEETING_INFO_V1_FAILURE,\n {\n reason: err.message,\n stack: err.stack\n }\n );\n throw err;\n });\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA;;AACA;;AACA;;AAEA;;;;;;;;;;AAEA,IAAMA,8BAA8B,GAAG,mEAAvC;AACA,IAAMC,6BAA6B,GAAG,qEAAtC;AACA,IAAMC,2BAA2B,GAAG,iEAApC;AACA,IAAMC,qCAAqC,GAAG,CAAC,MAAD,EAAS,MAAT,CAA9C;AAEA;AACA;AACA;;IACaC,0B;;;;;EACX;AACF;AACA;AACA;AACA;AACA;AACA;EACE,oCAAYC,kBAAZ,EAAgCC,WAAhC,EAAuF;IAAA;;IAAA,IAA1CC,OAA0C,uEAAhCP,8BAAgC;IAAA;IACrF,oCAASO,OAAT,oBAA0BF,kBAA1B;IACA,MAAKG,IAAL,GAAY,4BAAZ;IACA,MAAKC,UAAL,GAAkBF,OAAlB;IACA,MAAKG,KAAL,GAAc,IAAIC,KAAJ,EAAD,CAAcD,KAA3B;IACA,MAAKE,aAAL,GAAqBP,kBAArB;IACA,MAAKC,WAAL,GAAmBA,WAAnB;IANqF;EAOtF;;;+CAf6CK,K;AAkBhD;AACA;AACA;;;;;IACaE,8B;;;;;EACX;AACF;AACA;AACA;AACA;AACA;EACE,wCAAYR,kBAAZ,EAAuE;IAAA;;IAAA,IAAvCE,OAAuC,uEAA7BL,2BAA6B;IAAA;IACrE,sCAASK,OAAT,oBAA0BF,kBAA1B;IACA,OAAKG,IAAL,GAAY,gCAAZ;IACA,OAAKC,UAAL,GAAkBF,OAAlB;IACA,OAAKG,KAAL,GAAc,IAAIC,KAAJ,EAAD,CAAcD,KAA3B;IACA,OAAKE,aAAL,GAAqBP,kBAArB;IALqE;EAMtE;;;+CAbiDM,K;AAiBpD;AACA;AACA;;;;;IACaG,yB;;;;;EACX;AACF;AACA;AACA;AACA;AACA;AACA;EACE,mCAAYT,kBAAZ,EAAgCU,WAAhC,EAAsF;IAAA;;IAAA,IAAzCR,OAAyC,uEAA/BN,6BAA+B;IAAA;IACpF,sCAASM,OAAT,oBAA0BF,kBAA1B;IACA,OAAKG,IAAL,GAAY,4BAAZ;IACA,OAAKC,UAAL,GAAkBF,OAAlB;IACA,OAAKG,KAAL,GAAc,IAAIC,KAAJ,EAAD,CAAcD,KAA3B;IACA,OAAKE,aAAL,GAAqBP,kBAArB;IACA,OAAKW,kBAAL,GAA0Bb,qCAAqC,CAACc,QAAtC,CAA+CZ,kBAA/C,CAA1B;IACA,OAAKU,WAAL,GAAmBA,WAAnB;IAPoF;EAQrF;;;+CAhB4CJ,K;AAmB/C;AACA;AACA;;;;;IACqBO,a;EACnB;AACF;AACA;AACA;EACE,uBAAYC,KAAZ,EAAmB;IAAA;IACjB,KAAKA,KAAL,GAAaA,KAAb;EACD;EAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;;;;;WACE,0BAAiBC,WAAjB,EAA2C;MAAA,IAAbC,IAAa,uEAAN,IAAM;MACzC,OAAOC,cAAA,CAAgBC,kBAAhB,CAAmC;QACxCH,WAAW,EAAXA,WADwC;QAExCC,IAAI,EAAJA,IAFwC;QAGxCF,KAAK,EAAE,KAAKA;MAH4B,CAAnC,CAAP;IAKD;IAED;AACF;AACA;AACA;AACA;AACA;AACA;;;;;6GACE,iBAA8BK,eAA9B;QAAA;;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA,IACO,KAAKL,KAAL,CAAWM,QAAX,CAAoBC,kBAD3B;kBAAA;kBAAA;gBAAA;;gBAAA,MAEUf,KAAK,CAAC,+BAAD,CAFf;;cAAA;gBAIQgB,WAJR,GAIsB,SAAdA,WAAc,GAAsB;kBAAA,IAArBC,WAAqB,uEAAP,EAAO;kBACxC,IAAMC,QAAQ,GAAG,EAAjB;;kBAEA,IAAID,WAAJ,EAAiB;oBACfA,WAAW,CAACE,OAAZ,CAAoB,UAACC,WAAD,EAAiB;sBACnCF,QAAQ,CAACG,IAAT,CAAc;wBACZC,KAAK,EAAEF,WAAW,CAACG,YADP;wBAEZC,UAAU,EAAEJ,WAAW,CAACK;sBAFZ,CAAd;oBAID,CALD;kBAMD;;kBAED,OAAOP,QAAP;gBACD,CAjBH;;gBAAA,iCAmBS,KAAKV,KAAL,CAAWkB,QAAX,CAAoBC,YAApB,CAAiCC,GAAjC,CACL;kBAACC,GAAG,EAAEhB;gBAAN,CADK,EAEL;kBAACiB,mBAAmB,EAAE,IAAtB;kBAA4BC,gBAAgB,EAAE;gBAA9C,CAFK,EAIJC,IAJI,CAIC,UAACL,YAAD,EAAkB;kBAAA;;kBACtB,IAAMM,IAAI,GAAG;oBACXC,KAAK,EAAEP,YAAY,CAACQ,WADT;oBAEXC,QAAQ,EAAET,YAAY,CAACE,GAFZ;oBAGXQ,MAAM,EAAEV,YAAY,CAACW,gBAHV;oBAIXC,MAAM,EAAEZ,YAAY,CAACa,oBAJV;oBAKXtB,QAAQ,EAAEF,WAAW,0BAACW,YAAY,CAACc,YAAd,0DAAC,sBAA2BC,KAA5B;kBALV,CAAb;kBAQA,IAAMC,GAAG,GAAG,MAAI,CAACnC,KAAL,CAAWM,QAAX,CAAoBC,kBAApB,qBACC,MAAI,CAACP,KAAL,CAAWM,QAAX,CAAoBC,kBADrB,2CAC+E,EAD3F;;kBAGA6B,gBAAA,CAAQC,oBAAR,CACEC,mBAAA,CAAmBC,qBADrB;;kBAIA,OAAO,MAAI,CAACvC,KAAL,CAAWwC,OAAX,CAAmB;oBACxBC,MAAM,EAAEC,qBAAA,CAAWC,IADK;oBAExBR,GAAG,EAAHA,GAFwB;oBAGxBV,IAAI,EAAJA;kBAHwB,CAAnB,CAAP;gBAKD,CAzBI,EA0BJmB,KA1BI,CA0BE,UAACC,GAAD,EAAS;kBAAA;;kBACdT,gBAAA,CAAQC,oBAAR,CACEC,mBAAA,CAAmBQ,qBADrB,EAEE;oBACEC,MAAM,EAAEF,GAAG,CAACzD,OADd;oBAEEG,KAAK,EAAEsD,GAAG,CAACtD;kBAFb,CAFF;;kBAOA,MAAM,IAAIG,8BAAJ,cAAmCmD,GAAG,CAACpB,IAAvC,8CAAmC,UAAUuB,IAA7C,gBAAmDH,GAAG,CAACpB,IAAvD,+CAAmD,WAAUrC,OAA7D,CAAN;gBACD,CAnCI,CAnBT;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;IAyDA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;sGACE,kBAAuBa,WAAvB;QAAA;QAAA;QAAA;QAAA;QAAA;QAAA;QAAA;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAoCC,IAApC,8DAA2C,IAA3C;gBAAiD+C,QAAjD,8DAA4D,IAA5D;gBAAkErD,WAAlE,8DAAgF,IAAhF;gBAAA;gBAAA,OACgCO,cAAA,CAAgBC,kBAAhB,CAAmC;kBAC/DH,WAAW,EAAXA,WAD+D;kBAE/DC,IAAI,EAAJA,IAF+D;kBAG/DF,KAAK,EAAE,KAAKA;gBAHmD,CAAnC,CADhC;;cAAA;gBACQkD,eADR;;gBAAA,MAOMA,eAAe,CAAChD,IAAhB,KAAyBiD,6BAAzB,IAA+C,KAAKnD,KAAL,CAAWoD,MAAX,CAAkB9C,QAAlB,CAA2B+C,YAA3B,CAAwCC,mBAP7F;kBAAA;kBAAA;gBAAA;;gBAAA,kCAQW,KAAKC,uBAAL,CAA6BL,eAAe,CAACjD,WAA7C,CARX;;cAAA;gBAAA;gBAAA,OAWqBE,cAAA,CAAgBqD,cAAhB,iCAAmCN,eAAnC;kBAAoDD,QAAQ,EAARA,QAApD;kBAA8DrD,WAAW,EAAXA;gBAA9D,GAXrB;;cAAA;gBAWQ6B,IAXR;gBAaQgC,OAbR,GAakB;kBACdhB,MAAM,EAAEC,qBAAA,CAAWC,IADL;kBAEdlB,IAAI,EAAJA;gBAFc,CAblB;gBAAA;gBAAA,OAkB0BtB,cAAA,CAAgBuD,uBAAhB,CAAwCR,eAAxC,CAlB1B;;cAAA;gBAkBQS,SAlBR;;gBAoBE,IAAIA,SAAJ,EAAe;kBACbF,OAAO,CAACtB,GAAR,GAAcwB,SAAd;gBACD,CAFD,MAGK;kBACHF,OAAO,CAACG,OAAR,GAAkBC,4BAAlB;kBACAJ,OAAO,CAACK,QAAR,GAAmB,aAAnB;gBACD;;gBA1BH,kCA4BS,KAAK9D,KAAL,CAAWwC,OAAX,CAAmBiB,OAAnB,EACJjC,IADI,CACC,UAACuC,QAAD,EAAc;kBAClB3B,gBAAA,CAAQC,oBAAR,CACEC,mBAAA,CAAmB0B,6BADrB;;kBAIA,OAAOD,QAAP;gBACD,CAPI,EAQJnB,KARI,CAQE,UAACC,GAAD,EAAS;kBACd,IAAI,CAAAA,GAAG,SAAH,IAAAA,GAAG,WAAH,YAAAA,GAAG,CAAEoB,UAAL,MAAoB,GAAxB,EAA6B;oBAAA;;oBAC3B7B,gBAAA,CAAQC,oBAAR,CACEC,mBAAA,CAAmB4B,qBADrB,EAEE;sBACEnB,MAAM,EAAEF,GAAG,CAACzD,OADd;sBAEEG,KAAK,EAAEsD,GAAG,CAACtD;oBAFb,CAFF;;oBAQA,MAAM,IAAIN,0BAAJ,eAA+B4D,GAAG,CAACpB,IAAnC,+CAA+B,WAAUuB,IAAzC,gBAA+CH,GAAG,CAACpB,IAAnD,kEAA+C,WAAU0C,IAAzD,oDAA+C,gBAAgBhF,WAA/D,CAAN;kBACD;;kBACD,IAAI,CAAA0D,GAAG,SAAH,IAAAA,GAAG,WAAH,YAAAA,GAAG,CAAEoB,UAAL,MAAoB,GAAxB,EAA6B;oBAAA;;oBAC3B7B,gBAAA,CAAQC,oBAAR,CACEC,mBAAA,CAAmB8B,oBADrB,EAEE;sBACErB,MAAM,EAAEF,GAAG,CAACzD,OADd;sBAEEG,KAAK,EAAEsD,GAAG,CAACtD;oBAFb,CAFF;;oBAQA,MAAM,IAAII,yBAAJ,eAA8BkD,GAAG,CAACpB,IAAlC,+CAA8B,WAAUuB,IAAxC,EAA8C;sBAClDqB,SAAS,EAAExB,GAAG,CAACpB,IAAJ,CAAS6C,SAD8B;sBAElDC,oBAAoB,EAAE1B,GAAG,CAACpB,IAAJ,CAAS8C,oBAFmB;sBAGlDC,oBAAoB,EAAE3B,GAAG,CAACpB,IAAJ,CAAS+C,oBAHmB;sBAIlDC,UAAU,EAAE5B,GAAG,CAACpB,IAAJ,CAASgD;oBAJ6B,CAA9C,CAAN;kBAMD;;kBAEDrC,gBAAA,CAAQC,oBAAR,CACEC,mBAAA,CAAmBoC,6BADrB,EAEE;oBACE3B,MAAM,EAAEF,GAAG,CAACzD,OADd;oBAEEG,KAAK,EAAEsD,GAAG,CAACtD;kBAFb,CAFF;;kBAOA,MAAMsD,GAAN;gBACD,CA7CI,CA5BT;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webex/plugin-meetings",
3
- "version": "2.20.0",
3
+ "version": "2.20.2",
4
4
  "description": "",
5
5
  "license": "MIT",
6
6
  "contributors": [
@@ -24,15 +24,15 @@
24
24
  },
25
25
  "dependencies": {
26
26
  "@babel/runtime-corejs2": "^7.14.8",
27
- "@webex/webex-core": "2.20.0",
28
- "@webex/internal-plugin-mercury": "2.20.0",
29
- "@webex/internal-plugin-conversation": "2.20.0",
27
+ "@webex/webex-core": "2.20.2",
28
+ "@webex/internal-plugin-mercury": "2.20.2",
29
+ "@webex/internal-plugin-conversation": "2.20.2",
30
30
  "webrtc-adapter": "^7.7.0",
31
31
  "lodash": "^4.17.21",
32
32
  "uuid": "^3.3.2",
33
33
  "global": "^4.4.0",
34
34
  "ip-anonymize": "^0.1.0",
35
- "@webex/common": "2.20.0",
35
+ "@webex/common": "2.20.2",
36
36
  "bowser": "^2.11.0",
37
37
  "sdp-transform": "^2.12.0",
38
38
  "btoa": "^1.2.1",
package/src/constants.ts CHANGED
@@ -165,6 +165,8 @@ export const WEBEX_DOT_COM = 'webex.com';
165
165
 
166
166
  export const CONVERSATION_SERVICE = 'identityLookup';
167
167
 
168
+ export const WBXAPPAPI_SERVICE = 'webex-appapi-service';
169
+
168
170
  // ******************* ARRAYS ********************
169
171
  // Please alphabetize
170
172
  export const DEFAULT_EXCLUDED_STATS = ['timestamp', 'ssrc', 'priority'];
@@ -1,5 +1,5 @@
1
1
 
2
- import {HTTP_VERBS, _CONVERSATION_URL_} from '../constants';
2
+ import {HTTP_VERBS, _CONVERSATION_URL_, WBXAPPAPI_SERVICE} from '../constants';
3
3
  import Metrics from '../metrics';
4
4
  import BEHAVIORAL_METRICS from '../metrics/constants';
5
5
 
@@ -192,14 +192,18 @@ export default class MeetingInfoV2 {
192
192
 
193
193
  const options = {
194
194
  method: HTTP_VERBS.POST,
195
- service: 'webex-appapi-service',
196
- resource: 'meetingInfo',
197
195
  body
198
196
  };
199
197
 
200
198
  const directURI = await MeetingInfoUtil.getDirectMeetingInfoURI(destinationType);
201
199
 
202
- if (directURI) options.directURI = directURI;
200
+ if (directURI) {
201
+ options.uri = directURI;
202
+ }
203
+ else {
204
+ options.service = WBXAPPAPI_SERVICE;
205
+ options.resource = 'meetingInfo';
206
+ }
203
207
 
204
208
  return this.webex.request(options)
205
209
  .then((response) => {
@@ -247,14 +247,14 @@ skipInNode(describe)('plugin-meetings', () => {
247
247
  .then(() => assert(enumerateSpy.called)));
248
248
 
249
249
  it('bob joins the meeting', () => {
250
- bob.meeting.acknowledge('INCOMING');
251
-
252
250
  const checkBobIsInMeeting = (event) => !!event.delta.updated.find((member) => bob.meeting.members.selfId === member.id && member.status === 'IN_MEETING');
253
251
 
254
- return bob.meeting.join()
255
- .then(() => testUtils.waitForEvents([{
252
+ return Promise.all([
253
+ bob.meeting.acknowledge('INCOMING').then(() => bob.meeting.join()),
254
+ testUtils.waitForEvents([{
256
255
  scope: alice.meeting.members, event: 'members:update', user: alice, match: checkBobIsInMeeting
257
- }]));
256
+ }])
257
+ ]);
258
258
  });
259
259
 
260
260
  it('bob adds media to the meeting', () => Promise.all([
@@ -688,12 +688,7 @@ skipInNode(describe)('plugin-meetings', () => {
688
688
 
689
689
  return Promise.all([
690
690
  testUtils.delayedPromise(chris.meeting.join()),
691
- testUtils.waitForEvents([{scope: alice.meeting.members, event: 'members:update'}])
692
- .then((response) => {
693
- const chrisParticipant = response[0].result.delta.updated.find((member) => member.participant.identity === chris.id);
694
-
695
- assert.equal(chrisParticipant.status, 'IN_MEETING');
696
- })
691
+ testUtils.waitForEvents([{scope: alice.meeting.members, event: 'members:update', match: testUtils.checkParticipantUpdatedStatus(chris, 'IN_MEETING')}])
697
692
  ])
698
693
  .then(() => {
699
694
  assert.equal(alice.meeting.members.membersCollection.get(chris.meeting.members.selfId).participant.state, 'JOINED');
@@ -704,12 +699,7 @@ skipInNode(describe)('plugin-meetings', () => {
704
699
  })
705
700
  .then(() => Promise.all([
706
701
  testUtils.delayedPromise(chris.meeting.leave()),
707
- testUtils.waitForEvents([{scope: alice.meeting.members, event: 'members:update'}])
708
- .then((response) => {
709
- const chrisParticipant = response[0].result.delta.updated.find((member) => member.participant.identity === chris.id);
710
-
711
- assert.equal(chrisParticipant.status, 'NOT_IN_MEETING');
712
- })
702
+ testUtils.waitForEvents([{scope: alice.meeting.members, event: 'members:update', match: testUtils.checkParticipantUpdatedStatus(chris, 'NOT_IN_MEETING')}])
713
703
  ]))
714
704
  .catch((e) => {
715
705
  console.error('Error chris joining the meeting ', e);
@@ -2,6 +2,7 @@
2
2
  import {assert} from '@webex/test-helper-chai';
3
3
  import {skipInNode, jenkinsOnly} from '@webex/test-helper-mocha';
4
4
  import {patterns} from '@webex/common';
5
+
5
6
  import MeetingInfoUtil from '@webex/plugin-meetings/src/meeting-info/utilv2';
6
7
 
7
8
  import CMR from '../../utils/cmr';
@@ -152,32 +153,18 @@ skipInNode(describe)('plugin-meetings', () => {
152
153
  .then(() => testUtils.addMedia(guest))
153
154
  .catch((e) => { console.error('Error chris joining the meeting ', e); throw e; }));
154
155
 
155
- it('alice Leaves the meeting', () =>
156
- Promise.all([
157
- testUtils.delayedPromise(alice.meeting.leave()),
158
- testUtils.waitForEvents([{scope: chris.meeting.members, event: 'members:update'}])
159
- .then((response) => {
160
- const aliceParticipant = response[0].result.delta.updated.find((member) => alice.meeting.members.selfId === member.id);
161
-
162
- assert.equal(aliceParticipant.status, 'NOT_IN_MEETING');
163
- })
164
- ]).then(() => testUtils.waitForStateChange(alice.meeting, 'LEFT')));
165
-
166
- it('bob and chris leave meeting', () => Promise.all([
167
- testUtils.delayedPromise(bob.meeting.leave()),
168
- testUtils.waitForEvents([{scope: chris.meeting.members, event: 'members:update'}])
169
- .then((response) => {
170
- const bobParticipant = response[0].result.delta.updated.find((member) => bob.meeting.members.selfId === member.id);
171
-
172
- assert.equal(bobParticipant.status, 'NOT_IN_MEETING');
173
- })
174
- ]).then(() => testUtils.waitForStateChange(bob.meeting, 'LEFT'))
175
- .then(() => {
176
- console.log('CHRIS MEETING', chris.meeting.locusInfo);
156
+ it('alice Leaves the meeting', () => Promise.all([
157
+ testUtils.delayedPromise(alice.meeting.leave()),
158
+ testUtils.waitForEvents([{scope: chris.meeting.members, event: 'members:update', match: testUtils.checkParticipantUpdatedStatus(alice, 'NOT_IN_MEETING')}])
159
+ ]).then(() => testUtils.waitForStateChange(alice.meeting, 'LEFT')));
177
160
 
178
- return chris.meeting.leave();
179
- })
180
- .then(() => testUtils.waitUntil(4000)));
161
+ it('bob and chris leave meeting', () =>
162
+ Promise.all([
163
+ testUtils.delayedPromise(bob.meeting.leave()),
164
+ testUtils.waitForEvents([{scope: chris.meeting.members, event: 'members:update', match: testUtils.checkParticipantUpdatedStatus(bob, 'NOT_IN_MEETING')}])
165
+ ]).then(() => testUtils.waitForStateChange(bob.meeting, 'LEFT'))
166
+ .then(() => chris.meeting.leave())
167
+ .then(() => testUtils.waitUntil(4000)));
181
168
 
182
169
 
183
170
  it('check for meeting cleanup', () => {
@@ -323,13 +310,10 @@ skipInNode(describe)('plugin-meetings', () => {
323
310
  return Promise.all([
324
311
  testUtils.delayedPromise(guest.meeting.join()),
325
312
  testUtils.waitForEvents([{scope: guest.meeting, event: 'meeting:self:lobbyWaiting'}]),
326
- testUtils.waitForEvents([{scope: alice.meeting.members, event: 'members:update'}])
327
- .then((response) => {
328
- const guestParticipant = response[0].result.delta.updated.find((member) => guest.meeting.members.selfId === member.id);
329
-
330
- assert.equal(guestParticipant.status, 'IN_LOBBY');
313
+ testUtils.waitForEvents([{scope: alice.meeting.members, event: 'members:update', match: testUtils.checkParticipantUpdatedStatus(guest, 'IN_LOBBY')}])
314
+ .then(() => {
331
315
  Promise.all([
332
- testUtils.delayedPromise(alice.meeting.admit(guestParticipant.id)),
316
+ testUtils.delayedPromise(alice.meeting.admit(guest.meeting.members.selfId)),
333
317
  testUtils.waitForEvents([{scope: guest.meeting, event: 'meeting:self:guestAdmitted'}])
334
318
  ]);
335
319
  })
@@ -337,17 +321,12 @@ skipInNode(describe)('plugin-meetings', () => {
337
321
  .then(() => testUtils.waitForStateChange(guest.meeting, 'JOINED'))
338
322
  .then(() => testUtils.addMedia(guest));
339
323
  })
324
+ .catch((e) => { console.error('Error guest joining the meeting ', e); throw e; })
340
325
  .then(() => Promise.all([
341
326
  testUtils.delayedPromise(chris.meeting.leave()),
342
- testUtils.waitForEvents([{scope: alice.meeting.members, event: 'members:update'}])
343
- .then((response) => {
344
- console.log('CHRIS RESPONSE ', response[0]);
345
- const chrisParticipant = response[0].result.delta.updated.find((member) => chris.meeting.members.selfId === member.id);
346
-
347
- assert.equal(chrisParticipant.status, 'NOT_IN_MEETING');
348
- })
327
+ testUtils.waitForEvents([{scope: alice.meeting.members, event: 'members:update', match: testUtils.checkParticipantUpdatedStatus(chris, 'NOT_IN_MEETING')}])
349
328
  ]))
350
- .catch((e) => { console.error('Error chris joining the meeting ', e); throw e; }));
329
+ .catch((e) => { console.error('Error chris leaving the meeting ', e); throw e; }));
351
330
 
352
331
  it('leave claimed PMR', () => alice.meeting.leave()
353
332
  .then(() => bob.meeting.leave())
@@ -7,13 +7,15 @@ import sinon from 'sinon';
7
7
  import MockWebex from '@webex/test-helper-mock-webex';
8
8
  import Device from '@webex/internal-plugin-device';
9
9
  import Mercury from '@webex/internal-plugin-mercury';
10
-
11
- import Meetings from '@webex/plugin-meetings/src/meetings';
12
10
  import {
13
11
  _MEETING_ID_,
14
12
  _PERSONAL_ROOM_,
15
- _CONVERSATION_URL_
13
+ _CONVERSATION_URL_,
14
+ _SIP_URI_,
15
+ WBXAPPAPI_SERVICE
16
16
  } from '@webex/plugin-meetings/src/constants';
17
+
18
+ import Meetings from '@webex/plugin-meetings/src/meetings';
17
19
  import MeetingInfo, {MeetingInfoV2PasswordError, MeetingInfoV2CaptchaError, MeetingInfoV2AdhocMeetingError} from '@webex/plugin-meetings/src/meeting-info/meeting-info-v2';
18
20
  import MeetingInfoUtil from '@webex/plugin-meetings/src/meeting-info/utilv2';
19
21
  import Metrics from '@webex/plugin-meetings/src/metrics';
@@ -101,7 +103,7 @@ describe('plugin-meetings', () => {
101
103
  });
102
104
 
103
105
  assert.calledWith(webex.request, {
104
- method: 'POST', service: 'webex-appapi-service', resource: 'meetingInfo', body: {meetingKey: '1234323'}
106
+ method: 'POST', service: WBXAPPAPI_SERVICE, resource: 'meetingInfo', body: {meetingKey: '1234323'}
105
107
  });
106
108
  assert.deepEqual(result, requestResponse);
107
109
 
@@ -122,12 +124,38 @@ describe('plugin-meetings', () => {
122
124
  });
123
125
 
124
126
  assert.calledWith(webex.request, {
125
- method: 'POST', service: 'webex-appapi-service', resource: 'meetingInfo', body: {meetingKey: '1234323'}
127
+ method: 'POST', service: WBXAPPAPI_SERVICE, resource: 'meetingInfo', body: {meetingKey: '1234323'}
128
+ });
129
+ assert.deepEqual(result, requestResponse);
130
+
131
+ MeetingInfoUtil.getDestinationType.restore();
132
+ MeetingInfoUtil.getRequestBody.restore();
133
+ });
134
+
135
+ it('should use the direct uri for the request if it exists', async () => {
136
+ const body = {meetingKey: '1234323'};
137
+ const requestResponse = {statusCode: 200, body};
138
+
139
+ sinon.stub(MeetingInfoUtil, 'getDestinationType').returns(Promise.resolve({type: _SIP_URI_, destination: 'example@something.webex.com'}));
140
+ sinon.stub(MeetingInfoUtil, 'getRequestBody').returns(Promise.resolve(body));
141
+ sinon.stub(MeetingInfoUtil, 'getDirectMeetingInfoURI').returns('https://example.com');
142
+ webex.request.resolves(requestResponse);
143
+
144
+ const result = await meetingInfo.fetchMeetingInfo(
145
+ 'example@something.webex.com',
146
+ _SIP_URI_,
147
+ );
148
+
149
+ assert.calledWith(MeetingInfoUtil.getDestinationType, {destination: 'example@something.webex.com', type: _SIP_URI_, webex});
150
+ assert.calledWith(MeetingInfoUtil.getDirectMeetingInfoURI, {destination: 'example@something.webex.com', type: _SIP_URI_});
151
+ assert.calledWith(webex.request, {
152
+ method: 'POST', uri: 'https://example.com', body: {meetingKey: '1234323'}
126
153
  });
127
154
  assert.deepEqual(result, requestResponse);
128
155
 
129
156
  MeetingInfoUtil.getDestinationType.restore();
130
157
  MeetingInfoUtil.getRequestBody.restore();
158
+ MeetingInfoUtil.getDirectMeetingInfoURI.restore();
131
159
  });
132
160
 
133
161
  it('should fetch meeting info with provided password and captcha code', async () => {
@@ -139,7 +167,7 @@ describe('plugin-meetings', () => {
139
167
 
140
168
  assert.calledWith(webex.request, {
141
169
  method: 'POST',
142
- service: 'webex-appapi-service',
170
+ service: WBXAPPAPI_SERVICE,
143
171
  resource: 'meetingInfo',
144
172
  body: {
145
173
  supportHostKey: true,
@@ -1,4 +1,5 @@
1
1
  import {assert} from '@webex/test-helper-chai';
2
+ import {Defer} from '@webex/common';
2
3
 
3
4
  const max = 30000;
4
5
  const waitForSpy = (spy, event) => {
@@ -192,12 +193,18 @@ const delayedTest = (callback, timeout) => new Promise((resolve) => {
192
193
  });
193
194
 
194
195
  const addMedia = (user) => {
195
- const mediaReadyEvent = {};
196
+ const mediaReadyPromises = {
197
+ local: new Defer(),
198
+ remoteAudio: new Defer(),
199
+ remoteVideo: new Defer(),
200
+ };
196
201
  const mediaReady = (media) => {
197
202
  if (!media) {
198
203
  return;
199
204
  }
200
- mediaReadyEvent[media.type] = media.type;
205
+ if (mediaReadyPromises[media.type]) {
206
+ mediaReadyPromises[media.type].resolve();
207
+ }
201
208
  };
202
209
 
203
210
  user.meeting.on('media:ready', mediaReady);
@@ -219,13 +226,11 @@ const addMedia = (user) => {
219
226
  localShare,
220
227
  localStream
221
228
  }))
222
- .then(() => delayedTest(() => {
223
- assert.exists(mediaReadyEvent.local, 'local stream event not triggered');
224
- assert.exists(mediaReadyEvent.remoteAudio, 'remoteAudio event not triggered');
225
- assert.exists(mediaReadyEvent.remoteVideo, 'remoteVideo event not triggered');
229
+ .then(() => Promise.all(Object.values(mediaReadyPromises).map((defer) => defer.promise)))
230
+ .then(() => {
226
231
  assert.exists(user.meeting.mediaProperties.audioTrack, 'audioTrack not present');
227
232
  assert.exists(user.meeting.mediaProperties.videoTrack, 'videoTrack not present');
228
- }, 10000));
233
+ });
229
234
  };
230
235
 
231
236
  const waitUntil = (waitTime) => new Promise((resolve) => {
@@ -252,12 +257,17 @@ const getCircularReplacer = () => {
252
257
  };
253
258
  };
254
259
 
260
+ // this function is meant to be used as the "match" callback with waitForEvents()
261
+ // when you want to wait for a particular users's status to reach a certain value
262
+ const checkParticipantUpdatedStatus = (user, expectedStatus) => (event) => !!event.delta.updated.find((member) => user.meeting.members.selfId === member.id && member.status === expectedStatus);
263
+
255
264
  export default {
256
265
  waitForSpy,
257
266
  waitForStateChange,
258
267
  waitForCallEnded,
259
268
  syncAndEndMeeting,
260
269
  waitForEvents,
270
+ checkParticipantUpdatedStatus,
261
271
  delayedPromise,
262
272
  addMedia,
263
273
  waitUntil,