@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 +5 -3
- package/dist/constants.js.map +1 -1
- package/dist/meeting-info/meeting-info-v2.js +8 -3
- package/dist/meeting-info/meeting-info-v2.js.map +1 -1
- package/package.json +5 -5
- package/src/constants.ts +2 -0
- package/src/meeting-info/meeting-info-v2.js +8 -4
- package/test/integration/spec/journey.js +7 -17
- package/test/integration/spec/space-meeting.js +18 -39
- package/test/unit/spec/meeting-info/meetinginfov2.js +34 -6
- package/test/utils/testUtils.js +17 -7
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';
|
|
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.
|
|
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
|
package/dist/constants.js.map
CHANGED
|
@@ -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
|
-
|
|
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":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webex/plugin-meetings",
|
|
3
|
-
"version": "2.20.
|
|
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.
|
|
28
|
-
"@webex/internal-plugin-mercury": "2.20.
|
|
29
|
-
"@webex/internal-plugin-conversation": "2.20.
|
|
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.
|
|
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)
|
|
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
|
|
255
|
-
.then(() =>
|
|
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
|
-
|
|
157
|
-
|
|
158
|
-
|
|
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
|
-
|
|
179
|
-
|
|
180
|
-
|
|
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((
|
|
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(
|
|
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
|
|
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:
|
|
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:
|
|
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:
|
|
170
|
+
service: WBXAPPAPI_SERVICE,
|
|
143
171
|
resource: 'meetingInfo',
|
|
144
172
|
body: {
|
|
145
173
|
supportHostKey: true,
|
package/test/utils/testUtils.js
CHANGED
|
@@ -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
|
|
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
|
-
|
|
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(() =>
|
|
223
|
-
|
|
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
|
-
}
|
|
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,
|