{"version":3,"sources":["scripts/app-acd4e80f01.js"],"names":["stReset","directive","require","restrict","scope","link","element","attrs","ctrl","bind","$apply","tableState","search","predicateObject","pipe","angular","module","filter","collection","keyname","output","keys","forEach","item","key","indexOf","push","input","map","undefined","isNaN","replace","utilities","elapsedTime","startDateTime","endDateTime","Date","getTimeDisplay","getTime","diffSeconds","convertSecondsToDisplayString","userservice","$http","$q","exception","logger","enums","usermessageservice","stringResources","accountservice","acceptAlert","resourceAlertId","resourceRequestId","isTestCall","callId","isScheduleCall","success","response","data","fail","e","catcher","logMessage","LogLevel","Debug","put","baseUrl","params","then","rejectAlert","getCurrentAlert","get","showChangeStatusReason","statusName","time","reason","notify","Events","ShowInstructionMessage","message","reasonToDisplay","PersonStatusMessage","timeToDisplay","getLocalDate","PersonStatusNames","Available","stringFormat","personStatusMessageFormat","addCallEvent","eventName","metadata","body","getUserSetting","userSetting","defaultValue","getUserFullSetting","setUserSetting","value","updateContactMethod","contactMethod","setMetadata","metaData","setSipdata","sipData","endConference","disconnectCall","interpreterDispositionMenu","testCall","service","factory","$inject","$rootScope","subscribe","event","callback","handler","$on","args","$emit","twiliowebrtcservice","twilio","$cookies","callEvents","appsettingsservice","preferences","constants","initializePreferences","getAppSetting","TwilioErrorLimitToLog","twilioErrorLimitToLog","twilioSDKLogLevel","TokenRefreshMilliseconds","tokenRefreshMilliseconds","currentRole","ShowNetworkQualityIndicator","showNetworkQualityIndicatorDefault","DisableTokenGenerationLocalHost","disableTokenGenerationLocalHost","WebRTCTokenAgeMinutes","tokenAgeMinutes","tokenAgeMilliseconds","preFlight","preFlightEnabled","WebRTCEdgeLocations","defaultEdgeLocations","toString","split","CodecPreferences","codecPreferences","CreateTokenOnError","createTokenOnError","LogTwilioErrorsOnConsole","logTwilioErrorsOnConsole","ShowWebRTCReconnectionStatus","showWebRTCReconnectionStatus","RegisterDeviceWhenOffline","registerDeviceWhenOffline","enable","regereratingTokenDueToError","setup","disable","userId","devices","length","device","removeListener","DeviceStatus","Error","deviceEventHandlerError","Incoming","deviceEventHandlerIncoming","Unregistered","deviceEventHandlerUnregistered","Registered","deviceEventHandlerRegistered","Destroyed","deviceEventHandlerDestroyed","Registering","deviceEventHandlerRegistering","TokenWillExpire","deviceEventHandlerTokenWillExpire","destroy","console","log","every","state","runningPreflight","curStatus","runPreflightTests","setTimeout","getPreflightAccessToken","setupOptions","logLevel","edge","appName","closeProtection","preflightTest","Device","runPreflight","on","preflightSuccess","preflightError","report","callSid","getUserId","callQuality","selectedEdge","Info","error","code","TwilioError","causes","Warn","cachedUserId","cachedCurrentUserId","getCurrentUserId","refreshTokenInProgress","updateToken","getWebRTCAccessTokens","index","timeStamp","connectionEventHandlerWarning","warning","isError","$broadcast","WebRtcConnectionQualityChanged","LowMosWebRTCError","HighRttWebRTCError","HighJitterWebRTCError","HighPacketLossWebRTCError","AudioDeviceChanged","HighPacketsLossFractionWebRTCError","connectionEventHandlerWarningCleared","WebRTCErrorCleared","handleWebRTCErrors","connection","lastConnection","connectionEventHandlerReconnected","connectionEventHandlerReconnecting","connectionEventHandlerRinging","accept","twilioError","isReady","isInCall","inCall","some","isBusy","hangUp","disconnectAll","setPortalRefresh","emptyDevice","pageRefresh","clearDeviceAndCreateNew","force","hangupNeedsRefreshToken","isWebRTCSupported","window","mute","logConnectionStatus","unmute","sendDigits","digit","conn","methodName","status","disconnect","UserHangup","regererateTokenDueToError","location","hostname","tokenRefreshMs","webRTCToken","token","twilioDevice","register","numTokens","Trace","generateTokenDueToErrorMessage","ErorCode","twilioErrorCookie","JSON","parse","Code","UserId","Count","stringify","today","tomorrow","setDate","getDate","expires","solutions","clearDevice","userRole","telemetryservice","$injector","applicationInsightsService","resetSettings","settings","enabled","defaultEnabled","telemetryEnabled","defer","resolve","reject","appSettingsService","loadingSettings","SendCustomUITelemetry","isTrue","promise","normalizeEvent","o","Object","k","toISOString","logEvent","properties","measurements","trackEvent","signalservice","interpretersignalreceiver","operatorsignalreceiver","monitorsignalreceiver","session","signalreceiversmonitorservice","connect","roles","done","track","unTrack","$interval","$window","activate","settingsPromise","refreshBrowserOnSignalRDisconnectPromise","minimumMsSinceLastDisconnectBrowserRefreshPromise","signalReceiver","seconds","refreshBrowserOnSignalRDisconnect","minimumMsSinceLastDisconnectBrowserRefresh","interval","getIsConnected","checkConnection","isBrowserRefreshAllowed","reload","convertSecondsToMilliseconds","intervals","cancel","logSignalRTimeout","opeartionResult","hub","resolved","timeout","timer","proxy","id","navigator","userAgent","vendor","clearTimeout","lastRefreshTime","currentTime","now","parseInt","reducecallfrequencyservice","$timeout","callFunction","method","delay","callsDictionary","needToCall","instance","runTimer","call","phonenumberservice","validatePhoneNumber","phoneNumber","callablePhoneNumber","phoneNumberInfo","operatorservice","findInterpreter","languageId","findInterpreterwithGender","genderId","updateInterpreterHoldStatus","interpreterId","onHold","updateCustomerHoldStatus","getLanguageServiceUsers","customerId","getLanguageServiceUsersByGroup","groupId","checkLanguageServiceTimeout","callInterpreter","holdCustomer","connectInterpreter","callLanguageService","languageServiceId","conferenceJoin","getCurrentCall","acceptCall","rejectCall","fromPhoneNumber","hangupCall","sayMessage","addParticipant","post","deleteParticipant","participantCallSid","user","Id","username","Username","role","setUser","getAll","getInterpreters","setStatus","setKeepAlive","setLoginStatus","setPhoneNumber","getInCallInterpreters","getLoggedInInterpreters","findLanguageServiceInterpreter","onGetLanguageServiceUsers","onError","findLanguageServiceInterpreterByGroup","lsGroupId","workingResourceRequestExists","joinInterpretersWithCustomer","relayInterpreterId","onConnectInterpreter","onSuccess","getInterpreterStatistics","interpreterPoolId","secondaryInterpreterPoolId","thirdInterpreterPoolId","fourthInterpreterPoolId","url","monitorservice","listen","latencyservice","telemetryService","init","measureLatency","serviceEnabled","sentTime","receivedTime","latencyMs","userName","eventMetrics","measuringInterval","defaultMeasuringInterval","loggedUserInfo","getCurrentUser","name","LatencyMeasuringInterval","run","interpreterservice","setStatusAtomic","originalStatus","expectedStatus","reconnectCall","internetConnectionChecker","setInternetConnectionState","connectionState","InternetConnectionStateChanged","getInternetConnectionState","checkConnectionDeferred","$$state","head","checkConnectionUrl","Math","random","isInternetConnectionResponse","config","httpInterceptor","buildEvent","requestInfo","result","headers","cleanupRequests","requests","utcNow","requestDuration","requestTimeout","waitingTimeMs","minRequestDuration","defaultRequestMinDuration","UIRequestMinDuration","setInterval","request","rawRequest","guid","createGuid","rawResponse","statusText","statusCode","durationMs","dataservice","getLanguages","reduce","language","Name","cache","getPools","when","pool","getCaseDisplay","callservice","interpreterDropped","findLastEventIndex","getInterpreterDroppedInfo","interpreters","eventIndex","StatusEvent","j","LanguagePayrates","LanguageID","UserFirstName","UserLastName","i","cacheservice","CacheFactory","expirationTime","dataCache","maxAge","cacheFlushInterval","deleteOnExpire","DataCacheExpirationTimeMilliseconds","$$maxAge","appSetting","getIVPFrontEndUrl","getOVPFrontEndUrl","getAppVersion","adminservice","getCalls","recentCallHours","forceGet","login","password","Password","RememberMe","loginADB2C","Failure","Roles","loginADB2CAzureOnly","logout","userInfo","voicePortalLoginMode","getRoles","suppressError","routerHelperProvider","$locationProvider","$stateProvider","$urlRouterProvider","RouterHelper","$location","$state","$uibModalStack","configureStates","states","otherwisePath","extend","resolveAlways","hasOtherwise","otherwise","handleRoutingErrors","toState","toParams","fromState","fromParams","handlingStateChangeError","stateCounts","errors","destination","title","loadedTemplateUrl","msg","path","stateChangeStart","updateDocTitle","getStates","options","dismissAll","changes","docTitle","html5Mode","this","configure","cfg","$get","provider","$log","toastr","info","warn","debug","showToasts","thrownDescription","newMessage","description","exceptionHandlerProvider","appErrorPrefix","$provide","decorator","extendExceptionHandler","$delegate","exceptionHandler","cause","errorData","voxWebRtcConnectionQuality","bindToController","controller","WebRtcConnectionQualityController","controllerAs","templateUrl","$scope","showWarning","vm","statusTitle","statusClass","defaultStatusTitle","errorLevel","voxTestCallButton","TestCallButtonController","person","setupVarsAndMethods","enableTestButton","testButtonDisabledFactory","forceButtonToDisable","test","waiting","isDisabledByPoorLatency","EnableDisableTestButon","DisableStatusChange","IsDisabledStatusChange","TestButtonDisabled","testButtonDisabledDefault","statusShouldEnableButton","Status","Unavailable","NotAvailable","Away","Monitoring","UserStatusReason","PersonStatusReason","PoorLatency","replaceAll","StatusName","voxSipData","SipDataController","showSipdata","sipdata","showSipdataItem","sipdataItem","showOrEditSipdata","Visible","editSipdataItem","Editable","reset","showUpdateMessage","ValueText","sipdataCopy","save","updatedSipdata","showSaveMessage","oldValue","SipCallHeaderChanged","copy","sipdataChanged","handlePattern","nameRegex","validateSipdata","MatchPattern","operator","interpreter","ValidateSipdata","sipCallData","visible","voxSignalRStatus","SignalRStatusController","signalRStateName","signalRStateNames","signalRObject","signalRData","classes","0","1","2","4","signalRStates","connecting","connected","reconnecting","disconnected","SignalRStateChanged","voxPhoneNumber","PhoneNumberController","userCountryName","phoneErrorMessage","allowBlankNumbers","allowMobileNumbers","validating","setUserStatus","personStatus","defaultNumber","thirdParty","watch","$watch","newVal","validatePhoneCheck","number","phoneNumberCookie","TwilioNumber","PhoneNumber","setupPhoneResponse","setPhoneMessage","getInvalidErrorMessage","phoneCountryName","Valid","Callable","AllowMobilePhone","getDenyMobileUseErrorMessage","getNotAllowedErrorMessage","color","phoneErrorMessageChanged","initValidationTimeoutDuration","ContactMethodChanged","phoneChanged","SetTempPhoneNumber","isTemporaryPhonenumber","PremiumRatePhoneNumberPrefix","premiumRatePhoneNumberPrefixes","callerName","country","usRequireLengthErrorMessage","isPremiumRatePhoneNumber","getPremiumRateNumbersNotEnabledMessage","Promise","caller","Operator","Interpreter","Monitor","resetClicked","InCall","Reconnect","validationTimeoutDuration","countryName","errorMessage","isPuertoRico","replaceText","startsWith","countryDisabled","phoneNumberNoPlus","firstFour","substr","countryCodes","firstThree","firstTwo","firstOne","PhoneErrorMessageChanged","prefix","res","213","376","244","1264","1268","54","374","297","61","43","994","1242","973","880","1246","375","32","501","229","1441","975","591","387","267","55","673","359","226","257","855","237","238","1345","236","56","86","57","269","242","682","506","385","53","90392","357","42","45","253","1809","593","20","503","240","291","372","251","500","298","679","358","33","594","689","241","220","7880","49","233","350","30","299","1473","590","671","502","224","245","592","509","504","852","36","354","91","62","98","964","353","972","39","1876","81","962","7","254","686","850","82","965","996","856","371","961","266","231","218","417","370","352","853","389","261","265","60","960","223","356","692","596","222","52","691","373","377","976","1664","212","258","95","264","674","977","31","687","64","505","227","234","683","672","670","47","968","680","507","675","595","51","63","48","351","974","262","40","250","378","239","966","221","381","248","232","65","421","386","677","252","27","34","94","290","1869","1758","249","597","268","46","41","963","886","66","228","676","1868","216","90","993","1649","688","256","44","380","971","598","678","379","58","84","1284","1340","681","969","967","260","263","voxParticipants","ParticipantsController","currentCall","customer","participantWatch","oldVal","buildParticipants","isAddParticipantClick","thirdPartyMessage","newParticipantPhoneNumber","CallId","isPhoneNumberAlreadyPresent","participantId","participants","ParticipantId","removeParticipant","participant","idx","splice","thirdPartyStatusEvent","Call","Participants","showThirdPartyMessage","callCenterStatusEvent","showCallCenterMessage","isDisabled","phoneIsValidating","thirdPartyStatus","ThirdPartyEventMessages","ThirdPartyBusy","ThirdPartyNoAnswer","ThirdPartyCanceled","ThirdPartyFailed","AnsweringMachineDetected","callCenterStatus","callCenterMessage","callCenterEventMessages","CallCenterBusy","CallCenterNoAnswer","CallCenterCanceled","CallCenterFailed","InterpreterId","OperatorId","MonitorId","CustomerId","IsCallCenter","voxNotalkActionMenu","NotalkActionMenuController","getNoTalkActionMenu","notalkOptions","submitNotalkAction","personCurrentStatus","notalkActionSelected","CustomerPutCallOnHold","LEPPutCallOnHoldOrDelayedCall","CustomerOrLEPNotJoinedCall","ActiveInterpretationGoingOn","AudioOrTechnicalIssue","QualityMonitorOnCall","displaymessage","notalkMessage","callEvent","notalkActionOptions","submitted","NoTalkActionMessage1","NoTalkActionMessage2","data2","voxMetaData","MetaDataController","validateMetadata","Label","AllowedCharacters","Length","showMetadata","showMetadataItem","metadataItem","showOrEditMetadata","editMetadataItem","updatedMetadata","metadataCopy","AnswerText","MetadataAnswerChanged","metadataChanged","ValidateMetadata","voxDispositionMenu","DispositionMenuController","getDispositionMenu","dispositionOptions","showDisposition","submitTimer","countDown","callDispositionTimeout","startTimer","submitDisposition","stopTimer","AfterCallWork","dispositionSelected","DispositionMenuCallWasSuccessfull","DispositionMenuAudioLossAndOrCantHear","DispositionMenuNoCustomerAndOrOnlyLEP","DispositionMenuWrongLanguageSelected","DispositionMenuOther","NoDispositionOptionSelected","NoInterpreter","CancelledCall","comment","customerName","commentMaxLength","GetCallDispositionMenuTimeOutSeconds","DispositionMaxAllowedChars","maxLength","voxCountup","CountupController","alternateDateTime","hideDays","thresholds","toggle","timeDisplay","$digest","startDate","alternateDate","dateTimeMs","max","checkThresholds","threshold","limitInSeconds","raise","voxCountdown","CountdownController","started","stop","progress","endInterval","voxConsoleWebrtcDialpad","ConsoleWebRtcDialpadController","setupMethods","unMute","sendDigit","minimize","muteUnmute","muteTheMic","enteredDigits","dialpadMuteStatus","muted","digits","voxConsoleWebrtcDialpadMin","ConsoleWebRtcDialpadMinController","maximize","voxConsoleContactMethods","ConsoleContactMethodsController","setupVars","browserSupportsWebRTC","contactMethods","selectedContactMethod","contactMethodsCookie","buildContactMethodsArray","setStatusIntoCookie","contactMethodChanged","contactMethodSelectDisabled","createContactMethodObject","all","values","setInitialContactMethod","faClass","ContactMethodDesc","ReceiveViaPhone","ReceiveViaComputer","contactMethodObj","notifyContactMethodChange","ContactMethod","WebRTC","contactMethodId","TempPhoneNumber","notifyConsoleStatus","Alerting","Ringing","Quarantine","voxConnectInterpreter","ConnectInterpreterController","languageService","callParticipants","callLanguage","currentLanguages","disableAllLanguageSelect","case","disableIfNotSelected","filterOverflow","languageSelectWatch","disableLanguageSelect","disableAllConnect","$filter","setupFunctions","callLanguageSelect","close","connectMe","loadStatistics","showInterpreterStatistics","logButtonShowEvent","changeLanguageServiceSelection","changeGenderInterpreterSelection","genderOptions","setupVariables","callingLanguageSelect","connectingInterpreter","connectingMe","connectInterpreterDisabled","findingInterpreter","findInterpreterSelect","hasInterpreters","interpreterStatisticsShown","statisticsLoading","languageServiceList","getLanguageServiceList","showErrorMessage","languageServiceIds","buildLanguageServiceIds","showLanguageSelectForScheduled","showNoInterpsFoundError","statistics","LanguageSelect","getSelectedLanguageService","LanguageSelectGroupId","genderSelect","getSelectedGenderInterpreter","showLanguageSelect","setInCall","hasOfflineInterpreters","callAnsweredEvent","callAnswered","callNotAnsweredEvent","languageServiceCallEndedEvent","languageServiceCallEnded","defaultList","lsDirect","LanguageId","allOther","concat","lang","callParticipant","isLanguageServiceAvailable","indexPosition","interpreterIsInCall","customerIsOnHold","ids","messagePart1","messagePart2","messagePart3","callStatus","checkWorkingResourceRequest","ConnectButtonClicked","addGenderSpecificEvent","ConnectClickFailedNoInterpreters","languageSelect","GroupId","LSButtonClicked","LSClickedFailed","genderOption","ConnectInterpreterButtonClicked","ConnectInterpreterClickedFailed","ConnectMeButtonClicked","ConnectMeClickedFailed","onStatisticsReceived","AvailablePortal","AvailablePhone","Offline","preSelectedGroupId","preSelectedGenderOption","ConnectToMale","ConnectToFemale","voxCase","CaseController","currentCase","caseDisplay","voxAlert","$document","AlertController","alert","reCreateTokens","which","alertResponse","action","keypress","unbind","stopTheAlarm","actionedAlert","triggeredBy","ResourceAlertId","ResourceRequestId","waitingForAcceptResponse","refreshWebRTCToken","IsTestCall","IsScheduleCall","requestId","hideAlertPromise","hideAlert","waitingForRejectResponse","updateAlert","changedAlertStyle","alertMessage","alertType","soundTheAlarm","defaultAudioFilePath","AudioFilePath","beepSound","Audio","autoplay","pause","alertPromise","newValue","AlertButtonVisible","AlertSoundPlaying","NewInterpreterPortalController","$uibModalInstance","interpreterVoicePortalFrontEndUrl","stayInOldVoicePortal","isSwitchAborted","IvrNewVoicePortalUsedByInterpreter","redirectToInterpreterVoicePortal","href","hasRequiredStatusToStayInOldVoicePortal","switchToInterpreterTimeout","acceptableStatuses","NewCallOperatorsPortalController","callOperatorsVoicePortalFrontEndUrl","IvrNewVoicePortalUsedByOperator","redirectToCallOperatorsVoicePortal","switchToCallOperatorsTimeout","ModalFeedbackController","buildFeedbackTypesList","list","attribute","dividedAttribute","submitFeedback","submitting","feedbackDescription","FirstName","LastName","Email","referenceId","profileName","feedbackType","getBrowserInfo","setRootScopeTitle","tem","matchArray","match","exec","slice","join","appVersion","opened","includes","feedbackTypes","ModalCallController","waitingForResponse","timerStarted","interpreterid","FromPhoneNumber","callRejectedMessage","getCallRejectedMessage","missedCallTitle","operatorid","actionAttempted","callid","callRejected","setInterpreterStatus","from","ProfileName","Language","responseTimeout","ResponseTimeout","organizationName","OrganizationName","scheduledCase","ScheduledCase","modalOpened","rendered","renderDelay","floor","drag","dragOptions","DraggableController","elem","attr","mousemove","y","clientY","startY","x","clientX","startX","setPosition","mouseup","container","left","right","width","top","bottom","height","css","start","offsetWidth","offsetHeight","preventDefault","offsetLeft","offsetTop","voxScheduledRelayInterpretation","ScheduledRelayInterpretationController","initialize","isRareLanguageInterpreterConnected","isRelayInterpreterConnected","relayInterpreterConnectFailed","arePartiesConnected","isCustomerOnHold","isRareLanguageInterpreterOnHold","isRelayInterpreterOnHold","connectingRareLanguageInterpreter","connectingRelayInterpreter","callingLanguageService","connectingParties","switchingParticipant","onCurrentCallChanged","interpreterMissedTheCall","interpreterAnsweredTheCall","interpreterLeftTheCallEvent","interpreterLeftTheCall","findInterpreterTimeoutEvent","findRelayInterpreterTiemout","showInstructionMessage","connectRelayInterpreterDisabled","callLanguageServiceDisabled","updateInstructionMessage","relayInterpreterPhoneNumber","checkParticipantsOnCall","rareDropped","ralayDropped","interpreterDroppedInfo","switchParticipant","muteCustomer","muteRareInterpreter","muteRelayInterpreter","promises","areControlsDisabled","isConnectRelayInterpreterButtonDisabled","connectRareLanguageInterpreter","callHoldSuccess","callSuccess","callError","connectRelayInterpreter","RelayLanguageId","languageServiceIsTimeouted","conferenceAllParties","connectSuccess","connectError","connectFinally","isOnHold","getRareInterpreterPhone","InterpreterPhone","rareInterpreter","voxReconnectSpecificInterpreter","ReconnectSpecificInterpreterController","interpreterName","checkIfInterpreterOnCall","callDisabled","connectDisabled","stopLadda","callShowError","interpreterUnavailable","callHideError","callingInterpreter","cantConnectInterpreter","connectHideError","callTitle","connectTitle","voxReconnectInterpreter","ReconnectInterpreterController","isReconnectInterpreterDisabled","callInterpreterDisabled","callEventsWatch","eventInfo","disconnectMessage","isInterpreterUnavailable","voxOperatorsTable","OperatorsTableController","operators","operatorCount","val","voxOperator","OperatorController","callType","$uibModal","listeners","languages","pools","getAllOperators","getAllInterpreters","getOperator","getLoggedInInterpretersCall","buildLanguages","showNonIVRLanguagesDropdown","Languages","buildOperators","buildInterpreters","go","currentCustomer","currentMetaData","languageList","inCallInterpreters","loggedInInterpreters","selectedLanguage","activeTable","interpreterCount","loggedInInterpreterCount","showCallDetails","disconnectButtonDisabled","callEventType","changeActiveTable","showThirdParty","allOperatorsTableNeedsRefresh","configureAppSettings","alertStartEvent","alertStart","alertStopEvent","alertStop","callConnectedEvent","callConnected","testCallConnectedEvent","testCallConnected","callEndedEvent","callEnded","missedCallEvent","missedCall","refreshDataEvent","refreshData","youHaveACallEvent","youHaveACall","setAllOperatorsTable","operatorToSingleUpdate","find","rowToUpdate","operatorGetAllOperators","getOperatorDelay","GetLoggedInInterpretersDelayMilliseconds","getLoggedInInterpretersDelay","GetOperatorDelayMilliseconds","tableName","Customer","Metadata","currentSipCallData","SipCallData","Case","currentCallLanguage","getCallLanguage","getNonIVRLanguages","enableCallDisposition","operatordata","customerdata","events","CallStatusNames","LanguageSelected","languagesCache","filteredLanguages","Pools","buildPoolsList","desiredStatus","caseData","ReferenceId","LSButtonVisible","ConnectInterpreterButtonVisible","ConnectMeButtonVisible","HangupButtonVisible","operatorGetLoggedInInterpreters","buildLoggedInInterpreters","property","interpreterEnvelope","changeLoggedInInterpreterState","Action","updateInterpreters","removeInterpreter","updateInterpreterStatusInfoInAllInterpretersTab","indexInListOfAll","lodash","findIndex","LastLogin","LastLoginDisplay","IsLanguageService","getInterpreterLoginLogoutButtonState","loggedInInterpreter","buildLoggedInInterpreter","orderBy","modalInstance","open","animation","backdrop","_","GetCallDispositionTimeoutMilliseconds","GetCallDispositionFlag","ShowNonIVRLanguagesDropdown","filterOverflowVendorsBasedOnLanguage","FilterOverflowVendorsBasedOnLanguage","voxLoggedinInterpretersTable","LoggedinInterpretersTableController","interpreterLoginStatusChange","loginStatus","Login","Logout","statuses","$parent","PersonStatus","voxInterpretersTable","InterpretersTableController","Hub","operatorId","DesiredStatus","operatorStatusEvent","callNotAnswered","isLanguageServiceTimeoutExpired","sipcalldata","operatorStatus","operatorPostServerMessage","timeStarted","operatorPostServerMessageEvent","isPreReqPending","httpPendingReqList","pendingRequests","req","urlsToCheck","redirectToLogin","redirectToLoginEvent","logOutUser","logOutUserEvent","findInterpreterTimeout","operatorRefreshAll","refreshBrowser","InterpreterStatus","OperatorStatus","RefreshData","RecentCalls","useSharedConnection","methods","logging","autoConnect","transport","queryParams","errorHandler","stateChanged","oldState","newState","voxMonitor","MonitorController","monitor","monitorCurrentCallIdEvent","monitorCurrentCallId","CurrentCallId","currentCallId","monitorStatus","monitorId","monitorStatusEvent","monitorRefreshAll","appRun","routerHelper","LoginController","redirect","activated","loginError","loginWaiting","setOldLoginVisible","oldLoginVisible","redirectToADB2C","version","voxTopNav","TopNavController","initSwitching","isInterpreter","isOtherThanInterpreter","PortalSwitchingPortalsDelay","switchingPortalDelay","hasRequiredStatusToSwitchNewVoicePortal","initInterpreterSwitching","ivrNewVoicePortalUsedByInterpreter","ivrNewVoicePortalUsedByInterpreterMaxAge","timespanToTotalSeconds","updateInterpreterVoicePortalAccess","initOperatorMonitorSwitching","updateOperatorVoicePortalAccess","switchingPortalMaxAge","showModalSwitchingToNewInterpreterPortal","hasAccessToNewInterpreterVoicePortal","switchToInterpreterVoicePortal","timespan","shouldReload","warnStatus","isWarnStatus","refreshRetainsCall","confirm","refreshing","signOut","logOut","remove","keyboard","feedback","RefreshRetainsCall","onbeforeunload","voxInterpreter","InterpreterController","getInterpreter","currentLanguageName","LanguageName","callCenterPhoneNumber","CallCenterPhoneNumber","interpreterdata","languageName","interpreterDropAbruptly","voxInterpreterConference","InterpreterConferenceController","reconnectInterpreter","isAutoReconnect","ReconnectButtonClicked","reconnectButtonDisabled","showReconnectButton","showHideReconnect","ReconnectWarningButtonVisible","reconnectButton","phoneNumberError","isC2C","IVRApplicationId","IVRApplication","ClickToCall","isHostedIVR","HostedIVR","showCallCenterNumber","refreshReminder","RefreshReminder","ShowScheduledCallAlert","showAlert","interpreterStatusEvent","str","CaseId","interpreterPostServerMessage","interpreterStatus","interpreterPostServerMessageEvent","interpreterNoTalkActivity","interpreterNoTalkActivityEvent","interpreterRefreshAll","GetDeviceInfo","deviceList","os","deviceInfo","isMobile","userAgentData","platform","mobile","identifyUserDevice","deviceArray","startKeepAliveInterval","setKeepAliveIntervalSeconds","userRoles","TimeZone","GroupName","buildLanguagesList","addEventFlag","ConnectButtonVisible","arr","hasOwnProperty","sort","a","b","languagePayrates","poolList","canLoginLogoutLSUsers","IsLSAllOther","WorkGroup","LastCallEnded","localDate","toLocaleString","s","arguments","reg","RegExp","convertMinutesToSeconds","minutes","days","hours","padZeros","getClientAppJavaScriptFileName","scripts","document","getElementsByTagName","src","getAttribute","substring","c","r","v","toLowerCase","String","prototype","pos","handleResponse","handleResponseError","responseError","$httpProvider","interceptors","constant","moment","Twilio","None","UnableToSendAlerts","UnableToCall","CallNotAccepted","CallRejected","CallNotAnswered","InvalidPhoneNumber","UnableToUpdateTheCall","ExceededReconnectAttempts","ExceededMissedAlerts","PhoneBusy","MissedAlert","CustomerInitiatedReconnect","UnableToCallVOIPOffline","DropThresholdExceeded","LoginViaApi","LogoutViaApi","ExceededUnableToSendAlerts","LostConnectivity","ImprovedLatency","3","5","6","8","9","10","11","15","16","17","18","19","21","22","Fatal","WebRtcStatus","Ready","Busy","Phone","OPI","EscalateToVoice","referenceCache","adminGetLoggedInInterpreters","RecentCallsRefreshIntervalSeconds","ReCreateTokens","IsInterpreterDispositionMenu","IsShowDefaultReminder","DefaultShowReminderText","IsShowDefaultOperatorReminder","DefaultShowOperatorReminderText","ShowWebRtcDialpad","DisconnectWebRtcActiveConnection","EnableStateMachine","StateMachineStatusForAlerting","StateMachineStatusForInCall","StateMachineStatusForRinging","IsCustomerMonitorRefresh","IsShowAppVersion","EnableTwilioClientDebugging","TwilioSDKVersion","ShowAdditionalStuckCalls","IvrNewVoicePortalUsedByOperatorByDefault","PhoneHangup","WebRTCHangup","DispositionMenuInaudibleNonEnglishSpeaker","DispositionMenuCustomerDropCallQuality","DispositionMenuCustomerDropAbruptly","DispositionMenuCustomerDropWhileConferencing","DispositionMenuInterpreterNolongerNeeded","DispositionMenuCouldNotHearCustomerAndOrLEP","DispositionMenuPoorAudioQuality","DispositionMenuCallDropped","DispositionMenuTechnicalProblem","DispositionMenuCustomerDidNotReturnFromHold","DispositionMenuCustomerHangupOrTransferContd","ShowedNoTalkDisposition","InterpreterOnAnotherCall","toastrConfig","timeOut","positionClass","$logProvider","applicationInsightsServiceProvider","debugEnabled","appTitle","applicationName","autoPageViewTracking","autoStateChangeTracking","autoLogTracking","autoExceptionTracking","sessionInactivityTimeout","developerMode","appInsightsInstrumentationKey","enableCorsCorrelationFlag","correlationHeaderExcludedDomains","appInsights","t","queue","apply","f","u","h","l","createElement","parentNode","appendChild","cookie","p","pop","disableExceptionTracking","instrumentationKey","enableCorsCorrelation","trackPageView","core","voxUserInformation","VoxUserInformationController","operatorPools","interpreterLanguagePayrates","isCustomerMonitor","voxConsoleStatus","ConsoleStatusController","handlePersonStatus","isVisibleStatusReasonChangedMessage","showStatusChangeReason","LastStatusChange","userStatusReason","statusReasonsToHideInitially","operatorWatch","logClientJavaScriptVersion","interpreterWatch","monitorWatch","errorMessageWatch","invalidPhoneOriginalStatus","showContactMethods","interpreterData","customerData","customerDetails","showDefaultReminderText","showDefaultOpertorReminderText","panelClass","showWebRtcDialpad","enableStateMachine","stateMachineStatusForAlerting","stateMachineStatusForInCall","stateMachineStatusForRinging","statusChanged","statusDisabled","statusOptionHidden","setTempPhoneNumber","displayStatus","contactMethodSelectShown","statusChangeTime","notifyTestButtonDirective","checkAllowedStatusChanges","removeModal","resetDialpad","currentStatus","validateAllowedStatus","allowedStatus","getStatus","testButtonDisabled","chkStatusName","userIsOnlyMonitor","getResultByStatus","personId","fileName","interpreterDetails","operatorDetails","voxConsoleReminder","ConsoleReminderController","getGreetingReminderText","setValues","getReminderTextDatabase","getGreetingText","getClosingText","customerGreeting","customerReminder","displayedGreeting","displayedReminder","reminder","getDefaultShowReminderText","reminderHasData","usedDefaultGreeting","greeting","interpreterPin","closing","InterpreterReminder","OperatorReminder","InterpreterGreeting","OperatorGreeting","OperatorClosing","customReminderText","customerGreetingText","Pin","voxConsoleInstructionMessage","ConsoleInstructionMessageController","setupSubscriptions","showMessage","userMessage","PostServerMessage","showInstructionalMessage","hideInstructionMessage","voxConsoleCallControlPanel","ConsoleCallControlPanelController","enableHangupButton","isHangUpDisabled","showNoTalkPopup","showing","setuplisteners","NoTalkActivity","dispositionMenuPrefFlag","isApplicableforDisposition","dissconnectCallAndAddEvent","disconnectWebRtcActiveConnection","voxConsoleAlert","ConsoleAlertController","tryGettingAlert","setupUser","setupAlertActionMessage","hideAlertActionMessage","alertActionMessage","voxCallEvents","CallEventsController","callConnectedTime","EventTime","getAdditionalInfo","additionalInfo","getUserFullName","firstName","lastName","callConnectedLocaleString","voxCallDuration","CallDurationController","betterVoiceCallId","getReconnectWarningThreshold","getAutoReconnectThreshold","startTime","reconnectWarningThreshold","autoReconnectThreshold","StartTime","reconnectWarningMinutes","autoReconnectMinutes","ConsoleController","keepAliveInterval","showAppVersionFlag","getApplicationVersion","identity","maximised","voxAdmin","AdminLayoutController","voxAdminCallsTable","AdminCallsTableController","isCustomerMonitorRefresh","additionalStuckCallCondition","recentHours","recentCallCriteriaList","hoursChanged","customerMonitor","recentCallsRefreshIntervalSeconds","setTimerToRefreshRecentCalls","refreshRecentCalls","refreshRecentCallsForMonitor","calls","updateCalls","getTerminameButtonAdditionalCondition","defaultCondition","selectedHour","additionalCondition","getCallsComplete","callsUpdating","getCallsFailed","CallConnectedDisplay","CallConnected","getFullYear","filterChange","monitorCall","requestingToListen","hasMonitoring","monitoringRestricted","hasAccess","userSpecRefreshRecentCallsInterval","terminateCall","showTerminateButton","AdminController","$templateCache"],"mappings":"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","file":"scripts/app-acd4e80f01.js","sourcesContent":["(function () {\r\n 'use strict';\r\n\r\n angular\n .module('vox-leonis.core', [\r\n 'ngAnimate', 'ngTouch', 'ngSanitize', 'ui.router', 'ui.bootstrap',\r\n 'SignalR', 'angular-ladda', 'ngScrollbars', 'angular-progress-arc', 'ApplicationInsightsModule',\r\n 'blocks.exception', 'blocks.logger', 'blocks.router', 'smart-table', 'ngCookies', 'angular-cache', 'ui.select']);\r\n})();\n\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('vox-leonis.core')\r\n .filter('unique', function () {\r\n // we will return a function which will take in a collection\r\n // and a keyname\r\n return function (collection, keyname) {\r\n // we define our output and keys array;\r\n var output = [],\r\n keys = [];\r\n\r\n // we utilize angular's foreach function\r\n // this takes in our original collection and an iterator function\r\n angular.forEach(collection, function (item) {\r\n // we check to see whether our object exists\r\n var key = item[keyname];\r\n // if it's not already part of our keys array\r\n if (keys.indexOf(key) === -1) {\r\n // add it to our keys array\r\n keys.push(key);\r\n // push this item to our final output array\r\n output.push(item);\r\n }\r\n });\r\n // return our array which should be devoid of\r\n // any duplicates\r\n return output;\r\n };\r\n });\r\n})();\r\n\n(function ()\r\n{\r\n 'use strict';\r\n\r\n angular\r\n .module('vox-leonis.core')\r\n .filter('map', function () {\r\n return function (input, map) {\r\n return map[input];\r\n };\r\n });\r\n})();\r\n \n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('vox-leonis.core')\r\n .filter('camelcaseSpace', function () {\r\n return function (input) {\r\n if (input !== undefined && isNaN(input)) {\r\n input = input.replace(/([a-z])([A-Z])/g, '$1 $2');\r\n return input;\r\n }\r\n else {\r\n return input;\r\n }\r\n };\r\n });\r\n})();\r\n\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('vox-leonis.core')\r\n .filter('elapsedTime', ['utilities', function (utilities) {\r\n\r\n function elapsedTime(startDateTime, endDateTime) {\r\n startDateTime = startDateTime ? new Date(startDateTime) : new Date();\r\n endDateTime = endDateTime ? new Date(endDateTime) : new Date();\n return getTimeDisplay(startDateTime.getTime(), endDateTime.getTime());\r\n }\r\n\r\n return elapsedTime;\r\n\r\n function getTimeDisplay(startDateTime, endDateTime) {\r\n\r\n if (startDateTime >= endDateTime) {\r\n return '0';\r\n }\r\n\r\n var diffSeconds = (endDateTime - startDateTime) / 1000;\r\n\r\n return utilities.convertSecondsToDisplayString(diffSeconds);\r\n }\r\n\r\n }]);\r\n})();\r\n\n(function () {\n 'use strict';\n\n angular\n .module('vox-leonis.core')\n .factory('userservice', userservice);\n\n userservice.$inject = ['$http', '$q', 'exception', 'logger', 'enums', 'usermessageservice', 'stringResources', 'utilities', 'accountservice'];\n /* @ngInject */\n function userservice($http, $q, exception, logger, enums, usermessageservice, stringResources, utilities, accountservice) {\n var baseUrl = '/api/User';\n\n var service = {\n acceptAlert: acceptAlert,\n rejectAlert: rejectAlert,\n getCurrentAlert: getCurrentAlert,\n showChangeStatusReason: showChangeStatusReason,\n addCallEvent: addCallEvent,\n updateContactMethod: updateContactMethod,\n setMetadata: setMetadata,\n setSipdata: setSipdata,\n getUserSetting: getUserSetting,\n getUserFullSetting: getUserFullSetting,\n setUserSetting: setUserSetting,\n endConference: endConference,\n disconnectCall: disconnectCall,\n interpreterDispositionMenu: interpreterDispositionMenu,\n testCall: testCall\n };\n\n return service;\n\n /* */\n\n function acceptAlert(resourceAlertId, resourceRequestId, isTestCall, callId, isScheduleCall) {\n accountservice.logMessage('AcceptAlert is triggered|ResourceRequestId = ' + resourceRequestId + '|ResourceAlertId = ' + resourceAlertId, enums.LogLevel.Debug);\n return $http.put(baseUrl + '/AcceptAlert', {},\n { params: { resourceAlertId: resourceAlertId, resourceRequestId: resourceRequestId, isTestCall: isTestCall, callId: callId, isScheduleCall: isScheduleCall } })\n .then(success)\n .catch(fail);\n\n function success(response) {\n return response.data;\n }\n\n function fail(e) {\n return exception.catcher('XHR failed for acceptAlert')(e);\n }\n }\n\n function rejectAlert(resourceAlertId, resourceRequestId, isTestCall, callId, isScheduleCall) {\n return $http.put(baseUrl + '/RejectAlert?resourceAlertId=' + resourceAlertId + '&resourceRequestId=' + resourceRequestId + '&isTestCall=' + isTestCall + '&callId=' + callId +\n '&isScheduleCall=' + isScheduleCall)\n .then(success)\n .catch(fail);\n\n function success(response) {\n return response.data;\n }\n\n function fail(e) {\n return exception.catcher('XHR failed for rejectAlert')(e);\n }\n }\n\n function getCurrentAlert() {\n return $http.get(baseUrl + '/Alert')\n .then(success)\n .catch(fail);\n\n function success(response) {\n return response.data;\n }\n\n function fail(e) {\n return exception.catcher('XHR failed for getCurrentAlert')(e);\n }\n }\n\n function showChangeStatusReason(statusName, time, reason) {\n // Don't show lost connectivity reasons to the user\n if (!time || !reason || reason === 21) {\n usermessageservice.notify(enums.Events.ShowInstructionMessage, { message: '' });\n return;\n }\n\n var reasonToDisplay = enums.PersonStatusMessage[reason];\n\n // Don't show reason dialog if there is no associated message text\n if (!reasonToDisplay || reasonToDisplay === '') {\n usermessageservice.notify(enums.Events.ShowInstructionMessage, { message: '' });\n return;\n }\n\n var timeToDisplay = utilities.getLocalDate(time);\n var message;\n\n if (statusName === enums.PersonStatusNames.Available) {\n message = utilities.stringFormat('{0}. {1}', reasonToDisplay, timeToDisplay);\n } else {\n message = utilities.stringFormat(\n stringResources.personStatusMessageFormat, statusName, reasonToDisplay, timeToDisplay);\n }\n\n usermessageservice.notify(enums.Events.ShowInstructionMessage, { message: message });\n }\n\n function addCallEvent(eventName, callId, metadata) {\n var body = { metadata: null };\n if (metadata !== undefined && metadata !== null && metadata !== '') {\n body = { metadata: metadata };\n }\n\n return $http.put(baseUrl + '/Call/' + callId + '/CallEvent/' + eventName, body)\n .then(success)\n .catch(fail);\n\n function success(response) {\n return response.data;\n }\n\n function fail(e) {\n return exception.catcher('XHR failed for addCallEvent')(e);\n }\n\n }\n\n function getUserSetting(userSetting, defaultValue) {\n return $http.get('/api/User/Settings/' + userSetting + '?defaultValue=' + defaultValue)\n .then(success)\n .catch(fail);\n\n function success(response) {\n return response.data;\n }\n\n function fail(e) {\n return exception.catcher('XHR failed for getUserSetting')(e);\n }\n }\n\n function getUserFullSetting(userSetting, defaultValue) {\n return $http.get('/api/User/FullSettings/' + userSetting)\n .then(success)\n .catch(fail);\n\n function success(response) {\n return response.data;\n }\n\n function fail(e) {\n return exception.catcher('XHR failed for getUserFullSetting')(e);\n }\n }\n\n function setUserSetting(userSetting, value) {\n return $http.put(baseUrl + '/Settings/' + userSetting, value)\n .then(success)\n .catch(fail);\n function success(response) {\n return response.data;\n }\n\n function fail(e) {\n return exception.catcher('XHR Failed for set user setting')(e);\n }\n }\n\n function updateContactMethod(contactMethod) {\n return $http.put('/api/User/ContactMethod', contactMethod)\n .then(success)\n .catch(fail);\n\n function success(response) {\n return response.data;\n }\n\n function fail(e) {\n return exception.catcher('XHR failed for updateContactMethod')(e);\n }\n }\n\n /* */\n function setMetadata(callId, metaData) {\n return $http.put(baseUrl + '/MetaData/' + callId, metaData)\n .then(success)\n .catch(fail);\n\n function success(response) {\n return response.data;\n }\n\n function fail(e) {\n return exception.catcher('XHR Failed for set meta data')(e);\n }\n }\n\n function setSipdata(callId, sipData) {\n return $http.put(baseUrl + '/SipData/' + callId, sipData)\n .then(success)\n .catch(fail);\n\n function success(response) {\n return response.data;\n }\n\n function fail(e) {\n return exception.catcher('XHR Failed for set sip data')(e);\n }\n }\n\n /* */\n function endConference(callId) {\n return $http.put(baseUrl + '/EndConference/' + callId)\n .then(success)\n .catch(fail);\n\n function success(response) {\n return response.data;\n }\n\n function fail(e) {\n return exception.catcher('XHR failed to end conference')(e);\n }\n }\n\n /* */\n function disconnectCall(callId) {\n return $http.put(baseUrl + '/Call/' + callId + '/Disconnect')\n .then(success)\n .catch(fail);\n\n function success(response) {\n return response.data;\n }\n\n function fail(e) {\n return exception.catcher('XHR failed for userservice.disconnectCall')(e);\n }\n }\n\n /* */\n function interpreterDispositionMenu() {\n return $http.get(baseUrl + '/Disposition/Interpreter')\n .then(success)\n .catch(fail);\n\n function success(response) {\n return response.data;\n }\n\n function fail(e) {\n return exception.catcher('XHR failed for userservice.interpreterDispositionMenu')(e);\n }\n }\n\n /* */\n function testCall() {\n return $http.put(baseUrl + '/TestCall')\n .then(success)\n .catch(fail);\n\n function success(response) {\n return response.data;\n }\n\n function fail(e) {\n return exception.catcher('XHR failed our userservice.testcall')(e);\n }\n }\n }\n})();\n\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('vox-leonis.core')\r\n .factory('usermessageservice', usermessageservice);\r\n\r\n usermessageservice.$inject = ['$rootScope'];\r\n /* @ngInject */\r\n function usermessageservice($rootScope) {\r\n var service = {\r\n subscribe: subscribe,\r\n notify: notify\r\n };\r\n\r\n return service;\r\n\r\n /* */\r\n function subscribe(scope, event, callback) {\r\n var handler = $rootScope.$on(event, callback);\r\n scope.$on('$destroy', handler);\r\n }\r\n\r\n function notify(event, args) {\r\n $rootScope.$emit(event, args);\r\n }\r\n }\r\n})();\r\n\n(function (angular) {\r\n 'use strict';\r\n\r\n angular\r\n .module('vox-leonis.core')\r\n .factory('twiliowebrtcservice', twiliowebrtcservice);\r\n\r\n twiliowebrtcservice.$inject = ['$rootScope', 'accountservice', 'enums', 'twilio', '$cookies', 'callEvents', 'userservice',\n 'appsettingsservice', 'preferences', 'constants', 'usermessageservice'];\r\n\r\n function twiliowebrtcservice($rootScope, accountservice, enums, twilio, $cookies, callEvents, userservice,\r\n appsettingsservice, preferences, constants, usermessageservice) {\r\n var devices = [];\r\n var lastConnection;\n var preflightTest;\r\n var service = {\r\n enable: enable,\r\n disable: disable,\r\n hangUp: hangUp,\n setup: setup,\r\n isInCall: isInCall,\r\n isWebRTCSupported: isWebRTCSupported,\n mute: mute,\n unmute: unmute,\n sendDigits: sendDigits,\n disconnect: disconnect,\n clearDevice: clearDeviceAndCreateNew,\n setPortalRefresh: setPortalRefresh\n };\n\r\n var showNetworkQualityIndicatorDefault = 'false';\n var preFlightEnabled = false;\n var currentRole = $cookies.get(constants.userRole);\n var twilioErrorLimitToLog = 1000;\n var tokenRefreshMilliseconds = 60000;\n var settingUpPeriodicTokenUpdation = false;\n var pageRefresh = true;\n var hangupNeedsRefreshToken = false;\n // SDK 2.1.1\n var refreshTokenInProgress = false;\n var runningPreflight = false;\n var showWebRTCReconnectionStatus = false;\n // SDK 2.1.1\n var twilioSDKLogLevel = 5; //silent\n var createTokenOnError = false;\n var tokenAgeMinutes = 60;\n var tokenAgeMilliseconds = tokenAgeMinutes * 60000;\n var interval = false;\n var defaultEdgeLocations = ['roaming'];\n var codecPreferences = ['opus'];\n var disableTokenGenerationLocalHost = false;\n var logTwilioErrorsOnConsole = false;\n var registerDeviceWhenOffline = false;\n\n initializePreferences();\r\n\r\n return service;\r\n\n function initializePreferences() {\n appsettingsservice.getAppSetting(preferences.TwilioErrorLimitToLog, twilioErrorLimitToLog).then(function (data) {\r\n twilioErrorLimitToLog = +data;\r\n });\n\n userservice.getUserSetting('Portal_EnableTwilioClientDebugging', twilioSDKLogLevel).then(function (data) {\n if (data) {\n twilioSDKLogLevel = +data;\r\n }\r\n });\n\n appsettingsservice.getAppSetting(preferences.TokenRefreshMilliseconds, tokenRefreshMilliseconds).then(function (data) {\r\n tokenRefreshMilliseconds = +data;\r\n });\n\r\n if (currentRole !== undefined) {\r\n appsettingsservice.getAppSetting(preferences.ShowNetworkQualityIndicator, showNetworkQualityIndicatorDefault).then(function (data) {\r\n showNetworkQualityIndicatorDefault = data;\r\n });\n }\n\n appsettingsservice.getAppSetting(preferences.DisableTokenGenerationLocalHost, disableTokenGenerationLocalHost).then(function (data) {\r\n disableTokenGenerationLocalHost = (data === 'true');\r\n });\n\n appsettingsservice.getAppSetting(preferences.WebRTCTokenAgeMinutes, tokenAgeMinutes).then(function (data) {\r\n tokenAgeMinutes = +data;\n tokenAgeMilliseconds = tokenAgeMinutes * 60000;\r\n });\n\n userservice.getUserSetting(preferences.preFlight, preFlightEnabled).then(function (data) {\r\n preFlightEnabled = (data === 'true');\r\n });\n\r\n appsettingsservice.getAppSetting(preferences.WebRTCEdgeLocations, defaultEdgeLocations).then(function (data) {\r\n defaultEdgeLocations = data ? data.toString().split(',') : defaultEdgeLocations;\r\n });\n\n appsettingsservice.getAppSetting(preferences.CodecPreferences, codecPreferences).then(function (data) {\r\n codecPreferences = data ? data.toString().split(',') : codecPreferences;\r\n });\n\r\n appsettingsservice.getAppSetting(preferences.CreateTokenOnError, createTokenOnError).then(function (data) {\r\n createTokenOnError = (data === 'true');\r\n });\n\n userservice.getUserSetting(preferences.LogTwilioErrorsOnConsole, logTwilioErrorsOnConsole).then(function (data) {\r\n logTwilioErrorsOnConsole = (data === 'true');\r\n });\n\n appsettingsservice.getAppSetting(preferences.ShowWebRTCReconnectionStatus, showWebRTCReconnectionStatus).then(function (data) {\r\n showWebRTCReconnectionStatus = (data === 'true');\r\n });\n\n appsettingsservice.getAppSetting(preferences.RegisterDeviceWhenOffline, registerDeviceWhenOffline).then(function (data) {\r\n registerDeviceWhenOffline = (data === 'true');\r\n });\r\n }\r\n function enable() {\r\n var regereratingTokenDueToError = false;\r\n setup(regereratingTokenDueToError, 0);\r\n }\n\r\n function disable(userId) {\n if (devices.length > 0) {\r\n devices.forEach(function (device) {\r\n device.removeListener(enums.DeviceStatus.Error, deviceEventHandlerError);\r\n device.removeListener(enums.DeviceStatus.Incoming, deviceEventHandlerIncoming);\r\n device.removeListener(enums.DeviceStatus.Unregistered, deviceEventHandlerUnregistered);\r\n device.removeListener(enums.DeviceStatus.Registered, deviceEventHandlerRegistered);\n device.removeListener(enums.DeviceStatus.Destroyed, deviceEventHandlerDestroyed);\n device.removeListener(enums.DeviceStatus.Registering, deviceEventHandlerRegistering);\n device.removeListener(enums.DeviceStatus.TokenWillExpire, deviceEventHandlerTokenWillExpire);\n device.destroy();\r\n });\r\n\r\n // start over\r\n devices = [];\n //Use deleteDeviceUpdationJob in sdk 2.0.0\n //deleteDeviceUpdationJob();\n accountservice.logMessage('twiliowebrtcservice.disable|WebRTC disabled for User: ' + userId, enums.LogLevel.Debug);\n }\r\n }\n\r\n function deviceEventHandlerDestroyed() {\r\n console.log('Device Destroyed');\r\n //Use deleteDeviceUpdationJob in sdk 2.0.0\n //deleteDeviceUpdationJob();\r\n }\n\r\n function deleteDeviceUpdationJob() {\n if (interval) {\n clearInterval(interval);\n interval = undefined;\r\n }\r\n }\r\n function deviceEventHandlerRegistered() {\r\n devices.every(function (device) {\r\n\r\n console.log('registered... Device Status: ' + device.state);\r\n });\n //Call setUpTokenUpdation in sdk version 2.0.0\n //setUpTokenUpdation();\n\n if (runningPreflight) {\r\n console.log('Preflight Run in progress');\r\n return;\r\n }\r\n runningPreflight = true;\r\n\r\n if (preFlightEnabled) {\n var curStatus = $cookies.get('currentStatus');\n if (curStatus === 'Available' || curStatus === 'Away') {\n runPreflightTests();\r\n }\r\n }\n setTimeout(function () { runningPreflight = false; }, 2000);\r\n }\n\n function runPreflightTests() {\r\n if (preFlightEnabled) {\n accountservice.getPreflightAccessToken().then(function (data) {\r\n if (!!data) {\r\n var setupOptions = {\r\n // for testing:\r\n logLevel: twilioSDKLogLevel,\r\n //warnings: true,\r\n edge: defaultEdgeLocations,\r\n appName: 'Voice Portal Preflight',\r\n closeProtection: true,\r\n codecPreferences: ['opus', 'pcmu'],\r\n };\r\n\r\n preflightTest = twilio.Device.runPreflight(data, setupOptions);\r\n preflightTest.on('completed', preflightSuccess);\r\n preflightTest.on('failed', preflightError);\r\n }\r\n });\r\n }\r\n }\r\n\r\n function preflightSuccess(report) {\r\n console.log(report);\r\n if (!!report) {\r\n accountservice.logMessage('twiliowebrtcservice.preflightSuccess|CallSid: ' + report.callSid +\r\n ', userId: ' + getUserId() + ', result: ' + report.callQuality + ', edge: ' + report.edge +\r\n ', selectedEdge: ' + report.selectedEdge, enums.LogLevel.Info);\r\n }\r\n }\r\n\r\n function preflightError(error) {\r\n accountservice.logMessage('twiliowebrtcservice.preflightError|Code: ' + error.code + ', Message: ' + error.message +\r\n ' Causes: ' + error.TwilioError.causes + ', userId: ' + getUserId(), enums.LogLevel.Warn);\r\n }\r\n\r\n // due to old long-aged bug try to find userId by any suitable way\r\n function getUserId() {\r\n var cachedUserId = $cookies.get('userId');\r\n if (!!cachedUserId) {\r\n return cachedUserId;\r\n }\r\n\r\n var cachedCurrentUserId = $cookies.get('currentUserid');\r\n if (!!cachedCurrentUserId) {\r\n return cachedCurrentUserId;\r\n }\r\n\r\n return accountservice.getCurrentUserId();\r\n }\n\n //used in twilio sdk 2.1.1\n function deviceEventHandlerTokenWillExpire() {\r\n if (refreshTokenInProgress) {\r\n console.log('RefreshToken is in progress');\r\n return;\r\n }\r\n refreshTokenInProgress = true;\r\n console.log('Token expiration time nearing...updating new token');\r\n\r\n updateToken();\n setTimeout(function () { refreshTokenInProgress = false; }, 2000);\r\n }\r\n\n function setUpTokenUpdation() {\n //used in twilio sdk 2.0.0\n if (!settingUpPeriodicTokenUpdation && !interval && devices.length > 0) {\n settingUpPeriodicTokenUpdation = true;\n\r\n const REFRESH_TIMER = tokenAgeMilliseconds - tokenRefreshMilliseconds; // We update our token 30 seconds before expiration;\r\n interval = setInterval(updateToken, REFRESH_TIMER);\n console.log('Token will be renewed every ' + REFRESH_TIMER / 1000 + ' seconds.');\n setTimeout(function () {\n settingUpPeriodicTokenUpdation = false;\n }, 2000);\n\n }\r\n }\r\n\n function updateToken() {\n var callId = $cookies.get('callId');\r\n var userId = $cookies.get('userId');\n accountservice.getWebRTCAccessTokens().then(function (data) {\r\n if (data) {\n var index = 0;\n var timeStamp = new Date();\n console.log('received new token on ' + timeStamp);\n devices.forEach(function (device) {\n device.updateToken(data[index]);\n index++;\n accountservice.logMessage('twiliowebrtcservice.UpdateToken| Message: Token Updated , CallId: ' + callId + ', UserId: ' + userId +\n ' Next token will be renewed ' + tokenRefreshMilliseconds + ' ms before expiry (' + tokenAgeMilliseconds + ')', enums.LogLevel.Debug);\r\n });\r\n }\r\n });\r\n }\n\n function deviceEventHandlerRegistering() {\r\n devices.every(function (device) {\n console.log('registering... Device Status: ' + device.state);\r\n });\n }\r\n function deviceEventHandlerUnregistered() {\r\n var callId = $cookies.get('callId');\r\n var userId = $cookies.get('userId');\r\n console.log('Device Offline');\r\n accountservice.logMessage('twiliowebrtcservice.offline|: Received offline event from Twilio. CallId: ' + callId + ', UserId: ' +\n userId, enums.LogLevel.Debug);\r\n // start over\n if (registerDeviceWhenOffline) {\n devices = [];\n setup(false, 0);\r\n }\r\n }\n\n function connectionEventHandlerWarning(warning) {\r\n var isError = true;\r\n var callId = $cookies.get('callId');\r\n if (warning === 'low-mos') {\r\n $rootScope.$broadcast(enums.Events.WebRtcConnectionQualityChanged, isError);\r\n userservice.addCallEvent(callEvents.LowMosWebRTCError, callId);\r\n }\r\n if (warning === 'high-rtt') {\r\n $rootScope.$broadcast(enums.Events.WebRtcConnectionQualityChanged, isError);\r\n userservice.addCallEvent(callEvents.HighRttWebRTCError, callId);\r\n }\r\n if (warning === 'high-jitter') {\r\n $rootScope.$broadcast(enums.Events.WebRtcConnectionQualityChanged, isError);\r\n userservice.addCallEvent(callEvents.HighJitterWebRTCError, callId);\r\n }\r\n if (warning === 'high-packet-loss') {\r\n $rootScope.$broadcast(enums.Events.WebRtcConnectionQualityChanged, isError);\r\n userservice.addCallEvent(callEvents.HighPacketLossWebRTCError, callId);\r\n }\n if (warning === 'device-change') {\r\n $rootScope.$broadcast(enums.Events.WebRtcConnectionQualityChanged, isError);\r\n userservice.addCallEvent(callEvents.AudioDeviceChanged, callId);\r\n }\n if (warning === 'high-packets-lost-fraction') {\r\n $rootScope.$broadcast(enums.Events.WebRtcConnectionQualityChanged, isError);\r\n userservice.addCallEvent(callEvents.HighPacketsLossFractionWebRTCError, callId);\r\n }\r\n }\n\r\n function connectionEventHandlerWarningCleared(warning) {\r\n var isError = false;\r\n var callId = $cookies.get('callId');\r\n if (warning === 'low-mos') {\r\n $rootScope.$broadcast(enums.Events.WebRtcConnectionQualityChanged, isError);\r\n userservice.addCallEvent(callEvents.WebRTCErrorCleared, callId);\r\n }\r\n if (warning === 'high-rtt') {\r\n $rootScope.$broadcast(enums.Events.WebRtcConnectionQualityChanged, isError);\r\n userservice.addCallEvent(callEvents.WebRTCErrorCleared, callId);\r\n }\r\n if (warning === 'high-jitter') {\r\n $rootScope.$broadcast(enums.Events.WebRtcConnectionQualityChanged, isError);\r\n userservice.addCallEvent(callEvents.WebRTCErrorCleared, callId);\r\n }\r\n if (warning === 'high-packet-loss') {\r\n $rootScope.$broadcast(enums.Events.WebRtcConnectionQualityChanged, isError);\r\n userservice.addCallEvent(callEvents.WebRTCErrorCleared, callId);\r\n }\r\n }\r\n\n function deviceEventHandlerError(error) {\r\n var callId = $cookies.get('callId');\r\n var userId = $cookies.get('userId');\n if (logTwilioErrorsOnConsole) {\n console.log('Twilio Error: ' + error);\r\n }\r\n switch (error.code) {\r\n case 31205:\n case 31202:\n case 31204:\r\n accountservice.logMessage('twiliowebrtcservice.deviceEventHandlerError|Code: ' + error.code + ', Message: ' + error.message +\n ' Causes: ' + error.TwilioError.causes + ', Refreshing the token again. CallId: ' + callId + ', userId: ' + userId, enums.LogLevel.Warn);\n if (createTokenOnError) { setup(true, error.code); }\r\n break;\r\n default:\n handleWebRTCErrors(error.code, userId, error.message, error.TwilioError, callId);\r\n }\r\n }\r\n\r\n function deviceEventHandlerIncoming(connection) {\r\n lastConnection = connection;\n\n if (showNetworkQualityIndicatorDefault === 'true') {\n lastConnection.on('warning', connectionEventHandlerWarning);\r\n lastConnection.on('warning-cleared', connectionEventHandlerWarningCleared);\n }\n\n //used in sdk version 2.1.1\n if (showWebRTCReconnectionStatus === true) {\r\n lastConnection.on('reconnected', connectionEventHandlerReconnected);\r\n lastConnection.on('reconnecting', connectionEventHandlerReconnecting);\r\n }\n\n lastConnection.on('ringing', connectionEventHandlerRinging);\n connection.accept();\r\n }\n\n function connectionEventHandlerReconnected() {\r\n console.log('The call has regained connectivity.');\r\n usermessageservice.notify('notify', { message: true, eventName: 'WebRTCReconnected' });\r\n }\n\n function connectionEventHandlerRinging() {\r\n console.log('Device Ringing');\r\n }\r\n\r\n function connectionEventHandlerReconnecting(twilioError) {\r\n usermessageservice.notify('notify', { message: true, eventName: 'WebRTCReconnecting' });\r\n console.log('Connectivity error: ', twilioError);\r\n }\r\n\r\n // returns true if all of the devices on the page are 'Ready'; otherwise false\r\n function isReady() {\r\n var isReady = devices.every(function (device) {\r\n return device.state === enums.DeviceStatus.Registered;\r\n });\r\n return isReady;\r\n }\r\n\r\n // returns true if at least one of the devices on the page is 'Busy'; otherwise false\r\n function isInCall() {\r\n var inCall = devices.some(function (device) {\r\n return device.isBusy;\r\n });\r\n return inCall;\r\n }\r\n\r\n function hangUp() {\n var callId = $cookies.get('callId');\n var userId = $cookies.get('userId');\r\n devices.forEach(function (device) {\r\n if (device.isBusy) {\r\n device.disconnectAll();\n }\r\n });\r\n }\n\n function setPortalRefresh(enable, emptyDevice) {\n console.log('setPortalRefresh called');\n pageRefresh = enable;\n if (emptyDevice) {\n devices = [];\r\n }\n else {\n var userId = $cookies.get('userId');\n disable(userId);\r\n }\n\r\n }\n\n function clearDeviceAndCreateNew(force) {\n console.log('clearDeviceAndCreateNew called');\n hangupNeedsRefreshToken = force ? true : hangupNeedsRefreshToken;\n if (hangupNeedsRefreshToken) {\n hangupNeedsRefreshToken = false;\n devices.forEach(function (device) {\r\n device.removeListener(enums.DeviceStatus.Error, deviceEventHandlerError);\r\n device.removeListener(enums.DeviceStatus.Incoming, deviceEventHandlerIncoming);\r\n device.removeListener(enums.DeviceStatus.Unregistered, deviceEventHandlerUnregistered);\r\n device.removeListener(enums.DeviceStatus.Registered, deviceEventHandlerRegistered);\n device.removeListener(enums.DeviceStatus.Destroyed, deviceEventHandlerDestroyed);\n device.removeListener(enums.DeviceStatus.Registering, deviceEventHandlerRegistering);\n device.removeListener(enums.DeviceStatus.TokenWillExpire, deviceEventHandlerTokenWillExpire);\n device.destroy();\r\n });\n devices = [];\n setup(false, 0);\r\n }\r\n }\r\n\r\n // If the window object has any of the following properties, WebRTC connections are possible\r\n function isWebRTCSupported() {\r\n return ['RTCPeerConnection', 'webkitRTCPeerConnection', 'mozRTCPeerConnection', 'RTCIceGatherer'].some(function (item) {\r\n if (item in window) {\r\n accountservice.logMessage('twiliowebrtcservice.isWebRTCSupported|Property: ' + item, enums.LogLevel.Debug);\r\n console.log('WebRTC Supported: true');\n return true;\r\n }\r\n accountservice.logMessage('twiliowebrtcservice.isWebRTCSupported false', enums.LogLevel.Debug);\r\n console.log('WebRTC Supported: false');\n return false;\r\n });\r\n }\r\n\n function mute() {\r\n if (lastConnection != null) {\r\n lastConnection.mute(true);\n }\n\n logConnectionStatus(lastConnection, 'mute');\r\n }\n\r\n function unmute() {\r\n if (lastConnection != null) {\r\n lastConnection.mute(false);\n }\n\n logConnectionStatus(lastConnection, 'unmute');\r\n }\n\n function sendDigits(digit) {\r\n if (lastConnection != null) {\r\n lastConnection.sendDigits(digit);\n }\n\n logConnectionStatus(lastConnection, 'sendDigits');\r\n }\n\n function logConnectionStatus(conn, methodName) {\n var callId = $cookies.get('callId');\n var userId = $cookies.get('userId');\n\n if (conn) {\n accountservice.logMessage('twiliowebrtcservice.' + methodName + ' | Message: CallId: ' + callId + ', UserId: ' + userId + ' Status: ' + conn.status(), enums.LogLevel.Debug);\r\n }\n else {\n accountservice.logMessage('twiliowebrtcservice.' + methodName + ' Connection is null | Message: CallId: ' + callId + ', UserId: ' + userId, enums.LogLevel.Warn);\r\n }\n }\n\n function disconnect() {\n var callId = $cookies.get('callId');\n var userId = $cookies.get('userId');\n\n if (lastConnection != null) {\r\n lastConnection.disconnect();\n userservice.addCallEvent(callEvents.UserHangup, callId);\n accountservice.logMessage('twiliowebrtcservice.disconnect| Message: Disconnect Called, CallId: ' + callId + ', UserId: ' + userId, enums.LogLevel.Debug);\n }\n else {\n accountservice.logMessage('twiliowebrtcservice.disconnect| Message: No Active Connection, CallId: ' + callId + ', UserId: ' + userId, enums.LogLevel.Warn);\r\n }\r\n }\n\r\n function setup(regererateTokenDueToError, code) {\n if (pageRefresh) {\n hangupNeedsRefreshToken = true;\n pageRefresh = false;\r\n }\r\n if (devices.length > 0) {\n if (isReady) {\n console.log('Devices Registered Already');\n return;\r\n }\n else {\n devices = [];\r\n }\r\n }\r\n\r\n if (disableTokenGenerationLocalHost && (location.hostname === 'localhost' || location.hostname === '127.0.0.1')) {\r\n return;\r\n }\r\n\r\n accountservice.getWebRTCAccessTokens().then(function (data) {\r\n if (data) {\r\n var setupOptions = {\r\n // for testing:\r\n logLevel: twilioSDKLogLevel,\r\n //warnings: true,\n edge: defaultEdgeLocations,\n appName: 'Voice Portal',\r\n closeProtection: true,\r\n codecPreferences: ['opus', 'pcmu'],\n tokenRefreshMs: tokenRefreshMilliseconds\r\n };\r\n var webRTCToken = null;\r\n data.forEach(function (token) {\n webRTCToken = token;\r\n // The Device constructor calls device.setup(token, setupOptions)\r\n var twilioDevice = new twilio.Device(token, setupOptions);\r\n devices.push(twilioDevice);\r\n });\r\n\n // Register a series of callback functions on each device...\r\n // See: https://www.twilio.com/docs/voice/client/javascript/device#twilio-device for more information.\r\n devices.forEach(function (device) {\r\n device.on(enums.DeviceStatus.Error, deviceEventHandlerError);\r\n device.on(enums.DeviceStatus.Incoming, deviceEventHandlerIncoming);\n device.on(enums.DeviceStatus.Unregistered, deviceEventHandlerUnregistered);\r\n device.on(enums.DeviceStatus.Registered, deviceEventHandlerRegistered);\r\n device.on(enums.DeviceStatus.Destroyed, deviceEventHandlerDestroyed);\r\n device.on(enums.DeviceStatus.Registering, deviceEventHandlerRegistering);\n device.on(enums.DeviceStatus.TokenWillExpire, deviceEventHandlerTokenWillExpire);\r\n device.register();\r\n });\r\n\r\n //devices.forEach(function (device) {\n // if (preFlightEnabled) {\r\n // preflightTest = twilio.Device.runPreflight(webRTCToken, setupOptions);\r\n\r\n // }\n //});\n //if (preFlightEnabled) {\n // preflightTest.on('completed', testPreflight);\r\n // preflightTest.on('failed', testPreflight);\n //}\r\n }\r\n\r\n var numTokens = devices.length;\r\n var logLevel = numTokens === 0 ? enums.LogLevel.Error : enums.LogLevel.Trace;\r\n var generateTokenDueToErrorMessage = regererateTokenDueToError === true ? ', TokenGenerated due to error, ErrorCode: ' + code : '';\r\n accountservice.logMessage('twiliowebrtcservice.setup ' + numTokens + ' token' + (numTokens === 1 ? '' : 's') + ' returned ' + generateTokenDueToErrorMessage, logLevel);\r\n });\n\r\n }\n\n function handleWebRTCErrors(ErorCode, userId, message, twilioError, callId) {\n if (twilioErrorLimitToLog > 0) {\n var twilioErrorCookie = $cookies.get(ErorCode);\n var error = {};\n if (twilioErrorCookie !== undefined) {\n error = JSON.parse(twilioErrorCookie);\n error.Code = ErorCode;\n error.UserId = userId !== undefined ? userId : error.UserId;\n error.Count = +error.Count + 1;\n $cookies.put(ErorCode, JSON.stringify(error));\r\n }\n else {\n error.Code = ErorCode;\n error.UserId = userId;\n error.Count = 1;\n var today = new Date();\r\n var tomorrow = new Date(today);\r\n tomorrow.setDate(today.getDate() + 1);\r\n var expires = new Date(tomorrow);\n $cookies.put(ErorCode, JSON.stringify(error), { 'expires': expires });\n accountservice.logMessage('twiliowebrtcservice.deviceEventHandlerError|Code: ' + error.Code + ', Message: ' + message + ', Causes: ' +\n twilioError.causes + ', Solution: ' + twilioError.solutions + ', CallId: ' +\n callId + ', userId: ' + error.UserId + ' ErrorCount: ' + error.Count, enums.LogLevel.Warn);\r\n }\n //Log Message to graylog if the count reaches the twilioErrorLimitToLog or on ever twilioErrorLimitToLog th interval\n if (+error.Count === twilioErrorLimitToLog || (+error.Count % twilioErrorLimitToLog === 0)) {\n usermessageservice.notify('notify', { message: true, eventName: 'TwilioErrors' });\n accountservice.logMessage('twiliowebrtcservice.deviceEventHandlerError|Code: ' + error.Code + ', Message: ' + message + ', Causes: ' +\n twilioError.causes + ', Solution: ' + twilioError.solutions + ', CallId: ' +\n callId + ', userId: ' + error.UserId + ' ErrorCount: ' + error.Count, enums.LogLevel.Warn);\r\n }\n }\r\n }\r\n }\r\n})(angular);\r\n\n/*jshint esversion: 6 */\r\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('vox-leonis.core')\r\n .factory('telemetryservice', telemetryservice);\r\n\r\n telemetryservice.$inject = ['$injector', '$q', 'applicationInsightsService', 'preferences'];\r\n\r\n //this service should be used by all custom telemetry services instead of direct using applicationInsightsService\r\n function telemetryservice($injector, $q, applicationInsightsService, preferences) {\r\n var service = {\r\n logEvent: logEvent\r\n };\r\n\r\n var settings;\r\n\r\n //we need that to do not cause generation of multiple requests to retrieve settings till we not received response\r\n var loadingSettings = false;\r\n\r\n var defaultEnabled = false;\r\n\r\n resetSettings();\r\n\r\n return service;\r\n\r\n function resetSettings() {\r\n settings = {\r\n userId: null,\r\n enabled: defaultEnabled\r\n };\r\n }\r\n\r\n //request telemetry settings from server\r\n function telemetryEnabled() {\r\n var defer = $q.defer();\r\n\r\n var userId = $injector.get('accountservice').getCurrentUserId();\r\n\r\n // use default setting when user not logged\r\n if (!userId) {\r\n resetSettings();\r\n defer.reject();\r\n }\r\n else {\r\n //if the same logged user just use cached settings\r\n if (settings.userId === userId) {\r\n if (settings.enabled) {\r\n defer.resolve(settings);\r\n } else {\r\n defer.reject();\r\n }\r\n }\r\n //if logged user changed reload settings from server for new user.\r\n else {\r\n resetSettings();\r\n\r\n var appSettingsService = $injector.get('appsettingsservice');\r\n\r\n if (!loadingSettings) {\r\n loadingSettings = true;\r\n\r\n appSettingsService.getAppSetting(preferences.SendCustomUITelemetry, defaultEnabled, userId)\r\n .then(function (data) {\r\n //update cached settings\r\n settings.enabled = $injector.get('utilities').isTrue(data);\r\n settings.userId = userId;\r\n loadingSettings = false;\r\n if (settings.enabled) {\r\n defer.resolve(settings);\r\n }\r\n else {\r\n defer.reject();\r\n }\r\n })\r\n .catch(function (e) {\r\n //if can not receive from server than set to default\r\n resetSettings();\r\n loadingSettings = false;\r\n defer.reject();\r\n });\r\n }\r\n else {\r\n //disable telemetry while waiting for all telemetry settings from server\r\n defer.reject();\r\n }\r\n }\r\n }\r\n\r\n return defer.promise;\r\n }\r\n\r\n //Such format is required by angular-applicationinsights library. It should be object with string or numeric values.\r\n function normalizeEvent(o) {\r\n Object.keys(o).forEach(function (k) {\r\n //Date serializing to ISOString, example: 2018-09-12T10:43:03.123Z\r\n if (o[k] instanceof Date) {\r\n o[k] = o[k].toISOString();\r\n return;\r\n }\r\n //Any object values serializing to JSON string\r\n if (typeof o[k] === 'object') {\r\n o[k] = JSON.stringify(o[k]);\r\n }\r\n //any number and string keep as is\r\n });\r\n return o;\r\n }\r\n\r\n function logEvent(eventName, properties, measurements) {\r\n telemetryEnabled().then(\r\n function (settings) {\r\n if (measurements) {\r\n applicationInsightsService.trackEvent(eventName, normalizeEvent(properties), normalizeEvent(measurements));\r\n }\r\n else {\r\n applicationInsightsService.trackEvent(eventName, normalizeEvent(properties));\r\n }\r\n });\r\n }\r\n }\r\n})();\r\n\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('vox-leonis.core')\r\n .factory('signalservice', signalservice);\r\n\r\n signalservice.$inject = ['interpretersignalreceiver', 'operatorsignalreceiver', 'monitorsignalreceiver', 'session', 'signalreceiversmonitorservice'];\r\n /* @ngInject */\r\n function signalservice(interpretersignalreceiver, operatorsignalreceiver, monitorsignalreceiver, session, signalreceiversmonitorservice) {\r\n\r\n var service = {\r\n connect: connect,\r\n disconnect: disconnect\r\n };\r\n\r\n return service;\r\n\r\n // Connect SignalR when logging in or refreshing the page\r\n function connect() {\r\n if (session.roles.indexOf('Interpreter') >= 0) {\r\n interpretersignalreceiver.connect().done(function() {\r\n signalreceiversmonitorservice.track(interpretersignalreceiver);\r\n });\r\n }\r\n\r\n if (session.roles.indexOf('Operator') >= 0 || session.roles.indexOf('Admin') >= 0 || session.roles.indexOf('SuperUser') >= 0) {\r\n operatorsignalreceiver.connect().done(function() {\r\n signalreceiversmonitorservice.track(operatorsignalreceiver);\r\n });\r\n }\r\n\r\n if (session.roles.indexOf('Monitor') >= 0) {\r\n monitorsignalreceiver.connect().done(function() {\r\n signalreceiversmonitorservice.track(monitorsignalreceiver);\r\n });\r\n }\r\n }\r\n\r\n // Disconnect SignalR when logging out\r\n // Avoids 'The user identity cannot change during an active SignalR connection' error if a different user subsequently logs in\r\n function disconnect() {\r\n if (session.roles.indexOf('Interpreter') >= 0) {\r\n interpretersignalreceiver.disconnect();\r\n signalreceiversmonitorservice.unTrack(interpretersignalreceiver.key);\r\n }\r\n\r\n if (session.roles.indexOf('Operator') >= 0 || session.roles.indexOf('Admin') >= 0 || session.roles.indexOf('SuperUser') >= 0) {\r\n operatorsignalreceiver.disconnect();\r\n signalreceiversmonitorservice.unTrack(operatorsignalreceiver.key);\r\n }\r\n\r\n if (session.roles.indexOf('Monitor') >= 0) {\r\n monitorsignalreceiver.disconnect();\r\n signalreceiversmonitorservice.unTrack(monitorsignalreceiver.key);\r\n }\r\n }\r\n }\r\n})();\r\n\n(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('vox-leonis.core')\r\n .factory('signalreceiversmonitorservice', signalreceiversmonitorservice);\r\n\r\n signalreceiversmonitorservice.$inject = ['$cookies', '$interval', '$window', 'accountservice', 'appsettingsservice', 'constants', 'enums', 'utilities'];\r\n\r\n /* @ngInject */\r\n function signalreceiversmonitorservice($cookies, $interval, $window, accountservice, appsettingsservice, constants, enums, utilities) {\r\n var intervals = {};\n var settingsPromise;\r\n var refreshBrowserOnSignalRDisconnectPromise;\r\n var minimumMsSinceLastDisconnectBrowserRefreshPromise;\r\n\r\n activate();\r\n\r\n return {\r\n track: track,\r\n unTrack: unTrack,\r\n logSignalRTimeout: logSignalRTimeout\r\n };\r\n\r\n function activate() {\n var currentRole = $cookies.get(constants.userRole);\r\n if (currentRole !== undefined) {\r\n settingsPromise = appsettingsservice.getAppSetting('Portal_SignalRCheckConnectionIntervalSeconds', 30);\r\n refreshBrowserOnSignalRDisconnectPromise = appsettingsservice.getAppSetting('Portal_RefreshBrowserOnSignalRDisconnect', true);\r\n minimumMsSinceLastDisconnectBrowserRefreshPromise = appsettingsservice.getAppSetting('Portal_MinimumSecondsSinceLastDisconnectBrowserRefresh', 30);\n }\r\n }\r\n\r\n function track(signalReceiver) {\n var currentRole = $cookies.get(constants.userRole);\r\n if (currentRole !== undefined) {\n if (settingsPromise === undefined) {\r\n activate();\r\n }\r\n settingsPromise.then(function (seconds) {\r\n refreshBrowserOnSignalRDisconnectPromise.then(function (refreshBrowserOnSignalRDisconnect) {\r\n minimumMsSinceLastDisconnectBrowserRefreshPromise.then(function (minimumMsSinceLastDisconnectBrowserRefresh) {\r\n minimumMsSinceLastDisconnectBrowserRefresh = minimumMsSinceLastDisconnectBrowserRefresh * 1000;\r\n\r\n var interval = $interval(function () {\r\n\r\n if (!signalReceiver.getIsConnected()) {\r\n return;\r\n }\r\n\r\n signalReceiver.checkConnection().done(function (response) {\r\n if (!response) {\r\n if (!refreshBrowserOnSignalRDisconnect) {\r\n signalReceiver.disconnect();\r\n signalReceiver.connect().done(function () {\r\n track(signalReceiver);\r\n });\r\n } else if (isBrowserRefreshAllowed(minimumMsSinceLastDisconnectBrowserRefresh)) {\r\n $window.location.reload();\r\n }\r\n }\r\n }).fail(function () {\r\n if (!refreshBrowserOnSignalRDisconnect) {\r\n signalReceiver.disconnect();\r\n signalReceiver.connect().done(function () {\r\n track(signalReceiver);\r\n });\r\n } else if (isBrowserRefreshAllowed(minimumMsSinceLastDisconnectBrowserRefresh)) {\r\n $window.location.reload();\r\n }\r\n });\r\n }, utilities.convertSecondsToMilliseconds(seconds));\r\n\r\n intervals[signalReceiver.key] = interval;\r\n\r\n return minimumMsSinceLastDisconnectBrowserRefresh;\r\n });\r\n\r\n return refreshBrowserOnSignalRDisconnect;\r\n });\r\n\r\n return seconds;\r\n });\n }\r\n }\r\n\r\n function unTrack(key) {\r\n if (!intervals[key]) {\r\n return;\r\n }\r\n\r\n $interval.cancel(intervals[key]);\r\n delete intervals[key];\r\n }\r\n\r\n function logSignalRTimeout(opeartionResult, hub, methodName) {\r\n if (!opeartionResult || !hub) {\r\n return;\r\n }\r\n var resolved = false;\r\n var timeout = 60000;\r\n var timer = setTimeout(function() {\r\n if (!resolved) {\r\n accountservice.logMessage(methodName + '|ConnectionId: ' + hub.proxy.connection.id + ', SignalR Timeout: ' + timeout +\r\n ', User Agent: ' + navigator.userAgent + ', Vendor: ' + navigator.vendor, enums.LogLevel.Info);\r\n }\r\n }, timeout);\r\n opeartionResult.promise().then(function() {\r\n resolved = true;\r\n clearTimeout(timer);\r\n });\r\n }\r\n\r\n function isBrowserRefreshAllowed(minimumMsSinceLastDisconnectBrowserRefresh) {\r\n var lastRefreshTime = $cookies.get(constants.lastRefreshTime);\r\n var currentTime = Date.now();\r\n\r\n return (currentTime - parseInt(lastRefreshTime)) >= minimumMsSinceLastDisconnectBrowserRefresh;\r\n }\r\n }\r\n})();\r\n\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('vox-leonis.core')\r\n .factory('reducecallfrequencyservice', reducecallfrequencyservice);\r\n\r\n reducecallfrequencyservice.$inject = ['$timeout'];\r\n /* @ngInject */\r\n function reducecallfrequencyservice($timeout) {\r\n var callsDictionary = [];\r\n var service = {\r\n call: callFunction\r\n };\r\n\r\n return service;\r\n\r\n function callFunction(key, method, delay) {\r\n if (callsDictionary[key] === undefined) {\r\n callsDictionary[key] = { delay: delay, method: method, needToCall: true, timer: false };\r\n }\r\n var instance = callsDictionary[key];\r\n instance.method = method;\r\n instance.delay = delay;\r\n\r\n if (instance.timer === true) {\r\n instance.needToCall = true;\r\n } else {\r\n instance.method();\r\n instance.needToCall = false;\r\n runTimer(instance);\r\n }\r\n }\r\n\r\n function runTimer(instance) {\r\n instance.timer = true;\r\n $timeout(function (instance) {\r\n if (instance.needToCall === true) {\r\n instance.method();\r\n instance.needToCall = false;\r\n runTimer(instance);\r\n } else {\r\n instance.timer = false;\r\n }\r\n }, instance.delay, true, instance);\r\n }\r\n }\r\n})();\r\n\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('vox-leonis.core')\r\n .factory('phonenumberservice', phonenumberservice);\r\n\r\n phonenumberservice.$inject = ['$http', 'exception','$cookies', 'constants'];\r\n /* @ngInject */\r\n function phonenumberservice($http, exception, $cookies, constants) {\r\n var baseUrl = '/api/Twilio';\r\n var service = {\r\n validatePhoneNumber: validatePhoneNumber,\r\n callablePhoneNumber: callablePhoneNumber,\r\n phoneNumberInfo: phoneNumberInfo\r\n };\r\n\r\n return service;\r\n\r\n /* Determines if a phone number if valid */\r\n function validatePhoneNumber(phoneNumber) {\r\n return $http.put(baseUrl + '/ValidatePhoneNumber', '\"' + phoneNumber + '\"')\r\n .then(success)\r\n .catch(fail);\r\n\r\n function success(response) {\r\n return response.data;\r\n }\r\n\r\n function fail(e) {\r\n return exception.catcher('XHR Failed for validate Phone Number')(e);\r\n }\r\n }\r\n\r\n // Determines if a phone number is callable. A callable number must also be valid.\r\n function callablePhoneNumber(phoneNumber) {\r\n return $http.put(baseUrl + '/CallablePhoneNumber', '\"' + phoneNumber + '\"')\r\n .then(success)\r\n .catch(fail);\r\n\r\n function success(response) {\r\n return response.data;\r\n }\r\n\r\n function fail(e) {\r\n return exception.catcher('XHR Failed for callable Phone Number')(e);\r\n }\r\n }\r\n\r\n // Gets the extended information about a phone number.\r\n function phoneNumberInfo(phoneNumber) {\r\n return $http.put(baseUrl + '/PhoneNumberInfo', '\"' + phoneNumber + '\"')\r\n .then(success)\r\n .catch(fail);\r\n\r\n function success(response) {\r\n $cookies.put(constants.phoneNumberInfo, JSON.stringify(response.data));\r\n return response.data;\r\n }\r\n\r\n function fail(e) {\r\n return exception.catcher('XHR Failed for phone Number Info')(e);\r\n }\r\n }\r\n }\r\n})();\r\n\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('vox-leonis.core')\r\n .factory('operatorservice', operatorservice);\r\n\r\n operatorservice.$inject = ['$http', '$q', 'exception', 'logger', 'accountservice', 'enums'];\r\n /* @ngInject */\r\n function operatorservice($http, $q, exception, logger, accountservice, enums) {\r\n var baseUrl = '/api/Operator';\r\n var service = {\r\n acceptCall: acceptCall,\r\n rejectCall: rejectCall,\r\n get: get,\r\n addParticipant: addParticipant,\r\n deleteParticipant: deleteParticipant,\r\n getAll: getAll,\r\n getInterpreters: getInterpreters,\r\n setPhoneNumber: setPhoneNumber,\r\n setStatus: setStatus,\r\n setKeepAlive: setKeepAlive,\r\n getInCallInterpreters: getInCallInterpreters,\r\n getLoggedInInterpreters: getLoggedInInterpreters,\r\n findInterpreter: findInterpreter,\n findInterpreterwithGender: findInterpreterwithGender,\r\n callInterpreter: callInterpreter,\r\n connectInterpreter: connectInterpreter,\r\n getCurrentCall: getCurrentCall,\r\n callLanguageService: callLanguageService,\r\n conferenceJoin: conferenceJoin,\r\n setLoginStatus: setLoginStatus,\r\n getLanguageServiceUsers: getLanguageServiceUsers,\r\n getLanguageServiceUsersByGroup: getLanguageServiceUsersByGroup,\r\n checkLanguageServiceTimeout: checkLanguageServiceTimeout,\r\n updateInterpreterHoldStatus: updateInterpreterHoldStatus,\r\n updateCustomerHoldStatus: updateCustomerHoldStatus,\r\n hangupCall: hangupCall,\r\n disconnectCall: disconnectCall,\r\n addCallEvent: addCallEvent,\r\n findLanguageServiceInterpreter: findLanguageServiceInterpreter,\r\n findLanguageServiceInterpreterByGroup: findLanguageServiceInterpreterByGroup,\r\n joinInterpretersWithCustomer: joinInterpretersWithCustomer,\r\n workingResourceRequestExists: workingResourceRequestExists,\r\n getInterpreterStatistics: getInterpreterStatistics\r\n };\r\n\r\n return service;\r\n\r\n /* */\r\n function findInterpreter(languageId, callId) {\r\n return $http.put(baseUrl + '/Interpreter/' + languageId, { 'callId': callId })\r\n .then(success)\r\n .catch(fail);\r\n\r\n function success(response) {\r\n return response.data;\r\n }\r\n\r\n function fail(e) {\r\n return exception.catcher('XHR failed for operatorservice.findInterpreter')(e);\r\n }\r\n }\n\n function findInterpreterwithGender(languageId, callId, genderId) {\n return $http.put(baseUrl + '/Interpreter/' + languageId, { 'callId': callId, 'genderId': genderId })\r\n .then(success)\r\n .catch(fail);\r\n\r\n function success(response) {\r\n return response.data;\r\n }\r\n\r\n function fail(e) {\r\n return exception.catcher('XHR failed for operatorservice.findInterpreter')(e);\r\n }\r\n }\r\n\r\n function updateInterpreterHoldStatus(interpreterId, onHold, callId) {\r\n return $http.put(baseUrl + '/Interpreter/' + interpreterId + '/Hold/' + onHold, {},\r\n { params: { callId: callId } })\r\n .then(success)\r\n .catch(fail);\r\n\r\n function success(response) {\r\n return response.data;\r\n }\r\n\r\n function fail(e) {\r\n return exception.catcher('XHR failed for operatorservice.updateInterpreterHoldStatus')(e);\r\n }\r\n }\r\n\r\n function updateCustomerHoldStatus(callId, onHold) {\r\n return $http.put(baseUrl + '/Customer/' + callId + '/Hold/' + onHold, {}, {})\r\n .then(success)\r\n .catch(fail);\r\n\r\n function success(response) {\r\n return response.data;\r\n }\r\n\r\n function fail(e) {\r\n return exception.catcher('XHR failed for operatorservice.updateCustomerHoldStatus')(e);\r\n }\r\n }\r\n\r\n function getLanguageServiceUsers(languageId, customerId) {\r\n return $http.get(baseUrl + '/LanguageService/' + languageId + '/Users/' + customerId)\r\n .then(success)\r\n .catch(fail);\r\n\r\n function success(response) {\r\n return response.data;\r\n }\r\n\r\n function fail(e) {\r\n return exception.catcher('XHR failed for operatorservice.getLanguageServiceUsers')(e);\r\n }\r\n }\r\n\r\n function getLanguageServiceUsersByGroup(languageId, customerId, groupId) {\r\n return $http.get(baseUrl + '/LanguageService/' + languageId + '/Users/' + customerId + '/' + groupId)\r\n .then(success)\r\n .catch(fail);\r\n\r\n function success(response) {\r\n return response.data;\r\n }\r\n\r\n function fail(e) {\r\n return exception.catcher('XHR failed for operatorservice.getLanguageServiceUsersByGroup')(e);\r\n }\r\n }\r\n\r\n function checkLanguageServiceTimeout(callId) {\r\n return $http.get(baseUrl + '/LanguageService/Timeout/' + callId)\r\n .then(success)\r\n .catch(fail);\r\n\r\n function success(response) {\r\n return response.data;\r\n }\r\n\r\n function fail(e) {\r\n return exception.catcher('XHR failed for operatorservice.checkLanguageServiceTimeout')(e);\r\n }\r\n }\r\n\r\n function callInterpreter(callId, interpreterId, holdCustomer) {\r\n return $http.put(baseUrl + '/Interpreter/' + interpreterId + '/Call/' + callId, {},\r\n { params: { holdCustomer: holdCustomer } })\r\n .then(success)\r\n .catch(fail);\r\n\r\n function success(response) {\r\n return response.data;\r\n }\r\n\r\n function fail(e) {\r\n return exception.catcher('XHR failed for operatorservice.callInterpreter')(e);\r\n }\r\n }\r\n\r\n function connectInterpreter(callId, interpreterId) {\r\n return $http.put(baseUrl + '/Interpreter/' + interpreterId + '/Connect/' + callId, {})\r\n .then(success)\r\n .catch(fail);\r\n\r\n function success(response) {\r\n return response.data;\r\n }\r\n\r\n function fail(e) {\r\n return exception.catcher('XHR failed for operatorservice.connectInterpreter')(e);\r\n }\r\n }\r\n\r\n function callLanguageService(callId, languageServiceId, languageId) {\r\n return $http.put(baseUrl + '/LanguageService/' + languageServiceId + '/Call/' + callId + '/LanguageId/' + languageId)\r\n .then(success)\r\n .catch(fail);\r\n\r\n function success(response) {\r\n return response.data;\r\n }\r\n\r\n function fail(e) {\r\n return exception.catcher('XHR failed for operatorservice.callLanguageService')(e);\r\n }\r\n }\r\n\r\n function conferenceJoin(callId) {\r\n return $http.put(baseUrl + '/Conference/Join/' + callId)\r\n .then(success)\r\n .catch(fail);\r\n\r\n function success(response) {\r\n return response.data;\r\n }\r\n\r\n function fail(e) {\r\n return exception.catcher('XHR failed for operatorservice.conferenceJoin')(e);\r\n }\r\n }\r\n\r\n function getCurrentCall() {\r\n return $http.get(baseUrl + '/CurrentCall/')\r\n .then(success)\r\n .catch(fail);\r\n\r\n function success(response) {\r\n return response.data;\r\n }\r\n\r\n function fail(e) {\r\n return exception.catcher('XHR failed for operatorservice.getCurrentCall')(e);\r\n }\r\n }\r\n\r\n function acceptCall(callId, phoneNumber) {\r\n return $http.put(baseUrl + '/Call/' + callId + '/Accept', { 'phoneNumber': phoneNumber })\r\n .then(success)\r\n .catch(fail);\r\n\r\n function success(response) {\r\n return response.data;\r\n }\r\n\r\n function fail(e) {\r\n return exception.catcher('XHR failed for operatorservice.acceptCall')(e);\r\n }\r\n }\r\n\r\n function rejectCall(callId, fromPhoneNumber, customerId) {\r\n return $http.put(baseUrl + '/Call/' + callId + '/Reject', { 'fromPhoneNumber': fromPhoneNumber, 'customerId': customerId })\r\n .then(success)\r\n .catch(fail);\r\n\r\n function success(response) {\r\n return response.data;\r\n }\r\n\r\n function fail(e) {\r\n return exception.catcher('XHR failed for operatorservice.rejectCall')(e);\r\n }\r\n }\r\n\r\n function hangupCall(callId, sayMessage) {\r\n return $http.put(baseUrl + '/Call/' + callId + '/Hangup', {}, { params: { 'sayMessage': sayMessage } })\r\n .then(success)\r\n .catch(fail);\r\n\r\n function success(response) {\r\n return response.data;\r\n }\r\n\r\n function fail(e) {\r\n return exception.catcher('XHR failed for operatorservice.hangupCall')(e);\r\n }\r\n }\r\n\r\n function disconnectCall(callId) {\r\n return $http.put(baseUrl + '/Call/' + callId + '/Disconnect')\r\n .then(success)\r\n .catch(fail);\r\n\r\n function success(response) {\r\n return response.data;\r\n }\r\n\r\n function fail(e) {\r\n return exception.catcher('XHR failed for operatorservice.disconnectCall')(e);\r\n }\r\n }\r\n\r\n function addCallEvent(eventName, callId) {\r\n return $http.put(baseUrl + '/Call/' + callId + '/CallEvent/' + eventName)\r\n .then(success)\r\n .catch(fail);\r\n\r\n function success(response) {\r\n return response.data;\r\n }\r\n\r\n function fail(e) {\r\n return exception.catcher('XHR failed for operatorservice.addCallEvent')(e);\r\n }\r\n }\r\n function addParticipant(callId, phoneNumber) {\r\n return $http.post(baseUrl + '/Call/' + callId + '/Participant', '\"' + phoneNumber + '\"')\r\n .then(success)\r\n .catch(fail);\r\n\r\n function success(response) {\r\n return response.data;\r\n }\r\n\r\n function fail(e) {\r\n return exception.catcher('XHR failed for operatorservice.addParticipant')(e);\r\n }\r\n }\r\n\r\n function deleteParticipant(participantCallSid, callId) {\r\n return $http.delete(baseUrl + '/Call/' + callId + '/Participant/' + participantCallSid)\r\n .then(success)\r\n .catch(fail);\r\n\r\n function success(response) {\r\n return response.data;\r\n }\r\n\r\n function fail(e) {\r\n return exception.catcher('XHR failed for operatorservice.deleteParticipant')(e);\r\n }\r\n }\r\n\r\n /* */\r\n function get() {\r\n return $http.get(baseUrl)\r\n .then(success)\r\n .catch(fail);\r\n\r\n function success(response) {\r\n var user = {\r\n userId: response.data.Id,\r\n username: response.data.Username,\r\n role: 'Operator'\r\n };\r\n accountservice.setUser(user);\r\n return response.data;\r\n }\r\n\r\n function fail(e) {\r\n return exception.catcher('XHR failed for operatorservice.get')(e);\r\n }\r\n }\r\n\r\n /* */\r\n function getAll() {\r\n return $http.get(baseUrl + '/Operators')\r\n .then(success)\r\n .catch(fail);\r\n\r\n function success(response) {\r\n return response.data;\r\n }\r\n\r\n function fail(e) {\r\n return exception.catcher('XHR failed for operatorservice.getAll')(e);\r\n }\r\n }\r\n\r\n /* */\r\n function getInterpreters() {\r\n return $http.get(baseUrl + '/Interpreters')\r\n .then(success)\r\n .catch(fail);\r\n\r\n function success(response) {\r\n return response.data;\r\n }\r\n\r\n function fail(e) {\r\n return exception.catcher('XHR failed for operatorservice.getInterpreters')(e);\r\n }\r\n }\r\n\r\n /* */\r\n function setStatus(status, reason) {\r\n return $http.post(baseUrl + '/Status', '\"' + status + '\"', { params: { reason: reason } })\r\n .then(success)\r\n .catch(fail);\r\n\r\n function success(response) {\r\n return response.data;\r\n }\r\n\r\n function fail(e) {\r\n return exception.catcher('XHR failed for operatorservice.setStatus')(e);\r\n }\r\n }\r\n\r\n /* */\r\n function setKeepAlive() {\r\n return $http.put(baseUrl + '/KeepAlive')\r\n .then(success)\r\n .catch(fail);\r\n\r\n function success(response) {\r\n return response.data;\r\n }\r\n\r\n function fail(e) {\r\n return exception.catcher('XHR failed for operatorservice.setKeepAlive')(e);\r\n }\r\n }\r\n\r\n /* */\r\n function setLoginStatus(interpreterId, status, reason) {\r\n return $http.post(baseUrl + '/Status/Interpreter/' + interpreterId, '\"' + status + '\"', { params: { reason: reason } })\r\n .then(success)\r\n .catch(fail);\r\n\r\n function success(response) {\r\n return response.data;\r\n }\r\n\r\n function fail(e) {\r\n return exception.catcher('XHR failed for operatorservice.setLoginStatus')(e);\r\n }\r\n }\r\n\r\n /* */\r\n function setPhoneNumber(phoneNumber) {\r\n return $http.put(baseUrl + '/TempPhoneNumber', '\"' + phoneNumber + '\"')\r\n .then(success)\r\n .catch(fail);\r\n\r\n function success(response) {\r\n return response.data;\r\n }\r\n\r\n function fail(e) {\r\n return exception.catcher('XHR failed for operatorservice.setPhoneNumber')(e);\r\n }\r\n }\r\n\r\n /* */\r\n function getInCallInterpreters() {\r\n return $http.get(baseUrl + '/InCallInterpreters')\r\n .then(success)\r\n .catch(fail);\r\n\r\n function success(response) {\r\n return response.data;\r\n }\r\n\r\n function fail(e) {\r\n return exception.catcher('XHR failed for operatorservice.getInCallInterpreters')(e);\r\n }\r\n }\r\n\r\n /* */\r\n function getLoggedInInterpreters() {\r\n return $http.get(baseUrl + '/Interpreters/LoggedIn')\r\n .then(success)\r\n .catch(fail);\r\n\r\n function success(response) {\r\n return response.data;\r\n }\r\n\r\n function fail(e) {\r\n return exception.catcher('XHR failed for operatorservice.getLoggedInInterpreters')(e);\r\n }\r\n }\r\n\r\n /* backward compatibility this function need to remove next release */\r\n function findLanguageServiceInterpreter(languageId, customerId, callId) {\r\n return getLanguageServiceUsers(languageId, customerId)\r\n .then(onGetLanguageServiceUsers)\r\n .then(function (languageServiceId) { return callLanguageService(callId, languageServiceId, languageId); })\r\n .then(function (data) { return data === false ? $q.reject() : $q.resolve(); })\r\n .catch(onError);\r\n\r\n function onGetLanguageServiceUsers(data) {\r\n if (data !== '' && data.length > 0 && data[0]) {\r\n return data[0];\r\n } else {\r\n return $q.reject();\r\n }\r\n }\r\n\r\n function onError() {\r\n accountservice.logMessage('operatorservice.findLanguageServiceInterpreter Action Failed|LanguageId:' +\r\n languageId + ', CallId:' + callId + ', CustomerId:' + customerId, enums.LogLevel.Warn);\r\n }\r\n }\r\n\r\n /**/\r\n function findLanguageServiceInterpreterByGroup(languageId, customerId, callId, lsGroupId) {\r\n return getLanguageServiceUsersByGroup(languageId, customerId, lsGroupId)\r\n .then(onGetLanguageServiceUsers)\r\n .then(function (languageServiceId) { return callLanguageService(callId, languageServiceId, languageId); })\r\n .then(function (data) { return data === false ? $q.reject() : $q.resolve(); })\r\n .catch(onError);\r\n\r\n function onGetLanguageServiceUsers(data) {\r\n if (data !== '' && data.length > 0 && data[0]) {\r\n return data[0];\r\n } else {\r\n return $q.reject();\r\n }\r\n }\r\n\r\n function onError() {\r\n accountservice.logMessage('operatorservice.findLanguageServiceInterpreterByGroup Action Failed|LanguageId:' +\r\n languageId + ', CallId:' + callId + ', CustomerId:' + customerId, enums.LogLevel.Warn);\r\n }\r\n }\r\n\r\n function workingResourceRequestExists(callId) {\r\n return $http.get(baseUrl + '/Call/' + callId + '/WorkingResourceRequestExists')\r\n .then(success)\r\n .catch(fail);\r\n\r\n function success(response) {\r\n return response.data;\r\n }\r\n\r\n function fail(e) {\r\n return exception.catcher('XHR failed for operatorservice.workingResourceRequestExists')(e);\r\n }\r\n }\r\n\r\n function joinInterpretersWithCustomer(callId, interpreterId, relayInterpreterId) {\r\n if (!relayInterpreterId || !interpreterId) {\r\n return $q.reject();\r\n }\r\n\r\n return connectInterpreter(callId, interpreterId)\r\n .then(onConnectInterpreter)\r\n .then(function () { return connectInterpreter(callId, relayInterpreterId); })\r\n .then(onConnectInterpreter)\r\n .then(onSuccess)\r\n .catch(onError);\r\n\r\n function onConnectInterpreter(data) {\r\n return data === false ? $q.reject() : data;\r\n }\r\n\r\n function onSuccess(data) {\r\n hangupCall(callId, 'Thank you for connecting the interpreters.');\r\n }\r\n\r\n function onError() {\r\n accountservice.logMessage('operatorservice.joinInterpretersWithCustomer Action Failed|CallId:' +\r\n callId, enums.LogLevel.Warn);\r\n return $q.reject();\r\n }\r\n }\r\n\r\n function getInterpreterStatistics(languageId, interpreterPoolId, secondaryInterpreterPoolId, thirdInterpreterPoolId, fourthInterpreterPoolId) {\r\n var url = baseUrl + '/Interpreters/Statistic' + '/Language/' + languageId + '/Pool/' + interpreterPoolId;\n\n if (secondaryInterpreterPoolId) {\r\n url += '?secondaryPoolId=' + secondaryInterpreterPoolId;\n if (thirdInterpreterPoolId) {\r\n url += '&thirdPoolId=' + thirdInterpreterPoolId;\n if (fourthInterpreterPoolId) {\r\n url += '&fourthPoolId=' + fourthInterpreterPoolId;\r\n }\r\n }\r\n }\n\n return $http.get(url)\n .then(success)\r\n .catch(fail);\r\n\r\n function success(response) {\r\n return response.data;\r\n }\r\n\r\n function fail(e) {\r\n return exception.catcher('XHR failed for operatorservice.getInterpreterStatistics')(e);\r\n }\r\n }\r\n }\r\n})();\r\n\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('vox-leonis.core')\r\n .factory('monitorservice', monitorservice);\r\n\r\n monitorservice.$inject = ['$http', 'exception'];\r\n /* @ngInject */\r\n function monitorservice($http, exception) {\r\n var baseUrl = '/api/Monitor';\r\n var service = {\r\n get: get,\r\n setStatus: setStatus,\r\n setPhoneNumber: setPhoneNumber,\r\n listen: listen\r\n };\r\n\r\n return service;\r\n\r\n /* */\r\n function get() {\r\n return $http.get(baseUrl)\r\n .then(success)\r\n .catch(fail);\r\n\r\n function success(response) {\r\n return response.data;\r\n }\r\n\r\n function fail(e) {\r\n return exception.catcher('XHR Failed for get monitor')(e);\r\n }\r\n }\r\n\r\n /* */\r\n function setStatus(status, reason) {\r\n return $http.post(baseUrl + '/Status', '\"' + status + '\"', { params: { reason: reason } })\r\n .then(success)\r\n .catch(fail);\r\n\r\n function success(response) {\r\n return response.data;\r\n }\r\n\r\n function fail(e) {\r\n return exception.catcher('XHR Failed for set status')(e);\r\n }\r\n }\r\n\r\n /* */\r\n function setPhoneNumber(phoneNumber) {\r\n return $http.put(baseUrl + '/TempPhoneNumber', '\"' + phoneNumber + '\"')\r\n .then(success)\r\n .catch(fail);\r\n\r\n function success(response) {\r\n return response.data;\r\n }\r\n\r\n function fail(e) {\r\n return exception.catcher('XHR Failed for set phone number')(e);\r\n }\r\n }\r\n\r\n /* */\r\n function listen(callId) {\r\n return $http.put(baseUrl + '/Listen/' + callId)\r\n .then(success)\r\n .catch(fail);\r\n\r\n function success(response) {\r\n return response.data;\r\n }\r\n\r\n function fail(e) {\r\n return exception.catcher('XHR Failed for listen')(e);\r\n }\r\n }\r\n }\r\n})();\r\n\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('vox-leonis.core')\r\n .factory('latencyservice', latencyservice)\r\n .run(['latencyservice', function (latencyservice) {\r\n latencyservice.init();\r\n }]);\r\n\r\n latencyservice.$inject = ['$q', '$injector', '$http', 'preferences', 'telemetryservice'];\r\n\r\n //Uses '/api/Diagnostics/Ping API to measure request latency It means time of sending request from client to server + time of sending response from server to client. Server processing time will not be included.\r\n //This API is very fast, server processing time is less that 1 ms, so we can ignore it (assume it is 0 ms.)\r\n function latencyservice($q, $injector, $http, preferences, telemetryService) {\r\n //disable latency calculation by default\r\n var defaultMeasuringInterval = 0;\r\n\r\n var settings;\r\n\r\n function init() {\r\n resetSettings();\r\n\r\n //User initializes later that this code, so we need wait some time till user loggs in, then we will have userId needed to retrieve settings\r\n setTimeout(measureLatency, 3000);\r\n }\r\n\r\n return {\r\n init: init\r\n };\r\n\r\n function measureLatency() {\r\n serviceEnabled().then(\r\n function (settings) {\r\n var sentTime = new Date();\r\n\r\n $http.get('/api/Diagnostics/Ping')\r\n .then(function (data) {\r\n var receivedTime = new Date();\r\n var latencyMs = receivedTime.getTime() - sentTime.getTime();\r\n var event =\r\n {\r\n userId: settings.userId,\r\n userName: settings.userName,\r\n userRole: settings.userRole\r\n };\r\n var eventMetrics =\r\n {\r\n latencyMs: latencyMs\r\n };\r\n\r\n telemetryService.logEvent('Requests Latency', event, eventMetrics);\r\n });\r\n\r\n setTimeout(measureLatency, settings.measuringInterval * 60000);\r\n })\r\n .catch(function (e) {\r\n //even if latency calculation is not enabled for current user it could be enabled for other user that will login, so we keep executing this function (idle) with default interval\r\n setTimeout(measureLatency, defaultMeasuringInterval * 60000);\r\n });\r\n }\r\n\r\n function resetSettings() {\r\n settings = {\r\n userId: null,\r\n userName: null,\r\n userRole: null,\r\n measuringInterval: defaultMeasuringInterval\r\n };\r\n }\r\n\r\n //requests latency settings from server (LatencyMeasuringInterval)\r\n function serviceEnabled() {\r\n var defer = $q.defer();\r\n\r\n var loggedUserInfo = $injector.get('accountservice').getCurrentUser();\r\n\r\n // just using default latency setting when user not logged\r\n if (!loggedUserInfo || !loggedUserInfo.id || !loggedUserInfo.name || !loggedUserInfo.role) {\r\n resetSettings();\r\n defer.reject();\r\n }\r\n else {\r\n //if the same logged user just use cached settings\r\n if (settings.userId === loggedUserInfo.id) {\r\n if (settings.measuringInterval === 0) {\r\n defer.reject();\r\n }\r\n else {\r\n defer.resolve(settings);\r\n }\r\n }\r\n //if logged user changed reload settings from server for new user.\r\n else {\r\n resetSettings();\r\n\r\n var appSettingsService = $injector.get('appsettingsservice');\r\n\r\n appSettingsService.getAppSetting(preferences.LatencyMeasuringInterval, defaultMeasuringInterval, loggedUserInfo.id)\r\n .then(function (data) {\r\n //update cached settings if received from server\r\n settings.measuringInterval = parseInt(data, 10);\r\n settings.userId = loggedUserInfo.id;\r\n settings.userName = loggedUserInfo.name;\r\n settings.userRole = loggedUserInfo.role;\r\n //0 - means that it will be disabled\r\n //TODO: check if measuringInterval from server could be '0' (string). JSHint requires ===\r\n if (settings.measuringInterval === 0) {\r\n defer.reject();\r\n }\r\n else {\r\n defer.resolve(settings);\r\n }\r\n })\r\n .catch(function (e) {\r\n //if can not receive from server than set setting to default\r\n resetSettings();\r\n defer.reject();\r\n });\r\n }\r\n }\r\n\r\n return defer.promise;\r\n }\r\n }\r\n})();\r\n\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('vox-leonis.core')\r\n .factory('interpreterservice', interpreterservice);\r\n\r\n interpreterservice.$inject = ['$http', '$q', 'exception', 'logger', 'accountservice'];\r\n /* @ngInject */\r\n function interpreterservice($http, $q, exception, logger, accountservice) {\r\n var baseUrl = '/api/Interpreter';\r\n var service = {\r\n acceptCall: acceptCall,\r\n rejectCall: rejectCall,\r\n get: get,\r\n addParticipant: addParticipant,\r\n deleteParticipant: deleteParticipant,\r\n setStatus: setStatus,\r\n setKeepAlive: setKeepAlive,\r\n setStatusAtomic: setStatusAtomic,\r\n setPhoneNumber: setPhoneNumber,\r\n getCurrentCall: getCurrentCall,\r\n reconnectCall: reconnectCall\r\n };\r\n\r\n return service;\r\n\r\n /* */\r\n\r\n function getCurrentCall() {\r\n return $http.get(baseUrl + '/CurrentCall/')\r\n .then(success)\r\n .catch(fail);\r\n\r\n function success(response) {\r\n return response.data;\r\n }\r\n\r\n function fail(e) {\r\n return exception.catcher('XHR Failed for get current call')(e);\r\n }\r\n }\r\n\r\n function acceptCall(callSid, phoneNumber, languageId, customerId, fromPhoneNumber) {\n console.log('callid from accept service' + callSid);\r\n return $http.put(baseUrl + '/Call/' + callSid + '/Accept',\r\n {\r\n 'phoneNumber': phoneNumber,\r\n 'languageId': languageId,\r\n 'customerId': customerId,\r\n 'fromPhoneNumber': fromPhoneNumber\r\n })\r\n .then(success)\r\n .catch(fail);\r\n\r\n function success(response) {\r\n return response.data;\r\n }\r\n\r\n function fail(e) {\r\n return exception.catcher('XHR Failed for accept call')(e);\r\n }\r\n }\r\n\r\n /* */\r\n function rejectCall(callSid, languageId, customerId, fromPhoneNumber) {\n console.log('callid from reject service' + callSid);\r\n return $http.put(baseUrl + '/Call/' + callSid + '/Reject', { 'languageId': languageId, 'customerId': customerId, 'fromPhoneNumber': fromPhoneNumber })\r\n .then(success)\r\n .catch(fail);\r\n\r\n function success(response) {\r\n return response.data;\r\n }\r\n\r\n function fail(e) {\r\n return exception.catcher('XHR Failed for reject call')(e);\r\n }\r\n }\r\n\r\n function addParticipant(callId, phoneNumber) {\r\n return $http.post(baseUrl + '/Call/' + callId + '/Participant', '\"' + phoneNumber + '\"')\r\n .then(success)\r\n .catch(fail);\r\n\r\n function success(response) {\r\n return response.data;\r\n }\r\n\r\n function fail(e) {\r\n return exception.catcher('XHR Failed for add participant')(e);\r\n }\r\n }\r\n\r\n function deleteParticipant(participantCallSid, callId) {\r\n return $http.delete(baseUrl + '/Call/' + callId + '/Participant/' + participantCallSid)\r\n .then(success)\r\n .catch(fail);\r\n\r\n function success(response) {\r\n return response.data;\r\n }\r\n\r\n function fail(e) {\r\n return exception.catcher('XHR Failed for delete participant')(e);\r\n }\r\n }\r\n\r\n function get() {\r\n return $http.get(baseUrl)\r\n .then(success)\r\n .catch(fail);\r\n\r\n function success(response) {\r\n var user = {\r\n userId: response.data.Id,\r\n username: response.data.Username,\r\n role: 'Interpreter'\r\n };\r\n accountservice.setUser(user);\r\n return response.data;\r\n }\r\n\r\n function fail(e) {\r\n return exception.catcher('XHR Failed for get interpreter')(e);\r\n }\r\n }\r\n\r\n /* */\r\n function setStatus(status, reason) {\r\n return $http.post(baseUrl + '/Status', '\"' + status + '\"', { params: { reason: reason } })\r\n .then(success)\r\n .catch(fail);\r\n\r\n function success(response) {\r\n return response.data;\r\n }\r\n\r\n function fail(e) {\r\n return exception.catcher('XHR Failed for set status')(e);\r\n }\r\n }\r\n\r\n /* */\r\n function setKeepAlive() {\r\n return $http.put(baseUrl + '/KeepAlive')\r\n .then(success)\r\n .catch(fail);\r\n\r\n function success(response) {\r\n return response.data;\r\n }\r\n\r\n function fail(e) {\r\n return exception.catcher('XHR Failed for set keep alive')(e);\r\n }\r\n }\r\n\r\n /* */\r\n function setStatusAtomic(originalStatus, expectedStatus, reason) {\r\n return $http.put('/api/Interpreter/Status',\r\n { 'status': expectedStatus, 'originalStatus': originalStatus }, {\r\n params: { reason: reason }\r\n })\r\n .then(success)\r\n .catch(fail);\r\n\r\n function success(response) {\r\n return response.data;\r\n }\r\n\r\n function fail(e) {\r\n return exception.catcher('XHR Failed for set status atomic')(e);\r\n }\r\n }\r\n\r\n /* */\r\n function setPhoneNumber(phoneNumber) {\r\n return $http.put(baseUrl + '/TempPhoneNumber', '\"' + phoneNumber + '\"')\r\n .then(success)\r\n .catch(fail);\r\n\r\n function success(response) {\r\n return response.data;\r\n }\r\n\r\n function fail(e) {\r\n return exception.catcher('XHR Failed for set phone number')(e);\r\n }\r\n }\r\n\r\n /* */\r\n function reconnectCall(callId) {\r\n return $http.put(baseUrl + '/Reconnect', '\"' + callId + '\"')\r\n .then(success)\r\n .catch(fail);\r\n\r\n function success(response) {\r\n return response.data;\r\n }\r\n\r\n function fail(e) {\r\n return exception.catcher('XHR Failed for reconnect call process')(e);\r\n }\r\n }\r\n }\r\n})();\r\n\n(function () {\r\n 'use strict';\r\n angular\r\n .module('vox-leonis.core')\r\n .factory('internetConnectionChecker', internetConnectionChecker);\r\n\r\n internetConnectionChecker.$inject = ['$injector', '$rootScope', 'enums', '$q'];\r\n\r\n function internetConnectionChecker($injector, $rootScope, enums, $q) {\r\n var checkConnectionDeferred;\r\n var connectionState = true;\r\n var checkConnectionUrl = '/favicon.ico';\r\n\r\n return {\r\n checkConnection: checkConnection,\r\n setInternetConnectionState: setInternetConnectionState,\r\n getInternetConnectionState: getInternetConnectionState,\r\n isInternetConnectionResponse: isInternetConnectionResponse\r\n };\r\n\r\n function setInternetConnectionState(state) {\r\n if (connectionState === state) {\r\n return;\r\n }\r\n \r\n connectionState = state;\r\n $rootScope.$broadcast(enums.Events.InternetConnectionStateChanged, state);\r\n }\r\n\r\n function getInternetConnectionState() {\r\n return connectionState;\r\n }\r\n\r\n function checkConnection() {\n //if we have active request for icon we're returning this requests promise\r\n if (checkConnectionDeferred && !checkConnectionDeferred.promise.$$state.status) {\r\n return checkConnectionDeferred.promise;\r\n }\r\n\r\n checkConnectionDeferred = $q.defer();\r\n\r\n var $http = $injector.get('$http');\r\n\n //we are checking if site icon is accesable if it's does - the request have failed because of another reason\n //but if icon is not accessable it's mean that internet connection is down (there is no trustworthy built-in ability to check internet connection without doing a request)\n //also to disable browser cache we are adding random number to questy string\n $http.head(checkConnectionUrl + '?v=' + Math.random())\r\n .then(function () {\r\n setInternetConnectionState(true);\r\n }, function () {\r\n setInternetConnectionState(false);\r\n }).finally(function () {\n checkConnectionDeferred.resolve();\r\n });\r\n\r\n return checkConnectionDeferred.promise;\r\n }\r\n\r\n function isInternetConnectionResponse(response) {\r\n return response.config.url.indexOf(checkConnectionUrl) >= 0;\r\n }\r\n }\r\n})();\r\n\n(function () {\n 'use strict';\n\n angular\n .module('vox-leonis.core')\n .factory('httpInterceptor', httpInterceptor);\n\n httpInterceptor.$inject = ['$injector', '$q', 'preferences', 'telemetryservice'];\n\n //Intercepts each http request made by Angular.\n //For more information please look https://docs.angularjs.org/api/ng/service/$http#interceptors\n function httpInterceptor($injector, $q, preferences, telemetryService) {\n\n var requests = {};\n\n //later it can be moved to preferences, milliseconds\n var requestTimeout = 10000;\n\n var settings;\n\n //we need that to do not cause generation of multiple requests to retrieve settings till we not received response\n var loadingSettings = false;\n\n var defaultEnabled = false;\n //if can not receive it from server\n var defaultRequestMinDuration = 1000;\n\n resetSettings();\n\n setInterval(cleanupRequests, 1000);\n\n function buildEvent(requestInfo) {\n var result = {\n url: requestInfo.url,\n sentTime: requestInfo.sentTime,\n method: requestInfo.method,\n userId: requestInfo.userId,\n userName: requestInfo.userName,\n userRole: requestInfo.userRole\n };\n if (requestInfo.headers) {\n result.headers = requestInfo.headers;\n }\n\n return result;\n }\n\n //removes from the dictionary requests for which timeout is passed.\n function cleanupRequests() {\n \n Object.keys(requests).forEach(function (key) {\n var requestInfo = requests[key];\n var utcNow = new Date();\n var requestDuration = utcNow.getTime() - requestInfo.sentTime.getTime();\n\n if (requestDuration > requestTimeout) {\n requestInfo.userId = settings.userId;\n requestInfo.userName = settings.userName;\n requestInfo.userRole = settings.userRole;\n\n var event = buildEvent(requestInfo);\n\n event.waitingTimeMs = requestDuration;\n\n // Add custom event for ui requests that did not received answers from server during 'requestTimeout'\n telemetryService.logEvent('Timeout request', event);\n\n //will anyway need to delete outdated item regarding of interceptor ON or OFF, because request can be from previously logged user, for which interceptor was ON, even if for current user interceptor OFF\n delete requests[key];\n }\n });\n }\n\n function resetSettings() {\n settings = {\n userId: null,\n userName: null,\n userRole: null,\n enabled: defaultEnabled,\n minRequestDuration: defaultRequestMinDuration\n };\n }\n\n //request interceptor settings from server\n function serviceEnabled() {\n var defer = $q.defer();\n\n var loggedUserInfo = $injector.get('accountservice').getCurrentUser();\n\n // use default setting when user not logged\n if (!loggedUserInfo || !loggedUserInfo.id || !loggedUserInfo.name || !loggedUserInfo.role) {\n resetSettings();\n defer.reject();\n }\n else {\n //if the same logged user just use cached settings\n if (settings.userId === loggedUserInfo.id) {\n if (settings.enabled) {\n defer.resolve(settings);\n }\n else {\n defer.reject();\n }\n }\n //if logged user changed reload settings from server for new user.\n else {\n var appSettingsService = $injector.get('appsettingsservice');\n\n if (!loadingSettings) {\n loadingSettings = true;\n\n appSettingsService.getAppSetting(preferences.UIRequestMinDuration, defaultRequestMinDuration, loggedUserInfo.id)\n .then(function (data) {\n //update cached value if received from server\n settings.minRequestDuration = parseInt(data, 10);\n //if 0 - turn off interceptor\n settings.enabled = settings.minRequestDuration > 0;\n settings.userId = loggedUserInfo.id;\n settings.userName = loggedUserInfo.name;\n settings.userRole = loggedUserInfo.role;\n loadingSettings = false;\n if (settings.enabled) {\n defer.resolve(settings);\n }\n else {\n defer.reject();\n }\n })\n .catch(function (e) {\n //if can not receive from server than set to default\n resetSettings();\n loadingSettings = false;\n defer.reject();\n });\n }\n else {\n //disable interceptor while waiting for settings from server\n defer.reject();\n }\n }\n }\n\n return defer.promise;\n }\n\n return {\n\n request: function (rawRequest) {\n\n serviceEnabled().then(\n function (settings) {\n rawRequest.guid = $injector.get('utilities').createGuid();\n\n //builds request object for storing in dictionary till receiving response.\n var requestInfo = {\n url: rawRequest.url,\n method: rawRequest.method,\n headers: rawRequest.headers ? rawRequest.headers : '',\n sentTime: new Date()\n };\n\n if (rawRequest.headers) {\n requestInfo.headers = rawRequest.headers;\n }\n\n //store requestInfo in dictionary\n requests[rawRequest.guid] = requestInfo;\n });\n\n return rawRequest;\n },\n\n response: function (rawResponse) {\n\n serviceEnabled().then(\n function (settings) {\n var requestInfo = requests[rawResponse.config.guid];\n //Request can be already removed by cleanupRequests() if the response came too late (after waiting timeout)\n if (requestInfo) {\n var utcNow = new Date();\n requestInfo.requestDuration = utcNow.getTime() - requestInfo.sentTime.getTime();\n\n //Ignore the request if it's duration less than specified. Only long requests are interesting.\n if (requestInfo.requestDuration >= settings.minRequestDuration) {\n\n requestInfo.userId = settings.userId;\n requestInfo.userName = settings.userName;\n requestInfo.userRole = settings.userRole;\n\n var event = buildEvent(requestInfo);\n\n if (rawResponse.status) {\n event.status = rawResponse.status.toString();\n }\n if (rawResponse.statusText) {\n event.statusCode = rawResponse.statusText.toString();\n }\n\n var eventMetrics = { 'durationMs': requestInfo.requestDuration };\n\n // Primary custom event. Writes duration of each request to each url (url, user, request params, response status code and additional params will be logged).\n telemetryService.logEvent('Request duration', event, eventMetrics);\n }\n }\n });\n\n return rawResponse;\n }\n };\n }\n})();\n\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('vox-leonis.core')\r\n .factory('dataservice', dataservice);\r\n\r\n dataservice.$inject = ['$http', '$q', 'exception', 'logger'];\r\n /* @ngInject */\r\n function dataservice($http, $q, exception, logger) {\r\n var service = {\r\n getLanguages: getLanguages,\r\n getPools: getPools,\r\n getCaseDisplay: getCaseDisplay\r\n };\r\n\r\n return service;\r\n\r\n /* */\r\n function getLanguages() {\r\n return $http.get('/api/Languages', {cache: true}) // cached because we don't expect this to change during a session\r\n .then(success)\r\n .catch(fail);\r\n\r\n function success(response) {\r\n // Convert from array to dictionary\r\n return response.data.reduce(function(map, language) {\r\n map[language.Id] = language.Name;\r\n return map;\r\n }, {});\r\n }\r\n\r\n function fail(e)\r\n {\r\n return exception.catcher('XHR Failed for get languages')(e);\r\n }\r\n }\r\n\r\n /* */\r\n function getPools() {\r\n return $q.when([{ Id: 0, Name: 'Default' }, { Id: 1, Name: 'Another Pool' }, { Id: 5, Name: 'Luke\\'s Pool' }]\r\n .reduce(function (map, pool) {\r\n map[pool.Id] = pool.Name;\r\n return map;\r\n }, {}));\r\n }\r\n\r\n // Return Case display data for a call\r\n function getCaseDisplay(callId) {\r\n return $http.get('/api/Case/Call/' + callId + '/Display')\r\n .then(success)\r\n .catch(fail);\r\n\r\n function success(response) {\r\n return response.data;\r\n }\r\n\r\n function fail(e) {\r\n return exception.catcher('XHR Failed for get case display')(e);\r\n }\r\n }\r\n }\r\n})();\r\n\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('vox-leonis.core')\r\n .factory('callservice', callservice);\r\n\r\n callservice.$inject = [];\r\n \r\n /* @ngInject */\r\n function callservice() {\r\n var service = {\r\n interpreterDropped: interpreterDropped,\r\n getInterpreterDroppedInfo: getInterpreterDroppedInfo,\r\n findLastEventIndex: findLastEventIndex\r\n };\r\n\r\n return service;\r\n\r\n function interpreterDropped(callEvents) {\r\n return findLastEventIndex(callEvents, 'InterpreterDisconnected') >= 0;\r\n }\r\n\r\n function getInterpreterDroppedInfo(callEvents, languageId, interpreters) {\r\n\r\n if (interpreters === undefined) {\r\n return null;\r\n }\r\n\r\n var eventIndex = findLastEventIndex(callEvents, 'InterpreterDisconnected', languageId);\r\n\r\n if (eventIndex < 0) {\r\n return null;\r\n }\r\n\r\n var event = callEvents[eventIndex];\r\n\r\n var reason = null;\r\n var userId = null;\r\n\r\n if (callEvents[eventIndex - 1] !== undefined && callEvents[eventIndex - 1].StatusEvent === 'RouteToOperator') {\r\n reason = 'Customer Pressed * to Operator.';\r\n }\r\n\r\n for (var j = 0; j < interpreters.length; j++) {\r\n if (interpreters[j].Id === event.UserId) {\r\n for (var k = 0; k < interpreters[j].LanguagePayrates.length; k++) {\r\n if (interpreters[j].LanguagePayrates[k].LanguageID === languageId) {\r\n reason = 'Interpreter ' + event.UserFirstName + ' ' + event.UserLastName + ' disconnected from the call.';\r\n userId = event.UserId;\r\n }\r\n }\r\n }\r\n }\r\n\r\n return {\r\n interpreterId: userId,\r\n reason: reason\r\n };\r\n }\r\n\r\n function findLastEventIndex(callEvents, eventName) {\r\n if (!callEvents) {\r\n return -1;\r\n }\r\n\r\n for (var i = callEvents.length - 1; i >= 0; i--) {\r\n var event = callEvents[i];\r\n\r\n if (event.StatusEvent === eventName) {\r\n return i;\r\n }\r\n }\r\n\r\n return -1;\r\n }\r\n }\r\n})();\r\n\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('vox-leonis.core')\r\n .factory('cacheservice', cacheservice);\r\n\r\n cacheservice.$inject = ['CacheFactory', 'constants', 'preferences', 'appsettingsservice'];\r\n /* @ngInject */\r\n function cacheservice(CacheFactory, constants, preferences, appsettingsservice) {\r\n var expirationTime = 1000;\r\n if (!CacheFactory.get(constants.dataCache)) {\r\n var dataCache = new CacheFactory(constants.dataCache, {\r\n maxAge: expirationTime, // Items added to this cache expire after 1 second\r\n cacheFlushInterval: 60 * 60 * 1000, // This cache will clear itself every hour\r\n deleteOnExpire: 'aggressive' // Items will be deleted from this cache when they expire\r\n });\r\n }\r\n appsettingsservice.getAppSetting(preferences.DataCacheExpirationTimeMilliseconds, expirationTime).then(function (data) {\r\n var dataCache = CacheFactory.get(constants.dataCache);\r\n dataCache.$$maxAge = data;\r\n });\r\n\r\n var service = {\r\n dataCache: CacheFactory.get(constants.dataCache)\r\n };\r\n\r\n return service;\r\n }\r\n})();\r\n\n(function () {\n 'use strict';\n\n angular\n .module('vox-leonis.core')\n .factory('appsettingsservice', appsettingsservice);\n\n appsettingsservice.$inject = ['$http', 'exception'];\n /* @ngInject */\n function appsettingsservice($http, exception) {\n var service = {\n getAppSetting: getAppSetting,\n getIVPFrontEndUrl: getIVPFrontEndUrl,\n getOVPFrontEndUrl: getOVPFrontEndUrl,\n getAppVersion: getAppVersion\n };\n\n return service;\n\n /* */\n function getAppSetting(appSetting, defaultValue, userId) {\n return $http.get('/api/AppSettings/' + appSetting + '?defaultValue=' + defaultValue + '&userId=' + userId)\n .then(success)\n .catch(fail);\n\n function success(response) {\n return response.data;\n }\n\n function fail(e) {\n return exception.catcher('XHR Failed for get app setting')(e);\n }\n }\n\n function getIVPFrontEndUrl() {\n return $http.get('/api/AppSettings/GetIVPFrontEndUrl')\n .then(success)\n .catch(fail);\n\n function success(response) {\n return response.data;\n }\n\n function fail(e) {\n return exception.catcher('XHR Failed for get iVP FrontEnd Url')(e);\n }\n }\n\n function getOVPFrontEndUrl() {\n return $http.get('/api/AppSettings/GetOVPFrontEndUrl')\n .then(success)\n .catch(fail);\n\n function success(response) {\n return response.data;\n }\n\n function fail(e) {\n return exception.catcher('XHR Failed for get oVP FrontEnd Url')(e);\n }\n }\n\n function getAppVersion() {\n return $http.get('/api/AppVersion')\n .then(success)\n .catch(fail);\n\n function success(response) {\n return response.data;\n }\n\n function fail(e) {\n return 'unknown';\n }\n }\n }\n})();\n\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('vox-leonis.core')\r\n .factory('adminservice', adminservice);\r\n\r\n adminservice.$inject = ['$http', '$q', 'exception', 'logger'];\r\n /* @ngInject */\r\n function adminservice($http, $q, exception, logger) {\r\n var service = {\r\n getCalls: getCalls\r\n };\r\n\r\n return service;\r\n\r\n /* */\r\n function getCalls(recentCallHours, forceGet) {\r\n return $http.get('/api/Admin/Calls/' + recentCallHours + '/ForceGet/' + forceGet)\r\n .then(success)\r\n .catch(fail);\r\n\r\n function success(response) {\r\n return response.data;\r\n }\r\n\r\n function fail(e)\r\n {\r\n return exception.catcher('XHR failed for adminservice.getCalls')(e);\r\n }\r\n }\r\n }\r\n})();\r\n\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('vox-leonis.core')\r\n .factory('accountservice', accountservice);\r\n\r\n accountservice.$inject = ['$http', '$q', 'exception', 'logger'];\r\n /* @ngInject */\r\n function accountservice($http, $q, exception, logger)\n {\r\n var service = {\r\n login: login,\n loginADB2C: loginADB2C,\n loginADB2CAzureOnly: loginADB2CAzureOnly,\n voicePortalLoginMode: voicePortalLoginMode,\r\n logout: logout,\r\n getCurrentUser: getCurrentUser,\r\n getCurrentUserId: getCurrentUserId,\r\n setUser: setUser,\r\n getRoles: getRoles,\r\n logMessage: logMessage,\r\n\n getWebRTCAccessTokens: getWebRTCAccessTokens,\n getPreflightAccessToken: getPreflightAccessToken\r\n };\r\n\r\n var userInfo = null;\r\n\r\n return service;\r\n\r\n function login(username, password) {\r\n return $http.post('/api/Account/Login',\r\n {'Username': username, 'Password': password, 'RememberMe': false})\r\n .then(success)\r\n .catch(fail);\r\n\r\n function success(response) {\r\n return response.data;\r\n }\r\n\r\n function fail(e) {\r\n return exception.catcher('Login')(e);\r\n }\r\n }\r\n\n function loginADB2C() {\r\n return $http.get('/api/Account/ADB2CLogin')\r\n .then(success)\r\n .catch(fail);\r\n\r\n function success(response) {\r\n return response.data;\r\n }\r\n\r\n function fail(e) {\n if (e.status === 401) {\n return { Failure: null, Roles: null};\r\n }\r\n\r\n return exception.catcher('loginADB2C')(e);\r\n }\r\n }\n\n function loginADB2CAzureOnly() {\r\n return $http.get('/api/Account/ADB2CLogin')\r\n .then(success)\r\n .catch(fail);\r\n\r\n function success(response) {\r\n return response.data;\r\n }\r\n\r\n function fail(e) {\n if (e.status === 401) {\n location.replace('/ADB2C/Login');\n return { Failure: null, Roles: null };\r\n }\n return logout().finally(function () {\r\n location.replace('/ADB2C/Logout');\n return exception.catcher('loginADB2CAzureOnly')(e);\n });\r\n }\r\n }\r\n\r\n function logout() {\r\n return $http.post('/api/Account/Logoff')\r\n .then(success)\r\n .catch(fail);\r\n\r\n function success(response) {\r\n userInfo = null;\r\n return response.data;\r\n }\r\n\r\n function fail(e) {\r\n return exception.catcher('Logout')(e);\r\n }\r\n }\r\n\n function voicePortalLoginMode() {\r\n return $http.get('/api/Account/VoicePortalLoginMode')\r\n .then(success)\r\n .catch(fail);\r\n\r\n function success(response) {\r\n return response.data;\r\n }\r\n\r\n function fail(e) {\n\r\n return exception.catcher('voicePortalLoginMode')(e);\r\n }\r\n }\r\n\r\n function getCurrentUser() {\r\n return userInfo;\r\n }\r\n\r\n function getCurrentUserId() {\r\n return userInfo ? userInfo.id : '';\r\n }\r\n\r\n function setUser(user) {\r\n userInfo = {\r\n id: user.userId,\r\n name: user.username,\r\n role: user.role\r\n };\r\n }\r\n\r\n function getRoles(suppressError) {\r\n return $http.get('/api/Account/Roles')\r\n .then(success)\r\n .catch(fail);\r\n\r\n function success(response) {\r\n return response.data;\r\n }\r\n\r\n function fail(e) {\r\n return exception.catcher('Roles', suppressError)(e);\r\n }\r\n }\r\n\r\n function logMessage(message, logLevel) {\r\n return $http.post('/api/Account/LogMessage/' + logLevel, '\"' + message + '\"')\r\n .catch(fail);\r\n\r\n function fail(e) {\r\n return exception.catcher('Log Message failed')(e);\r\n }\r\n }\r\n\r\n function getWebRTCAccessTokens() {\r\n return $http.get('/api/Account/WebRtcAccessTokens')\r\n .then(success)\r\n .catch(fail);\r\n\r\n function success(response) {\r\n return response.data;\r\n }\r\n\r\n function fail(e) {\r\n return exception.catcher('AccessTokens')(e);\r\n }\r\n }\n\n function getPreflightAccessToken() {\r\n return $http.get('/api/Account/PreflightWebRtcAccessToken')\r\n .then(success)\r\n .catch(fail);\r\n\r\n function success(response) {\r\n return response.data;\r\n }\r\n\r\n function fail(e) {\r\n return exception.catcher('PreflightWebRtcAccessToken')(e);\r\n }\r\n }\r\n }\r\n})();\r\n\n(function() {\r\n 'use strict';\r\n\r\n angular.module('blocks.router', [\r\n 'ui.router',\r\n 'blocks.logger'\r\n ]);\r\n})();\r\n\n/* Help configure the state-base ui.router */\r\n(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('blocks.router')\r\n .provider('routerHelper', routerHelperProvider);\r\n\r\n routerHelperProvider.$inject = ['$locationProvider', '$stateProvider', '$urlRouterProvider'];\r\n /* @ngInject */\r\n function routerHelperProvider($locationProvider, $stateProvider, $urlRouterProvider) {\r\n /* jshint validthis:true */\r\n var config = {\r\n docTitle: undefined,\r\n resolveAlways: {}\r\n };\r\n\r\n $locationProvider.html5Mode(true);\r\n\r\n this.configure = function(cfg) {\r\n angular.extend(config, cfg);\r\n };\r\n\r\n this.$get = RouterHelper;\r\n RouterHelper.$inject = ['$location', '$rootScope', '$state', 'logger', '$uibModalStack'];\r\n /* @ngInject */\r\n function RouterHelper($location, $rootScope, $state, logger, $uibModalStack) {\r\n var handlingStateChangeError = false;\r\n var hasOtherwise = false;\r\n var stateCounts = {\r\n errors: 0,\r\n changes: 0\r\n };\r\n\r\n var service = {\r\n configureStates: configureStates,\r\n getStates: getStates,\r\n stateCounts: stateCounts\r\n };\r\n\r\n init();\r\n\r\n return service;\r\n\r\n ///////////////\r\n\r\n function configureStates(states, otherwisePath) {\r\n states.forEach(function(state) {\r\n state.config.resolve =\r\n angular.extend(state.config.resolve || {}, config.resolveAlways);\r\n $stateProvider.state(state.state, state.config);\r\n });\r\n if (otherwisePath && !hasOtherwise) {\r\n hasOtherwise = true;\r\n $urlRouterProvider.otherwise(otherwisePath);\r\n }\r\n }\r\n\r\n function handleRoutingErrors() {\r\n // Route cancellation:\r\n // On routing error, go to the dashboard.\r\n // Provide an exit clause if it tries to do it twice.\r\n $rootScope.$on('$stateChangeError',\r\n function(event, toState, toParams, fromState, fromParams, error) {\r\n if (handlingStateChangeError) {\r\n return;\r\n }\r\n stateCounts.errors++;\r\n handlingStateChangeError = true;\r\n var destination = (toState &&\r\n (toState.title || toState.name || toState.loadedTemplateUrl)) ||\r\n 'unknown target';\r\n var msg = 'Error routing to ' + destination + '. ' +\r\n (error.data || '') + '.
' + (error.statusText || '') +\r\n ': ' + (error.status || '');\r\n logger.warning(msg, [toState]);\r\n $location.path('/');\r\n }\r\n );\r\n }\r\n\r\n function init() {\r\n handleRoutingErrors();\r\n stateChangeStart();\r\n updateDocTitle();\r\n }\r\n\r\n function getStates() { return $state.get(); }\r\n\r\n function stateChangeStart() {\r\n $rootScope.$on('$stateChangeStart',\r\n function (event, toState, toParams, fromState, fromParams, options) {\r\n // get rid of any existing modals since we are switching to a new state\r\n $uibModalStack.dismissAll('');\r\n }\r\n );\r\n }\r\n\r\n function updateDocTitle() {\r\n $rootScope.$on('$stateChangeSuccess',\r\n function(event, toState, toParams, fromState, fromParams) {\r\n stateCounts.changes++;\r\n handlingStateChangeError = false;\r\n var title = config.docTitle;\r\n $rootScope.title = title; // data bind to
Customer | Site | Interpreter | Status | Language | Duration | Reference # | Date/Time | = 0\\\"> | |||
---|---|---|---|---|---|---|---|---|---|---|---|
= 0\\\"> | |||||||||||
{{call.CustomerOrganization}} | {{call.CustomerProfile}} | {{call.InterpreterName}} | {{call.Status}} | {{call.LanguageName}} | {{call.CallConnected | elapsedTime : call.CallEnded}} | {{call.ReferenceId}} | {{call.CallConnectedDisplay}} | = 0 && vm.showTerminateButton(call.Status)\\\"> |
= 0 || vm.roles.indexOf(\\'Admin\\') >= 0)\\\">Timestamp | Call Event | Info |
---|---|---|
= 0 || vm.roles.indexOf(\\'Admin\\') >= 0)\\\">{{vm.callConnectedLocaleString}} | Call Created | |
= 0 || vm.roles.indexOf(\\'Admin\\') >= 0)\\\">{{vm.getLocalDate(callEvent)}} | {{callEvent.StatusEvent | camelcaseSpace}} | {{vm.getAdditionalInfo(callEvent)}} |
Operator Pools {{::pool.Name}}{{$last ? \\'\\' : \\', \\'}}
Interpreter Languages
{{::languagePayrate.Language}}
Call Type: | ClickToCall |
Call Type: | Hosted IVR |
Customer Name: | {{vm.currentCustomer.OrganizationName}} |
Site Name: | {{vm.currentCustomer.ProfileName}} |
Phone Number: | {{vm.currentCall.FromPhoneNumber}} |
Language: | {{vm.currentLanguageName}} |
Reference ID: | {{vm.currentCall.ReferenceId}} |
Call Center Number: | {{vm.callCenterPhoneNumber}} |
Call Duration: |
Enter your username and password to log on:
Lionbridge has completed migration to the \\\"New Login\\\" mechanism. You are now required to use your new credentials (email and password) to log into the Voice Portal.
Please contact GEOFLUENT.SUPPORT@lionbridge.com with questions.
If you have issues using your new credentials, click \\\"Old Login\\\" and then scroll down. This feature will be deactivated by May 19th, 2021.
Learn MoreOld LoginEnter your username and password to log on:
First Name | Last Name | Status | Languages | Phone # | Pools | Last Login | Time Zone | Group Name | = 0 || vm.roles.indexOf(\\'SuperUser\\') >= 0\\\" st-sort=\\\"IsLanguageService\\\">Action | |
---|---|---|---|---|---|---|---|---|---|---|
= 0 || vm.roles.indexOf(\\'SuperUser\\') >= 0\\\"> | ||||||||||
{{interpreter.FirstName}} | {{interpreter.LastName}} | {{interpreter.Status}} | {{interpreter.Languages}} | {{interpreter.PhoneNumber}} | {{interpreter.Pools}} | {{interpreter.LastLoginDisplay}} | {{interpreter.TimeZone}} | {{interpreter.GroupName}} | = 0 || vm.roles.indexOf(\\'SuperUser\\') >= 0\\\">{{interpreter.IsLanguageService}} {{interpreter.IsLanguageService}} |
Name | Languages | Phone Number | Pools | Waiting Duration | Time Zone | Group Name | = 0 || vm.roles.indexOf(\\'SuperUser\\') >= 0\\\" st-sort=\\\"IsLanguageService\\\">Action | |
---|---|---|---|---|---|---|---|---|
= 0 || vm.roles.indexOf(\\'SuperUser\\') >= 0\\\"> | ||||||||
{{interpreter.Name}} | {{interpreter.Languages}} | {{interpreter.PhoneNumber}} | {{interpreter.Pools}} | {{interpreter.TimeZone}} | {{interpreter.GroupName}} | = 0 || vm.roles.indexOf(\\'SuperUser\\') >= 0\\\">{{interpreter.IsLanguageService}} {{interpreter.IsLanguageService}} |
Reference Id: {{vm.currentCall.ReferenceId}}
Call Duration:
{{language.Name}} |
Select Language: |
First Name | Last Name | Status | Phone # | Pools | |
---|---|---|---|---|---|
{{operator.FirstName}} | {{operator.LastName}} | {{operator.Status}} | {{operator.PhoneNumber}} | {{operator.Pools}} |
Name | Role | Language | Number | Status | |
---|---|---|---|---|---|
{{ vm.operator.Name }} | Operator | {{ vm.operator.TempPhoneNumber || vm.operator.PhoneNumber }} | Connected | ||
{{ vm.customer.Name }} | Customer | {{ vm.caseDisplay.LanguageName }} | {{ vm.customer.PhoneNumber }} | {{ vm.isCustomerOnHold ? \\'OnHold\\' : \\'Connected\\' }} | |
{{ vm.caseDisplay.InterpreterName }} | Interpreter | {{ vm.caseDisplay.LanguageName }}/{{ vm.caseDisplay.RelayLanguageName }} | {{ vm.getRareInterpreterPhone() }} | {{ vm.isRareLanguageInterpreterConnected ? (vm.isRareLanguageInterpreterOnHold ? \\'OnHold\\' : \\'Connected\\' ) : \\'Not Connected\\' }} | |
Relay Interpreter | Relay Interpreter | {{ vm.caseDisplay.RelayLanguageName }}/English | {{ vm.relayInterpreterPhoneNumber }} | {{ vm.isRelayInterpreterConnected ? (vm.isRelayInterpreterOnHold ? \\'OnHold\\' : \\'Connected\\' ) : \\'Not Connected\\' }} |
Customer: {{vm.organizationName}}
= 0 || vm.roles.indexOf(\\'Admin\\') >= 0)\\\">From: {{vm.from}}
Language: {{vm.language}}
= 0 || vm.roles.indexOf(\\'Admin\\') >= 0) && vm.scheduledCase\\\">Scheduled Interpretation Call
{{vm.callRejectedMessage}}
Please use the most recent version of the Call Operators Voice Portal website. Click here to open or you will be automatically redirected in a few seconds.
If you want to enter the legacy version of the Voice Portal website click here
Please use the most recent version of the Voice Portal website. Click here to open or you will be automatically redirected in a few seconds.
If you want to enter the legacy version of the Voice Portal website click here
Name | Status | |
{{participant.Name || participant.PhoneNumber}} | {{participant.Status}} |