@webex/plugin-meetings 1.147.0 → 1.147.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/constants.js +1 -1
- package/dist/constants.js.map +1 -1
- package/dist/meeting/util.js +2 -11
- package/dist/meeting/util.js.map +1 -1
- package/package.json +5 -5
- package/src/constants.js +1 -1
- package/src/meeting/util.js +1 -15
package/dist/constants.js
CHANGED
|
@@ -261,7 +261,7 @@ exports.MODERATOR_TRUE = MODERATOR_TRUE;
|
|
|
261
261
|
var MODERATOR_FALSE = false; // ******************** NUMBERS ********************
|
|
262
262
|
|
|
263
263
|
exports.MODERATOR_FALSE = MODERATOR_FALSE;
|
|
264
|
-
var INTENT_TO_JOIN = 2423005;
|
|
264
|
+
var INTENT_TO_JOIN = [2423005, 2423006, 2423016, 2423017, 2423018];
|
|
265
265
|
exports.INTENT_TO_JOIN = INTENT_TO_JOIN;
|
|
266
266
|
var ICE_TIMEOUT = 2000;
|
|
267
267
|
exports.ICE_TIMEOUT = ICE_TIMEOUT;
|
package/dist/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["constants.js"],"names":["AUDIO","AUDIO_INPUT","AUDIO_STATUS","ALERT","ANSWER","CALL","CORRELATION_ID","CONVERSATION_URL","CALENDAR","CALENDAR_EVENTS_API","CMR_MEETINGS","CLAIM","CONTROLS","CONTENT","DEVELOPMENT","DECLINE","ERROR","ENDED","OFFER","HECATE","HOST","JOIN","LEAVE","LIVE","LOCAL","LOCI","LOCUS_URL","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_","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","DEFAULT_TRANSFORM_REGEX","rtpOutVideo","regex","RegExp","rtpOutAudio","rtpInVideo","rtpInAudio","rtpRemoteInboundAudio","rtpRemoteOutboundAudio","rtpRemoteInboundVideo","rtpRemoteOutboundVideo","rtcOutAudio","profiler","type","value","rtcOutVideo","rtcInAudio","rtcInVideo","rtcTransAudio","rtcTransVideo","rtcCandidatePair","decider","selector","DEFAULT_FF_TRANSFORM_REGEX","VALID_EMAIL_ADDRESS","VALID_PMR_ADDRESS","VALID_PMR_LINK","VALID_PIN","UUID_REG","API","CALLIOPEDISCOVERY","LOCUS","ANALYSIS_CHECKS","INCREASING","DECREASING","CONSTANT","ANALYSIS_STATS","DEFAULT_KEYS","key","check","prop","CALENDAR_EVENTS","CREATE","UPDATE","CREATE_MINIMAL","UPDATE_MINIMAL","DELETE","DEFAULT_GET_STATS_FILTER","types","DEFAULT_EVENT_VIDEO_SEND_KEYS","DEFAULT_EVENT_AUDIO_SEND_KEYS","DEFAULT_EVENT_VIDEO_RECEIVE_KEYS","DEFAULT_EVENT_AUDIO_RECEIVE_KEYS","DEFAULT_TRANSFORM_KEYS","DEFAULT_OMISSION_DATA_KEYS","DELTAEVENT","GT","CF","EQ","LT","RECORDING_STATE","RECORDING","IDLE","PAUSED","RESUMED","SHARE_STATUS","NO_SHARE","REMOTE_SHARE_ACTIVE","LOCAL_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_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","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_LOG_UPLOAD_SUCCESS","MEETING_LOG_UPLOAD_FAILURE","MEETING_ACTIONS_UPDATE","MEETING_STATE_CHANGE","MEETING_HIGH_PACKETLOSS","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","EVENT_STATS_MAP","BYTES_SENT","BYTES_RECEIVED","ERROR_DICTIONARY","PARAMETER","NAME","MESSAGE","CODE","JOIN_MEETING","RECONNECTION","PERMISSION","STATS","FLOOR_ACTION","GRANTED","RELEASED","FULL_STATE","INITIALIZING","INACTIVE","ACTIVE","TERMINATING","HTTP_VERBS","PUT","POST","GET","PATCH","ICE_GATHERING_STATE","NEW","GATHERING","COMPLETE","ICE_STATE","CHECKING","CONNECTED","CLOSED","COMPLETED","FAILED","DISCONNECTED","CONNECTION_STATE","CONNECTING","JOIN_HINTS","LOCK_STATUS_LOCKED","LOCK_STATUS_UNLOCKED","STATE","SEQUENCE","UN_DEF","EMPTY","DEF","NA","RANGE_START","RANGE_END","SYNCDEBUG","LOCUSINFO","CONTROLS_RECORDING_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","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","MODERATOR_HINTS","RECORDING_CONTROL_START","RECORDING_CONTROL_PAUSE","RECORDING_CONTROL_STOP","RECORDING_CONTROL_RESUME","LOCK_CONTROL_UNLOCK","LOCK_CONTROL_LOCK","MEETING_STATE","INCOMING","DIALING","NOTIFIED","DECLINED","ON_GOING","JOINED","LEFT","MEETING_STATE_MACHINE","TRANSITIONS","FAIL","RING","RESET","SAFE","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","AUDIO_SENDER_ID","AUDIO_RECEIVER_ID","VIDEO_SENDER_ID","VIDEO_RECEIVER_ID","SHARE_SENDER_ID","SHARE_RECEIVER_ID","SEND_DIRECTION","RECEIVE_DIRECTION","END","DATA","SENDER","RECEIVER","SENDERS","RECEIVERS","CONFIG","senders","audio","transceiver","child","parent","peerConnection","name","video","share","receivers","MQA_STATS","MQA_SIZE","CA_TYPE","DEFAULT_IP","DATA_PLACEMENTS","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","width","max","ideal","height","MAX_FRAMESIZES","MQA_INTEVAL","MEDIA_DEVICES","MICROPHONE","SPEAKER","CAMERA","METRICS_OPERATIONAL_MEASURES","JOIN_ATTEMPT","ADD_MEDIA_FAILURE","GET_USER_MEDIA_FAILURE","GET_DISPLAY_MEDIA_FAILURE","JOIN_FAILURE","JOIN_WITH_MEDIA_FAILURE","MEETING_LEAVE_FAILURE","MEETING_MEDIA_INACTIVE","MEETING_RECONNECT_FAILURE","MEETING_MAX_REJOIN_FAILURE","MEETING_SHARE_FAILURE","MUTE_AUDIO_FAILURE","MUTE_VIDEO_FAILURE","SET_MEETING_QUALITY_FAILURE","STOP_FLOOR_REQUEST_FAILURE","ADD_DIAL_IN_FAILURE","UPDATE_MEDIA_FAILURE","UNMUTE_AUDIO_FAILURE","UNMUTE_VIDEO_FAILURE","ROAP_ANSWER_FAILURE","ROAP_GLARE_CONDITION","PEERCONNECTION_FAILURE","CONNECTION_FAILURE","INVALID_ICE_CANDIDATE","MERCURY_CONNECTION_FAILURE","UPLOAD_LOGS_FAILURE","RECEIVE_TRANSCRIPTION_FAILURE"],"mappings":"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","sourcesContent":["import {hydraTypes} from '@webex/common';\n\n/** *****\n *\n *\n * Hey there. Glad you found your way here. Please be sure to alphabetize your constants.\n *\n *\n ****** */\n\n// *********** LOWERCASE / CAMELCASE STRINGS ************\n// Please alphabetize\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';\n\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';\n\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';\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* layout types for sending control request to locus for selecting the accepted layoutTypes\n*/\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;\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 DEFAULT_TRANSFORM_REGEX = {\n rtpOutVideo: {\n regex: new RegExp('^(?:RTC)?[Oo]utbound_?[Rr][Tt][Pp]_?[Vv]ideo')\n },\n rtpOutAudio: {\n regex: new RegExp('^(?:RTC)?[Oo]utbound_?[Rr][Tt][Pp]_?[Aa]udio')\n },\n rtpInVideo: {\n regex: new RegExp('^(?:RTC)?[Ii]nbound_?[Rr][Tt][Pp]_?[Vv]ideo')\n },\n rtpInAudio: {\n regex: new RegExp('^(?:RTC)?[Ii]nbound_?[Rr][Tt][Pp]_?[Aa]udio')\n },\n rtpRemoteInboundAudio: {\n regex: new RegExp('^(?:RTC)?[Rr]emote[Ii]nbound_?[Rr][Tt][Pp]_?[Aa]udio[sS]tream_?.*')\n },\n rtpRemoteOutboundAudio: {\n regex: new RegExp('^(?:RTC)?[Rr]emote[Oo]utbound_?[Rr][Tt][Pp]_?[Aa]udio[sS]tream_?.*')\n },\n rtpRemoteInboundVideo: {\n regex: new RegExp('^(?:RTC)?[Rr]emote[Ii]nbound_?[Rr][Tt][Pp]_?[Vv]ideo[sS]tream_?.*')\n },\n rtpRemoteOutboundVideo: {\n regex: new RegExp('^(?:RTC)?[Rr]emote[Oo]utbound_?[Rr][Tt][Pp]_?[Vv]ideo[sS]tream_?.*')\n },\n rtcOutAudio: {\n regex: new RegExp('^RTCMediaStreamTrack_(?:local|sender)_'),\n profiler: {\n type: 'kind',\n value: 'audio'\n }\n },\n rtcOutVideo: {\n regex: new RegExp('^RTCMediaStreamTrack_(?:local|sender)_'),\n profiler: {\n type: 'kind',\n value: 'video'\n }\n },\n rtcInAudio: {\n regex: new RegExp('^RTCMediaStreamTrack_(?:remote|receiver)_'),\n profiler: {\n type: 'kind',\n value: 'audio'\n }\n },\n rtcInVideo: {\n regex: new RegExp('^RTCMediaStreamTrack_(?:remote|receiver)_'),\n profiler: {\n type: 'kind',\n value: 'video'\n }\n },\n rtcTransAudio: {\n regex: new RegExp('^RTCTransport_[Aa]udio')\n },\n rtcTransVideo: {\n regex: new RegExp('^RTCTransport_[Vv]ideo')\n },\n rtcCandidatePair: {\n regex: new RegExp('^RTCIceCandidatePair_'),\n decider: 'nominated',\n selector: true,\n profiler: {\n type: 'type',\n value: 'candidate-pair'\n }\n }\n};\n\n// we need a specific firefox transform regular expression map\n// to convert firefox values to a consistent getStats type mapping\n// as with chrome/edge/safari\nexport const DEFAULT_FF_TRANSFORM_REGEX = {\n rtpOutVideo: {\n regex: new RegExp('^outbound-rtp_video_.*')\n },\n rtpOutAudio: {\n regex: new RegExp('^outbound-rtp_audio_.*')\n },\n rtpInVideo: {\n regex: new RegExp('^inbound-rtp_video_.*')\n },\n rtpInAudio: {\n regex: new RegExp('^inbound-rtp_audio_.*')\n },\n rtcCandidatePair: {\n regex: new RegExp('^candidate-pair.*'),\n decider: 'nominated',\n selector: true,\n profiler: {\n type: 'type',\n value: 'candidate-pair'\n }\n }\n};\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 ANALYSIS_CHECKS = {\n INCREASING: 'increasing',\n DECREASING: 'decreasing',\n CONSTANT: 'constant'\n};\n\nexport const ANALYSIS_STATS = {\n DEFAULT_KEYS: [{key: 'bytesSent', check: 'increasing', prop: 'rtpOutAudio'}, {key: 'bytesReceived', check: 'increasing', prop: 'rtpInAudio'}]\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};\nexport const DEFAULT_EVENT_VIDEO_SEND_KEYS = ['rtpOutVideo', 'rtcOutVideo', 'rtcTransVideo'];\nexport const DEFAULT_EVENT_AUDIO_SEND_KEYS = ['rtpOutAudio', 'rtcOutAudio', 'rtcTransAudio'];\nexport const DEFAULT_EVENT_VIDEO_RECEIVE_KEYS = ['rtpInVideo', 'rtcInVideo', 'rtcTransVideo'];\nexport const DEFAULT_EVENT_AUDIO_RECEIVE_KEYS = ['rtpInAudio', 'rtcInAudio', 'rtcTransAudio'];\nexport const DEFAULT_TRANSFORM_KEYS = [\n 'rtpOutVideo',\n 'rtpOutAudio',\n 'rtpInVideo',\n 'rtpInAudio',\n 'rtcOutAudio',\n 'rtcOutVideo',\n 'rtcInAudio',\n 'rtcInVideo',\n 'rtcTransAudio',\n 'rtcTransVideo',\n 'rtcCandidatePairAudio',\n 'rtcCandidatePairVideo'\n];\n// remove unneccessary data that stays constant during a call\nexport const DEFAULT_OMISSION_DATA_KEYS = [\n 'id',\n 'timestamp',\n 'type',\n 'ssrc',\n 'isRemote',\n 'mediaType',\n 'kind',\n 'trackId',\n 'transportId',\n 'codecId',\n 'mediaSourceId',\n 'trackIdentifier'\n];\n\nexport const DELTAEVENT = {\n GT: 'GT',\n CF: 'CF',\n EQ: 'EQ',\n LT: 'LT'\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};\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_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 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_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_HIGH_PACKETLOSS: 'meeting:highPacketLoss',\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 EVENT_STATS_MAP = {\n BYTES_SENT: 'bytesSent',\n BYTES_RECEIVED: 'bytesReceived'\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};\n\nexport const FLOOR_ACTION = {\n GRANTED: 'GRANTED',\n RELEASED: 'RELEASED'\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 JOIN_HINTS = {\n LOCK_STATUS_LOCKED: 'LOCK_STATUS_LOCKED',\n LOCK_STATUS_UNLOCKED: 'LOCK_STATUS_UNLOCKED'\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_RECORDING_UPDATED: 'CONTROLS_RECORDING_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 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 MODERATOR_HINTS = {\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};\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 RESET: 'reset',\n SAFE: 'SAFE'\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 SAFE: 'SAFE'\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 AUDIO_SENDER_ID: 'audioSender',\n AUDIO_RECEIVER_ID: 'audioReceiver',\n VIDEO_SENDER_ID: 'videoSender',\n VIDEO_RECEIVER_ID: 'videoReceiver',\n SHARE_SENDER_ID: 'shareSender',\n SHARE_RECEIVER_ID: 'shareReceiver',\n SEND_DIRECTION: 'send',\n RECEIVE_DIRECTION: 'recv',\n END: 'end',\n REMOTE: 'remote',\n LOCAL: 'local',\n DATA: 'data',\n CLOSED: 'closed',\n SENDER: 'sender',\n RECEIVER: 'receiver',\n SENDERS: 'senders',\n RECEIVERS: 'receivers',\n CONFIG: {\n senders: {\n audio: {\n transceiver: 'audioTransceiver',\n child: 'sender',\n parent: 'mediaProperties',\n peerConnection: 'peerConnection',\n name: 'audioSender'\n },\n video: {\n transceiver: 'videoTransceiver',\n child: 'sender',\n parent: 'mediaProperties',\n peerConnection: 'peerConnection',\n name: 'videoSender'\n },\n share: {\n transceiver: 'shareTransceiver',\n child: 'sender',\n parent: 'mediaProperties',\n peerConnection: 'peerConnection',\n name: 'shareSender'\n }\n },\n receivers: {\n audio: {\n transceiver: 'audioTransceiver',\n child: 'receiver',\n parent: 'mediaProperties',\n peerConnection: 'peerConnection',\n name: 'audioReceiver'\n },\n video: {\n transceiver: 'videoTransceiver',\n child: 'receiver',\n parent: 'mediaProperties',\n peerConnection: 'peerConnection',\n name: 'videoReceiver'\n },\n share: {\n transceiver: 'shareTransceiver',\n child: 'receiver',\n parent: 'mediaProperties',\n peerConnection: 'peerConnection',\n name: 'shareReceiver'\n }\n }\n }\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 DATA_PLACEMENTS: [STATS.AUDIO_SENDER_ID, STATS.AUDIO_RECEIVER_ID, STATS.VIDEO_SENDER_ID, STATS.VIDEO_RECEIVER_ID, STATS.SHARE_SENDER_ID, STATS.SHARE_RECEIVER_ID],\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\n// Metrics constants ----------------------------------------------------------\n\nexport const METRICS_OPERATIONAL_MEASURES = {\n JOIN_ATTEMPT: 'js_sdk_join_attempt',\n ADD_MEDIA_FAILURE: 'js_sdk_add_media_failures',\n GET_USER_MEDIA_FAILURE: 'js_sdk_get_user_media_failures',\n GET_DISPLAY_MEDIA_FAILURE: 'js_sdk_get_display_media_failures',\n JOIN_FAILURE: 'js_sdk_join_failures',\n JOIN_WITH_MEDIA_FAILURE: 'js_sdk_join_with_media_failures',\n MEETING_LEAVE_FAILURE: 'js_sdk_meeting_leave_failure',\n DISCONNECT_DUE_TO_INACTIVITY: 'js_sdk_disconnect_due_to_inactivity',\n MEETING_MEDIA_INACTIVE: 'js_sdk_meeting_media_inactive',\n MEETING_RECONNECT_FAILURE: 'js_sdk_meeting_reconnect_failures',\n MEETING_MAX_REJOIN_FAILURE: 'js_sdk_meeting_max_rejoin_failure',\n MEETING_SHARE_FAILURE: 'js_sdk_meeting_share_failures',\n MUTE_AUDIO_FAILURE: 'js_sdk_mute_audio_failures',\n MUTE_VIDEO_FAILURE: 'js_sdk_mute_video_failures',\n SET_MEETING_QUALITY_FAILURE: 'js_sdk_set_meeting_quality_failures',\n STOP_FLOOR_REQUEST_FAILURE: 'js_sdk_stop_floor_request_failures',\n ADD_DIAL_IN_FAILURE: 'js_sdk_add_dial_in_failure',\n UPDATE_MEDIA_FAILURE: 'js_sdk_update_media_failures',\n UNMUTE_AUDIO_FAILURE: 'js_sdk_unmute_audio_failures',\n UNMUTE_VIDEO_FAILURE: 'js_sdk_unmute_video_failures',\n ROAP_ANSWER_FAILURE: 'js_sdk_roap_answer_failures',\n ROAP_GLARE_CONDITION: 'js_sdk_roap_glar_condition',\n PEERCONNECTION_FAILURE: 'js_sdk_peerConnection_failures',\n CONNECTION_FAILURE: 'js_sdk_connection_failures',\n INVALID_ICE_CANDIDATE: 'js_sdk_invalid_ice_candidate',\n MERCURY_CONNECTION_FAILURE: 'js_sdk_mercury_connection_failure',\n UPLOAD_LOGS_FAILURE: 'js_sdk_upload_logs_failure',\n RECEIVE_TRANSCRIPTION_FAILURE: 'js_sdk_receive_transcription_failure'\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["constants.js"],"names":["AUDIO","AUDIO_INPUT","AUDIO_STATUS","ALERT","ANSWER","CALL","CORRELATION_ID","CONVERSATION_URL","CALENDAR","CALENDAR_EVENTS_API","CMR_MEETINGS","CLAIM","CONTROLS","CONTENT","DEVELOPMENT","DECLINE","ERROR","ENDED","OFFER","HECATE","HOST","JOIN","LEAVE","LIVE","LOCAL","LOCI","LOCUS_URL","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_","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","DEFAULT_TRANSFORM_REGEX","rtpOutVideo","regex","RegExp","rtpOutAudio","rtpInVideo","rtpInAudio","rtpRemoteInboundAudio","rtpRemoteOutboundAudio","rtpRemoteInboundVideo","rtpRemoteOutboundVideo","rtcOutAudio","profiler","type","value","rtcOutVideo","rtcInAudio","rtcInVideo","rtcTransAudio","rtcTransVideo","rtcCandidatePair","decider","selector","DEFAULT_FF_TRANSFORM_REGEX","VALID_EMAIL_ADDRESS","VALID_PMR_ADDRESS","VALID_PMR_LINK","VALID_PIN","UUID_REG","API","CALLIOPEDISCOVERY","LOCUS","ANALYSIS_CHECKS","INCREASING","DECREASING","CONSTANT","ANALYSIS_STATS","DEFAULT_KEYS","key","check","prop","CALENDAR_EVENTS","CREATE","UPDATE","CREATE_MINIMAL","UPDATE_MINIMAL","DELETE","DEFAULT_GET_STATS_FILTER","types","DEFAULT_EVENT_VIDEO_SEND_KEYS","DEFAULT_EVENT_AUDIO_SEND_KEYS","DEFAULT_EVENT_VIDEO_RECEIVE_KEYS","DEFAULT_EVENT_AUDIO_RECEIVE_KEYS","DEFAULT_TRANSFORM_KEYS","DEFAULT_OMISSION_DATA_KEYS","DELTAEVENT","GT","CF","EQ","LT","RECORDING_STATE","RECORDING","IDLE","PAUSED","RESUMED","SHARE_STATUS","NO_SHARE","REMOTE_SHARE_ACTIVE","LOCAL_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_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","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_LOG_UPLOAD_SUCCESS","MEETING_LOG_UPLOAD_FAILURE","MEETING_ACTIONS_UPDATE","MEETING_STATE_CHANGE","MEETING_HIGH_PACKETLOSS","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","EVENT_STATS_MAP","BYTES_SENT","BYTES_RECEIVED","ERROR_DICTIONARY","PARAMETER","NAME","MESSAGE","CODE","JOIN_MEETING","RECONNECTION","PERMISSION","STATS","FLOOR_ACTION","GRANTED","RELEASED","FULL_STATE","INITIALIZING","INACTIVE","ACTIVE","TERMINATING","HTTP_VERBS","PUT","POST","GET","PATCH","ICE_GATHERING_STATE","NEW","GATHERING","COMPLETE","ICE_STATE","CHECKING","CONNECTED","CLOSED","COMPLETED","FAILED","DISCONNECTED","CONNECTION_STATE","CONNECTING","JOIN_HINTS","LOCK_STATUS_LOCKED","LOCK_STATUS_UNLOCKED","STATE","SEQUENCE","UN_DEF","EMPTY","DEF","NA","RANGE_START","RANGE_END","SYNCDEBUG","LOCUSINFO","CONTROLS_RECORDING_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","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","MODERATOR_HINTS","RECORDING_CONTROL_START","RECORDING_CONTROL_PAUSE","RECORDING_CONTROL_STOP","RECORDING_CONTROL_RESUME","LOCK_CONTROL_UNLOCK","LOCK_CONTROL_LOCK","MEETING_STATE","INCOMING","DIALING","NOTIFIED","DECLINED","ON_GOING","JOINED","LEFT","MEETING_STATE_MACHINE","TRANSITIONS","FAIL","RING","RESET","SAFE","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","AUDIO_SENDER_ID","AUDIO_RECEIVER_ID","VIDEO_SENDER_ID","VIDEO_RECEIVER_ID","SHARE_SENDER_ID","SHARE_RECEIVER_ID","SEND_DIRECTION","RECEIVE_DIRECTION","END","DATA","SENDER","RECEIVER","SENDERS","RECEIVERS","CONFIG","senders","audio","transceiver","child","parent","peerConnection","name","video","share","receivers","MQA_STATS","MQA_SIZE","CA_TYPE","DEFAULT_IP","DATA_PLACEMENTS","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","width","max","ideal","height","MAX_FRAMESIZES","MQA_INTEVAL","MEDIA_DEVICES","MICROPHONE","SPEAKER","CAMERA","METRICS_OPERATIONAL_MEASURES","JOIN_ATTEMPT","ADD_MEDIA_FAILURE","GET_USER_MEDIA_FAILURE","GET_DISPLAY_MEDIA_FAILURE","JOIN_FAILURE","JOIN_WITH_MEDIA_FAILURE","MEETING_LEAVE_FAILURE","MEETING_MEDIA_INACTIVE","MEETING_RECONNECT_FAILURE","MEETING_MAX_REJOIN_FAILURE","MEETING_SHARE_FAILURE","MUTE_AUDIO_FAILURE","MUTE_VIDEO_FAILURE","SET_MEETING_QUALITY_FAILURE","STOP_FLOOR_REQUEST_FAILURE","ADD_DIAL_IN_FAILURE","UPDATE_MEDIA_FAILURE","UNMUTE_AUDIO_FAILURE","UNMUTE_VIDEO_FAILURE","ROAP_ANSWER_FAILURE","ROAP_GLARE_CONDITION","PEERCONNECTION_FAILURE","CONNECTION_FAILURE","INVALID_ICE_CANDIDATE","MERCURY_CONNECTION_FAILURE","UPLOAD_LOGS_FAILURE","RECEIVE_TRANSCRIPTION_FAILURE"],"mappings":"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","sourcesContent":["import {hydraTypes} from '@webex/common';\n\n/** *****\n *\n *\n * Hey there. Glad you found your way here. Please be sure to alphabetize your constants.\n *\n *\n ****** */\n\n// *********** LOWERCASE / CAMELCASE STRINGS ************\n// Please alphabetize\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';\n\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';\n\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';\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* layout types for sending control request to locus for selecting the accepted layoutTypes\n*/\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 DEFAULT_TRANSFORM_REGEX = {\n rtpOutVideo: {\n regex: new RegExp('^(?:RTC)?[Oo]utbound_?[Rr][Tt][Pp]_?[Vv]ideo')\n },\n rtpOutAudio: {\n regex: new RegExp('^(?:RTC)?[Oo]utbound_?[Rr][Tt][Pp]_?[Aa]udio')\n },\n rtpInVideo: {\n regex: new RegExp('^(?:RTC)?[Ii]nbound_?[Rr][Tt][Pp]_?[Vv]ideo')\n },\n rtpInAudio: {\n regex: new RegExp('^(?:RTC)?[Ii]nbound_?[Rr][Tt][Pp]_?[Aa]udio')\n },\n rtpRemoteInboundAudio: {\n regex: new RegExp('^(?:RTC)?[Rr]emote[Ii]nbound_?[Rr][Tt][Pp]_?[Aa]udio[sS]tream_?.*')\n },\n rtpRemoteOutboundAudio: {\n regex: new RegExp('^(?:RTC)?[Rr]emote[Oo]utbound_?[Rr][Tt][Pp]_?[Aa]udio[sS]tream_?.*')\n },\n rtpRemoteInboundVideo: {\n regex: new RegExp('^(?:RTC)?[Rr]emote[Ii]nbound_?[Rr][Tt][Pp]_?[Vv]ideo[sS]tream_?.*')\n },\n rtpRemoteOutboundVideo: {\n regex: new RegExp('^(?:RTC)?[Rr]emote[Oo]utbound_?[Rr][Tt][Pp]_?[Vv]ideo[sS]tream_?.*')\n },\n rtcOutAudio: {\n regex: new RegExp('^RTCMediaStreamTrack_(?:local|sender)_'),\n profiler: {\n type: 'kind',\n value: 'audio'\n }\n },\n rtcOutVideo: {\n regex: new RegExp('^RTCMediaStreamTrack_(?:local|sender)_'),\n profiler: {\n type: 'kind',\n value: 'video'\n }\n },\n rtcInAudio: {\n regex: new RegExp('^RTCMediaStreamTrack_(?:remote|receiver)_'),\n profiler: {\n type: 'kind',\n value: 'audio'\n }\n },\n rtcInVideo: {\n regex: new RegExp('^RTCMediaStreamTrack_(?:remote|receiver)_'),\n profiler: {\n type: 'kind',\n value: 'video'\n }\n },\n rtcTransAudio: {\n regex: new RegExp('^RTCTransport_[Aa]udio')\n },\n rtcTransVideo: {\n regex: new RegExp('^RTCTransport_[Vv]ideo')\n },\n rtcCandidatePair: {\n regex: new RegExp('^RTCIceCandidatePair_'),\n decider: 'nominated',\n selector: true,\n profiler: {\n type: 'type',\n value: 'candidate-pair'\n }\n }\n};\n\n// we need a specific firefox transform regular expression map\n// to convert firefox values to a consistent getStats type mapping\n// as with chrome/edge/safari\nexport const DEFAULT_FF_TRANSFORM_REGEX = {\n rtpOutVideo: {\n regex: new RegExp('^outbound-rtp_video_.*')\n },\n rtpOutAudio: {\n regex: new RegExp('^outbound-rtp_audio_.*')\n },\n rtpInVideo: {\n regex: new RegExp('^inbound-rtp_video_.*')\n },\n rtpInAudio: {\n regex: new RegExp('^inbound-rtp_audio_.*')\n },\n rtcCandidatePair: {\n regex: new RegExp('^candidate-pair.*'),\n decider: 'nominated',\n selector: true,\n profiler: {\n type: 'type',\n value: 'candidate-pair'\n }\n }\n};\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 ANALYSIS_CHECKS = {\n INCREASING: 'increasing',\n DECREASING: 'decreasing',\n CONSTANT: 'constant'\n};\n\nexport const ANALYSIS_STATS = {\n DEFAULT_KEYS: [{key: 'bytesSent', check: 'increasing', prop: 'rtpOutAudio'}, {key: 'bytesReceived', check: 'increasing', prop: 'rtpInAudio'}]\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};\nexport const DEFAULT_EVENT_VIDEO_SEND_KEYS = ['rtpOutVideo', 'rtcOutVideo', 'rtcTransVideo'];\nexport const DEFAULT_EVENT_AUDIO_SEND_KEYS = ['rtpOutAudio', 'rtcOutAudio', 'rtcTransAudio'];\nexport const DEFAULT_EVENT_VIDEO_RECEIVE_KEYS = ['rtpInVideo', 'rtcInVideo', 'rtcTransVideo'];\nexport const DEFAULT_EVENT_AUDIO_RECEIVE_KEYS = ['rtpInAudio', 'rtcInAudio', 'rtcTransAudio'];\nexport const DEFAULT_TRANSFORM_KEYS = [\n 'rtpOutVideo',\n 'rtpOutAudio',\n 'rtpInVideo',\n 'rtpInAudio',\n 'rtcOutAudio',\n 'rtcOutVideo',\n 'rtcInAudio',\n 'rtcInVideo',\n 'rtcTransAudio',\n 'rtcTransVideo',\n 'rtcCandidatePairAudio',\n 'rtcCandidatePairVideo'\n];\n// remove unneccessary data that stays constant during a call\nexport const DEFAULT_OMISSION_DATA_KEYS = [\n 'id',\n 'timestamp',\n 'type',\n 'ssrc',\n 'isRemote',\n 'mediaType',\n 'kind',\n 'trackId',\n 'transportId',\n 'codecId',\n 'mediaSourceId',\n 'trackIdentifier'\n];\n\nexport const DELTAEVENT = {\n GT: 'GT',\n CF: 'CF',\n EQ: 'EQ',\n LT: 'LT'\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};\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_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 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_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_HIGH_PACKETLOSS: 'meeting:highPacketLoss',\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 EVENT_STATS_MAP = {\n BYTES_SENT: 'bytesSent',\n BYTES_RECEIVED: 'bytesReceived'\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};\n\nexport const FLOOR_ACTION = {\n GRANTED: 'GRANTED',\n RELEASED: 'RELEASED'\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 JOIN_HINTS = {\n LOCK_STATUS_LOCKED: 'LOCK_STATUS_LOCKED',\n LOCK_STATUS_UNLOCKED: 'LOCK_STATUS_UNLOCKED'\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_RECORDING_UPDATED: 'CONTROLS_RECORDING_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 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 MODERATOR_HINTS = {\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};\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 RESET: 'reset',\n SAFE: 'SAFE'\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 SAFE: 'SAFE'\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 AUDIO_SENDER_ID: 'audioSender',\n AUDIO_RECEIVER_ID: 'audioReceiver',\n VIDEO_SENDER_ID: 'videoSender',\n VIDEO_RECEIVER_ID: 'videoReceiver',\n SHARE_SENDER_ID: 'shareSender',\n SHARE_RECEIVER_ID: 'shareReceiver',\n SEND_DIRECTION: 'send',\n RECEIVE_DIRECTION: 'recv',\n END: 'end',\n REMOTE: 'remote',\n LOCAL: 'local',\n DATA: 'data',\n CLOSED: 'closed',\n SENDER: 'sender',\n RECEIVER: 'receiver',\n SENDERS: 'senders',\n RECEIVERS: 'receivers',\n CONFIG: {\n senders: {\n audio: {\n transceiver: 'audioTransceiver',\n child: 'sender',\n parent: 'mediaProperties',\n peerConnection: 'peerConnection',\n name: 'audioSender'\n },\n video: {\n transceiver: 'videoTransceiver',\n child: 'sender',\n parent: 'mediaProperties',\n peerConnection: 'peerConnection',\n name: 'videoSender'\n },\n share: {\n transceiver: 'shareTransceiver',\n child: 'sender',\n parent: 'mediaProperties',\n peerConnection: 'peerConnection',\n name: 'shareSender'\n }\n },\n receivers: {\n audio: {\n transceiver: 'audioTransceiver',\n child: 'receiver',\n parent: 'mediaProperties',\n peerConnection: 'peerConnection',\n name: 'audioReceiver'\n },\n video: {\n transceiver: 'videoTransceiver',\n child: 'receiver',\n parent: 'mediaProperties',\n peerConnection: 'peerConnection',\n name: 'videoReceiver'\n },\n share: {\n transceiver: 'shareTransceiver',\n child: 'receiver',\n parent: 'mediaProperties',\n peerConnection: 'peerConnection',\n name: 'shareReceiver'\n }\n }\n }\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 DATA_PLACEMENTS: [STATS.AUDIO_SENDER_ID, STATS.AUDIO_RECEIVER_ID, STATS.VIDEO_SENDER_ID, STATS.VIDEO_RECEIVER_ID, STATS.SHARE_SENDER_ID, STATS.SHARE_RECEIVER_ID],\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\n// Metrics constants ----------------------------------------------------------\n\nexport const METRICS_OPERATIONAL_MEASURES = {\n JOIN_ATTEMPT: 'js_sdk_join_attempt',\n ADD_MEDIA_FAILURE: 'js_sdk_add_media_failures',\n GET_USER_MEDIA_FAILURE: 'js_sdk_get_user_media_failures',\n GET_DISPLAY_MEDIA_FAILURE: 'js_sdk_get_display_media_failures',\n JOIN_FAILURE: 'js_sdk_join_failures',\n JOIN_WITH_MEDIA_FAILURE: 'js_sdk_join_with_media_failures',\n MEETING_LEAVE_FAILURE: 'js_sdk_meeting_leave_failure',\n DISCONNECT_DUE_TO_INACTIVITY: 'js_sdk_disconnect_due_to_inactivity',\n MEETING_MEDIA_INACTIVE: 'js_sdk_meeting_media_inactive',\n MEETING_RECONNECT_FAILURE: 'js_sdk_meeting_reconnect_failures',\n MEETING_MAX_REJOIN_FAILURE: 'js_sdk_meeting_max_rejoin_failure',\n MEETING_SHARE_FAILURE: 'js_sdk_meeting_share_failures',\n MUTE_AUDIO_FAILURE: 'js_sdk_mute_audio_failures',\n MUTE_VIDEO_FAILURE: 'js_sdk_mute_video_failures',\n SET_MEETING_QUALITY_FAILURE: 'js_sdk_set_meeting_quality_failures',\n STOP_FLOOR_REQUEST_FAILURE: 'js_sdk_stop_floor_request_failures',\n ADD_DIAL_IN_FAILURE: 'js_sdk_add_dial_in_failure',\n UPDATE_MEDIA_FAILURE: 'js_sdk_update_media_failures',\n UNMUTE_AUDIO_FAILURE: 'js_sdk_unmute_audio_failures',\n UNMUTE_VIDEO_FAILURE: 'js_sdk_unmute_video_failures',\n ROAP_ANSWER_FAILURE: 'js_sdk_roap_answer_failures',\n ROAP_GLARE_CONDITION: 'js_sdk_roap_glar_condition',\n PEERCONNECTION_FAILURE: 'js_sdk_peerConnection_failures',\n CONNECTION_FAILURE: 'js_sdk_connection_failures',\n INVALID_ICE_CANDIDATE: 'js_sdk_invalid_ice_candidate',\n MERCURY_CONNECTION_FAILURE: 'js_sdk_mercury_connection_failure',\n UPLOAD_LOGS_FAILURE: 'js_sdk_upload_logs_failure',\n RECEIVE_TRANSCRIPTION_FAILURE: 'js_sdk_receive_transcription_failure'\n};\n"]}
|
package/dist/meeting/util.js
CHANGED
|
@@ -120,11 +120,9 @@ MeetingUtil.isOwnerSelf = function (owner, selfId) {
|
|
|
120
120
|
};
|
|
121
121
|
|
|
122
122
|
MeetingUtil.isPinOrGuest = function (err) {
|
|
123
|
-
|
|
124
|
-
return true;
|
|
125
|
-
}
|
|
123
|
+
var _err$body;
|
|
126
124
|
|
|
127
|
-
return
|
|
125
|
+
return (err === null || err === void 0 ? void 0 : (_err$body = err.body) === null || _err$body === void 0 ? void 0 : _err$body.errorCode) && _constants.INTENT_TO_JOIN.includes(err.body.errorCode);
|
|
128
126
|
};
|
|
129
127
|
|
|
130
128
|
MeetingUtil.joinMeeting = function (meeting, options) {
|
|
@@ -311,13 +309,6 @@ MeetingUtil.joinMeetingOptions = function (meeting) {
|
|
|
311
309
|
}).catch(function (err) {
|
|
312
310
|
// joining a claimed PMR that is not my own, scenario B
|
|
313
311
|
if (MeetingUtil.isPinOrGuest(err)) {
|
|
314
|
-
if (MeetingUtil.hasOwner(meeting.meetingInfo)) {
|
|
315
|
-
return MeetingUtil.joinMeeting(meeting, options).then(function (response) {
|
|
316
|
-
meeting.setLocus(response);
|
|
317
|
-
return _promise.default.resolve();
|
|
318
|
-
});
|
|
319
|
-
}
|
|
320
|
-
|
|
321
312
|
_metrics.default.postEvent({
|
|
322
313
|
event: _config.eventType.PIN_PROMPT,
|
|
323
314
|
meeting: meeting
|
package/dist/meeting/util.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["util.js"],"names":["MeetingUtil","parseLocusJoin","response","parsed","locus","body","mediaConnections","locusUrl","url","locusId","split","pop","selfId","self","id","forEach","mediaConnection","mediaId","remoteUpdateAudioVideo","audioMuted","videoMuted","meeting","reject","ParameterError","localMedias","Media","generateLocalMedias","Metrics","postEvent","event","eventType","MEDIA_REQUEST","meetingRequest","remoteAudioVideoToggle","deviceUrl","correlationId","then","MEDIA_RESPONSE","hasOwner","info","owner","isOwnerSelf","isPinOrGuest","err","errorCode","INTENT_TO_JOIN","joinMeeting","options","LOCUS_JOIN_REQUEST","sipUri","meetingNumber","roapMessage","resourceId","moderator","pin","moveToResource","preferTranscoding","asResourceOccupant","res","LOCUS_JOIN_RESPONSE","data","trigger","LOCI_UPDATE","trackingId","headers","trackingid","cleanUp","statsAnalyzer","stopAnalyzer","closeLocalStream","closeLocalShare","closeRemoteTracks","closePeerConnections","unsetLocalVideoTrack","unsetLocalShareTrack","unsetRemoteTracks","unsetPeerConnections","cleanMQAInterval","reconnectionManager","roap","stop","roapSeq","leavePstn","dialInUrl","meetingState","FULL_STATE","INACTIVE","MeetingNotActiveError","locusInfo","onFullLocus","catch","LoggerProxy","logger","error","leaveMeeting","isUserInLeftState","UserNotJoinedError","defaultOptions","leaveOptions","resolve","moveMeeting","declineMeeting","reason","parsedLocus","state","_LEFT_","isUserInIdleState","_IDLE_","isUserInJoinedState","_JOINED_","isMediaEstablished","currentMediaStatus","audio","video","share","joinMeetingOptions","PIN_COLLECTED","setLocus","meetingInfo","PIN_PROMPT","IntentToJoinError","JoinMeetingError","updateTransceiver","meetingOptions","type","sendTrack","receiveTrack","track","transceiver","peerConnection","previousMediaDirection","undefined","meetingId","remoteQualityLevel","mediaProperties","enableRtx","config","enableExtmap","sendRoapMediaRequest","sdp","e","sender","replaceTrack","validateOptions","sendVideo","sendAudio","sendShare","localStream","localShare","getTrack","videoTrack","audioTrack","stream","audioTracks","videoTracks","getAudioTracks","getVideoTracks","length","getModeratorFromLocusInfo","getPolicyFromLocusInfo","policy","canUserLock","joined","LOCK_CONTROL_LOCK","LOCK_STATUS_UNLOCKED","canUserUnlock","LOCK_CONTROL_UNLOCK","LOCK_STATUS_LOCKED","canUserRecord","RECORDING_CONTROL_START","canUserPause","RECORDING_CONTROL_PAUSE","canUserResume","RECORDING_CONTROL_RESUME","canUserStop","RECORDING_CONTROL_STOP","startRecording","request","recordMeeting","recording","paused","PermissionError","pauseRecording","resumeRecording","stopRecording","lockMeeting","actions","canLock","lock","unlockMeeting","canUnlock","startInternalStats","internalStats","useConfig","senders","correlate","history","onEvent","kind","stat","Trigger","file","function","EVENT_TRIGGERS","MEETING_MEDIA_LOCAL_STARTED","mediaType","AUDIO","SENDING_MEDIA_START","SENDING_MEDIA_STOP","onData","VIDEO","SHARE","SENDING_SHARE_START","SENDING_SHARE_STOP","receivers","MEETING_MEDIA_REMOTE_STARTED","RECEIVING_MEDIA_START","RECEIVING_MEDIA_STOP","StatsUtil","generateOptions","STATS","CONFIG","WebRTCStats","attrs","handleAudioLogging","LOG_HEADER","settings","getSettings","deviceId","log","handleVideoLogging","handleDeviceLogging","devices","device"],"mappings":"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","sourcesContent":["import {isEmpty} from 'lodash';\n\nimport {MeetingNotActiveError, UserNotJoinedError} from '../common/errors/webex-errors';\nimport StatsUtil from '../stats/util';\nimport Metrics from '../metrics';\nimport {eventType, trigger, mediaType} from '../metrics/config';\nimport Media from '../media';\nimport LoggerProxy from '../common/logs/logger-proxy';\nimport WebRTCStats from '../stats/index';\nimport {INTENT_TO_JOIN,\n _LEFT_,\n _IDLE_,\n _JOINED_,\n STATS,\n EVENT_TRIGGERS\n , FULL_STATE} from '../constants';\nimport Trigger from '../common/events/trigger-proxy';\nimport IntentToJoinError from '../common/errors/intent-to-join';\nimport JoinMeetingError from '../common/errors/join-meeting';\nimport ParameterError from '../common/errors/parameter';\nimport PermissionError from '../common/errors/permission';\n\n\nconst MeetingUtil = {};\n\nMeetingUtil.parseLocusJoin = (response) => {\n const parsed = {};\n\n // First todo: add check for existance\n parsed.locus = response.body.locus;\n parsed.mediaConnections = response.body.mediaConnections;\n parsed.locusUrl = parsed.locus.url;\n parsed.locusId = parsed.locus.url.split('/').pop();\n parsed.selfId = parsed.locus.self.id;\n\n // we need mediaId before making roap calls\n parsed.mediaConnections.forEach((mediaConnection) => {\n if (mediaConnection.mediaId) {\n parsed.mediaId = mediaConnection.mediaId;\n }\n });\n\n return parsed;\n};\n\nMeetingUtil.remoteUpdateAudioVideo = (audioMuted, videoMuted, meeting) => {\n if (!meeting) {\n return Promise.reject(new ParameterError('You need a meeting object.'));\n }\n const localMedias = Media.generateLocalMedias(meeting.mediaId, audioMuted, videoMuted);\n\n if (isEmpty(localMedias)) {\n return Promise.reject(new ParameterError('You need a media id on the meeting to change remote audio.'));\n }\n\n Metrics.postEvent({event: eventType.MEDIA_REQUEST, meeting});\n\n return meeting.meetingRequest.remoteAudioVideoToggle({\n locusUrl: meeting.locusUrl,\n selfId: meeting.selfId,\n localMedias,\n deviceUrl: meeting.deviceUrl,\n correlationId: meeting.correlationId\n }).then((response) => {\n Metrics.postEvent({event: eventType.MEDIA_RESPONSE, meeting});\n\n return response.body.locus;\n });\n};\n\nMeetingUtil.hasOwner = (info) => info && info.owner;\n\nMeetingUtil.isOwnerSelf = (owner, selfId) => owner === selfId;\n\nMeetingUtil.isPinOrGuest = (err) => {\n if (err && err.body && err.body.errorCode === INTENT_TO_JOIN) {\n return true;\n }\n\n return false;\n};\n\nMeetingUtil.joinMeeting = (meeting, options) => {\n if (!meeting) {\n return Promise.reject(new ParameterError('You need a meeting object.'));\n }\n\n Metrics.postEvent({event: eventType.LOCUS_JOIN_REQUEST, meeting});\n\n // eslint-disable-next-line no-warning-comments\n // TODO: check if the meeting is in JOINING state\n // if Joining state termintate the request as user might click multiple times\n return meeting.meetingRequest\n .joinMeeting({\n sipUri: meeting.sipUri,\n meetingNumber: meeting.meetingNumber,\n deviceUrl: meeting.deviceUrl,\n locusUrl: meeting.locusUrl,\n correlationId: meeting.correlationId,\n roapMessage: options.roapMessage,\n resourceId: options.resourceId || null,\n moderator: options.moderator,\n pin: options.pin,\n moveToResource: options.moveToResource,\n preferTranscoding: options.preferTranscoding,\n asResourceOccupant: options.asResourceOccupant\n })\n .then((res) => {\n Metrics.postEvent({\n event: eventType.LOCUS_JOIN_RESPONSE,\n meeting,\n data: {\n trigger: trigger.LOCI_UPDATE,\n locus: res.body.locus,\n mediaConnections: res.body.mediaConnections,\n trackingId: res.headers.trackingid\n }\n });\n\n return MeetingUtil.parseLocusJoin(res);\n });\n};\n\nMeetingUtil.cleanUp = (meeting) => {\n // make sure we send last metrics before we close the peerconnection\n if (meeting.statsAnalyzer) meeting.statsAnalyzer.stopAnalyzer();\n\n return meeting.closeLocalStream()\n .then(() => meeting.closeLocalShare())\n .then(() => meeting.closeRemoteTracks())\n .then(() => meeting.closePeerConnections())\n .then(() => {\n meeting.unsetLocalVideoTrack();\n meeting.unsetLocalShareTrack();\n meeting.unsetRemoteTracks();\n meeting.unsetPeerConnections();\n meeting.cleanMQAInterval();\n meeting.reconnectionManager.cleanUp();\n })\n .then(() => meeting.roap.stop(meeting.correlationId, meeting.roapSeq));\n};\n\nMeetingUtil.leavePstn = (meeting, dialInUrl) => {\n if (meeting.meetingState === FULL_STATE.INACTIVE) {\n return Promise.reject(new MeetingNotActiveError());\n }\n\n const options = {\n locusUrl: meeting.locusUrl,\n selfId: meeting.selfId,\n correlationId: meeting.correlationId,\n dialInUrl\n };\n\n return meeting.meetingRequest\n .leavePstn(options)\n .then((response) => {\n if (response?.body?.locus) {\n meeting.locusInfo.onFullLocus(response.body.locus);\n }\n })\n .catch((err) => {\n LoggerProxy.logger.error(\n `Meeting:util#leavePstn --> An error occured while trying to leave pstn with an id of ${\n meeting.id\n }, error: ${err}`\n );\n\n return Promise.reject(err);\n });\n};\n\n// by default will leave on meeting's resourceId\n// if you explicity want it not to leave on resource id, pass\n// {resourceId: null}\n// TODO: chris, you can modify this however you want\nMeetingUtil.leaveMeeting = (meeting, options = {}) => {\n if (meeting.meetingState === FULL_STATE.INACTIVE) {\n // TODO: clean up if the meeting is already inactive\n return Promise.reject(new MeetingNotActiveError());\n }\n\n if (MeetingUtil.isUserInLeftState(meeting.locusInfo)) {\n return Promise.reject(new UserNotJoinedError());\n }\n\n const defaultOptions = {\n locusUrl: meeting.locusUrl,\n selfId: meeting.selfId,\n correlationId: meeting.correlationId,\n resourceId: meeting.resourceId,\n deviceUrl: meeting.deviceUrl\n };\n\n const leaveOptions = {...defaultOptions, ...options};\n\n return meeting.meetingRequest\n .leaveMeeting(leaveOptions)\n .then((response) => {\n if (response && response.body && response.body.locus) { // && !options.moveMeeting) {\n meeting.locusInfo.onFullLocus(response.body.locus);\n }\n\n return Promise.resolve();\n })\n .then(() => {\n if (options.moveMeeting) {\n return Promise.resolve();\n }\n\n return MeetingUtil.cleanUp(meeting);\n })\n .catch((err) => {\n // TODO: If the meeting state comes as LEFT or INACTIVE as response then\n // 1) on leave clean up the meeting or simply do a sync on the meeting\n // 2) If the error says meeting is inactive then destroy the meeting object\n LoggerProxy.logger.error(\n `Meeting:util#leaveMeeting --> An error occured while trying to leave meeting with an id of ${\n meeting.id\n }, error: ${err}`\n );\n\n return Promise.reject(err);\n });\n};\nMeetingUtil.declineMeeting = (meeting, reason) =>\n meeting.meetingRequest.declineMeeting({\n locusUrl: meeting.locusUrl,\n deviceUrl: meeting.deviceUrl,\n reason\n });\n\nMeetingUtil.isUserInLeftState = (locusInfo) =>\n locusInfo.parsedLocus?.self?.state === _LEFT_;\n\nMeetingUtil.isUserInIdleState = (locusInfo) =>\n locusInfo.parsedLocus?.self?.state === _IDLE_;\n\nMeetingUtil.isUserInJoinedState = (locusInfo) =>\n locusInfo.parsedLocus?.self?.state === _JOINED_;\n\nMeetingUtil.isMediaEstablished = (currentMediaStatus) =>\n currentMediaStatus && (currentMediaStatus.audio || currentMediaStatus.video || currentMediaStatus.share);\n\n\nMeetingUtil.joinMeetingOptions = (meeting, options = {}) => {\n meeting.resourceId = meeting.resourceId || options.resourceId;\n\n if (options.pin) {\n Metrics.postEvent({\n event: eventType.PIN_COLLECTED,\n meeting\n });\n }\n\n // normal join meeting, scenario A, D\n return MeetingUtil.joinMeeting(meeting, options)\n .then((response) => {\n meeting.setLocus(response);\n\n return Promise.resolve(response);\n })\n .catch((err) => {\n // joining a claimed PMR that is not my own, scenario B\n if (MeetingUtil.isPinOrGuest(err)) {\n if (MeetingUtil.hasOwner(meeting.meetingInfo)) {\n return MeetingUtil.joinMeeting(meeting, options).then((response) => {\n meeting.setLocus(response);\n\n return Promise.resolve();\n });\n }\n\n Metrics.postEvent({\n event: eventType.PIN_PROMPT,\n meeting\n });\n\n // request host pin or non host for unclaimed PMR, start of Scenario C\n // see https://sqbu-github.cisco.com/WebExSquared/locus/wiki/Locus-Lobby-and--IVR-Feature\n return Promise.reject(new IntentToJoinError('Error Joining Meeting', err));\n }\n LoggerProxy.logger.error('Meeting:util#joinMeetingOptions --> Error joining the call, ', err);\n\n return Promise.reject(new JoinMeetingError(options, 'Error Joining Meeting', err));\n });\n};\n\nMeetingUtil.updateTransceiver = (options, meetingOptions) => {\n const {\n type,\n sendTrack,\n receiveTrack,\n track,\n transceiver,\n peerConnection,\n previousMediaDirection\n } = options;\n\n if ((sendTrack !== undefined && sendTrack !== previousMediaDirection.sendTrack) ||\n (receiveTrack !== undefined && receiveTrack !== previousMediaDirection.receiveTrack)) {\n return Media.updateTransceiver({\n meetingId: meetingOptions.meeting.id,\n remoteQualityLevel: meetingOptions.mediaProperties.remoteQualityLevel,\n enableRtx: meetingOptions.meeting.config.enableRtx,\n enableExtmap: meetingOptions.meeting.config.enableExtmap\n }, peerConnection, transceiver,\n {\n track,\n type,\n receiveTrack,\n sendTrack\n })\n .then(() => meetingOptions.meeting.roap\n .sendRoapMediaRequest({\n sdp: meetingOptions.mediaProperties.peerConnection.sdp,\n roapSeq: meetingOptions.meeting.roapSeq,\n meeting: meetingOptions.meeting // or can pass meeting ID\n }))\n .catch((e) => {\n LoggerProxy.logger.error(`Meeting:util#updateTransceiver --> Error updating the ${type} streams with error: ${e}`);\n });\n } if (track) {\n transceiver.sender.replaceTrack(track);\n\n return Promise.resolve();\n }\n\n return Promise.reject(new ParameterError('update Failed: please pass valid parameter'));\n};\n\nMeetingUtil.validateOptions = (options) => {\n const {\n sendVideo, sendAudio, sendShare, localStream, localShare\n } = options;\n\n if (sendVideo && !MeetingUtil.getTrack(localStream).videoTrack) {\n return Promise.reject(new ParameterError('please pass valid video streams'));\n }\n\n if (sendAudio && !MeetingUtil.getTrack(localStream).audioTrack) {\n return Promise.reject(new ParameterError('please pass valid audio streams'));\n }\n\n if (sendShare && !MeetingUtil.getTrack(localShare).videoTrack) {\n return Promise.reject(new ParameterError('please pass valid share streams'));\n }\n\n return Promise.resolve();\n};\n\nMeetingUtil.getTrack = (stream) => {\n let audioTrack = null;\n let videoTrack = null;\n let audioTracks = null;\n let videoTracks = null;\n\n if (!stream) {\n return {audioTrack: null, videoTrack: null};\n }\n if (stream.getAudioTracks) {\n audioTracks = stream.getAudioTracks();\n }\n if (stream.getVideoTracks) {\n videoTracks = stream.getVideoTracks();\n }\n\n if (audioTracks && audioTracks.length > 0) {\n [audioTrack] = audioTracks;\n }\n\n if (videoTracks && videoTracks.length > 0) {\n [videoTrack] = videoTracks;\n }\n\n return {audioTrack, videoTrack};\n};\n\nMeetingUtil.getModeratorFromLocusInfo = (locusInfo) =>\n locusInfo &&\n locusInfo.parsedLocus &&\n locusInfo.parsedLocus.info &&\n locusInfo.parsedLocus.info &&\n locusInfo.parsedLocus.info.moderator;\n\nMeetingUtil.getPolicyFromLocusInfo = (locusInfo) =>\n locusInfo &&\n locusInfo.parsedLocus &&\n locusInfo.parsedLocus.info &&\n locusInfo.parsedLocus.info &&\n locusInfo.parsedLocus.info.policy;\n\nMeetingUtil.canUserLock = (moderator, joined) => {\n if (moderator.LOCK_CONTROL_LOCK && joined.LOCK_STATUS_UNLOCKED) {\n return true;\n }\n\n return false;\n};\n\nMeetingUtil.canUserUnlock = (moderator, joined) => {\n if (moderator.LOCK_CONTROL_UNLOCK && joined.LOCK_STATUS_LOCKED) {\n return true;\n }\n\n return false;\n};\n\nMeetingUtil.canUserRecord = (moderator) => moderator.RECORDING_CONTROL_START;\n\nMeetingUtil.canUserPause = (moderator) => moderator.RECORDING_CONTROL_PAUSE;\n\nMeetingUtil.canUserResume = (moderator) => moderator.RECORDING_CONTROL_RESUME;\n\nMeetingUtil.canUserStop = (moderator) => moderator.RECORDING_CONTROL_STOP;\n\nMeetingUtil.startRecording = (request, locusUrl, locusInfo) => {\n const moderator = MeetingUtil.getModeratorFromLocusInfo(locusInfo);\n\n if (moderator && MeetingUtil.canUserRecord(moderator)) {\n return request.recordMeeting({locusUrl, recording: true, paused: false});\n }\n\n return Promise.reject(new PermissionError('Start recording not allowed, due to moderator property.'));\n};\n\nMeetingUtil.pauseRecording = (request, locusUrl, locusInfo) => {\n const moderator = MeetingUtil.getModeratorFromLocusInfo(locusInfo);\n\n if (moderator && MeetingUtil.canUserPause(moderator)) {\n return request.recordMeeting({locusUrl, recording: true, paused: true});\n }\n\n return Promise.reject(new PermissionError('Pause recording not allowed, due to moderator property.'));\n};\n\nMeetingUtil.resumeRecording = (request, locusUrl, locusInfo) => {\n const moderator = MeetingUtil.getModeratorFromLocusInfo(locusInfo);\n\n if (moderator && MeetingUtil.canUserResume(moderator)) {\n return request.recordMeeting({locusUrl, recording: true, paused: false});\n }\n\n return Promise.reject(new PermissionError('Resume recording not allowed, due to moderator property.'));\n};\n\nMeetingUtil.stopRecording = (request, locusUrl, locusInfo) => {\n const moderator = MeetingUtil.getModeratorFromLocusInfo(locusInfo);\n\n if (moderator && MeetingUtil.canUserStop(moderator)) {\n return request.recordMeeting({locusUrl, recording: false, paused: false});\n }\n\n return Promise.reject(new PermissionError('Stop recording not allowed, due to moderator property.'));\n};\n\nMeetingUtil.lockMeeting = (actions, request, locusUrl) => {\n if (actions && actions.canLock) {\n return request.lockMeeting({locusUrl, lock: true});\n }\n\n return Promise.reject(new PermissionError('Lock not allowed, due to joined property.'));\n};\n\nMeetingUtil.unlockMeeting = (actions, request, locusUrl) => {\n if (actions && actions.canUnlock) {\n return request.lockMeeting({locusUrl, lock: false});\n }\n\n return Promise.reject(new PermissionError('Unlock not allowed, due to joined property.'));\n};\n\nMeetingUtil.startInternalStats = (meeting) => {\n if (!meeting.internalStats) {\n const options = {\n useConfig: true,\n senders: [\n {\n id: 'mainAudio',\n correlate: 'audio',\n history: true,\n onEvent: (event) => {\n // TODO: we don't need checks like this since it comes from the transceiver\n // refactor event linkage to use callbacks instead of events\n if (event.kind === 'audio' && event.stat === 'bytesSent') {\n Trigger.trigger(\n meeting,\n {\n file: 'meeting/util',\n function: 'startInternalStats'\n },\n EVENT_TRIGGERS.MEETING_MEDIA_LOCAL_STARTED,\n {\n type: mediaType.AUDIO\n }\n );\n Metrics.postEvent({\n event: eventType.SENDING_MEDIA_START,\n meeting,\n data: {\n mediaType: mediaType.AUDIO\n }\n });\n }\n else if (event.stop && event.stat === 'bytesSent') {\n Metrics.postEvent({\n event: eventType.SENDING_MEDIA_STOP,\n meeting,\n data: {\n mediaType: mediaType.AUDIO\n }\n });\n }\n },\n onData: () => {}\n },\n {\n id: 'mainVideo',\n correlate: 'video',\n history: true,\n onEvent: (event) => {\n if (event.kind === 'video' && event.stat === 'bytesSent') {\n Trigger.trigger(\n meeting,\n {\n file: 'meeting/util',\n function: 'startInternalStats'\n },\n EVENT_TRIGGERS.MEETING_MEDIA_LOCAL_STARTED,\n {\n type: mediaType.VIDEO\n }\n );\n Metrics.postEvent({\n event: eventType.SENDING_MEDIA_START,\n meeting,\n data: {\n mediaType: mediaType.VIDEO\n }\n });\n }\n else if (event.stop && event.stat === 'bytesSent') {\n Metrics.postEvent({\n event: eventType.SENDING_MEDIA_STOP,\n meeting,\n data: {\n mediaType: mediaType.VIDEO\n }\n });\n }\n },\n onData: () => {}\n },\n {\n id: 'mainShare',\n correlate: 'video',\n onEvent: (event) => {\n if (event.kind === 'share' && event.stat === 'bytesSent') {\n Trigger.trigger(\n meeting,\n {\n file: 'meeting/util',\n function: 'startInternalStats'\n },\n EVENT_TRIGGERS.MEETING_MEDIA_LOCAL_STARTED,\n {\n type: mediaType.SHARE\n }\n );\n Metrics.postEvent({\n event: eventType.SENDING_SHARE_START,\n meeting,\n data: {\n mediaType: mediaType.SHARE\n }\n });\n }\n else if (event.stop && event.stat === 'bytesSent') {\n Metrics.postEvent({\n event: eventType.SENDING_SHARE_STOP,\n meeting,\n data: {\n mediaType: mediaType.SHARE\n }\n });\n }\n },\n onData: () => {}\n }\n ],\n receivers: [\n {\n id: 'mainAudio',\n correlate: 'audio',\n history: true,\n onEvent: (event) => {\n if (event.kind === 'audio' && event.stat === 'bytesReceived') {\n Trigger.trigger(\n meeting,\n {\n file: 'meeting/util',\n function: 'startInternalStats'\n },\n EVENT_TRIGGERS.MEETING_MEDIA_REMOTE_STARTED,\n {\n type: mediaType.AUDIO\n }\n );\n Metrics.postEvent({\n event: eventType.RECEIVING_MEDIA_START,\n meeting,\n data: {\n mediaType: mediaType.AUDIO\n }\n });\n }\n else if (event.stop && event.stat === 'bytesReceived') {\n Metrics.postEvent({\n event: eventType.RECEIVING_MEDIA_STOP,\n meeting,\n data: {\n mediaType: mediaType.AUDIO\n }\n });\n }\n },\n onData: () => {}\n },\n {\n id: 'mainVideo',\n correlate: 'video',\n history: true,\n onEvent: (event) => {\n if (event.kind === 'video' && event.stat === 'bytesReceived') {\n Trigger.trigger(\n meeting,\n {\n file: 'meeting/util',\n function: 'startInternalStats'\n },\n EVENT_TRIGGERS.MEETING_MEDIA_REMOTE_STARTED,\n {\n type: mediaType.VIDEO\n }\n );\n Metrics.postEvent({\n event: eventType.RECEIVING_MEDIA_START,\n meeting,\n data: {\n mediaType: mediaType.VIDEO\n }\n });\n }\n else if (event.stop && event.stat === 'bytesReceived') {\n Metrics.postEvent({\n event: eventType.RECEIVING_MEDIA_STOP,\n meeting,\n data: {\n mediaType: mediaType.VIDEO\n }\n });\n }\n },\n onData: () => {}\n },\n {\n id: 'mainShare',\n correlate: 'video',\n onEvent: (event) => {\n if (event.kind === 'share' && event.stat === 'bytesReceived') {\n Trigger.trigger(\n meeting,\n {\n file: 'meeting/util',\n function: 'startInternalStats'\n },\n EVENT_TRIGGERS.MEETING_MEDIA_REMOTE_STARTED,\n {\n type: mediaType.SHARE\n }\n );\n Metrics.postEvent({\n event: eventType.RECEIVING_MEDIA_START,\n meeting,\n data: {\n mediaType: mediaType.SHARE\n }\n });\n }\n else if (event.stop && event.stat === 'bytesReceived') {\n Metrics.postEvent({\n event: eventType.RECEIVING_MEDIA_STOP,\n meeting,\n data: {\n mediaType: mediaType.SHARE\n }\n });\n }\n },\n onData: () => {}\n }\n ]\n };\n\n StatsUtil.generateOptions(options, STATS.CONFIG, meeting);\n\n options.config = STATS.CONFIG;\n\n // pass the attrs and options for the webex instance\n meeting.internalStats = new WebRTCStats(meeting.attrs, meeting.options, options);\n }\n\n return meeting.internalStats;\n};\n\nMeetingUtil.handleAudioLogging = (audioTrack) => {\n const LOG_HEADER = 'MeetingUtil#handleAudioLogging -->';\n\n if (audioTrack) {\n const settings = audioTrack.getSettings();\n const {deviceId} = settings;\n\n LoggerProxy.logger.log(LOG_HEADER, `deviceId = ${deviceId}`);\n LoggerProxy.logger.log(LOG_HEADER, 'settings =', JSON.stringify(settings));\n }\n};\n\nMeetingUtil.handleVideoLogging = (videoTrack) => {\n const LOG_HEADER = 'MeetingUtil#handleVideoLogging -->';\n\n if (videoTrack) {\n const settings = videoTrack.getSettings();\n const {deviceId} = settings;\n\n LoggerProxy.logger.log(LOG_HEADER, `deviceId = ${deviceId}`);\n LoggerProxy.logger.log(LOG_HEADER, 'settings =', JSON.stringify(settings));\n }\n};\n\nMeetingUtil.handleDeviceLogging = (devices = []) => {\n const LOG_HEADER = 'MeetingUtil#handleDeviceLogging -->';\n\n devices.forEach((device) => {\n LoggerProxy.logger.log(LOG_HEADER, `deviceId = ${device.deviceId}`);\n LoggerProxy.logger.log(LOG_HEADER, 'settings', JSON.stringify(device));\n });\n};\n\nexport default MeetingUtil;\n"]}
|
|
1
|
+
{"version":3,"sources":["util.js"],"names":["MeetingUtil","parseLocusJoin","response","parsed","locus","body","mediaConnections","locusUrl","url","locusId","split","pop","selfId","self","id","forEach","mediaConnection","mediaId","remoteUpdateAudioVideo","audioMuted","videoMuted","meeting","reject","ParameterError","localMedias","Media","generateLocalMedias","Metrics","postEvent","event","eventType","MEDIA_REQUEST","meetingRequest","remoteAudioVideoToggle","deviceUrl","correlationId","then","MEDIA_RESPONSE","hasOwner","info","owner","isOwnerSelf","isPinOrGuest","err","errorCode","INTENT_TO_JOIN","includes","joinMeeting","options","LOCUS_JOIN_REQUEST","sipUri","meetingNumber","roapMessage","resourceId","moderator","pin","moveToResource","preferTranscoding","asResourceOccupant","res","LOCUS_JOIN_RESPONSE","data","trigger","LOCI_UPDATE","trackingId","headers","trackingid","cleanUp","statsAnalyzer","stopAnalyzer","closeLocalStream","closeLocalShare","closeRemoteTracks","closePeerConnections","unsetLocalVideoTrack","unsetLocalShareTrack","unsetRemoteTracks","unsetPeerConnections","cleanMQAInterval","reconnectionManager","roap","stop","roapSeq","leavePstn","dialInUrl","meetingState","FULL_STATE","INACTIVE","MeetingNotActiveError","locusInfo","onFullLocus","catch","LoggerProxy","logger","error","leaveMeeting","isUserInLeftState","UserNotJoinedError","defaultOptions","leaveOptions","resolve","moveMeeting","declineMeeting","reason","parsedLocus","state","_LEFT_","isUserInIdleState","_IDLE_","isUserInJoinedState","_JOINED_","isMediaEstablished","currentMediaStatus","audio","video","share","joinMeetingOptions","PIN_COLLECTED","setLocus","PIN_PROMPT","IntentToJoinError","JoinMeetingError","updateTransceiver","meetingOptions","type","sendTrack","receiveTrack","track","transceiver","peerConnection","previousMediaDirection","undefined","meetingId","remoteQualityLevel","mediaProperties","enableRtx","config","enableExtmap","sendRoapMediaRequest","sdp","e","sender","replaceTrack","validateOptions","sendVideo","sendAudio","sendShare","localStream","localShare","getTrack","videoTrack","audioTrack","stream","audioTracks","videoTracks","getAudioTracks","getVideoTracks","length","getModeratorFromLocusInfo","getPolicyFromLocusInfo","policy","canUserLock","joined","LOCK_CONTROL_LOCK","LOCK_STATUS_UNLOCKED","canUserUnlock","LOCK_CONTROL_UNLOCK","LOCK_STATUS_LOCKED","canUserRecord","RECORDING_CONTROL_START","canUserPause","RECORDING_CONTROL_PAUSE","canUserResume","RECORDING_CONTROL_RESUME","canUserStop","RECORDING_CONTROL_STOP","startRecording","request","recordMeeting","recording","paused","PermissionError","pauseRecording","resumeRecording","stopRecording","lockMeeting","actions","canLock","lock","unlockMeeting","canUnlock","startInternalStats","internalStats","useConfig","senders","correlate","history","onEvent","kind","stat","Trigger","file","function","EVENT_TRIGGERS","MEETING_MEDIA_LOCAL_STARTED","mediaType","AUDIO","SENDING_MEDIA_START","SENDING_MEDIA_STOP","onData","VIDEO","SHARE","SENDING_SHARE_START","SENDING_SHARE_STOP","receivers","MEETING_MEDIA_REMOTE_STARTED","RECEIVING_MEDIA_START","RECEIVING_MEDIA_STOP","StatsUtil","generateOptions","STATS","CONFIG","WebRTCStats","attrs","handleAudioLogging","LOG_HEADER","settings","getSettings","deviceId","log","handleVideoLogging","handleDeviceLogging","devices","device"],"mappings":"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","sourcesContent":["import {isEmpty} from 'lodash';\n\nimport {MeetingNotActiveError, UserNotJoinedError} from '../common/errors/webex-errors';\nimport StatsUtil from '../stats/util';\nimport Metrics from '../metrics';\nimport {eventType, trigger, mediaType} from '../metrics/config';\nimport Media from '../media';\nimport LoggerProxy from '../common/logs/logger-proxy';\nimport WebRTCStats from '../stats/index';\nimport {INTENT_TO_JOIN,\n _LEFT_,\n _IDLE_,\n _JOINED_,\n STATS,\n EVENT_TRIGGERS\n , FULL_STATE} from '../constants';\nimport Trigger from '../common/events/trigger-proxy';\nimport IntentToJoinError from '../common/errors/intent-to-join';\nimport JoinMeetingError from '../common/errors/join-meeting';\nimport ParameterError from '../common/errors/parameter';\nimport PermissionError from '../common/errors/permission';\n\n\nconst MeetingUtil = {};\n\nMeetingUtil.parseLocusJoin = (response) => {\n const parsed = {};\n\n // First todo: add check for existance\n parsed.locus = response.body.locus;\n parsed.mediaConnections = response.body.mediaConnections;\n parsed.locusUrl = parsed.locus.url;\n parsed.locusId = parsed.locus.url.split('/').pop();\n parsed.selfId = parsed.locus.self.id;\n\n // we need mediaId before making roap calls\n parsed.mediaConnections.forEach((mediaConnection) => {\n if (mediaConnection.mediaId) {\n parsed.mediaId = mediaConnection.mediaId;\n }\n });\n\n return parsed;\n};\n\nMeetingUtil.remoteUpdateAudioVideo = (audioMuted, videoMuted, meeting) => {\n if (!meeting) {\n return Promise.reject(new ParameterError('You need a meeting object.'));\n }\n const localMedias = Media.generateLocalMedias(meeting.mediaId, audioMuted, videoMuted);\n\n if (isEmpty(localMedias)) {\n return Promise.reject(new ParameterError('You need a media id on the meeting to change remote audio.'));\n }\n\n Metrics.postEvent({event: eventType.MEDIA_REQUEST, meeting});\n\n return meeting.meetingRequest.remoteAudioVideoToggle({\n locusUrl: meeting.locusUrl,\n selfId: meeting.selfId,\n localMedias,\n deviceUrl: meeting.deviceUrl,\n correlationId: meeting.correlationId\n }).then((response) => {\n Metrics.postEvent({event: eventType.MEDIA_RESPONSE, meeting});\n\n return response.body.locus;\n });\n};\n\nMeetingUtil.hasOwner = (info) => info && info.owner;\n\nMeetingUtil.isOwnerSelf = (owner, selfId) => owner === selfId;\n\nMeetingUtil.isPinOrGuest = (err) => err?.body?.errorCode && INTENT_TO_JOIN.includes(err.body.errorCode);\n\nMeetingUtil.joinMeeting = (meeting, options) => {\n if (!meeting) {\n return Promise.reject(new ParameterError('You need a meeting object.'));\n }\n\n Metrics.postEvent({event: eventType.LOCUS_JOIN_REQUEST, meeting});\n\n // eslint-disable-next-line no-warning-comments\n // TODO: check if the meeting is in JOINING state\n // if Joining state termintate the request as user might click multiple times\n return meeting.meetingRequest\n .joinMeeting({\n sipUri: meeting.sipUri,\n meetingNumber: meeting.meetingNumber,\n deviceUrl: meeting.deviceUrl,\n locusUrl: meeting.locusUrl,\n correlationId: meeting.correlationId,\n roapMessage: options.roapMessage,\n resourceId: options.resourceId || null,\n moderator: options.moderator,\n pin: options.pin,\n moveToResource: options.moveToResource,\n preferTranscoding: options.preferTranscoding,\n asResourceOccupant: options.asResourceOccupant\n })\n .then((res) => {\n Metrics.postEvent({\n event: eventType.LOCUS_JOIN_RESPONSE,\n meeting,\n data: {\n trigger: trigger.LOCI_UPDATE,\n locus: res.body.locus,\n mediaConnections: res.body.mediaConnections,\n trackingId: res.headers.trackingid\n }\n });\n\n return MeetingUtil.parseLocusJoin(res);\n });\n};\n\nMeetingUtil.cleanUp = (meeting) => {\n // make sure we send last metrics before we close the peerconnection\n if (meeting.statsAnalyzer) meeting.statsAnalyzer.stopAnalyzer();\n\n return meeting.closeLocalStream()\n .then(() => meeting.closeLocalShare())\n .then(() => meeting.closeRemoteTracks())\n .then(() => meeting.closePeerConnections())\n .then(() => {\n meeting.unsetLocalVideoTrack();\n meeting.unsetLocalShareTrack();\n meeting.unsetRemoteTracks();\n meeting.unsetPeerConnections();\n meeting.cleanMQAInterval();\n meeting.reconnectionManager.cleanUp();\n })\n .then(() => meeting.roap.stop(meeting.correlationId, meeting.roapSeq));\n};\n\nMeetingUtil.leavePstn = (meeting, dialInUrl) => {\n if (meeting.meetingState === FULL_STATE.INACTIVE) {\n return Promise.reject(new MeetingNotActiveError());\n }\n\n const options = {\n locusUrl: meeting.locusUrl,\n selfId: meeting.selfId,\n correlationId: meeting.correlationId,\n dialInUrl\n };\n\n return meeting.meetingRequest\n .leavePstn(options)\n .then((response) => {\n if (response?.body?.locus) {\n meeting.locusInfo.onFullLocus(response.body.locus);\n }\n })\n .catch((err) => {\n LoggerProxy.logger.error(\n `Meeting:util#leavePstn --> An error occured while trying to leave pstn with an id of ${\n meeting.id\n }, error: ${err}`\n );\n\n return Promise.reject(err);\n });\n};\n\n// by default will leave on meeting's resourceId\n// if you explicity want it not to leave on resource id, pass\n// {resourceId: null}\n// TODO: chris, you can modify this however you want\nMeetingUtil.leaveMeeting = (meeting, options = {}) => {\n if (meeting.meetingState === FULL_STATE.INACTIVE) {\n // TODO: clean up if the meeting is already inactive\n return Promise.reject(new MeetingNotActiveError());\n }\n\n if (MeetingUtil.isUserInLeftState(meeting.locusInfo)) {\n return Promise.reject(new UserNotJoinedError());\n }\n\n const defaultOptions = {\n locusUrl: meeting.locusUrl,\n selfId: meeting.selfId,\n correlationId: meeting.correlationId,\n resourceId: meeting.resourceId,\n deviceUrl: meeting.deviceUrl\n };\n\n const leaveOptions = {...defaultOptions, ...options};\n\n return meeting.meetingRequest\n .leaveMeeting(leaveOptions)\n .then((response) => {\n if (response && response.body && response.body.locus) { // && !options.moveMeeting) {\n meeting.locusInfo.onFullLocus(response.body.locus);\n }\n\n return Promise.resolve();\n })\n .then(() => {\n if (options.moveMeeting) {\n return Promise.resolve();\n }\n\n return MeetingUtil.cleanUp(meeting);\n })\n .catch((err) => {\n // TODO: If the meeting state comes as LEFT or INACTIVE as response then\n // 1) on leave clean up the meeting or simply do a sync on the meeting\n // 2) If the error says meeting is inactive then destroy the meeting object\n LoggerProxy.logger.error(\n `Meeting:util#leaveMeeting --> An error occured while trying to leave meeting with an id of ${\n meeting.id\n }, error: ${err}`\n );\n\n return Promise.reject(err);\n });\n};\nMeetingUtil.declineMeeting = (meeting, reason) =>\n meeting.meetingRequest.declineMeeting({\n locusUrl: meeting.locusUrl,\n deviceUrl: meeting.deviceUrl,\n reason\n });\n\nMeetingUtil.isUserInLeftState = (locusInfo) =>\n locusInfo.parsedLocus?.self?.state === _LEFT_;\n\nMeetingUtil.isUserInIdleState = (locusInfo) =>\n locusInfo.parsedLocus?.self?.state === _IDLE_;\n\nMeetingUtil.isUserInJoinedState = (locusInfo) =>\n locusInfo.parsedLocus?.self?.state === _JOINED_;\n\nMeetingUtil.isMediaEstablished = (currentMediaStatus) =>\n currentMediaStatus && (currentMediaStatus.audio || currentMediaStatus.video || currentMediaStatus.share);\n\n\nMeetingUtil.joinMeetingOptions = (meeting, options = {}) => {\n meeting.resourceId = meeting.resourceId || options.resourceId;\n\n if (options.pin) {\n Metrics.postEvent({\n event: eventType.PIN_COLLECTED,\n meeting\n });\n }\n\n // normal join meeting, scenario A, D\n return MeetingUtil.joinMeeting(meeting, options)\n .then((response) => {\n meeting.setLocus(response);\n\n return Promise.resolve(response);\n })\n .catch((err) => {\n // joining a claimed PMR that is not my own, scenario B\n if (MeetingUtil.isPinOrGuest(err)) {\n Metrics.postEvent({\n event: eventType.PIN_PROMPT,\n meeting\n });\n\n // request host pin or non host for unclaimed PMR, start of Scenario C\n // see https://sqbu-github.cisco.com/WebExSquared/locus/wiki/Locus-Lobby-and--IVR-Feature\n return Promise.reject(new IntentToJoinError('Error Joining Meeting', err));\n }\n LoggerProxy.logger.error('Meeting:util#joinMeetingOptions --> Error joining the call, ', err);\n\n return Promise.reject(new JoinMeetingError(options, 'Error Joining Meeting', err));\n });\n};\n\nMeetingUtil.updateTransceiver = (options, meetingOptions) => {\n const {\n type,\n sendTrack,\n receiveTrack,\n track,\n transceiver,\n peerConnection,\n previousMediaDirection\n } = options;\n\n if ((sendTrack !== undefined && sendTrack !== previousMediaDirection.sendTrack) ||\n (receiveTrack !== undefined && receiveTrack !== previousMediaDirection.receiveTrack)) {\n return Media.updateTransceiver({\n meetingId: meetingOptions.meeting.id,\n remoteQualityLevel: meetingOptions.mediaProperties.remoteQualityLevel,\n enableRtx: meetingOptions.meeting.config.enableRtx,\n enableExtmap: meetingOptions.meeting.config.enableExtmap\n }, peerConnection, transceiver,\n {\n track,\n type,\n receiveTrack,\n sendTrack\n })\n .then(() => meetingOptions.meeting.roap\n .sendRoapMediaRequest({\n sdp: meetingOptions.mediaProperties.peerConnection.sdp,\n roapSeq: meetingOptions.meeting.roapSeq,\n meeting: meetingOptions.meeting // or can pass meeting ID\n }))\n .catch((e) => {\n LoggerProxy.logger.error(`Meeting:util#updateTransceiver --> Error updating the ${type} streams with error: ${e}`);\n });\n } if (track) {\n transceiver.sender.replaceTrack(track);\n\n return Promise.resolve();\n }\n\n return Promise.reject(new ParameterError('update Failed: please pass valid parameter'));\n};\n\nMeetingUtil.validateOptions = (options) => {\n const {\n sendVideo, sendAudio, sendShare, localStream, localShare\n } = options;\n\n if (sendVideo && !MeetingUtil.getTrack(localStream).videoTrack) {\n return Promise.reject(new ParameterError('please pass valid video streams'));\n }\n\n if (sendAudio && !MeetingUtil.getTrack(localStream).audioTrack) {\n return Promise.reject(new ParameterError('please pass valid audio streams'));\n }\n\n if (sendShare && !MeetingUtil.getTrack(localShare).videoTrack) {\n return Promise.reject(new ParameterError('please pass valid share streams'));\n }\n\n return Promise.resolve();\n};\n\nMeetingUtil.getTrack = (stream) => {\n let audioTrack = null;\n let videoTrack = null;\n let audioTracks = null;\n let videoTracks = null;\n\n if (!stream) {\n return {audioTrack: null, videoTrack: null};\n }\n if (stream.getAudioTracks) {\n audioTracks = stream.getAudioTracks();\n }\n if (stream.getVideoTracks) {\n videoTracks = stream.getVideoTracks();\n }\n\n if (audioTracks && audioTracks.length > 0) {\n [audioTrack] = audioTracks;\n }\n\n if (videoTracks && videoTracks.length > 0) {\n [videoTrack] = videoTracks;\n }\n\n return {audioTrack, videoTrack};\n};\n\nMeetingUtil.getModeratorFromLocusInfo = (locusInfo) =>\n locusInfo &&\n locusInfo.parsedLocus &&\n locusInfo.parsedLocus.info &&\n locusInfo.parsedLocus.info &&\n locusInfo.parsedLocus.info.moderator;\n\nMeetingUtil.getPolicyFromLocusInfo = (locusInfo) =>\n locusInfo &&\n locusInfo.parsedLocus &&\n locusInfo.parsedLocus.info &&\n locusInfo.parsedLocus.info &&\n locusInfo.parsedLocus.info.policy;\n\nMeetingUtil.canUserLock = (moderator, joined) => {\n if (moderator.LOCK_CONTROL_LOCK && joined.LOCK_STATUS_UNLOCKED) {\n return true;\n }\n\n return false;\n};\n\nMeetingUtil.canUserUnlock = (moderator, joined) => {\n if (moderator.LOCK_CONTROL_UNLOCK && joined.LOCK_STATUS_LOCKED) {\n return true;\n }\n\n return false;\n};\n\nMeetingUtil.canUserRecord = (moderator) => moderator.RECORDING_CONTROL_START;\n\nMeetingUtil.canUserPause = (moderator) => moderator.RECORDING_CONTROL_PAUSE;\n\nMeetingUtil.canUserResume = (moderator) => moderator.RECORDING_CONTROL_RESUME;\n\nMeetingUtil.canUserStop = (moderator) => moderator.RECORDING_CONTROL_STOP;\n\nMeetingUtil.startRecording = (request, locusUrl, locusInfo) => {\n const moderator = MeetingUtil.getModeratorFromLocusInfo(locusInfo);\n\n if (moderator && MeetingUtil.canUserRecord(moderator)) {\n return request.recordMeeting({locusUrl, recording: true, paused: false});\n }\n\n return Promise.reject(new PermissionError('Start recording not allowed, due to moderator property.'));\n};\n\nMeetingUtil.pauseRecording = (request, locusUrl, locusInfo) => {\n const moderator = MeetingUtil.getModeratorFromLocusInfo(locusInfo);\n\n if (moderator && MeetingUtil.canUserPause(moderator)) {\n return request.recordMeeting({locusUrl, recording: true, paused: true});\n }\n\n return Promise.reject(new PermissionError('Pause recording not allowed, due to moderator property.'));\n};\n\nMeetingUtil.resumeRecording = (request, locusUrl, locusInfo) => {\n const moderator = MeetingUtil.getModeratorFromLocusInfo(locusInfo);\n\n if (moderator && MeetingUtil.canUserResume(moderator)) {\n return request.recordMeeting({locusUrl, recording: true, paused: false});\n }\n\n return Promise.reject(new PermissionError('Resume recording not allowed, due to moderator property.'));\n};\n\nMeetingUtil.stopRecording = (request, locusUrl, locusInfo) => {\n const moderator = MeetingUtil.getModeratorFromLocusInfo(locusInfo);\n\n if (moderator && MeetingUtil.canUserStop(moderator)) {\n return request.recordMeeting({locusUrl, recording: false, paused: false});\n }\n\n return Promise.reject(new PermissionError('Stop recording not allowed, due to moderator property.'));\n};\n\nMeetingUtil.lockMeeting = (actions, request, locusUrl) => {\n if (actions && actions.canLock) {\n return request.lockMeeting({locusUrl, lock: true});\n }\n\n return Promise.reject(new PermissionError('Lock not allowed, due to joined property.'));\n};\n\nMeetingUtil.unlockMeeting = (actions, request, locusUrl) => {\n if (actions && actions.canUnlock) {\n return request.lockMeeting({locusUrl, lock: false});\n }\n\n return Promise.reject(new PermissionError('Unlock not allowed, due to joined property.'));\n};\n\nMeetingUtil.startInternalStats = (meeting) => {\n if (!meeting.internalStats) {\n const options = {\n useConfig: true,\n senders: [\n {\n id: 'mainAudio',\n correlate: 'audio',\n history: true,\n onEvent: (event) => {\n // TODO: we don't need checks like this since it comes from the transceiver\n // refactor event linkage to use callbacks instead of events\n if (event.kind === 'audio' && event.stat === 'bytesSent') {\n Trigger.trigger(\n meeting,\n {\n file: 'meeting/util',\n function: 'startInternalStats'\n },\n EVENT_TRIGGERS.MEETING_MEDIA_LOCAL_STARTED,\n {\n type: mediaType.AUDIO\n }\n );\n Metrics.postEvent({\n event: eventType.SENDING_MEDIA_START,\n meeting,\n data: {\n mediaType: mediaType.AUDIO\n }\n });\n }\n else if (event.stop && event.stat === 'bytesSent') {\n Metrics.postEvent({\n event: eventType.SENDING_MEDIA_STOP,\n meeting,\n data: {\n mediaType: mediaType.AUDIO\n }\n });\n }\n },\n onData: () => {}\n },\n {\n id: 'mainVideo',\n correlate: 'video',\n history: true,\n onEvent: (event) => {\n if (event.kind === 'video' && event.stat === 'bytesSent') {\n Trigger.trigger(\n meeting,\n {\n file: 'meeting/util',\n function: 'startInternalStats'\n },\n EVENT_TRIGGERS.MEETING_MEDIA_LOCAL_STARTED,\n {\n type: mediaType.VIDEO\n }\n );\n Metrics.postEvent({\n event: eventType.SENDING_MEDIA_START,\n meeting,\n data: {\n mediaType: mediaType.VIDEO\n }\n });\n }\n else if (event.stop && event.stat === 'bytesSent') {\n Metrics.postEvent({\n event: eventType.SENDING_MEDIA_STOP,\n meeting,\n data: {\n mediaType: mediaType.VIDEO\n }\n });\n }\n },\n onData: () => {}\n },\n {\n id: 'mainShare',\n correlate: 'video',\n onEvent: (event) => {\n if (event.kind === 'share' && event.stat === 'bytesSent') {\n Trigger.trigger(\n meeting,\n {\n file: 'meeting/util',\n function: 'startInternalStats'\n },\n EVENT_TRIGGERS.MEETING_MEDIA_LOCAL_STARTED,\n {\n type: mediaType.SHARE\n }\n );\n Metrics.postEvent({\n event: eventType.SENDING_SHARE_START,\n meeting,\n data: {\n mediaType: mediaType.SHARE\n }\n });\n }\n else if (event.stop && event.stat === 'bytesSent') {\n Metrics.postEvent({\n event: eventType.SENDING_SHARE_STOP,\n meeting,\n data: {\n mediaType: mediaType.SHARE\n }\n });\n }\n },\n onData: () => {}\n }\n ],\n receivers: [\n {\n id: 'mainAudio',\n correlate: 'audio',\n history: true,\n onEvent: (event) => {\n if (event.kind === 'audio' && event.stat === 'bytesReceived') {\n Trigger.trigger(\n meeting,\n {\n file: 'meeting/util',\n function: 'startInternalStats'\n },\n EVENT_TRIGGERS.MEETING_MEDIA_REMOTE_STARTED,\n {\n type: mediaType.AUDIO\n }\n );\n Metrics.postEvent({\n event: eventType.RECEIVING_MEDIA_START,\n meeting,\n data: {\n mediaType: mediaType.AUDIO\n }\n });\n }\n else if (event.stop && event.stat === 'bytesReceived') {\n Metrics.postEvent({\n event: eventType.RECEIVING_MEDIA_STOP,\n meeting,\n data: {\n mediaType: mediaType.AUDIO\n }\n });\n }\n },\n onData: () => {}\n },\n {\n id: 'mainVideo',\n correlate: 'video',\n history: true,\n onEvent: (event) => {\n if (event.kind === 'video' && event.stat === 'bytesReceived') {\n Trigger.trigger(\n meeting,\n {\n file: 'meeting/util',\n function: 'startInternalStats'\n },\n EVENT_TRIGGERS.MEETING_MEDIA_REMOTE_STARTED,\n {\n type: mediaType.VIDEO\n }\n );\n Metrics.postEvent({\n event: eventType.RECEIVING_MEDIA_START,\n meeting,\n data: {\n mediaType: mediaType.VIDEO\n }\n });\n }\n else if (event.stop && event.stat === 'bytesReceived') {\n Metrics.postEvent({\n event: eventType.RECEIVING_MEDIA_STOP,\n meeting,\n data: {\n mediaType: mediaType.VIDEO\n }\n });\n }\n },\n onData: () => {}\n },\n {\n id: 'mainShare',\n correlate: 'video',\n onEvent: (event) => {\n if (event.kind === 'share' && event.stat === 'bytesReceived') {\n Trigger.trigger(\n meeting,\n {\n file: 'meeting/util',\n function: 'startInternalStats'\n },\n EVENT_TRIGGERS.MEETING_MEDIA_REMOTE_STARTED,\n {\n type: mediaType.SHARE\n }\n );\n Metrics.postEvent({\n event: eventType.RECEIVING_MEDIA_START,\n meeting,\n data: {\n mediaType: mediaType.SHARE\n }\n });\n }\n else if (event.stop && event.stat === 'bytesReceived') {\n Metrics.postEvent({\n event: eventType.RECEIVING_MEDIA_STOP,\n meeting,\n data: {\n mediaType: mediaType.SHARE\n }\n });\n }\n },\n onData: () => {}\n }\n ]\n };\n\n StatsUtil.generateOptions(options, STATS.CONFIG, meeting);\n\n options.config = STATS.CONFIG;\n\n // pass the attrs and options for the webex instance\n meeting.internalStats = new WebRTCStats(meeting.attrs, meeting.options, options);\n }\n\n return meeting.internalStats;\n};\n\nMeetingUtil.handleAudioLogging = (audioTrack) => {\n const LOG_HEADER = 'MeetingUtil#handleAudioLogging -->';\n\n if (audioTrack) {\n const settings = audioTrack.getSettings();\n const {deviceId} = settings;\n\n LoggerProxy.logger.log(LOG_HEADER, `deviceId = ${deviceId}`);\n LoggerProxy.logger.log(LOG_HEADER, 'settings =', JSON.stringify(settings));\n }\n};\n\nMeetingUtil.handleVideoLogging = (videoTrack) => {\n const LOG_HEADER = 'MeetingUtil#handleVideoLogging -->';\n\n if (videoTrack) {\n const settings = videoTrack.getSettings();\n const {deviceId} = settings;\n\n LoggerProxy.logger.log(LOG_HEADER, `deviceId = ${deviceId}`);\n LoggerProxy.logger.log(LOG_HEADER, 'settings =', JSON.stringify(settings));\n }\n};\n\nMeetingUtil.handleDeviceLogging = (devices = []) => {\n const LOG_HEADER = 'MeetingUtil#handleDeviceLogging -->';\n\n devices.forEach((device) => {\n LoggerProxy.logger.log(LOG_HEADER, `deviceId = ${device.deviceId}`);\n LoggerProxy.logger.log(LOG_HEADER, 'settings', JSON.stringify(device));\n });\n};\n\nexport default MeetingUtil;\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webex/plugin-meetings",
|
|
3
|
-
"version": "1.147.
|
|
3
|
+
"version": "1.147.1",
|
|
4
4
|
"description": "",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"contributors": [
|
|
@@ -24,17 +24,17 @@
|
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
26
|
"@babel/runtime-corejs2": "^7.14.8",
|
|
27
|
-
"@webex/webex-core": "1.147.
|
|
28
|
-
"@webex/internal-plugin-mercury": "1.147.
|
|
27
|
+
"@webex/webex-core": "1.147.1",
|
|
28
|
+
"@webex/internal-plugin-mercury": "1.147.1",
|
|
29
29
|
"webrtc-adapter": "^7.7.0",
|
|
30
30
|
"lodash": "^4.17.21",
|
|
31
31
|
"uuid": "^3.3.2",
|
|
32
32
|
"global": "^4.4.0",
|
|
33
|
-
"@webex/common": "1.147.
|
|
33
|
+
"@webex/common": "1.147.1",
|
|
34
34
|
"bowser": "^2.11.0",
|
|
35
35
|
"sdp-transform": "^2.12.0",
|
|
36
36
|
"readable-stream": "^3.6.0",
|
|
37
|
-
"@webex/common-timers": "1.147.
|
|
37
|
+
"@webex/common-timers": "1.147.1",
|
|
38
38
|
"btoa": "^1.2.1",
|
|
39
39
|
"javascript-state-machine": "^3.1.0",
|
|
40
40
|
"envify": "^4.1.0"
|
package/src/constants.js
CHANGED
|
@@ -185,7 +185,7 @@ export const MODERATOR_FALSE = false;
|
|
|
185
185
|
|
|
186
186
|
// ******************** NUMBERS ********************
|
|
187
187
|
|
|
188
|
-
export const INTENT_TO_JOIN = 2423005;
|
|
188
|
+
export const INTENT_TO_JOIN = [2423005, 2423006, 2423016, 2423017, 2423018];
|
|
189
189
|
export const ICE_TIMEOUT = 2000;
|
|
190
190
|
export const ICE_FAIL_TIMEOUT = 3000;
|
|
191
191
|
|
package/src/meeting/util.js
CHANGED
|
@@ -72,13 +72,7 @@ MeetingUtil.hasOwner = (info) => info && info.owner;
|
|
|
72
72
|
|
|
73
73
|
MeetingUtil.isOwnerSelf = (owner, selfId) => owner === selfId;
|
|
74
74
|
|
|
75
|
-
MeetingUtil.isPinOrGuest = (err) =>
|
|
76
|
-
if (err && err.body && err.body.errorCode === INTENT_TO_JOIN) {
|
|
77
|
-
return true;
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
return false;
|
|
81
|
-
};
|
|
75
|
+
MeetingUtil.isPinOrGuest = (err) => err?.body?.errorCode && INTENT_TO_JOIN.includes(err.body.errorCode);
|
|
82
76
|
|
|
83
77
|
MeetingUtil.joinMeeting = (meeting, options) => {
|
|
84
78
|
if (!meeting) {
|
|
@@ -263,14 +257,6 @@ MeetingUtil.joinMeetingOptions = (meeting, options = {}) => {
|
|
|
263
257
|
.catch((err) => {
|
|
264
258
|
// joining a claimed PMR that is not my own, scenario B
|
|
265
259
|
if (MeetingUtil.isPinOrGuest(err)) {
|
|
266
|
-
if (MeetingUtil.hasOwner(meeting.meetingInfo)) {
|
|
267
|
-
return MeetingUtil.joinMeeting(meeting, options).then((response) => {
|
|
268
|
-
meeting.setLocus(response);
|
|
269
|
-
|
|
270
|
-
return Promise.resolve();
|
|
271
|
-
});
|
|
272
|
-
}
|
|
273
|
-
|
|
274
260
|
Metrics.postEvent({
|
|
275
261
|
event: eventType.PIN_PROMPT,
|
|
276
262
|
meeting
|