@webex/plugin-meetings 1.149.2 → 1.151.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.
@@ -1 +1 @@
1
- {"version":3,"sources":["config.js"],"names":["errorDescription","UNKNOWN_CALL_FAILURE","LOCUS_RATE_LIMITED_INCOMING","LOCUS_RATE_LIMITED_OUTGOING","LOCUS_UNAVAILABLE","LOCUS_CONFLICT","TIMEOUT","LOCUS_INVALID_SEQUENCE_HASH","UPDATE_MEDIA_FAILED","FAILED_TO_CONNECT_MEDIA","MEDIA_ENGINE_LOST","MEDIA_CONNECTION_LOST","ICE_FAILURE","MEDIA_ENGINE_HANG","ICE_SERVER_REJECTED","CALL_FULL","ROOM_TOO_LARGE","GUEST_ALREADY_ADDED","LOCUS_USER_NOT_AUTHORISED","CLOUDBERRY_UNAVAILABLE","ROOM_TOO_LARGE_FREE_ACCOUNT","MEETING_INACTIVE","MEETING_LOCKED","MEETING_TERMINATING","MODERATOR_PIN_OR_GUEST_REQUIRED","MODERATOR_PIN_OR_GUEST_PIN_REQUIRED","MODERATOR_REQUIRED","USER_NOT_MEMBER_OF_ROOM","NEW_LOCUS_ERROR","NET_WORK_UNAVAILABLE","MEETING_UNAVAILABLE","MEETING_ID_INVALID","MEETING_SITE_INVALID","LOCUS_INVALID_JOINTIME","LOBBY_EXPIRED","MEDIA_CONNECTION_LOST_PAIRED","PHONE_NUMBER_NOT_A_NUMBER","PHONE_NUMBER_TOO_LONG","INVALID_DIALABLE_KEY","ONE_ON_ONE_TO_SELF_NOT_ALLOWED","REMOVED_PARTICIPANT","MEETING_LINK_NOT_FOUND","PHONE_NUMBER_TOO_SHORT_AFTER_IDD","INVALID_INVITEE_ADDRESS","PMR_USER_ACCOUNT_LOCKED_OUT","GUEST_FORBIDDEN","PMR_ACCOUNT_SUSPENDED","EMPTY_PHONE_NUMBER_OR_COUNTRY_CODE","CONVERSATION_NOT_FOUND","SIP_CALLEE_BUSY","SIP_CALLEE_NOT_FOUND","START_RECORDING_FAILED","RECORDING_IN_PROGRESS_FAILED","errorCategory","SIGNALING","MEDIA","OTHER","EXPECTED","errorFailureType","CALL_INITIATION_FAILURE","MEDIA_CONNECTION_FAILURE","EXPECTED_FAILURE","ACCESS_RIGHTS","eventType","MEDIA_QUALITY","CALL_INITIATED","MERCURY_CONNECTION_LOST","MERCURY_CONNECTION_RESTORED","MOVE_MEDIA","LOCAL_SDP_GENERATED","REMOTE_SDP_RECEIVED","LOCUS_JOIN_REQUEST","LOCUS_JOIN_RESPONSE","ALERT_DISPLAYED","ICE_START","ICE_END","ICE_DISCONNECT","RECEIVING_MEDIA_START","RECEIVING_MEDIA_STOP","SENDING_MEDIA_START","SENDING_MEDIA_STOP","MEDIA_RENDER_START","MEDIA_RENDER_STOP","MEDIA_CAPABILITIES","MEDIA_RECONNECTING","MEDIA_RECOVERED","CALL_ABORTED","PIN_PROMPT","PIN_COLLECTED","LOBBY_ENTERED","LOBBY_EXITED","SHARE_INITIATED","SHARE_STOPPED","LOCAL_SHARE_FLOOR_GRANTED","SHARE_LAYOUT_DISPLAYED","MUTED","UNMUTED","LEAVE","REMOTE_ENDED","REMOTE_STARTED","MEDIA_REQUEST","MEDIA_RESPONSE","PSTN_AUDIO_ATTEMPT_START","PSTN_AUDIO_ATTEMPT_FINISH","PSTN_AUDIO_ATTEMPT_SKIP","error","name","MEDIA_ENGINE","ICE_FAILED","LOCUS_RESPONSE","LOCUS_LEAVE","notFatalErrorList","errors","trigger","USER_INTERACTION","MERCURY_EVENT","LOCI_UPDATE","MEDIA_ENGINE_EVENT","pstnAudioType","DIAL_IN","DIAL_OUT","displayLocation","TOAST","ROOM_LIST","CALL_PANE","CALL_VIEW","mediaType","AUDIO","VIDEO","SHARE","WHITEBOARD","reconnection","RECOVERED_BY_NEW","RECOVERED_BY_RETRY","errorCodes","USER_CREATE_FAILED","USER_ALREADY_PARTICIPANT","CONVO_ALREADY_EXISTS","ALREADY_ANNOUNCEMENT_SPACE","NOT_ANNOUNCEMENT_SPACE","USER_NOT_MODERATOR_IN_ANNOUNCEMENT_SPACE","TEMP_ID_ALREADY_EXISTS","PARENT_ACTIVITY_ID_NOT_FOUND_OR_INVALID","statusCodes","NETWORK_OR_CORS","BAD_REQUEST","FORBIDDEN","NOT_FOUND","CONFLICT","errorObjects","category","media","expected","mediaEngine","UNKNOWN","OS_NAME","WINDOWS","MAC","IOS","ANDROID","CHROME","LINUX","OTHERS","CLIENT_NAME"],"mappings":"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","sourcesContent":["\n\nconst errorDescription = {\n UNKNOWN_CALL_FAILURE: 'UnknownCallFailure',\n LOCUS_RATE_LIMITED_INCOMING: 'LocusRateLimitedIncoming',\n LOCUS_RATE_LIMITED_OUTGOING: 'LocusRateLimitedOutgoing',\n LOCUS_UNAVAILABLE: 'LocusUnavailable',\n LOCUS_CONFLICT: 'LocusConflict',\n TIMEOUT: 'Timeout',\n LOCUS_INVALID_SEQUENCE_HASH: 'LocusInvalidSequenceHash',\n UPDATE_MEDIA_FAILED: 'UpdateMediaFailed',\n FAILED_TO_CONNECT_MEDIA: 'FailedToConnectMedia',\n MEDIA_ENGINE_LOST: 'MediaEngineLost',\n MEDIA_CONNECTION_LOST: 'MediaConnectionLost',\n ICE_FAILURE: 'IceFailure',\n MEDIA_ENGINE_HANG: 'MediaEngineHang',\n ICE_SERVER_REJECTED: 'IceServerRejected',\n CALL_FULL: 'CallFull',\n ROOM_TOO_LARGE: 'RoomTooLarge',\n GUEST_ALREADY_ADDED: 'GuestAlreadyAdded',\n LOCUS_USER_NOT_AUTHORISED: 'LocusUserNotAuthorised',\n CLOUDBERRY_UNAVAILABLE: 'CloudberryUnavailable',\n ROOM_TOO_LARGE_FREE_ACCOUNT: 'RoomTooLarge_FreeAccount',\n MEETING_INACTIVE: 'MeetingInactive',\n MEETING_LOCKED: 'MeetingLocked',\n MEETING_TERMINATING: 'MeetingTerminating',\n MODERATOR_PIN_OR_GUEST_REQUIRED: 'Moderator_Pin_Or_Guest_Required',\n MODERATOR_PIN_OR_GUEST_PIN_REQUIRED: 'Moderator_Pin_Or_Guest_PIN_Required',\n MODERATOR_REQUIRED: 'Moderator_Required',\n USER_NOT_MEMBER_OF_ROOM: 'UserNotMemberOfRoom',\n NEW_LOCUS_ERROR: 'NewLocusError',\n NET_WORK_UNAVAILABLE: 'NetworkUnavailable',\n MEETING_UNAVAILABLE: 'MeetingUnavailable',\n MEETING_ID_INVALID: 'MeetingIDInvalid',\n MEETING_SITE_INVALID: 'MeetingSiteInvalid',\n LOCUS_INVALID_JOINTIME: 'LocusInvalidJoinTime',\n LOBBY_EXPIRED: 'LobbyExpired',\n MEDIA_CONNECTION_LOST_PAIRED: 'MediaConnectionLostPaired',\n PHONE_NUMBER_NOT_A_NUMBER: 'PhoneNumberNotANumber',\n PHONE_NUMBER_TOO_LONG: 'PhoneNumberTooLong',\n INVALID_DIALABLE_KEY: 'InvalidDialableKey',\n ONE_ON_ONE_TO_SELF_NOT_ALLOWED: 'OneOnOneToSelfNotAllowed',\n REMOVED_PARTICIPANT: 'RemovedParticipant',\n MEETING_LINK_NOT_FOUND: 'MeetingLinkNotFound',\n PHONE_NUMBER_TOO_SHORT_AFTER_IDD: 'PhoneNumberTooShortAfterIdd',\n INVALID_INVITEE_ADDRESS: 'InvalidInviteeAddress',\n PMR_USER_ACCOUNT_LOCKED_OUT: 'PMRUserAccountLockedOut',\n GUEST_FORBIDDEN: 'GuestForbidden',\n PMR_ACCOUNT_SUSPENDED: 'PMRAccountSuspended',\n EMPTY_PHONE_NUMBER_OR_COUNTRY_CODE: 'EmptyPhoneNumberOrCountryCode',\n CONVERSATION_NOT_FOUND: 'ConversationNotFound',\n SIP_CALLEE_BUSY: 'SIPCalleeBusy',\n SIP_CALLEE_NOT_FOUND: 'SIPCalleeNotFound',\n START_RECORDING_FAILED: 'StartRecordingFailed',\n RECORDING_IN_PROGRESS_FAILED: 'RecordingInProgressFailed'\n};\n\nconst errorCategory = {\n SIGNALING: 'signaling',\n MEDIA: 'media',\n OTHER: 'other',\n EXPECTED: 'expected'\n};\n\nconst errorFailureType = {\n CALL_INITIATION_FAILURE: 'CallInitiationFailure',\n MEDIA_CONNECTION_FAILURE: 'MediaConnectionFailure',\n EXPECTED_FAILURE: 'ExpectedFailure',\n ACCESS_RIGHTS: 'AccessRights'\n};\n\nexport const eventType = {\n // media quality events every 60 seconds\n MEDIA_QUALITY: 'client.mediaquality.event',\n CALL_INITIATED: 'client.call.initiated',\n MERCURY_CONNECTION_LOST: 'client.mercury.connection.lost',\n MERCURY_CONNECTION_RESTORED: 'client.mercury.connection.restored',\n MOVE_MEDIA: 'client.call.move-media',\n LOCAL_SDP_GENERATED: 'client.media-engine.local-sdp-generated',\n REMOTE_SDP_RECEIVED: 'client.media-engine.remote-sdp-received',\n LOCUS_JOIN_REQUEST: 'client.locus.join.request',\n LOCUS_JOIN_RESPONSE: 'client.locus.join.response',\n ALERT_DISPLAYED: 'client.alert.displayed',\n // when ICE negotiation starts\n ICE_START: 'client.ice.start',\n ICE_END: 'client.ice.end',\n ICE_DISCONNECT: 'client.ice.disconnect',\n // Fired when the media engine reports receiving a new media stream. Media events MUST have the mediaType property.\n RECEIVING_MEDIA_START: 'client.media.rx.start',\n // Fired when the media engine reports the end of receiving a media stream.\n // Media events MUST have the mediaType property.\n RECEIVING_MEDIA_STOP: 'client.media.rx.stop',\n // Fired when the media engine reports sending a new media stream. Media events MUST have the mediaType property.\n SENDING_MEDIA_START: 'client.media.tx.start',\n // Fired when the media engine reports it stopped sending a media stream.\n // Media events MUST have the mediaType property.\n SENDING_MEDIA_STOP: 'client.media.tx.stop',\n MEDIA_RENDER_START: 'client.media.render.start',\n MEDIA_RENDER_STOP: 'client.media.render.stop',\n // static media event when outside of the normal scenario\n // call-analyzer assumes that a client is capable of receiving audio, video, and share\n // fired on change, or at beginning of a call\n // every media type is required, so must be indicated with boolean\n MEDIA_CAPABILITIES: 'client.media.capabilities',\n // Sent when the client notices that a media session has been lost\n MEDIA_RECONNECTING: 'client.media.reconnecting',\n // Sent when the client recovers a media session that was lost\n MEDIA_RECOVERED: 'client.media.recovered',\n CALL_ABORTED: 'client.call.aborted',\n // Fired when the \"please enter your PIN\" or similar prompt is displayed\n // to the user, to authenticate them into the meeting\n PIN_PROMPT: 'client.pin.prompt',\n // Fired when PIN entry has been completed\n PIN_COLLECTED: 'client.pin.collected',\n // Fired when the client displays the native lobby\n LOBBY_ENTERED: 'client.lobby.entered',\n // Fired when the client leaves the native lobby\n LOBBY_EXITED: 'client.lobby.exited',\n // Fired when the user of the client starts a share (e.g. click 'Share' button).\n // This should be sent from all clients that support sending a share.\n SHARE_INITIATED: 'client.share.initiated',\n // Fired when the user stops sharing (usually when they click the 'Stop' button for share)\n SHARE_STOPPED: 'client.share.stopped',\n // When the client receives a successful response from locus indicating that it has the floor for content sharing.\n LOCAL_SHARE_FLOOR_GRANTED: 'client.share.floor-granted.local',\n // Fired when the client changes its local UI/layout to a content sharing view,\n // because it is expecting to display share media.\n SHARE_LAYOUT_DISPLAYED: 'client.share.layout.displayed',\n MUTED: 'client.muted',\n UNMUTED: 'client.unmuted',\n LEAVE: 'client.call.leave',\n REMOTE_ENDED: 'client.call.remote-ended',\n REMOTE_STARTED: 'client.call.remote-started',\n MEDIA_REQUEST: 'client.locus.media.request',\n MEDIA_RESPONSE: 'client.locus.media.response',\n PSTN_AUDIO_ATTEMPT_START: 'client.pstnaudio.attempt.start',\n PSTN_AUDIO_ATTEMPT_FINISH: 'client.pstnaudio.attempt.finish',\n PSTN_AUDIO_ATTEMPT_SKIP: 'client.pstnaudio.attempt.skip'\n};\n\nexport const error = {\n name: {\n MEDIA_ENGINE: 'media-engine',\n ICE_FAILED: 'ice.failed',\n LOCUS_RESPONSE: 'locus.response',\n LOCUS_LEAVE: 'locus.leave'\n },\n\n notFatalErrorList: [3003, 3004, 4004, 4005, 4006, 4015],\n errors: {\n // https://sqbu-github.cisco.com/WebExSquared/event-dictionary/wiki/Error-codes-for-metric-events\n // [errorDescription, errorFailureType, errorCategory]\n 1000: [errorDescription.UNKNOWN_CALL_FAILURE, errorFailureType.CALL_INITIATION_FAILURE, errorCategory.SIGNALING],\n 1001: [errorDescription.LOCUS_RATE_LIMITED_INCOMING,\n errorFailureType.CALL_INITIATION_FAILURE,\n errorCategory.SIGNALING\n ],\n 1002: [errorDescription.LOCUS_RATE_LIMITED_OUTGOING,\n errorFailureType.CALL_INITIATION_FAILURE,\n errorCategory.SIGNALING\n ],\n 1003: [errorDescription.LOCUS_UNAVAILABLE, errorFailureType.CALL_INITIATION_FAILURE, errorCategory.SIGNALING],\n 1004: [errorDescription.LOCUS_CONFLICT, errorFailureType.CALL_INITIATION_FAILURE, errorCategory.SIGNALING],\n 1005: [errorDescription.TIMEOUT, errorFailureType.CALL_INITIATION_FAILURE, errorCategory.SIGNALING],\n 1006: [errorDescription.LOCUS_INVALID_SEQUENCE_HASH,\n errorFailureType.CALL_INITIATION_FAILURE,\n errorCategory.SIGNALING\n ],\n 1007: [errorDescription.UPDATE_MEDIA_FAILED, errorFailureType.CALL_INITIATION_FAILURE, errorCategory.SIGNALING],\n 2001: [errorDescription.FAILED_TO_CONNECT_MEDIA,\n errorFailureType.MEDIA_CONNECTION_FAILURE,\n errorCategory.SIGNALING\n ],\n 2002: [errorDescription.MEDIA_ENGINE_LOST, errorFailureType.MEDIA_CONNECTION_FAILURE, errorCategory.SIGNALING],\n 2003: [errorDescription.MEDIA_CONNECTION_LOST,\n errorFailureType.MEDIA_CONNECTION_FAILURE,\n errorCategory.SIGNALING\n ],\n 2004: [errorDescription.ICE_FAILURE, errorFailureType.MEDIA_CONNECTION_FAILURE, errorCategory.SIGNALING],\n 2005: [errorDescription.MEDIA_ENGINE_HANG, errorFailureType.MEDIA_CONNECTION_FAILURE, errorCategory.SIGNALING],\n 2006: [errorDescription.ICE_SERVER_REJECTED, errorFailureType.MEDIA_CONNECTION_FAILURE, errorCategory.SIGNALING],\n 3001: [errorDescription.CALL_FULL, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 3002: [errorDescription.ROOM_TOO_LARGE, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 3004: [errorDescription.GUEST_ALREADY_ADDED, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 3005: [errorDescription.LOCUS_USER_NOT_AUTHORISED, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 3006: [errorDescription.CLOUDBERRY_UNAVAILABLE, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 3007: [errorDescription.ROOM_TOO_LARGE_FREE_ACCOUNT, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 4001: [errorDescription.MEETING_INACTIVE, errorFailureType.CALL_INITIATION_FAILURE, errorCategory.EXPECTED],\n 4002: [errorDescription.MEETING_LOCKED, errorFailureType.CALL_INITIATION_FAILURE, errorCategory.EXPECTED],\n 4003: [errorDescription.MEETING_TERMINATING, errorFailureType.CALL_INITIATION_FAILURE, errorCategory.EXPECTED],\n 4004: [errorDescription.MODERATOR_PIN_OR_GUEST_REQUIRED, errorFailureType.ACCESS_RIGHTS, errorCategory.EXPECTED],\n 4005: [errorDescription.MODERATOR_PIN_OR_GUEST_PIN_REQUIRED,\n errorFailureType.ACCESS_RIGHTS,\n errorCategory.EXPECTED\n ],\n 4006: [errorDescription.MODERATOR_REQUIRED, errorFailureType.ACCESS_RIGHTS, errorCategory.EXPECTED],\n 4007: [errorDescription.USER_NOT_MEMBER_OF_ROOM, errorFailureType.ACCESS_RIGHTS, errorCategory.EXPECTED],\n 4008: [errorDescription.NEW_LOCUS_ERROR, errorFailureType.CALL_INITIATION_FAILURE, errorCategory.EXPECTED],\n 4009: [errorDescription.NET_WORK_UNAVAILABLE, errorFailureType.CALL_INITIATION_FAILURE, errorCategory.EXPECTED],\n 4010: [errorDescription.MEETING_UNAVAILABLE, errorFailureType.CALL_INITIATION_FAILURE, errorCategory.EXPECTED],\n 4011: [errorDescription.MEETING_ID_INVALID, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 4012: [errorDescription.MEETING_SITE_INVALID, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 4013: [errorDescription.LOCUS_INVALID_JOINTIME, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 4014: [errorDescription.LOBBY_EXPIRED, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 4015: [errorDescription.MEDIA_CONNECTION_LOST_PAIRED,\n errorFailureType.MEDIA_CONNECTION_FAILURE,\n errorCategory.EXPECTED\n ],\n 4016: [errorDescription.PHONE_NUMBER_NOT_A_NUMBER, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 4017: [errorDescription.PHONE_NUMBER_TOO_LONG, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 4018: [errorDescription.INVALID_DIALABLE_KEY, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 4019: [errorDescription.ONE_ON_ONE_TO_SELF_NOT_ALLOWED,\n errorFailureType.EXPECTED_FAILURE,\n errorCategory.EXPECTED\n ],\n 4020: [errorDescription.REMOVED_PARTICIPANT, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 4021: [errorDescription.MEETING_LINK_NOT_FOUND, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 4022: [errorDescription.PHONE_NUMBER_TOO_SHORT_AFTER_IDD,\n errorFailureType.EXPECTED_FAILURE,\n errorCategory.EXPECTED\n ],\n 4023: [errorDescription.INVALID_INVITEE_ADDRESS, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 4024: [errorDescription.PMR_USER_ACCOUNT_LOCKED_OUT, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 4025: [errorDescription.GUEST_FORBIDDEN, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 4026: [errorDescription.PMR_ACCOUNT_SUSPENDED, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 4027: [errorDescription.EMPTY_PHONE_NUMBER_OR_COUNTRY_CODE,\n errorFailureType.EXPECTED_FAILURE,\n errorCategory.EXPECTED\n ],\n 4028: [errorDescription.CONVERSATION_NOT_FOUND, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 4029: [errorDescription.START_RECORDING_FAILED, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 4030: [errorDescription.RECORDING_IN_PROGRESS_FAILED, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 5000: [errorDescription.SIP_CALLEE_BUSY, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 5001: [errorDescription.SIP_CALLEE_NOT_FOUND, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED]\n }\n};\n\nexport const trigger = {\n USER_INTERACTION: 'user-interaction',\n MERCURY_EVENT: 'mercury-event',\n LOCI_UPDATE: 'loci-update',\n MEDIA_ENGINE_EVENT: 'media-engine-event',\n TIMEOUT: 'timeout',\n SIGNALING: 'signaling',\n OTHER: 'other'\n};\n\nexport const pstnAudioType = {\n DIAL_IN: 'dial-in',\n DIAL_OUT: 'dial-out'\n};\n\nexport const displayLocation = {\n TOAST: 'toast',\n ROOM_LIST: 'room-list',\n CALL_PANE: 'call-pane',\n CALL_VIEW: 'call-view',\n OTHER: 'other'\n};\n\nexport const mediaType = {\n AUDIO: 'audio',\n VIDEO: 'video',\n SHARE: 'share',\n WHITEBOARD: 'whiteboard'\n};\n\nexport const reconnection = {\n RECOVERED_BY_NEW: 'new', // always set to new due to /media request, no retries with ice restart\n RECOVERED_BY_RETRY: 'retry'\n};\n\n\nexport const errorCodes = {\n // ordered by error code values\n USER_CREATE_FAILED: 1400006,\n USER_ALREADY_PARTICIPANT: 1403001,\n CONVO_ALREADY_EXISTS: 1403010,\n ALREADY_ANNOUNCEMENT_SPACE: 1403014,\n NOT_ANNOUNCEMENT_SPACE: 1403015,\n USER_NOT_MODERATOR_IN_ANNOUNCEMENT_SPACE: 1403016,\n TEMP_ID_ALREADY_EXISTS: 1409001,\n PARENT_ACTIVITY_ID_NOT_FOUND_OR_INVALID: 14000015\n};\nexport const statusCodes = {\n // ordered by status codes\n NETWORK_OR_CORS: 0,\n BAD_REQUEST: 400,\n FORBIDDEN: 403,\n NOT_FOUND: 404,\n CONFLICT: 409\n};\n\nexport const errorObjects = {\n category: {\n media: 'media',\n expected: 'expected'\n },\n name: {\n mediaEngine: 'media-engine'\n }\n};\n\nexport const UNKNOWN = 'unknown';\n\nexport const OS_NAME = {\n WINDOWS: 'windows',\n MAC: 'mac',\n IOS: 'ios',\n ANDROID: 'android',\n CHROME: 'chrome',\n LINUX: 'linux',\n OTHERS: 'other'\n};\n\nexport const CLIENT_NAME = 'webex-js-sdk';\n"]}
1
+ {"version":3,"sources":["config.js"],"names":["errorDescription","UNKNOWN_CALL_FAILURE","LOCUS_RATE_LIMITED_INCOMING","LOCUS_RATE_LIMITED_OUTGOING","LOCUS_UNAVAILABLE","LOCUS_CONFLICT","TIMEOUT","LOCUS_INVALID_SEQUENCE_HASH","UPDATE_MEDIA_FAILED","FAILED_TO_CONNECT_MEDIA","MEDIA_ENGINE_LOST","MEDIA_CONNECTION_LOST","ICE_FAILURE","MEDIA_ENGINE_HANG","ICE_SERVER_REJECTED","CALL_FULL","ROOM_TOO_LARGE","GUEST_ALREADY_ADDED","LOCUS_USER_NOT_AUTHORISED","CLOUDBERRY_UNAVAILABLE","ROOM_TOO_LARGE_FREE_ACCOUNT","MEETING_INACTIVE","MEETING_LOCKED","MEETING_TERMINATING","MODERATOR_PIN_OR_GUEST_REQUIRED","MODERATOR_PIN_OR_GUEST_PIN_REQUIRED","MODERATOR_REQUIRED","USER_NOT_MEMBER_OF_ROOM","NEW_LOCUS_ERROR","NET_WORK_UNAVAILABLE","MEETING_UNAVAILABLE","MEETING_ID_INVALID","MEETING_SITE_INVALID","LOCUS_INVALID_JOINTIME","LOBBY_EXPIRED","MEDIA_CONNECTION_LOST_PAIRED","PHONE_NUMBER_NOT_A_NUMBER","PHONE_NUMBER_TOO_LONG","INVALID_DIALABLE_KEY","ONE_ON_ONE_TO_SELF_NOT_ALLOWED","REMOVED_PARTICIPANT","MEETING_LINK_NOT_FOUND","PHONE_NUMBER_TOO_SHORT_AFTER_IDD","INVALID_INVITEE_ADDRESS","PMR_USER_ACCOUNT_LOCKED_OUT","GUEST_FORBIDDEN","PMR_ACCOUNT_SUSPENDED","EMPTY_PHONE_NUMBER_OR_COUNTRY_CODE","CONVERSATION_NOT_FOUND","SIP_CALLEE_BUSY","SIP_CALLEE_NOT_FOUND","START_RECORDING_FAILED","RECORDING_IN_PROGRESS_FAILED","errorCategory","SIGNALING","MEDIA","OTHER","EXPECTED","errorFailureType","CALL_INITIATION_FAILURE","MEDIA_CONNECTION_FAILURE","EXPECTED_FAILURE","ACCESS_RIGHTS","eventType","MEDIA_QUALITY","CALL_INITIATED","MERCURY_CONNECTION_LOST","MERCURY_CONNECTION_RESTORED","MOVE_MEDIA","LOCAL_SDP_GENERATED","REMOTE_SDP_RECEIVED","LOCUS_JOIN_REQUEST","LOCUS_JOIN_RESPONSE","ALERT_DISPLAYED","ICE_START","ICE_END","ICE_DISCONNECT","RECEIVING_MEDIA_START","RECEIVING_MEDIA_STOP","SENDING_MEDIA_START","SENDING_MEDIA_STOP","MEDIA_RENDER_START","MEDIA_RENDER_STOP","MEDIA_CAPABILITIES","MEDIA_RECONNECTING","MEDIA_RECOVERED","CALL_ABORTED","PIN_PROMPT","PIN_COLLECTED","LOBBY_ENTERED","LOBBY_EXITED","SHARE_INITIATED","SHARE_STOPPED","LOCAL_SHARE_FLOOR_GRANTED","SHARE_LAYOUT_DISPLAYED","WHITEBOARD_SHARE_INITIATED","WHITEBOARD_SHARE_STOPPED","WHITEBOARD_SHARE_FLOOR_GRANTED","MUTED","UNMUTED","LEAVE","REMOTE_ENDED","REMOTE_STARTED","MEDIA_REQUEST","MEDIA_RESPONSE","PSTN_AUDIO_ATTEMPT_START","PSTN_AUDIO_ATTEMPT_FINISH","PSTN_AUDIO_ATTEMPT_SKIP","error","name","MEDIA_ENGINE","ICE_FAILED","LOCUS_RESPONSE","LOCUS_LEAVE","notFatalErrorList","errors","trigger","USER_INTERACTION","MERCURY_EVENT","LOCI_UPDATE","MEDIA_ENGINE_EVENT","pstnAudioType","DIAL_IN","DIAL_OUT","displayLocation","TOAST","ROOM_LIST","CALL_PANE","CALL_VIEW","mediaType","AUDIO","VIDEO","SHARE","WHITEBOARD","reconnection","RECOVERED_BY_NEW","RECOVERED_BY_RETRY","errorCodes","USER_CREATE_FAILED","USER_ALREADY_PARTICIPANT","CONVO_ALREADY_EXISTS","ALREADY_ANNOUNCEMENT_SPACE","NOT_ANNOUNCEMENT_SPACE","USER_NOT_MODERATOR_IN_ANNOUNCEMENT_SPACE","TEMP_ID_ALREADY_EXISTS","PARENT_ACTIVITY_ID_NOT_FOUND_OR_INVALID","statusCodes","NETWORK_OR_CORS","BAD_REQUEST","FORBIDDEN","NOT_FOUND","CONFLICT","errorObjects","category","media","expected","mediaEngine","UNKNOWN","OS_NAME","WINDOWS","MAC","IOS","ANDROID","CHROME","LINUX","OTHERS","CLIENT_NAME"],"mappings":"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","sourcesContent":["\n\nconst errorDescription = {\n UNKNOWN_CALL_FAILURE: 'UnknownCallFailure',\n LOCUS_RATE_LIMITED_INCOMING: 'LocusRateLimitedIncoming',\n LOCUS_RATE_LIMITED_OUTGOING: 'LocusRateLimitedOutgoing',\n LOCUS_UNAVAILABLE: 'LocusUnavailable',\n LOCUS_CONFLICT: 'LocusConflict',\n TIMEOUT: 'Timeout',\n LOCUS_INVALID_SEQUENCE_HASH: 'LocusInvalidSequenceHash',\n UPDATE_MEDIA_FAILED: 'UpdateMediaFailed',\n FAILED_TO_CONNECT_MEDIA: 'FailedToConnectMedia',\n MEDIA_ENGINE_LOST: 'MediaEngineLost',\n MEDIA_CONNECTION_LOST: 'MediaConnectionLost',\n ICE_FAILURE: 'IceFailure',\n MEDIA_ENGINE_HANG: 'MediaEngineHang',\n ICE_SERVER_REJECTED: 'IceServerRejected',\n CALL_FULL: 'CallFull',\n ROOM_TOO_LARGE: 'RoomTooLarge',\n GUEST_ALREADY_ADDED: 'GuestAlreadyAdded',\n LOCUS_USER_NOT_AUTHORISED: 'LocusUserNotAuthorised',\n CLOUDBERRY_UNAVAILABLE: 'CloudberryUnavailable',\n ROOM_TOO_LARGE_FREE_ACCOUNT: 'RoomTooLarge_FreeAccount',\n MEETING_INACTIVE: 'MeetingInactive',\n MEETING_LOCKED: 'MeetingLocked',\n MEETING_TERMINATING: 'MeetingTerminating',\n MODERATOR_PIN_OR_GUEST_REQUIRED: 'Moderator_Pin_Or_Guest_Required',\n MODERATOR_PIN_OR_GUEST_PIN_REQUIRED: 'Moderator_Pin_Or_Guest_PIN_Required',\n MODERATOR_REQUIRED: 'Moderator_Required',\n USER_NOT_MEMBER_OF_ROOM: 'UserNotMemberOfRoom',\n NEW_LOCUS_ERROR: 'NewLocusError',\n NET_WORK_UNAVAILABLE: 'NetworkUnavailable',\n MEETING_UNAVAILABLE: 'MeetingUnavailable',\n MEETING_ID_INVALID: 'MeetingIDInvalid',\n MEETING_SITE_INVALID: 'MeetingSiteInvalid',\n LOCUS_INVALID_JOINTIME: 'LocusInvalidJoinTime',\n LOBBY_EXPIRED: 'LobbyExpired',\n MEDIA_CONNECTION_LOST_PAIRED: 'MediaConnectionLostPaired',\n PHONE_NUMBER_NOT_A_NUMBER: 'PhoneNumberNotANumber',\n PHONE_NUMBER_TOO_LONG: 'PhoneNumberTooLong',\n INVALID_DIALABLE_KEY: 'InvalidDialableKey',\n ONE_ON_ONE_TO_SELF_NOT_ALLOWED: 'OneOnOneToSelfNotAllowed',\n REMOVED_PARTICIPANT: 'RemovedParticipant',\n MEETING_LINK_NOT_FOUND: 'MeetingLinkNotFound',\n PHONE_NUMBER_TOO_SHORT_AFTER_IDD: 'PhoneNumberTooShortAfterIdd',\n INVALID_INVITEE_ADDRESS: 'InvalidInviteeAddress',\n PMR_USER_ACCOUNT_LOCKED_OUT: 'PMRUserAccountLockedOut',\n GUEST_FORBIDDEN: 'GuestForbidden',\n PMR_ACCOUNT_SUSPENDED: 'PMRAccountSuspended',\n EMPTY_PHONE_NUMBER_OR_COUNTRY_CODE: 'EmptyPhoneNumberOrCountryCode',\n CONVERSATION_NOT_FOUND: 'ConversationNotFound',\n SIP_CALLEE_BUSY: 'SIPCalleeBusy',\n SIP_CALLEE_NOT_FOUND: 'SIPCalleeNotFound',\n START_RECORDING_FAILED: 'StartRecordingFailed',\n RECORDING_IN_PROGRESS_FAILED: 'RecordingInProgressFailed'\n};\n\nconst errorCategory = {\n SIGNALING: 'signaling',\n MEDIA: 'media',\n OTHER: 'other',\n EXPECTED: 'expected'\n};\n\nconst errorFailureType = {\n CALL_INITIATION_FAILURE: 'CallInitiationFailure',\n MEDIA_CONNECTION_FAILURE: 'MediaConnectionFailure',\n EXPECTED_FAILURE: 'ExpectedFailure',\n ACCESS_RIGHTS: 'AccessRights'\n};\n\nexport const eventType = {\n // media quality events every 60 seconds\n MEDIA_QUALITY: 'client.mediaquality.event',\n CALL_INITIATED: 'client.call.initiated',\n MERCURY_CONNECTION_LOST: 'client.mercury.connection.lost',\n MERCURY_CONNECTION_RESTORED: 'client.mercury.connection.restored',\n MOVE_MEDIA: 'client.call.move-media',\n LOCAL_SDP_GENERATED: 'client.media-engine.local-sdp-generated',\n REMOTE_SDP_RECEIVED: 'client.media-engine.remote-sdp-received',\n LOCUS_JOIN_REQUEST: 'client.locus.join.request',\n LOCUS_JOIN_RESPONSE: 'client.locus.join.response',\n ALERT_DISPLAYED: 'client.alert.displayed',\n // when ICE negotiation starts\n ICE_START: 'client.ice.start',\n ICE_END: 'client.ice.end',\n ICE_DISCONNECT: 'client.ice.disconnect',\n // Fired when the media engine reports receiving a new media stream. Media events MUST have the mediaType property.\n RECEIVING_MEDIA_START: 'client.media.rx.start',\n // Fired when the media engine reports the end of receiving a media stream.\n // Media events MUST have the mediaType property.\n RECEIVING_MEDIA_STOP: 'client.media.rx.stop',\n // Fired when the media engine reports sending a new media stream. Media events MUST have the mediaType property.\n SENDING_MEDIA_START: 'client.media.tx.start',\n // Fired when the media engine reports it stopped sending a media stream.\n // Media events MUST have the mediaType property.\n SENDING_MEDIA_STOP: 'client.media.tx.stop',\n MEDIA_RENDER_START: 'client.media.render.start',\n MEDIA_RENDER_STOP: 'client.media.render.stop',\n // static media event when outside of the normal scenario\n // call-analyzer assumes that a client is capable of receiving audio, video, and share\n // fired on change, or at beginning of a call\n // every media type is required, so must be indicated with boolean\n MEDIA_CAPABILITIES: 'client.media.capabilities',\n // Sent when the client notices that a media session has been lost\n MEDIA_RECONNECTING: 'client.media.reconnecting',\n // Sent when the client recovers a media session that was lost\n MEDIA_RECOVERED: 'client.media.recovered',\n CALL_ABORTED: 'client.call.aborted',\n // Fired when the \"please enter your PIN\" or similar prompt is displayed\n // to the user, to authenticate them into the meeting\n PIN_PROMPT: 'client.pin.prompt',\n // Fired when PIN entry has been completed\n PIN_COLLECTED: 'client.pin.collected',\n // Fired when the client displays the native lobby\n LOBBY_ENTERED: 'client.lobby.entered',\n // Fired when the client leaves the native lobby\n LOBBY_EXITED: 'client.lobby.exited',\n // Fired when the user of the client starts a share (e.g. click 'Share' button).\n // This should be sent from all clients that support sending a share.\n SHARE_INITIATED: 'client.share.initiated',\n // Fired when the user stops sharing (usually when they click the 'Stop' button for share)\n SHARE_STOPPED: 'client.share.stopped',\n // When the client receives a successful response from locus indicating that it has the floor for content sharing.\n LOCAL_SHARE_FLOOR_GRANTED: 'client.share.floor-granted.local',\n // Fired when the client changes its local UI/layout to a content sharing view,\n // because it is expecting to display share media.\n SHARE_LAYOUT_DISPLAYED: 'client.share.layout.displayed',\n // Fired when the user of the client starts a whiteboard share (e.g. click 'Share Live' button).\n WHITEBOARD_SHARE_INITIATED: 'client.whiteboard.share.initiated',\n // Fired when the meeting floor is released for whiteboard share\n WHITEBOARD_SHARE_STOPPED: 'client.whiteboard.share.stopped',\n // When the client receives a successful response from locus indicating that it has the floor for whiteboard sharing.\n WHITEBOARD_SHARE_FLOOR_GRANTED: 'client.whiteboard.share.floor-granted',\n MUTED: 'client.muted',\n UNMUTED: 'client.unmuted',\n LEAVE: 'client.call.leave',\n REMOTE_ENDED: 'client.call.remote-ended',\n REMOTE_STARTED: 'client.call.remote-started',\n MEDIA_REQUEST: 'client.locus.media.request',\n MEDIA_RESPONSE: 'client.locus.media.response',\n PSTN_AUDIO_ATTEMPT_START: 'client.pstnaudio.attempt.start',\n PSTN_AUDIO_ATTEMPT_FINISH: 'client.pstnaudio.attempt.finish',\n PSTN_AUDIO_ATTEMPT_SKIP: 'client.pstnaudio.attempt.skip'\n};\n\nexport const error = {\n name: {\n MEDIA_ENGINE: 'media-engine',\n ICE_FAILED: 'ice.failed',\n LOCUS_RESPONSE: 'locus.response',\n LOCUS_LEAVE: 'locus.leave'\n },\n\n notFatalErrorList: [3003, 3004, 4004, 4005, 4006, 4015],\n errors: {\n // https://sqbu-github.cisco.com/WebExSquared/event-dictionary/wiki/Error-codes-for-metric-events\n // [errorDescription, errorFailureType, errorCategory]\n 1000: [errorDescription.UNKNOWN_CALL_FAILURE, errorFailureType.CALL_INITIATION_FAILURE, errorCategory.SIGNALING],\n 1001: [errorDescription.LOCUS_RATE_LIMITED_INCOMING,\n errorFailureType.CALL_INITIATION_FAILURE,\n errorCategory.SIGNALING\n ],\n 1002: [errorDescription.LOCUS_RATE_LIMITED_OUTGOING,\n errorFailureType.CALL_INITIATION_FAILURE,\n errorCategory.SIGNALING\n ],\n 1003: [errorDescription.LOCUS_UNAVAILABLE, errorFailureType.CALL_INITIATION_FAILURE, errorCategory.SIGNALING],\n 1004: [errorDescription.LOCUS_CONFLICT, errorFailureType.CALL_INITIATION_FAILURE, errorCategory.SIGNALING],\n 1005: [errorDescription.TIMEOUT, errorFailureType.CALL_INITIATION_FAILURE, errorCategory.SIGNALING],\n 1006: [errorDescription.LOCUS_INVALID_SEQUENCE_HASH,\n errorFailureType.CALL_INITIATION_FAILURE,\n errorCategory.SIGNALING\n ],\n 1007: [errorDescription.UPDATE_MEDIA_FAILED, errorFailureType.CALL_INITIATION_FAILURE, errorCategory.SIGNALING],\n 2001: [errorDescription.FAILED_TO_CONNECT_MEDIA,\n errorFailureType.MEDIA_CONNECTION_FAILURE,\n errorCategory.SIGNALING\n ],\n 2002: [errorDescription.MEDIA_ENGINE_LOST, errorFailureType.MEDIA_CONNECTION_FAILURE, errorCategory.SIGNALING],\n 2003: [errorDescription.MEDIA_CONNECTION_LOST,\n errorFailureType.MEDIA_CONNECTION_FAILURE,\n errorCategory.SIGNALING\n ],\n 2004: [errorDescription.ICE_FAILURE, errorFailureType.MEDIA_CONNECTION_FAILURE, errorCategory.SIGNALING],\n 2005: [errorDescription.MEDIA_ENGINE_HANG, errorFailureType.MEDIA_CONNECTION_FAILURE, errorCategory.SIGNALING],\n 2006: [errorDescription.ICE_SERVER_REJECTED, errorFailureType.MEDIA_CONNECTION_FAILURE, errorCategory.SIGNALING],\n 3001: [errorDescription.CALL_FULL, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 3002: [errorDescription.ROOM_TOO_LARGE, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 3004: [errorDescription.GUEST_ALREADY_ADDED, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 3005: [errorDescription.LOCUS_USER_NOT_AUTHORISED, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 3006: [errorDescription.CLOUDBERRY_UNAVAILABLE, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 3007: [errorDescription.ROOM_TOO_LARGE_FREE_ACCOUNT, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 4001: [errorDescription.MEETING_INACTIVE, errorFailureType.CALL_INITIATION_FAILURE, errorCategory.EXPECTED],\n 4002: [errorDescription.MEETING_LOCKED, errorFailureType.CALL_INITIATION_FAILURE, errorCategory.EXPECTED],\n 4003: [errorDescription.MEETING_TERMINATING, errorFailureType.CALL_INITIATION_FAILURE, errorCategory.EXPECTED],\n 4004: [errorDescription.MODERATOR_PIN_OR_GUEST_REQUIRED, errorFailureType.ACCESS_RIGHTS, errorCategory.EXPECTED],\n 4005: [errorDescription.MODERATOR_PIN_OR_GUEST_PIN_REQUIRED,\n errorFailureType.ACCESS_RIGHTS,\n errorCategory.EXPECTED\n ],\n 4006: [errorDescription.MODERATOR_REQUIRED, errorFailureType.ACCESS_RIGHTS, errorCategory.EXPECTED],\n 4007: [errorDescription.USER_NOT_MEMBER_OF_ROOM, errorFailureType.ACCESS_RIGHTS, errorCategory.EXPECTED],\n 4008: [errorDescription.NEW_LOCUS_ERROR, errorFailureType.CALL_INITIATION_FAILURE, errorCategory.EXPECTED],\n 4009: [errorDescription.NET_WORK_UNAVAILABLE, errorFailureType.CALL_INITIATION_FAILURE, errorCategory.EXPECTED],\n 4010: [errorDescription.MEETING_UNAVAILABLE, errorFailureType.CALL_INITIATION_FAILURE, errorCategory.EXPECTED],\n 4011: [errorDescription.MEETING_ID_INVALID, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 4012: [errorDescription.MEETING_SITE_INVALID, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 4013: [errorDescription.LOCUS_INVALID_JOINTIME, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 4014: [errorDescription.LOBBY_EXPIRED, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 4015: [errorDescription.MEDIA_CONNECTION_LOST_PAIRED,\n errorFailureType.MEDIA_CONNECTION_FAILURE,\n errorCategory.EXPECTED\n ],\n 4016: [errorDescription.PHONE_NUMBER_NOT_A_NUMBER, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 4017: [errorDescription.PHONE_NUMBER_TOO_LONG, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 4018: [errorDescription.INVALID_DIALABLE_KEY, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 4019: [errorDescription.ONE_ON_ONE_TO_SELF_NOT_ALLOWED,\n errorFailureType.EXPECTED_FAILURE,\n errorCategory.EXPECTED\n ],\n 4020: [errorDescription.REMOVED_PARTICIPANT, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 4021: [errorDescription.MEETING_LINK_NOT_FOUND, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 4022: [errorDescription.PHONE_NUMBER_TOO_SHORT_AFTER_IDD,\n errorFailureType.EXPECTED_FAILURE,\n errorCategory.EXPECTED\n ],\n 4023: [errorDescription.INVALID_INVITEE_ADDRESS, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 4024: [errorDescription.PMR_USER_ACCOUNT_LOCKED_OUT, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 4025: [errorDescription.GUEST_FORBIDDEN, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 4026: [errorDescription.PMR_ACCOUNT_SUSPENDED, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 4027: [errorDescription.EMPTY_PHONE_NUMBER_OR_COUNTRY_CODE,\n errorFailureType.EXPECTED_FAILURE,\n errorCategory.EXPECTED\n ],\n 4028: [errorDescription.CONVERSATION_NOT_FOUND, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 4029: [errorDescription.START_RECORDING_FAILED, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 4030: [errorDescription.RECORDING_IN_PROGRESS_FAILED, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 5000: [errorDescription.SIP_CALLEE_BUSY, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 5001: [errorDescription.SIP_CALLEE_NOT_FOUND, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED]\n }\n};\n\nexport const trigger = {\n USER_INTERACTION: 'user-interaction',\n MERCURY_EVENT: 'mercury-event',\n LOCI_UPDATE: 'loci-update',\n MEDIA_ENGINE_EVENT: 'media-engine-event',\n TIMEOUT: 'timeout',\n SIGNALING: 'signaling',\n OTHER: 'other'\n};\n\nexport const pstnAudioType = {\n DIAL_IN: 'dial-in',\n DIAL_OUT: 'dial-out'\n};\n\nexport const displayLocation = {\n TOAST: 'toast',\n ROOM_LIST: 'room-list',\n CALL_PANE: 'call-pane',\n CALL_VIEW: 'call-view',\n OTHER: 'other'\n};\n\nexport const mediaType = {\n AUDIO: 'audio',\n VIDEO: 'video',\n SHARE: 'share',\n WHITEBOARD: 'whiteboard'\n};\n\nexport const reconnection = {\n RECOVERED_BY_NEW: 'new', // always set to new due to /media request, no retries with ice restart\n RECOVERED_BY_RETRY: 'retry'\n};\n\n\nexport const errorCodes = {\n // ordered by error code values\n USER_CREATE_FAILED: 1400006,\n USER_ALREADY_PARTICIPANT: 1403001,\n CONVO_ALREADY_EXISTS: 1403010,\n ALREADY_ANNOUNCEMENT_SPACE: 1403014,\n NOT_ANNOUNCEMENT_SPACE: 1403015,\n USER_NOT_MODERATOR_IN_ANNOUNCEMENT_SPACE: 1403016,\n TEMP_ID_ALREADY_EXISTS: 1409001,\n PARENT_ACTIVITY_ID_NOT_FOUND_OR_INVALID: 14000015\n};\nexport const statusCodes = {\n // ordered by status codes\n NETWORK_OR_CORS: 0,\n BAD_REQUEST: 400,\n FORBIDDEN: 403,\n NOT_FOUND: 404,\n CONFLICT: 409\n};\n\nexport const errorObjects = {\n category: {\n media: 'media',\n expected: 'expected'\n },\n name: {\n mediaEngine: 'media-engine'\n }\n};\n\nexport const UNKNOWN = 'unknown';\n\nexport const OS_NAME = {\n WINDOWS: 'windows',\n MAC: 'mac',\n IOS: 'ios',\n ANDROID: 'android',\n CHROME: 'chrome',\n LINUX: 'linux',\n OTHERS: 'other'\n};\n\nexport const CLIENT_NAME = 'webex-js-sdk';\n"]}
@@ -36,27 +36,27 @@ var _uuid = _interopRequireDefault(require("uuid"));
36
36
 
37
37
  var _window = _interopRequireDefault(require("global/window"));
38
38
 
39
+ var _ipAnonymize = _interopRequireDefault(require("ip-anonymize"));
40
+
39
41
  var _loggerProxy = _interopRequireDefault(require("../common/logs/logger-proxy"));
40
42
 
41
43
  var _constants = require("../constants");
42
44
 
43
- var _config = _interopRequireDefault(require("../common/config"));
44
-
45
45
  var _browserDetection = _interopRequireDefault(require("../common/browser-detection"));
46
46
 
47
- var _config2 = require("./config");
47
+ var _config = require("./config");
48
48
 
49
49
  function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
50
50
 
51
51
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (_Object$getOwnPropertyDescriptors) { _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } } return target; }
52
52
 
53
53
  var OSMap = {
54
- 'Chrome OS': _config2.OS_NAME.chrome,
55
- macOS: _config2.OS_NAME.MAC,
56
- Windows: _config2.OS_NAME.WINDOWS,
57
- iOS: _config2.OS_NAME.IOS,
58
- Android: _config2.OS_NAME.ANDROID,
59
- Linux: _config2.OS_NAME.LINUX
54
+ 'Chrome OS': _config.OS_NAME.chrome,
55
+ macOS: _config.OS_NAME.MAC,
56
+ Windows: _config.OS_NAME.WINDOWS,
57
+ iOS: _config.OS_NAME.IOS,
58
+ Android: _config.OS_NAME.ANDROID,
59
+ Linux: _config.OS_NAME.LINUX
60
60
  };
61
61
 
62
62
  var _BrowserDetection = (0, _browserDetection.default)(),
@@ -66,15 +66,8 @@ var _BrowserDetection = (0, _browserDetection.default)(),
66
66
  getBrowserVersion = _BrowserDetection.getBrowserVersion; // Apply a CIDR /28 format to the IP address
67
67
 
68
68
 
69
- var getLocalNetworkPrefix = function getLocalNetworkPrefix(localIp) {
70
- if (!localIp) {
71
- return undefined;
72
- }
73
-
74
- var parts = localIp.split('.'); // eslint-disable-next-line no-bitwise
75
-
76
- parts[3] &= 240;
77
- return parts.join('.');
69
+ var anonymizeIPAddress = function anonymizeIPAddress(localIp) {
70
+ return (0, _ipAnonymize.default)(localIp);
78
71
  };
79
72
 
80
73
  var triggerTimers = function triggerTimers(_ref) {
@@ -83,21 +76,39 @@ var triggerTimers = function triggerTimers(_ref) {
83
76
  data = _ref.data;
84
77
 
85
78
  switch (event) {
86
- case _config2.eventType.LOCUS_JOIN_RESPONSE:
87
- meeting.setStartSetupDelay(_config2.mediaType.AUDIO);
88
- meeting.setStartSetupDelay(_config2.mediaType.VIDEO);
89
- meeting.setStartSendingMediaDelay(_config2.mediaType.AUDIO);
90
- meeting.setStartSendingMediaDelay(_config2.mediaType.VIDEO);
79
+ case _config.eventType.CALL_INITIATED:
80
+ meeting.setStartCallInitiateJoinReq();
81
+ break;
82
+
83
+ case _config.eventType.LOCUS_JOIN_REQUEST:
84
+ meeting.setEndCallInitiateJoinReq();
85
+ meeting.setStartJoinReqResp();
86
+ break;
87
+
88
+ case _config.eventType.LOCUS_JOIN_RESPONSE:
89
+ meeting.setEndJoinReqResp();
90
+ meeting.setStartSetupDelay(_config.mediaType.AUDIO);
91
+ meeting.setStartSetupDelay(_config.mediaType.VIDEO);
92
+ meeting.setStartSendingMediaDelay(_config.mediaType.AUDIO);
93
+ meeting.setStartSendingMediaDelay(_config.mediaType.VIDEO);
91
94
  break;
92
95
 
93
- case _config2.eventType.RECEIVING_MEDIA_START:
96
+ case _config.eventType.RECEIVING_MEDIA_START:
94
97
  meeting.setEndSetupDelay(data.mediaType);
95
98
  break;
96
99
 
97
- case _config2.eventType.SENDING_MEDIA_START:
100
+ case _config.eventType.SENDING_MEDIA_START:
98
101
  meeting.setEndSendingMediaDelay(data.mediaType);
99
102
  break;
100
103
 
104
+ case _config.eventType.LOCAL_SDP_GENERATED:
105
+ meeting.setStartLocalSDPGenRemoteSDPRecvDelay();
106
+ break;
107
+
108
+ case _config.eventType.REMOTE_SDP_RECEIVED:
109
+ meeting.setEndLocalSDPGenRemoteSDPRecvDelay();
110
+ break;
111
+
101
112
  default:
102
113
  break;
103
114
  }
@@ -142,7 +153,7 @@ var Metrics = /*#__PURE__*/function () {
142
153
  * @memberof Metrics
143
154
  */
144
155
 
145
- this.keys = (0, _values.default)(_config2.eventType);
156
+ this.keys = (0, _values.default)(_config.eventType);
146
157
  /**
147
158
  * @instance
148
159
  * @type {Metrics}
@@ -196,6 +207,7 @@ var Metrics = /*#__PURE__*/function () {
196
207
 
197
208
  if (!meeting && meetingId) {
198
209
  meeting = this.meetingCollection.get(meetingId);
210
+ options.meeting = meeting;
199
211
  }
200
212
 
201
213
  if (meeting) {
@@ -205,7 +217,7 @@ var Metrics = /*#__PURE__*/function () {
205
217
  meeting.callEvents = [];
206
218
  }
207
219
 
208
- if (event === _config2.eventType.MEDIA_QUALITY) {
220
+ if (event === _config.eventType.MEDIA_QUALITY) {
209
221
  data.event = event;
210
222
  meeting.sendMediaQualityAnalyzerMetrics(data);
211
223
  } else {
@@ -237,8 +249,8 @@ var Metrics = /*#__PURE__*/function () {
237
249
  userAgent: this.userAgentToString(),
238
250
  clientInfo: {
239
251
  clientType: options.clientType,
240
- clientVersion: "".concat(_config2.CLIENT_NAME, "/").concat(this.webex.version),
241
- localNetworkPrefix: getLocalNetworkPrefix((_this$webex$meetings$ = this.webex.meetings.geoHintInfo) === null || _this$webex$meetings$ === void 0 ? void 0 : _this$webex$meetings$.clientAddress),
252
+ clientVersion: "".concat(_config.CLIENT_NAME, "/").concat(this.webex.version),
253
+ localNetworkPrefix: anonymizeIPAddress((_this$webex$meetings$ = this.webex.meetings.geoHintInfo) === null || _this$webex$meetings$ === void 0 ? void 0 : _this$webex$meetings$.clientAddress),
242
254
  osVersion: getOSVersion() || 'unknown',
243
255
  subClientType: options.subClientType,
244
256
  os: this.getOsName(),
@@ -288,6 +300,10 @@ var Metrics = /*#__PURE__*/function () {
288
300
  if (options.recoveredBy) {
289
301
  payload.event.recoveredBy = options.recoveredBy;
290
302
  }
303
+
304
+ if (options.joinTimes) {
305
+ payload.event.joinTimes = options.joinTimes;
306
+ }
291
307
  }
292
308
 
293
309
  return payload;
@@ -305,7 +321,7 @@ var Metrics = /*#__PURE__*/function () {
305
321
  value: function getOsName() {
306
322
  var _OSMap$getOSName;
307
323
 
308
- return (_OSMap$getOSName = OSMap[getOSName()]) !== null && _OSMap$getOSName !== void 0 ? _OSMap$getOSName : _config2.OS_NAME.OTHERS;
324
+ return (_OSMap$getOSName = OSMap[getOSName()]) !== null && _OSMap$getOSName !== void 0 ? _OSMap$getOSName : _config.OS_NAME.OTHERS;
309
325
  }
310
326
  /**
311
327
  * get the payload specific for a media quality event through call analyzer
@@ -329,7 +345,8 @@ var Metrics = /*#__PURE__*/function () {
329
345
 
330
346
  var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
331
347
  var audioSetupDelay = options.audioSetupDelay,
332
- videoSetupDelay = options.videoSetupDelay;
348
+ videoSetupDelay = options.videoSetupDelay,
349
+ joinTimes = options.joinTimes;
333
350
  var payload = {
334
351
  eventId: _uuid.default.v4(),
335
352
  version: 1,
@@ -337,15 +354,15 @@ var Metrics = /*#__PURE__*/function () {
337
354
  audioSetupDelay: audioSetupDelay,
338
355
  videoSetupDelay: videoSetupDelay,
339
356
  name: 'endpoint',
340
- networkType: options.networkType || _config2.UNKNOWN,
357
+ networkType: options.networkType || _config.UNKNOWN,
341
358
  userAgent: this.userAgentToString(),
342
359
  clientInfo: {
343
360
  clientType: options.clientType,
344
361
  // TODO: Only clientType: 'TEAMS_CLIENT' is whitelisted
345
- clientVersion: "".concat(_config2.CLIENT_NAME, "/").concat(this.webex.version),
346
- localNetworkPrefix: getLocalNetworkPrefix((_this$webex$meetings$3 = this.webex.meetings.geoHintInfo) === null || _this$webex$meetings$3 === void 0 ? void 0 : _this$webex$meetings$3.clientAddress),
362
+ clientVersion: "".concat(_config.CLIENT_NAME, "/").concat(this.webex.version),
363
+ localNetworkPrefix: anonymizeIPAddress((_this$webex$meetings$3 = this.webex.meetings.geoHintInfo) === null || _this$webex$meetings$3 === void 0 ? void 0 : _this$webex$meetings$3.clientAddress),
347
364
  os: this.getOsName(),
348
- osVersion: getOSVersion() || _config2.UNKNOWN,
365
+ osVersion: getOSVersion() || _config.UNKNOWN,
349
366
  subClientType: options.subClientType,
350
367
  browser: getBrowserName(),
351
368
  browserVersion: getBrowserVersion()
@@ -360,14 +377,15 @@ var Metrics = /*#__PURE__*/function () {
360
377
  canProceed: true,
361
378
  identifiers: identifiers,
362
379
  intervals: [options.intervalData],
380
+ joinTimes: joinTimes,
363
381
  eventData: {
364
382
  webClientDomain: _window.default.location.hostname
365
383
  },
366
384
  sourceMetadata: {
367
- applicationSoftwareType: _config2.CLIENT_NAME,
385
+ applicationSoftwareType: _config.CLIENT_NAME,
368
386
  applicationSoftwareVersion: this.webex.version,
369
387
  mediaEngineSoftwareType: getBrowserName() || 'browser',
370
- mediaEngineSoftwareVersion: getOSVersion() || _config2.UNKNOWN,
388
+ mediaEngineSoftwareVersion: getOSVersion() || _config.UNKNOWN,
371
389
  startTime: new Date().toISOString()
372
390
  }
373
391
  }
@@ -391,7 +409,7 @@ var Metrics = /*#__PURE__*/function () {
391
409
  var errorCode;
392
410
 
393
411
  if (err && err.body && err.body.errorCode) {
394
- switch (_config2.errorCodes[err.body.errorCode]) {
412
+ switch (_config.errorCodes[err.body.errorCode]) {
395
413
  case _constants.MEETING_ERRORS.FREE_USER_MAX_PARTICIPANTS_EXCEEDED:
396
414
  errorCode = 3007;
397
415
  break;
@@ -521,19 +539,19 @@ var Metrics = /*#__PURE__*/function () {
521
539
  errorCode = 4008;
522
540
  }
523
541
 
524
- return this.generateErrorPayload(errorCode, showToUser, _config2.error.name.LOCUS_RESPONSE, err);
542
+ return this.generateErrorPayload(errorCode, showToUser, _config.error.name.LOCUS_RESPONSE, err);
525
543
  }
526
544
  }, {
527
545
  key: "generateErrorPayload",
528
546
  value: function generateErrorPayload(errorCode, shownToUser, name, err) {
529
- if (_config2.error.errors[errorCode]) {
547
+ if (_config.error.errors[errorCode]) {
530
548
  var errorPayload = {
531
549
  shownToUser: shownToUser || false,
532
- category: _config2.error.errors[errorCode][2],
533
- errorDescription: _config2.error.errors[errorCode][0],
550
+ category: _config.error.errors[errorCode][2],
551
+ errorDescription: _config.error.errors[errorCode][0],
534
552
  errorCode: errorCode,
535
- fatal: !(0, _includes2.default)(_config2.error.notFatalErrorList, errorCode),
536
- name: name || _config2.error.name.OTHER
553
+ fatal: !(0, _includes2.default)(_config.error.notFatalErrorList, errorCode),
554
+ name: name || _config.error.name.OTHER
537
555
  };
538
556
 
539
557
  if (err && err.body) {
@@ -554,10 +572,12 @@ var Metrics = /*#__PURE__*/function () {
554
572
  }, {
555
573
  key: "userAgentToString",
556
574
  value: function userAgentToString() {
575
+ var _this$webex$meetings, _this$webex$meetings$5;
576
+
557
577
  var userAgentOption;
558
578
  var browserInfo;
559
579
 
560
- var clientInfo = _util.default.format('client=%s', "".concat(_config.default.meetings.metrics.clientName));
580
+ var clientInfo = _util.default.format('client=%s', "".concat((_this$webex$meetings = this.webex.meetings) === null || _this$webex$meetings === void 0 ? void 0 : (_this$webex$meetings$5 = _this$webex$meetings.metrics) === null || _this$webex$meetings$5 === void 0 ? void 0 : _this$webex$meetings$5.clientName));
561
581
 
562
582
  if (['chrome', 'firefox', 'msie', 'msedge', 'safari'].indexOf(getBrowserName().toLowerCase()) !== -1) {
563
583
  browserInfo = _util.default.format('browser=%s', "".concat(getBrowserName().toLowerCase(), "/").concat(getBrowserVersion().split('.')[0]));
@@ -1 +1 @@
1
- {"version":3,"sources":["index.js"],"names":["OSMap","OS_NAME","chrome","macOS","MAC","Windows","WINDOWS","iOS","IOS","Android","ANDROID","Linux","LINUX","getOSName","getOSVersion","getBrowserName","getBrowserVersion","getLocalNetworkPrefix","localIp","undefined","parts","split","join","triggerTimers","event","meeting","data","eventType","LOCUS_JOIN_RESPONSE","setStartSetupDelay","mediaType","AUDIO","VIDEO","setStartSendingMediaDelay","RECEIVING_MEDIA_START","setEndSetupDelay","SENDING_MEDIA_START","setEndSendingMediaDelay","Metrics","instance","_events","meetingCollection","keys","webex","options","meetingId","indexOf","LoggerProxy","logger","error","get","callEvents","MEDIA_QUALITY","sendMediaQualityAnalyzerMetrics","push","sendCallAnalyzerMetrics","info","identifiers","payload","eventId","uuid","v4","version","origin","name","networkType","userAgent","userAgentToString","clientInfo","clientType","clientVersion","CLIENT_NAME","localNetworkPrefix","meetings","geoHintInfo","clientAddress","osVersion","subClientType","os","getOsName","browser","browserVersion","originTime","triggered","Date","toISOString","senderCountryCode","countryCode","canProceed","eventData","webClientDomain","window","location","hostname","Object","prototype","hasOwnProperty","call","errors","trigger","pstnAudioType","mediaCapabilities","recoveredBy","OTHERS","audioSetupDelay","videoSetupDelay","UNKNOWN","intervals","intervalData","sourceMetadata","applicationSoftwareType","applicationSoftwareVersion","mediaEngineSoftwareType","mediaEngineSoftwareVersion","startTime","err","showToUser","errorCode","body","ERROR_CODE","MEETING_ERRORS","FREE_USER_MAX_PARTICIPANTS_EXCEEDED","PAID_USER_MAX_PARTICIPANTS_EXCEEDED","SERVICE_MAX_PARTICIPANTS_EXCEEDED","INACTIVE","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","JOIN_RESTRICTED_USER","GET_RESTRICTED_USER","CREATE_MEDIA_RESTRICTED_USER","JOIN_RESTRICTED_USER_NOT_IN_ROOM","MEETING_NOT_FOUND","NOT_WEBEX_SITE","INVALID_JOIN_TIME","PHONE_NUMBER_NOT_A_NUMBER","PHONE_NUMBER_TOO_LONG","INVALID_DIALABLE_KEY","ONE_ON_ONE_TO_SELF_NOT_ALLOWED","REMOVED_PARTICIPANT","MEETING_LINK_NOT_FOUND","PHONE_NUMBER_TOO_SHORT_AFTER_IDD","INVALID_INVITEE_ADDRESS","PMR_ACCOUNT_LOCKED","RESOURCE_GUEST_FORBIDDEN","PMR_ACCOUNT_SUSPENDED","EMPTY_PHONE_NUMBER_OR_COUNTRY_CODE","INVALID_SINCE_OR_SEQUENCE_HASH_IN_REQUEST","CONVERSATION_NOT_FOUND","RECORDING_CONTROL_NOT_SUPPORTED","RECORDING_NOT_STARTED","RECORDING_NOT_ENABLED","generateErrorPayload","LOCUS_RESPONSE","shownToUser","errorPayload","category","errorDescription","fatal","notFatalErrorList","OTHER","errorData","userAgentOption","browserInfo","util","format","StaticConfig","metrics","clientName","toLowerCase","osInfo","process","env","NODE_ENV","metricName","metricFields","metricTags","fields","browser_version","os_version","sdk_version","tags","org_id","credentials","getOrgId","domain","client_id","config","Error","internal","submitClientMetrics","type"],"mappings":"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","sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\nimport util from 'util';\n\nimport {includes} from 'lodash';\nimport uuid from 'uuid';\nimport window from 'global/window';\n\nimport LoggerProxy from '../common/logs/logger-proxy';\nimport {MEETING_ERRORS} from '../constants';\nimport StaticConfig from '../common/config';\nimport BrowserDetection from '../common/browser-detection';\n\nimport {\n error, eventType, errorCodes as ERROR_CODE, OS_NAME, UNKNOWN, CLIENT_NAME,\n mediaType\n} from './config';\n\nconst OSMap = {\n 'Chrome OS': OS_NAME.chrome,\n macOS: OS_NAME.MAC,\n Windows: OS_NAME.WINDOWS,\n iOS: OS_NAME.IOS,\n Android: OS_NAME.ANDROID,\n Linux: OS_NAME.LINUX\n};\n\nconst {\n getOSName,\n getOSVersion,\n getBrowserName,\n getBrowserVersion\n} = BrowserDetection();\n\n// Apply a CIDR /28 format to the IP address\nconst getLocalNetworkPrefix = (localIp) => {\n if (!localIp) {\n return undefined;\n }\n const parts = localIp.split('.');\n\n // eslint-disable-next-line no-bitwise\n parts[3] &= 240;\n\n return parts.join('.');\n};\n\nconst triggerTimers = ({event, meeting, data}) => {\n switch (event) {\n case eventType.LOCUS_JOIN_RESPONSE:\n meeting.setStartSetupDelay(mediaType.AUDIO);\n meeting.setStartSetupDelay(mediaType.VIDEO);\n meeting.setStartSendingMediaDelay(mediaType.AUDIO);\n meeting.setStartSendingMediaDelay(mediaType.VIDEO);\n break;\n case eventType.RECEIVING_MEDIA_START:\n meeting.setEndSetupDelay(data.mediaType);\n break;\n case eventType.SENDING_MEDIA_START:\n meeting.setEndSendingMediaDelay(data.mediaType);\n break;\n default:\n break;\n }\n};\n\n/**\n * @description Metrics handles all the call metrics events\n * @export\n * @class Metrics\n */\nclass Metrics {\n /**\n * Create Metrics Object\n * @constructor\n * @public\n * @memberof Meetings\n */\n constructor() {\n if (!Metrics.instance) {\n /**\n * @instance\n * @type {Array}\n * @private\n * @memberof Metrics\n */\n this._events = [];\n /**\n * @instance\n * @type {MeetingCollection}\n * @private\n * @memberof Metrics\n */\n this.meetingCollection = null;\n /**\n * @instance\n * @type {MeetingCollection}\n * @private\n * @memberof Metrics\n */\n this.keys = Object.values(eventType);\n /**\n * @instance\n * @type {Metrics}\n * @private\n * @memberof Metrics\n */\n Metrics.instance = this;\n }\n\n return Metrics.instance;\n }\n\n /**\n * Initializes the Metrics singleton with a meeting Collection.\n *\n * @param {Object} meetingCollection meetings object\n * @param {Object} webex webex SDK object\n *\n * @returns {void}\n */\n initialSetup(meetingCollection, webex) {\n this.meetingCollection = meetingCollection;\n this.webex = webex;\n }\n\n /**\n * poste Meeting event metrics\n * @param {object} options {meetingId/meeting} as a json object\n * @param {Meeting} options.meeting Meeting object\n * @param {String} options.meetingId\n * @param {object} options.data\n * @param {object} options.event\n * @returns {object} null\n */\n postEvent(options) {\n const {meetingId, data = {}, event} = options;\n let {meeting} = options;\n\n if (this.keys.indexOf(event) === -1) {\n LoggerProxy.logger.error(`Metrics:index#postEvent --> Event ${event} doesn't exist in dictionary`);\n }\n\n if (!meeting && meetingId) {\n meeting = this.meetingCollection.get(meetingId);\n }\n\n if (meeting) {\n triggerTimers(options);\n\n if (!meeting.callEvents) {\n meeting.callEvents = [];\n }\n if (event === eventType.MEDIA_QUALITY) {\n data.event = event;\n meeting.sendMediaQualityAnalyzerMetrics(data);\n }\n else {\n meeting.callEvents.push(event);\n data.event = event;\n meeting.sendCallAnalyzerMetrics(data);\n }\n }\n\n else {\n LoggerProxy.logger.info(`Metrics:index#postEvent --> Event received for meetingId:${meetingId}, but meeting not found in collection.`);\n }\n }\n\n /**\n * Docs for Call analyzer metrics\n * https://sqbu-github.cisco.com/WebExSquared/call-analyzer/wiki\n * https://sqbu-github.cisco.com/WebExSquared/event-dictionary/blob/master/diagnostic-events.raml\n */\n\n initPayload(eventType, identifiers, options) {\n const payload = {\n eventId: uuid.v4(),\n version: 1,\n origin: {\n name: 'endpoint',\n networkType: 'unknown',\n userAgent: this.userAgentToString(),\n clientInfo: {\n clientType: options.clientType,\n clientVersion: `${CLIENT_NAME}/${this.webex.version}`,\n localNetworkPrefix: getLocalNetworkPrefix(this.webex.meetings.geoHintInfo?.clientAddress),\n osVersion: getOSVersion() || 'unknown',\n subClientType: options.subClientType,\n os: this.getOsName(),\n browser: getBrowserName(),\n browserVersion: getBrowserVersion()\n }\n },\n originTime: {\n triggered: new Date().toISOString()\n },\n senderCountryCode: this.webex.meetings.geoHintInfo?.countryCode,\n event: {\n name: eventType,\n canProceed: true,\n identifiers,\n eventData: {webClientDomain: window.location.hostname}\n }\n };\n\n // TODO: more options should be checked and some of them should be mandatory in certain conditions\n if (options) {\n if (Object.prototype.hasOwnProperty.call(options, 'canProceed')) {\n payload.event.canProceed = options.canProceed;\n }\n if (options.errors) {\n payload.event.errors = options.errors;\n }\n if (options.mediaType) {\n payload.event.mediaType = options.mediaType;\n }\n if (options.trigger) {\n payload.event.trigger = options.trigger;\n }\n if (options.pstnAudioType) {\n payload.event.pstnAudioType = options.pstnAudioType;\n }\n if (options.mediaCapabilities) {\n payload.event.mediaCapabilities = options.mediaCapabilities;\n }\n if (options.recoveredBy) {\n payload.event.recoveredBy = options.recoveredBy;\n }\n }\n\n return payload;\n }\n\n /**\n * returns metrics friendly OS versions\n * @param {String} osName Os name\n * @returns {String}\n * @private\n * @memberof Metrics\n */\n getOsName() {\n return OSMap[getOSName()] ?? OS_NAME.OTHERS;\n }\n\n /**\n * get the payload specific for a media quality event through call analyzer\n * @param {String} eventType the event name\n * @param {Object} identifiers contains the identifiers needed for CA\n * @param {String} identifiers.correlationId\n * @param {String} identifiers.locusUrl\n * @param {String} identifiers.locusId\n * @param {Object} options\n * @param {Object} options.intervalData\n * @param {String} options.clientType\n * @returns {Object}\n * @public\n * @memberof Metrics\n */\n initMediaPayload(eventType, identifiers, options = {}) {\n const {audioSetupDelay, videoSetupDelay} = options;\n\n const payload = {\n eventId: uuid.v4(),\n version: 1,\n origin: {\n audioSetupDelay,\n videoSetupDelay,\n name: 'endpoint',\n networkType: options.networkType || UNKNOWN,\n userAgent: this.userAgentToString(),\n clientInfo: {\n clientType: options.clientType, // TODO: Only clientType: 'TEAMS_CLIENT' is whitelisted\n clientVersion: `${CLIENT_NAME}/${this.webex.version}`,\n localNetworkPrefix: getLocalNetworkPrefix(this.webex.meetings.geoHintInfo?.clientAddress),\n os: this.getOsName(),\n osVersion: getOSVersion() || UNKNOWN,\n subClientType: options.subClientType,\n browser: getBrowserName(),\n browserVersion: getBrowserVersion()\n }\n },\n originTime: {\n triggered: new Date().toISOString()\n },\n senderCountryCode: this.webex.meetings.geoHintInfo?.countryCode,\n event: {\n name: eventType,\n canProceed: true,\n identifiers,\n intervals: [options.intervalData],\n eventData: {webClientDomain: window.location.hostname},\n sourceMetadata: {\n applicationSoftwareType: CLIENT_NAME,\n applicationSoftwareVersion: this.webex.version,\n mediaEngineSoftwareType: getBrowserName() || 'browser',\n mediaEngineSoftwareVersion: getOSVersion() || UNKNOWN,\n startTime: new Date().toISOString()\n }\n }\n };\n\n return payload;\n }\n\n /**\n * This function Parses a Locus error and returns a diagnostic event payload.\n * It should keep updating from:\n * https://sqbu-github.cisco.com/WebExSquared/spark-client-framework/blob/master/spark-client-framework/Adapters/TelephonyAdapter/TelephonyAdapter.cpp#L920\n *\n * @param {Object} err the error Object from Locus response\n * @param {boolean} showToUser true if a toast is shown to user\n * @returns {{showToUser: boolean, category: string, errorDescription: string,\n * errorCode: number, errorData: *, fatal: boolean, name: string}}\n */\n parseLocusError(err, showToUser) {\n let errorCode;\n\n if (err && err.body && err.body.errorCode) {\n switch (ERROR_CODE[err.body.errorCode]) {\n case MEETING_ERRORS.FREE_USER_MAX_PARTICIPANTS_EXCEEDED:\n errorCode = 3007;\n break;\n case MEETING_ERRORS.PAID_USER_MAX_PARTICIPANTS_EXCEEDED:\n case MEETING_ERRORS.SERVICE_MAX_PARTICIPANTS_EXCEEDED:\n errorCode = 3002;\n break;\n case MEETING_ERRORS.INACTIVE:\n errorCode = 4001;\n break;\n case MEETING_ERRORS.EXCEEDED_MAX_JOINED_PARTICIPANTS:\n case MEETING_ERRORS.EXCEEDED_SERVICE_MAX_PARTICIPANTS:\n errorCode = 3001;\n break;\n case MEETING_ERRORS.MEETING_IS_LOCKED:\n errorCode = 4002;\n break;\n case MEETING_ERRORS.MEETING_IS_TERMINATING:\n errorCode = 4003;\n break;\n case MEETING_ERRORS.MEETING_REQUIRE_MODERATOR_PIN_INTENT:\n errorCode = 4004;\n break;\n case MEETING_ERRORS.MEETING_REQUIRE_MODERATOR_PIN:\n errorCode = 4005;\n break;\n case MEETING_ERRORS.MEETING_REQUIRE_MODERATOR_ROLE:\n errorCode = 4006;\n break;\n case MEETING_ERRORS.JOIN_RESTRICTED_USER:\n case MEETING_ERRORS.GET_RESTRICTED_USER:\n case MEETING_ERRORS.CREATE_MEDIA_RESTRICTED_USER:\n errorCode = 3005;\n break;\n case MEETING_ERRORS.JOIN_RESTRICTED_USER_NOT_IN_ROOM:\n errorCode = 4007;\n break;\n case MEETING_ERRORS.MEETING_NOT_FOUND:\n errorCode = 4011;\n break;\n case MEETING_ERRORS.NOT_WEBEX_SITE:\n errorCode = 4012;\n break;\n case MEETING_ERRORS.INVALID_JOIN_TIME:\n errorCode = 4013;\n break;\n case MEETING_ERRORS.PHONE_NUMBER_NOT_A_NUMBER:\n errorCode = 4016;\n break;\n case MEETING_ERRORS.PHONE_NUMBER_TOO_LONG:\n errorCode = 4017;\n break;\n case MEETING_ERRORS.INVALID_DIALABLE_KEY:\n errorCode = 4018;\n break;\n case MEETING_ERRORS.ONE_ON_ONE_TO_SELF_NOT_ALLOWED:\n errorCode = 4019;\n break;\n case MEETING_ERRORS.REMOVED_PARTICIPANT:\n errorCode = 4020;\n break;\n case MEETING_ERRORS.MEETING_LINK_NOT_FOUND:\n errorCode = 4021;\n break;\n case MEETING_ERRORS.PHONE_NUMBER_TOO_SHORT_AFTER_IDD:\n errorCode = 4022;\n break;\n case MEETING_ERRORS.INVALID_INVITEE_ADDRESS:\n errorCode = 4023;\n break;\n case MEETING_ERRORS.PMR_ACCOUNT_LOCKED:\n errorCode = 4024;\n break;\n case MEETING_ERRORS.RESOURCE_GUEST_FORBIDDEN:\n errorCode = 4025;\n break;\n case MEETING_ERRORS.PMR_ACCOUNT_SUSPENDED:\n errorCode = 4026;\n break;\n case MEETING_ERRORS.EMPTY_PHONE_NUMBER_OR_COUNTRY_CODE:\n errorCode = 4027;\n break;\n case MEETING_ERRORS.INVALID_SINCE_OR_SEQUENCE_HASH_IN_REQUEST:\n errorCode = 1006;\n break;\n case MEETING_ERRORS.CONVERSATION_NOT_FOUND:\n errorCode = 4028;\n break;\n case MEETING_ERRORS.RECORDING_CONTROL_NOT_SUPPORTED:\n case MEETING_ERRORS.RECORDING_NOT_STARTED:\n case MEETING_ERRORS.RECORDING_NOT_ENABLED:\n errorCode = 4029;\n break;\n default:\n errorCode = 4008;\n }\n }\n else {\n errorCode = 4008;\n }\n\n return this.generateErrorPayload(\n errorCode, showToUser, error.name.LOCUS_RESPONSE, err\n );\n }\n\n\n generateErrorPayload(errorCode, shownToUser, name, err) {\n if (error.errors[errorCode]) {\n const errorPayload = {\n shownToUser: shownToUser || false,\n category: error.errors[errorCode][2],\n errorDescription: error.errors[errorCode][0],\n errorCode,\n fatal: !includes(error.notFatalErrorList, errorCode),\n name: name || error.name.OTHER\n };\n\n if (err && err.body) {\n errorPayload.errorData = err.body;\n }\n\n return errorPayload;\n }\n\n return null;\n }\n\n /**\n * Returns a formated string of the user agent.\n *\n * @returns {string} formatted user agent information\n */\n userAgentToString() {\n let userAgentOption;\n let browserInfo;\n const clientInfo = util.format('client=%s', `${StaticConfig.meetings.metrics.clientName}`);\n\n if (['chrome', 'firefox', 'msie', 'msedge', 'safari'].indexOf(getBrowserName().toLowerCase()) !== -1) {\n browserInfo = util.format('browser=%s', `${getBrowserName().toLowerCase()}/${getBrowserVersion().split('.')[0]}`);\n }\n const osInfo = util.format('os=%s', `${getOSName()}/${getOSVersion().split('.')[0]}`);\n\n if (browserInfo) {\n userAgentOption = `(${browserInfo}`;\n }\n if (osInfo) {\n userAgentOption = userAgentOption ? `${userAgentOption}; ${clientInfo}; ${osInfo}` : `${clientInfo}; (${osInfo}`;\n }\n if (userAgentOption) {\n userAgentOption += ')';\n\n return util.format('webex-js-sdk/%s %s', `${process.env.NODE_ENV}-${this.webex.version}`, userAgentOption);\n }\n\n return util.format('webex-js-sdk/%s', `${process.env.NODE_ENV}-${this.webex.version}`);\n }\n\n /**\n * Uploads given metric to the Metrics service as an operational metric.\n * Metadata about the environment such as browser, OS, SDK and their versions\n * are automatically added when the metric is sent.\n *\n * The Metrics service will send an operational metric to InfluxDB for\n * aggregation.\n * See https://confluence-eng-gpk2.cisco.com/conf/display/WBXT/Getting+started+with+Metrics+Service.\n *\n * @param {string} metricName Name of the metric (measurement) to send\n * @param {Object} metricFields Key-valye pairs of data or values about this metric\n * @param {Object} metricTags Key-value pairs of metric metadata\n *\n * @returns {void}\n */\n sendOperationalMetric(metricName, metricFields = {}, metricTags = {}) {\n const fields = {\n ...metricFields,\n browser_version: getBrowserVersion(),\n os_version: getOSVersion(),\n sdk_version: this.webex.version\n };\n\n const tags = {\n ...metricTags,\n browser: getBrowserName(),\n org_id: this.webex.credentials.getOrgId(),\n os: getOSName(),\n domain: window.location.hostname,\n client_id: this.webex.credentials.config.client_id\n };\n\n if (!metricName) {\n throw Error('Missing operational metric name. Please provide one');\n }\n\n this.webex.internal.metrics.submitClientMetrics(metricName, {\n type: ['operational'],\n fields,\n tags\n });\n }\n}\n\n// Export Metrics singleton ---------------------------------------------------\nconst instance = new Metrics();\n\nexport default instance;\n"]}
1
+ {"version":3,"sources":["index.js"],"names":["OSMap","OS_NAME","chrome","macOS","MAC","Windows","WINDOWS","iOS","IOS","Android","ANDROID","Linux","LINUX","getOSName","getOSVersion","getBrowserName","getBrowserVersion","anonymizeIPAddress","localIp","triggerTimers","event","meeting","data","eventType","CALL_INITIATED","setStartCallInitiateJoinReq","LOCUS_JOIN_REQUEST","setEndCallInitiateJoinReq","setStartJoinReqResp","LOCUS_JOIN_RESPONSE","setEndJoinReqResp","setStartSetupDelay","mediaType","AUDIO","VIDEO","setStartSendingMediaDelay","RECEIVING_MEDIA_START","setEndSetupDelay","SENDING_MEDIA_START","setEndSendingMediaDelay","LOCAL_SDP_GENERATED","setStartLocalSDPGenRemoteSDPRecvDelay","REMOTE_SDP_RECEIVED","setEndLocalSDPGenRemoteSDPRecvDelay","Metrics","instance","_events","meetingCollection","keys","webex","options","meetingId","indexOf","LoggerProxy","logger","error","get","callEvents","MEDIA_QUALITY","sendMediaQualityAnalyzerMetrics","push","sendCallAnalyzerMetrics","info","identifiers","payload","eventId","uuid","v4","version","origin","name","networkType","userAgent","userAgentToString","clientInfo","clientType","clientVersion","CLIENT_NAME","localNetworkPrefix","meetings","geoHintInfo","clientAddress","osVersion","subClientType","os","getOsName","browser","browserVersion","originTime","triggered","Date","toISOString","senderCountryCode","countryCode","canProceed","eventData","webClientDomain","window","location","hostname","Object","prototype","hasOwnProperty","call","errors","trigger","pstnAudioType","mediaCapabilities","recoveredBy","joinTimes","OTHERS","audioSetupDelay","videoSetupDelay","UNKNOWN","intervals","intervalData","sourceMetadata","applicationSoftwareType","applicationSoftwareVersion","mediaEngineSoftwareType","mediaEngineSoftwareVersion","startTime","err","showToUser","errorCode","body","ERROR_CODE","MEETING_ERRORS","FREE_USER_MAX_PARTICIPANTS_EXCEEDED","PAID_USER_MAX_PARTICIPANTS_EXCEEDED","SERVICE_MAX_PARTICIPANTS_EXCEEDED","INACTIVE","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","JOIN_RESTRICTED_USER","GET_RESTRICTED_USER","CREATE_MEDIA_RESTRICTED_USER","JOIN_RESTRICTED_USER_NOT_IN_ROOM","MEETING_NOT_FOUND","NOT_WEBEX_SITE","INVALID_JOIN_TIME","PHONE_NUMBER_NOT_A_NUMBER","PHONE_NUMBER_TOO_LONG","INVALID_DIALABLE_KEY","ONE_ON_ONE_TO_SELF_NOT_ALLOWED","REMOVED_PARTICIPANT","MEETING_LINK_NOT_FOUND","PHONE_NUMBER_TOO_SHORT_AFTER_IDD","INVALID_INVITEE_ADDRESS","PMR_ACCOUNT_LOCKED","RESOURCE_GUEST_FORBIDDEN","PMR_ACCOUNT_SUSPENDED","EMPTY_PHONE_NUMBER_OR_COUNTRY_CODE","INVALID_SINCE_OR_SEQUENCE_HASH_IN_REQUEST","CONVERSATION_NOT_FOUND","RECORDING_CONTROL_NOT_SUPPORTED","RECORDING_NOT_STARTED","RECORDING_NOT_ENABLED","generateErrorPayload","LOCUS_RESPONSE","shownToUser","errorPayload","category","errorDescription","fatal","notFatalErrorList","OTHER","errorData","userAgentOption","browserInfo","util","format","metrics","clientName","toLowerCase","split","osInfo","process","env","NODE_ENV","metricName","metricFields","metricTags","fields","browser_version","os_version","sdk_version","tags","org_id","credentials","getOrgId","domain","client_id","config","Error","internal","submitClientMetrics","type"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;;AAGA;;AACA;;AACA;;AAEA;;AACA;;AACA;;AAEA;;;;;;AAKA,IAAMA,KAAK,GAAG;AACZ,eAAaC,gBAAQC,MADT;AAEZC,EAAAA,KAAK,EAAEF,gBAAQG,GAFH;AAGZC,EAAAA,OAAO,EAAEJ,gBAAQK,OAHL;AAIZC,EAAAA,GAAG,EAAEN,gBAAQO,GAJD;AAKZC,EAAAA,OAAO,EAAER,gBAAQS,OALL;AAMZC,EAAAA,KAAK,EAAEV,gBAAQW;AANH,CAAd;;AASA,wBAKI,gCALJ;AAAA,IACEC,SADF,qBACEA,SADF;AAAA,IAEEC,YAFF,qBAEEA,YAFF;AAAA,IAGEC,cAHF,qBAGEA,cAHF;AAAA,IAIEC,iBAJF,qBAIEA,iBAJF,C,CAOA;;;AACA,IAAMC,kBAAkB,GAAG,SAArBA,kBAAqB,CAACC,OAAD;AAAA,SAAa,0BAAUA,OAAV,CAAb;AAAA,CAA3B;;AAEA,IAAMC,aAAa,GAAG,SAAhBA,aAAgB,OAA4B;AAAA,MAA1BC,KAA0B,QAA1BA,KAA0B;AAAA,MAAnBC,OAAmB,QAAnBA,OAAmB;AAAA,MAAVC,IAAU,QAAVA,IAAU;;AAChD,UAAQF,KAAR;AACE,SAAKG,kBAAUC,cAAf;AACEH,MAAAA,OAAO,CAACI,2BAAR;AACA;;AACF,SAAKF,kBAAUG,kBAAf;AACEL,MAAAA,OAAO,CAACM,yBAAR;AACAN,MAAAA,OAAO,CAACO,mBAAR;AACA;;AACF,SAAKL,kBAAUM,mBAAf;AACER,MAAAA,OAAO,CAACS,iBAAR;AACAT,MAAAA,OAAO,CAACU,kBAAR,CAA2BC,kBAAUC,KAArC;AACAZ,MAAAA,OAAO,CAACU,kBAAR,CAA2BC,kBAAUE,KAArC;AACAb,MAAAA,OAAO,CAACc,yBAAR,CAAkCH,kBAAUC,KAA5C;AACAZ,MAAAA,OAAO,CAACc,yBAAR,CAAkCH,kBAAUE,KAA5C;AACA;;AACF,SAAKX,kBAAUa,qBAAf;AACEf,MAAAA,OAAO,CAACgB,gBAAR,CAAyBf,IAAI,CAACU,SAA9B;AACA;;AACF,SAAKT,kBAAUe,mBAAf;AACEjB,MAAAA,OAAO,CAACkB,uBAAR,CAAgCjB,IAAI,CAACU,SAArC;AACA;;AACF,SAAKT,kBAAUiB,mBAAf;AACEnB,MAAAA,OAAO,CAACoB,qCAAR;AACA;;AACF,SAAKlB,kBAAUmB,mBAAf;AACErB,MAAAA,OAAO,CAACsB,mCAAR;AACA;;AACF;AACE;AA5BJ;AA8BD,CA/BD;AAiCA;AACA;AACA;AACA;AACA;;;IACMC,O;AACJ;AACF;AACA;AACA;AACA;AACA;AACE,qBAAc;AAAA;;AACZ,QAAI,CAACA,OAAO,CAACC,QAAb,EAAuB;AACvB;AACJ;AACA;AACA;AACA;AACA;AACM,WAAKC,OAAL,GAAe,EAAf;AACA;AACN;AACA;AACA;AACA;AACA;;AACM,WAAKC,iBAAL,GAAyB,IAAzB;AACA;AACN;AACA;AACA;AACA;AACA;;AACM,WAAKC,IAAL,GAAY,qBAAczB,iBAAd,CAAZ;AACA;AACN;AACA;AACA;AACA;AACA;;AACMqB,MAAAA,OAAO,CAACC,QAAR,GAAmB,IAAnB;AACD;;AAED,WAAOD,OAAO,CAACC,QAAf;AACD;AAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;;;;;WACE,sBAAaE,iBAAb,EAAgCE,KAAhC,EAAuC;AACrC,WAAKF,iBAAL,GAAyBA,iBAAzB;AACA,WAAKE,KAAL,GAAaA,KAAb;AACD;AAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACE,mBAAUC,OAAV,EAAmB;AACjB,UAAOC,SAAP,GAAsCD,OAAtC,CAAOC,SAAP;AAAA,0BAAsCD,OAAtC,CAAkB5B,IAAlB;AAAA,UAAkBA,IAAlB,8BAAyB,EAAzB;AAAA,UAA6BF,KAA7B,GAAsC8B,OAAtC,CAA6B9B,KAA7B;AACA,UAAKC,OAAL,GAAgB6B,OAAhB,CAAK7B,OAAL;;AAEA,UAAI,KAAK2B,IAAL,CAAUI,OAAV,CAAkBhC,KAAlB,MAA6B,CAAC,CAAlC,EAAqC;AACnCiC,6BAAYC,MAAZ,CAAmBC,KAAnB,6CAA8DnC,KAA9D;AACD;;AAED,UAAI,CAACC,OAAD,IAAY8B,SAAhB,EAA2B;AACzB9B,QAAAA,OAAO,GAAG,KAAK0B,iBAAL,CAAuBS,GAAvB,CAA2BL,SAA3B,CAAV;AACAD,QAAAA,OAAO,CAAC7B,OAAR,GAAkBA,OAAlB;AACD;;AAED,UAAIA,OAAJ,EAAa;AACXF,QAAAA,aAAa,CAAC+B,OAAD,CAAb;;AAEA,YAAI,CAAC7B,OAAO,CAACoC,UAAb,EAAyB;AACvBpC,UAAAA,OAAO,CAACoC,UAAR,GAAqB,EAArB;AACD;;AACD,YAAIrC,KAAK,KAAKG,kBAAUmC,aAAxB,EAAuC;AACrCpC,UAAAA,IAAI,CAACF,KAAL,GAAaA,KAAb;AACAC,UAAAA,OAAO,CAACsC,+BAAR,CAAwCrC,IAAxC;AACD,SAHD,MAIK;AACHD,UAAAA,OAAO,CAACoC,UAAR,CAAmBG,IAAnB,CAAwBxC,KAAxB;AACAE,UAAAA,IAAI,CAACF,KAAL,GAAaA,KAAb;AACAC,UAAAA,OAAO,CAACwC,uBAAR,CAAgCvC,IAAhC;AACD;AACF,OAfD,MAiBK;AACH+B,6BAAYC,MAAZ,CAAmBQ,IAAnB,oEAAoFX,SAApF;AACD;AACF;AAED;AACF;AACA;AACA;AACA;;;;WAEE,qBAAY5B,SAAZ,EAAuBwC,WAAvB,EAAoCb,OAApC,EAA6C;AAAA;;AAC3C,UAAMc,OAAO,GAAG;AACdC,QAAAA,OAAO,EAAEC,cAAKC,EAAL,EADK;AAEdC,QAAAA,OAAO,EAAE,CAFK;AAGdC,QAAAA,MAAM,EAAE;AACNC,UAAAA,IAAI,EAAE,UADA;AAENC,UAAAA,WAAW,EAAE,SAFP;AAGNC,UAAAA,SAAS,EAAE,KAAKC,iBAAL,EAHL;AAINC,UAAAA,UAAU,EAAE;AACVC,YAAAA,UAAU,EAAEzB,OAAO,CAACyB,UADV;AAEVC,YAAAA,aAAa,YAAKC,mBAAL,cAAoB,KAAK5B,KAAL,CAAWmB,OAA/B,CAFH;AAGVU,YAAAA,kBAAkB,EAAE7D,kBAAkB,0BAAC,KAAKgC,KAAL,CAAW8B,QAAX,CAAoBC,WAArB,0DAAC,sBAAiCC,aAAlC,CAH5B;AAIVC,YAAAA,SAAS,EAAEpE,YAAY,MAAM,SAJnB;AAKVqE,YAAAA,aAAa,EAAEjC,OAAO,CAACiC,aALb;AAMVC,YAAAA,EAAE,EAAE,KAAKC,SAAL,EANM;AAOVC,YAAAA,OAAO,EAAEvE,cAAc,EAPb;AAQVwE,YAAAA,cAAc,EAAEvE,iBAAiB;AARvB;AAJN,SAHM;AAkBdwE,QAAAA,UAAU,EAAE;AACVC,UAAAA,SAAS,EAAE,IAAIC,IAAJ,GAAWC,WAAX;AADD,SAlBE;AAqBdC,QAAAA,iBAAiB,4BAAE,KAAK3C,KAAL,CAAW8B,QAAX,CAAoBC,WAAtB,2DAAE,uBAAiCa,WArBtC;AAsBdzE,QAAAA,KAAK,EAAE;AACLkD,UAAAA,IAAI,EAAE/C,SADD;AAELuE,UAAAA,UAAU,EAAE,IAFP;AAGL/B,UAAAA,WAAW,EAAXA,WAHK;AAILgC,UAAAA,SAAS,EAAE;AAACC,YAAAA,eAAe,EAAEC,gBAAOC,QAAP,CAAgBC;AAAlC;AAJN;AAtBO,OAAhB,CAD2C,CA+B3C;;AACA,UAAIjD,OAAJ,EAAa;AACX,YAAIkD,MAAM,CAACC,SAAP,CAAiBC,cAAjB,CAAgCC,IAAhC,CAAqCrD,OAArC,EAA8C,YAA9C,CAAJ,EAAiE;AAC/Dc,UAAAA,OAAO,CAAC5C,KAAR,CAAc0E,UAAd,GAA2B5C,OAAO,CAAC4C,UAAnC;AACD;;AACD,YAAI5C,OAAO,CAACsD,MAAZ,EAAoB;AAClBxC,UAAAA,OAAO,CAAC5C,KAAR,CAAcoF,MAAd,GAAuBtD,OAAO,CAACsD,MAA/B;AACD;;AACD,YAAItD,OAAO,CAAClB,SAAZ,EAAuB;AACrBgC,UAAAA,OAAO,CAAC5C,KAAR,CAAcY,SAAd,GAA0BkB,OAAO,CAAClB,SAAlC;AACD;;AACD,YAAIkB,OAAO,CAACuD,OAAZ,EAAqB;AACnBzC,UAAAA,OAAO,CAAC5C,KAAR,CAAcqF,OAAd,GAAwBvD,OAAO,CAACuD,OAAhC;AACD;;AACD,YAAIvD,OAAO,CAACwD,aAAZ,EAA2B;AACzB1C,UAAAA,OAAO,CAAC5C,KAAR,CAAcsF,aAAd,GAA8BxD,OAAO,CAACwD,aAAtC;AACD;;AACD,YAAIxD,OAAO,CAACyD,iBAAZ,EAA+B;AAC7B3C,UAAAA,OAAO,CAAC5C,KAAR,CAAcuF,iBAAd,GAAkCzD,OAAO,CAACyD,iBAA1C;AACD;;AACD,YAAIzD,OAAO,CAAC0D,WAAZ,EAAyB;AACvB5C,UAAAA,OAAO,CAAC5C,KAAR,CAAcwF,WAAd,GAA4B1D,OAAO,CAAC0D,WAApC;AACD;;AACD,YAAI1D,OAAO,CAAC2D,SAAZ,EAAuB;AACrB7C,UAAAA,OAAO,CAAC5C,KAAR,CAAcyF,SAAd,GAA0B3D,OAAO,CAAC2D,SAAlC;AACD;AACF;;AAED,aAAO7C,OAAP;AACD;AAED;AACF;AACA;AACA;AACA;AACA;AACA;;;;WACE,qBAAY;AAAA;;AACV,iCAAOhE,KAAK,CAACa,SAAS,EAAV,CAAZ,+DAA6BZ,gBAAQ6G,MAArC;AACD;AAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACE,0BAAiBvF,SAAjB,EAA4BwC,WAA5B,EAAuD;AAAA;;AAAA,UAAdb,OAAc,uEAAJ,EAAI;AACrD,UAAO6D,eAAP,GAAsD7D,OAAtD,CAAO6D,eAAP;AAAA,UAAwBC,eAAxB,GAAsD9D,OAAtD,CAAwB8D,eAAxB;AAAA,UAAyCH,SAAzC,GAAsD3D,OAAtD,CAAyC2D,SAAzC;AAEA,UAAM7C,OAAO,GAAG;AACdC,QAAAA,OAAO,EAAEC,cAAKC,EAAL,EADK;AAEdC,QAAAA,OAAO,EAAE,CAFK;AAGdC,QAAAA,MAAM,EAAE;AACN0C,UAAAA,eAAe,EAAfA,eADM;AAENC,UAAAA,eAAe,EAAfA,eAFM;AAGN1C,UAAAA,IAAI,EAAE,UAHA;AAINC,UAAAA,WAAW,EAAErB,OAAO,CAACqB,WAAR,IAAuB0C,eAJ9B;AAKNzC,UAAAA,SAAS,EAAE,KAAKC,iBAAL,EALL;AAMNC,UAAAA,UAAU,EAAE;AACVC,YAAAA,UAAU,EAAEzB,OAAO,CAACyB,UADV;AACsB;AAChCC,YAAAA,aAAa,YAAKC,mBAAL,cAAoB,KAAK5B,KAAL,CAAWmB,OAA/B,CAFH;AAGVU,YAAAA,kBAAkB,EAAE7D,kBAAkB,2BAAC,KAAKgC,KAAL,CAAW8B,QAAX,CAAoBC,WAArB,2DAAC,uBAAiCC,aAAlC,CAH5B;AAIVG,YAAAA,EAAE,EAAE,KAAKC,SAAL,EAJM;AAKVH,YAAAA,SAAS,EAAEpE,YAAY,MAAMmG,eALnB;AAMV9B,YAAAA,aAAa,EAAEjC,OAAO,CAACiC,aANb;AAOVG,YAAAA,OAAO,EAAEvE,cAAc,EAPb;AAQVwE,YAAAA,cAAc,EAAEvE,iBAAiB;AARvB;AANN,SAHM;AAoBdwE,QAAAA,UAAU,EAAE;AACVC,UAAAA,SAAS,EAAE,IAAIC,IAAJ,GAAWC,WAAX;AADD,SApBE;AAuBdC,QAAAA,iBAAiB,4BAAE,KAAK3C,KAAL,CAAW8B,QAAX,CAAoBC,WAAtB,2DAAE,uBAAiCa,WAvBtC;AAwBdzE,QAAAA,KAAK,EAAE;AACLkD,UAAAA,IAAI,EAAE/C,SADD;AAELuE,UAAAA,UAAU,EAAE,IAFP;AAGL/B,UAAAA,WAAW,EAAXA,WAHK;AAILmD,UAAAA,SAAS,EAAE,CAAChE,OAAO,CAACiE,YAAT,CAJN;AAKLN,UAAAA,SAAS,EAATA,SALK;AAMLd,UAAAA,SAAS,EAAE;AACTC,YAAAA,eAAe,EAAEC,gBAAOC,QAAP,CAAgBC;AADxB,WANN;AASLiB,UAAAA,cAAc,EAAE;AACdC,YAAAA,uBAAuB,EAAExC,mBADX;AAEdyC,YAAAA,0BAA0B,EAAE,KAAKrE,KAAL,CAAWmB,OAFzB;AAGdmD,YAAAA,uBAAuB,EAAExG,cAAc,MAAM,SAH/B;AAIdyG,YAAAA,0BAA0B,EAAE1G,YAAY,MAAMmG,eAJhC;AAKdQ,YAAAA,SAAS,EAAE,IAAI/B,IAAJ,GAAWC,WAAX;AALG;AATX;AAxBO,OAAhB;AA2CA,aAAO3B,OAAP;AACD;AAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACE,yBAAgB0D,GAAhB,EAAqBC,UAArB,EAAiC;AAC/B,UAAIC,SAAJ;;AAEA,UAAIF,GAAG,IAAIA,GAAG,CAACG,IAAX,IAAmBH,GAAG,CAACG,IAAJ,CAASD,SAAhC,EAA2C;AACzC,gBAAQE,mBAAWJ,GAAG,CAACG,IAAJ,CAASD,SAApB,CAAR;AACE,eAAKG,0BAAeC,mCAApB;AACEJ,YAAAA,SAAS,GAAG,IAAZ;AACA;;AACF,eAAKG,0BAAeE,mCAApB;AACA,eAAKF,0BAAeG,iCAApB;AACEN,YAAAA,SAAS,GAAG,IAAZ;AACA;;AACF,eAAKG,0BAAeI,QAApB;AACEP,YAAAA,SAAS,GAAG,IAAZ;AACA;;AACF,eAAKG,0BAAeK,gCAApB;AACA,eAAKL,0BAAeM,iCAApB;AACET,YAAAA,SAAS,GAAG,IAAZ;AACA;;AACF,eAAKG,0BAAeO,iBAApB;AACEV,YAAAA,SAAS,GAAG,IAAZ;AACA;;AACF,eAAKG,0BAAeQ,sBAApB;AACEX,YAAAA,SAAS,GAAG,IAAZ;AACA;;AACF,eAAKG,0BAAeS,oCAApB;AACEZ,YAAAA,SAAS,GAAG,IAAZ;AACA;;AACF,eAAKG,0BAAeU,6BAApB;AACEb,YAAAA,SAAS,GAAG,IAAZ;AACA;;AACF,eAAKG,0BAAeW,8BAApB;AACEd,YAAAA,SAAS,GAAG,IAAZ;AACA;;AACF,eAAKG,0BAAeY,oBAApB;AACA,eAAKZ,0BAAea,mBAApB;AACA,eAAKb,0BAAec,4BAApB;AACEjB,YAAAA,SAAS,GAAG,IAAZ;AACA;;AACF,eAAKG,0BAAee,gCAApB;AACElB,YAAAA,SAAS,GAAG,IAAZ;AACA;;AACF,eAAKG,0BAAegB,iBAApB;AACEnB,YAAAA,SAAS,GAAG,IAAZ;AACA;;AACF,eAAKG,0BAAeiB,cAApB;AACEpB,YAAAA,SAAS,GAAG,IAAZ;AACA;;AACF,eAAKG,0BAAekB,iBAApB;AACErB,YAAAA,SAAS,GAAG,IAAZ;AACA;;AACF,eAAKG,0BAAemB,yBAApB;AACEtB,YAAAA,SAAS,GAAG,IAAZ;AACA;;AACF,eAAKG,0BAAeoB,qBAApB;AACEvB,YAAAA,SAAS,GAAG,IAAZ;AACA;;AACF,eAAKG,0BAAeqB,oBAApB;AACExB,YAAAA,SAAS,GAAG,IAAZ;AACA;;AACF,eAAKG,0BAAesB,8BAApB;AACEzB,YAAAA,SAAS,GAAG,IAAZ;AACA;;AACF,eAAKG,0BAAeuB,mBAApB;AACE1B,YAAAA,SAAS,GAAG,IAAZ;AACA;;AACF,eAAKG,0BAAewB,sBAApB;AACE3B,YAAAA,SAAS,GAAG,IAAZ;AACA;;AACF,eAAKG,0BAAeyB,gCAApB;AACE5B,YAAAA,SAAS,GAAG,IAAZ;AACA;;AACF,eAAKG,0BAAe0B,uBAApB;AACE7B,YAAAA,SAAS,GAAG,IAAZ;AACA;;AACF,eAAKG,0BAAe2B,kBAApB;AACE9B,YAAAA,SAAS,GAAG,IAAZ;AACA;;AACF,eAAKG,0BAAe4B,wBAApB;AACE/B,YAAAA,SAAS,GAAG,IAAZ;AACA;;AACF,eAAKG,0BAAe6B,qBAApB;AACEhC,YAAAA,SAAS,GAAG,IAAZ;AACA;;AACF,eAAKG,0BAAe8B,kCAApB;AACEjC,YAAAA,SAAS,GAAG,IAAZ;AACA;;AACF,eAAKG,0BAAe+B,yCAApB;AACElC,YAAAA,SAAS,GAAG,IAAZ;AACA;;AACF,eAAKG,0BAAegC,sBAApB;AACEnC,YAAAA,SAAS,GAAG,IAAZ;AACA;;AACF,eAAKG,0BAAeiC,+BAApB;AACA,eAAKjC,0BAAekC,qBAApB;AACA,eAAKlC,0BAAemC,qBAApB;AACEtC,YAAAA,SAAS,GAAG,IAAZ;AACA;;AACF;AACEA,YAAAA,SAAS,GAAG,IAAZ;AA/FJ;AAiGD,OAlGD,MAmGK;AACHA,QAAAA,SAAS,GAAG,IAAZ;AACD;;AAED,aAAO,KAAKuC,oBAAL,CACLvC,SADK,EACMD,UADN,EACkBpE,cAAMe,IAAN,CAAW8F,cAD7B,EAC6C1C,GAD7C,CAAP;AAGD;;;WAGD,8BAAqBE,SAArB,EAAgCyC,WAAhC,EAA6C/F,IAA7C,EAAmDoD,GAAnD,EAAwD;AACtD,UAAInE,cAAMiD,MAAN,CAAaoB,SAAb,CAAJ,EAA6B;AAC3B,YAAM0C,YAAY,GAAG;AACnBD,UAAAA,WAAW,EAAEA,WAAW,IAAI,KADT;AAEnBE,UAAAA,QAAQ,EAAEhH,cAAMiD,MAAN,CAAaoB,SAAb,EAAwB,CAAxB,CAFS;AAGnB4C,UAAAA,gBAAgB,EAAEjH,cAAMiD,MAAN,CAAaoB,SAAb,EAAwB,CAAxB,CAHC;AAInBA,UAAAA,SAAS,EAATA,SAJmB;AAKnB6C,UAAAA,KAAK,EAAE,CAAC,wBAASlH,cAAMmH,iBAAf,EAAkC9C,SAAlC,CALW;AAMnBtD,UAAAA,IAAI,EAAEA,IAAI,IAAIf,cAAMe,IAAN,CAAWqG;AANN,SAArB;;AASA,YAAIjD,GAAG,IAAIA,GAAG,CAACG,IAAf,EAAqB;AACnByC,UAAAA,YAAY,CAACM,SAAb,GAAyBlD,GAAG,CAACG,IAA7B;AACD;;AAED,eAAOyC,YAAP;AACD;;AAED,aAAO,IAAP;AACD;AAED;AACF;AACA;AACA;AACA;;;;WACE,6BAAoB;AAAA;;AAClB,UAAIO,eAAJ;AACA,UAAIC,WAAJ;;AACA,UAAMpG,UAAU,GAAGqG,cAAKC,MAAL,CAAY,WAAZ,oCAA4B,KAAK/H,KAAL,CAAW8B,QAAvC,mFAA4B,qBAAqBkG,OAAjD,2DAA4B,uBAA8BC,UAA1D,EAAnB;;AAEA,UAAI,CAAC,QAAD,EAAW,SAAX,EAAsB,MAAtB,EAA8B,QAA9B,EAAwC,QAAxC,EAAkD9H,OAAlD,CAA0DrC,cAAc,GAAGoK,WAAjB,EAA1D,MAA8F,CAAC,CAAnG,EAAsG;AACpGL,QAAAA,WAAW,GAAGC,cAAKC,MAAL,CAAY,YAAZ,YAA6BjK,cAAc,GAAGoK,WAAjB,EAA7B,cAA+DnK,iBAAiB,GAAGoK,KAApB,CAA0B,GAA1B,EAA+B,CAA/B,CAA/D,EAAd;AACD;;AACD,UAAMC,MAAM,GAAGN,cAAKC,MAAL,CAAY,OAAZ,YAAwBnK,SAAS,EAAjC,cAAuCC,YAAY,GAAGsK,KAAf,CAAqB,GAArB,EAA0B,CAA1B,CAAvC,EAAf;;AAEA,UAAIN,WAAJ,EAAiB;AACfD,QAAAA,eAAe,cAAOC,WAAP,CAAf;AACD;;AACD,UAAIO,MAAJ,EAAY;AACVR,QAAAA,eAAe,GAAGA,eAAe,aAAMA,eAAN,eAA0BnG,UAA1B,eAAyC2G,MAAzC,cAAuD3G,UAAvD,gBAAuE2G,MAAvE,CAAjC;AACD;;AACD,UAAIR,eAAJ,EAAqB;AACnBA,QAAAA,eAAe,IAAI,GAAnB;AAEA,eAAOE,cAAKC,MAAL,CAAY,oBAAZ,YAAqCM,OAAO,CAACC,GAAR,CAAYC,QAAjD,cAA6D,KAAKvI,KAAL,CAAWmB,OAAxE,GAAmFyG,eAAnF,CAAP;AACD;;AAED,aAAOE,cAAKC,MAAL,CAAY,iBAAZ,YAAkCM,OAAO,CAACC,GAAR,CAAYC,QAA9C,cAA0D,KAAKvI,KAAL,CAAWmB,OAArE,EAAP;AACD;AAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACE,+BAAsBqH,UAAtB,EAAsE;AAAA,UAApCC,YAAoC,uEAArB,EAAqB;AAAA,UAAjBC,UAAiB,uEAAJ,EAAI;;AACpE,UAAMC,MAAM,mCACPF,YADO;AAEVG,QAAAA,eAAe,EAAE7K,iBAAiB,EAFxB;AAGV8K,QAAAA,UAAU,EAAEhL,YAAY,EAHd;AAIViL,QAAAA,WAAW,EAAE,KAAK9I,KAAL,CAAWmB;AAJd,QAAZ;;AAOA,UAAM4H,IAAI,mCACLL,UADK;AAERrG,QAAAA,OAAO,EAAEvE,cAAc,EAFf;AAGRkL,QAAAA,MAAM,EAAE,KAAKhJ,KAAL,CAAWiJ,WAAX,CAAuBC,QAAvB,EAHA;AAIR/G,QAAAA,EAAE,EAAEvE,SAAS,EAJL;AAKRuL,QAAAA,MAAM,EAAEnG,gBAAOC,QAAP,CAAgBC,QALhB;AAMRkG,QAAAA,SAAS,EAAE,KAAKpJ,KAAL,CAAWiJ,WAAX,CAAuBI,MAAvB,CAA8BD;AANjC,QAAV;;AASA,UAAI,CAACZ,UAAL,EAAiB;AACf,cAAMc,KAAK,CAAC,qDAAD,CAAX;AACD;;AAED,WAAKtJ,KAAL,CAAWuJ,QAAX,CAAoBvB,OAApB,CAA4BwB,mBAA5B,CAAgDhB,UAAhD,EAA4D;AAC1DiB,QAAAA,IAAI,EAAE,CAAC,aAAD,CADoD;AAE1Dd,QAAAA,MAAM,EAANA,MAF0D;AAG1DI,QAAAA,IAAI,EAAJA;AAH0D,OAA5D;AAKD;;;KAGH;;;AACA,IAAMnJ,QAAQ,GAAG,IAAID,OAAJ,EAAjB;eAEeC,Q","sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\nimport util from 'util';\n\nimport {includes} from 'lodash';\nimport uuid from 'uuid';\nimport window from 'global/window';\nimport anonymize from 'ip-anonymize';\n\nimport LoggerProxy from '../common/logs/logger-proxy';\nimport {MEETING_ERRORS} from '../constants';\nimport BrowserDetection from '../common/browser-detection';\n\nimport {\n error, eventType, errorCodes as ERROR_CODE, OS_NAME, UNKNOWN, CLIENT_NAME,\n mediaType\n} from './config';\n\nconst OSMap = {\n 'Chrome OS': OS_NAME.chrome,\n macOS: OS_NAME.MAC,\n Windows: OS_NAME.WINDOWS,\n iOS: OS_NAME.IOS,\n Android: OS_NAME.ANDROID,\n Linux: OS_NAME.LINUX\n};\n\nconst {\n getOSName,\n getOSVersion,\n getBrowserName,\n getBrowserVersion\n} = BrowserDetection();\n\n// Apply a CIDR /28 format to the IP address\nconst anonymizeIPAddress = (localIp) => anonymize(localIp);\n\nconst triggerTimers = ({event, meeting, data}) => {\n switch (event) {\n case eventType.CALL_INITIATED:\n meeting.setStartCallInitiateJoinReq();\n break;\n case eventType.LOCUS_JOIN_REQUEST:\n meeting.setEndCallInitiateJoinReq();\n meeting.setStartJoinReqResp();\n break;\n case eventType.LOCUS_JOIN_RESPONSE:\n meeting.setEndJoinReqResp();\n meeting.setStartSetupDelay(mediaType.AUDIO);\n meeting.setStartSetupDelay(mediaType.VIDEO);\n meeting.setStartSendingMediaDelay(mediaType.AUDIO);\n meeting.setStartSendingMediaDelay(mediaType.VIDEO);\n break;\n case eventType.RECEIVING_MEDIA_START:\n meeting.setEndSetupDelay(data.mediaType);\n break;\n case eventType.SENDING_MEDIA_START:\n meeting.setEndSendingMediaDelay(data.mediaType);\n break;\n case eventType.LOCAL_SDP_GENERATED:\n meeting.setStartLocalSDPGenRemoteSDPRecvDelay();\n break;\n case eventType.REMOTE_SDP_RECEIVED:\n meeting.setEndLocalSDPGenRemoteSDPRecvDelay();\n break;\n default:\n break;\n }\n};\n\n/**\n * @description Metrics handles all the call metrics events\n * @export\n * @class Metrics\n */\nclass Metrics {\n /**\n * Create Metrics Object\n * @constructor\n * @public\n * @memberof Meetings\n */\n constructor() {\n if (!Metrics.instance) {\n /**\n * @instance\n * @type {Array}\n * @private\n * @memberof Metrics\n */\n this._events = [];\n /**\n * @instance\n * @type {MeetingCollection}\n * @private\n * @memberof Metrics\n */\n this.meetingCollection = null;\n /**\n * @instance\n * @type {MeetingCollection}\n * @private\n * @memberof Metrics\n */\n this.keys = Object.values(eventType);\n /**\n * @instance\n * @type {Metrics}\n * @private\n * @memberof Metrics\n */\n Metrics.instance = this;\n }\n\n return Metrics.instance;\n }\n\n /**\n * Initializes the Metrics singleton with a meeting Collection.\n *\n * @param {Object} meetingCollection meetings object\n * @param {Object} webex webex SDK object\n *\n * @returns {void}\n */\n initialSetup(meetingCollection, webex) {\n this.meetingCollection = meetingCollection;\n this.webex = webex;\n }\n\n /**\n * poste Meeting event metrics\n * @param {object} options {meetingId/meeting} as a json object\n * @param {Meeting} options.meeting Meeting object\n * @param {String} options.meetingId\n * @param {object} options.data\n * @param {object} options.event\n * @returns {object} null\n */\n postEvent(options) {\n const {meetingId, data = {}, event} = options;\n let {meeting} = options;\n\n if (this.keys.indexOf(event) === -1) {\n LoggerProxy.logger.error(`Metrics:index#postEvent --> Event ${event} doesn't exist in dictionary`);\n }\n\n if (!meeting && meetingId) {\n meeting = this.meetingCollection.get(meetingId);\n options.meeting = meeting;\n }\n\n if (meeting) {\n triggerTimers(options);\n\n if (!meeting.callEvents) {\n meeting.callEvents = [];\n }\n if (event === eventType.MEDIA_QUALITY) {\n data.event = event;\n meeting.sendMediaQualityAnalyzerMetrics(data);\n }\n else {\n meeting.callEvents.push(event);\n data.event = event;\n meeting.sendCallAnalyzerMetrics(data);\n }\n }\n\n else {\n LoggerProxy.logger.info(`Metrics:index#postEvent --> Event received for meetingId:${meetingId}, but meeting not found in collection.`);\n }\n }\n\n /**\n * Docs for Call analyzer metrics\n * https://sqbu-github.cisco.com/WebExSquared/call-analyzer/wiki\n * https://sqbu-github.cisco.com/WebExSquared/event-dictionary/blob/master/diagnostic-events.raml\n */\n\n initPayload(eventType, identifiers, options) {\n const payload = {\n eventId: uuid.v4(),\n version: 1,\n origin: {\n name: 'endpoint',\n networkType: 'unknown',\n userAgent: this.userAgentToString(),\n clientInfo: {\n clientType: options.clientType,\n clientVersion: `${CLIENT_NAME}/${this.webex.version}`,\n localNetworkPrefix: anonymizeIPAddress(this.webex.meetings.geoHintInfo?.clientAddress),\n osVersion: getOSVersion() || 'unknown',\n subClientType: options.subClientType,\n os: this.getOsName(),\n browser: getBrowserName(),\n browserVersion: getBrowserVersion()\n }\n },\n originTime: {\n triggered: new Date().toISOString()\n },\n senderCountryCode: this.webex.meetings.geoHintInfo?.countryCode,\n event: {\n name: eventType,\n canProceed: true,\n identifiers,\n eventData: {webClientDomain: window.location.hostname}\n }\n };\n\n // TODO: more options should be checked and some of them should be mandatory in certain conditions\n if (options) {\n if (Object.prototype.hasOwnProperty.call(options, 'canProceed')) {\n payload.event.canProceed = options.canProceed;\n }\n if (options.errors) {\n payload.event.errors = options.errors;\n }\n if (options.mediaType) {\n payload.event.mediaType = options.mediaType;\n }\n if (options.trigger) {\n payload.event.trigger = options.trigger;\n }\n if (options.pstnAudioType) {\n payload.event.pstnAudioType = options.pstnAudioType;\n }\n if (options.mediaCapabilities) {\n payload.event.mediaCapabilities = options.mediaCapabilities;\n }\n if (options.recoveredBy) {\n payload.event.recoveredBy = options.recoveredBy;\n }\n if (options.joinTimes) {\n payload.event.joinTimes = options.joinTimes;\n }\n }\n\n return payload;\n }\n\n /**\n * returns metrics friendly OS versions\n * @param {String} osName Os name\n * @returns {String}\n * @private\n * @memberof Metrics\n */\n getOsName() {\n return OSMap[getOSName()] ?? OS_NAME.OTHERS;\n }\n\n /**\n * get the payload specific for a media quality event through call analyzer\n * @param {String} eventType the event name\n * @param {Object} identifiers contains the identifiers needed for CA\n * @param {String} identifiers.correlationId\n * @param {String} identifiers.locusUrl\n * @param {String} identifiers.locusId\n * @param {Object} options\n * @param {Object} options.intervalData\n * @param {String} options.clientType\n * @returns {Object}\n * @public\n * @memberof Metrics\n */\n initMediaPayload(eventType, identifiers, options = {}) {\n const {audioSetupDelay, videoSetupDelay, joinTimes} = options;\n\n const payload = {\n eventId: uuid.v4(),\n version: 1,\n origin: {\n audioSetupDelay,\n videoSetupDelay,\n name: 'endpoint',\n networkType: options.networkType || UNKNOWN,\n userAgent: this.userAgentToString(),\n clientInfo: {\n clientType: options.clientType, // TODO: Only clientType: 'TEAMS_CLIENT' is whitelisted\n clientVersion: `${CLIENT_NAME}/${this.webex.version}`,\n localNetworkPrefix: anonymizeIPAddress(this.webex.meetings.geoHintInfo?.clientAddress),\n os: this.getOsName(),\n osVersion: getOSVersion() || UNKNOWN,\n subClientType: options.subClientType,\n browser: getBrowserName(),\n browserVersion: getBrowserVersion()\n }\n },\n originTime: {\n triggered: new Date().toISOString()\n },\n senderCountryCode: this.webex.meetings.geoHintInfo?.countryCode,\n event: {\n name: eventType,\n canProceed: true,\n identifiers,\n intervals: [options.intervalData],\n joinTimes,\n eventData: {\n webClientDomain: window.location.hostname\n },\n sourceMetadata: {\n applicationSoftwareType: CLIENT_NAME,\n applicationSoftwareVersion: this.webex.version,\n mediaEngineSoftwareType: getBrowserName() || 'browser',\n mediaEngineSoftwareVersion: getOSVersion() || UNKNOWN,\n startTime: new Date().toISOString()\n }\n }\n };\n\n return payload;\n }\n\n /**\n * This function Parses a Locus error and returns a diagnostic event payload.\n * It should keep updating from:\n * https://sqbu-github.cisco.com/WebExSquared/spark-client-framework/blob/master/spark-client-framework/Adapters/TelephonyAdapter/TelephonyAdapter.cpp#L920\n *\n * @param {Object} err the error Object from Locus response\n * @param {boolean} showToUser true if a toast is shown to user\n * @returns {{showToUser: boolean, category: string, errorDescription: string,\n * errorCode: number, errorData: *, fatal: boolean, name: string}}\n */\n parseLocusError(err, showToUser) {\n let errorCode;\n\n if (err && err.body && err.body.errorCode) {\n switch (ERROR_CODE[err.body.errorCode]) {\n case MEETING_ERRORS.FREE_USER_MAX_PARTICIPANTS_EXCEEDED:\n errorCode = 3007;\n break;\n case MEETING_ERRORS.PAID_USER_MAX_PARTICIPANTS_EXCEEDED:\n case MEETING_ERRORS.SERVICE_MAX_PARTICIPANTS_EXCEEDED:\n errorCode = 3002;\n break;\n case MEETING_ERRORS.INACTIVE:\n errorCode = 4001;\n break;\n case MEETING_ERRORS.EXCEEDED_MAX_JOINED_PARTICIPANTS:\n case MEETING_ERRORS.EXCEEDED_SERVICE_MAX_PARTICIPANTS:\n errorCode = 3001;\n break;\n case MEETING_ERRORS.MEETING_IS_LOCKED:\n errorCode = 4002;\n break;\n case MEETING_ERRORS.MEETING_IS_TERMINATING:\n errorCode = 4003;\n break;\n case MEETING_ERRORS.MEETING_REQUIRE_MODERATOR_PIN_INTENT:\n errorCode = 4004;\n break;\n case MEETING_ERRORS.MEETING_REQUIRE_MODERATOR_PIN:\n errorCode = 4005;\n break;\n case MEETING_ERRORS.MEETING_REQUIRE_MODERATOR_ROLE:\n errorCode = 4006;\n break;\n case MEETING_ERRORS.JOIN_RESTRICTED_USER:\n case MEETING_ERRORS.GET_RESTRICTED_USER:\n case MEETING_ERRORS.CREATE_MEDIA_RESTRICTED_USER:\n errorCode = 3005;\n break;\n case MEETING_ERRORS.JOIN_RESTRICTED_USER_NOT_IN_ROOM:\n errorCode = 4007;\n break;\n case MEETING_ERRORS.MEETING_NOT_FOUND:\n errorCode = 4011;\n break;\n case MEETING_ERRORS.NOT_WEBEX_SITE:\n errorCode = 4012;\n break;\n case MEETING_ERRORS.INVALID_JOIN_TIME:\n errorCode = 4013;\n break;\n case MEETING_ERRORS.PHONE_NUMBER_NOT_A_NUMBER:\n errorCode = 4016;\n break;\n case MEETING_ERRORS.PHONE_NUMBER_TOO_LONG:\n errorCode = 4017;\n break;\n case MEETING_ERRORS.INVALID_DIALABLE_KEY:\n errorCode = 4018;\n break;\n case MEETING_ERRORS.ONE_ON_ONE_TO_SELF_NOT_ALLOWED:\n errorCode = 4019;\n break;\n case MEETING_ERRORS.REMOVED_PARTICIPANT:\n errorCode = 4020;\n break;\n case MEETING_ERRORS.MEETING_LINK_NOT_FOUND:\n errorCode = 4021;\n break;\n case MEETING_ERRORS.PHONE_NUMBER_TOO_SHORT_AFTER_IDD:\n errorCode = 4022;\n break;\n case MEETING_ERRORS.INVALID_INVITEE_ADDRESS:\n errorCode = 4023;\n break;\n case MEETING_ERRORS.PMR_ACCOUNT_LOCKED:\n errorCode = 4024;\n break;\n case MEETING_ERRORS.RESOURCE_GUEST_FORBIDDEN:\n errorCode = 4025;\n break;\n case MEETING_ERRORS.PMR_ACCOUNT_SUSPENDED:\n errorCode = 4026;\n break;\n case MEETING_ERRORS.EMPTY_PHONE_NUMBER_OR_COUNTRY_CODE:\n errorCode = 4027;\n break;\n case MEETING_ERRORS.INVALID_SINCE_OR_SEQUENCE_HASH_IN_REQUEST:\n errorCode = 1006;\n break;\n case MEETING_ERRORS.CONVERSATION_NOT_FOUND:\n errorCode = 4028;\n break;\n case MEETING_ERRORS.RECORDING_CONTROL_NOT_SUPPORTED:\n case MEETING_ERRORS.RECORDING_NOT_STARTED:\n case MEETING_ERRORS.RECORDING_NOT_ENABLED:\n errorCode = 4029;\n break;\n default:\n errorCode = 4008;\n }\n }\n else {\n errorCode = 4008;\n }\n\n return this.generateErrorPayload(\n errorCode, showToUser, error.name.LOCUS_RESPONSE, err\n );\n }\n\n\n generateErrorPayload(errorCode, shownToUser, name, err) {\n if (error.errors[errorCode]) {\n const errorPayload = {\n shownToUser: shownToUser || false,\n category: error.errors[errorCode][2],\n errorDescription: error.errors[errorCode][0],\n errorCode,\n fatal: !includes(error.notFatalErrorList, errorCode),\n name: name || error.name.OTHER\n };\n\n if (err && err.body) {\n errorPayload.errorData = err.body;\n }\n\n return errorPayload;\n }\n\n return null;\n }\n\n /**\n * Returns a formated string of the user agent.\n *\n * @returns {string} formatted user agent information\n */\n userAgentToString() {\n let userAgentOption;\n let browserInfo;\n const clientInfo = util.format('client=%s', `${this.webex.meetings?.metrics?.clientName}`);\n\n if (['chrome', 'firefox', 'msie', 'msedge', 'safari'].indexOf(getBrowserName().toLowerCase()) !== -1) {\n browserInfo = util.format('browser=%s', `${getBrowserName().toLowerCase()}/${getBrowserVersion().split('.')[0]}`);\n }\n const osInfo = util.format('os=%s', `${getOSName()}/${getOSVersion().split('.')[0]}`);\n\n if (browserInfo) {\n userAgentOption = `(${browserInfo}`;\n }\n if (osInfo) {\n userAgentOption = userAgentOption ? `${userAgentOption}; ${clientInfo}; ${osInfo}` : `${clientInfo}; (${osInfo}`;\n }\n if (userAgentOption) {\n userAgentOption += ')';\n\n return util.format('webex-js-sdk/%s %s', `${process.env.NODE_ENV}-${this.webex.version}`, userAgentOption);\n }\n\n return util.format('webex-js-sdk/%s', `${process.env.NODE_ENV}-${this.webex.version}`);\n }\n\n /**\n * Uploads given metric to the Metrics service as an operational metric.\n * Metadata about the environment such as browser, OS, SDK and their versions\n * are automatically added when the metric is sent.\n *\n * The Metrics service will send an operational metric to InfluxDB for\n * aggregation.\n * See https://confluence-eng-gpk2.cisco.com/conf/display/WBXT/Getting+started+with+Metrics+Service.\n *\n * @param {string} metricName Name of the metric (measurement) to send\n * @param {Object} metricFields Key-valye pairs of data or values about this metric\n * @param {Object} metricTags Key-value pairs of metric metadata\n *\n * @returns {void}\n */\n sendOperationalMetric(metricName, metricFields = {}, metricTags = {}) {\n const fields = {\n ...metricFields,\n browser_version: getBrowserVersion(),\n os_version: getOSVersion(),\n sdk_version: this.webex.version\n };\n\n const tags = {\n ...metricTags,\n browser: getBrowserName(),\n org_id: this.webex.credentials.getOrgId(),\n os: getOSName(),\n domain: window.location.hostname,\n client_id: this.webex.credentials.config.client_id\n };\n\n if (!metricName) {\n throw Error('Missing operational metric name. Please provide one');\n }\n\n this.webex.internal.metrics.submitClientMetrics(metricName, {\n type: ['operational'],\n fields,\n tags\n });\n }\n}\n\n// Export Metrics singleton ---------------------------------------------------\nconst instance = new Metrics();\n\nexport default instance;\n"]}
@@ -352,7 +352,7 @@ pc.setRemoteSessionDetails = function (peerConnection, typeStr, remoteSdp, meeti
352
352
  type: typeStr,
353
353
  sdp: sdp
354
354
  })).then(function () {
355
- if (!peerConnection.remoteDescription) {
355
+ if (peerConnection.signalingState === _constants.SDP.STABLE) {
356
356
  _metrics.default.postEvent({
357
357
  event: _config2.eventType.REMOTE_SDP_RECEIVED,
358
358
  meetingId: meetingId